poopoodice Posted August 5, 2020 Posted August 5, 2020 (edited) Set the render type of the block in your client setup using RenderTypeLookup.setRenderLayer(block, rendertype); Edited August 5, 2020 by poopoodice 1 1 Quote
MrGreenyboy Posted August 5, 2020 Author Posted August 5, 2020 this is my block init code: package com.MrGreenyboy.furnmod.init; import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; import net.minecraftforge.registries.ObjectHolder; @Mod.EventBusSubscriber(modid = "furnmod", bus = Bus.MOD) @ObjectHolder("furnmod") public class BlockInit { public static final Block table = null; @SubscribeEvent public static void registerBlock(final RegistryEvent.Register<Block> event) { event.getRegistry().register(new Block(Block.Properties.create(Material.IRON).sound(SoundType.STONE)).setRegistryName("furnmod", "table")); } @SubscribeEvent public static void registerBlockItems(final RegistryEvent.Register<Item> event) { event.getRegistry().register(new BlockItem(table, new Item.Properties().maxStackSize(64).group(ItemGroup.BUILDING_BLOCKS)).setRegistryName("table")); } } Quote
MrGreenyboy Posted August 5, 2020 Author Posted August 5, 2020 (edited) What is the render type again i need to add it in replacement for your render type code Edited August 5, 2020 by MrGreenyboy Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 Make a separate class for your table block (or a class which only extends to Block class and calls this method so if you would add more blocks like this you can extend those to that class so they would automatically get rendered in the correct way but i would make separate classes) or a much better solution rather than just using the render type method make voxel shapes matching your block's model it would also make your blocks looking a lot better (in my opinion) 1 Quote
poopoodice Posted August 5, 2020 Posted August 5, 2020 (edited) 4 minutes ago, Crazzy4999 said: rather than just using the render type method make voxel shapes matching your block's model You're right, I thought there were glass panes there lol. Edited August 5, 2020 by poopoodice Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 Just now, poopoodice said: You're right, I thought there were glass panes there lol. XD i mean it would look great than he would only need to call the method and he is fine Quote
MrGreenyboy Posted August 5, 2020 Author Posted August 5, 2020 6 minutes ago, Crazzy4999 said: Make a separate class for your table block (or a class which only extends to Block class and calls this method so if you would add more blocks like this you can extend those to that class so they would automatically get rendered in the correct way but i would make separate classes) or a much better solution rather than just using the render type method make voxel shapes matching your block's model it would also make your blocks looking a lot better (in my opinion) How would I add the class Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 In your registries 😞 like this event.getRegistry().register(new TableBRUUUHBlock(Block.Properties.create(Material.IRON).sound(SoundType.STONE)).setRegistryName("furnmod", "table")); 1 Quote
MrGreenyboy Posted August 5, 2020 Author Posted August 5, 2020 (edited) 8 minutes ago, Crazzy4999 said: In your registries 😞 like this event.getRegistry().register(new TableBRUUUHBlock(Block.Properties.create(Material.IRON).sound(SoundType.STONE)).setRegistryName("furnmod", "table")); So i put it in the blockInit thing under public static void registerBlock(final RegistryEvent.Register<Block> event) { is that right Edited August 5, 2020 by MrGreenyboy Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 Yes but you need to make a class called TableBRUUUHBlock Quote
MrGreenyboy Posted August 5, 2020 Author Posted August 5, 2020 1 minute ago, Crazzy4999 said: Yes but you need to make a class called TableBRUUUHBlock Ok I added a class called TableBlock in the BlockInit section what do I put in it Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 VoxelShapes than you combine them and call the getShape method i suggest to take a look at the lantern block it's has everything you need i mean you only need a few stuff from the lantern block class XD don't copy everything Quote
MrGreenyboy Posted August 5, 2020 Author Posted August 5, 2020 Just now, Crazzy4999 said: VoxelShapes than you combine them and call the getShape method i suggest to take a look at the lantern block it's has everything you need i mean you only need a few stuff from the lantern block class XD don't copy everything where is the lantern block class is it on a website or on my files Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 Oh wait in the BlockInit section? Make a different package for classes like this if you would put every single class in your registry i'm sure your code would look very interesting in the end Quote
MrGreenyboy Posted August 5, 2020 Author Posted August 5, 2020 1 minute ago, Crazzy4999 said: Oh wait in the BlockInit section? Make a different package for classes like this if you would put every single class in your registry i'm sure your code would look very interesting in the end Ok i am just going to show you the code and see if is ok so far: package com.MrGreenyboy.furnmod.init; import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; import net.minecraftforge.registries.ObjectHolder; @Mod.EventBusSubscriber(modid = "furnmod", bus = Bus.MOD) @ObjectHolder("furnmod") public class BlockInit { public static final Block table = null; @SubscribeEvent public static void registerBlock(final RegistryEvent.Register<Block> event) { event.getRegistry().register(new Block(Block.Properties.create(Material.IRON).sound(SoundType.STONE)).setRegistryName("furnmod", "table")); } @SubscribeEvent public static void registerBlockItems(final RegistryEvent.Register<Item> event) { event.getRegistry().register(new BlockItem(table, new Item.Properties().maxStackSize(64).group(ItemGroup.BUILDING_BLOCKS)).setRegistryName("table")); } public static class TableBlock { } } Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 No! just as i said make different packages for classes like this Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 Oh also why would you make it static?! anyway if you created your class in a different package extend the class to Block Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 (edited) Anyway you clearly don't know how to program so what i really recommend is that you should learn java before doing any modding because this way you not gonna get anywhere in the mean time i made the class for you make sure you change the package path to your the first line after package delete the quotes and YOUR PACKAGE then type in your own path package "YOUR PACKAGE"; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.util.math.shapes.VoxelShapes; import net.minecraft.world.IBlockReader; public class BRUUUHTableBlock extends Block { public BRUUUHTableBlock(Properties properties) { super(properties); } private static final VoxelShape PLATE = Block.makeCuboidShape(0.0D, 15.0D, 0.0D, 16.0D, 16.0D, 16.0D); private static final VoxelShape LEG = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 1.0D, 16.0D, 1.0D); private static final VoxelShape LEG_1 = Block.makeCuboidShape(15.0D, 0.0D, 15.0D, 16.0D, 16.0D, 16.0D); private static final VoxelShape LEG_2 = Block.makeCuboidShape(0.0D, 0.0D, 15.0D, 1.0D, 16.0D, 16.0D); private static final VoxelShape LEG_3 = Block.makeCuboidShape(15.0D, 0.0D, 0.0D, 16.0D, 16.0D, 1.0D); public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { return VoxelShapes.or(PLATE, LEG, LEG_1, LEG_2, LEG_3); } } Edited August 5, 2020 by Crazzy4999 Quote
MrGreenyboy Posted August 5, 2020 Author Posted August 5, 2020 Just now, Crazzy4999 said: Anyway you clearly don't know how to program so what i really recommend is that you should learn java before doing any modding because this way you not gonna get anywhere in the mean time i made the class for you make sure you change the package path to your package "YOUR PACKAGE"; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.util.math.shapes.VoxelShapes; import net.minecraft.world.IBlockReader; public class BRUUUHTableBlock extends Block { public BRUUUHTableBlock(Properties properties) { super(properties); } private static final VoxelShape PLATE = Block.makeCuboidShape(0.0D, 15.0D, 0.0D, 16.0D, 16.0D, 16.0D); private static final VoxelShape LEG = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 1.0D, 16.0D, 1.0D); private static final VoxelShape LEG_1 = Block.makeCuboidShape(15.0D, 0.0D, 15.0D, 16.0D, 16.0D, 16.0D); private static final VoxelShape LEG_2 = Block.makeCuboidShape(0.0D, 0.0D, 15.0D, 1.0D, 16.0D, 16.0D); private static final VoxelShape LEG_3 = Block.makeCuboidShape(15.0D, 0.0D, 0.0D, 16.0D, 16.0D, 1.0D); public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { return VoxelShapes.or(PLATE, LEG, LEG_1, LEG_2, LEG_3); } } Ok Quote
Crazzy4999 Posted August 5, 2020 Posted August 5, 2020 Just now, MrGreenyboy said: Ok I edited my comment so read it again pls its about the package path Quote
Recommended Posts
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.