Jump to content

Animefan8888

Forge Modder
  • Posts

    6157
  • Joined

  • Last visited

  • Days Won

    59

Everything posted by Animefan8888

  1. Could you post your Mod class and your ClientProxy.
  2. Post the whole console and if you can check the following or wait for a response. @Draco18sCorrect me if I am wrong, but I believe models need to be registered in the Event starting in 1.11.
  3. Correct this is because you don't specify your modid here, public static void registerRenders() { for (int i = 0; i < EA_EnumHandler.CardEssences.values().length; i++) { goodRegisterRender(essence, i, "essence_" + EA_EnumHandler.CardEssences.values().getName()); } } And so it defaults to minecraft:
  4. After another day I have almost been able to get all models loaded. Though I am stuck on one thing while loading models. When someone calls ModelBakery.registerItemVaraints stores the model location in a private static Map<RegistryDelegate<Item>, Set<String>> which I get through reflection in my ClientProxy. Then when the ItemStack in my TileEntity changes I get the Model Location through this map if I have to by parsing the BlockState JSON at runtime, currently very inefficient I plan on storing them in a Map later on in a more efficient way. But the problem lies that I do not know how the Item is then connected to the Strings within the Set. Code. If you need anything else please let me know.
  5. Post the new log and if possible a image of your package explorer so I can see the location of your textures and JSONs accurately. Edit: also it would be easier if you provided a git repository.
  6. No problem, and just for public knowledge I plan on continuing those tutorials really soon, and I will update the current ones to 1.11/1.12.
  7. Show where you call ModelLoader.setCustomModelResourceLocation
  8. It also overrides the method and returns a more proper value.
  9. That can all be done in the Block class. Look at BlockFurnace for an example of the particles. And you can look at the vanillas json files for examples of those.
  10. The registry name should follow these two rules It should contain the modid as the domainName. It should be unique. Though i need to clear something up and it will be easier done through this modding video I made for 1.10.2, which doesn't use the events so ignore that part, but what it does do correctly is how to call the ModelLoader.setCustomModelResourceLocation method. At the bottom you will see how it is called, you may need to pause the video.
  11. Don't do new ResourceLocation(String, String) Block#getRegistryName() returns a ResourceLocation.
  12. Do you plan on having movement or the model being dynamic? If not use the JSON system.
  13. What is the registry name of your Block and the unlocalized name of your block.
  14. You didn't do it for the ItemBlock though.
  15. Also why are you using a TESR?
  16. Don't extend BlockContainer instead extend Block and override createTileEntity(World, IBlockState) and hasTileEntity(IBlockState)
  17. It is necessary because we need some form of id that will not change. Numerical ids will change and are not mod specific, while using a ResourceLocation allows a Block, Item, etc to be traced easily back to its mod, and they are also mod specific because of the modid. So in other words a register name is just an id. You make two new ItemBlock instances in your ModBlocks class. Every time you make a new instance of any Item, Block, etc you need to set it's registry name.
  18. What went wrong was it is looking for beeboxers.mtl not bee_box.mtl
  19. If you are going to call ModelLoader.setCustomModelResourceLocation do not call ModelBakery.registerItemVariants. The later overrides the other. The problem is that you do new ResourceLocation(Reference.MODID, "items/essence_chariot") having the "items/" there adds it to the path so instead of looking for assets/modid/models/item/model.json it instead looks for assets/modid/models/item/items/model.json.
  20. new ItemBlock(block).setRegistryName(block.getRegistryName);
  21. That is not true, what it says is You never set the registry name for the ItemBlock.
  22. OBJLoader.INSTANCE.addDomain(Reference.MODID.toLowerCase()); is already called in your proxy.preInit class.
  23. And you call it in the init method, so you should call proxy.preInit in your ancientmod class's preInit method.
  24. Look at where you call proxy.init
  25. I think you will also need a Item Registry event to register the ItemBlocks, but I am not really sure. I haven't started updating to 1.12 just yet.
×
×
  • Create New...

Important Information

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