June 3, 20178 yr 1 minute ago, xXJamie_Xx said: I have changed the file names to "blocktowncentre.json", I have noticed that the texture now shows when the block is placed in the world but not in the players inventory. The latest log file or console do not show any errors. Are you sure there are no errors? Post the latest log and updated file structure.
June 3, 20178 yr Have you changed the name in the item folder as well? Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
June 3, 20178 yr Author 1 hour ago, Jay Avery said: Are you sure there are no errors? Post the latest log and updated file structure. https://pastebin.com/q3Ui190J
June 3, 20178 yr Show the item model. Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
June 3, 20178 yr When is your registerRenders method called? You must call it during pre-init. I do not see you doing so in the code you've previously posted.
June 3, 20178 yr Author 1 hour ago, Kokkie said: Show the item model. { "parent": "block/cube_all", "textures": { "all": "xmt:blocks/blocktowncentre" } }
June 3, 20178 yr Author 1 hour ago, diesieben07 said: This is pointless, the game is not even trying to load the model or there would be a message in the log. @xXJamie_Xx Show where you register your models. Well I have ModBlocks.java: package init; import com.xXJamie_Xx.myTweaks.blocks.BlocktownCentre; import items.ItemObsidianingot; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.registry.GameRegistry; public class ModBlocks { public static Block townCentre; public static void init() { townCentre = new BlocktownCentre(); } public static void register() { registerBlock(townCentre); } private static void registerBlock(Block block) { GameRegistry.register(townCentre); ItemBlock item = new ItemBlock(block); item.setRegistryName(block.getRegistryName()); GameRegistry.register(item); } public static void registerRenders() { registerRender(townCentre); } private static void registerRender(Block block) { ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), "inventory")); } }
June 3, 20178 yr Author 1 hour ago, diesieben07 said: You cannot use the ModelLoader class from common code like that, since it is client-only. You must use it from your client-proxy or other client-only classes only, or you will crash a server. Oh ok, its just that another user suggested I used it in replace of another piece of code I was using previously. (no offence to that user) BTW, how would I implement that code into the client-proxy and then refer to it in my ModBlocks file. Edited June 3, 20178 yr by xXJamie_Xx
June 3, 20178 yr Just now, xXJamie_Xx said: Oh ok, its just that another user suggested I used it in replace of another piece of code I was using previously. (no offence to that user) The same would go for your previous code - modelling/rendering code is almost all client-side only and would crash a dedicated server.
June 3, 20178 yr Author 1 hour ago, Jay Avery said: The same would go for your previous code - modelling/rendering code is almost all client-side only and would crash a dedicated server. I actually do see how that would make sense now. A server wouldn't do the rendering, the client would.
June 3, 20178 yr Author @diesieben07 @Jay Avery Here is my client-proxy file at the moment: package com.xXJamie_Xx.myTweaks.proxy; import init.ModBlocks; import init.ModItems; public class ClientProxy implements CommonProxy{ @Override public void init() { ModItems.registerRenders(); ModBlocks.registerRenders(); } }
June 3, 20178 yr Author 1 hour ago, diesieben07 said: ModelLoader must be used in preInit. I've used this code: public void preInit() { ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), "inventory")); } But its giving me an error saying that "block" cannot be resolved.
June 3, 20178 yr That's because you don't have a block variable there. You can use the same call to ModBlocks.registeRenders() that you were using. Just call it in your proxy's preInit instead of init.
June 3, 20178 yr Author 1 hour ago, diesieben07 said: No, you cannot. How would you suggest fixing this issue?
June 3, 20178 yr 2 minutes ago, diesieben07 said: No, you cannot. Moving that method call will fix the current rendering problem, it just won't fix the sided code issue. It's okay to learn one step at a time.
June 3, 20178 yr Author 1 hour ago, Jay Avery said: Moving that method call will fix the current rendering problem, it just won't fix the sided code issue. It's okay to learn one step at a time. So I moved it to the preInit. Now what? I still have an error.
June 3, 20178 yr What is the error now? We aren't looking at your environment, you need to give every detail of what you change and what happens, every time, if you want more help.
June 4, 20178 yr Author 12 hours ago, Jay Avery said: What is the error now? We aren't looking at your environment, you need to give every detail of what you change and what happens, every time, if you want more help. Sorry! The error I have is with the code I'm using. public void preInit() { ModItems.registerRenders(); ModBlocks.registerRenders(); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), "inventory")); } But, on the longest line, it's saying that "block" cannot be resolved & also cannot be resolved to a variable.
June 4, 20178 yr Change block to ModBlocks.yourblock. Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
June 4, 20178 yr Author 1 hour ago, Kokkie said: Change block to ModBlocks.yourblock. Also, how would I go about, doing the same with items? (btw, the texture still does not work in my hand or in my inventory)
June 4, 20178 yr For items, do ModelLoader.setCustomModelResourceLocation(ModItems.youritem, 0, new ModelResourceLocation(ModItems.youritem.getRegistryName(), "inventory")); Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
June 4, 20178 yr Author 1 hour ago, Kokkie said: For items, do ModelLoader.setCustomModelResourceLocation(ModItems.youritem, 0, new ModelResourceLocation(ModItems.youritem.getRegistryName(), "inventory")); After moving my ModelLoader code, the texture for my old item that used to work, now doesn't work. Do I need to reference this in my ModBlocks.java and ModItems.java files? Latest Log: https://pastebin.com/yaQSSftv Edited June 4, 20178 yr by xXJamie_Xx
June 4, 20178 yr Can you post your code in a github repo? Classes: 94 Lines of code: 12173 Other files: 206 Github repo: https://github.com/KokkieBeer/DeGeweldigeMod
June 4, 20178 yr Author 1 hour ago, Kokkie said: Can you post your code in a github repo? How do I upload my code?
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.