本帖最后由 丶米饭 于 2021-7-29 16:20 编辑
很多人并不懂如何正确序列化ItemStack 我个人愚见, 做过最完美的尝试 看下面
很简单的的俩个方法,保存这个string。到你想要的mysql,sqlite,yml。。。里就行了,反正就个字符串随便玩
建议学习了的,把学习了三个字打在公屏上
复制代码
来自群组: Server CT
很多人并不懂如何正确序列化ItemStack 我个人愚见, 做过最完美的尝试 看下面
很简单的的俩个方法,保存这个string。到你想要的mysql,sqlite,yml。。。里就行了,反正就个字符串随便玩
建议学习了的,把学习了三个字打在公屏上
- /**
- * 序列化itemStack为String
- *
- * @param itemStack 物品
- * @Return String
- */
- public static String itemStackSerialize(ItemStack itemStack) {
- YamlConfiguration yml = new YamlConfiguration();
- yml.set("item", itemStack);
- return yml.saveToString();
- }
- /**
- * 反序列化String为itemStack
- *
- * @param str 物品str
- * @return ItemStack
- */
- public static ItemStack itemStackDeserialize(String str) {
- YamlConfiguration yml = new YamlConfiguration();
- ItemStack item;
- try {
- yml.loadFromString(str);
- item = yml.getItemStack("item");
- } catch (InvalidConfigurationException ex) {
- item = new ItemStack(Material.AIR, 1);
- }
- return item;
- }
来自群组: Server CT
注:此方法无法保存物品nbt
纯萌新,我想,使用ItemStack#serialize,然后使用Gson转为json来保存也可以