Posted January 12, 201510 yr Hi Guys, I already had problems with this block, and they where problems with rendering things - now I have the problem of rendering it in the inventory. I followed wuppy29's tutorial for a custom block step by step, and even looked it up in TheGreyGhost's GitHub Repository MinecraftByExample, and I just don't find any mistake I could have made. This is the code of the Block: public class WGBlockLightning extends Block { private final String name = "lightningBlock"; public WGBlockLightning() { super(Material.rock); GameRegistry.registerBlock(this, name); setUnlocalizedName(WorldGenMod.MODID + "_" + name); setCreativeTab(CreativeTabs.tabBlock); this.setTickRandomly(true); } public String getName() { return name; } public int quantityDropped(Random random) { return 0; } protected boolean canSilkHarvest() { return true; } public void updateTick(World world, BlockPos pos, IBlockState state, Random random) { double dx = (double)pos.getX(); double dy = (double)pos.getY(); double dz = (double) pos.getZ(); String sx = String.valueOf(pos.getX()); String sy = String.valueOf(pos.getY()); String sz = String.valueOf(pos.getZ()); try { dx = CommandBase.func_175761_b(dx, sx, true); dy = CommandBase.func_175761_b(dy, sy, false); dz = CommandBase.func_175761_b(dz, sz, true); } catch (NumberInvalidException e) { // TODO Auto-generated catch block e.printStackTrace(); } world.addWeatherEffect(new EntityLightningBolt(world, dx, dy, dz)); } } This is the code of my load function in the modclass public static Block lightningBlock; public static Item itemLightningBlock; @EventHandler public void preInit(FMLInitializationEvent event) { lightningBlock = new WGBlockLightning(); //itemLightningBlock = GameRegistry.findItem(MODID, "lightningBlock"); } @EventHandler public void load(FMLInitializationEvent event) { GameRegistry.registerWorldGenerator(new StructureGenerator(), 0); if(event.getSide() == Side.CLIENT) { Item itemLightningBlock = GameRegistry.findItem(MODID, "lightningBlock"); RenderItem renderItem = Minecraft.getMinecraft().getRenderItem(); ModelResourceLocation itemLightningLoc = new ModelResourceLocation(MODID + ":" + "lightningBlock", "inventory"); renderItem.getItemModelMesher().register(itemLightningBlock, 0, itemLightningLoc); } } } I know that I could use ((WGBlockLightning)lightningBlock).getName instead of "lightningBlock", but this crashes the game! All json. files have the same name: lightningBlock.json This is my json. file in the assets.worldgenmod.models.items { "parent": "worldgenmod:block/lightningBlock", "display": { "thirdperson": { "rotation": [ 10, -45, 170 ], "translation": [ 0, 1.5, -2.75 ], "scale": [ 0.375, 0.375, 0.375 ] } } } This is my json. file in the assets.worldgenmod.models.blocks { "parent": "block/cube_all", "textures": { "all": "worldgenmod:blocks/lightningBlock" } } And finally this is the json. file int the assets.worldgenmod.blockstates { "variants": { "normal": { "model": "worldgenmod:lightningBlock" } } } Note, that the problem is that the block does not render in the inventory or when throughn on the ground as an item, but not when set as a block in the world. Than the texture renders just like it is supposed to render. Thanks again for any help in advance, Brickfix
January 12, 201510 yr Author Wow - it is so embarrasing! I just left out the "Pre" in the preInit(FMLPreInitialisationEvent event) Now it works without a problem - such a headache for just three tiny letters
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.