我正在开发一个Spigot / Bukkit 1.8插件,我正在尝试添加带随机称重项目的包装箱。
例如Diamond,10%;黄金,30%;雷石东,50%;
我尝试将项目保存在CrateItem列表中,该列表是以下类
private ItemStack item;
private double chance;
public CrateItem(ItemStack item, double chance) {
this.item = item;
this.chance = chance;
}
public ItemStack getItem() {
return item;
}
public double getChance() {
return chance;
}
然后我计划循环使用这些项目,但我不知道最好的方法来计算称重的部分,而不是完全随机的。
答案 0 :(得分:1)
这是纯粹的理论,我没有设计丢弃表的经验;但是,如果你循环每个项目,并以百分比的下降机会进行真假检查,该怎么办?你可以重复一个,直到只有一个项目为真(假设包只丢弃一个项目)
详细说明,你会...
如果您的箱子要丢弃多个物品,例如3滴。你可以完成整个过程3次。
请注意,如果你的箱子掉落很多,这可能会导致性能问题,并且/或者有很多物品可以循环使用。