diff --git a/src/main/java/ru/betterend/blocks/BlockLanceleaf.java b/src/main/java/ru/betterend/blocks/BlockLanceleaf.java new file mode 100644 index 00000000..50005609 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/BlockLanceleaf.java @@ -0,0 +1,53 @@ +package ru.betterend.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.EnumProperty; +import net.minecraft.state.property.IntProperty; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.world.WorldAccess; +import net.minecraft.world.WorldView; +import ru.betterend.blocks.BlockProperties.PentaShape; +import ru.betterend.blocks.basis.BlockPlant; +import ru.betterend.registry.EndBlocks; + +public class BlockLanceleaf extends BlockPlant { + public static final EnumProperty SHAPE = BlockProperties.PENTA_SHAPE; + public static final IntProperty ROTATION = BlockProperties.ROTATION; + + public BlockLanceleaf() { + super(); + } + + @Override + protected void appendProperties(StateManager.Builder stateManager) { + stateManager.add(SHAPE, ROTATION); + } + + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + PentaShape shape = state.get(SHAPE); + if (shape == PentaShape.TOP) { + return world.getBlockState(pos.down()).isOf(this); + } + else if (shape == PentaShape.BOTTOM) { + return world.getBlockState(pos.down()).isOf(EndBlocks.AMBER_MOSS) && world.getBlockState(pos.up()).isOf(this); + } + else { + return world.getBlockState(pos.down()).isOf(this) && world.getBlockState(pos.up()).isOf(this); + } + } + + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction facing, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + if (!canPlaceAt(state, world, pos)) { + return Blocks.AIR.getDefaultState(); + } + else { + return state; + } + } +} diff --git a/src/main/java/ru/betterend/blocks/BlockLanceleafSeed.java b/src/main/java/ru/betterend/blocks/BlockLanceleafSeed.java new file mode 100644 index 00000000..07eacedf --- /dev/null +++ b/src/main/java/ru/betterend/blocks/BlockLanceleafSeed.java @@ -0,0 +1,40 @@ +package ru.betterend.blocks; + +import java.util.Random; + +import net.minecraft.block.BlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.BlockPos.Mutable; +import net.minecraft.world.StructureWorldAccess; +import ru.betterend.blocks.BlockProperties.PentaShape; +import ru.betterend.blocks.basis.BlockPlantWithAge; +import ru.betterend.registry.EndBlocks; +import ru.betterend.util.BlocksHelper; +import ru.betterend.util.MHelper; + +public class BlockLanceleafSeed extends BlockPlantWithAge { + @Override + public void growAdult(StructureWorldAccess world, Random random, BlockPos pos) { + int height = MHelper.randRange(4, 6, random); + int h = BlocksHelper.upRay(world, pos, height + 2); + if (h < height + 1) { + return; + } + int rotation = random.nextInt(4); + Mutable mut = new Mutable().set(pos); + BlockState plant = EndBlocks.LANCELEAF.getDefaultState().with(BlockProperties.ROTATION, rotation); + BlocksHelper.setWithoutUpdate(world, mut, plant.with(BlockProperties.PENTA_SHAPE, PentaShape.BOTTOM)); + BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), plant.with(BlockProperties.PENTA_SHAPE, PentaShape.PRE_BOTTOM)); + for (int i = 2; i < height - 2; i++) { + BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), plant.with(BlockProperties.PENTA_SHAPE, PentaShape.MIDDLE)); + } + BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), plant.with(BlockProperties.PENTA_SHAPE, PentaShape.PRE_TOP)); + BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), plant.with(BlockProperties.PENTA_SHAPE, PentaShape.TOP)); + } + + @Override + protected boolean isTerrain(BlockState state) { + return state.isOf(EndBlocks.AMBER_MOSS); + } +} diff --git a/src/main/java/ru/betterend/blocks/BlockProperties.java b/src/main/java/ru/betterend/blocks/BlockProperties.java index 29b92634..ef458715 100644 --- a/src/main/java/ru/betterend/blocks/BlockProperties.java +++ b/src/main/java/ru/betterend/blocks/BlockProperties.java @@ -2,15 +2,18 @@ package ru.betterend.blocks; import net.minecraft.state.property.BooleanProperty; import net.minecraft.state.property.EnumProperty; +import net.minecraft.state.property.IntProperty; import net.minecraft.util.StringIdentifiable; public class BlockProperties { public static final EnumProperty TRIPLE_SHAPE = EnumProperty.of("shape", TripleShape.class); public final static EnumProperty PEDESTAL_STATE = EnumProperty.of("state", PedestalState.class); public static final EnumProperty HYDRALUX_SHAPE = EnumProperty.of("shape", HydraluxShape.class); + public static final EnumProperty PENTA_SHAPE = EnumProperty.of("shape", PentaShape.class); public static final BooleanProperty HAS_ITEM = BooleanProperty.of("has_item"); public static final BooleanProperty HAS_LIGHT = BooleanProperty.of("has_light"); public static final BooleanProperty ACTIVATED = BooleanProperty.of("active"); + public static final IntProperty ROTATION = IntProperty.of("rotation", 0, 3); public static enum TripleShape implements StringIdentifiable { TOP("top"), @@ -89,4 +92,28 @@ public class BlockProperties { return glow; } } + + public static enum PentaShape implements StringIdentifiable { + BOTTOM("bottom"), + PRE_BOTTOM("pre_bottom"), + MIDDLE("middle"), + PRE_TOP("pre_top"), + TOP("top"); + + private final String name; + + PentaShape(String name) { + this.name = name; + } + + @Override + public String asString() { + return name; + } + + @Override + public String toString() { + return name; + } + } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockDoublePlant.java b/src/main/java/ru/betterend/blocks/basis/BlockDoublePlant.java index f3dc0809..c1290b9e 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockDoublePlant.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockDoublePlant.java @@ -34,6 +34,7 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldView; +import ru.betterend.blocks.BlockProperties; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.registry.EndTags; @@ -41,7 +42,7 @@ import ru.betterend.util.BlocksHelper; public class BlockDoublePlant extends BlockBaseNotFull implements IRenderTypeable, Fertilizable { private static final VoxelShape SHAPE = Block.createCuboidShape(4, 2, 4, 12, 16, 12); - public static final IntProperty ROTATION = IntProperty.of("rotation", 0, 3); + public static final IntProperty ROTATION = BlockProperties.ROTATION; public static final BooleanProperty TOP = BooleanProperty.of("top"); public BlockDoublePlant() { diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index 0bff39e5..340c0eb6 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -36,6 +36,8 @@ import ru.betterend.blocks.BlockHydraluxPetalColored; import ru.betterend.blocks.BlockHydraluxSapling; import ru.betterend.blocks.BlockHydrothermalVent; import ru.betterend.blocks.BlockLacugroveSapling; +import ru.betterend.blocks.BlockLanceleaf; +import ru.betterend.blocks.BlockLanceleafSeed; import ru.betterend.blocks.BlockMengerSponge; import ru.betterend.blocks.BlockMengerSpongeWet; import ru.betterend.blocks.BlockMossyGlowshroomCap; @@ -173,6 +175,9 @@ public class EndBlocks { public static final Block BLUE_VINE_LANTERN = registerBlock("blue_vine_lantern", new BlockBlueVineLantern()); public static final Block BLUE_VINE_FUR = registerBlock("blue_vine_fur", new BlockFur(BLUE_VINE_SEED, 15, 3)); + public static final Block LANCELEAF_SEED = registerBlock("lanceleaf_seed", new BlockLanceleafSeed()); + public static final Block LANCELEAF = registerBlockNI("lanceleaf", new BlockLanceleaf()); + public static final Block BUBBLE_CORAL = registerBlock("bubble_coral", new BlockBubbleCoral()); public static final Block MENGER_SPONGE = registerBlock("menger_sponge", new BlockMengerSponge()); public static final Block MENGER_SPONGE_WET = registerBlock("menger_sponge_wet", new BlockMengerSpongeWet()); diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index e9630a76..deb59dc8 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -20,6 +20,7 @@ import ru.betterend.world.features.EndLilyFeature; import ru.betterend.world.features.EndLotusFeature; import ru.betterend.world.features.EndLotusLeafFeature; import ru.betterend.world.features.HydraluxFeature; +import ru.betterend.world.features.LanceleafFeature; import ru.betterend.world.features.MengerSpongeFeature; import ru.betterend.world.features.SinglePlantFeature; import ru.betterend.world.features.UnderwaterPlantFeature; @@ -70,6 +71,7 @@ public class EndFeatures { public static final EndFeature BUSHY_GRASS = new EndFeature("bushy_grass", new SinglePlantFeature(EndBlocks.BUSHY_GRASS, 8, false), 20); public static final EndFeature BUSHY_GRASS_WG = new EndFeature("bushy_grass_wg", new SinglePlantFeature(EndBlocks.BUSHY_GRASS, 5), 10); public static final EndFeature AMBER_GRASS = new EndFeature("amber_grass", new SinglePlantFeature(EndBlocks.AMBER_GRASS, 6), 9); + public static final EndFeature LANCELEAF = new EndFeature("lanceleaf", new LanceleafFeature(), 1); // Vines // public static final EndFeature DENSE_VINE = new EndFeature("dense_vine", new VineFeature(EndBlocks.DENSE_VINE, 24), 3); diff --git a/src/main/java/ru/betterend/util/TranslationHelper.java b/src/main/java/ru/betterend/util/TranslationHelper.java index 8c4b13ae..bc13490f 100644 --- a/src/main/java/ru/betterend/util/TranslationHelper.java +++ b/src/main/java/ru/betterend/util/TranslationHelper.java @@ -26,13 +26,15 @@ public class TranslationHelper { JsonObject translationEn = gson.fromJson(new InputStreamReader(streamEn), JsonObject.class); JsonObject translationRu = gson.fromJson(new InputStreamReader(streamRu), JsonObject.class); - EndItems.getModBlocks().forEach((block) -> { - String name = block.getName().getString(); - if (!translationEn.has(name)) { - missingNamesEn.add(name); - } - if (!translationRu.has(name)) { - missingNamesRu.add(name); + Registry.BLOCK.forEach((block) -> { + if (Registry.BLOCK.getId(block).getNamespace().equals(BetterEnd.MOD_ID)) { + String name = block.getName().getString(); + if (!translationEn.has(name)) { + missingNamesEn.add(name); + } + if (!translationRu.has(name)) { + missingNamesRu.add(name); + } } }); diff --git a/src/main/java/ru/betterend/world/biome/BiomeAmberLand.java b/src/main/java/ru/betterend/world/biome/BiomeAmberLand.java index df8238e9..a68d6c51 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeAmberLand.java +++ b/src/main/java/ru/betterend/world/biome/BiomeAmberLand.java @@ -15,6 +15,7 @@ public class BiomeAmberLand extends EndBiome { .addFeature(EndFeatures.AMBER_ORE) .addFeature(EndFeatures.END_LAKE_RARE) .addFeature(EndFeatures.HELIX_TREE) + .addFeature(EndFeatures.LANCELEAF) .addFeature(EndFeatures.AMBER_GRASS) .addFeature(EndFeatures.CHARNIA_ORANGE) .addFeature(EndFeatures.CHARNIA_RED) diff --git a/src/main/java/ru/betterend/world/features/LanceleafFeature.java b/src/main/java/ru/betterend/world/features/LanceleafFeature.java new file mode 100644 index 00000000..5a2ab860 --- /dev/null +++ b/src/main/java/ru/betterend/world/features/LanceleafFeature.java @@ -0,0 +1,25 @@ +package ru.betterend.world.features; + +import java.util.Random; + +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.StructureWorldAccess; +import ru.betterend.blocks.basis.BlockPlantWithAge; +import ru.betterend.registry.EndBlocks; + +public class LanceleafFeature extends ScatterFeature { + public LanceleafFeature() { + super(5); + } + + @Override + public boolean canGenerate(StructureWorldAccess world, Random random, BlockPos center, BlockPos blockPos, float radius) { + return EndBlocks.LANCELEAF_SEED.canPlaceAt(AIR, world, blockPos); + } + + @Override + public void generate(StructureWorldAccess world, Random random, BlockPos blockPos) { + BlockPlantWithAge seed = ((BlockPlantWithAge) EndBlocks.LANCELEAF_SEED); + seed.growAdult(world, random, blockPos); + } +} diff --git a/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java b/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java index 2c03f536..defcb8f1 100644 --- a/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java @@ -74,10 +74,10 @@ public class HelixTreeFeature extends DefaultFeature { for (int i = 0; i <= 20; i++) { float radius = i * 0.1F - 1; radius *= radius; - radius = (1 - radius) * 4F * scale; + radius = (1 - radius) * 8F * scale; dx = (float) Math.sin(i * 0.25F + angle) * radius; dz = (float) Math.cos(i * 0.25F + angle) * radius; - spline.add(new Vector3f(dx, i * scale, dz)); + spline.add(new Vector3f(dx, i * scale * 1.2F, dz)); } Vector3f start = new Vector3f(); diff --git a/src/main/resources/assets/betterend/blockstates/amber_moss.json b/src/main/resources/assets/betterend/blockstates/amber_moss.json index 7ac1176a..7b9b1ae7 100644 --- a/src/main/resources/assets/betterend/blockstates/amber_moss.json +++ b/src/main/resources/assets/betterend/blockstates/amber_moss.json @@ -1,10 +1,18 @@ { "variants": { "": [ - { "model": "betterend:block/amber_moss" }, - { "model": "betterend:block/amber_moss", "y": 90 }, - { "model": "betterend:block/amber_moss", "y": 180 }, - { "model": "betterend:block/amber_moss", "y": 270 } + { "model": "betterend:block/amber_moss_1" }, + { "model": "betterend:block/amber_moss_1", "y": 90 }, + { "model": "betterend:block/amber_moss_1", "y": 180 }, + { "model": "betterend:block/amber_moss_1", "y": 270 }, + { "model": "betterend:block/amber_moss_2" }, + { "model": "betterend:block/amber_moss_2", "y": 90 }, + { "model": "betterend:block/amber_moss_2", "y": 180 }, + { "model": "betterend:block/amber_moss_2", "y": 270 }, + { "model": "betterend:block/amber_moss_3" }, + { "model": "betterend:block/amber_moss_3", "y": 90 }, + { "model": "betterend:block/amber_moss_3", "y": 180 }, + { "model": "betterend:block/amber_moss_3", "y": 270 } ] } } diff --git a/src/main/resources/assets/betterend/blockstates/amber_moss_path.json b/src/main/resources/assets/betterend/blockstates/amber_moss_path.json index 05c91bc5..6f1ff8c6 100644 --- a/src/main/resources/assets/betterend/blockstates/amber_moss_path.json +++ b/src/main/resources/assets/betterend/blockstates/amber_moss_path.json @@ -1,10 +1,18 @@ { "variants": { "": [ - { "model": "betterend:block/amber_moss_path" }, - { "model": "betterend:block/amber_moss_path", "y": 90 }, - { "model": "betterend:block/amber_moss_path", "y": 180 }, - { "model": "betterend:block/amber_moss_path", "y": 270 } + { "model": "betterend:block/amber_moss_path_1" }, + { "model": "betterend:block/amber_moss_path_1", "y": 90 }, + { "model": "betterend:block/amber_moss_path_1", "y": 180 }, + { "model": "betterend:block/amber_moss_path_1", "y": 270 }, + { "model": "betterend:block/amber_moss_path_2" }, + { "model": "betterend:block/amber_moss_path_2", "y": 90 }, + { "model": "betterend:block/amber_moss_path_2", "y": 180 }, + { "model": "betterend:block/amber_moss_path_2", "y": 270 }, + { "model": "betterend:block/amber_moss_path_3" }, + { "model": "betterend:block/amber_moss_path_3", "y": 90 }, + { "model": "betterend:block/amber_moss_path_3", "y": 180 }, + { "model": "betterend:block/amber_moss_path_3", "y": 270 } ] } } diff --git a/src/main/resources/assets/betterend/blockstates/lanceleaf.json b/src/main/resources/assets/betterend/blockstates/lanceleaf.json new file mode 100644 index 00000000..077a1f42 --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/lanceleaf.json @@ -0,0 +1,27 @@ +{ + "variants": { + "rotation=0,shape=top": { "model": "betterend:block/lanceleaf_leaf_top" }, + "rotation=0,shape=pre_top": { "model": "betterend:block/lanceleaf_leaf_pre_top" }, + "rotation=0,shape=middle": { "model": "betterend:block/lanceleaf_leaf_middle" }, + "rotation=0,shape=pre_bottom": { "model": "betterend:block/lanceleaf_leaf_pre_bottom" }, + "rotation=0,shape=bottom": { "model": "betterend:block/lanceleaf_leaf_bottom" }, + + "rotation=1,shape=top": { "model": "betterend:block/lanceleaf_leaf_top", "y": 90 }, + "rotation=1,shape=pre_top": { "model": "betterend:block/lanceleaf_leaf_pre_top", "y": 90 }, + "rotation=1,shape=middle": { "model": "betterend:block/lanceleaf_leaf_middle", "y": 90 }, + "rotation=1,shape=pre_bottom": { "model": "betterend:block/lanceleaf_leaf_pre_bottom", "y": 90 }, + "rotation=1,shape=bottom": { "model": "betterend:block/lanceleaf_leaf_bottom", "y": 90 }, + + "rotation=2,shape=top": { "model": "betterend:block/lanceleaf_leaf_top", "y": 180 }, + "rotation=2,shape=pre_top": { "model": "betterend:block/lanceleaf_leaf_pre_top", "y": 180 }, + "rotation=2,shape=middle": { "model": "betterend:block/lanceleaf_leaf_middle", "y": 180 }, + "rotation=2,shape=pre_bottom": { "model": "betterend:block/lanceleaf_leaf_pre_bottom", "y": 180 }, + "rotation=2,shape=bottom": { "model": "betterend:block/lanceleaf_leaf_bottom", "y": 180 }, + + "rotation=3,shape=top": { "model": "betterend:block/lanceleaf_leaf_top", "y": 270 }, + "rotation=3,shape=pre_top": { "model": "betterend:block/lanceleaf_leaf_pre_top", "y": 270 }, + "rotation=3,shape=middle": { "model": "betterend:block/lanceleaf_leaf_middle", "y": 270 }, + "rotation=3,shape=pre_bottom": { "model": "betterend:block/lanceleaf_leaf_pre_bottom", "y": 270 }, + "rotation=3,shape=bottom": { "model": "betterend:block/lanceleaf_leaf_bottom", "y": 270 } + } +} diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 6312ed4a..9ac83d8a 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -428,5 +428,32 @@ "item.betterend.gelatine": "Gelatine", "item.betterend.sweet_berry_jelly": "Sweet Berry Jelly", - "item.betterend.shadow_berry_jelly": "Shadow Berry Jelly" + "item.betterend.shadow_berry_jelly": "Shadow Berry Jelly", + + "block.betterend.amber_moss": "Amber Moss", + "block.betterend.amber_moss_path": "Amber Moss Path", + "block.betterend.helix_tree_bark": "Helix Tree Bark", + "block.betterend.helix_tree_barrel": "Helix Tree Barrel", + "block.betterend.helix_tree_bookshelf": "Helix Tree Bookshelf", + "block.betterend.helix_tree_button": "Helix Tree Button", + "block.betterend.helix_tree_chest": "Helix Tree Chest", + "block.betterend.helix_tree_crafting_table": "Helix Tree Crafting Table", + "block.betterend.helix_tree_door": "Helix Tree Door", + "block.betterend.helix_tree_fence": "Helix Tree Fence", + "block.betterend.helix_tree_gate": "Helix Tree Gate", + "block.betterend.helix_tree_ladder": "Helix Tree Ladder", + "block.betterend.helix_tree_leaves": "Helix Tree Leaves", + "block.betterend.helix_tree_log": "Helix Tree Log", + "block.betterend.helix_tree_planks": "Helix Tree Planks", + "block.betterend.helix_tree_plate": "Helix Tree Plate", + "block.betterend.helix_tree_sapling": "Helix Tree Sapling", + "block.betterend.helix_tree_sign": "Helix Tree Sign", + "block.betterend.helix_tree_slab": "Helix Tree Slab", + "block.betterend.helix_tree_stairs": "Helix Tree Stairs", + "block.betterend.helix_tree_stripped_bark": "Helix Tree Stripped Bark", + "block.betterend.helix_tree_stripped_log": "Helix Tree Stripped Log", + "block.betterend.helix_tree_trapdoor": "Helix Tree Trapdoor", + "block.betterend.lanceleaf": "Lanceleaf", + "block.betterend.lanceleaf_seed": "Lanceleaf Seed", + "block.betterend.hydralux": "Hydralux" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index 35f48b84..0193b0e8 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -430,5 +430,32 @@ "item.betterend.gelatine": "Желатин", "item.betterend.sweet_berry_jelly": "Желе из сладких ягод", - "item.betterend.shadow_berry_jelly": "Желе из теневой ягоды" + "item.betterend.shadow_berry_jelly": "Желе из теневой ягоды", + + "block.betterend.amber_moss": "Янтарный мох", + "block.betterend.amber_moss_path": "Тропа из янтарного мха", + "block.betterend.helix_tree_bark": "Кора закрученного дерева", + "block.betterend.helix_tree_barrel": "Бочка из закрученного дерева", + "block.betterend.helix_tree_bookshelf": "Книжные полки из закрученного дерева", + "block.betterend.helix_tree_button": "Кнопка из закрученного дерева", + "block.betterend.helix_tree_chest": "Сундук из закрученного дерева", + "block.betterend.helix_tree_crafting_table": "Верстак из закрученного дерева", + "block.betterend.helix_tree_door": "Дверь из закрученного дерева", + "block.betterend.helix_tree_fence": "Забор из закрученного дерева", + "block.betterend.helix_tree_gate": "Калитка из закрученного дерева", + "block.betterend.helix_tree_ladder": "Лестница из закрученного дерева", + "block.betterend.helix_tree_leaves": "Листья из закрученного дерева", + "block.betterend.helix_tree_log": "Бревно закрученного дерева", + "block.betterend.helix_tree_planks": "Доски закрученного дерева", + "block.betterend.helix_tree_plate": "Нажимная плита из закрученного дерева", + "block.betterend.helix_tree_sapling": "Саженец закрученного дерева", + "block.betterend.helix_tree_sign": "Табличка из закрученного дерева", + "block.betterend.helix_tree_slab": "Плита из закрученного дерева", + "block.betterend.helix_tree_stairs": "Ступени из закрученного дерева", + "block.betterend.helix_tree_stripped_bark": "Обтёсанная кора закрученного дерева", + "block.betterend.helix_tree_stripped_log": "Обтёсанное бревно закрученного дерева", + "block.betterend.helix_tree_trapdoor": "Люк из закрученного дерева", + "block.betterend.lanceleaf": "Ланцелист", + "block.betterend.lanceleaf_seed": "Семечко ланцелиста", + "block.betterend.hydralux": "Гидралюкс" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/amber_moss.json b/src/main/resources/assets/betterend/models/block/amber_moss.json deleted file mode 100644 index b1f69f5a..00000000 --- a/src/main/resources/assets/betterend/models/block/amber_moss.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "down": "block/end_stone", - "east": "betterend:block/amber_moss_side", - "north": "betterend:block/amber_moss_side", - "particle": "betterend:block/amber_moss_side", - "south": "betterend:block/amber_moss_side", - "up": "betterend:block/amber_moss_top", - "west": "betterend:block/amber_moss_side" - } -} diff --git a/src/main/resources/assets/betterend/models/block/amber_moss_1.json b/src/main/resources/assets/betterend/models/block/amber_moss_1.json new file mode 100644 index 00000000..81a60dbf --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/amber_moss_1.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "down": "block/end_stone", + "east": "betterend:block/amber_moss_side_1", + "north": "betterend:block/amber_moss_side_1", + "particle": "betterend:block/amber_moss_side_1", + "south": "betterend:block/amber_moss_side_1", + "up": "betterend:block/amber_moss_top", + "west": "betterend:block/amber_moss_side_1" + } +} diff --git a/src/main/resources/assets/betterend/models/block/amber_moss_2.json b/src/main/resources/assets/betterend/models/block/amber_moss_2.json new file mode 100644 index 00000000..ae43d21b --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/amber_moss_2.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "down": "block/end_stone", + "east": "betterend:block/amber_moss_side_2", + "north": "betterend:block/amber_moss_side_2", + "particle": "betterend:block/amber_moss_side_2", + "south": "betterend:block/amber_moss_side_2", + "up": "betterend:block/amber_moss_top", + "west": "betterend:block/amber_moss_side_2" + } +} diff --git a/src/main/resources/assets/betterend/models/block/amber_moss_3.json b/src/main/resources/assets/betterend/models/block/amber_moss_3.json new file mode 100644 index 00000000..d11d3356 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/amber_moss_3.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "down": "block/end_stone", + "east": "betterend:block/amber_moss_side_3", + "north": "betterend:block/amber_moss_side_3", + "particle": "betterend:block/amber_moss_side_3", + "south": "betterend:block/amber_moss_side_3", + "up": "betterend:block/amber_moss_top", + "west": "betterend:block/amber_moss_side_3" + } +} diff --git a/src/main/resources/assets/betterend/models/block/amber_moss_path.json b/src/main/resources/assets/betterend/models/block/amber_moss_path_1.json similarity index 71% rename from src/main/resources/assets/betterend/models/block/amber_moss_path.json rename to src/main/resources/assets/betterend/models/block/amber_moss_path_1.json index 386d0b10..f4222fe8 100644 --- a/src/main/resources/assets/betterend/models/block/amber_moss_path.json +++ b/src/main/resources/assets/betterend/models/block/amber_moss_path_1.json @@ -1,7 +1,7 @@ { "parent": "betterend:block/path", "textures": { "top": "betterend:block/amber_moss_path_top", - "side": "betterend:block/amber_moss_side", + "side": "betterend:block/amber_moss_side_1", "bottom": "block/end_stone" } } diff --git a/src/main/resources/assets/betterend/models/block/amber_moss_path_2.json b/src/main/resources/assets/betterend/models/block/amber_moss_path_2.json new file mode 100644 index 00000000..a4ec7e23 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/amber_moss_path_2.json @@ -0,0 +1,7 @@ +{ "parent": "betterend:block/path", + "textures": { + "top": "betterend:block/amber_moss_path_top", + "side": "betterend:block/amber_moss_side_2", + "bottom": "block/end_stone" + } +} diff --git a/src/main/resources/assets/betterend/models/block/amber_moss_path_3.json b/src/main/resources/assets/betterend/models/block/amber_moss_path_3.json new file mode 100644 index 00000000..99b347ed --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/amber_moss_path_3.json @@ -0,0 +1,7 @@ +{ "parent": "betterend:block/path", + "textures": { + "top": "betterend:block/amber_moss_path_top", + "side": "betterend:block/amber_moss_side_3", + "bottom": "block/end_stone" + } +} diff --git a/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_bottom.json b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_bottom.json new file mode 100644 index 00000000..70a5dea2 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_bottom.json @@ -0,0 +1,31 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/lanceleaf_stem", + "texture": "betterend:block/lanceleaf_stem" + }, + "elements": [ + { + "__comment": "PlaneX10", + "from": [ 2.375, 0, 2.25 ], + "to": [ 2.376, 16, 18.25 ], + "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX10", + "from": [ 13.75, 0, 2.25 ], + "to": [ 13.751, 16, 18.25 ], + "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_middle.json b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_middle.json new file mode 100644 index 00000000..60b78214 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_middle.json @@ -0,0 +1,20 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/lanceleaf_leaf_middle", + "texture": "betterend:block/lanceleaf_leaf_middle" + }, + "elements": [ + { + "__comment": "PlaneX10", + "from": [ 2.375, 0, 2.25 ], + "to": [ 2.376, 16, 18.25 ], + "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_pre_bottom.json b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_pre_bottom.json new file mode 100644 index 00000000..fd164a20 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_pre_bottom.json @@ -0,0 +1,32 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/lanceleaf_leaf_bottom", + "texture": "betterend:block/lanceleaf_stem_top", + "leaf": "betterend:block/lanceleaf_leaf_bottom" + }, + "elements": [ + { + "__comment": "PlaneX10", + "from": [ 2.375, 0, 2.25 ], + "to": [ 2.376, 16, 18.25 ], + "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" } + } + }, + { + "__comment": "PlaneX10", + "from": [ 13.75, 0, 2.25 ], + "to": [ 13.751, 16, 18.25 ], + "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_pre_top.json b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_pre_top.json new file mode 100644 index 00000000..017de9c1 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_pre_top.json @@ -0,0 +1,20 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/lanceleaf_leaf_pre_top", + "texture": "betterend:block/lanceleaf_leaf_pre_top" + }, + "elements": [ + { + "__comment": "PlaneX10", + "from": [ 2.375, 0, 2.25 ], + "to": [ 2.376, 16, 18.25 ], + "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_top.json b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_top.json new file mode 100644 index 00000000..6f09003b --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/lanceleaf_leaf_top.json @@ -0,0 +1,20 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/lanceleaf_leaf_top", + "texture": "betterend:block/lanceleaf_leaf_top" + }, + "elements": [ + { + "__comment": "PlaneX10", + "from": [ 2.375, 0, 2.25 ], + "to": [ 2.376, 16, 18.25 ], + "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/lanceleaf_stem.json b/src/main/resources/assets/betterend/models/block/lanceleaf_stem.json new file mode 100644 index 00000000..70a5dea2 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/lanceleaf_stem.json @@ -0,0 +1,31 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/lanceleaf_stem", + "texture": "betterend:block/lanceleaf_stem" + }, + "elements": [ + { + "__comment": "PlaneX10", + "from": [ 2.375, 0, 2.25 ], + "to": [ 2.376, 16, 18.25 ], + "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX10", + "from": [ 13.75, 0, 2.25 ], + "to": [ 13.751, 16, 18.25 ], + "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/amber_moss.json b/src/main/resources/assets/betterend/models/item/amber_moss.json index 66b13b8b..4124c24c 100644 --- a/src/main/resources/assets/betterend/models/item/amber_moss.json +++ b/src/main/resources/assets/betterend/models/item/amber_moss.json @@ -1,3 +1,3 @@ { - "parent": "betterend:block/amber_moss" + "parent": "betterend:block/amber_moss_1" } diff --git a/src/main/resources/assets/betterend/models/item/amber_moss_path.json b/src/main/resources/assets/betterend/models/item/amber_moss_path.json index 2d67d753..8db622d6 100644 --- a/src/main/resources/assets/betterend/models/item/amber_moss_path.json +++ b/src/main/resources/assets/betterend/models/item/amber_moss_path.json @@ -1,3 +1,3 @@ { - "parent": "betterend:block/amber_moss_path" + "parent": "betterend:block/amber_moss_path_1" } diff --git a/src/main/resources/assets/betterend/textures/block/amber_grass_path_top.png b/src/main/resources/assets/betterend/textures/block/amber_grass_path_top.png deleted file mode 100644 index d306a97d..00000000 Binary files a/src/main/resources/assets/betterend/textures/block/amber_grass_path_top.png and /dev/null differ diff --git a/src/main/resources/assets/betterend/textures/block/amber_moss_path_top.png b/src/main/resources/assets/betterend/textures/block/amber_moss_path_top.png new file mode 100644 index 00000000..c0182a06 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/amber_moss_path_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/amber_moss_side.png b/src/main/resources/assets/betterend/textures/block/amber_moss_side.png deleted file mode 100644 index 62809096..00000000 Binary files a/src/main/resources/assets/betterend/textures/block/amber_moss_side.png and /dev/null differ diff --git a/src/main/resources/assets/betterend/textures/block/amber_moss_side_1.png b/src/main/resources/assets/betterend/textures/block/amber_moss_side_1.png new file mode 100644 index 00000000..1c455cb3 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/amber_moss_side_1.png differ diff --git a/src/main/resources/assets/betterend/textures/block/amber_moss_side_2.png b/src/main/resources/assets/betterend/textures/block/amber_moss_side_2.png new file mode 100644 index 00000000..edaa6acc Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/amber_moss_side_2.png differ diff --git a/src/main/resources/assets/betterend/textures/block/amber_moss_side_3.png b/src/main/resources/assets/betterend/textures/block/amber_moss_side_3.png new file mode 100644 index 00000000..706f2dd6 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/amber_moss_side_3.png differ diff --git a/src/main/resources/assets/betterend/textures/block/helix_tree_leaves.png b/src/main/resources/assets/betterend/textures/block/helix_tree_leaves.png index 9347d608..c405447e 100644 Binary files a/src/main/resources/assets/betterend/textures/block/helix_tree_leaves.png and b/src/main/resources/assets/betterend/textures/block/helix_tree_leaves.png differ diff --git a/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_bottom.png b/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_bottom.png new file mode 100644 index 00000000..b8b548d9 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_middle.png b/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_middle.png new file mode 100644 index 00000000..5fa8522a Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_middle.png differ diff --git a/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_pre_top.png b/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_pre_top.png new file mode 100644 index 00000000..38039e82 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_pre_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_top.png b/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_top.png new file mode 100644 index 00000000..972eed2b Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/lanceleaf_leaf_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/lanceleaf_stem.png b/src/main/resources/assets/betterend/textures/block/lanceleaf_stem.png new file mode 100644 index 00000000..8c850194 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/lanceleaf_stem.png differ diff --git a/src/main/resources/assets/betterend/textures/block/lanceleaf_stem_top.png b/src/main/resources/assets/betterend/textures/block/lanceleaf_stem_top.png new file mode 100644 index 00000000..392b954e Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/lanceleaf_stem_top.png differ