register new block

This commit is contained in:
Jonas_Jones 2023-04-16 16:43:05 +02:00
parent ea00069820
commit 80df4308b8
2 changed files with 49 additions and 0 deletions

View file

@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.RotatedPillarBlock;
import net.minecraft.world.level.block.CraftingTableBlock;
import net.minecraft.world.level.material.Material;
import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID;
@ -22,6 +23,7 @@ public class ModBlocks {
public static final Block DEEPSLATE_DIAMOND_ORE_ORE = new Block(FabricBlockSettings.of(Material.STONE).strength(4.0F));
public static final Block JAVA_BLOCK = new Block(FabricBlockSettings.of(Material.STONE).strength(5.0F));
public static final Block POCKET_BLOCK = new Block(FabricBlockSettings.of(Material.STONE).strength(5.0F));
public static final RecaptchaTableBlock RECAPTCHA_TABLE_BLOCK = new RecaptchaTableBlock(FabricBlockSettings.of(Material.WOOD).strength(1.0f));
private static BlockItem GUN_BLOCK_ITEM;
private static Block GUN_BLOCK_BLOCK;
private static BlockItem BLAZE_BLOCK_ITEM;
@ -36,6 +38,8 @@ public class ModBlocks {
public static Block JAVA_BLOCK_BLOCK;
public static BlockItem POCKET_BLOCK_ITEM;
public static Block POCKET_BLOCK_BLOCK;
public static BlockItem RECAPTCHA_TABLE_ITEM;
public static RecaptchaTableBlock RECAPTCHA_TABLE_BLOCK_BLOCK;
//public static final Block GREEN_BIRCH_WOOD = new PillarBlock(FabricBlockSettings.of(Material.WOOD).strength(4.0f));
//public static final Block STRIPPED_GREEN_BIRCH_LOG = new PillarBlock(FabricBlockSettings.of(Material.WOOD).strength(4.0f));
//public static final Block STRIPPED_GREEN_BIRCH_WOOD = new PillarBlock(FabricBlockSettings.of(Material.WOOD).strength(4.0f));
@ -68,5 +72,9 @@ public class ModBlocks {
POCKET_BLOCK_BLOCK = Registry.register(BLOCK, new ResourceLocation(MOD_ID, "pocket_block"), POCKET_BLOCK);
POCKET_BLOCK_ITEM = Registry.register(ITEM, new ResourceLocation(MOD_ID, "pocket_block"), new BlockItem(POCKET_BLOCK, new FabricItemSettings()));
ModRegistries.register_item(POCKET_BLOCK_ITEM);
RECAPTCHA_TABLE_BLOCK_BLOCK = Registry.register(BLOCK, new ResourceLocation(MOD_ID, "recaptcha_table"), RECAPTCHA_TABLE_BLOCK);
RECAPTCHA_TABLE_ITEM = Registry.register(ITEM, new ResourceLocation(MOD_ID, "recaptcha_table"), new BlockItem(RECAPTCHA_TABLE_BLOCK, new FabricItemSettings()));
ModRegistries.register_item(RECAPTCHA_TABLE_ITEM);
}
}

View file

@ -0,0 +1,41 @@
package me.jonasjones.nec.block;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.stats.Stats;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.SimpleMenuProvider;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.ContainerLevelAccess;
import net.minecraft.world.inventory.CraftingMenu;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
public class RecaptchaTableBlock extends Block {
private static final Component CONTAINER_TITLE = Component.translatable("container.crafting");
public RecaptchaTableBlock(BlockBehaviour.Properties properties) {
super(properties);
}
public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) {
if (level.isClientSide) {
return InteractionResult.SUCCESS;
} else {
player.openMenu(blockState.getMenuProvider(level, blockPos));
player.awardStat(Stats.INTERACT_WITH_CRAFTING_TABLE);
return InteractionResult.CONSUME;
}
}
public MenuProvider getMenuProvider(BlockState blockState, Level level, BlockPos blockPos) {
return new SimpleMenuProvider((i, inventory, player) -> {
return new CraftingMenu(i, inventory, ContainerLevelAccess.create(level, blockPos));
}, CONTAINER_TITLE);
}
}