diff --git a/psd/stones_pillar.psd b/psd/stones_pillar.psd new file mode 100644 index 00000000..e8576740 Binary files /dev/null and b/psd/stones_pillar.psd differ diff --git a/src/main/java/ru/betterend/blocks/EndPedestal.java b/src/main/java/ru/betterend/blocks/EndPedestal.java new file mode 100644 index 00000000..9043e8f7 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/EndPedestal.java @@ -0,0 +1,46 @@ +package ru.betterend.blocks; + +import java.util.HashMap; +import java.util.Map; + +import net.minecraft.block.Block; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; +import ru.betterend.BetterEnd; +import ru.betterend.blocks.basis.BlockPedestal; +import ru.betterend.interfaces.Patterned; + +public class EndPedestal extends BlockPedestal { + + public EndPedestal(Block parent) { + super(parent); + } + + @Override + public String getModelPattern(String block) { + Identifier blockId = Registry.BLOCK.getId(parent); + String name = blockId.getPath(); + Map textures = new HashMap() { + private static final long serialVersionUID = 1L; + { + put("%mod%", BetterEnd.MOD_ID ); + put("%top%", name + "_polished"); + put("%base%", name + "_polished"); + put("%pillar%", name + "_pillar_side"); + put("%bottom%", name + "_polished"); + } + }; + if (block.contains("column_top")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_COLUMN_TOP, textures); + } else if (block.contains("column")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_COLUMN, textures); + } else if (block.contains("top")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_TOP, textures); + } else if (block.contains("bottom")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_BOTTOM, textures); + } else if (block.contains("pillar")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_PILLAR, textures); + } + return Patterned.createJson(Patterned.PEDESTAL_MODEL_DEFAULT, textures); + } +} diff --git a/src/main/java/ru/betterend/blocks/EternalPedestal.java b/src/main/java/ru/betterend/blocks/EternalPedestal.java index 509c0874..000f01eb 100644 --- a/src/main/java/ru/betterend/blocks/EternalPedestal.java +++ b/src/main/java/ru/betterend/blocks/EternalPedestal.java @@ -23,6 +23,7 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.WorldAccess; import net.minecraft.world.explosion.Explosion; + import ru.betterend.blocks.basis.BlockPedestal; import ru.betterend.blocks.entities.PedestalBlockEntity; import ru.betterend.registry.EndBlocks; diff --git a/src/main/java/ru/betterend/blocks/PedestalVanilla.java b/src/main/java/ru/betterend/blocks/PedestalVanilla.java new file mode 100644 index 00000000..5d74737f --- /dev/null +++ b/src/main/java/ru/betterend/blocks/PedestalVanilla.java @@ -0,0 +1,45 @@ +package ru.betterend.blocks; + +import java.util.HashMap; +import java.util.Map; + +import net.minecraft.block.Block; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; +import ru.betterend.blocks.basis.BlockPedestal; +import ru.betterend.interfaces.Patterned; + +public class PedestalVanilla extends BlockPedestal { + + public PedestalVanilla(Block parent) { + super(parent); + } + + @Override + public String getModelPattern(String block) { + Identifier blockId = Registry.BLOCK.getId(parent); + String name = blockId.getPath().replace("_block", ""); + Map textures = new HashMap() { + private static final long serialVersionUID = 1L; + { + put("%mod%", blockId.getNamespace() ); + put("%top%", "polished_" + name); + put("%base%", "polished_" + name); + put("%pillar%", name + "_pillar"); + put("%bottom%", "polished_" + name); + } + }; + if (block.contains("column_top")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_COLUMN_TOP, textures); + } else if (block.contains("column")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_COLUMN, textures); + } else if (block.contains("top")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_TOP, textures); + } else if (block.contains("bottom")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_BOTTOM, textures); + } else if (block.contains("pillar")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_PILLAR, textures); + } + return Patterned.createJson(Patterned.PEDESTAL_MODEL_DEFAULT, textures); + } +} diff --git a/src/main/java/ru/betterend/blocks/basis/BlockPedestal.java b/src/main/java/ru/betterend/blocks/basis/BlockPedestal.java index 42d05042..32b39e88 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockPedestal.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockPedestal.java @@ -1,10 +1,14 @@ package ru.betterend.blocks.basis; +import java.io.Reader; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.jetbrains.annotations.Nullable; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + import net.minecraft.block.Block; import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockState; @@ -20,17 +24,21 @@ import net.minecraft.state.property.BooleanProperty; import net.minecraft.state.property.EnumProperty; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.Identifier; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; +import net.minecraft.util.registry.Registry; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.WorldAccess; + import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.BlockProperties.PedestalState; import ru.betterend.blocks.entities.PedestalBlockEntity; +import ru.betterend.interfaces.Patterned; import ru.betterend.util.BlocksHelper; public class BlockPedestal extends BlockBaseNotFull implements BlockEntityProvider { @@ -44,9 +52,12 @@ public class BlockPedestal extends BlockBaseNotFull implements BlockEntityProvid private static final VoxelShape SHAPE_COLUMN_TOP; private static final VoxelShape SHAPE_BOTTOM; + protected final Block parent; + public BlockPedestal(Block parent) { super(FabricBlockSettings.copyOf(parent)); this.setDefaultState(stateManager.getDefaultState().with(STATE, PedestalState.DEFAULT).with(HAS_ITEM, false)); + this.parent = parent; } @Override @@ -131,9 +142,9 @@ public class BlockPedestal extends BlockBaseNotFull implements BlockEntityProvid return state.with(STATE, PedestalState.COLUMN); } else if (hasPedestalUnder && hasPedestalOver) { return state.with(STATE, PedestalState.PILLAR); - } else if (hasPedestalUnder && !hasPedestalOver) { + } else if (hasPedestalUnder) { return state.with(STATE, PedestalState.PEDESTAL_TOP); - } else if (hasPedestalOver && !hasPedestalUnder) { + } else if (hasPedestalOver) { return state.with(STATE, PedestalState.BOTTOM); } return state.with(STATE, PedestalState.DEFAULT); @@ -260,15 +271,56 @@ public class BlockPedestal extends BlockBaseNotFull implements BlockEntityProvid return new PedestalBlockEntity(); } + @Override + public String getStatesPattern(Reader data) { + Identifier blockId = Registry.BLOCK.getId(this); + return Patterned.createJson(data, blockId, blockId.getPath()); + } + + @Override + public String getModelPattern(String block) { + Identifier blockId = Registry.BLOCK.getId(parent); + String name = blockId.getPath(); + Map textures = new HashMap() { + private static final long serialVersionUID = 1L; + { + put("%mod%", blockId.getNamespace() ); + put("%top%", name + "_top"); + put("%base%", name + "_base"); + put("%pillar%", name + "_pillar"); + put("%bottom%", name + "_bottom"); + } + }; + if (block.contains("column_top")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_COLUMN_TOP, textures); + } else if (block.contains("column")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_COLUMN, textures); + } else if (block.contains("top")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_TOP, textures); + } else if (block.contains("bottom")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_BOTTOM, textures); + } else if (block.contains("pillar")) { + return Patterned.createJson(Patterned.PEDESTAL_MODEL_PILLAR, textures); + } + return Patterned.createJson(Patterned.PEDESTAL_MODEL_DEFAULT, textures); + } + + @Override + public Identifier statePatternId() { + return Patterned.PEDESTAL_STATES_PATTERN; + } + static { VoxelShape basinUp = Block.createCuboidShape(2, 3, 2, 14, 4, 14); VoxelShape basinDown = Block.createCuboidShape(0, 0, 0, 16, 3, 16); - VoxelShape basin = VoxelShapes.union(basinDown, basinUp); - VoxelShape columnTop = Block.createCuboidShape(1, 14, 1, 15, 16, 15); + VoxelShape columnTopUp = Block.createCuboidShape(1, 14, 1, 15, 16, 15); + VoxelShape columnTopDown = Block.createCuboidShape(2, 13, 2, 14, 14, 14); VoxelShape pedestalTop = Block.createCuboidShape(1, 8, 1, 15, 10, 15); VoxelShape pedestalDefault = Block.createCuboidShape(1, 12, 1, 15, 14, 15); VoxelShape pillar = Block.createCuboidShape(3, 0, 3, 13, 8, 13); VoxelShape pillarDefault = Block.createCuboidShape(3, 0, 3, 13, 12, 13); + VoxelShape columnTop = VoxelShapes.union(columnTopDown, columnTopUp); + VoxelShape basin = VoxelShapes.union(basinDown, basinUp); SHAPE_PILLAR = Block.createCuboidShape(3, 0, 3, 13, 16, 13); SHAPE_DEFAULT = VoxelShapes.union(basin, pillarDefault, pedestalDefault); SHAPE_PEDESTAL_TOP = VoxelShapes.union(pillar, pedestalTop); diff --git a/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java b/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java index 02e676ca..953a9e1c 100644 --- a/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java @@ -6,6 +6,7 @@ import net.minecraft.block.Blocks; import net.minecraft.block.MaterialColor; import net.minecraft.tag.BlockTags; import net.minecraft.tag.ItemTags; +import ru.betterend.blocks.EndPedestal; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.blocks.basis.BlockPillar; import ru.betterend.blocks.basis.BlockSlab; @@ -28,6 +29,7 @@ public class StoneMaterial { public final Block wall; public final Block button; public final Block pressure_plate; + public final Block pedestal; public final Block bricks; public final Block brick_stairs; @@ -46,6 +48,7 @@ public class StoneMaterial { wall = EndBlocks.registerBlock(name + "_wall", new BlockWall(stone)); button = EndBlocks.registerBlock(name + "_button", new BlockStoneButton(stone)); pressure_plate = EndBlocks.registerBlock(name + "_plate", new BlockStonePressurePlate(stone)); + pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(stone)); bricks = EndBlocks.registerBlock(name + "_bricks", new BlockBase(material)); brick_stairs = EndBlocks.registerBlock(name + "_bricks_stairs", new BlockStairs(bricks)); @@ -57,6 +60,7 @@ public class StoneMaterial { GridRecipe.make(name + "_polished", polished).setOutputCount(4).setShape("##", "##").addMaterial('#', bricks).setGroup("end_tile").build(); GridRecipe.make(name + "_tiles", tiles).setOutputCount(4).setShape("##", "##").addMaterial('#', polished).setGroup("end_small_tile").build(); GridRecipe.make(name + "_pillar", pillar).setShape("#", "#").addMaterial('#', slab).setGroup("end_pillar").build(); + GridRecipe.make(name + "_pedestal", pedestal).setOutputCount(2).setShape("S", "#", "S").addMaterial('S', slab).addMaterial('#', pillar).setGroup("end_pedestal").build(); GridRecipe.make(name + "_stairs", stairs).setOutputCount(4).setShape("# ", "## ", "###").addMaterial('#', stone).setGroup("end_stone_stairs").build(); GridRecipe.make(name + "_slab", slab).setOutputCount(6).setShape("###").addMaterial('#', stone).setGroup("end_stone_slabs").build(); diff --git a/src/main/java/ru/betterend/blocks/entities/PedestalBlockEntity.java b/src/main/java/ru/betterend/blocks/entities/PedestalBlockEntity.java index 7fa28c09..91986120 100644 --- a/src/main/java/ru/betterend/blocks/entities/PedestalBlockEntity.java +++ b/src/main/java/ru/betterend/blocks/entities/PedestalBlockEntity.java @@ -16,7 +16,7 @@ public class PedestalBlockEntity extends BlockEntity implements Inventory, Ticka private int age; public PedestalBlockEntity() { - super(EndBlockEntities.ETERNAL_PEDESTAL); + super(EndBlockEntities.PEDESTAL); } public int getAge() { diff --git a/src/main/java/ru/betterend/blocks/entities/render/PedestalItemRenderer.java b/src/main/java/ru/betterend/blocks/entities/render/PedestalItemRenderer.java index 34a3293b..e0d9e588 100644 --- a/src/main/java/ru/betterend/blocks/entities/render/PedestalItemRenderer.java +++ b/src/main/java/ru/betterend/blocks/entities/render/PedestalItemRenderer.java @@ -12,11 +12,14 @@ import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.render.model.json.ModelTransformation; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.util.math.Vector3f; +import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; import net.minecraft.util.DyeColor; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; +import ru.betterend.blocks.BlockProperties.PedestalState; import ru.betterend.blocks.EternalPedestal; +import ru.betterend.blocks.basis.BlockPedestal; import ru.betterend.blocks.entities.PedestalBlockEntity; import ru.betterend.client.render.BeamRenderer; import ru.betterend.registry.EndBlocks; @@ -38,19 +41,29 @@ public class PedestalItemRenderer extends BlockEntityRenderer END_STONE_SMELTER = registerBlockEntity(EndStoneSmelter.ID, BlockEntityType.Builder.create(EndStoneSmelterBlockEntity::new, EndBlocks.END_STONE_SMELTER)); - public final static BlockEntityType ETERNAL_PEDESTAL = registerBlockEntity("eternal_pedestal", - BlockEntityType.Builder.create(PedestalBlockEntity::new, EndBlocks.ETERNAL_PEDESTAL)); + public final static BlockEntityType PEDESTAL = registerBlockEntity("pedestal", + BlockEntityType.Builder.create(PedestalBlockEntity::new, getPedestals())); public static final BlockEntityType CHEST = registerBlockEntity("chest", BlockEntityType.Builder.create(EChestBlockEntity::new, getChests())); public static final BlockEntityType BARREL = registerBlockEntity("barrel", @@ -76,4 +77,17 @@ public class EndBlockEntities { }); return result.toArray(new Block[] {}); } + + static Block[] getPedestals() { + List result = Lists.newArrayList(); + EndItems.getModBlocks().forEach((item) -> { + if (item instanceof BlockItem) { + Block block = ((BlockItem) item).getBlock(); + if (block instanceof BlockPedestal) { + result.add(block); + } + } + }); + return result.toArray(new Block[] {}); + } } diff --git a/src/main/java/ru/betterend/registry/EndBlockEntityRenders.java b/src/main/java/ru/betterend/registry/EndBlockEntityRenders.java index 5d9277e6..01fdef5b 100644 --- a/src/main/java/ru/betterend/registry/EndBlockEntityRenders.java +++ b/src/main/java/ru/betterend/registry/EndBlockEntityRenders.java @@ -12,6 +12,6 @@ public class EndBlockEntityRenders { public static void register() { BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.CHEST, EChestBlockEntityRenderer::new); BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.SIGN, ESignBlockEntityRenderer::new); - BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.ETERNAL_PEDESTAL, PedestalItemRenderer::new); + BlockEntityRendererRegistry.INSTANCE.register(EndBlockEntities.PEDESTAL, PedestalItemRenderer::new); } } diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index f1f10d19..77958126 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -1,6 +1,7 @@ package ru.betterend.registry; import net.minecraft.block.Block; +import net.minecraft.block.Blocks; import net.minecraft.block.MaterialColor; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; @@ -37,6 +38,7 @@ import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.EnderBlock; import ru.betterend.blocks.EternalPedestal; import ru.betterend.blocks.EternalRunedFlavolite; +import ru.betterend.blocks.PedestalVanilla; import ru.betterend.blocks.RunedFlavolite; import ru.betterend.blocks.TerminiteBlock; import ru.betterend.blocks.basis.BlockGlowingFur; @@ -68,6 +70,11 @@ public class EndBlocks { public static final StoneMaterial VIOLECITE = new StoneMaterial("violecite", MaterialColor.PURPLE); public static final Block FLAVOLITE_RUNED = registerBlock("flavolite_runed", new RunedFlavolite()); public static final Block FLAVOLITE_RUNED_ETERNAL = registerBlock("flavolite_runed_eternal", new EternalRunedFlavolite()); + public static final Block ANDESITE_PEDESTAL = registerBlock("andesite_pedestal", new PedestalVanilla(Blocks.ANDESITE)); + public static final Block DIORITE_PEDESTAL = registerBlock("diorite_pedestal", new PedestalVanilla(Blocks.DIORITE)); + public static final Block GRANITE_PEDESTAL = registerBlock("granite_pedestal", new PedestalVanilla(Blocks.GRANITE)); + public static final Block QUARTZ_PEDESTAL = registerBlock("quartz_pedestal", new PedestalVanilla(Blocks.QUARTZ_BLOCK)); + public static final Block PURPUR_PEDESTAL = registerBlock("purpur_pedestal", new PedestalVanilla(Blocks.PURPUR_BLOCK)); // Wooden Materials // public static final Block MOSSY_GLOWSHROOM_SAPLING = registerBlock("mossy_glowshroom_sapling", new BlockMossyGlowshroomSapling()); diff --git a/src/main/resources/assets/betterend/blockstates/purpur_pedestal.json b/src/main/resources/assets/betterend/blockstates/purpur_pedestal.json new file mode 100644 index 00000000..b66867fa --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/purpur_pedestal.json @@ -0,0 +1,22 @@ +{ + "variants": { + "state=default": { + "model": "betterend:block/purpur_pedestal_default" + }, + "state=column": { + "model": "betterend:block/purpur_pedestal_column" + }, + "state=column_top": { + "model": "betterend:block/purpur_pedestal_column_top" + }, + "state=pedestal_top": { + "model": "betterend:block/purpur_pedestal_top" + }, + "state=bottom": { + "model": "betterend:block/purpur_pedestal_bottom" + }, + "state=pillar": { + "model": "betterend:block/purpur_pedestal_pillar" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/blockstates/quartz_pedestal.json b/src/main/resources/assets/betterend/blockstates/quartz_pedestal.json new file mode 100644 index 00000000..9dce75da --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/quartz_pedestal.json @@ -0,0 +1,22 @@ +{ + "variants": { + "state=default": { + "model": "betterend:block/quartz_pedestal_default" + }, + "state=column": { + "model": "betterend:block/quartz_pedestal_column" + }, + "state=column_top": { + "model": "betterend:block/quartz_pedestal_column_top" + }, + "state=pedestal_top": { + "model": "betterend:block/quartz_pedestal_top" + }, + "state=bottom": { + "model": "betterend:block/quartz_pedestal_bottom" + }, + "state=pillar": { + "model": "betterend:block/quartz_pedestal_pillar" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/pedestal_column.json b/src/main/resources/assets/betterend/models/block/pedestal_column.json index 4464fce0..c0a32d81 100644 --- a/src/main/resources/assets/betterend/models/block/pedestal_column.json +++ b/src/main/resources/assets/betterend/models/block/pedestal_column.json @@ -32,7 +32,7 @@ { "__comment": "pillar", "from": [ 3, 4, 3 ], - "to": [ 13, 14, 13 ], + "to": [ 13, 13, 13 ], "faces": { "north": { "uv": [ 3, 4, 13, 14 ], "texture": "#pillar" }, "south": { "uv": [ 3, 4, 13, 14 ], "texture": "#pillar" }, @@ -40,6 +40,18 @@ "east": { "uv": [ 3, 4, 13, 14 ], "texture": "#pillar" } } }, + { + "__comment": "top", + "from": [ 2, 13, 2 ], + "to": [ 14, 14, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#base" }, + "north": { "uv": [ 2, 13, 14, 14 ], "texture": "#base" }, + "south": { "uv": [ 2, 13, 14, 14 ], "texture": "#base" }, + "west": { "uv": [ 2, 13, 14, 14 ], "texture": "#base" }, + "east": { "uv": [ 2, 13, 14, 14 ], "texture": "#base" } + } + }, { "__comment": "top", "from": [ 1, 14, 1 ], diff --git a/src/main/resources/assets/betterend/models/block/pedestal_column_top.json b/src/main/resources/assets/betterend/models/block/pedestal_column_top.json index 570f7123..a733a08a 100644 --- a/src/main/resources/assets/betterend/models/block/pedestal_column_top.json +++ b/src/main/resources/assets/betterend/models/block/pedestal_column_top.json @@ -7,7 +7,7 @@ { "__comment": "pillar", "from": [ 3, 0, 3 ], - "to": [ 13, 14, 13 ], + "to": [ 13, 13, 13 ], "faces": { "north": { "uv": [ 3, 0, 13, 14 ], "texture": "#pillar" }, "south": { "uv": [ 3, 0, 13, 14 ], "texture": "#pillar" }, @@ -15,6 +15,18 @@ "east": { "uv": [ 3, 0, 13, 14 ], "texture": "#pillar" } } }, + { + "__comment": "top", + "from": [ 2, 13, 2 ], + "to": [ 14, 14, 14 ], + "faces": { + "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#base" }, + "north": { "uv": [ 2, 13, 14, 14 ], "texture": "#base" }, + "south": { "uv": [ 2, 13, 14, 14 ], "texture": "#base" }, + "west": { "uv": [ 2, 13, 14, 14 ], "texture": "#base" }, + "east": { "uv": [ 2, 13, 14, 14 ], "texture": "#base" } + } + }, { "__comment": "top", "from": [ 1, 14, 1 ], diff --git a/src/main/resources/assets/betterend/models/block/purpur_pedestal_bottom.json b/src/main/resources/assets/betterend/models/block/purpur_pedestal_bottom.json new file mode 100644 index 00000000..a312e254 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/purpur_pedestal_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_bottom", + "textures": { + "base": "minecraft:block/purpur_block", + "pillar": "minecraft:block/purpur_pillar", + "bottom": "minecraft:block/purpur_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/purpur_pedestal_column.json b/src/main/resources/assets/betterend/models/block/purpur_pedestal_column.json new file mode 100644 index 00000000..55b0e077 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/purpur_pedestal_column.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_column", + "textures": { + "base": "minecraft:block/purpur_block", + "pillar": "minecraft:block/purpur_pillar", + "bottom": "minecraft:block/purpur_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/purpur_pedestal_column_top.json b/src/main/resources/assets/betterend/models/block/purpur_pedestal_column_top.json new file mode 100644 index 00000000..4a16ceaa --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/purpur_pedestal_column_top.json @@ -0,0 +1,7 @@ +{ + "parent": "betterend:block/pedestal_column_top", + "textures": { + "base": "minecraft:block/purpur_block", + "pillar": "minecraft:block/purpur_pillar" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/purpur_pedestal_default.json b/src/main/resources/assets/betterend/models/block/purpur_pedestal_default.json new file mode 100644 index 00000000..c8834f74 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/purpur_pedestal_default.json @@ -0,0 +1,9 @@ +{ + "parent": "betterend:block/pedestal_default", + "textures": { + "top": "minecraft:block/purpur_pillar_top", + "base": "minecraft:block/purpur_block", + "pillar": "minecraft:block/purpur_pillar", + "bottom": "minecraft:block/purpur_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/purpur_pedestal_pillar.json b/src/main/resources/assets/betterend/models/block/purpur_pedestal_pillar.json new file mode 100644 index 00000000..e769042c --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/purpur_pedestal_pillar.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/pedestal_pillar", + "textures": { + "pillar": "minecraft:block/purpur_pillar" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/purpur_pedestal_top.json b/src/main/resources/assets/betterend/models/block/purpur_pedestal_top.json new file mode 100644 index 00000000..bcfa3e59 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/purpur_pedestal_top.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_top", + "textures": { + "top": "minecraft:block/purpur_pillar_top", + "base": "minecraft:block/purpur_block", + "pillar": "minecraft:block/purpur_pillar" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/quartz_pedestal_bottom.json b/src/main/resources/assets/betterend/models/block/quartz_pedestal_bottom.json new file mode 100644 index 00000000..49fd5941 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/quartz_pedestal_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_bottom", + "textures": { + "base": "minecraft:block/quartz_block_side", + "pillar": "minecraft:block/quartz_pillar", + "bottom": "minecraft:block/quartz_block_bottom" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/quartz_pedestal_column.json b/src/main/resources/assets/betterend/models/block/quartz_pedestal_column.json new file mode 100644 index 00000000..967bba09 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/quartz_pedestal_column.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_column", + "textures": { + "base": "minecraft:block/quartz_block_side", + "pillar": "minecraft:block/quartz_pillar", + "bottom": "minecraft:block/quartz_block_bottom" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/quartz_pedestal_column_top.json b/src/main/resources/assets/betterend/models/block/quartz_pedestal_column_top.json new file mode 100644 index 00000000..5617fdd5 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/quartz_pedestal_column_top.json @@ -0,0 +1,7 @@ +{ + "parent": "betterend:block/pedestal_column_top", + "textures": { + "base": "minecraft:block/quartz_block_side", + "pillar": "minecraft:block/quartz_pillar" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/quartz_pedestal_default.json b/src/main/resources/assets/betterend/models/block/quartz_pedestal_default.json new file mode 100644 index 00000000..8bf589fb --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/quartz_pedestal_default.json @@ -0,0 +1,9 @@ +{ + "parent": "betterend:block/pedestal_default", + "textures": { + "top": "minecraft:block/quartz_pillar_top", + "base": "minecraft:block/quartz_block_side", + "pillar": "minecraft:block/quartz_pillar", + "bottom": "minecraft:block/quartz_block_bottom" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/quartz_pedestal_pillar.json b/src/main/resources/assets/betterend/models/block/quartz_pedestal_pillar.json new file mode 100644 index 00000000..b3437682 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/quartz_pedestal_pillar.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/pedestal_pillar", + "textures": { + "pillar": "minecraft:block/quartz_pillar" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/quartz_pedestal_top.json b/src/main/resources/assets/betterend/models/block/quartz_pedestal_top.json new file mode 100644 index 00000000..3866e7d7 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/quartz_pedestal_top.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_top", + "textures": { + "top": "minecraft:block/quartz_pillar_top", + "base": "minecraft:block/quartz_block_side", + "pillar": "minecraft:block/quartz_pillar" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/purpur_pedestal.json b/src/main/resources/assets/betterend/models/item/purpur_pedestal.json new file mode 100644 index 00000000..956941be --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/purpur_pedestal.json @@ -0,0 +1,3 @@ +{ + "parent": "betterend:block/purpur_pedestal_default" +} diff --git a/src/main/resources/assets/betterend/models/item/quartz_pedestal.json b/src/main/resources/assets/betterend/models/item/quartz_pedestal.json new file mode 100644 index 00000000..0a652c75 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/quartz_pedestal.json @@ -0,0 +1,3 @@ +{ + "parent": "betterend:block/quartz_pedestal_default" +} diff --git a/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_bottom.json b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_bottom.json new file mode 100644 index 00000000..d24efabd --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_bottom", + "textures": { + "base": "%mod%:block/%base%", + "pillar": "%mod%:block/%pillar%", + "bottom": "%mod%:block/%bottom%" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_column.json b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_column.json new file mode 100644 index 00000000..3a1b2754 --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_column.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_column", + "textures": { + "base": "%mod%:block/%base%", + "pillar": "%mod%:block/%pillar%", + "bottom": "%mod%:block/%bottom%" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_column_top.json b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_column_top.json new file mode 100644 index 00000000..06b858ed --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_column_top.json @@ -0,0 +1,7 @@ +{ + "parent": "betterend:block/pedestal_column_top", + "textures": { + "base": "%mod%:block/%base%", + "pillar": "%mod%:block/%pillar%" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_default.json b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_default.json new file mode 100644 index 00000000..b0c67390 --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_default.json @@ -0,0 +1,9 @@ +{ + "parent": "betterend:block/pedestal_default", + "textures": { + "top": "%mod%:block/%top%", + "base": "%mod%:block/%base%", + "pillar": "%mod%:block/%pillar%", + "bottom": "%mod%:block/%bottom%" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_pillar.json b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_pillar.json new file mode 100644 index 00000000..2eb2a1f3 --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_pillar.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/pedestal_pillar", + "textures": { + "pillar": "%mod%:block/%pillar%" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_top.json b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_top.json new file mode 100644 index 00000000..93cc04e9 --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/block/pattern_pedestal_top.json @@ -0,0 +1,8 @@ +{ + "parent": "betterend:block/pedestal_top", + "textures": { + "top": "%mod%:block/%top%", + "base": "%mod%:block/%base%", + "pillar": "%mod%:block/%pillar%" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/blockstate/pattern_pedestal.json b/src/main/resources/assets/betterend/patterns/blockstate/pattern_pedestal.json new file mode 100644 index 00000000..e52dcb8c --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/blockstate/pattern_pedestal.json @@ -0,0 +1,22 @@ +{ + "variants": { + "state=default": { + "model": "betterend:pattern/%block%/%block%_default" + }, + "state=column": { + "model": "betterend:pattern/%block%/%block%_column" + }, + "state=column_top": { + "model": "betterend:pattern/%block%/%block%_column_top" + }, + "state=pedestal_top": { + "model": "betterend:pattern/%block%/%block%_top" + }, + "state=bottom": { + "model": "betterend:pattern/%block%/%block%_bottom" + }, + "state=pillar": { + "model": "betterend:pattern/%block%/%block%_pillar" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/minecraft/textures/block/andesite_pillar.png b/src/main/resources/assets/minecraft/textures/block/andesite_pillar.png new file mode 100644 index 00000000..c6af95fc Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/andesite_pillar.png differ diff --git a/src/main/resources/assets/minecraft/textures/block/diorite_pillar.png b/src/main/resources/assets/minecraft/textures/block/diorite_pillar.png new file mode 100644 index 00000000..3da66679 Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/diorite_pillar.png differ diff --git a/src/main/resources/assets/minecraft/textures/block/granite_pillar.png b/src/main/resources/assets/minecraft/textures/block/granite_pillar.png new file mode 100644 index 00000000..2e1e0541 Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/granite_pillar.png differ