java - 在我的 1.12.2 Minecraft mod 中使我的物品牢不可破
问题描述
我正在尝试制作一套我已经牢不可破的盔甲和工具。到目前为止,我找到了两种解决方案:显而易见的一种,为物品提供数百万的耐用性价值;第二,将持久性设置为 0 或负数以使其无限。之前的作品很好,只是为了让你可以看到耐久度条,我不喜欢,但后者使物品牢不可破,它不能被附魔。有任何想法吗?这是我的初始注册码。
public static final ToolMaterial TOOL_MATERIAL_COLORITE = EnumHelper.addToolMaterial("tool_material_colorite", 3, 0, 24.0F, 26.0F, 100);
public static final ToolMaterial DAGGER_MATERIAL_COLORITE = EnumHelper.addToolMaterial("dagger_material_colorite", 3, 0, 24.0F, 16.0F, 100);
public static final ArmorMaterial ARMOR_MATERIAL_COLORITE = EnumHelper.addArmorMaterial("armor_material_colorite", Reference.MOD_ID + ":colorite", 0, new int[] {24, 48, 64, 24}, 100, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 0.0F);
提前致谢。编辑:我没有改变任何东西,但现在由于某种原因,头盔和胸甲是牢不可破且无法附魔的,而靴子和绑腿仍然会受到伤害并且可以附魔。想法?
解决方案
这不是一个完整的解决方案,但它是一种(未优化的)使盔甲牢不可破的方法。基本上,您需要创建一个 onArmorTick 方法并输入:
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
{
setDamage(player.inventory.armorItemInSlot(3), 0);
setDamage(player.inventory.armorItemInSlot(2), 0);
setDamage(player.inventory.armorItemInSlot(1), 0);
setDamage(player.inventory.armorItemInSlot(0), 0);
}
插槽 3 是头盔,2 是胸甲,1 是紧身裤,0 是靴子。
推荐阅读
- javascript - 如何通过前端应用程序中的 OpenTelemetry 向 Jaeger 发送跟踪数据?
- excel - 转置 VBA Excel 宏
- r - 在R中的时间戳之间查找持续时间(以秒为单位)?
- amazon-web-services - 无法在 AWS 上启动 Marklogic 服务
- javascript - 启用暗模式时更改 iframe 源,禁用暗模式时将其更改回来
- html - 如何为html表格制作可滚动的单行td
- python - 井字游戏检查获胜功能不起作用
- python - Python + Selenium + ChromeDriver:尝试单击类名时出现 ElementNotInteractableException
- python-3.x - 想要使用 python pandas 计算数据集的通过实例数
- sql - 有没有办法逐月显示记录?