1. 实现 DartCraft 战利品袋
战利品袋,顾名思义是种内含一堆战利品的物品,相关特性如下:
- 任意怪物死亡时一定概率掉落
- 应通过配置文件控制这个概率。我们在这里设定默认为 5%。
- 不可堆叠
- 含有一“物品栏”结构,最大容积为 9
- 从下列战利品表中随机抽出一张表并从中抽取战利品:
- 出生点奖励箱、村庄铁匠铺箱子
- 地牢箱子、沙漠神殿箱子、丛林神庙箱子、要塞十字路口箱子
- 废弃矿井箱子矿车、要塞走廊箱子、要塞图书馆箱子
- 右击打开 GUI,可从中取走所有物品,但当所有物品全部取出时物品直接消失
- 手持其右击任何物品容器会尽可能将其中物品送入目标容器中,当所有物品全部取出时物品直接消失
你可能需要用到下面这些东西:
- 你可以假定满足
instanceof EntityMob
的Entity
实例都算作“怪物”。- 加分项:允许用户自行指定哪些实体会掉落战利品袋子。
- 物品为空的判断依据是
ItemStack.isEmpty()
返回true
。