Posted July 30, 20178 yr Issue: The method getArmorDisplay in ISpecialArmor does not work as I believe it is intended. Whatever value is returned there is displayed added to the ArmorMaterial reduction amount. Environment: I've tested this bug only in my development environment, in MC 1.12, and with the forge versions 1.12-14.21.1.2426 and 1.12-14.21.1.2387. The Bug: I have an ISpecialArmor with the following getArmorDisplay method (the armor material also has a reduction array of {1, 1, 1, 1}): @Override public int getArmorDisplay(EntityPlayer player, @Nonnull ItemStack armor, int slot) { return 1; } This results in the below display when wearing the helmet. Notice that there is 1 full shield, when there should only be a half-shield. Research: I've traced the issue back to ForgeHooks#getTotalArmorValue, which is used to calculate this display. I'm not entirely sure what is happening behind the scenes, but I believe that the method Player#getTotalArmorValue is retrieving the armor's reduction from the armor's attribute modifiers, and then the ISpecialArmor's getArmorDisplay method is being added to that. Thus, in the above example, the attribute modifier 1 is being added to the ISpecialArmor display of 1, getting a total count of 2. Test Mod: The mod I've tested this with is here. It's not really a full mod - texture and model errors are thrown, but it is runnable enough to test this bug. Log: I don't see how an FML log could possibly be useful in this scenario, but here it is anyway... Edited July 30, 20178 yr by Socratic_Phoenix Developer of Randores (adds 256^3 ores to the game) and Arcane Bags (adds ridiculous storage with ridiculous crafting recipes). I know Java pretty well... So yeah... Quote This is where I'd put an inspirational and/or clever quote, but I can't think of one right now... This is the output of the totally, 100% working compiler for my programming language, Planet9: Beginning Compilation... Failed compilation! planet9.compiler.error.CompilationException: Compiler not yet implemented at planet9.compiler.Compiler.compile(Compiler.java:39) at planet9.compiler.app.CompilerApp.main(CompilerApp.java:147)
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.