Jump to content

Recommended Posts

Posted

EDIT: The tutorial I linked from the wiki was missing a *very* important bit of code!

GameRegistry.registerItem(genericItem,"Generic Item");

After adding this for each item, they both show up now. Now I just have to figure out why LanguageRegistry.addName isn't setting the in-game item name properly. :P

/EDIT

 

DISCLAIMER - I am new to Minecraft mod creation, please don't hate me for it. I promise I have coded before(although not in Java), and I am very good at taking a little bit of information a long way. :P

 

I'm attempting to go off of the tutorial at http://www.minecraftforge.net/wiki/Basic_Items to create an item that I can select in Creative Mode. No grand schemes at the moment, I just want to put an item into the game. My code will compile and run, but the item doesn't show up.

 

I feel like maybe the reason this isn't working is because item IDs have gone out the window - but I haven't yet figured out how to bridge the gap from the old tutorial code to working 1.7.2 code.

 

Is there anyone who would be so kind as to post the basic 1.7.2 code/information needed to create an item?

 

EDIT: Using Forge 10.12.0.997

 

The tutorial code in the Generic Class (parts relating to items):

public class Generic 
{
    private static Item genericItem;
    private static Item genericIngot;
@EventHandler
        public void preInit(FMLPreInitializationEvent event) {
                genericItem = new GenericItem(5000);
                genericIngot = new GenericItem(5001)
                .setMaxStackSize(16).setUnlocalizedName("genericIngot");
        }
       
        @EventHandler
        public void load(FMLInitializationEvent event) {
                LanguageRegistry.addName(genericItem, "Generic Item");
                LanguageRegistry.addName(genericIngot, "Generic Ingot");
        }

But for 1.7.2 itemId isn't a property of items, so I would think simply changing to THIS would work:

@EventHandler
    public void preInit(FMLPreInitializationEvent event) 
    {
     genericItem = new GenericItem();
     
     genericIngot = new GenericItem().setMaxStackSize(16).setUnlocalizedName("genericIngot");
     
    }

But it doesn't seem to.

  • 4 weeks later...

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • whenever I try to get this item to render into the game it appears with the not texture purple and black squares and calls itself by the lang translation file path instead of the name i gave it.   { "item.testmod.alexandrite": "Alexandrite" } this is the lang json file package net.Hurst.testmod.item; import net.Hurst.testmod.TestMod; import net.minecraft.world.item.Item; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; public class ModItems { public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TestMod.MOD_ID); public static final RegistryObject<Item> ALEXANDRITE = ITEMS.register("alexandrite", () -> new Item(new Item.Properties())); public static void register(IEventBus eventBus){ ITEMS.register(eventBus); } } this is my ModItems.java file package net.Hurst.testmod; import com.mojang.logging.LogUtils; import net.Hurst.testmod.item.ModItems; import net.minecraft.world.item.CreativeModeTabs; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.BuildCreativeModeTabContentsEvent; import net.minecraftforge.event.server.ServerStartingEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.slf4j.Logger; // The value here should match an entry in the META-INF/mods.toml file @Mod(TestMod.MOD_ID) public class TestMod { public static final String MOD_ID = "testmod"; private static final Logger LOGGER = LogUtils.getLogger(); public TestMod() { IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); modEventBus.addListener(this::commonSetup); ModItems.register(modEventBus); MinecraftForge.EVENT_BUS.register(this); modEventBus.addListener(this::addCreative); ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, Config.SPEC); } private void commonSetup(final FMLCommonSetupEvent event) { } // Add the example block item to the building blocks tab private void addCreative(BuildCreativeModeTabContentsEvent event) { if(event.getTabKey() == CreativeModeTabs.INGREDIENTS){ event.accept(ModItems.ALEXANDRITE); } } // You can use SubscribeEvent and let the Event Bus discover methods to call @SubscribeEvent public void onServerStarting(ServerStartingEvent event) { } // You can use EventBusSubscriber to automatically register all static methods in the class annotated with @SubscribeEvent @Mod.EventBusSubscriber(modid = MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public static class ClientModEvents { @SubscribeEvent public static void onClientSetup(FMLClientSetupEvent event) { } } } this is my TestMod.java file { "parent": "minecraft:item/generated", "textures": { "layer0": "testmod:item/generated" } } this is my model file for the item. I am using intellij 2025.1.2 with fdk 1.21 and java 21 I would appreciate the help.
    • Also remove VS Create Armor, createbigcannons and The Factory Must Grow
    • Add the latest.log (logs-folder) with sites like https://mclo.gs/ and paste the link to it here  
    • You are using Create 6 - some addons are not compatible with this version - add the addons one by one to find the incompatible ones Or Use Create 5 - but you also have to use older builds of the addons - addons updated March 2025 or later are usually for Create 6  
  • Topics

×
×
  • Create New...

Important Information

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