From 454fd1439b0821aad011a361da8a007491dfa540 Mon Sep 17 00:00:00 2001 From: Aleksey Date: Thu, 29 Oct 2020 16:11:13 +0300 Subject: [PATCH] Moooooore pedestals! --- psd/stones_pillar.psd | Bin 0 -> 32244 bytes .../java/ru/betterend/blocks/EndPedestal.java | 46 ++++++++++++++ .../ru/betterend/blocks/EternalPedestal.java | 1 + .../ru/betterend/blocks/PedestalVanilla.java | 45 +++++++++++++ .../betterend/blocks/basis/BlockPedestal.java | 60 ++++++++++++++++-- .../blocks/complex/StoneMaterial.java | 4 ++ .../blocks/entities/PedestalBlockEntity.java | 2 +- .../entities/render/PedestalItemRenderer.java | 21 ++++-- .../ru/betterend/interfaces/Patterned.java | 7 ++ .../ru/betterend/recipe/CraftingRecipes.java | 31 +++++++++ .../betterend/registry/EndBlockEntities.java | 18 +++++- .../registry/EndBlockEntityRenders.java | 2 +- .../java/ru/betterend/registry/EndBlocks.java | 7 ++ .../blockstates/purpur_pedestal.json | 22 +++++++ .../blockstates/quartz_pedestal.json | 22 +++++++ .../models/block/pedestal_column.json | 14 +++- .../models/block/pedestal_column_top.json | 14 +++- .../models/block/purpur_pedestal_bottom.json | 8 +++ .../models/block/purpur_pedestal_column.json | 8 +++ .../block/purpur_pedestal_column_top.json | 7 ++ .../models/block/purpur_pedestal_default.json | 9 +++ .../models/block/purpur_pedestal_pillar.json | 6 ++ .../models/block/purpur_pedestal_top.json | 8 +++ .../models/block/quartz_pedestal_bottom.json | 8 +++ .../models/block/quartz_pedestal_column.json | 8 +++ .../block/quartz_pedestal_column_top.json | 7 ++ .../models/block/quartz_pedestal_default.json | 9 +++ .../models/block/quartz_pedestal_pillar.json | 6 ++ .../models/block/quartz_pedestal_top.json | 8 +++ .../models/item/purpur_pedestal.json | 3 + .../models/item/quartz_pedestal.json | 3 + .../block/pattern_pedestal_bottom.json | 8 +++ .../block/pattern_pedestal_column.json | 8 +++ .../block/pattern_pedestal_column_top.json | 7 ++ .../block/pattern_pedestal_default.json | 9 +++ .../block/pattern_pedestal_pillar.json | 6 ++ .../patterns/block/pattern_pedestal_top.json | 8 +++ .../patterns/blockstate/pattern_pedestal.json | 22 +++++++ .../textures/block/andesite_pillar.png | Bin 0 -> 737 bytes .../textures/block/diorite_pillar.png | Bin 0 -> 745 bytes .../textures/block/granite_pillar.png | Bin 0 -> 680 bytes 41 files changed, 468 insertions(+), 14 deletions(-) create mode 100644 psd/stones_pillar.psd create mode 100644 src/main/java/ru/betterend/blocks/EndPedestal.java create mode 100644 src/main/java/ru/betterend/blocks/PedestalVanilla.java create mode 100644 src/main/resources/assets/betterend/blockstates/purpur_pedestal.json create mode 100644 src/main/resources/assets/betterend/blockstates/quartz_pedestal.json create mode 100644 src/main/resources/assets/betterend/models/block/purpur_pedestal_bottom.json create mode 100644 src/main/resources/assets/betterend/models/block/purpur_pedestal_column.json create mode 100644 src/main/resources/assets/betterend/models/block/purpur_pedestal_column_top.json create mode 100644 src/main/resources/assets/betterend/models/block/purpur_pedestal_default.json create mode 100644 src/main/resources/assets/betterend/models/block/purpur_pedestal_pillar.json create mode 100644 src/main/resources/assets/betterend/models/block/purpur_pedestal_top.json create mode 100644 src/main/resources/assets/betterend/models/block/quartz_pedestal_bottom.json create mode 100644 src/main/resources/assets/betterend/models/block/quartz_pedestal_column.json create mode 100644 src/main/resources/assets/betterend/models/block/quartz_pedestal_column_top.json create mode 100644 src/main/resources/assets/betterend/models/block/quartz_pedestal_default.json create mode 100644 src/main/resources/assets/betterend/models/block/quartz_pedestal_pillar.json create mode 100644 src/main/resources/assets/betterend/models/block/quartz_pedestal_top.json create mode 100644 src/main/resources/assets/betterend/models/item/purpur_pedestal.json create mode 100644 src/main/resources/assets/betterend/models/item/quartz_pedestal.json create mode 100644 src/main/resources/assets/betterend/patterns/block/pattern_pedestal_bottom.json create mode 100644 src/main/resources/assets/betterend/patterns/block/pattern_pedestal_column.json create mode 100644 src/main/resources/assets/betterend/patterns/block/pattern_pedestal_column_top.json create mode 100644 src/main/resources/assets/betterend/patterns/block/pattern_pedestal_default.json create mode 100644 src/main/resources/assets/betterend/patterns/block/pattern_pedestal_pillar.json create mode 100644 src/main/resources/assets/betterend/patterns/block/pattern_pedestal_top.json create mode 100644 src/main/resources/assets/betterend/patterns/blockstate/pattern_pedestal.json create mode 100644 src/main/resources/assets/minecraft/textures/block/andesite_pillar.png create mode 100644 src/main/resources/assets/minecraft/textures/block/diorite_pillar.png create mode 100644 src/main/resources/assets/minecraft/textures/block/granite_pillar.png diff --git a/psd/stones_pillar.psd b/psd/stones_pillar.psd new file mode 100644 index 0000000000000000000000000000000000000000..e85767409720abfdc1eda5e56c657141cfb76637 GIT binary patch literal 32244 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 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 0000000000000000000000000000000000000000..c6af95fc9f767e7992b3653f524378638f4c8f9a GIT binary patch literal 737 zcmV<70v`Q|P)1p@b{SSEh>^a|j^_Y)8`jF?pzTnB@Cp`M(nA4wr z=8KarIr;RM-+upt2geWj_Uq4i`s^2e`2IWO&h0Vvre-imsa7>vnvta$jWKxdQA!~q zq=S^5wY)jI0>IiGXXn?*`S~?5Mq-Q%3yp~2yaOOf5{kUw-q8VBma(a8?%sJ1=NvIa z0A#b>a%*u5=PW8Ou+E~?fX3MU_m{8EaLzHG&rx}SQi`%H38D~{7kKYU)0D6?=uG3B zWmssEBw@8)F)TE`_4u}>URGFVF*}2V7HL)$UDpv~+{d0yrZmP{MJw#}Adp-BfRUDt8={t?C)!VRZ-Q!`MCdq)Sz>x+uU zH2i-9H6X@FV=N&C>P^k-Ki{B~+NUgMB>?{}En?OyoO6T_Ps>cELob-bshDxLT5e5zy7}L_aQw3*%u^{XW)>>BU6=7!pXj{)@UXrFg zP?Z-{tBPt>L7E|l2a_B6eS+a|h}QXD>1;ZqURD6)I`6llHRY`2=x~Z${8OQnV!PQ8 zc80f?Z)sakV=UHLtnEj2_3nx`1R7&Wk_7KPXBXE<2m$Xsi^YP*SjM9U_2^t&XMU1x7{EjG^RJx#g5T%M3HAGrKqY32`&EtsaIE! T-;}7s00000NkvXXu0mjf+h$rq literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..3da666790c5ada60ae13d8b739306598b378d626 GIT binary patch literal 745 zcmVo6bBV0Iw>N7`wI~z1ws^101_1Ncic7C-AUQKl{QDg z-g@ngJ>wZuI7;{FE8dgd`@Q7#o7cn4p78T;zi@qZ#b=*h^5d^R@%-jnJ~{iC-~axT zt7p%+_~@KJ{`rgNH#dB~e9Ct}e9!gO*T`nGA;ySv4iUi^gHnpK(=*aEWugu959g$5 zib#TUj?Q)TeGh=l=W_szF_c9~-}el|@c2_okxyr|ZHxCkx0@9rf{0KQ1=4jLT5FV2 z?DjjR(Gj_4BT#3G);quaCyEY z%Q8fSs_GCCl+pmi7_rvky+_hCrF`-P=NzZ`0uceAEK2@;_l_*f_^-MngaAOETZ*Ef zX&NSz2@*nJ_x?Rv8bf2U0KE5{ zoP5BGS1%vZRxB?T7-O)heH0TBmKO{9zQ&X(ORQLQB~ao+GA737(xgS`w$_jFB`= bi81m&+NV%&>1J0q00000NkvXXu0mjf$$eqO literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2e1e0541e0cddffa52cd16745b74c3d637cbe361 GIT binary patch literal 680 zcmV;Z0$2TsP))U;f~$n@><-U5PQWZ5u9Sx~{`{$K)+qYlIL8A&4;&Ltyd> z?>$Ounx;WCO+&4fW8X7cgZG|c7|l8 zk@JRXjUj}vqc%-L-tvw;UYdmv_&Co@S^*%WB!qxSF;Z(K#Yi^{IOka0!sNsGr=0h< zZCgfbD5X$KrPhj2O5?pJ#E6?`wrxWQ!D!9d{cvt%twm`~Hw6j6t_8-7t`I#yiKm+xO(0(OP2;2ZWT0S}OpLuJ2Q8W%ZuP2c~JF*18wv zQW&ivrNqa1X7wH+gg|Re&fAU(Fj|9BigGDZO40ZI?v3rbvzet7QcC9$J^O)LD~C%H zDJ4p&T~1ineUV}aX9)mp+ajf8`}ZG8DTH<1M;g|ZZWx%RiBbxa4>;!lNHHP2cl!>w zc}56<(weuoAILdlyAC(c|X{8k2vQpmnlgp;g*G3D*pjtI#dEsQg*Wd O0000