Преглед на файлове

标准化命名为 NetheriteAnvilBlock

LTCatt преди 5 години
родител
ревизия
2cad3e8d86

+ 14 - 17
src/main/java/com/hexdragon/blacksmithre/block/anvil/NetheriteAnvil.java → src/main/java/com/hexdragon/blacksmithre/block/anvil/NetheriteAnvilBlock.java

@@ -20,34 +20,31 @@ import net.minecraft.world.IBlockReader;
 import net.minecraft.world.World;
 import net.minecraftforge.common.ToolType;
 
-public class NetheriteAnvil extends AnvilBlock {
+public class NetheriteAnvilBlock extends AnvilBlock {
+
+    // 设置方块属性
+    public NetheriteAnvilBlock() {
+        super(AbstractBlock.Properties.create(Material.ANVIL, MaterialColor.IRON).setRequiresTool().hardnessAndResistance(50F, 1200.0F).harvestTool(ToolType.PICKAXE).harvestLevel(3).sound(SoundType.ANVIL));
+        this.setDefaultState(this.stateContainer.getBaseState().with(FACING, Direction.NORTH).with(RegMain.blockStateMaterial, 1));
+    }
+
+    // 设置其对应的物品
+    public static class NetheriteAnvilItem extends BlockItem {
+        public NetheriteAnvilItem(Block blockIn) {super(blockIn, new Item.Properties().group(ItemGroup.DECORATIONS));}
+    }
+
+    // 设置碰撞箱
     public static final DirectionProperty FACING = HorizontalBlock.HORIZONTAL_FACING;
     private static final VoxelShape PART_BASE = Block.makeCuboidShape(3.0D, 0.0D, 3.0D, 13.0D, 3.0D, 13.0D);
     private static final VoxelShape PART_LOWER = Block.makeCuboidShape(4.0D, 3.0D, 4.0D, 12.0D, 5.0D, 12.0D);
-
     private static final VoxelShape PART_MID_X = Block.makeCuboidShape(5.0D, 5.0D, 6.0D, 11.0D, 9.0D, 10.0D);
     private static final VoxelShape PART_UPPER_X = Block.makeCuboidShape(3.0D, 9.0D, 5.0D, 13.0D, 10.0D, 11.0D);
     private static final VoxelShape PART_TOP_X = Block.makeCuboidShape(0.0D, 10.0D, 3.0D, 16.0D, 15.0D, 13.0D);
-
     private static final VoxelShape PART_MID_Z = Block.makeCuboidShape(6.0D, 5.0D, 5.0D, 10.0D, 9.0D, 11.0D);
     private static final VoxelShape PART_UPPER_Z = Block.makeCuboidShape(5.0D, 9.0D, 3.0D, 11.0D, 10.0D, 13.0D);
     private static final VoxelShape PART_TOP_Z = Block.makeCuboidShape(3.0D, 10.0D, 0.0D, 13.0D, 15.0D, 16.0D);
-
     private static final VoxelShape X_AXIS_AABB = VoxelShapes.or(PART_BASE, PART_LOWER, PART_MID_X, PART_UPPER_X, PART_TOP_X);
     private static final VoxelShape Z_AXIS_AABB = VoxelShapes.or(PART_BASE, PART_LOWER, PART_MID_Z, PART_UPPER_Z, PART_TOP_Z);
-
-    public NetheriteAnvil() {
-        super(AbstractBlock.Properties.create(Material.ANVIL, MaterialColor.IRON).setRequiresTool().hardnessAndResistance(50F, 1200.0F).harvestTool(ToolType.PICKAXE).harvestLevel(3).sound(SoundType.ANVIL));
-        this.setDefaultState(this.stateContainer.getBaseState().with(FACING, Direction.NORTH).with(RegMain.blockStateMaterial, 1));
-    }
-
-    public static class NetheriteAnvilItem extends BlockItem {
-        public NetheriteAnvilItem(Block blockIn) {
-            super(blockIn, new Item.Properties().group(ItemGroup.DECORATIONS));
-        }
-    }
-
-    //设置碰撞箱
     public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
         Direction direction = state.get(FACING);
         return direction.getAxis() == Direction.Axis.X ? X_AXIS_AABB : Z_AXIS_AABB;

+ 1 - 0
src/main/java/com/hexdragon/blacksmithre/mixin/block/AnvilBlockMixin.java

@@ -114,5 +114,6 @@ public abstract class AnvilBlockMixin extends FallingBlock implements IForgeBloc
 
     // TODO : <验证> 多个玩家同时打开物品栏是否有刷物品 Bug 的可能?
     // TODO : [010] 绘制下界合金砧的材质(也可以修改原版铁砧的材质以让它有更大的区分度?)
+    // TODO : [010] 开裂的下界合金砧等依然使用的原本模型
 
 }

+ 7 - 7
src/main/java/com/hexdragon/blacksmithre/registry/RegMain.java

@@ -3,7 +3,7 @@ package com.hexdragon.blacksmithre.registry;
 import com.hexdragon.blacksmithre.Main;
 import com.hexdragon.blacksmithre.block.anvil.AnvilContainerRe;
 import com.hexdragon.blacksmithre.block.anvil.AnvilTileEntity;
-import com.hexdragon.blacksmithre.block.anvil.NetheriteAnvil;
+import com.hexdragon.blacksmithre.block.anvil.NetheriteAnvilBlock;
 import com.hexdragon.blacksmithre.block.grindstone.GrindstoneContainerRe;
 import com.hexdragon.blacksmithre.enchantment.DecayCurseEnchantment;
 import com.hexdragon.blacksmithre.item.name_tag.NameTagRenameRecipe;
@@ -27,15 +27,15 @@ public class RegMain {
 
     // 方块
     public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, Main.MODID);
-    public static final RegistryObject<Block> blockPerfectNetheriteAnvil = BLOCKS.register("netherite_anvil", NetheriteAnvil::new);
-    public static final RegistryObject<Block> blockChippedNetheriteAnvil = BLOCKS.register("chipped_netherite_anvil", NetheriteAnvil::new);
-    public static final RegistryObject<Block> blockDamagedNetheriteAnvil = BLOCKS.register("damaged_netherite_anvil", NetheriteAnvil::new);
+    public static final RegistryObject<Block> blockPerfectNetheriteAnvil = BLOCKS.register("netherite_anvil", NetheriteAnvilBlock::new);
+    public static final RegistryObject<Block> blockChippedNetheriteAnvil = BLOCKS.register("chipped_netherite_anvil", NetheriteAnvilBlock::new);
+    public static final RegistryObject<Block> blockDamagedNetheriteAnvil = BLOCKS.register("damaged_netherite_anvil", NetheriteAnvilBlock::new);
 
     // 物品
     public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Main.MODID);
-    public static final RegistryObject<Item> itemPerfectNetheriteAnvil = ITEMS.register("netherite_anvil", () -> new NetheriteAnvil.NetheriteAnvilItem(blockPerfectNetheriteAnvil.get()));
-    public static final RegistryObject<Item> itemChippedNetheriteAnvil = ITEMS.register("chipped_netherite_anvil", () -> new NetheriteAnvil.NetheriteAnvilItem(blockChippedNetheriteAnvil.get()));
-    public static final RegistryObject<Item> itemDamagedNetheriteAnvil = ITEMS.register("damaged_netherite_anvil", () -> new NetheriteAnvil.NetheriteAnvilItem(blockDamagedNetheriteAnvil.get()));
+    public static final RegistryObject<Item> itemPerfectNetheriteAnvil = ITEMS.register("netherite_anvil", () -> new NetheriteAnvilBlock.NetheriteAnvilItem(blockPerfectNetheriteAnvil.get()));
+    public static final RegistryObject<Item> itemChippedNetheriteAnvil = ITEMS.register("chipped_netherite_anvil", () -> new NetheriteAnvilBlock.NetheriteAnvilItem(blockChippedNetheriteAnvil.get()));
+    public static final RegistryObject<Item> itemDamagedNetheriteAnvil = ITEMS.register("damaged_netherite_anvil", () -> new NetheriteAnvilBlock.NetheriteAnvilItem(blockDamagedNetheriteAnvil.get()));
 
     // Container
     public static final DeferredRegister<ContainerType<?>> CONTAINERS = DeferredRegister.create(ForgeRegistries.CONTAINERS, Main.MODID);