-
[1.14/1.15] Replacing repair item of vanilla armor material?
Well that's... confusing. Well whatever, this is what I do now: public static final DeferredRegister<Item> ITEMS = new DeferredRegister<>(ForgeRegistries.ITEMS, MODID); public static final RegistryObject<Item> CHAINMAIL_PLATE = ITEMS.register("chainmail_plate", () -> new Item(new Item.Properties().group(ItemGroup.MISC))); Anyway, it works now! Only problem is that JEI still shows iron ingots in the repair recipe.
-
[1.14/1.15] Replacing repair item of vanilla armor material?
So it was staying "null", and some part of the process detected that and undid it or something??? Because I saw no NPEs in the log. Regardless... whoops. @ObjectHolder("MOD_ID_HERE"); class ModThing { @ObjectHolder("ITEM_REGISTRY_NAME_HERE"); public static final Item ITEM_THINGY = null; } Is this how it's done, or does @Mod imply @ObjectHolder? I had no idea it existed. Will change to it.
-
Mods Won't Show
Forge 1.13+ support has been fixed on the develop branch (which is pretty stable RN). In fact, that branch has (the startings of) a Twitch modpack browser!
-
Mods Won't Show
You can also use MultiMC to install Twitch modpacks without using the Twitch launcher.
-
[1.14/1.15] Replacing repair item of vanilla armor material?
This doesn't seem to work... @ObjectHolder(MODID) public static final Item CHAINMAIL_PLATE = null; public ExampleMod() { FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); } private void setup(FMLCommonSetupEvent e) { DeferredWorkQueue.runLater(ExampleMod::doReplaceChainmailRepairMaterial); } private static final String OBSFUCATED_FIELD_NAME_ARMORMATERIAL_REPAIRMATERIAL = "field_200914_m"; static void doReplaceChainmailRepairMaterial() { try { ObfuscationReflectionHelper.setPrivateValue( ArmorMaterial.class, ArmorMaterial.CHAIN, new LazyLoadBase<>(() -> Ingredient.fromItems(CHAINMAIL_PLATE)), OBSFUCATED_FIELD_NAME_ARMORMATERIAL_REPAIRMATERIAL); } catch(ObfuscationReflectionHelper.UnableToFindFieldException e) { throw new RuntimeException("Could not find field ArmorMaterial.CHAIN.repairMaterial", e); } catch(ObfuscationReflectionHelper.UnableToAccessFieldException e) { throw new RuntimeException("Could not access field ArmorMaterial.CHAIN.repairMaterial", e); } } No exceptions, it just doesn't have any effect in-game. Full code: https://github.com/Leo40Git/CraftableChainmail/blob/1.14.4/src/main/java/adudecalledleo/craftablechainmail/CraftableChainmail.java
-
[1.14/1.15] Replacing repair item of vanilla armor material?
Gotcha. So, do that in an event that's run after item registration, which would be...? Is there an event list sorted by order?
-
Kfir40Forge changed their profile photo
-
[1.14/1.15] Replacing repair item of vanilla armor material?
Okay, so - I have an item "craftablechainmail:chainmail_plate". I want to change the repair item of chainmail armor to this item. ...how do I do this?
IPS spam blocked by CleanTalk.