Posted January 6, 20205 yr my custom model block kinda xrays. how do i fix this, apparently i need to override something? What is it
January 6, 20205 yr Override Block#isOpaqueCube and return false. Some tips: Spoiler Modder Support: Spoiler 1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code. 2. Always post your code. 3. Never copy and paste code. You won't learn anything from doing that. 4. Quote Programming via Eclipse's hotfixes will get you nowhere 5. Learn to use your IDE, especially the debugger. 6. Quote The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it. Support & Bug Reports: Spoiler 1. Read the EAQ before asking for help. Remember to provide the appropriate log(s). 2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.
January 6, 20205 yr Author 16 minutes ago, DavidM said: Override Block#isOpaqueCube and return false. isOpaqueCube doesnt seem to override, im in 1.15.1 if that helps?
January 6, 20205 yr Author 2 minutes ago, diesieben07 said: Then you did something wrong. The method exists. Use your IDE to override. This is my code for the block public class JuiceMixer extends Block { public JuiceMixer( ) { super(Properties.create(Material.IRON).sound(SoundType.METAL).hardnessAndResistance(3.0F,3.0F).lightValue(2)); setRegistryName("juicemixer"); } } i tried adding @Override public boolean isOpaqueCube(){ return false; } and it said Method does not override method from its superclass, i also tried using Control + O in intellij then searching for it and i couldnt find it. Please let me know if im doing something wrong
January 6, 20205 yr Author 2 minutes ago, diesieben07 said: Ah right, that method is final now. You need to override getRenderShape and return the proper shape for your block. How would i get a proper shape for my block? Never done this before
January 6, 20205 yr Author 19 minutes ago, diesieben07 said: Look at how vanilla blocks create their VoxelShapes. Ok cool, how do i make it so the floor is transparent? I got the model right, but the floor is transparetn
January 6, 20205 yr Author 1 minute ago, diesieben07 said: Please clarify what you are talking about. Show your code. public class JuiceMixer extends Block { protected static final VoxelShape SHAPE = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 7.0D, 16.0D); public JuiceMixer( ) { super(Properties.create(Material.IRON).sound(SoundType.METAL).hardnessAndResistance(3.0F,3.0F).lightValue(2)); setRegistryName("juicemixer"); } public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { return SHAPE; } @Override public VoxelShape getRenderShape(BlockState state, IBlockReader reader, BlockPos pos) { return SHAPE; } }
January 6, 20205 yr Author 1 minute ago, diesieben07 said: Well, your shape says that your block covers the ground completely (0 through 16 in both x and z direction). If that really were the case, the ground below it wouldn't need to be rendered. You need to provide an accurate shape for Minecraft to render your block properly. So i cant have the hitbox like that? Thats how i want it
January 6, 20205 yr Author 7 minutes ago, diesieben07 said: The hitbox (collision) is determined by Block#getCollisionShape. It is separate from the render shape (Block#getRenderShape) and you can return different values for the two. Whats the easiest way to create aa voxel shape for my model? I have the model as an obj or json
January 6, 20205 yr Author 11 minutes ago, diesieben07 said: Approximate it using cubes. Look at fences for example. Whats are the paramaters for a voxelshape? Sorry im shit at reading docs @ stuff
January 6, 20205 yr Author Just now, diesieben07 said: Have you looked at vanilla? You already did this in the code you posted... yea ik, but i just made up random parameters
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.