From 4ceda82bfbb5d3d69b344f49a0812aa722083fd6 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Sun, 21 Mar 2021 04:13:18 +0300 Subject: [PATCH] Fixes & textures --- .../ru/betterend/blocks/NeonCactusBlock.java | 116 ++++++++++++++++++ .../java/ru/betterend/registry/EndBlocks.java | 102 +-------------- .../ru/betterend/registry/EndFeatures.java | 1 + .../world/biome/cave/LushAuroraCaveBiome.java | 1 + .../assets/betterend/blockstates/magnula.json | 7 ++ .../betterend/blockstates/neon_cactus.json | 24 ++++ .../materialmaps/block/neon_cactus.json | 3 + .../models/block/magnula_bottom.json | 6 + .../models/block/magnula_middle.json | 6 + .../models/block/neon_cactus_big.json | 7 ++ .../models/block/neon_cactus_medium.json | 58 +++++++++ .../models/block/neon_cactus_small.json | 58 +++++++++ .../models/block/rubinea_bottom.json | 4 +- .../models/block/rubinea_middle.json | 4 +- .../assets/betterend/models/item/magnula.json | 6 + .../betterend/textures/block/chorus_plant.png | Bin 712 -> 2012 bytes .../betterend/textures/block/magnula.png | Bin 0 -> 275 bytes .../textures/block/magnula_bottom.png | Bin 0 -> 251 bytes .../textures/block/neon_cactus_big_side.png | Bin 0 -> 270 bytes .../textures/block/neon_cactus_big_top.png | Bin 0 -> 519 bytes .../block/neon_cactus_medium_side.png | Bin 0 -> 271 bytes .../textures/block/neon_cactus_medium_top.png | Bin 0 -> 222 bytes .../textures/block/neon_cactus_small_side.png | Bin 0 -> 256 bytes .../textures/block/neon_cactus_small_top.png | Bin 0 -> 192 bytes 24 files changed, 301 insertions(+), 102 deletions(-) create mode 100644 src/main/java/ru/betterend/blocks/NeonCactusBlock.java create mode 100644 src/main/resources/assets/betterend/blockstates/magnula.json create mode 100644 src/main/resources/assets/betterend/blockstates/neon_cactus.json create mode 100644 src/main/resources/assets/betterend/materialmaps/block/neon_cactus.json create mode 100644 src/main/resources/assets/betterend/models/block/magnula_bottom.json create mode 100644 src/main/resources/assets/betterend/models/block/magnula_middle.json create mode 100644 src/main/resources/assets/betterend/models/block/neon_cactus_big.json create mode 100644 src/main/resources/assets/betterend/models/block/neon_cactus_medium.json create mode 100644 src/main/resources/assets/betterend/models/block/neon_cactus_small.json create mode 100644 src/main/resources/assets/betterend/models/item/magnula.json create mode 100644 src/main/resources/assets/betterend/textures/block/magnula.png create mode 100644 src/main/resources/assets/betterend/textures/block/magnula_bottom.png create mode 100644 src/main/resources/assets/betterend/textures/block/neon_cactus_big_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/neon_cactus_big_top.png create mode 100644 src/main/resources/assets/betterend/textures/block/neon_cactus_medium_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/neon_cactus_medium_top.png create mode 100644 src/main/resources/assets/betterend/textures/block/neon_cactus_small_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/neon_cactus_small_top.png diff --git a/src/main/java/ru/betterend/blocks/NeonCactusBlock.java b/src/main/java/ru/betterend/blocks/NeonCactusBlock.java new file mode 100644 index 00000000..b3dab068 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/NeonCactusBlock.java @@ -0,0 +1,116 @@ +package ru.betterend.blocks; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.ShapeContext; +import net.minecraft.block.Waterloggable; +import net.minecraft.fluid.FluidState; +import net.minecraft.fluid.Fluids; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.property.DirectionProperty; +import net.minecraft.state.property.EnumProperty; +import net.minecraft.state.property.Properties; +import net.minecraft.util.BlockMirror; +import net.minecraft.util.BlockRotation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.Direction.Axis; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.util.shape.VoxelShapes; +import net.minecraft.world.BlockView; +import net.minecraft.world.WorldAccess; +import ru.betterend.blocks.BlockProperties.TripleShape; +import ru.betterend.blocks.basis.BlockBaseNotFull; +import ru.betterend.client.render.ERenderLayer; +import ru.betterend.interfaces.IRenderTypeable; +import ru.betterend.util.BlocksHelper; + +public class NeonCactusBlock extends BlockBaseNotFull implements Waterloggable, IRenderTypeable { + public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; + public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED; + public static final DirectionProperty FACING = Properties.FACING; + + private static final VoxelShape MEDIUM_X = Block.createCuboidShape(0, 2, 2, 16, 14, 14); + private static final VoxelShape MEDIUM_Y = Block.createCuboidShape(2, 0, 2, 14, 16, 14); + private static final VoxelShape MEDIUM_Z = Block.createCuboidShape(2, 2, 0, 14, 14, 16); + + private static final VoxelShape SMALL_X = Block.createCuboidShape(0, 4, 4, 16, 12, 12); + private static final VoxelShape SMALL_Y = Block.createCuboidShape(4, 0, 4, 12, 16, 12); + private static final VoxelShape SMALL_Z = Block.createCuboidShape(4, 4, 0, 12, 12, 16); + + public NeonCactusBlock() { + super(FabricBlockSettings.copyOf(Blocks.CACTUS).luminance(state -> { + TripleShape shape = state.get(SHAPE); + if (shape == TripleShape.TOP) { + return 15; + } + return shape == TripleShape.MIDDLE ? 13 : 10; + })); + } + + @Override + protected void appendProperties(StateManager.Builder stateManager) { + stateManager.add(SHAPE, WATERLOGGED, FACING); + } + + @Override + public BlockState getPlacementState(ItemPlacementContext ctx) { + WorldAccess worldAccess = ctx.getWorld(); + BlockPos blockPos = ctx.getBlockPos(); + return this.getDefaultState().with(WATERLOGGED, worldAccess.getFluidState(blockPos).getFluid() == Fluids.WATER).with(FACING, ctx.getSide()); + } + + @Override + public BlockState rotate(BlockState state, BlockRotation rotation) { + return BlocksHelper.rotateHorizontal(state, rotation, FACING); + } + + @Override + public BlockState mirror(BlockState state, BlockMirror mirror) { + return BlocksHelper.mirrorHorizontal(state, mirror, FACING); + } + + @Override + public FluidState getFluidState(BlockState state) { + return (Boolean) state.get(WATERLOGGED) ? Fluids.WATER.getStill(false) : super.getFluidState(state); + } + + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState newState, WorldAccess world, BlockPos pos, BlockPos posFrom) { + if ((Boolean) state.get(WATERLOGGED)) { + world.getFluidTickScheduler().schedule(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); + } + return state; + } + + @Override + public ERenderLayer getRenderLayer() { + return ERenderLayer.CUTOUT; + } + + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) { + TripleShape shape = state.get(SHAPE); + + if (shape == TripleShape.BOTTOM) { + return VoxelShapes.fullCube(); + } + Axis dir = state.get(FACING).getAxis(); + if (shape == TripleShape.MIDDLE) { + if (dir == Axis.Y) { + return MEDIUM_Y; + } + return dir == Axis.X ? MEDIUM_X : MEDIUM_Z; + } + else { + if (dir == Axis.Y) { + return SMALL_Y; + } + return dir == Axis.X ? SMALL_X : SMALL_Z; + } + } +} diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index f2186f82..0bd65fee 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -9,104 +9,7 @@ import net.minecraft.item.LilyPadItem; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.BetterEnd; -import ru.betterend.blocks.AeterniumAnvil; -import ru.betterend.blocks.AeterniumBlock; -import ru.betterend.blocks.AmaranitaCapBlock; -import ru.betterend.blocks.AmaranitaHymenophoreBlock; -import ru.betterend.blocks.AmaranitaStemBlock; -import ru.betterend.blocks.AmberBlock; -import ru.betterend.blocks.AncientEmeraldIceBlock; -import ru.betterend.blocks.AuroraCrystalBlock; -import ru.betterend.blocks.BlueVineBlock; -import ru.betterend.blocks.BlueVineLanternBlock; -import ru.betterend.blocks.BlueVineSeedBlock; -import ru.betterend.blocks.BoluxMushroomBlock; -import ru.betterend.blocks.BrimstoneBlock; -import ru.betterend.blocks.BubbleCoralBlock; -import ru.betterend.blocks.BulbVineBlock; -import ru.betterend.blocks.BulbVineLanternBlock; -import ru.betterend.blocks.BulbVineLanternColoredBlock; -import ru.betterend.blocks.BulbVineSeedBlock; -import ru.betterend.blocks.CavePumpkinBlock; -import ru.betterend.blocks.CavePumpkinVineBlock; -import ru.betterend.blocks.ChandelierBlock; -import ru.betterend.blocks.CharcoalBlock; -import ru.betterend.blocks.CharniaBlock; -import ru.betterend.blocks.ChorusGrassBlock; -import ru.betterend.blocks.DenseEmeraldIceBlock; -import ru.betterend.blocks.DenseSnowBlock; -import ru.betterend.blocks.DragonTreeSaplingBlock; -import ru.betterend.blocks.EmeraldIceBlock; -import ru.betterend.blocks.EndLilyBlock; -import ru.betterend.blocks.EndLilySeedBlock; -import ru.betterend.blocks.EndLotusFlowerBlock; -import ru.betterend.blocks.EndLotusLeafBlock; -import ru.betterend.blocks.EndLotusSeedBlock; -import ru.betterend.blocks.EndLotusStemBlock; -import ru.betterend.blocks.EndPathBlock; -import ru.betterend.blocks.EndPortalBlock; -import ru.betterend.blocks.EndStoneSmelter; -import ru.betterend.blocks.EndTerrainBlock; -import ru.betterend.blocks.EnderBlock; -import ru.betterend.blocks.EndstoneDustBlock; -import ru.betterend.blocks.EternalPedestal; -import ru.betterend.blocks.EternalRunedFlavolite; -import ru.betterend.blocks.FilaluxLanternBlock; -import ru.betterend.blocks.FlamaeaBlock; -import ru.betterend.blocks.GlowingHymenophoreBlock; -import ru.betterend.blocks.GlowingMossBlock; -import ru.betterend.blocks.GlowingPillarLuminophorBlock; -import ru.betterend.blocks.GlowingPillarRootsBlock; -import ru.betterend.blocks.GlowingPillarSeedBlock; -import ru.betterend.blocks.HelixTreeLeavesBlock; -import ru.betterend.blocks.HelixTreeSaplingBlock; -import ru.betterend.blocks.HydraluxBlock; -import ru.betterend.blocks.HydraluxPetalBlock; -import ru.betterend.blocks.HydraluxPetalColoredBlock; -import ru.betterend.blocks.HydraluxSaplingBlock; -import ru.betterend.blocks.HydrothermalVentBlock; -import ru.betterend.blocks.InfusionPedestal; -import ru.betterend.blocks.JellyshroomCapBlock; -import ru.betterend.blocks.LacugroveSaplingBlock; -import ru.betterend.blocks.LanceleafBlock; -import ru.betterend.blocks.LanceleafSeedBlock; -import ru.betterend.blocks.LargeAmaranitaBlock; -import ru.betterend.blocks.LumecornBlock; -import ru.betterend.blocks.LumecornSeedBlock; -import ru.betterend.blocks.MengerSpongeBlock; -import ru.betterend.blocks.MengerSpongeWetBlock; -import ru.betterend.blocks.MissingTileBlock; -import ru.betterend.blocks.MossyDragonBoneBlock; -import ru.betterend.blocks.MossyGlowshroomCapBlock; -import ru.betterend.blocks.MossyGlowshroomSaplingBlock; -import ru.betterend.blocks.MossyObsidian; -import ru.betterend.blocks.MurkweedBlock; -import ru.betterend.blocks.NeedlegrassBlock; -import ru.betterend.blocks.PedestalVanilla; -import ru.betterend.blocks.PythadendronSaplingBlock; -import ru.betterend.blocks.RespawnObeliskBlock; -import ru.betterend.blocks.RunedFlavolite; -import ru.betterend.blocks.ShadowBerryBlock; -import ru.betterend.blocks.ShadowGrassBlock; -import ru.betterend.blocks.SilkMothHiveBlock; -import ru.betterend.blocks.SilkMothNestBlock; -import ru.betterend.blocks.SmallAmaranitaBlock; -import ru.betterend.blocks.SmallJellyshroomBlock; -import ru.betterend.blocks.SmaragdantCrystalBlock; -import ru.betterend.blocks.SmaragdantCrystalShardBlock; -import ru.betterend.blocks.SulphurCrystalBlock; -import ru.betterend.blocks.TenaneaFlowersBlock; -import ru.betterend.blocks.TenaneaSaplingBlock; -import ru.betterend.blocks.TerrainPlantBlock; -import ru.betterend.blocks.TwistedUmbrellaMossBlock; -import ru.betterend.blocks.TwistedUmbrellaMossTallBlock; -import ru.betterend.blocks.UmbrellaMossBlock; -import ru.betterend.blocks.UmbrellaMossTallBlock; -import ru.betterend.blocks.UmbrellaTreeClusterBlock; -import ru.betterend.blocks.UmbrellaTreeClusterEmptyBlock; -import ru.betterend.blocks.UmbrellaTreeMembraneBlock; -import ru.betterend.blocks.UmbrellaTreeSaplingBlock; -import ru.betterend.blocks.VentBubbleColumnBlock; +import ru.betterend.blocks.*; import ru.betterend.blocks.basis.EndCropBlock; import ru.betterend.blocks.basis.EndFurnaceBlock; import ru.betterend.blocks.basis.EndLeavesBlock; @@ -298,6 +201,8 @@ public class EndBlocks { public static final Block AMARANITA_FUR = registerBlock("amaranita_fur", new FurBlock(MOSSY_GLOWSHROOM_SAPLING, 15, 4)); public static final Block AMARANITA_CAP = registerBlock("amaranita_cap", new AmaranitaCapBlock()); + public static final Block NEON_CACTUS = registerBlock("neon_cactus", new NeonCactusBlock()); + // Crops public static final Block SHADOW_BERRY = registerBlock("shadow_berry", new ShadowBerryBlock()); public static final Block BLOSSOM_BERRY = registerBlock("blossom_berry_seed", new EndCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS)); @@ -353,6 +258,7 @@ public class EndBlocks { public static final Block BULB_VINE = registerBlock("bulb_vine", new BulbVineBlock()); public static final Block JUNGLE_VINE = registerBlock("jungle_vine", new VineBlock()); public static final Block RUBINEA = registerBlock("rubinea", new VineBlock()); + public static final Block MAGNULA = registerBlock("magnula", new VineBlock()); public static final Block FILALUX = registerBlock("filalux", new FilaluxBlock()); public static final Block FILALUX_WINGS = registerBlock("filalux_wings", new FilaluxWingsBlock()); public static final Block FILALUX_LANTERN = registerBlock("filalux_lantern", new FilaluxLanternBlock()); diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index 85799e54..44ba276b 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -217,6 +217,7 @@ public class EndFeatures { public static final DefaultFeature CAVE_BUSH = new BushFeature(EndBlocks.CAVE_BUSH, EndBlocks.CAVE_BUSH); public static final DefaultFeature CAVE_GRASS = new SingleBlockFeature(EndBlocks.CAVE_GRASS); public static final DefaultFeature RUBINEA = new VineFeature(EndBlocks.RUBINEA, 8); + public static final DefaultFeature MAGNULA = new VineFeature(EndBlocks.MAGNULA, 8); public static final DefaultFeature END_STONE_STALACTITE = new StalactiteFeature(true, EndBlocks.END_STONE_STALACTITE, Blocks.END_STONE); public static final DefaultFeature END_STONE_STALAGMITE = new StalactiteFeature(false, EndBlocks.END_STONE_STALACTITE, Blocks.END_STONE); public static final DefaultFeature END_STONE_STALACTITE_CAVEMOSS = new StalactiteFeature(true, EndBlocks.END_STONE_STALACTITE_CAVEMOSS, Blocks.END_STONE, EndBlocks.CAVE_MOSS); diff --git a/src/main/java/ru/betterend/world/biome/cave/LushAuroraCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/LushAuroraCaveBiome.java index 5cf745fa..d6052b44 100644 --- a/src/main/java/ru/betterend/world/biome/cave/LushAuroraCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/LushAuroraCaveBiome.java @@ -29,6 +29,7 @@ public class LushAuroraCaveBiome extends EndCaveBiome { this.addCeilFeature(EndFeatures.CAVE_BUSH, 1); this.addCeilFeature(EndFeatures.CAVE_PUMPKIN, 1); this.addCeilFeature(EndFeatures.RUBINEA, 3); + this.addCeilFeature(EndFeatures.MAGNULA, 1); this.addCeilFeature(EndFeatures.END_STONE_STALACTITE_CAVEMOSS, 10); } diff --git a/src/main/resources/assets/betterend/blockstates/magnula.json b/src/main/resources/assets/betterend/blockstates/magnula.json new file mode 100644 index 00000000..327b9ae0 --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/magnula.json @@ -0,0 +1,7 @@ +{ + "variants": { + "shape=top": { "model": "betterend:block/magnula_middle" }, + "shape=middle": { "model": "betterend:block/magnula_middle" }, + "shape=bottom": { "model": "betterend:block/magnula_bottom" } + } +} diff --git a/src/main/resources/assets/betterend/blockstates/neon_cactus.json b/src/main/resources/assets/betterend/blockstates/neon_cactus.json new file mode 100644 index 00000000..d72dcb4c --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/neon_cactus.json @@ -0,0 +1,24 @@ +{ + "variants": { + "shape=bottom,facing=up": { "model": "betterend:block/neon_cactus_big" }, + "shape=bottom,facing=down": { "model": "betterend:block/neon_cactus_big", "x": 180 }, + "shape=bottom,facing=north": { "model": "betterend:block/neon_cactus_big", "x": 90 }, + "shape=bottom,facing=south": { "model": "betterend:block/neon_cactus_big", "x": 90, "y": 180 }, + "shape=bottom,facing=east": { "model": "betterend:block/neon_cactus_big", "x": 90, "y": 90 }, + "shape=bottom,facing=west": { "model": "betterend:block/neon_cactus_big", "x": 90, "y": 270 }, + + "shape=middle,facing=up": { "model": "betterend:block/neon_cactus_medium" }, + "shape=middle,facing=down": { "model": "betterend:block/neon_cactus_medium", "x": 180 }, + "shape=middle,facing=north": { "model": "betterend:block/neon_cactus_medium", "x": 90 }, + "shape=middle,facing=south": { "model": "betterend:block/neon_cactus_medium", "x": 90, "y": 180 }, + "shape=middle,facing=east": { "model": "betterend:block/neon_cactus_medium", "x": 90, "y": 90 }, + "shape=middle,facing=west": { "model": "betterend:block/neon_cactus_medium", "x": 90, "y": 270 }, + + "shape=top,facing=up": { "model": "betterend:block/neon_cactus_small" }, + "shape=top,facing=down": { "model": "betterend:block/neon_cactus_small", "x": 180 }, + "shape=top,facing=north": { "model": "betterend:block/neon_cactus_small", "x": 90 }, + "shape=top,facing=south": { "model": "betterend:block/neon_cactus_small", "x": 90, "y": 180 }, + "shape=top,facing=east": { "model": "betterend:block/neon_cactus_small", "x": 90, "y": 90 }, + "shape=top,facing=west": { "model": "betterend:block/neon_cactus_small", "x": 90, "y": 270 } + } +} diff --git a/src/main/resources/assets/betterend/materialmaps/block/neon_cactus.json b/src/main/resources/assets/betterend/materialmaps/block/neon_cactus.json new file mode 100644 index 00000000..36db9946 --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/neon_cactus.json @@ -0,0 +1,3 @@ +{ + "defaultMaterial": "betterend:glow_50" +} diff --git a/src/main/resources/assets/betterend/models/block/magnula_bottom.json b/src/main/resources/assets/betterend/models/block/magnula_bottom.json new file mode 100644 index 00000000..7845801a --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/magnula_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/magnula_bottom" + } +} diff --git a/src/main/resources/assets/betterend/models/block/magnula_middle.json b/src/main/resources/assets/betterend/models/block/magnula_middle.json new file mode 100644 index 00000000..75c4a5f8 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/magnula_middle.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/magnula" + } +} diff --git a/src/main/resources/assets/betterend/models/block/neon_cactus_big.json b/src/main/resources/assets/betterend/models/block/neon_cactus_big.json new file mode 100644 index 00000000..1c42b356 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/neon_cactus_big.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "betterend:block/neon_cactus_big_top", + "side": "betterend:block/neon_cactus_big_side" + } +} diff --git a/src/main/resources/assets/betterend/models/block/neon_cactus_medium.json b/src/main/resources/assets/betterend/models/block/neon_cactus_medium.json new file mode 100644 index 00000000..0c8dded1 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/neon_cactus_medium.json @@ -0,0 +1,58 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/neon_cactus_small_side", + "side": "betterend:block/neon_cactus_medium_side", + "top": "betterend:block/neon_cactus_medium_top" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 2, 0, 2 ], + "to": [ 14, 16, 14 ], + "shade": false, + "faces": { + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" }, + "north": { "uv": [ 2, 0, 14, 16 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 16 ], "texture": "#side" }, + "west": { "uv": [ 2, 0, 14, 16 ], "texture": "#side" }, + "east": { "uv": [ 2, 0, 14, 16 ], "texture": "#side" } + } + }, + { + "__comment": "PlaneX2", + "from": [ 0, 0, 0 ], + "to": [ 0.001, 16, 22.5 ], + "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" } + } + }, + { + "__comment": "PlaneX2", + "from": [ 16, 0, 0 ], + "to": [ 16.001, 16, 22.5 ], + "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" } + } + }, + { + "__comment": "Box1", + "from": [ 2, -2, 2 ], + "to": [ 14, 0, 14 ], + "shade": false, + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" }, + "north": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" }, + "south": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" }, + "west": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" }, + "east": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/neon_cactus_small.json b/src/main/resources/assets/betterend/models/block/neon_cactus_small.json new file mode 100644 index 00000000..91da5dc6 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/neon_cactus_small.json @@ -0,0 +1,58 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/neon_cactus_small_side", + "side": "betterend:block/neon_cactus_small_side", + "top": "betterend:block/neon_cactus_small_top" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 4, 0, 4 ], + "to": [ 12, 16, 12 ], + "shade": false, + "faces": { + "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" }, + "north": { "uv": [ 4, 0, 12, 16 ], "texture": "#side" }, + "south": { "uv": [ 4, 0, 12, 16 ], "texture": "#side" }, + "west": { "uv": [ 4, 0, 12, 16 ], "texture": "#side" }, + "east": { "uv": [ 4, 0, 12, 16 ], "texture": "#side" } + } + }, + { + "__comment": "PlaneX2", + "from": [ 0, 0, 0 ], + "to": [ 0.001, 16, 22.5 ], + "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" } + } + }, + { + "__comment": "PlaneX2", + "from": [ 16, 0, 0 ], + "to": [ 16.001, 16, 22.5 ], + "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" } + } + }, + { + "__comment": "Box1", + "from": [ 4, -4, 4 ], + "to": [ 12, 0, 12 ], + "shade": false, + "faces": { + "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" }, + "north": { "uv": [ 4, 0, 12, 4 ], "texture": "#side" }, + "south": { "uv": [ 4, 0, 12, 4 ], "texture": "#side" }, + "west": { "uv": [ 4, 0, 12, 4 ], "texture": "#side" }, + "east": { "uv": [ 4, 0, 12, 4 ], "texture": "#side" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/rubinea_bottom.json b/src/main/resources/assets/betterend/models/block/rubinea_bottom.json index 37fb8bb5..7a860b43 100644 --- a/src/main/resources/assets/betterend/models/block/rubinea_bottom.json +++ b/src/main/resources/assets/betterend/models/block/rubinea_bottom.json @@ -1,6 +1,6 @@ { - "parent": "betterend:block/cross_no_distortion", + "parent": "block/cross", "textures": { - "texture": "betterend:block/rubinea_bottom" + "cross": "betterend:block/rubinea_bottom" } } diff --git a/src/main/resources/assets/betterend/models/block/rubinea_middle.json b/src/main/resources/assets/betterend/models/block/rubinea_middle.json index b99830f1..9f15fd91 100644 --- a/src/main/resources/assets/betterend/models/block/rubinea_middle.json +++ b/src/main/resources/assets/betterend/models/block/rubinea_middle.json @@ -1,6 +1,6 @@ { - "parent": "betterend:block/cross_no_distortion", + "parent": "block/cross", "textures": { - "texture": "betterend:block/rubinea" + "cross": "betterend:block/rubinea" } } diff --git a/src/main/resources/assets/betterend/models/item/magnula.json b/src/main/resources/assets/betterend/models/item/magnula.json new file mode 100644 index 00000000..f5c0f11c --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/magnula.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/magnula_bottom" + } +} diff --git a/src/main/resources/assets/betterend/textures/block/chorus_plant.png b/src/main/resources/assets/betterend/textures/block/chorus_plant.png index 2bf9e6f223652cd03dfdf7ff91fcef5d9a8bc91c..828b15af00d50b2e74b5e5423733464a0640cdd3 100644 GIT binary patch delta 1346 zcmbVMO>5LZ7>-3j@u1+vYBG~#zcMtIx?Aajsij?Ly*WFX?1mz$l5+0*^dh@s3VK~`njs~WVo3#B6!~6Jf7!jZ|*Z_ zHdSsKVC^tU13oP7pLxStL@-ack!=~sF|2B*L^P2 zgDqzXDk~=-f?Ns?C=Pj^5UDy!NRPoR?dc#Z=YHcRk9jUFOaGjS8@`X*X(32TS-a)w zQn(pK0S>E`kXVjwkcPtyyITni7rE3xtkMXXMI2fu^Y<-I2P(hw_rV|U%fAym%_G@k zB)**J0v^?Qsxt6SRLGQ#XRUF-UQGW=97kYM4VX|>=AKSfc3Gg$j-&sM!IXB`XOi?x z%9k=;%9KxW1rNoL0G|+7 zAZ?N~*R^7I%*3l%3!gP_`yRxlS}tO_R556$USgNDa4Jv*S4ogxFvEWssOuC71B!Ne zx;TbNOx5jo6k;*tU}80$^uNBs(Av_&Q72c~iFsLoXyiu!$1cbDrs|*6u{g8y!SnMx z2T!%^{ryJS_V`Jcl8-938=gFxmZiP;wswXvt4ZOh#Ei>5IT><3%YLeuefUaWj MboFyt=akR{0MSZkcK`qY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/magnula_bottom.png b/src/main/resources/assets/betterend/textures/block/magnula_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..eda6b9633a683f8621eb7ebab274ecd65c6245cd GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~#Q>iWS0HVY zG}pCacg)1ASqq;vZ~Gp^rCKgxxl}P|r(WVI%eEak7F}3%MqmYv!2lE91jfD603C{aVAG?Y9{8nQuXuEh>DT4FN{meIC4zMoD-M-WI zLE`#*u`4q;odVaNGxB25W}3KLAtG;8Mti!m;MVhkNr7)~A7p%GIG0hPY4TR?AFL;H m<}LnlXQsyk>l&H*Gty;lObjL*&({JiXYh3Ob6Mw<&;$T+hhF&r literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/neon_cactus_big_side.png b/src/main/resources/assets/betterend/textures/block/neon_cactus_big_side.png new file mode 100644 index 0000000000000000000000000000000000000000..2c681c7d49e17f7e9fafe4b6493bfd72548bec66 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~l>na*S0Ei5 zSeuj5Q&zd6e!_{473WHJU5LDL@%ZuMSFc`u{P^+5j~@m7&n^S1<0%R93ugF_0Gvkx z)PUj*o-U3d5>sQ(dkQfdaxgn|ALah@fB(ccPbLWmpH=wKa5U!f+RtJ<7W<9XWIg3+ za^3dejp=8`>YU6EjjP4y#N7ONT0vr=*M)@v4Nr46H){P&+@aXCnYGWO>3hS^v-Odo z%pcldh+TZo>Y<<7;e*^#Q4wh@*6=!Y-x`n~h)z4*} HQ$iB}Sl@Qk literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/neon_cactus_big_top.png b/src/main/resources/assets/betterend/textures/block/neon_cactus_big_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c4c0a81c4a4720ea36a78a4502ff0a7d158d46 GIT binary patch literal 519 zcmV+i0{H!jP)Px$!AV3xR5*=glfjCcP!xtgjYw|-4QSFx;v#e*lak^K%%){tVAiFNQs{%ptoi~% zrj)EwVp1h4$bb&hiJ3)mZ!|e8@&B*qocsN1-|v4M`gWi0&_#@u_GyrP<%bIKt>REc^ z8ABR`VqY6dne9)O}4}APv)2$BV;gWQ{ z#@KhT`xeHl#`~u;g>o02F^YJK7azOl$x8i=z%dgc^iKOX^*31f3$#@2YLEZ`002ov JPDHLkV1kp1<39iZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/neon_cactus_medium_side.png b/src/main/resources/assets/betterend/textures/block/neon_cactus_medium_side.png new file mode 100644 index 0000000000000000000000000000000000000000..1323e564aa84ca4dac0f946e533aacaf6ab357b8 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~l>na*S0J4f znpKouT~jl=ZPJ1MRmZFLoQ%DC`uOqVSFc`u{P^+5j~|=dvO(&3N`m}?8U7;x=aB$4 zpm?LFi(`nyRMY-wp#usW%$3s*{e6GC;i`PQ>>U>+A=CbfL!mRCF?>1mj$6uMHQNl1 zV_Jf>pF0bJS1NfO>pCv9vT(zy-YtwT7-qL>U042laJDdaCf9en#>vM6cVvYvc%b~$ zJU7V4KiEx>;Yf~Ge1pX8WoL_$b7o&-ZJY6@zPh3B3$xEbmhjz)8NYyzVeoYIb6Mw< G&;$TS_i;=B literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/neon_cactus_medium_top.png b/src/main/resources/assets/betterend/textures/block/neon_cactus_medium_top.png new file mode 100644 index 0000000000000000000000000000000000000000..74f13b760baba716f41b1fe1aa44eefeae0c9046 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~i2$DvS0J4f znpKouT~jl=ZPJ1MRmZFLoQ%DC+HdJAEub7nNswPK!+!|4dMd;SD3;*q;us<^wYT3> zh{2G9NqNVg|Hqpn)viBDm>SDc(9@pI7Qug()q$y`m$m9+M?sPHi-}V;H#xi)N_lme zQS{3xhINP3E#xMJ$MSFB-ITn+vHe`coTPQF^@dx`HkTeay;7bng7N(te|Be}T@0SC KelF{r5}E)#{!r`y literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/neon_cactus_small_side.png b/src/main/resources/assets/betterend/textures/block/neon_cactus_small_side.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ea7629c34a39b1c733678cc084f5748b14f2c3 GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~l>na*S0J4c z5nG;}+gRVzHD$x(HQVa-h2GSFc`u{P^+5k019b1TO=s<0%R93ugF_0Gvkx z)PUkeo-U3d5>svaJcSq(IhZ3wrvCh2uYROeI(A_*$FViNf_aC2GVJMp@wUNdW0^yp z%IX6hY1)!Axz!mL6yHA)lI}D=<)x+m`HH%JB4qa_eE6S81`UwHTDj_aE^0 r_TySojB~Xr|B*-tA;XediJr!aE6m#-)aSV}|y7s&` zAA=$XbHH2nclF8E(xu-fZK%}rm3VxyVH0c4g4L&O9&Fldbz#}0ox;BkUcdOAQ%Un_ g8|MFVdQ&MBb@0CRCgasU7T literal 0 HcmV?d00001