ComputerFido
ComputerFido

Reputation: 346

Item not working in minecraft mod - Minecraft Forge Mod Development [EDIT: FIXED]

I have started making a mod, it's not registering as an item. When i type /give Fidojj222 fcm:fuel_canister it should give me the item except it says it doesn't exist! I am using eclipse as my IDE I am suspecting it might be this warning when I compile it into a jar:

JAR export finished with warnings. See details for additional information.
Can not export external class folder at 'C:\Users\J.J\.gradle\caches\minecraft\net\minecraftforge\forge\1.8-11.14.3.1450\start'.

If that is the problem, then how can I fix it? If not here's my code:

CarsMod.java:

package com.fidojj222.carsmod;

import com.fidojj222.carsmod.init.CarsItems;
import com.fidojj222.carsmod.proxy.CommonProxy;

import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version =     Reference.VERSION)
public class CarsMod {

    @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide =             Reference.SERVER_PROXY_CLASS)
    public static CommonProxy proxy;

    public void PreInit(FMLPreInitializationEvent event){
        CarsItems.init();
        CarsItems.register();
    }

    public void Init(FMLInitializationEvent event){
        proxy.registerRenders();
    }

    public void PostInit(FMLPostInitializationEvent event){

    }
}

Reference.java:

package com.fidojj222.carsmod;

public class Reference {
    public static final String MOD_ID = "fcm";
    public static final String MOD_NAME = "Fidojj222\'s Cars Mod";
    public static final String VERSION = "1.0";
    public static final String CLIENT_PROXY_CLASS = "com.fidojj222.carsmod.proxy.ClientProxy";
    public static final String SERVER_PROXY_CLASS = "com.fidojj222.carsmod.proxy.CommonProxy";
}

CarsItems.java:

package com.fidojj222.carsmod.init;

import com.fidojj222.carsmod.Reference;

import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class CarsItems {
    public static Item fuel_canister;

    public static void init(){
        fuel_canister = new Item().setUnlocalizedName("fuel_canister");
    }

    public static void register(){
        GameRegistry.registerItem(fuel_canister, fuel_canister.getUnlocalizedName().substring(5));
    }

    public static void registerRenders(){
        registerRender(fuel_canister);
    }

    public static void registerRender(Item item){
            Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
    }
}

CommonProxy.java:

package com.fidojj222.carsmod.proxy;

public class CommonProxy {
    public void registerRenders(){

    }
}

ClientProxy.java:

package com.fidojj222.carsmod.proxy;

import com.fidojj222.carsmod.init.CarsItems;

public class ClientProxy extends CommonProxy {
    @Override
    public void registerRenders(){
        CarsItems.registerRenders();
    }
}

Upvotes: 2

Views: 1570

Answers (1)

user60456
user60456

Reputation:

What do you mean by not showing? The item isn't found at all in the creative search menu, or it is an untextured (purple/black checkered) block?

If it is untextured, you need to make sure these 2 things are done:

  1. Make sure you have this texture in place src/main/resources/assets/fcm/textures/items/fuel_canister.png it needs to be 16x16 pixels.
  2. Create a fuel_canister.json file at src/main/resources/assets/fcm/models/item/fuel_canister.json This file defines how the image should be rendered ingame.

The contents of that file should be

{
  "parent": "builtin/generated",
  "textures":{
      "layer0":"fcm:items/fuel_canister"
  },
  "display":{
      "thirdperson":{
          "rotation":[-90, 0, 0],
          "translation":[0, 1, -3],
          "scale":[0.55,0.55,0.55]
      },
      "firstperson":{
          "rotation":[0,-135,25],
          "translation":[0,4,2],
        "scale":[1.7,1.7,1.7]
      }
  }
}

Upvotes: 2

Related Questions