introduction of signs (does not work)

This commit is contained in:
Justin Parsell 2021-03-21 00:56:02 -04:00
parent 50bf478a46
commit 88cfeaf807
8 changed files with 63 additions and 4 deletions

View File

@ -14,11 +14,19 @@ import net.minecraft.block.FenceGateBlock;
import net.minecraft.block.LeavesBlock; import net.minecraft.block.LeavesBlock;
import net.minecraft.block.PillarBlock; import net.minecraft.block.PillarBlock;
import net.minecraft.block.PressurePlateBlock; import net.minecraft.block.PressurePlateBlock;
import net.minecraft.block.SignBlock;
import net.minecraft.block.SlabBlock; import net.minecraft.block.SlabBlock;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.block.entity.SignBlockEntity;
import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.RenderLayer;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import net.minecraft.util.SignType;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
import net.parsell.cherry.common.blocks.*; import net.parsell.cherry.common.blocks.CherryButtonBlock;
import net.parsell.cherry.common.blocks.CherryDoorBlock;
import net.parsell.cherry.common.blocks.CherryPressurePlate;
import net.parsell.cherry.common.blocks.CherryStairsBlock;
import net.parsell.cherry.common.blocks.CherryTrapdoorBlock;
import net.parsell.cherry.mixin.AxeItemAccessor; import net.parsell.cherry.mixin.AxeItemAccessor;
public class CherryBlocks { public class CherryBlocks {
@ -31,13 +39,14 @@ public class CherryBlocks {
public static final Block CHERRYLEAVES = registerLeaves("cherry_leaves", FabricBlockSettings.copyOf(Blocks.OAK_LEAVES), 30, 60, 6649929); public static final Block CHERRYLEAVES = registerLeaves("cherry_leaves", FabricBlockSettings.copyOf(Blocks.OAK_LEAVES), 30, 60, 6649929);
public static final Block CHERRYPLANKS = registerBlock("cherry_planks", FabricBlockSettings.copyOf(Blocks.OAK_PLANKS), 5, 20); public static final Block CHERRYPLANKS = registerBlock("cherry_planks", FabricBlockSettings.copyOf(Blocks.OAK_PLANKS), 5, 20);
public static final Block CHERRYFENCE = registerFence("cherry_fence", FabricBlockSettings.copyOf(Blocks.OAK_FENCE), 5, 20); // TODO: tags (as required) public static final Block CHERRYFENCE = registerFence("cherry_fence", FabricBlockSettings.copyOf(Blocks.OAK_FENCE), 5, 20); // TODO: tags (as required)
public static final Block CHERRYFENCEGATE = registerFenceGate("cherry_fence_gate", FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE), 5, 20); // recipe, loot_tables, tags (as required) public static final Block CHERRYFENCEGATE = registerFenceGate("cherry_fence_gate", FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE), 5, 20); // TODO: recipe, loot_tables, tags (as required)
public static final Block CHERRYDOOR = registerDoor("cherry_door", FabricBlockSettings.copyOf(Blocks.OAK_DOOR), 5, 20); // TODO: recipe, loot_tables, tags (as required) public static final Block CHERRYDOOR = registerDoor("cherry_door", FabricBlockSettings.copyOf(Blocks.OAK_DOOR), 5, 20); // TODO: recipe, loot_tables, tags (as required)
public static final Block CHERRYTRAPDOOR = registerTrapDoor("cherry_trapdoor", FabricBlockSettings.copyOf(Blocks.OAK_TRAPDOOR), 5, 20); //TODO: recipe, loot_tables, tags (as required) public static final Block CHERRYTRAPDOOR = registerTrapDoor("cherry_trapdoor", FabricBlockSettings.copyOf(Blocks.OAK_TRAPDOOR), 5, 20); //TODO: recipe, loot_tables, tags (as required)
public static final Block CHERRYSLAB = registerSlab("cherry_slab", FabricBlockSettings.copyOf(Blocks.OAK_SLAB), 5, 20); // TODO: recipe, loot tables, tags (as required) public static final Block CHERRYSLAB = registerSlab("cherry_slab", FabricBlockSettings.copyOf(Blocks.OAK_SLAB), 5, 20); // TODO: recipe, loot tables, tags (as required)
public static final Block CHERRYSTAIRS = registerStair("cherry_stairs", CHERRYPLANKS.getDefaultState(), FabricBlockSettings.copyOf(Blocks.OAK_STAIRS), 5, 20); //TODO: recipe, loot tables, tags (as required) public static final Block CHERRYSTAIRS = registerStair("cherry_stairs", CHERRYPLANKS.getDefaultState(), FabricBlockSettings.copyOf(Blocks.OAK_STAIRS), 5, 20); //TODO: recipe, loot tables, tags (as required)
public static final Block CHERRYBUTTON = registerButton("cherry_button", FabricBlockSettings.copyOf(Blocks.OAK_BUTTON), 5, 20); public static final Block CHERRYBUTTON = registerButton("cherry_button", FabricBlockSettings.copyOf(Blocks.OAK_BUTTON), 5, 20); //TODO: recipe, loot tables, tags (as required)
public static final Block CHERRYPRESSUREPLATE = registerPressurePlate("cherry_pressure_plate", PressurePlateBlock.ActivationRule.EVERYTHING, FabricBlockSettings.copyOf(Blocks.OAK_PRESSURE_PLATE), 5, 20); public static final Block CHERRYPRESSUREPLATE = registerPressurePlate("cherry_pressure_plate", PressurePlateBlock.ActivationRule.EVERYTHING, FabricBlockSettings.copyOf(Blocks.OAK_PRESSURE_PLATE), 5, 20); //TODO: recipe, loot tables, tags (as required)
public static final Block CHERRYSIGN = registerSign("cherry_sign", SignType.OAK, FabricBlockSettings.copyOf(Blocks.OAK_SIGN), 5, 20); // TODO: recipe, loot tables
private static Block registerBlock(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) { private static Block registerBlock(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
Block block = new Block(settings); Block block = new Block(settings);
@ -74,6 +83,14 @@ public class CherryBlocks {
return block; return block;
} }
private static Block registerSign(String blockID, SignType type, FabricBlockSettings settings, int burnChance, int burnSpread) {
Block block = new SignBlock(settings, type);
Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block);
Registry.register(Registry.BLOCK_ENTITY_TYPE, new Identifier("cherry", blockID), BlockEntityType.Builder.create(SignBlockEntity::new, block).build(null));
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
return block;
}
private static Block registerFence(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) { private static Block registerFence(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
Block block = new FenceBlock(settings); Block block = new FenceBlock(settings);
Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block); Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block);

View File

@ -5,6 +5,7 @@ import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemGroup;
import net.minecraft.item.SignItem;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
@ -24,6 +25,7 @@ public class CherryItems {
registerBlockItem("cherry_stairs", CherryBlocks.CHERRYSTAIRS, ItemGroup.BUILDING_BLOCKS); registerBlockItem("cherry_stairs", CherryBlocks.CHERRYSTAIRS, ItemGroup.BUILDING_BLOCKS);
registerBlockItem("cherry_button", CherryBlocks.CHERRYBUTTON, ItemGroup.BUILDING_BLOCKS); registerBlockItem("cherry_button", CherryBlocks.CHERRYBUTTON, ItemGroup.BUILDING_BLOCKS);
registerBlockItem("cherry_pressure_plate", CherryBlocks.CHERRYPRESSUREPLATE, ItemGroup.BUILDING_BLOCKS); registerBlockItem("cherry_pressure_plate", CherryBlocks.CHERRYPRESSUREPLATE, ItemGroup.BUILDING_BLOCKS);
registerSignItem("cherry_sign", CherryBlocks.CHERRYSIGN, CherryBlocks.CHERRYSIGN, ItemGroup.BUILDING_BLOCKS);
} }
// Register a standard blockItem // Register a standard blockItem
@ -41,6 +43,10 @@ public class CherryItems {
); );
} }
private static void registerSignItem(String itemID, Block standingBlock, Block wallBlock, ItemGroup group) {
Registry.register(Registry.ITEM, new Identifier("cherry", itemID), new SignItem(new FabricItemSettings().group(group), standingBlock, wallBlock));
}
public static void init(){ public static void init(){
registerBlockItems(); registerBlockItems();
} }

View File

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cherry:block/cherry_sign"
}
}
}

View File

@ -0,0 +1,5 @@
{
"textures": {
"particle": "cherry:block/cherry_planks"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "cherry:item/cherry_sign"
}
}

View File

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"cherry:cherry_sign"
]
}

View File

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"cherry:cherry_sign"
]
}

View File

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"cherry:cherry_sign"
]
}