Jump to content

Recommended Posts

Posted

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

}

 

Posted

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)

  • Confused 1
Posted (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 by poopoodice
Posted
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

Posted

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

  • Confused 1
Posted (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 by MrGreenyboy
Posted

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

Posted
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

 

Posted

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

Posted
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 {
        
    }

}

 

Posted (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 by Crazzy4999
Posted
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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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