Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

I can see through the world like in spectator mode

Featured Replies

Set the render type of the block in your client setup using

RenderTypeLookup.setRenderLayer(block, rendertype);

Edited by poopoodice

  • Author

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"));
    }

}

 

  • Author

What is the render type again i need to add it in replacement for your render type code

Edited by MrGreenyboy

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)

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 by poopoodice

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

  • Author
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

In your registries 😞 like this event.getRegistry().register(new TableBRUUUHBlock(Block.Properties.create(Material.IRON).sound(SoundType.STONE)).setRegistryName("furnmod", "table"));

  • Author
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 by MrGreenyboy

  • Author
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

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

  • Author
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

 

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

  • Author
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 {
        
    }

}

 

Oh also why would you make it static?! anyway if you created your class in a different package extend the class to Block

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 by Crazzy4999

  • Author
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

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.