寒雨_Moro
如题
我看到很多插件都是直接将ItemStack塞进yml来储存物品
要如何才能做到那种效果?

杜思政
:L:dizzy::victory:

天辉胡萝卜
本帖最后由 疾风暗影 于 2020-8-18 14:49 编辑

直接set

  1. getConfig().set("itemstack", new ItemStack(Material.STONE, 1));
  2. ItemStack i = getConfig().getItemStack("itemstack");
复制代码

结城希亚
  1. //                序列化ItemStack
  2.                 public static String GetItemData(ItemStack item) {
  3.                         String a;
  4.                         try {
  5.                             a = new StreamSerializer().serializeItemStack(item);
  6.                         } catch (Exception e) {
  7.                             a = null;
  8.                         }
  9.                         return a;
  10.                 }
  11.                
  12. //                反序列化ItemStack
  13.                 public static ItemStack GetItemStack(String data) {
  14.                         try {
  15.                                 return new StreamSerializer().deserializeItemStack(data);
  16.                         } catch (Exception e) {
  17.                                 e.printStackTrace();
  18.                         }
  19.                         return null;
  20.                 }
复制代码
我记得上面的做法不兼容mod(?)
我是通过protocollib来做的