Posted March 24, 20169 yr Edit: Solved by derf6060 below. I am a new modder and have been following Pahimar's video tutorial . I understand that in Minecraft 1.8+, items now require the use of a JSON file. To the best of my ability I have implemented the item, file, and JSON. The item I created is onyx. I copied the vanilla diamond item texture, made no changes to its size, made it black, and placed it in <project folder>/assets/<modid>/textures/items/onyx.png When I launch the game, the texture loads. However, it is extremely large when on the ground and is oriented differently than other items when held in hand, which I assume is because of its size. I modified the JSON to be empty and it caused the item to have a missing texture. When I fix it, the texture loads properly, so the JSON is being read. However, if I modify the paramters rotation, translation, and scale, no changes are seen in the game. How do I fix this so that the item is the same size and orientation in hand as diamond/other items and can be modified by the JSON? Album of issue: Full code: https://github.com/EstebanZapata/ObsidianTools latest.log: http://pastebin.com/g1sJu2tr Inside main mod file: @Mod.EventHandler public void init(FMLInitializationEvent event) { // Substring 5 to get rid of "item." Minecraft.getMinecraft().getRenderItem().getItemModelMesher() .register(ModItems.onyx, 0, new ModelResourceLocation(ModItems.onyx.getUnlocalizedName().substring(5) ,"inventory")); } ModItems: public final class ModItems { public static final ItemOT onyx = new ItemOnyx(); public static void init() { GameRegistry.registerItem(onyx, "onyx"); } } Custom base item class: public class ItemOT extends Item{ public ItemOT() { super(); } @Override public String getUnlocalizedName() { return String.format("item.%s%s", Textures.RESOURCE_PREFIX, getUnwrappedUnlocalizedName(super.getUnlocalizedName())); //item.ObsidianTools:onyx.name } @Override public String getUnlocalizedName(ItemStack itemStack) { return String.format("item.%s%s", Textures.RESOURCE_PREFIX, getUnwrappedUnlocalizedName(super.getUnlocalizedName())); } protected String getUnwrappedUnlocalizedName(String unlocalizedName) { return unlocalizedName.substring(unlocalizedName.indexOf(".") + 1); } } JSON: { "parent":"builtin/generated", "textures": { "layer0":"obsidiantools:items/onyx" }, "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 ] } } }
March 24, 20169 yr Json system changed slightly from 1.8 to 1.9 check out the item model named generated in the vanilla assets for all the rotations. Did you really need to know?
March 24, 20169 yr The two json class that you should extends is... item/generated class { "parent": "item/generated" } and the handheld class { "parent": "item/handheld" } The only difference between these class json classes is that "item/generated" is a basic item with a simple orientation while "item/handheld" is used for tools, sword, or some item that the player can hold in each hand.
March 24, 20169 yr Author The two json class that you should extends is... item/generated class { "parent": "item/generated" } and the handheld class { "parent": "item/handheld" } The only difference between these class json classes is that "item/generated" is a basic item with a simple orientation while "item/handheld" is used for tools, sword, or some item that the player can hold in each hand. Thank you so much! I changed builtin/generated to item/generated and it worked.
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.