Compare commits
20 Commits
33ffbd765f
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 575ea6ed40 | |||
| 3a1a707eff | |||
| 2ce52a4861 | |||
| 16b59becf5 | |||
| 88cfeaf807 | |||
| 50bf478a46 | |||
| 392a5e588d | |||
| 75ffe5fad7 | |||
| 4bf3a96749 | |||
| 83fa41f982 | |||
| c5ffcaeeda | |||
| 55cde42e32 | |||
| 490ca48c80 | |||
| daf7b7c836 | |||
| 9feddf72c2 | |||
| 832b9cb1aa | |||
| aa0b3f0f02 | |||
| 5d5a65ff01 | |||
| b154b5b9b6 | |||
| 4b19f64b65 |
@@ -4,8 +4,10 @@ import net.fabricmc.api.ModInitializer;
|
|||||||
import net.parsell.cherry.core.CherryBlocks;
|
import net.parsell.cherry.core.CherryBlocks;
|
||||||
import net.parsell.cherry.core.CherryFeatures;
|
import net.parsell.cherry.core.CherryFeatures;
|
||||||
import net.parsell.cherry.core.CherryItems;
|
import net.parsell.cherry.core.CherryItems;
|
||||||
|
import net.parsell.cherry.core.CherryRegistry;
|
||||||
|
|
||||||
public class Cherry implements ModInitializer {
|
public class Cherry implements ModInitializer {
|
||||||
|
public static final String MODID = "cherry";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
@@ -14,8 +16,13 @@ public class Cherry implements ModInitializer {
|
|||||||
// Proceed with mild caution.
|
// Proceed with mild caution.
|
||||||
|
|
||||||
System.out.println("Cherry Initilizating...");
|
System.out.println("Cherry Initilizating...");
|
||||||
|
CherryRegistry.init();
|
||||||
|
|
||||||
CherryBlocks.init();
|
CherryBlocks.init();
|
||||||
CherryItems.init();
|
CherryItems.init();
|
||||||
CherryFeatures.init();
|
CherryFeatures.init();
|
||||||
|
|
||||||
|
CherryRegistry.finish();
|
||||||
|
System.out.println("Cherry setup successfully!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package net.parsell.cherry;
|
||||||
|
|
||||||
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
|
import net.fabricmc.fabric.api.client.rendereregistry.v1.BlockEntityRendererRegistry;
|
||||||
|
import net.minecraft.client.render.block.entity.SignBlockEntityRenderer;
|
||||||
|
import net.parsell.cherry.core.CherryBlocks;
|
||||||
|
|
||||||
|
public class CherryClient implements ClientModInitializer {
|
||||||
|
@Override
|
||||||
|
public void onInitializeClient(){
|
||||||
|
System.out.println("Cherry Client Initilizating...");
|
||||||
|
BlockEntityRendererRegistry.INSTANCE.register(CherryBlocks.CHERRYSIGN_ENTITY, SignBlockEntityRenderer::new);
|
||||||
|
System.out.println("Sign entity registered without error");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package net.parsell.cherry.common.blocks;
|
||||||
|
|
||||||
|
import net.minecraft.block.AbstractBlock;
|
||||||
|
import net.minecraft.block.WoodenButtonBlock;
|
||||||
|
|
||||||
|
public class CherryButtonBlock extends WoodenButtonBlock {
|
||||||
|
public CherryButtonBlock(AbstractBlock.Settings settings) {
|
||||||
|
super(settings);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,8 +6,8 @@ import net.minecraft.block.enums.DoorHinge;
|
|||||||
import net.minecraft.block.enums.DoubleBlockHalf;
|
import net.minecraft.block.enums.DoubleBlockHalf;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
|
|
||||||
public class CherryDoor extends DoorBlock{
|
public class CherryDoorBlock extends DoorBlock{
|
||||||
public CherryDoor(Settings settings) {
|
public CherryDoorBlock(Settings settings) {
|
||||||
super(settings);
|
super(settings);
|
||||||
this.setDefaultState((BlockState)((BlockState)((BlockState)((BlockState)((BlockState)((BlockState)this.stateManager.getDefaultState()).with(FACING, Direction.NORTH)).with(OPEN, false)).with(HINGE, DoorHinge.LEFT)).with(POWERED, false)).with(HALF, DoubleBlockHalf.LOWER));
|
this.setDefaultState((BlockState)((BlockState)((BlockState)((BlockState)((BlockState)((BlockState)this.stateManager.getDefaultState()).with(FACING, Direction.NORTH)).with(OPEN, false)).with(HINGE, DoorHinge.LEFT)).with(POWERED, false)).with(HALF, DoubleBlockHalf.LOWER));
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package net.parsell.cherry.common.blocks;
|
||||||
|
|
||||||
|
import net.minecraft.block.AbstractBlock;
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.block.PressurePlateBlock;
|
||||||
|
|
||||||
|
public class CherryPressurePlate extends PressurePlateBlock{
|
||||||
|
public CherryPressurePlate(PressurePlateBlock.ActivationRule type, AbstractBlock.Settings settings){
|
||||||
|
super (type, settings);
|
||||||
|
this.setDefaultState((BlockState)((BlockState)this.stateManager.getDefaultState()).with(POWERED, false));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package net.parsell.cherry.common.blocks;
|
||||||
|
|
||||||
|
import net.minecraft.block.AbstractBlock;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.block.StairsBlock;
|
||||||
|
|
||||||
|
public class CherryStairsBlock extends StairsBlock{
|
||||||
|
private Block baseBlock;
|
||||||
|
|
||||||
|
public CherryStairsBlock(BlockState baseBlockState, AbstractBlock.Settings settings) {
|
||||||
|
super(baseBlockState, settings);
|
||||||
|
this.baseBlock = baseBlockState.getBlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package net.parsell.cherry.common.blocks;
|
||||||
|
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.block.TrapdoorBlock;
|
||||||
|
import net.minecraft.block.enums.BlockHalf;
|
||||||
|
import net.minecraft.util.math.Direction;
|
||||||
|
|
||||||
|
public class CherryTrapdoorBlock extends TrapdoorBlock{
|
||||||
|
|
||||||
|
public CherryTrapdoorBlock(Settings settings) {
|
||||||
|
super(settings);
|
||||||
|
this.setDefaultState((BlockState)((BlockState)((BlockState)((BlockState)((BlockState)((BlockState)this.stateManager.getDefaultState()).with(FACING, Direction.NORTH)).with(OPEN, false)).with(HALF, BlockHalf.BOTTOM)).with(POWERED, false)).with(WATERLOGGED, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
package net.parsell.cherry.common.features;
|
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.mojang.serialization.Codec;
|
|
||||||
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
|
||||||
import net.minecraft.util.math.Direction;
|
|
||||||
import net.minecraft.world.Heightmap;
|
|
||||||
import net.minecraft.world.StructureWorldAccess;
|
|
||||||
import net.minecraft.world.gen.chunk.ChunkGenerator;
|
|
||||||
import net.minecraft.world.gen.feature.DefaultFeatureConfig;
|
|
||||||
import net.minecraft.world.gen.feature.Feature;
|
|
||||||
import net.parsell.cherry.core.CherryBlocks;
|
|
||||||
|
|
||||||
public class CherryTree extends Feature<DefaultFeatureConfig> {
|
|
||||||
public CherryTree(Codec<DefaultFeatureConfig> config) {
|
|
||||||
super(config);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean generate(StructureWorldAccess world, ChunkGenerator generator, Random random, BlockPos pos, DefaultFeatureConfig config) {
|
|
||||||
BlockPos topPos = world.getTopPosition(Heightmap.Type.WORLD_SURFACE, pos);
|
|
||||||
Direction offset = Direction.NORTH;
|
|
||||||
/*
|
|
||||||
for (int y = 1; y <= 15; y++) {
|
|
||||||
offset = offset.rotateYClockwise();
|
|
||||||
world.setBlockState(topPos.up(y).offset(offset), CherryBlocks.CHERRYLOG.getDefaultState(), 3);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if (isSoil(world, topPos.down())){
|
|
||||||
System.out.println(pos.toString() + " is soil! (TOP)");
|
|
||||||
for (int y = 0; y <=7; y++)
|
|
||||||
world.setBlockState(topPos.up(y), CherryBlocks.CHERRYLOG.getDefaultState(), 3);
|
|
||||||
} else {
|
|
||||||
System.out.println(pos.toString() + " is not soil! (TOP)");
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,97 +1,140 @@
|
|||||||
package net.parsell.cherry.core;
|
package net.parsell.cherry.core;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap.Builder;
|
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
|
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.fabricmc.fabric.api.registry.FlammableBlockRegistry;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.block.FenceBlock;
|
import net.minecraft.block.FenceBlock;
|
||||||
import net.minecraft.block.FenceGateBlock;
|
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.client.render.RenderLayer;
|
import net.minecraft.block.PressurePlateBlock;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.block.SignBlock;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.block.SlabBlock;
|
||||||
import net.parsell.cherry.common.blocks.CherryDoor;
|
import net.minecraft.block.entity.BlockEntityType;
|
||||||
import net.parsell.cherry.mixin.AxeItemAccessor;
|
import net.minecraft.block.entity.SignBlockEntity;
|
||||||
|
import net.minecraft.util.SignType;
|
||||||
|
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;
|
||||||
|
|
||||||
public class CherryBlocks {
|
public class CherryBlocks {
|
||||||
private static Builder<Block, Block> STRIPPABLE_BLOCKS = new Builder<Block, Block>();
|
public static final Block CHERRYLOGSTRIPPED = createPillar("stripped_cherry_log", FabricBlockSettings.copyOf(Blocks.STRIPPED_OAK_LOG), 5, 5);
|
||||||
|
public static final Block CHERRYLOG = createPillar("cherry_log", FabricBlockSettings.copyOf(Blocks.OAK_LOG), 5, 5, CHERRYLOGSTRIPPED);
|
||||||
|
public static final Block CHERRYWOOD = createPillar("cherry_wood", FabricBlockSettings.copyOf(Blocks.OAK_WOOD), 5, 5);
|
||||||
|
public static final Block CHERRYWOODSTRIPPED = createPillar("stripped_cherry_wood", FabricBlockSettings.copyOf(Blocks.STRIPPED_OAK_WOOD), 5, 5);
|
||||||
|
public static final Block CHERRYLEAVES = createLeaves("cherry_leaves", FabricBlockSettings.copyOf(Blocks.OAK_LEAVES), 30, 60, 6649929);
|
||||||
|
public static final Block CHERRYPLANKS = createBlock("cherry_planks", FabricBlockSettings.copyOf(Blocks.OAK_PLANKS), 5, 20);
|
||||||
|
public static final Block CHERRYFENCE = createFence("cherry_fence", FabricBlockSettings.copyOf(Blocks.OAK_FENCE), 5, 20); // TODO: tags (as required)
|
||||||
|
public static final Block CHERRYFENCEGATE = createFenceGate("cherry_fence_gate", FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE), 5, 20); // TODO: recipe, loot_tables, tags (as required)
|
||||||
|
public static final Block CHERRYDOOR = createDoor("cherry_door", FabricBlockSettings.copyOf(Blocks.OAK_DOOR), 5, 20); // TODO: recipe, loot_tables, tags (as required)
|
||||||
|
public static final Block CHERRYTRAPDOOR = createTrapDoor("cherry_trapdoor", FabricBlockSettings.copyOf(Blocks.OAK_TRAPDOOR), 5, 20); //TODO: recipe, loot_tables, tags (as required)
|
||||||
|
public static final Block CHERRYSLAB = createSlab("cherry_slab", FabricBlockSettings.copyOf(Blocks.OAK_SLAB), 5, 20); // TODO: recipe, loot tables, tags (as required)
|
||||||
|
public static final Block CHERRYSTAIRS = createStair("cherry_stairs", CHERRYPLANKS.getDefaultState(), FabricBlockSettings.copyOf(Blocks.OAK_STAIRS), 5, 20); //TODO: recipe, loot tables, tags (as required)
|
||||||
|
public static final Block CHERRYBUTTON = createButton("cherry_button", FabricBlockSettings.copyOf(Blocks.OAK_BUTTON), 5, 20); //TODO: recipe, loot tables, tags (as required)
|
||||||
|
public static final Block CHERRYPRESSUREPLATE = createPressurePlate("cherry_pressure_plate", PressurePlateBlock.ActivationRule.EVERYTHING, FabricBlockSettings.copyOf(Blocks.OAK_PRESSURE_PLATE), 5, 20); //TODO: recipe, loot tables, tags (as required)
|
||||||
|
public static final SignType CHERRYSIGN_TYPE = CherryRegistry.register("cherry");
|
||||||
|
public static final Block CHERRYSIGN = createSign("cherry_sign", CHERRYSIGN_TYPE, FabricBlockSettings.copyOf(Blocks.OAK_SIGN), 5, 20); // TODO: recipe, loot tables
|
||||||
|
public static final BlockEntityType<SignBlockEntity> CHERRYSIGN_ENTITY = BlockEntityType.Builder.create(SignBlockEntity::new, CHERRYSIGN).build(null);
|
||||||
|
|
||||||
public static final Block CHERRYLOGSTRIPPED = registerPillar("stripped_cherry_log", FabricBlockSettings.copyOf(Blocks.STRIPPED_OAK_LOG), 5, 5);
|
private static Block createBlock(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
||||||
public static final Block CHERRYLOG = registerPillar("cherry_log", FabricBlockSettings.copyOf(Blocks.OAK_LOG), 5, 5, CHERRYLOGSTRIPPED);
|
|
||||||
public static final Block CHERRYWOOD = registerPillar("cherry_wood", FabricBlockSettings.copyOf(Blocks.OAK_WOOD), 5, 5);
|
|
||||||
public static final Block CHERRYWOODSTRIPPED = registerPillar("stripped_cherry_wood", FabricBlockSettings.copyOf(Blocks.STRIPPED_OAK_WOOD), 5, 5);
|
|
||||||
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 CHERRYFENCE = registerFence("cherry_fence", FabricBlockSettings.copyOf(Blocks.OAK_FENCE), 5, 20); // TODO: Textures, tags (as required)
|
|
||||||
public static final Block CHERRYFENCEGATE = registerFenceGate("cherry_fence_gate", FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE), 5, 20); // Textures, recipe, loot_tables, tags (as required)
|
|
||||||
public static final Block CHERRYDOOR = registerDoor("cherry_door", FabricBlockSettings.copyOf(Blocks.OAK_DOOR), 5, 20); // TODO: Textures, recipe, loot_tables, tags (as required)
|
|
||||||
|
|
||||||
private static Block registerBlock(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
|
||||||
Block block = new Block(settings);
|
Block block = new Block(settings);
|
||||||
Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block);
|
CherryRegistry.register(block, blockID);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block registerFence(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
private static Block createSlab(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
||||||
|
Block block = new SlabBlock(settings);
|
||||||
|
CherryRegistry.register(block, blockID);
|
||||||
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Block createStair(String blockID, BlockState baseBlockState, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
||||||
|
Block block = new CherryStairsBlock(baseBlockState, settings);
|
||||||
|
CherryRegistry.register(block, blockID);
|
||||||
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Block createButton(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
||||||
|
Block block = new CherryButtonBlock(settings);
|
||||||
|
CherryRegistry.register(block, blockID);
|
||||||
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Block createPressurePlate(String blockID, PressurePlateBlock.ActivationRule rule, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
||||||
|
Block block = new CherryPressurePlate(rule, settings);
|
||||||
|
CherryRegistry.register(block, blockID);
|
||||||
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Block createSign(String blockID, SignType type, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
||||||
|
Block block = new SignBlock(settings, type);
|
||||||
|
CherryRegistry.register(block, blockID);
|
||||||
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Block createFence(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);
|
CherryRegistry.register(block, blockID);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block registerFenceGate(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
private static Block createFenceGate(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) {
|
||||||
Block block = new FenceGateBlock(settings);
|
Block block = new FenceGateBlock(settings);
|
||||||
Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block);
|
CherryRegistry.register(block, blockID);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block registerPillar(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread){
|
private static Block createPillar(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread){
|
||||||
Block block = new PillarBlock(settings);
|
Block block = new PillarBlock(settings);
|
||||||
Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block);
|
CherryRegistry.register(block, blockID);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block registerPillar(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread, Block strippedVariant){
|
private static Block createPillar(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread, Block strippedVariant){
|
||||||
Block block = new PillarBlock(settings);
|
Block block = new PillarBlock(settings);
|
||||||
Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block);
|
CherryRegistry.register(block, blockID);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
STRIPPABLE_BLOCKS.put(block, strippedVariant);
|
CherryRegistry.addStrippable(block, strippedVariant);
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block registerLeaves(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread, int color){
|
private static Block createLeaves(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread, int color){
|
||||||
Block block = new LeavesBlock(settings);
|
Block block = new LeavesBlock(settings);
|
||||||
Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block);
|
CherryRegistry.register(block, blockID);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> {
|
CherryRegistry.registerColor(block, color);
|
||||||
return color;
|
|
||||||
}, block);
|
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block registerDoor(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread){
|
private static Block createDoor(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread){
|
||||||
Block block = new CherryDoor(settings);
|
Block block = new CherryDoorBlock(settings);
|
||||||
Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block);
|
CherryRegistry.register(block, blockID);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
BlockRenderLayerMap.INSTANCE.putBlock(block, RenderLayer.getCutout());
|
CherryRegistry.registerTransparentLayer(block);
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Block createTrapDoor(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread){
|
||||||
|
Block block = new CherryTrapdoorBlock(settings);
|
||||||
|
CherryRegistry.register(block, blockID);
|
||||||
|
CherryRegistry.registerBurnable(block, burnChance, burnSpread);
|
||||||
|
CherryRegistry.registerTransparentLayer(block);
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void init(){
|
public static void init(){
|
||||||
// Ensure not to overwrite on previous strippable logs
|
CherryRegistry.register(CHERRYSIGN_ENTITY, "cherry_sign");
|
||||||
AxeItemAccessor.getStrippedLogs().forEach((log, strippedLog) -> {
|
|
||||||
STRIPPABLE_BLOCKS.put(log, strippedLog);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Register unique logs
|
|
||||||
AxeItemAccessor.setStrippedLogs(STRIPPABLE_BLOCKS.build());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,7 +16,6 @@ import net.minecraft.world.gen.decorator.CountExtraDecoratorConfig;
|
|||||||
import net.minecraft.world.gen.decorator.Decorator;
|
import net.minecraft.world.gen.decorator.Decorator;
|
||||||
import net.minecraft.world.gen.feature.ConfiguredFeature;
|
import net.minecraft.world.gen.feature.ConfiguredFeature;
|
||||||
import net.minecraft.world.gen.feature.ConfiguredFeatures;
|
import net.minecraft.world.gen.feature.ConfiguredFeatures;
|
||||||
import net.minecraft.world.gen.feature.DefaultFeatureConfig;
|
|
||||||
import net.minecraft.world.gen.feature.Feature;
|
import net.minecraft.world.gen.feature.Feature;
|
||||||
import net.minecraft.world.gen.feature.RandomFeatureConfig;
|
import net.minecraft.world.gen.feature.RandomFeatureConfig;
|
||||||
import net.minecraft.world.gen.feature.TreeFeatureConfig;
|
import net.minecraft.world.gen.feature.TreeFeatureConfig;
|
||||||
@@ -24,24 +23,17 @@ import net.minecraft.world.gen.feature.size.TwoLayersFeatureSize;
|
|||||||
import net.minecraft.world.gen.foliage.BlobFoliagePlacer;
|
import net.minecraft.world.gen.foliage.BlobFoliagePlacer;
|
||||||
import net.minecraft.world.gen.stateprovider.SimpleBlockStateProvider;
|
import net.minecraft.world.gen.stateprovider.SimpleBlockStateProvider;
|
||||||
import net.minecraft.world.gen.trunk.StraightTrunkPlacer;
|
import net.minecraft.world.gen.trunk.StraightTrunkPlacer;
|
||||||
import net.parsell.cherry.common.features.CherryTree;
|
|
||||||
|
|
||||||
public class CherryFeatures {
|
public class CherryFeatures {
|
||||||
private static final BlockState CHERRYLOG_STATE = CherryBlocks.CHERRYLOG.getDefaultState();
|
private static final BlockState CHERRYLOG_STATE = CherryBlocks.CHERRYLOG.getDefaultState();
|
||||||
private static final BlockState CHERRYLEAVES_STATE = CherryBlocks.CHERRYLEAVES.getDefaultState();
|
private static final BlockState CHERRYLEAVES_STATE = CherryBlocks.CHERRYLEAVES.getDefaultState();
|
||||||
|
|
||||||
// Create the features
|
|
||||||
private static final Feature<DefaultFeatureConfig> CHERRY_TREE_1 = new CherryTree(DefaultFeatureConfig.CODEC);
|
|
||||||
|
|
||||||
// Configure the features
|
// Configure the features
|
||||||
static TreeFeatureConfig CHERRY_TREE_1_CONFIG = new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(CHERRYLOG_STATE), new SimpleBlockStateProvider(CHERRYLEAVES_STATE), new BlobFoliagePlacer(UniformIntDistribution.of(2), UniformIntDistribution.of(0), 3), new StraightTrunkPlacer(4, 2, 0), new TwoLayersFeatureSize(1, 0, 1)).ignoreVines().build();
|
static TreeFeatureConfig CHERRY_TREE_1_CONFIG = new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(CHERRYLOG_STATE), new SimpleBlockStateProvider(CHERRYLEAVES_STATE), new BlobFoliagePlacer(UniformIntDistribution.of(2), UniformIntDistribution.of(0), 3), new StraightTrunkPlacer(4, 2, 0), new TwoLayersFeatureSize(1, 0, 1)).ignoreVines().build();
|
||||||
public static final ConfiguredFeature<?, ?> CHERRY_TREE_1_C = Feature.TREE.configure(CHERRY_TREE_1_CONFIG);
|
public static final ConfiguredFeature<?, ?> CHERRY_TREE_1_C = Feature.TREE.configure(CHERRY_TREE_1_CONFIG);
|
||||||
public static final ConfiguredFeature<?, ?> CHERRY_TREE_1_C_R = Feature.RANDOM_SELECTOR.configure(new RandomFeatureConfig(ImmutableList.of(CHERRY_TREE_1_C.withChance(0.8F)), CHERRY_TREE_1_C)).decorate(ConfiguredFeatures.Decorators.SQUARE_HEIGHTMAP).decorate(Decorator.COUNT_EXTRA.configure(new CountExtraDecoratorConfig(1, 0.1F, 1)));
|
public static final ConfiguredFeature<?, ?> CHERRY_TREE_1_C_R = Feature.RANDOM_SELECTOR.configure(new RandomFeatureConfig(ImmutableList.of(CHERRY_TREE_1_C.withChance(0.8F)), CHERRY_TREE_1_C)).decorate(ConfiguredFeatures.Decorators.SQUARE_HEIGHTMAP).decorate(Decorator.COUNT_EXTRA.configure(new CountExtraDecoratorConfig(1, 0.1F, 1)));
|
||||||
|
|
||||||
private static void addFeatures(){
|
private static void addFeatures(){
|
||||||
// Register the features
|
|
||||||
Registry.register(Registry.FEATURE, new Identifier("cherry", "cherry_tree"), CHERRY_TREE_1);
|
|
||||||
|
|
||||||
// Register the configured features
|
// Register the configured features
|
||||||
RegistryKey<ConfiguredFeature<?, ?>> cherryTree1 = RegistryKey.of(Registry.CONFIGURED_FEATURE_WORLDGEN, new Identifier("cherry", "cherry_tree_1"));
|
RegistryKey<ConfiguredFeature<?, ?>> cherryTree1 = RegistryKey.of(Registry.CONFIGURED_FEATURE_WORLDGEN, new Identifier("cherry", "cherry_tree_1"));
|
||||||
Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, cherryTree1.getValue(), CHERRY_TREE_1_C_R);
|
Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, cherryTree1.getValue(), CHERRY_TREE_1_C_R);
|
||||||
@@ -52,6 +44,8 @@ public class CherryFeatures {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void init(){
|
public static void init(){
|
||||||
|
System.out.println("Cherry Features inititalizating...");
|
||||||
addFeatures();
|
addFeatures();
|
||||||
|
System.out.println("Cherry Features setup sucessfully!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,25 +5,35 @@ 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;
|
||||||
|
|
||||||
public class CherryItems {
|
public class CherryItems {
|
||||||
|
public static final BlockItem CherryPlanks;
|
||||||
|
|
||||||
private static void registerBlockItems(){
|
private static void registerBlockItems(){
|
||||||
registerBlockItem("cherry_log", CherryBlocks.CHERRYLOG, ItemGroup.BUILDING_BLOCKS);
|
registerBlockItem("cherry_log", CherryBlocks.CHERRYLOG, CherryRegistry.CHERRY_GROUP);
|
||||||
registerBlockItem("cherry_wood", CherryBlocks.CHERRYWOOD, ItemGroup.BUILDING_BLOCKS);
|
registerBlockItem("cherry_wood", CherryBlocks.CHERRYWOOD, CherryRegistry.CHERRY_GROUP);
|
||||||
registerBlockItem("stripped_cherry_log", CherryBlocks.CHERRYLOGSTRIPPED, ItemGroup.BUILDING_BLOCKS);
|
registerBlockItem("stripped_cherry_log", CherryBlocks.CHERRYLOGSTRIPPED, CherryRegistry.CHERRY_GROUP);
|
||||||
registerBlockItem("stripped_cherry_wood", CherryBlocks.CHERRYWOODSTRIPPED, ItemGroup.BUILDING_BLOCKS);
|
registerBlockItem("stripped_cherry_wood", CherryBlocks.CHERRYWOODSTRIPPED, CherryRegistry.CHERRY_GROUP);
|
||||||
registerBlockItem("cherry_leaves", CherryBlocks.CHERRYLEAVES, ItemGroup.BUILDING_BLOCKS, 6649929);
|
registerBlockItem("cherry_leaves", CherryBlocks.CHERRYLEAVES, CherryRegistry.CHERRY_GROUP, 6649929);
|
||||||
registerBlockItem("cherry_planks", CherryBlocks.CHERRYPLANKS, ItemGroup.BUILDING_BLOCKS);
|
registerBlockItem("cherry_fence", CherryBlocks.CHERRYFENCE, CherryRegistry.CHERRY_GROUP);
|
||||||
registerBlockItem("cherry_fence", CherryBlocks.CHERRYFENCE, ItemGroup.BUILDING_BLOCKS);
|
registerBlockItem("cherry_fence_gate", CherryBlocks.CHERRYFENCEGATE, CherryRegistry.CHERRY_GROUP);
|
||||||
registerBlockItem("cherry_fence_gate", CherryBlocks.CHERRYFENCEGATE, ItemGroup.BUILDING_BLOCKS);
|
registerBlockItem("cherry_door", CherryBlocks.CHERRYDOOR, CherryRegistry.CHERRY_GROUP);
|
||||||
registerBlockItem("cherry_door", CherryBlocks.CHERRYDOOR, ItemGroup.BUILDING_BLOCKS);
|
registerBlockItem("cherry_trapdoor", CherryBlocks.CHERRYTRAPDOOR, CherryRegistry.CHERRY_GROUP);
|
||||||
|
registerBlockItem("cherry_slab", CherryBlocks.CHERRYSLAB, CherryRegistry.CHERRY_GROUP);
|
||||||
|
registerBlockItem("cherry_stairs", CherryBlocks.CHERRYSTAIRS, CherryRegistry.CHERRY_GROUP);
|
||||||
|
registerBlockItem("cherry_button", CherryBlocks.CHERRYBUTTON, CherryRegistry.CHERRY_GROUP);
|
||||||
|
registerBlockItem("cherry_pressure_plate", CherryBlocks.CHERRYPRESSUREPLATE, CherryRegistry.CHERRY_GROUP);
|
||||||
|
registerSignItem("cherry_sign", CherryBlocks.CHERRYSIGN, CherryBlocks.CHERRYSIGN, CherryRegistry.CHERRY_GROUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register a standard blockItem
|
// Register a standard blockItem
|
||||||
private static void registerBlockItem(String itemID, Block block, ItemGroup group){
|
private static BlockItem registerBlockItem(String itemID, Block block, ItemGroup group){
|
||||||
Registry.register(Registry.ITEM, new Identifier("cherry", itemID), new BlockItem(block, new FabricItemSettings().group(group)));
|
BlockItem blockItem = new BlockItem(block, new FabricItemSettings().group(group));
|
||||||
|
Registry.register(Registry.ITEM, new Identifier("cherry", itemID), blockItem);
|
||||||
|
return blockItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register a blockItem that require in-game color (leaves)
|
// Register a blockItem that require in-game color (leaves)
|
||||||
@@ -36,7 +46,17 @@ 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(){
|
||||||
|
System.out.println("Cherry Items initilizating...");
|
||||||
registerBlockItems();
|
registerBlockItems();
|
||||||
|
System.out.println("Cherry Items setup correctly!");
|
||||||
|
}
|
||||||
|
|
||||||
|
static{
|
||||||
|
CherryPlanks = registerBlockItem("cherry_planks", CherryBlocks.CHERRYPLANKS, CherryRegistry.CHERRY_GROUP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
package net.parsell.cherry.core;
|
||||||
|
|
||||||
|
import net.parsell.cherry.Cherry;
|
||||||
|
import net.parsell.cherry.common.util.CherrySignType;
|
||||||
|
import net.parsell.cherry.mixin.*;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableMap.Builder;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||||
|
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
|
||||||
|
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
|
||||||
|
import net.fabricmc.fabric.api.registry.FlammableBlockRegistry;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.entity.BlockEntity;
|
||||||
|
import net.minecraft.block.entity.BlockEntityType;
|
||||||
|
import net.minecraft.client.render.RenderLayer;
|
||||||
|
import net.minecraft.item.BlockItem;
|
||||||
|
import net.minecraft.item.ItemGroup;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.minecraft.util.SignType;
|
||||||
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
|
public class CherryRegistry {
|
||||||
|
private static Builder<Block, Block> STRIPPABLE_BLOCKS = new Builder<Block, Block>();
|
||||||
|
public static final ItemGroup CHERRY_GROUP = FabricItemGroupBuilder
|
||||||
|
.create(new Identifier(Cherry.MODID, "general"))
|
||||||
|
.icon(() -> new ItemStack(CherryItems.CherryPlanks))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
public static void init(){
|
||||||
|
AxeItemAccessor.getStrippedLogs().forEach((log, strippedLog) -> {
|
||||||
|
STRIPPABLE_BLOCKS.put(log, strippedLog);
|
||||||
|
});
|
||||||
|
System.out.println("Cherry Registry initilizating...");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void finish(){
|
||||||
|
AxeItemAccessor.setStrippedLogs(STRIPPABLE_BLOCKS.build());
|
||||||
|
System.out.println("Cherry Registry setup correctly!");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void register(Block block, String id){
|
||||||
|
Registry.register(Registry.BLOCK, new Identifier(Cherry.MODID, id), block);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void register(BlockItem item, String id){
|
||||||
|
Registry.register(Registry.ITEM, new Identifier(Cherry.MODID, id), item);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void register(BlockEntityType<?> blockEntityType, String id){
|
||||||
|
Registry.register(Registry.BLOCK_ENTITY_TYPE, new Identifier(Cherry.MODID, id), blockEntityType);
|
||||||
|
}
|
||||||
|
|
||||||
|
// This registry is unique since I need to save the SignType, and the only way to do that is to register it. So..
|
||||||
|
public static SignType register(String type){
|
||||||
|
try {
|
||||||
|
return SignTypeInvoker.register(new CherrySignType(type));
|
||||||
|
} catch (IllegalAccessException iae){
|
||||||
|
System.out.println("CherryRegistry threw IllegalAccessException when trying to register \"" + type + "\" sign type.");
|
||||||
|
iae.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerBurnable(Block block, int burnChance, int burnSpread){
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerColor(Block block, int color){
|
||||||
|
ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> {
|
||||||
|
return color;
|
||||||
|
}, block);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerTransparentLayer(Block block){
|
||||||
|
BlockRenderLayerMap.INSTANCE.putBlock(block, RenderLayer.getCutout());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void addStrippable(Block block, Block stripped){
|
||||||
|
STRIPPABLE_BLOCKS.put(block, stripped);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"face=ceiling,facing=east,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 270,
|
||||||
|
"x": 180
|
||||||
|
},
|
||||||
|
"face=ceiling,facing=east,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 270,
|
||||||
|
"x": 180
|
||||||
|
},
|
||||||
|
"face=ceiling,facing=north,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 180,
|
||||||
|
"x": 180
|
||||||
|
},
|
||||||
|
"face=ceiling,facing=north,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 180,
|
||||||
|
"x": 180
|
||||||
|
},
|
||||||
|
"face=ceiling,facing=south,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"x": 180
|
||||||
|
},
|
||||||
|
"face=ceiling,facing=south,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"x": 180
|
||||||
|
},
|
||||||
|
"face=ceiling,facing=west,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 90,
|
||||||
|
"x": 180
|
||||||
|
},
|
||||||
|
"face=ceiling,facing=west,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 90,
|
||||||
|
"x": 180
|
||||||
|
},
|
||||||
|
"face=floor,facing=east,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"face=floor,facing=east,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"face=floor,facing=north,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button"
|
||||||
|
},
|
||||||
|
"face=floor,facing=north,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed"
|
||||||
|
},
|
||||||
|
"face=floor,facing=south,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"face=floor,facing=south,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"face=floor,facing=west,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"face=floor,facing=west,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"face=wall,facing=east,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 90,
|
||||||
|
"x": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"face=wall,facing=east,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 90,
|
||||||
|
"x": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"face=wall,facing=north,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"x": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"face=wall,facing=north,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"x": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"face=wall,facing=south,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 180,
|
||||||
|
"x": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"face=wall,facing=south,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 180,
|
||||||
|
"x": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"face=wall,facing=west,powered=false": {
|
||||||
|
"model": "cherry:block/cherry_button",
|
||||||
|
"y": 270,
|
||||||
|
"x": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"face=wall,facing=west,powered=true": {
|
||||||
|
"model": "cherry:block/cherry_button_pressed",
|
||||||
|
"y": 270,
|
||||||
|
"x": 90,
|
||||||
|
"uvlock": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,124 +1,36 @@
|
|||||||
{
|
{
|
||||||
"variants": {
|
"variants": {
|
||||||
"facing=east,half=lower,hinge=left,open=false": {
|
"facing=east,half=lower,hinge=left,open=false": { "model": "cherry:block/cherry_door_bottom" },
|
||||||
"model": "minecraft:block/oak_door_bottom"
|
"facing=south,half=lower,hinge=left,open=false": { "model": "cherry:block/cherry_door_bottom", "y": 90 },
|
||||||
},
|
"facing=west,half=lower,hinge=left,open=false": { "model": "cherry:block/cherry_door_bottom", "y": 180 },
|
||||||
"facing=east,half=lower,hinge=left,open=true": {
|
"facing=north,half=lower,hinge=left,open=false": { "model": "cherry:block/cherry_door_bottom", "y": 270 },
|
||||||
"model": "minecraft:block/oak_door_bottom_hinge",
|
"facing=east,half=lower,hinge=right,open=false": { "model": "cherry:block/cherry_door_bottom_hinge" },
|
||||||
"y": 90
|
"facing=south,half=lower,hinge=right,open=false": { "model": "cherry:block/cherry_door_bottom_hinge", "y": 90 },
|
||||||
},
|
"facing=west,half=lower,hinge=right,open=false": { "model": "cherry:block/cherry_door_bottom_hinge", "y": 180 },
|
||||||
"facing=east,half=lower,hinge=right,open=false": {
|
"facing=north,half=lower,hinge=right,open=false": { "model": "cherry:block/cherry_door_bottom_hinge", "y": 270 },
|
||||||
"model": "minecraft:block/oak_door_bottom_hinge"
|
"facing=east,half=lower,hinge=left,open=true": { "model": "cherry:block/cherry_door_bottom_hinge", "y": 90 },
|
||||||
},
|
"facing=south,half=lower,hinge=left,open=true": { "model": "cherry:block/cherry_door_bottom_hinge", "y": 180 },
|
||||||
"facing=east,half=lower,hinge=right,open=true": {
|
"facing=west,half=lower,hinge=left,open=true": { "model": "cherry:block/cherry_door_bottom_hinge", "y": 270 },
|
||||||
"model": "minecraft:block/oak_door_bottom",
|
"facing=north,half=lower,hinge=left,open=true": { "model": "cherry:block/cherry_door_bottom_hinge" },
|
||||||
"y": 270
|
"facing=east,half=lower,hinge=right,open=true": { "model": "cherry:block/cherry_door_bottom", "y": 270 },
|
||||||
},
|
"facing=south,half=lower,hinge=right,open=true": { "model": "cherry:block/cherry_door_bottom" },
|
||||||
"facing=east,half=upper,hinge=left,open=false": {
|
"facing=west,half=lower,hinge=right,open=true": { "model": "cherry:block/cherry_door_bottom", "y": 90 },
|
||||||
"model": "minecraft:block/oak_door_top"
|
"facing=north,half=lower,hinge=right,open=true": { "model": "cherry:block/cherry_door_bottom", "y": 180 },
|
||||||
},
|
"facing=east,half=upper,hinge=left,open=false": { "model": "cherry:block/cherry_door_top" },
|
||||||
"facing=east,half=upper,hinge=left,open=true": {
|
"facing=south,half=upper,hinge=left,open=false": { "model": "cherry:block/cherry_door_top", "y": 90 },
|
||||||
"model": "minecraft:block/oak_door_top_hinge",
|
"facing=west,half=upper,hinge=left,open=false": { "model": "cherry:block/cherry_door_top", "y": 180 },
|
||||||
"y": 90
|
"facing=north,half=upper,hinge=left,open=false": { "model": "cherry:block/cherry_door_top", "y": 270 },
|
||||||
},
|
"facing=east,half=upper,hinge=right,open=false": { "model": "cherry:block/cherry_door_top_hinge" },
|
||||||
"facing=east,half=upper,hinge=right,open=false": {
|
"facing=south,half=upper,hinge=right,open=false": { "model": "cherry:block/cherry_door_top_hinge", "y": 90 },
|
||||||
"model": "minecraft:block/oak_door_top_hinge"
|
"facing=west,half=upper,hinge=right,open=false": { "model": "cherry:block/cherry_door_top_hinge", "y": 180 },
|
||||||
},
|
"facing=north,half=upper,hinge=right,open=false": { "model": "cherry:block/cherry_door_top_hinge", "y": 270 },
|
||||||
"facing=east,half=upper,hinge=right,open=true": {
|
"facing=east,half=upper,hinge=left,open=true": { "model": "cherry:block/cherry_door_top_hinge", "y": 90 },
|
||||||
"model": "minecraft:block/oak_door_top",
|
"facing=south,half=upper,hinge=left,open=true": { "model": "cherry:block/cherry_door_top_hinge", "y": 180 },
|
||||||
"y": 270
|
"facing=west,half=upper,hinge=left,open=true": { "model": "cherry:block/cherry_door_top_hinge", "y": 270 },
|
||||||
},
|
"facing=north,half=upper,hinge=left,open=true": { "model": "cherry:block/cherry_door_top_hinge" },
|
||||||
"facing=north,half=lower,hinge=left,open=false": {
|
"facing=east,half=upper,hinge=right,open=true": { "model": "cherry:block/cherry_door_top", "y": 270 },
|
||||||
"model": "minecraft:block/oak_door_bottom",
|
"facing=south,half=upper,hinge=right,open=true": { "model": "cherry:block/cherry_door_top" },
|
||||||
"y": 270
|
"facing=west,half=upper,hinge=right,open=true": { "model": "cherry:block/cherry_door_top", "y": 90 },
|
||||||
},
|
"facing=north,half=upper,hinge=right,open=true": { "model": "cherry:block/cherry_door_top", "y": 180 }
|
||||||
"facing=north,half=lower,hinge=left,open=true": {
|
}
|
||||||
"model": "minecraft:block/oak_door_bottom_hinge"
|
}
|
||||||
},
|
|
||||||
"facing=north,half=lower,hinge=right,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom_hinge",
|
|
||||||
"y": 270
|
|
||||||
},
|
|
||||||
"facing=north,half=lower,hinge=right,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=north,half=upper,hinge=left,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_top",
|
|
||||||
"y": 270
|
|
||||||
},
|
|
||||||
"facing=north,half=upper,hinge=left,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_top_hinge"
|
|
||||||
},
|
|
||||||
"facing=north,half=upper,hinge=right,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_top_hinge",
|
|
||||||
"y": 270
|
|
||||||
},
|
|
||||||
"facing=north,half=upper,hinge=right,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_top",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=south,half=lower,hinge=left,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom",
|
|
||||||
"y": 90
|
|
||||||
},
|
|
||||||
"facing=south,half=lower,hinge=left,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom_hinge",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=south,half=lower,hinge=right,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom_hinge",
|
|
||||||
"y": 90
|
|
||||||
},
|
|
||||||
"facing=south,half=lower,hinge=right,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom"
|
|
||||||
},
|
|
||||||
"facing=south,half=upper,hinge=left,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_top",
|
|
||||||
"y": 90
|
|
||||||
},
|
|
||||||
"facing=south,half=upper,hinge=left,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_top_hinge",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=south,half=upper,hinge=right,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_top_hinge",
|
|
||||||
"y": 90
|
|
||||||
},
|
|
||||||
"facing=south,half=upper,hinge=right,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_top"
|
|
||||||
},
|
|
||||||
"facing=west,half=lower,hinge=left,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=west,half=lower,hinge=left,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom_hinge",
|
|
||||||
"y": 270
|
|
||||||
},
|
|
||||||
"facing=west,half=lower,hinge=right,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom_hinge",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=west,half=lower,hinge=right,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_bottom",
|
|
||||||
"y": 90
|
|
||||||
},
|
|
||||||
"facing=west,half=upper,hinge=left,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_top",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=west,half=upper,hinge=left,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_top_hinge",
|
|
||||||
"y": 270
|
|
||||||
},
|
|
||||||
"facing=west,half=upper,hinge=right,open=false": {
|
|
||||||
"model": "minecraft:block/oak_door_top_hinge",
|
|
||||||
"y": 180
|
|
||||||
},
|
|
||||||
"facing=west,half=upper,hinge=right,open=true": {
|
|
||||||
"model": "minecraft:block/oak_door_top",
|
|
||||||
"y": 90
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"multipart": [
|
"multipart": [
|
||||||
{
|
{
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "minecraft:block/acacia_fence_post"
|
"model": "cherry:block/cherry_fence_post"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
"north": "true"
|
"north": "true"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "minecraft:block/acacia_fence_side",
|
"model": "cherry:block/cherry_fence_side",
|
||||||
"uvlock": true
|
"uvlock": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
"east": "true"
|
"east": "true"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "minecraft:block/acacia_fence_side",
|
"model": "cherry:block/cherry_fence_side",
|
||||||
"y": 90,
|
"y": 90,
|
||||||
"uvlock": true
|
"uvlock": true
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"south": "true"
|
"south": "true"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "minecraft:block/acacia_fence_side",
|
"model": "cherry:block/cherry_fence_side",
|
||||||
"y": 180,
|
"y": 180,
|
||||||
"uvlock": true
|
"uvlock": true
|
||||||
}
|
}
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"west": "true"
|
"west": "true"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "minecraft:block/acacia_fence_side",
|
"model": "cherry:block/cherry_fence_side",
|
||||||
"y": 270,
|
"y": 270,
|
||||||
"uvlock": true
|
"uvlock": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,78 +3,78 @@
|
|||||||
"facing=east,in_wall=false,open=false": {
|
"facing=east,in_wall=false,open=false": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 270,
|
"y": 270,
|
||||||
"model": "minecraft:block/acacia_fence_gate"
|
"model": "cherry:block/cherry_fence_gate"
|
||||||
},
|
},
|
||||||
"facing=east,in_wall=false,open=true": {
|
"facing=east,in_wall=false,open=true": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 270,
|
"y": 270,
|
||||||
"model": "minecraft:block/acacia_fence_gate_open"
|
"model": "cherry:block/cherry_fence_gate_open"
|
||||||
},
|
},
|
||||||
"facing=east,in_wall=true,open=false": {
|
"facing=east,in_wall=true,open=false": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 270,
|
"y": 270,
|
||||||
"model": "minecraft:block/acacia_fence_gate_wall"
|
"model": "cherry:block/cherry_fence_gate_wall"
|
||||||
},
|
},
|
||||||
"facing=east,in_wall=true,open=true": {
|
"facing=east,in_wall=true,open=true": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 270,
|
"y": 270,
|
||||||
"model": "minecraft:block/acacia_fence_gate_wall_open"
|
"model": "cherry:block/cherry_fence_gate_wall_open"
|
||||||
},
|
},
|
||||||
"facing=north,in_wall=false,open=false": {
|
"facing=north,in_wall=false,open=false": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 180,
|
"y": 180,
|
||||||
"model": "minecraft:block/acacia_fence_gate"
|
"model": "cherry:block/cherry_fence_gate"
|
||||||
},
|
},
|
||||||
"facing=north,in_wall=false,open=true": {
|
"facing=north,in_wall=false,open=true": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 180,
|
"y": 180,
|
||||||
"model": "minecraft:block/acacia_fence_gate_open"
|
"model": "cherry:block/cherry_fence_gate_open"
|
||||||
},
|
},
|
||||||
"facing=north,in_wall=true,open=false": {
|
"facing=north,in_wall=true,open=false": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 180,
|
"y": 180,
|
||||||
"model": "minecraft:block/acacia_fence_gate_wall"
|
"model": "cherry:block/cherry_fence_gate_wall"
|
||||||
},
|
},
|
||||||
"facing=north,in_wall=true,open=true": {
|
"facing=north,in_wall=true,open=true": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 180,
|
"y": 180,
|
||||||
"model": "minecraft:block/acacia_fence_gate_wall_open"
|
"model": "cherry:block/cherry_fence_gate_wall_open"
|
||||||
},
|
},
|
||||||
"facing=south,in_wall=false,open=false": {
|
"facing=south,in_wall=false,open=false": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"model": "minecraft:block/acacia_fence_gate"
|
"model": "cherry:block/cherry_fence_gate"
|
||||||
},
|
},
|
||||||
"facing=south,in_wall=false,open=true": {
|
"facing=south,in_wall=false,open=true": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"model": "minecraft:block/acacia_fence_gate_open"
|
"model": "cherry:block/cherry_fence_gate_open"
|
||||||
},
|
},
|
||||||
"facing=south,in_wall=true,open=false": {
|
"facing=south,in_wall=true,open=false": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"model": "minecraft:block/acacia_fence_gate_wall"
|
"model": "cherry:block/cherry_fence_gate_wall"
|
||||||
},
|
},
|
||||||
"facing=south,in_wall=true,open=true": {
|
"facing=south,in_wall=true,open=true": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"model": "minecraft:block/acacia_fence_gate_wall_open"
|
"model": "cherry:block/cherry_fence_gate_wall_open"
|
||||||
},
|
},
|
||||||
"facing=west,in_wall=false,open=false": {
|
"facing=west,in_wall=false,open=false": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 90,
|
"y": 90,
|
||||||
"model": "minecraft:block/acacia_fence_gate"
|
"model": "cherry:block/cherry_fence_gate"
|
||||||
},
|
},
|
||||||
"facing=west,in_wall=false,open=true": {
|
"facing=west,in_wall=false,open=true": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 90,
|
"y": 90,
|
||||||
"model": "minecraft:block/acacia_fence_gate_open"
|
"model": "cherry:block/cherry_fence_gate_open"
|
||||||
},
|
},
|
||||||
"facing=west,in_wall=true,open=false": {
|
"facing=west,in_wall=true,open=false": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 90,
|
"y": 90,
|
||||||
"model": "minecraft:block/acacia_fence_gate_wall"
|
"model": "cherry:block/cherry_fence_gate_wall"
|
||||||
},
|
},
|
||||||
"facing=west,in_wall=true,open=true": {
|
"facing=west,in_wall=true,open=true": {
|
||||||
"uvlock": true,
|
"uvlock": true,
|
||||||
"y": 90,
|
"y": 90,
|
||||||
"model": "minecraft:block/acacia_fence_gate_wall_open"
|
"model": "cherry:block/cherry_fence_gate_wall_open"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"powered=false": {
|
||||||
|
"model": "cherry:block/cherry_pressure_plate"
|
||||||
|
},
|
||||||
|
"powered=true": {
|
||||||
|
"model": "cherry:block/cherry_pressure_plate_down"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "cherry:block/cherry_sign"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"type=bottom": {
|
||||||
|
"model": "cherry:block/cherry_slab"
|
||||||
|
},
|
||||||
|
"type=double": {
|
||||||
|
"model": "cherry:block/cherry_planks"
|
||||||
|
},
|
||||||
|
"type=top": {
|
||||||
|
"model": "cherry:block/cherry_slab_top"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,209 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"facing=east,half=bottom,shape=inner_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=east,half=bottom,shape=inner_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner"
|
||||||
|
},
|
||||||
|
"facing=east,half=bottom,shape=outer_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=east,half=bottom,shape=outer_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer"
|
||||||
|
},
|
||||||
|
"facing=east,half=bottom,shape=straight": {
|
||||||
|
"model": "cherry:block/cherry_stairs"
|
||||||
|
},
|
||||||
|
"facing=east,half=top,shape=inner_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"x": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=east,half=top,shape=inner_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"x": 180,
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=east,half=top,shape=outer_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"x": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=east,half=top,shape=outer_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"x": 180,
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=east,half=top,shape=straight": {
|
||||||
|
"model": "cherry:block/cherry_stairs",
|
||||||
|
"x": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=bottom,shape=inner_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=bottom,shape=inner_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=bottom,shape=outer_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=bottom,shape=outer_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=bottom,shape=straight": {
|
||||||
|
"model": "cherry:block/cherry_stairs",
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=top,shape=inner_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"x": 180,
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=top,shape=inner_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"x": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=top,shape=outer_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"x": 180,
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=top,shape=outer_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"x": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=north,half=top,shape=straight": {
|
||||||
|
"model": "cherry:block/cherry_stairs",
|
||||||
|
"x": 180,
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,half=bottom,shape=inner_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner"
|
||||||
|
},
|
||||||
|
"facing=south,half=bottom,shape=inner_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,half=bottom,shape=outer_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer"
|
||||||
|
},
|
||||||
|
"facing=south,half=bottom,shape=outer_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,half=bottom,shape=straight": {
|
||||||
|
"model": "cherry:block/cherry_stairs",
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,half=top,shape=inner_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"x": 180,
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,half=top,shape=inner_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"x": 180,
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,half=top,shape=outer_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"x": 180,
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,half=top,shape=outer_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"x": 180,
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,half=top,shape=straight": {
|
||||||
|
"model": "cherry:block/cherry_stairs",
|
||||||
|
"x": 180,
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=bottom,shape=inner_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=bottom,shape=inner_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=bottom,shape=outer_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=bottom,shape=outer_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=bottom,shape=straight": {
|
||||||
|
"model": "cherry:block/cherry_stairs",
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=top,shape=inner_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"x": 180,
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=top,shape=inner_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_inner",
|
||||||
|
"x": 180,
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=top,shape=outer_left": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"x": 180,
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=top,shape=outer_right": {
|
||||||
|
"model": "cherry:block/cherry_stairs_outer",
|
||||||
|
"x": 180,
|
||||||
|
"y": 270,
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,half=top,shape=straight": {
|
||||||
|
"model": "cherry:block/cherry_stairs",
|
||||||
|
"x": 180,
|
||||||
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"facing=east,half=bottom,open=false": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_bottom",
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=east,half=bottom,open=true": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_open",
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=east,half=top,open=false": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_top",
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=east,half=top,open=true": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_open",
|
||||||
|
"x": 180,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=north,half=bottom,open=false": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_bottom"
|
||||||
|
},
|
||||||
|
"facing=north,half=bottom,open=true": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_open"
|
||||||
|
},
|
||||||
|
"facing=north,half=top,open=false": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_top"
|
||||||
|
},
|
||||||
|
"facing=north,half=top,open=true": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_open",
|
||||||
|
"x": 180,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=south,half=bottom,open=false": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_bottom",
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=south,half=bottom,open=true": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_open",
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=south,half=top,open=false": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_top",
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=south,half=top,open=true": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_open",
|
||||||
|
"x": 180,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"facing=west,half=bottom,open=false": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_bottom",
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=west,half=bottom,open=true": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_open",
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=west,half=top,open=false": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_top",
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=west,half=top,open=true": {
|
||||||
|
"model": "cherry:block/cherry_trapdoor_open",
|
||||||
|
"x": 180,
|
||||||
|
"y": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,5 +7,9 @@
|
|||||||
"block.cherry.cherry_planks": "Cherry Planks",
|
"block.cherry.cherry_planks": "Cherry Planks",
|
||||||
"block.cherry.cherry_fence": "Cherry Fence",
|
"block.cherry.cherry_fence": "Cherry Fence",
|
||||||
"block.cherry.cherry_fence_gate": "Cherry Fence Gate",
|
"block.cherry.cherry_fence_gate": "Cherry Fence Gate",
|
||||||
"block.cherry.cherry_door": "Cherry Door"
|
"block.cherry.cherry_door": "Cherry Door",
|
||||||
|
"block.cherry.cherry_trapdoor": "Cherry Trapdoor",
|
||||||
|
"block.cherry.cherry_slab": "Cherry Slab",
|
||||||
|
"block.cherry.cherry_stairs": "Cherry Stairs",
|
||||||
|
"block.cherry.cherry_button": "Cherry Button"
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/button",
|
||||||
|
"textures": {
|
||||||
|
"texture": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/button_inventory",
|
||||||
|
"textures": {
|
||||||
|
"texture": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/button_pressed",
|
||||||
|
"textures": {
|
||||||
|
"texture": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/door_top",
|
"parent": "minecraft:block/door_bottom",
|
||||||
"textures": {
|
"textures": {
|
||||||
"top": "minecraft:block/acacia_door_top",
|
"top": "cherry:block/cherry_door_top",
|
||||||
"bottom": "minecraft:block/acacia_door_bottom"
|
"bottom": "cherry:block/cherry_door_bottom"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/door_top_rh",
|
"parent": "minecraft:block/door_bottom_rh",
|
||||||
"textures": {
|
"textures": {
|
||||||
"top": "minecraft:block/acacia_door_top",
|
"top": "cherry:block/cherry_door_top",
|
||||||
"bottom": "minecraft:block/acacia_door_bottom"
|
"bottom": "cherry:block/cherry_door_bottom"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/door_top",
|
"parent": "minecraft:block/door_top",
|
||||||
"textures": {
|
"textures": {
|
||||||
"top": "minecraft:block/acacia_door_top",
|
"top": "cherry:block/cherry_door_top",
|
||||||
"bottom": "minecraft:block/acacia_door_bottom"
|
"bottom": "cherry:block/cherry_door_bottom"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/door_top_rh",
|
"parent": "minecraft:block/door_top_rh",
|
||||||
"textures": {
|
"textures": {
|
||||||
"top": "minecraft:block/acacia_door_top",
|
"top": "cherry:block/cherry_door_top",
|
||||||
"bottom": "minecraft:block/acacia_door_bottom"
|
"bottom": "cherry:block/cherry_door_bottom"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/template_fence_gate",
|
"parent": "minecraft:block/template_fence_gate",
|
||||||
"textures": {
|
"textures": {
|
||||||
"texture": "minecraft:block/oak_planks"
|
"texture": "cherry:block/cherry_planks"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/template_fence_gate_open",
|
"parent": "minecraft:block/template_fence_gate_open",
|
||||||
"textures": {
|
"textures": {
|
||||||
"texture": "minecraft:block/oak_planks"
|
"texture": "cherry:block/cherry_planks"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/template_fence_gate_wall",
|
"parent": "minecraft:block/template_fence_gate_wall",
|
||||||
"textures": {
|
"textures": {
|
||||||
"texture": "minecraft:block/oak_planks"
|
"texture": "cherry:block/cherry_planks"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/template_fence_gate_wall_open",
|
"parent": "minecraft:block/template_fence_gate_wall_open",
|
||||||
"textures": {
|
"textures": {
|
||||||
"texture": "minecraft:block/oak_planks"
|
"texture": "cherry:block/cherry_planks"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/fence_inventory",
|
"parent": "minecraft:block/fence_inventory",
|
||||||
"textures": {
|
"textures": {
|
||||||
"texture": "minecraft:block/oak_planks"
|
"texture": "cherry:block/cherry_planks"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/fence_post",
|
"parent": "minecraft:block/fence_post",
|
||||||
"textures": {
|
"textures": {
|
||||||
"texture": "minecraft:block/oak_planks"
|
"texture": "cherry:block/cherry_planks"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:block/fence_side",
|
"parent": "minecraft:block/fence_side",
|
||||||
"textures": {
|
"textures": {
|
||||||
"texture": "minecraft:block/oak_planks"
|
"texture": "cherry:block/cherry_planks"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/pressure_plate_up",
|
||||||
|
"textures": {
|
||||||
|
"texture": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/pressure_plate_down",
|
||||||
|
"textures": {
|
||||||
|
"texture": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"textures": {
|
||||||
|
"particle": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/slab",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "cherry:block/cherry_planks",
|
||||||
|
"top": "cherry:block/cherry_planks",
|
||||||
|
"side": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/slab_top",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "cherry:block/cherry_planks",
|
||||||
|
"top": "cherry:block/cherry_planks",
|
||||||
|
"side": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/stairs",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "cherry:block/cherry_planks",
|
||||||
|
"top": "cherry:block/cherry_planks",
|
||||||
|
"side": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/inner_stairs",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "cherry:block/cherry_planks",
|
||||||
|
"top": "cherry:block/cherry_planks",
|
||||||
|
"side": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/outer_stairs",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "cherry:block/cherry_planks",
|
||||||
|
"top": "cherry:block/cherry_planks",
|
||||||
|
"side": "cherry:block/cherry_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/template_orientable_trapdoor_bottom",
|
||||||
|
"textures": {
|
||||||
|
"texture": "cherry:block/cherry_trapdoor"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/template_orientable_trapdoor_open",
|
||||||
|
"textures": {
|
||||||
|
"texture": "cherry:block/cherry_trapdoor"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/template_orientable_trapdoor_top",
|
||||||
|
"textures": {
|
||||||
|
"texture": "cherry:block/cherry_trapdoor"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "cherry:block/cherry_button_inventory"
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "cherry:item/cherry_door"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "cherry:block/cherry_fence_inventory"
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "cherry:block/cherry_fence_gate"
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "cherry:block/cherry_pressure_plate"
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "cherry:item/cherry_sign"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"parent": "cherry:block/cherry_slab"
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "cherry:block/cherry_stairs"
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "cherry:block/cherry_trapdoor_bottom"
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 1009 B |
|
After Width: | Height: | Size: 604 B |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"cherry:cherry_sign"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"cherry:cherry_sign"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"cherry:cherry_sign"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -18,6 +18,9 @@
|
|||||||
|
|
||||||
"environment": "*",
|
"environment": "*",
|
||||||
"entrypoints": {
|
"entrypoints": {
|
||||||
|
"client": [
|
||||||
|
"net.parsell.cherry.CherryClient"
|
||||||
|
],
|
||||||
"main": [
|
"main": [
|
||||||
"net.parsell.cherry.Cherry"
|
"net.parsell.cherry.Cherry"
|
||||||
]
|
]
|
||||||
|
|||||||