Jump to content

Tennik

Members
  • Posts

    2
  • Joined

  • Last visited

Tennik's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. I would gladly, but there are not all plugins and mods I need for my project on 1.14, only for 1.12 ...Where I can get help then, if not here?..
  2. Hello everyone! I`m a novice in the forge modding, but have some basic skills and know basics about creating custom blocks, items and something else. I work on rewriting a 1.7.10 mod for my new 1.12.2 server as author abandoned its developing. I simply created main mod class, proxy, block and item registers, added new stone and wood blocks with metadata and create custom fence and gate with different textures. But I have a problem with my custom walls. When my wall class inherits BlockWall class, I get two items in my inventory - one normal with texture and second bad. They are fully similar in the world and have similar IDs: When I change BlockWall to BlockFence and make some changes in my constructor and models json files, everything is going fine and there are no more dublicates. But may be there is a right way to make them from BlockWall class, nor BlockFence? BlocksRegister.class package de.shittyco.morematerials.blocks; import de.shittyco.morematerials.blocks.fence.BlockBrickFence; import de.shittyco.morematerials.blocks.fence.BlockBrickFenceGate; import de.shittyco.morematerials.blocks.wall.BlockStainedBrickWall; import de.shittyco.morematerials.utils.ColorUtility; import de.shittyco.morematerials.utils.WoodUtility; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelBakery; 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.ForgeRegistries; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class BlocksRegister { public static Block stainedBrickBlocks = new BlockStainedBricks(); public static Block woodenFrame = new BlockWoodenFrame(); public static Block backslashWoodenFrame = new BlockBackslashWoodenFrame(); public static Block crossWoodenFrame = new BlockCrossWoodenFrame(); public static Block slashWoodenFrame = new BlockSlashWoodenFrame(); public static Block brick_fence_black = new BlockBrickFence("brick_fence_black"); public static Block brick_fence_gate_black = new BlockBrickFenceGate("brick_fence_gate_black"); public static Block brick_fence_blue = new BlockBrickFence("brick_fence_blue"); public static Block brick_fence_gate_blue = new BlockBrickFenceGate("brick_fence_gate_blue"); public static Block brick_fence_brown = new BlockBrickFence("brick_fence_brown"); public static Block brick_fence_gate_brown = new BlockBrickFenceGate("brick_fence_gate_brown"); public static Block brick_fence_cyan = new BlockBrickFence("brick_fence_cyan"); public static Block brick_fence_gate_cyan = new BlockBrickFenceGate("brick_fence_gate_cyan"); public static Block brick_fence_gray = new BlockBrickFence("brick_fence_gray"); public static Block brick_fence_gate_gray = new BlockBrickFenceGate("brick_fence_gate_gray"); public static Block brick_fence_green = new BlockBrickFence("brick_fence_green"); public static Block brick_fence_gate_green = new BlockBrickFenceGate("brick_fence_gate_green"); public static Block brick_fence_light_blue = new BlockBrickFence("brick_fence_light_blue"); public static Block brick_fence_gate_light_blue = new BlockBrickFenceGate("brick_fence_gate_light_blue"); public static Block brick_fence_lime = new BlockBrickFence("brick_fence_lime"); public static Block brick_fence_gate_lime = new BlockBrickFenceGate("brick_fence_gate_lime"); public static Block brick_fence_magenta = new BlockBrickFence("brick_fence_magenta"); public static Block brick_fence_gate_magenta = new BlockBrickFenceGate("brick_fence_gate_magenta"); public static Block brick_fence_orange = new BlockBrickFence("brick_fence_orange"); public static Block brick_fence_gate_orange = new BlockBrickFenceGate("brick_fence_gate_orange"); public static Block brick_fence_pink = new BlockBrickFence("brick_fence_pink"); public static Block brick_fence_gate_pink = new BlockBrickFenceGate("brick_fence_gate_pink"); public static Block brick_fence_purple = new BlockBrickFence("brick_fence_purple"); public static Block brick_fence_gate_purple = new BlockBrickFenceGate("brick_fence_gate_purple"); public static Block brick_fence_red = new BlockBrickFence("brick_fence_red"); public static Block brick_fence_gate_red = new BlockBrickFenceGate("brick_fence_gate_red"); public static Block brick_fence_silver = new BlockBrickFence("brick_fence_silver"); public static Block brick_fence_gate_silver = new BlockBrickFenceGate("brick_fence_gate_silver"); public static Block brick_fence_white = new BlockBrickFence("brick_fence_white"); public static Block brick_fence_gate_white = new BlockBrickFenceGate("brick_fence_gate_white"); public static Block brick_fence_yellow = new BlockBrickFence("brick_fence_yellow"); public static Block brick_fence_gate_yellow = new BlockBrickFenceGate("brick_fence_gate_yellow"); public static Block[] stainedBrickWallBlocks = new BlockStainedBrickWall[ColorUtility.COLOR_COUNT]; public static void register() { setRegister(stainedBrickBlocks, new ItemBlockStainedBricks(stainedBrickBlocks)); setRegister(woodenFrame, new ItemBlockWoodenFrame(woodenFrame)); setRegister(backslashWoodenFrame, new ItemBlockWoodenFrame(backslashWoodenFrame)); setRegister(crossWoodenFrame, new ItemBlockWoodenFrame(crossWoodenFrame)); setRegister(slashWoodenFrame, new ItemBlockWoodenFrame(slashWoodenFrame)); for (int i = 0; i < ColorUtility.COLOR_COUNT; i++) { BlockStainedBrickWall wall = new BlockStainedBrickWall(stainedBrickBlocks, i); stainedBrickWallBlocks[i] = wall; setRegister(wall); } } @SideOnly(Side.CLIENT) public static void registerRender() { setRender(stainedBrickBlocks, ColorUtility.COLOR_COUNT, ColorUtility.COLOR_IDS); setRender(woodenFrame, WoodUtility.WOOD_TYPE_COUNT, WoodUtility.WOOD_TYPE_IDS); setRender(backslashWoodenFrame, WoodUtility.WOOD_TYPE_COUNT, WoodUtility.WOOD_TYPE_IDS); setRender(crossWoodenFrame, WoodUtility.WOOD_TYPE_COUNT, WoodUtility.WOOD_TYPE_IDS); setRender(slashWoodenFrame, WoodUtility.WOOD_TYPE_COUNT, WoodUtility.WOOD_TYPE_IDS); setRender(brick_fence_black); setRender(brick_fence_gate_black); setRender(brick_fence_blue); setRender(brick_fence_gate_blue); setRender(brick_fence_brown); setRender(brick_fence_gate_brown); setRender(brick_fence_cyan); setRender(brick_fence_gate_cyan); setRender(brick_fence_gray); setRender(brick_fence_gate_gray); setRender(brick_fence_green); setRender(brick_fence_gate_green); setRender(brick_fence_light_blue); setRender(brick_fence_gate_light_blue); setRender(brick_fence_lime); setRender(brick_fence_gate_lime); setRender(brick_fence_magenta); setRender(brick_fence_gate_magenta); setRender(brick_fence_orange); setRender(brick_fence_gate_orange); setRender(brick_fence_pink); setRender(brick_fence_gate_pink); setRender(brick_fence_purple); setRender(brick_fence_gate_purple); setRender(brick_fence_red); setRender(brick_fence_gate_red); setRender(brick_fence_silver); setRender(brick_fence_gate_silver); setRender(brick_fence_white); setRender(brick_fence_gate_white); setRender(brick_fence_yellow); setRender(brick_fence_gate_yellow); for (int i = 0; i < stainedBrickWallBlocks.length; i++) { setRender(stainedBrickWallBlocks[i]); } } private static void setRegister(Block block) { ForgeRegistries.BLOCKS.register(block); ForgeRegistries.ITEMS.register(new ItemBlock(block).setRegistryName(block.getRegistryName())); } public static void setRegister(Block block, ItemBlock itemBlock) { ForgeRegistries.BLOCKS.register(block); ForgeRegistries.ITEMS.register(itemBlock.setRegistryName(block.getRegistryName())); } @SideOnly(Side.CLIENT) private static void setRender(Block block, int meta_count, String[] meta_name) { for (int i = 0; i < meta_count; i++) { Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), i, new ModelResourceLocation(block.getRegistryName() + "_" + meta_name[i], "inventory")); ModelBakery.registerItemVariants( Item.getItemFromBlock(block), new ModelResourceLocation( "morematerials:" + block.getRegistryName(), "variant=" + block.getRegistryName() + "_" + meta_name[i])); } } @SideOnly(Side.CLIENT) private static void setRender(Block block) { Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), "inventory")); ModelBakery.registerItemVariants( Item.getItemFromBlock(block), new ModelResourceLocation( "morematerials:" + block.getRegistryName(), "variant=" + block.getRegistryName())); } } BlocksStainedBrickWall.class /** * Copyright (C) Jon Rowlett. All rights reserved. */ package de.shittyco.morematerials.blocks.wall; import de.shittyco.morematerials.MoreMaterialsMod; import de.shittyco.morematerials.blocks.BlockStainedBricks; import de.shittyco.morematerials.utils.ColorUtility; import net.minecraft.block.Block; import net.minecraft.block.BlockFence; import net.minecraft.block.BlockWall; import net.minecraft.block.material.Material; import net.minecraft.item.Item; /** * Different color brick walls. * @author jrowlett * */ public class BlockStainedBrickWall extends BlockFence { /** * base unlocalized name of the block. */ private static final String NAME = "stainedBrickWall"; /** * Block hardness. */ private static final float HARDNESS = 2.0f; /** * block resistance. */ private static final float RESISTANCE = 10.0f; /** * color of the bricks. */ private int color; /** * Initializes a new instance of the BlockStainedBrickWall class. * @param stainedBrickBlocks the registered stained bricks block. * @param brickColor color of the bricks. */ public BlockStainedBrickWall(Block stainedBrickBlocks, int brickColor) { super(Material.ROCK, Material.ROCK.getMaterialMapColor()); //super(stainedBrickBlocks); this.color = brickColor; this.setRegistryName(getId()); this.setUnlocalizedName(NAME + "." + ColorUtility.COLOR_NAMES[this.color]); this.setHardness(HARDNESS); this.setResistance(RESISTANCE); this.setCreativeTab(MoreMaterialsMod.creativeTab); } /** * Gets the ID to use for registration. * @return the unique name of the block. */ public final String getId() { return BlockStainedBricks.ID + "_" + ColorUtility.COLOR_IDS[this.color] + "_wall"; } /** * Call on init to register the icons for inventory. * @param proxy the proxy to register the models. */ /* public final void registerModels( final CommonProxy proxy) { String id = this.getId(); Item itemBlock = GameUtility.getItemFromBlock(id); proxy.addModelBakeryVariant( itemBlock, "morematerials:" + id); proxy.registerInventoryModel( itemBlock, id, 0); } */ } ColorUtility.class (for different color blocks with different textures) /** * Copyright (C) Jon Rowlett. All rights reserved. */ package de.shittyco.morematerials.utils; /** * Common Definitions and helpers for color. * @author jrowlett * */ public final class ColorUtility { /** * Common color names (unlocalized) indexed by item damage. */ public static final String[] COLOR_NAMES = new String[] { "black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "gray", "pink", "lime", "yellow", "lightBlue", "magenta", "orange", "white" }; /** * Count of total colors. */ public static final int COLOR_COUNT = COLOR_NAMES.length; /** * Common color tags used for icon name lookup indexed by item damage. */ public static final String[] COLOR_IDS = new String[] { "black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "gray", "pink", "lime", "yellow", "light_blue", "magenta", "orange", "white" }; /** * Prevent instantiation of the ColorUtility class. */ private ColorUtility() { } }
×
×
  • Create New...

Important Information

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