丶米饭
本帖最后由 丶米饭 于 2021-7-29 16:20 编辑

很多人并不懂如何正确序列化ItemStack 我个人愚见, 做过最完美的尝试  看下面
很简单的的俩个方法,保存这个string。到你想要的mysql,sqlite,yml。。。里就行了,反正就个字符串随便玩
建议学习了的,把学习了三个字打在公屏上

  1. /**
  2.      * 序列化itemStack为String
  3.      *
  4.      * @param itemStack 物品
  5.      * @Return String
  6.      */
  7.     public static String itemStackSerialize(ItemStack itemStack) {
  8.         YamlConfiguration yml = new YamlConfiguration();
  9.         yml.set("item", itemStack);
  10.         return yml.saveToString();
  11.     }

  12.     /**
  13.      * 反序列化String为itemStack
  14.      *
  15.      * @param str 物品str
  16.      * @return ItemStack
  17.      */
  18.     public static ItemStack itemStackDeserialize(String str) {
  19.         YamlConfiguration yml = new YamlConfiguration();
  20.         ItemStack item;
  21.         try {
  22.             yml.loadFromString(str);
  23.             item = yml.getItemStack("item");
  24.         } catch (InvalidConfigurationException ex) {
  25.             item = new ItemStack(Material.AIR, 1);
  26.         }
  27.         return item;
  28.     }
复制代码








来自群组: Server CT

结冰的离季
注:此方法无法保存物品nbt

Rothes
纯萌新,我想,使用ItemStack#serialize,然后使用Gson转为json来保存也可以

byxiaobai
https://www.mcbbs.net/thread-1213792-1-2.html
一、基础问题 II.拓展功能   6.如何序列化/反序列化ItemStack?

第一页 上一页 下一页 最后一页