wshycaa
本帖最后由 wshycaa 于 2019-4-10 21:07 编辑

1.7的ItemStack序列化时无法保存NBT数据
我尝试使用PowerNBT这个插件作为前置读取,可以拿到NBTCompound,
但是不知道如何能够把拿到NBTCompound的数据存储在yml中,并且在需要用的时候读取回来,然后写入ItemStack
关于读取和写入的方法可以使用PowerNBT的read(ItemStack)和write(ItemStack),但是我无法将它保存到yml中然后读取回来

可不可以给我一段代码作为参考呢?(关于将NBTCompound序列化存储在yml中,以及读取yml中的NBTCompound数据)

a8105
1710里bukkit自带的ItemStack的yml序列化有问题
可以使用ProtocolLib:
public static ItemStack getItemStack(String data)
{
    StreamSerializer ss=new StreamSerializer();
    try
    {
        return ss.deserializeItemStack(data);
    }catch(Exception e){e.printStackTrace();}
    return null;
}
public static String toData(ItemStack item)
{
    StreamSerializer ss=new StreamSerializer();
    try
    {
        return ss.serializeItemStack(item);
    }catch(Exception e){e.printStackTrace();}
    return null;
}
config.set("item",toData(ItemStack));

wshycaa
810587921 发表于 2019-4-11 02:26
1710里bukkit自带的ItemStack的yml序列化有问题
可以使用ProtocolLib:
public static ItemStack getItemSta ...

感谢!问题解决了

hghet
不知道=- =这个你可能要深渊一点了

樱花似
调度的点点滴滴点点滴滴

2425701120
sssssssssssssss

1305791312
6666666666666666666666

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