major mod registries code refactor

This commit is contained in:
J-onasJones 2024-10-07 02:06:56 +02:00
parent 840ee534a1
commit 76fa00ec8c
10 changed files with 231 additions and 195 deletions

View file

@ -0,0 +1,111 @@
package me.jonasjones.nec.registry;
import me.jonasjones.nec.block.EvenThickerEndRodBlock;
import me.jonasjones.nec.block.RodBlock;
import me.jonasjones.nec.block.ThickEndRodBlock;
import me.jonasjones.nec.block.ThickerEndRodBlock;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.*;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import java.util.HashMap;
import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID;
import static net.minecraft.registry.Registries.BLOCK;
import static net.minecraft.registry.Registries.ITEM;
public class ModBlocks {
public static BlockWithItem GREEN_BIRCH_LOG;
public static BlockWithItem BLAZE_BLOCK;
public static BlockWithItem GUN_BLOCK;
public static BlockWithItem DIAMOND_ORE_ORE;
public static BlockWithItem DEEPSLATE_DIAMOND_ORE_ORE;
public static BlockWithItem JAVA_BLOCK;
public static BlockWithItem POCKET_BLOCK;
public static BlockWithItem FLETCHING_STAIRS_BLOCK;
public static BlockWithItem THICK_END_ROD;
public static BlockWithItem THICKER_END_ROD;
public static BlockWithItem EVEN_THICKER_END_ROD;
public static BlockWithItem END_ROD_BLOCK;
public static class BlockWithItem {
public final Block block;
public final BlockItem blockItem;
public BlockWithItem(Block block, BlockItem blockItem) {
this.block = block;
this.blockItem = blockItem;
}
}
public static void register() {
BLAZE_BLOCK = registerBlock(
"blaze_block",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F))
);
GREEN_BIRCH_LOG = registerBlock(
"green_birch_log",
new PillarBlock(FabricBlockSettings.copyOf(Blocks.BIRCH_LOG).strength(4.0f))
);
GUN_BLOCK = registerBlock(
"gun_block",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F))
);
DIAMOND_ORE_ORE = registerBlock(
"diamond_ore_ore",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_ORE).strength(5.0F))
);
DEEPSLATE_DIAMOND_ORE_ORE = registerBlock(
"deepslate_diamond_ore_ore",
new Block(FabricBlockSettings.copyOf(Blocks.DEEPSLATE_DIAMOND_ORE).strength(5.0F))
);
JAVA_BLOCK = registerBlock(
"java_block",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F))
);
POCKET_BLOCK = registerBlock(
"pocket_block",
new Block(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).strength(5.0F))
);
FLETCHING_STAIRS_BLOCK = registerBlock(
"fletching_stairs",
new StairsBlock(GREEN_BIRCH_LOG.block.getDefaultState(), FabricBlockSettings.copyOf(Blocks.OAK_STAIRS).strength(1.0F))
);
THICK_END_ROD = registerBlock(
"thick_end_rod",
new ThickEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F))
);
THICKER_END_ROD = registerBlock(
"thicker_end_rod",
new ThickerEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F))
);
EVEN_THICKER_END_ROD = registerBlock(
"even_thicker_end_rod",
new EvenThickerEndRodBlock(FabricBlockSettings.copyOf(Blocks.END_ROD).strength(0.0F))
);
END_ROD_BLOCK = registerBlock(
public static BlockWithItem registerBlock(String name, Block block) {
Identifier id = Identifier.of(MOD_ID, name);
Block registeredBlock = Registry.register(BLOCK, id, block);
BlockItem registeredItem = Registry.register(ITEM, id, new BlockItem(block, new Item.Settings()));
return new BlockWithItem(registeredBlock, registeredItem); // Return both the block and block item
}
}