Jump to content

winnetrie

Members
  • Posts

    408
  • Joined

  • Last visited

Everything posted by winnetrie

  1. Where are you registering this generator? I suspect you don't and that's why it doesn't "work". You are also doing this completely wrong. It looks like you created a sort of infinite loop in your code. You have 2 methods here "generate" and "runGenerator". Each of them executes the other. What's the point of it? Like this: generate executes runGenerator wich executes generate wich executes runGenerator wich....... and so on.
  2. Aha, so is that what the "group" is meant for? : { "type": "crafting_shaped", "group": "boat", "pattern": [ "# #", "###" ], "key": { "#": { "item": "minecraft:planks", "data": 4 } }, "result": { "item": "minecraft:acacia_boat" } }
  3. I added "refinedstorage-1.5.31.jar" to my modding dev. inside the run/mods folder, to try reproducing this crash. It doesn't crash. So i think you are setting your workspace wrong. Did you downloaded the mod from the curse website? Or with the twitch app? Never download it from anywhere else. It is very weird those classes are "missing"
  4. Ok but what about oredictionary? If i was going to add more wood types, for example "apple_planks". How would i register it as "planks"? Does this still has to be done in code?
  5. Automatically? Sounds good. Where and how? Also why not in code? I mean not that i disagree, just want to know why?
  6. I know everyone is telling to use the new json recipes, but i don't like it actually. It is frustrating to create all those files 1 by 1 ..... Instead i would like to do it in code, for now. I might eventually switch. I wonder if this is the right way to register recipes now in code: @SubscribeEvent public static void registerRecipes(RegistryEvent.Register<IRecipe> event) { //adding recipe for clay bucket GameRegistry.addShapedRecipe(new ResourceLocation(Reference.MODID + ":" + "clay_bucket"), new ResourceLocation(Reference.MODID + ":" + "buckets"), new ItemStack(ItemInit.CLAY_BUCKET), new Object[] {"B B","B B", "BBB", 'B', new ItemStack(Items.CLAY_BALL)}); }
  7. I don't think he means for items he create. It seems like he wants it to be removed for existing items.
  8. Ofcourse it will fix it. You get those errors because you don't have the models. That's what the error is referring to. In simple english this is saying to you: I can't load this model for that blockstate. It doesn't say "i don't have that blockstate" A few lines later it is telling you that it can't find the file for those models. Because you did not add/create them
  9. In your Clientproxy class you made a mistake here: public class ClientProxy extends CommonProxy { public void registerItemRender(ItemBase item, int meta, String id) { ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id)); } } Change ItemBase to Item. I could replicate your problem with this method and changing it to Item solved it. Don't know why you use ItemBase here.
  10. I recommend reading your crash report. It took me 5 seconds to see the problem.
  11. I have a small model loading error. In my classes i have a method like this: @Override public void registerModels() { Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "color=silver,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 1, "color=cyan,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 2, "color=purple,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 3, "color=blue,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 4, "color=brown,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 5, "color=green,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 6, "color=red,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 7, "color=black,half=bottom"); } This method is inside my slab class. There are no problem with any other blocks where i register the renders like this. In the console i see that the game tries to loading a item model for minecraft:air with those variants. Why is that on how do i fix it? If i replace "this" with "BlockInit.TERRACOTTA_SLABS_HALF_A" , then it doesn't give any errors. EDIT: ah nvm i see what i forgot. Changed it to: @Override public void registerModels() { if (!isDouble()) { Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "color=silver,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 1, "color=cyan,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 2, "color=purple,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 3, "color=blue,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 4, "color=brown,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 5, "color=green,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 6, "color=red,half=bottom"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 7, "color=black,half=bottom"); } }
  12. I have made my own slabs too and i have a registryHandler class with the @EventBusSubscriber annotiation, where i have for example these 2 methods: @SubscribeEvent public static void onItemRegister(RegistryEvent.Register<Item> event ) { event.getRegistry().registerAll(ItemInit.ITEMS.toArray(new Item[0])); ItemBlock item = new ItemSlab(BlockInit.TERRACOTTA_SLABS_HALF_A, (BlockSlab)BlockInit.TERRACOTTA_SLABS_HALF_A, (BlockSlab)BlockInit.TERRACOTTA_SLABS_DOUBLE_A); item.setRegistryName(BlockInit.TERRACOTTA_SLABS_HALF_A.getRegistryName()); event.getRegistry().register(item); } @SubscribeEvent public static void onBlockRegister(RegistryEvent.Register<Block> event ) { event.getRegistry().registerAll(BlockInit.BLOCKS.toArray(new Block[0])); registerTileEntities(); } You also have to register the block ofcourse.
  13. You register it like you would do it in 1.11.* Except you do it inside your onitemregister methode.
  14. Aha i found the problem! The blockstate like this was just fine: { "forge_marker": 1, "defaults": { "textures": { "top": "#all", "bottom": "#all", "side": "#all" } }, "variants": { "half": { "bottom": { "model": "minecraft:half_slab" }, "top": { "model": "minecraft:upper_slab" } }, "color": { "white": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_white" } }, "orange": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_orange" } }, "magenta": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_magenta" } }, "light_blue": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_light_blue" } }, "yellow": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_yellow" } }, "lime": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_lime" } }, "pink": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_pink" } }, "gray": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_gray" } } } } } No need to add a "normal" or "inventory" variant. That's just illogical. The problem was in my slab class in this particular method: @Override public int getMetaFromState(IBlockState state) { int i = state.getValue(COLOR).getMetadata(); if (!this.isDouble() && state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP) { i |= 8; } return i; } I had this line wrong : int i = state.getValue(COLOR).getMetadata(); It was int i = 0; And that's all it took to fix..... I was already wondering why the breaking particle was always the white block texture, even when setting a very specific texture for it.
  15. I have changed my blockstate file for my slabs temporarely to non forge way. Reason was my slabs didn't have the right block breaking particle. So maybe i did something wrong and i decided to make a normal(standard) blockstate file and all needed block models and item models. That was to no avail, as the particles are still not working correctly and i can't see the problem. Here is my blockstate file: { "variants": { "color=white,half=bottom": { "model": "tem:terracotta_slab_white" }, "color=white,half=top": { "model": "tem:terracotta_upper_slab_white" }, "color=orange,half=bottom": { "model": "tem:terracotta_slab_orange" }, "color=orange,half=top": { "model": "tem:terracotta_upper_slab_orange" }, "color=magenta,half=bottom": { "model": "tem:terracotta_slab_magenta" }, "color=magenta,half=top": { "model": "tem:terracotta_upper_slab_magenta" }, "color=light_blue,half=bottom": { "model": "tem:terracotta_slab_light_blue" }, "color=light_blue,half=top": { "model": "tem:terracotta_upper_slab_light_blue" }, "color=yellow,half=bottom": { "model": "tem:terracotta_slab_yellow" }, "color=yellow,half=top": { "model": "tem:terracotta_upper_slab_yellow" }, "color=lime,half=bottom": { "model": "tem:terracotta_slab_lime" }, "color=lime,half=top": { "model": "tem:terracotta_upper_slab_lime" }, "color=pink,half=bottom": { "model": "tem:terracotta_slab_pink" }, "color=pink,half=top": { "model": "tem:terracotta_upper_slab_pink" }, "color=gray,half=bottom": { "model": "tem:terracotta_slab_gray" }, "color=gray,half=top": { "model": "tem:terracotta_upper_slab_gray" } } } And here is 1 of the block model jsons: { "parent": "block/half_slab", "textures": { "bottom": "minecraft:blocks/hardened_clay_stained_orange", "top": "minecraft:blocks/hardened_clay_stained_orange", "side": "minecraft:blocks/hardened_clay_stained_orange", "particle": "minecraft:blocks/hardened_clay_stained_orange" } } I'm pretty sure i don't need to add the texture for the particle as it gets it from the "side" , but because it doesn't work i added it. Still not working. All blocks do have a particle effect and it appears to have this texture: minecraft:blocks/hardened_clay_stained_white Everything else is working correctly
  16. I don't have that variant in my json and everything is working fine. Adding it for the reason you say just doesn't make sense at all. Like i said before it gets the variant from the modelresourcelocation. I did not define a variant called inventory. I tried adding inventory variant in the blockstate json before and it did not solved the problem, instead it gave me more errors. So i removed it again and added other lines. You can see what i changed. That gave me the solution. About the particles. I Tried that before. Nothing change.
  17. I did not said that either. You also haven't explained why i need to add those lines. Btw how do i make the particles return the right texture? All 8 slabs nog have the particle texture from the first block.
  18. If i remove what i added in my blockstate json and add that normal and inventory variant, it results in throwing lots of model errors: I don't understand it anymore now. Please explain.... You say i haven't changed my blockstate json, but i have clearly added text, no? If i remove it again i get lots of model errors. If i add an inventory variant, i still keep the same errors. If i do my blockstate json the wrong way, please tell me what i did wrong. Tell me how it is done. Tell me why i need an "inventory" variant, when it is not even defined anywhere in the code. Or tell me why my blockstate json (while it hasn't changed in your opinion) isn't giving me errors now anymore AND my items ARE rendered now. Just 1 small detail, the particles do not change respectively to the state (color).
  19. Seriously? I don't want to be rude, but as for an experienced modder you are, your answers are really crappy (today at least). Rendering items in the inventory or in the world has totally nothing todo that it needs an inventory variant. It should instead look for variant i defined in the modelresourcelocation. I did not define any variants called "inventory" You can see it here: public void registerModels() { Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 0, "half=bottom,color=white"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 1, "half=bottom,color=orange"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 2, "half=bottom,color=magenta"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 3, "half=bottom,color=light_blue"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 4, "half=bottom,color=yellow"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 5, "half=bottom,color=lime"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 6, "half=bottom,color=pink"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 7, "half=bottom,color=gray"); } public void registerItemRenderer(Item item, int meta, String id) { ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id)); } The good news is, it seems i solved it. I changed my blockstate json like this: { "forge_marker": 1, "defaults": { "textures": { "top": "#all", "bottom": "#all", "side": "#all" } }, "variants": { "half=bottom,color=white": { "model": "minecraft:half_slab", "textures": { "all": "minecraft:blocks/hardened_clay_stained_white" } }, "half=bottom,color=orange": { "model": "minecraft:half_slab", "textures": { "all": "minecraft:blocks/hardened_clay_stained_orange" } }, "half=bottom,color=magenta": { "model": "minecraft:half_slab", "textures": { "all": "minecraft:blocks/hardened_clay_stained_magenta" } }, "half=bottom,color=light_blue": { "model": "minecraft:half_slab", "textures": { "all": "minecraft:blocks/hardened_clay_stained_light_blue" } }, "half=bottom,color=yellow": { "model": "minecraft:half_slab", "textures": { "all": "minecraft:blocks/hardened_clay_stained_yellow" } }, "half=bottom,color=lime": { "model": "minecraft:half_slab", "textures": { "all": "minecraft:blocks/hardened_clay_stained_lime" } }, "half=bottom,color=pink": { "model": "minecraft:half_slab", "textures": { "all": "minecraft:blocks/hardened_clay_stained_pink" } }, "half=bottom,color=gray": { "model": "minecraft:half_slab", "textures": { "all": "minecraft:blocks/hardened_clay_stained_gray" } }, "half": { "bottom": { "model": "minecraft:half_slab" }, "top": { "model": "minecraft:upper_slab" } }, "color": { "white": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_white" } }, "orange": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_orange" } }, "magenta": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_magenta" } }, "light_blue": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_light_blue" } }, "yellow": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_yellow" } }, "lime": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_lime" } }, "pink": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_pink" } }, "gray": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_gray" } } } } }
  20. Yes that is true, but why does it needs 1?
  21. Yes i know this. Because it can't find an alternative in the blockstate. I do not understand why . Because i intend to use forge blockstate json. So i was wondering if anyone can help me to see if there is something wrong with my blockstate json.
  22. As the titel says, my slabs are not rendering in the inventory or they do not render as items. They look like big black/purple squares when throwing them on the floor. I have this error in the console: As far as i understand it wan't a variant "inventory" for the item I'm not sure how to implement this and why it asks for that variant. This is my json file (i use the forge blockstate json thing) { "forge_marker": 1, "defaults": { "textures": { "top": "#all", "bottom": "#all", "side": "#all" } }, "variants": { "half": { "bottom": { "model": "minecraft:half_slab" }, "top": { "model": "minecraft:upper_slab" } }, "color": { "white": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_white" } }, "orange": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_orange" } }, "magenta": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_magenta" } }, "light_blue": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_light_blue" } }, "yellow": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_yellow" } }, "lime": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_lime" } }, "pink": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_pink" } }, "gray": { "textures": { "all": "minecraft:blocks/hardened_clay_stained_gray" } } } } } This is my blockSlab class: public abstract class BlockBaseSlabColoredA extends BlockSlab implements IMetaBlock { public static final PropertyEnum<BlockBaseSlabColoredA.EnumType> COLOR = PropertyEnum.<BlockBaseSlabColoredA.EnumType>create("color", BlockBaseSlabColoredA.EnumType.class); private final Block modelBlock; public BlockBaseSlabColoredA(String name, IBlockState state) { super(state.getMaterial()); this.modelBlock = state.getBlock(); IBlockState iblockstate = this.blockState.getBaseState(); if(!this.isDouble()){ iblockstate = iblockstate.withProperty(HALF, EnumBlockHalf.BOTTOM); } this.setDefaultState(iblockstate); setUnlocalizedName(name); setRegistryName(name); setCreativeTab(CreativeTabs.BUILDING_BLOCKS); this.setHardness(this.modelBlock.getBlockHardness(state, null, null)); this.setResistance(this.modelBlock.getExplosionResistance(null)); this.setSoundType(this.modelBlock.getSoundType()); this.setHarvestLevel(this.modelBlock.getHarvestTool(state), this.modelBlock.getHarvestLevel(state)); setLightLevel(0.0F); this.useNeighborBrightness = true; BlockInit.BLOCKS.add(this); } /** * Get the Item that this Block should drop when harvested. */ @Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { return Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A); } @Override public ItemStack getItem(World worldIn, BlockPos pos, IBlockState state) { return new ItemStack(BlockInit.TERRACOTTA_SLABS_HALF_A, 1, ((BlockBaseSlabColoredA.EnumType)state.getValue(COLOR)).getMetadata()); } /** * Returns the slab block name with the type associated with it */ @Override public String getUnlocalizedName(int meta) { return super.getUnlocalizedName() + "." + BlockBaseSlabColoredA.EnumType.byMetadata(meta).getUnlocalizedName(); } @Override public IProperty<?> getVariantProperty() { return COLOR; } @Override public Comparable<?> getTypeForItem(ItemStack stack) { return BlockBaseSlabColoredA.EnumType.byMetadata(stack.getMetadata() & 7); } /** * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) */ @Override public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> items) { for (BlockBaseSlabColoredA.EnumType blockstoneslab$enumtype : BlockBaseSlabColoredA.EnumType.values()) { items.add(new ItemStack(this, 1, blockstoneslab$enumtype.getMetadata())); } } /** * Convert the given metadata into a BlockState for this Block */ @Override public IBlockState getStateFromMeta(int meta) { IBlockState iblockstate = this.getDefaultState().withProperty(COLOR, BlockBaseSlabColoredA.EnumType.values()[meta & 7]); if (!this.isDouble()) { iblockstate = iblockstate.withProperty(HALF, (meta & 8) == 0 ? BlockSlab.EnumBlockHalf.BOTTOM : BlockSlab.EnumBlockHalf.TOP); } return iblockstate; } @Override public int getMetaFromState(IBlockState state) { int i = 0; if (!this.isDouble() && state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP) { i |= 8; } return i; } @Override protected BlockStateContainer createBlockState() { return this.isDouble() ? new BlockStateContainer(this, new IProperty[] { COLOR}) : new BlockStateContainer(this, new IProperty[] {HALF, COLOR}); } /** * Gets the metadata of the item this Block can drop. This method is called when the block gets destroyed. It * returns the metadata of the dropped item based on the old metadata of the block. */ @Override public int damageDropped(IBlockState state) { return ((BlockBaseSlabColoredA.EnumType)state.getValue(COLOR)).getMetadata(); } /** * Get the MapColor for this Block and the given BlockState */ @Override public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) { return ((BlockBaseSlabColoredA.EnumType)state.getValue(COLOR)).getMapColor(); } @Override public String getSpecialName(ItemStack stack) { return EnumType.values()[stack.getMetadata()].name().toLowerCase(); } public static enum EnumType implements IStringSerializable { WHITE(0, MapColor.WHITE_STAINED_HARDENED_CLAY, "white", "white"), ORANGE(1, MapColor.ORANGE_STAINED_HARDENED_CLAY, "orange", "orange"), MAGENTA(2, MapColor.MAGENTA_STAINED_HARDENED_CLAY, "magenta", "magenta"), LIGHT_BLUE(3, MapColor.LIGHT_BLUE_STAINED_HARDENED_CLAY, "light_blue", "light_blue"), YELLOW(4, MapColor.YELLOW_STAINED_HARDENED_CLAY, "yellow", "yellow"), LIME(5, MapColor.LIME_STAINED_HARDENED_CLAY, "lime", "lime"), PINK(6, MapColor.PINK_STAINED_HARDENED_CLAY, "pink", "pink"), GRAY(7, MapColor.GRAY_STAINED_HARDENED_CLAY, "gray", "gray"); private static final BlockBaseSlabColoredA.EnumType[] META_LOOKUP = new BlockBaseSlabColoredA.EnumType[values().length]; private final int meta; private final MapColor mapColor; private final String name; private final String unlocalizedName; private EnumType(int p_i46381_3_, MapColor p_i46381_4_, String p_i46381_5_) { this(p_i46381_3_, p_i46381_4_, p_i46381_5_, p_i46381_5_); } private EnumType(int p_i46382_3_, MapColor p_i46382_4_, String p_i46382_5_, String p_i46382_6_) { this.meta = p_i46382_3_; this.mapColor = p_i46382_4_; this.name = p_i46382_5_; this.unlocalizedName = p_i46382_6_; } public int getMetadata() { return this.meta; } public MapColor getMapColor() { return this.mapColor; } public String toString() { return this.name; } public static BlockBaseSlabColoredA.EnumType byMetadata(int meta) { if (meta < 0 || meta >= META_LOOKUP.length) { meta = 0; } return META_LOOKUP[meta]; } public String getName() { return this.name; } public String getUnlocalizedName() { return this.unlocalizedName; } static { for (BlockBaseSlabColoredA.EnumType blockstoneslab$enumtype : values()) { META_LOOKUP[blockstoneslab$enumtype.getMetadata()] = blockstoneslab$enumtype; } } } } Here my class where i create it: public class BlockInit { public static final List<Block> BLOCKS = new ArrayList<Block>(); public static final Block DEMONITE = new BlockBase("demonite", Material.ROCK); public static final Block BRICKED_TERRACOTTA = (new BrickedTerracottaBlock("bricked_terracotta", Blocks.BRICK_BLOCK.getDefaultState())); public static final Block SLABBED_TERRACOTTA = (new SlabbedTerracottaBlock("slabbed_terracotta", Blocks.STAINED_HARDENED_CLAY.getDefaultState())); public static final Block COLORED_CLAY = new BlockColoredClay("colored_clay", Material.CLAY); //SLABS public static final Block TERRACOTTA_SLABS_HALF_A = new BlockBaseHalfSlabColoredA("terracotta_halfslab_a", Blocks.STAINED_HARDENED_CLAY.getDefaultState()); public static final Block TERRACOTTA_SLABS_DOUBLE_A = new BlockBaseDoubleSlabColoredA("terracotta_doubleslab_a", Blocks.STAINED_HARDENED_CLAY.getDefaultState()); //STAIRS public static final Block TERRACOTTA_STAIRS_WHITE = new BlockBaseStairs("terracotta_stairs_white", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.WHITE)); public static final Block TERRACOTTA_STAIRS_ORANGE = new BlockBaseStairs("terracotta_stairs_orange", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.ORANGE)); public static final Block TERRACOTTA_STAIRS_MAGENTA = new BlockBaseStairs("terracotta_stairs_magenta", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.MAGENTA)); public static final Block TERRACOTTA_STAIRS_LIGHT_BLUE = new BlockBaseStairs("terracotta_stairs_light_blue", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.LIGHT_BLUE)); public static final Block TERRACOTTA_STAIRS_YELLOW = new BlockBaseStairs("terracotta_stairs_yellow", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.YELLOW)); public static final Block TERRACOTTA_STAIRS_LIME = new BlockBaseStairs("terracotta_stairs_lime", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.LIME)); public static final Block TERRACOTTA_STAIRS_PINK = new BlockBaseStairs("terracotta_stairs_pink", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.PINK)); public static final Block TERRACOTTA_STAIRS_GRAY = new BlockBaseStairs("terracotta_stairs_gray", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.GRAY)); public static final Block TERRACOTTA_STAIRS_SILVER = new BlockBaseStairs("terracotta_stairs_silver", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.SILVER)); public static final Block TERRACOTTA_STAIRS_CYAN = new BlockBaseStairs("terracotta_stairs_cyan", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.CYAN)); public static final Block TERRACOTTA_STAIRS_PURPLE = new BlockBaseStairs("terracotta_stairs_purple", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.PURPLE)); public static final Block TERRACOTTA_STAIRS_BLUE = new BlockBaseStairs("terracotta_stairs_blue", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.BLUE)); public static final Block TERRACOTTA_STAIRS_BROWN = new BlockBaseStairs("terracotta_stairs_brown", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.BROWN)); public static final Block TERRACOTTA_STAIRS_GREEN = new BlockBaseStairs("terracotta_stairs_green", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.GREEN)); public static final Block TERRACOTTA_STAIRS_RED = new BlockBaseStairs("terracotta_stairs_red", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.RED)); public static final Block TERRACOTTA_STAIRS_BLACK = new BlockBaseStairs("terracotta_stairs_black", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.BLACK)); public static final Block SLABBED_TERRACOTTA_STAIRS_WHITE = new BlockBaseStairs("slabbed_terracotta_stairs_white", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.WHITE)); public static final Block SLABBED_TERRACOTTA_STAIRS_ORANGE = new BlockBaseStairs("slabbed_terracotta_stairs_orange", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.ORANGE)); public static final Block SLABBED_TERRACOTTA_STAIRS_MAGENTA = new BlockBaseStairs("slabbed_terracotta_stairs_magenta", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.MAGENTA)); public static final Block SLABBED_TERRACOTTA_STAIRS_LIGHT_BLUE = new BlockBaseStairs("slabbed_terracotta_stairs_light_blue", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.LIGHT_BLUE)); public static final Block SLABBED_TERRACOTTA_STAIRS_YELLOW = new BlockBaseStairs("slabbed_terracotta_stairs_yellow", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.YELLOW)); public static final Block SLABBED_TERRACOTTA_STAIRS_LIME = new BlockBaseStairs("slabbed_terracotta_stairs_lime", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.LIME)); public static final Block SLABBED_TERRACOTTA_STAIRS_PINK = new BlockBaseStairs("slabbed_terracotta_stairs_pink", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.PINK)); public static final Block SLABBED_TERRACOTTA_STAIRS_GRAY = new BlockBaseStairs("slabbed_terracotta_stairs_gray", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.GRAY)); public static final Block SLABBED_TERRACOTTA_STAIRS_SILVER = new BlockBaseStairs("slabbed_terracotta_stairs_silver", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.SILVER)); public static final Block SLABBED_TERRACOTTA_STAIRS_CYAN = new BlockBaseStairs("slabbed_terracotta_stairs_cyan", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.CYAN)); public static final Block SLABBED_TERRACOTTA_STAIRS_PURPLE = new BlockBaseStairs("slabbed_terracotta_stairs_purple", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.PURPLE)); public static final Block SLABBED_TERRACOTTA_STAIRS_BLUE = new BlockBaseStairs("slabbed_terracotta_stairs_blue", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.BLUE)); public static final Block SLABBED_TERRACOTTA_STAIRS_BROWN = new BlockBaseStairs("slabbed_terracotta_stairs_brown", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.BROWN)); public static final Block SLABBED_TERRACOTTA_STAIRS_GREEN = new BlockBaseStairs("slabbed_terracotta_stairs_green", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.GREEN)); public static final Block SLABBED_TERRACOTTA_STAIRS_RED = new BlockBaseStairs("slabbed_terracotta_stairs_red", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.RED)); public static final Block SLABBED_TERRACOTTA_STAIRS_BLACK = new BlockBaseStairs("slabbed_terracotta_stairs_black", Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockColored.COLOR, EnumDyeColor.BLACK)); public static final Block BRICKED_TERRACOTTA_STAIRS_WHITE = new BlockBaseStairs("bricked_stairs_white", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.WHITE)); public static final Block BRICKED_TERRACOTTA_STAIRS_ORANGE = new BlockBaseStairs("bricked_stairs_orange", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.ORANGE)); public static final Block BRICKED_TERRACOTTA_STAIRS_MAGENTA = new BlockBaseStairs("bricked_stairs_magenta", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.MAGENTA)); public static final Block BRICKED_TERRACOTTA_STAIRS_LIGHT_BLUE = new BlockBaseStairs("bricked_stairs_light_blue", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.LIGHT_BLUE)); public static final Block BRICKED_TERRACOTTA_STAIRS_YELLOW = new BlockBaseStairs("bricked_stairs_yellow", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.YELLOW)); public static final Block BRICKED_TERRACOTTA_STAIRS_LIME = new BlockBaseStairs("bricked_stairs_lime", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.LIME)); public static final Block BRICKED_TERRACOTTA_STAIRS_PINK = new BlockBaseStairs("bricked_stairs_pink", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.PINK)); public static final Block BRICKED_TERRACOTTA_STAIRS_GRAY = new BlockBaseStairs("bricked_stairs_gray", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.GRAY)); public static final Block BRICKED_TERRACOTTA_STAIRS_SILVER = new BlockBaseStairs("bricked_stairs_silver", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.SILVER)); public static final Block BRICKED_TERRACOTTA_STAIRS_CYAN = new BlockBaseStairs("bricked_stairs_cyan", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.CYAN)); public static final Block BRICKED_TERRACOTTA_STAIRS_PURPLE = new BlockBaseStairs("bricked_stairs_purple", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.PURPLE)); public static final Block BRICKED_TERRACOTTA_STAIRS_BLUE = new BlockBaseStairs("bricked_stairs_blue", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.BLUE)); public static final Block BRICKED_TERRACOTTA_STAIRS_BROWN = new BlockBaseStairs("bricked_stairs_brown", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.BROWN)); public static final Block BRICKED_TERRACOTTA_STAIRS_GREEN = new BlockBaseStairs("bricked_stairs_green", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.GREEN)); public static final Block BRICKED_TERRACOTTA_STAIRS_RED = new BlockBaseStairs("bricked_stairs_red", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.RED)); public static final Block BRICKED_TERRACOTTA_STAIRS_BLACK = new BlockBaseStairs("bricked_stairs_black", BRICKED_TERRACOTTA.getDefaultState().withProperty(BrickedTerracottaBlock.COLOR, EnumDyeColor.BLACK)); //public static final Block } The rendering class: public class RenderRegisteringHandler { public void registerModels() { Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 0, "half=bottom,color=white"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 1, "half=bottom,color=orange"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 2, "half=bottom,color=magenta"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 3, "half=bottom,color=light_blue"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 4, "half=bottom,color=yellow"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 5, "half=bottom,color=lime"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 6, "half=bottom,color=pink"); Main.proxy.registerItemRenderer(Item.getItemFromBlock(BlockInit.TERRACOTTA_SLABS_HALF_A), 7, "half=bottom,color=gray"); } } My registry handler class: @EventBusSubscriber public class RegistryHandler { @SubscribeEvent public static void onItemRegister(RegistryEvent.Register<Item> event ) { event.getRegistry().registerAll(ItemInit.ITEMS.toArray(new Item[0])); ItemBlock item = new ItemSlab(BlockInit.TERRACOTTA_SLABS_HALF_A, (BlockSlab)BlockInit.TERRACOTTA_SLABS_HALF_A, (BlockSlab)BlockInit.TERRACOTTA_SLABS_DOUBLE_A); item.setRegistryName(BlockInit.TERRACOTTA_SLABS_HALF_A.getRegistryName()); event.getRegistry().register(item); } @SubscribeEvent public static void onBlockRegister(RegistryEvent.Register<Block> event ) { event.getRegistry().registerAll(BlockInit.BLOCKS.toArray(new Block[0])); registerTileEntities(); } @SubscribeEvent public static void onModelRegister(ModelRegistryEvent event ) { for(Item item : ItemInit.ITEMS) { if(item instanceof IHasModel) { ((IHasModel)item).registerModels(); } } for(Block block : BlockInit.BLOCKS) { if(block instanceof IHasModel) { ((IHasModel)block).registerModels(); } } } public static void registerTileEntities() { //GameRegistry.registerTileEntity(tileEntityClass, Reference.MODID + ""); } } And here my clientproxy: public void registerItemRenderer(Item item, int meta, String id) { ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id)); } } I hope anyone can help me out!
  23. I have an ore called feliron ore. I have made a nugget, ingot, block and ore. I like to smelt my ore in the tinkers construct smeltery. How do i achieve this?
  24. I don't think you can change mod settings with a resource pack. For example how would a resource pack affect the spawnrate and vein size of certain ores from my mod? @Choonster Ah good to know. Thank you!!
  25. I don't think this is entirely true. If i understand the manual correctly. forge manual
×
×
  • Create New...

Important Information

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