Jump to content

Kfir40Forge

Members
  • Posts

    8
  • Joined

  • Last visited

Everything posted by Kfir40Forge

  1. 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.
  2. 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.
  3. 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!
  4. Where do I ask for a name change?

  5. You can also use MultiMC to install Twitch modpacks without using the Twitch launcher.
  6. 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
  7. Gotcha. So, do that in an event that's run after item registration, which would be...? Is there an event list sorted by order?
  8. 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?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.