Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Adversary

Members
  • Joined

  • Last visited

  1. Thank you so much I got it working!
  2. Maybe I am looking in a different place, but in my updated structure it has it as main/java/resources/assets/advancedskills/models/items. Isn't that right or am I looking in the wrong place?
  3. Here is an updated picture of the structure. Still getting the same errors. I feel stupid at this point.
  4. Also intelliJ is telling me not to use @SidedProxy above where I call the function ClientProxy.registerRenders(rustySword); I am getting a few errors. Seems to be relating to my .json file about not being able to find it? Exception loading model for variant advancedskills:rustySword#inventory for item "advancedskills:rustySword", normal location exception Caused by: java.io.FileNotFoundException: advancedskills:models/item/rustySword.json Exception loading model for variant advancedskills:rustySword#inventory for item "advancedskills:rustySword", blockstate location exception Here is a picture of my package structure: Also here is my .json file { "parent": "builtin/generated", "textures": { "layer0": "advancedskills:items/rustySword" }, "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 ] } } }
  5. Here is where I call it. Basically in my overall mod file this is where I plan to register all blocks and items. package adversary.advancedskills.init; import adversary.advancedskills.common.items.RustySword; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; 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= AdvancedSkills.MODID, name= AdvancedSkills.MODNAME, version= AdvancedSkills.MODVER) public class AdvancedSkills { public static final String MODID = "advancedSkills"; public static final String MODNAME = "Advanced Skills"; public static final String MODVER = "0.0.0"; public static final String CLIENTPROXY = "adversary.advancedskills.init.ClientProxy"; public static final String COMMONPROXY = "adversary.advancedskills.init.CommonProxy"; @SidedProxy(clientSide = AdvancedSkills.CLIENTPROXY, serverSide = AdvancedSkills.COMMONPROXY) public static CommonProxy proxy; @Instance(value = AdvancedSkills.MODID) public static AdvancedSkills instance; @EventHandler public void preInit(FMLPreInitializationEvent event){ proxy.preInit(event); //Register Blocks ModItems.init(); } @EventHandler public void init(FMLInitializationEvent event){ proxy.init(event); //registerRenders(RustySword.rustySword); } @EventHandler public void postInit(FMLPostInitializationEvent event){ proxy.postInit(event); } }
  6. Here is where I call it. Basically in my overall mod file this is where I plan to register all blocks and items. package adversary.advancedskills.init; import adversary.advancedskills.common.items.RustySword; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; 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= AdvancedSkills.MODID, name= AdvancedSkills.MODNAME, version= AdvancedSkills.MODVER) public class AdvancedSkills { public static final String MODID = "advancedSkills"; public static final String MODNAME = "Advanced Skills"; public static final String MODVER = "0.0.0"; public static final String CLIENTPROXY = "adversary.advancedskills.init.ClientProxy"; public static final String COMMONPROXY = "adversary.advancedskills.init.CommonProxy"; @SidedProxy(clientSide = AdvancedSkills.CLIENTPROXY, serverSide = AdvancedSkills.COMMONPROXY) public static CommonProxy proxy; @Instance(value = AdvancedSkills.MODID) public static AdvancedSkills instance; @EventHandler public void preInit(FMLPreInitializationEvent event){ proxy.preInit(event); //Register Blocks ModItems.init(); } @EventHandler public void init(FMLInitializationEvent event){ proxy.init(event); //registerRenders(RustySword.rustySword); } @EventHandler public void postInit(FMLPostInitializationEvent event){ proxy.postInit(event); } }
  7. I am trying to get my texture that I made and a basic model to work. I am new to modding Minecraft. I have the item made in game (Showing purple and black block). Just can't get the texture to work. Here is where I plan to do all the registering of items. I saw somewhere that you can't register textures in a file like this and only can do it in the client proxy. Let me know if that is true. package adversary.advancedskills.init; import adversary.advancedskills.common.items.ASItem; import adversary.advancedskills.common.items.RustySword; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderItem; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.client.registry.RenderingRegistry; import net.minecraftforge.fml.common.registry.GameRegistry; public class ModItems { public static ClientProxy proxy; public static void init() { //TODO: Register all items RustySword.init(); //TODO: Register all items textures } public static Item registerItem(Item item, String name){ //TODO: Fix Argument list (CUSTOMIZATION: TABS) return registerItem(item,name,null); } public static Item registerItem(Item item, String name, CreativeTabs tab){ item.setUnlocalizedName(name); GameRegistry.register(item); return item; } } Here is my client proxy where I am attempting to register my textures. package adversary.advancedskills.init; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; public class ClientProxy extends CommonProxy{ @Override public void preInit(FMLPreInitializationEvent event){ } @Override public void init(FMLInitializationEvent event){ super.init(event); } @Override public void postInit(FMLPostInitializationEvent event){ } public static void registerRenders(Item item){ ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(AdvancedSkills.MODID + ":" + item.getUnlocalizedName(), "inventory")); } } Here is the item I am trying to make: package adversary.advancedskills.common.items; import adversary.advancedskills.init.ClientProxy; import adversary.advancedskills.init.ModItems; import net.minecraft.client.Minecraft; import net.minecraftforge.fml.common.registry.GameRegistry; public class RustySword extends ASItem{ public RustySword(){ super(); this.setUnlocalizedName("rustySword"); } public static void init() { RustySword rustySword = new RustySword(); rustySword.setUnlocalizedName("rustySword"); ModItems.registerItem(rustySword, "rustySword"); ClientProxy.registerRenders(rustySword); } } Let me know if you need anything else and I will be happy to supply it.
  8. I am trying to get my texture that I made and a basic model to work. I am new to modding Minecraft. I have the item made in game (Showing purple and black block). Just can't get the texture to work. Here is where I plan to do all the registering of items. I saw somewhere that you can't register textures in a file like this and only can do it in the client proxy. Let me know if that is true. package adversary.advancedskills.init; import adversary.advancedskills.common.items.ASItem; import adversary.advancedskills.common.items.RustySword; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderItem; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.client.registry.RenderingRegistry; import net.minecraftforge.fml.common.registry.GameRegistry; public class ModItems { public static ClientProxy proxy; public static void init() { //TODO: Register all items RustySword.init(); //TODO: Register all items textures } public static Item registerItem(Item item, String name){ //TODO: Fix Argument list (CUSTOMIZATION: TABS) return registerItem(item,name,null); } public static Item registerItem(Item item, String name, CreativeTabs tab){ item.setUnlocalizedName(name); GameRegistry.register(item); return item; } } Here is my client proxy where I am attempting to register my textures. package adversary.advancedskills.init; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; public class ClientProxy extends CommonProxy{ @Override public void preInit(FMLPreInitializationEvent event){ } @Override public void init(FMLInitializationEvent event){ super.init(event); } @Override public void postInit(FMLPostInitializationEvent event){ } public static void registerRenders(Item item){ ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(AdvancedSkills.MODID + ":" + item.getUnlocalizedName(), "inventory")); } } Here is the item I am trying to make: package adversary.advancedskills.common.items; import adversary.advancedskills.init.ClientProxy; import adversary.advancedskills.init.ModItems; import net.minecraft.client.Minecraft; import net.minecraftforge.fml.common.registry.GameRegistry; public class RustySword extends ASItem{ public RustySword(){ super(); this.setUnlocalizedName("rustySword"); } public static void init() { RustySword rustySword = new RustySword(); rustySword.setUnlocalizedName("rustySword"); ModItems.registerItem(rustySword, "rustySword"); ClientProxy.registerRenders(rustySword); } } Let me know if you need anything else and I will be happy to supply it.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.