在关闭容器的时候,如果放进了物品,在打开的时候就没有了,有什么方法可以避免吗
求大佬解答
求大佬解答
mod还是plugin?
还有 提问时最好附上相关代码
还有 提问时最好附上相关代码
ddyy163 发表于 2017-10-12 17:24
mod还是plugin?
还有 提问时最好附上相关代码
是插件
- Inventory in = Bukkit.createInventory()
创建之后放进去了一些物品
在玩家openInventory()打开容器之后
如果放了物品进去,再次打开就会没有了
我想知道怎么去解决,求大佬告知
因为玩家每次打开都是一个新的背包对象
一直保持一个就可以避免你所说的情况
但也仅限于开服时,关服了就没了
所以你得把界面的物品用你自己的方法储存
然后开服时载入到界面里
一直保持一个就可以避免你所说的情况
但也仅限于开服时,关服了就没了
所以你得把界面的物品用你自己的方法储存
然后开服时载入到界面里
1850343382 发表于 2017-10-12 17:49
是插件
创建之后放进去了一些物品
创造一个全局的static类型的inventory对象
玩家打开背包的话就打开这个
如果你想每个玩家都有自己特定的背包,那就建一个static的HashMap<Player,Inventory>
从这个map里读取每个玩家自己的背包
当然如果你想保存编辑过后的背包
那么可以使用itemStack自带的序列化
例如:Inventory inv = hashMap.get(player);
ItemStack[] items = inv.getContents();
config.set(xxx.xxx,items);
初始化背包的读取时就可以:
ItemStack[] items = (ItemStack[])config.get(xxx.xxx);
Inventory inv = new Inventory(参数自己填);
inv.setContents(items);
hashMap.put(player,inv);
搞定
最后,我看你昨天 问题很多,其实我建议你加个新手讨论群或者自己多思考思考,在论坛发这么多基础问题,总感觉……