diff --git a/src/main/java/ru/betterend/blocks/BlockUmbrellaMoss.java b/src/main/java/ru/betterend/blocks/BlockUmbrellaMoss.java new file mode 100644 index 00000000..5cbc3625 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/BlockUmbrellaMoss.java @@ -0,0 +1,49 @@ +package ru.betterend.blocks; + +import java.util.Random; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.block.BlockState; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; +import ru.betterend.blocks.basis.BlockDoublePlant; +import ru.betterend.blocks.basis.BlockPlant; +import ru.betterend.registry.BlockRegistry; +import ru.betterend.util.BlocksHelper; + +public class BlockUmbrellaMoss extends BlockPlant { + public BlockUmbrellaMoss() { + super(11); + } + + @Override + protected boolean isTerrain(BlockState state) { + return state.getBlock() == BlockRegistry.END_MOSS || state.getBlock() == BlockRegistry.END_MYCELIUM; + } + + @Environment(EnvType.CLIENT) + public boolean hasEmissiveLighting(BlockView world, BlockPos pos) { + return true; + } + + @Environment(EnvType.CLIENT) + public float getAmbientOcclusionLightLevel(BlockView world, BlockPos pos) { + return 1F; + } + + @Override + public boolean canGrow(World world, Random random, BlockPos pos, BlockState state) { + return world.isAir(pos.up()); + } + + @Override + public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state) { + int rot = world.random.nextInt(4); + BlockState bs = BlockRegistry.UMBRELLA_MOSS_TALL.getDefaultState().with(BlockDoublePlant.ROTATION, rot); + BlocksHelper.setWithoutUpdate(world, pos, bs); + BlocksHelper.setWithoutUpdate(world, pos.up(), bs.with(BlockDoublePlant.TOP, true)); + } +} diff --git a/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java b/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java index 92021f6a..b8662a7b 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java @@ -9,8 +9,10 @@ import net.minecraft.block.BlockState; import net.minecraft.block.TrapdoorBlock; import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContext; +import ru.betterend.client.ERenderLayer; +import ru.betterend.client.IRenderTypeable; -public class BlockTrapdoor extends TrapdoorBlock { +public class BlockTrapdoor extends TrapdoorBlock implements IRenderTypeable { public BlockTrapdoor(Block source) { super(FabricBlockSettings.copyOf(source).nonOpaque()); } @@ -19,4 +21,9 @@ public class BlockTrapdoor extends TrapdoorBlock { public List getDroppedStacks(BlockState state, LootContext.Builder builder) { return Collections.singletonList(new ItemStack(this)); } + + @Override + public ERenderLayer getRenderLayer() { + return ERenderLayer.CUTOUT; + } } diff --git a/src/main/java/ru/betterend/mixin/client/BackgroundRendererMixin.java b/src/main/java/ru/betterend/mixin/client/BackgroundRendererMixin.java index 08dda693..e3a209b8 100644 --- a/src/main/java/ru/betterend/mixin/client/BackgroundRendererMixin.java +++ b/src/main/java/ru/betterend/mixin/client/BackgroundRendererMixin.java @@ -22,14 +22,14 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.Biome.Category; import ru.betterend.registry.BiomeRegistry; +import ru.betterend.util.BackgroundInfo; +import ru.betterend.util.MHelper; import ru.betterend.world.biome.EndBiome; @Mixin(BackgroundRenderer.class) public class BackgroundRendererMixin { - private static float lastFogStart; - private static float lastFogEnd; - private static float fogStart; - private static float fogEnd; + private static float lastFogDensity; + private static float fogDensity; private static float lerp; //private static final float SKY_RED = 21F / 255F; @@ -63,6 +63,10 @@ public class BackgroundRendererMixin { blue *= 4; } } + + BackgroundInfo.red = red; + BackgroundInfo.green = green; + BackgroundInfo.blue = blue; } @Inject(method = "applyFog", at = @At("HEAD"), cancellable = true) @@ -73,22 +77,20 @@ public class BackgroundRendererMixin { if (biome.getCategory() == Category.THEEND && fluidState.isEmpty()) { EndBiome endBiome = BiomeRegistry.getFromBiome(biome); - if (fogEnd == 0) { - fogStart = viewDistance * 0.75F / endBiome.getFogDensity(); - fogEnd = viewDistance / endBiome.getFogDensity(); - lastFogStart = fogStart; - lastFogEnd = fogEnd; + if (fogDensity == 0) { + fogDensity = endBiome.getFogDensity(); + lastFogDensity = fogDensity; } if (lerp == 1) { - lastFogStart = fogStart; - lastFogEnd = fogEnd; - fogStart = viewDistance * 0.75F / endBiome.getFogDensity(); - fogEnd = viewDistance / endBiome.getFogDensity(); + lastFogDensity = fogDensity; + fogDensity = endBiome.getFogDensity(); lerp = 0; } - RenderSystem.fogStart(MathHelper.lerp(lerp, lastFogStart, fogStart)); - RenderSystem.fogEnd(MathHelper.lerp(lerp, lastFogEnd, fogEnd)); + float fog = MathHelper.lerp(lerp, lastFogDensity, fogDensity); + BackgroundInfo.fog = fog; + RenderSystem.fogStart(viewDistance * 0.75F / fog); + RenderSystem.fogEnd(viewDistance / fog); RenderSystem.fogMode(GlStateManager.FogMode.LINEAR); RenderSystem.setupNvFogDistance(); info.cancel(); diff --git a/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java b/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java index bb6e2e7e..5ba52b0d 100644 --- a/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java +++ b/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java @@ -28,6 +28,7 @@ import net.minecraft.client.world.ClientWorld; import net.minecraft.util.Identifier; import net.minecraft.util.math.Quaternion; import ru.betterend.BetterEnd; +import ru.betterend.util.BackgroundInfo; import ru.betterend.util.MHelper; @Mixin(WorldRenderer.class) @@ -35,13 +36,15 @@ public class WorldRendererMixin { private static final Identifier NEBULA_1 = new Identifier(BetterEnd.MOD_ID, "textures/sky/nebula_2.png"); private static final Identifier NEBULA_2 = new Identifier(BetterEnd.MOD_ID, "textures/sky/nebula_3.png"); private static final Identifier HORIZON = new Identifier(BetterEnd.MOD_ID, "textures/sky/nebula_1.png"); + private static final Identifier FOG = new Identifier(BetterEnd.MOD_ID, "textures/sky/fog.png"); - private static VertexBuffer customStarsBuffer1; - private static VertexBuffer customStarsBuffer2; - private static VertexBuffer customStarsBuffer3; - private static VertexBuffer nebulas_1; - private static VertexBuffer nebulas_2; + private static VertexBuffer stars1; + private static VertexBuffer stars2; + private static VertexBuffer stars3; + private static VertexBuffer nebulas1; + private static VertexBuffer nebulas2; private static VertexBuffer horizon; + private static VertexBuffer fog; private static Vector3f axis1; private static Vector3f axis2; private static Vector3f axis3; @@ -92,30 +95,37 @@ public class WorldRendererMixin { matrices.push(); matrices.multiply(new Quaternion(0, -time, 0, true)); textureManager.bindTexture(NEBULA_1); - renderBuffer(matrices, nebulas_1, VertexFormats.POSITION_TEXTURE, 0.77F, 0.31F, 0.73F, 0.2F); + renderBuffer(matrices, nebulas1, VertexFormats.POSITION_TEXTURE, 0.77F, 0.31F, 0.73F, 0.2F); matrices.pop(); matrices.push(); matrices.multiply(new Quaternion(0, time * 2, 0, true)); textureManager.bindTexture(NEBULA_2); - renderBuffer(matrices, nebulas_2, VertexFormats.POSITION_TEXTURE, 0.77F, 0.31F, 0.73F, 0.2F); + renderBuffer(matrices, nebulas2, VertexFormats.POSITION_TEXTURE, 0.77F, 0.31F, 0.73F, 0.2F); matrices.pop(); + + float a = (BackgroundInfo.fog - 1F); + if (a > 0) { + if (a > 1) a = 1; + textureManager.bindTexture(FOG); + renderBuffer(matrices, fog, VertexFormats.POSITION_TEXTURE, BackgroundInfo.red, BackgroundInfo.green, BackgroundInfo.blue, a); + } RenderSystem.disableTexture(); matrices.push(); matrices.multiply(new Quaternion(axis1, time * 3, true)); - renderBuffer(matrices, customStarsBuffer1, VertexFormats.POSITION, 1, 1, 1, 0.6F); + renderBuffer(matrices, stars1, VertexFormats.POSITION, 1, 1, 1, 0.6F); matrices.pop(); matrices.push(); matrices.multiply(new Quaternion(axis2, time * 2, true)); - renderBuffer(matrices, customStarsBuffer2, VertexFormats.POSITION, 0.95F, 0.64F, 0.93F, 0.6F); + renderBuffer(matrices, stars2, VertexFormats.POSITION, 0.95F, 0.64F, 0.93F, 0.6F); matrices.pop(); matrices.push(); matrices.multiply(new Quaternion(axis3, time, true)); - renderBuffer(matrices, customStarsBuffer3, VertexFormats.POSITION, 0.77F, 0.31F, 0.73F, 0.6F); + renderBuffer(matrices, stars3, VertexFormats.POSITION, 0.77F, 0.31F, 0.73F, 0.6F); matrices.pop(); RenderSystem.enableTexture(); @@ -136,12 +146,13 @@ public class WorldRendererMixin { private void initStars() { BufferBuilder buffer = Tessellator.getInstance().getBuffer(); - customStarsBuffer1 = buildBuffer(buffer, customStarsBuffer1, 0.1, 0.30, 3500, 41315); - customStarsBuffer2 = buildBuffer(buffer, customStarsBuffer2, 0.1, 0.35, 2000, 35151); - customStarsBuffer3 = buildBuffer(buffer, customStarsBuffer3, 0.1, 0.40, 1500, 61354); - nebulas_1 = buildBufferFarFog(buffer, nebulas_1, 40, 60, 30, 11515); - nebulas_2 = buildBufferFarFog(buffer, nebulas_2, 40, 60, 10, 14151); + stars1 = buildBuffer(buffer, stars1, 0.1, 0.30, 3500, 41315); + stars2 = buildBuffer(buffer, stars2, 0.1, 0.35, 2000, 35151); + stars3 = buildBuffer(buffer, stars3, 0.1, 0.40, 1500, 61354); + nebulas1 = buildBufferFarFog(buffer, nebulas1, 40, 60, 30, 11515); + nebulas2 = buildBufferFarFog(buffer, nebulas2, 40, 60, 10, 14151); horizon = buildBufferHorizon(buffer, horizon); + fog = buildBufferFog(buffer, fog); } private VertexBuffer buildBuffer(BufferBuilder bufferBuilder, VertexBuffer buffer, double minSize, double maxSize, int count, long seed) { @@ -176,7 +187,20 @@ public class WorldRendererMixin { } buffer = new VertexBuffer(VertexFormats.POSITION_TEXTURE); - makeHorizon(bufferBuilder, 16, 50); + makeCylinder(bufferBuilder, 16, 50, 100); + bufferBuilder.end(); + buffer.upload(bufferBuilder); + + return buffer; + } + + private VertexBuffer buildBufferFog(BufferBuilder bufferBuilder, VertexBuffer buffer) { + if (buffer != null) { + buffer.close(); + } + + buffer = new VertexBuffer(VertexFormats.POSITION_TEXTURE); + makeCylinder(bufferBuilder, 16, 50, 70); bufferBuilder.end(); buffer.upload(bufferBuilder); @@ -277,16 +301,16 @@ public class WorldRendererMixin { } } - private void makeHorizon(BufferBuilder buffer, int segments, double height) { + private void makeCylinder(BufferBuilder buffer, int segments, double height, double radius) { buffer.begin(7, VertexFormats.POSITION_TEXTURE); for (int i = 0; i < segments; i ++) { double a1 = (double) i * Math.PI * 2.0 / (double) segments; double a2 = (double) (i + 1) * Math.PI * 2.0 / (double) segments; - double px1 = Math.sin(a1) * 100; - double pz1 = Math.cos(a1) * 100; - double px2 = Math.sin(a2) * 100; - double pz2 = Math.cos(a2) * 100; + double px1 = Math.sin(a1) * radius; + double pz1 = Math.cos(a1) * radius; + double px2 = Math.sin(a2) * radius; + double pz2 = Math.cos(a2) * radius; float u0 = (float) i / (float) segments; float u1 = (float) (i + 1) / (float) segments; diff --git a/src/main/java/ru/betterend/registry/BlockRegistry.java b/src/main/java/ru/betterend/registry/BlockRegistry.java index ef7f381e..0824f394 100644 --- a/src/main/java/ru/betterend/registry/BlockRegistry.java +++ b/src/main/java/ru/betterend/registry/BlockRegistry.java @@ -15,6 +15,7 @@ import ru.betterend.blocks.BlockMossyGlowshroomHymenophore; import ru.betterend.blocks.BlockMossyGlowshroomSapling; import ru.betterend.blocks.BlockOre; import ru.betterend.blocks.BlockTerrain; +import ru.betterend.blocks.BlockUmbrellaMoss; import ru.betterend.blocks.BlockUmbrellaMossTall; import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.EnderBlock; @@ -36,7 +37,7 @@ public class BlockRegistry { public static final WoodenMaterial MOSSY_GLOWSHROOM = new WoodenMaterial("mossy_glowshroom", MaterialColor.GRAY, MaterialColor.WOOD); // Small Plants // - public static final Block UMBRELLA_MOSS = registerBlock("umbrella_moss", new BlockGlowingMoss(10)); + public static final Block UMBRELLA_MOSS = registerBlock("umbrella_moss", new BlockUmbrellaMoss()); public static final Block UMBRELLA_MOSS_TALL = registerBlock("umbrella_moss_tall", new BlockUmbrellaMossTall()); public static final Block CREEPING_MOSS = registerBlock("creeping_moss", new BlockGlowingMoss(10)); diff --git a/src/main/java/ru/betterend/registry/FeatureRegistry.java b/src/main/java/ru/betterend/registry/FeatureRegistry.java index 97a39ce8..34eedbc8 100644 --- a/src/main/java/ru/betterend/registry/FeatureRegistry.java +++ b/src/main/java/ru/betterend/registry/FeatureRegistry.java @@ -8,7 +8,7 @@ import ru.betterend.world.features.SinglePlantFeature; public class FeatureRegistry { // Trees // - public static final EndFeature MOSSY_GLOWSHROOM = new EndFeature("mossy_glowshroom", new MossyGlowshroomFeature(), 1); + public static final EndFeature MOSSY_GLOWSHROOM = new EndFeature("mossy_glowshroom", new MossyGlowshroomFeature(), 2); // Plants // public static final EndFeature UMBRELLA_MOSS = new EndFeature("umbrella_moss", new DoublePlantFeature(BlockRegistry.UMBRELLA_MOSS, BlockRegistry.UMBRELLA_MOSS_TALL, 5), 5); diff --git a/src/main/java/ru/betterend/util/BackgroundInfo.java b/src/main/java/ru/betterend/util/BackgroundInfo.java new file mode 100644 index 00000000..24ab2ada --- /dev/null +++ b/src/main/java/ru/betterend/util/BackgroundInfo.java @@ -0,0 +1,8 @@ +package ru.betterend.util; + +public class BackgroundInfo { + public static float red; + public static float green; + public static float blue; + public static float fog = 1; +} diff --git a/src/main/resources/assets/betterend/blockstates/umbrella_moss.json b/src/main/resources/assets/betterend/blockstates/umbrella_moss.json index 1934ca32..bc4c7ea0 100644 --- a/src/main/resources/assets/betterend/blockstates/umbrella_moss.json +++ b/src/main/resources/assets/betterend/blockstates/umbrella_moss.json @@ -4,7 +4,22 @@ { "model": "betterend:block/umbrella_moss_small" }, { "model": "betterend:block/umbrella_moss_small", "y": 90 }, { "model": "betterend:block/umbrella_moss_small", "y": 180 }, - { "model": "betterend:block/umbrella_moss_small", "y": 270 } + { "model": "betterend:block/umbrella_moss_small", "y": 270 }, + + { "model": "betterend:block/umbrella_moss_small_2" }, + { "model": "betterend:block/umbrella_moss_small_2", "y": 90 }, + { "model": "betterend:block/umbrella_moss_small_2", "y": 180 }, + { "model": "betterend:block/umbrella_moss_small_2", "y": 270 }, + + { "model": "betterend:block/umbrella_moss_small_3" }, + { "model": "betterend:block/umbrella_moss_small_3", "y": 90 }, + { "model": "betterend:block/umbrella_moss_small_3", "y": 180 }, + { "model": "betterend:block/umbrella_moss_small_3", "y": 270 }, + + { "model": "betterend:block/umbrella_moss_small_4" }, + { "model": "betterend:block/umbrella_moss_small_4", "y": 90 }, + { "model": "betterend:block/umbrella_moss_small_4", "y": 180 }, + { "model": "betterend:block/umbrella_moss_small_4", "y": 270 } ] } } diff --git a/src/main/resources/assets/betterend/blockstates/umbrella_moss_tall.json b/src/main/resources/assets/betterend/blockstates/umbrella_moss_tall.json index 53d7b64b..7b4c15dc 100644 --- a/src/main/resources/assets/betterend/blockstates/umbrella_moss_tall.json +++ b/src/main/resources/assets/betterend/blockstates/umbrella_moss_tall.json @@ -1,12 +1,28 @@ { "variants": { - "top=true,rotation=0": { "model": "betterend:block/umbrella_moss_top" }, + "top=true,rotation=0": [ + { "model": "betterend:block/umbrella_moss_top" }, + { "model": "betterend:block/umbrella_moss_top_2" }, + { "model": "betterend:block/umbrella_moss_top_3" } + ], "top=false,rotation=0": { "model": "betterend:block/umbrella_moss_bottom" }, - "top=true,rotation=1": { "model": "betterend:block/umbrella_moss_top", "y": 90 }, + "top=true,rotation=1": [ + { "model": "betterend:block/umbrella_moss_top", "y": 90 }, + { "model": "betterend:block/umbrella_moss_top_2", "y": 90 }, + { "model": "betterend:block/umbrella_moss_top_3", "y": 90 } + ], "top=false,rotation=1": { "model": "betterend:block/umbrella_moss_bottom", "y": 90 }, - "top=true,rotation=2": { "model": "betterend:block/umbrella_moss_top", "y": 180 }, + "top=true,rotation=2": [ + { "model": "betterend:block/umbrella_moss_top", "y": 180 }, + { "model": "betterend:block/umbrella_moss_top_2", "y": 180 }, + { "model": "betterend:block/umbrella_moss_top_3", "y": 180 } + ], "top=false,rotation=2": { "model": "betterend:block/umbrella_moss_bottom", "y": 180 }, - "top=true,rotation=3": { "model": "betterend:block/umbrella_moss_top", "y": 270 }, + "top=true,rotation=3": [ + { "model": "betterend:block/umbrella_moss_top", "y": 270 }, + { "model": "betterend:block/umbrella_moss_top_2", "y": 270 }, + { "model": "betterend:block/umbrella_moss_top_3", "y": 270 } + ], "top=false,rotation=3": { "model": "betterend:block/umbrella_moss_bottom", "y": 270 } } } diff --git a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_bottom.json b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_bottom.json index cd3e10b3..4ff0a007 100644 --- a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_bottom.json +++ b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_bottom.json @@ -1,7 +1,7 @@ { - "parent": "block/door_bottom", + "parent": "betterend:block/sided_door_bottom", "textures": { - "bottom": "betterend:block/mossy_glowshroom_door_bottom", - "top": "betterend:block/mossy_glowshroom_door_bottom" + "facade": "betterend:block/mossy_glowshroom_door_bottom", + "side": "betterend:block/mossy_glowshroom_door_side" } } diff --git a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_bottom_hinge.json b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_bottom_hinge.json index 75484fc0..76857988 100644 --- a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_bottom_hinge.json +++ b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_bottom_hinge.json @@ -1,7 +1,7 @@ { - "parent": "block/door_bottom_rh", + "parent": "betterend:block/sided_door_bottom_rh", "textures": { - "bottom": "betterend:block/mossy_glowshroom_door_bottom", - "top": "betterend:block/mossy_glowshroom_door_bottom" + "facade": "betterend:block/mossy_glowshroom_door_bottom", + "side": "betterend:block/mossy_glowshroom_door_side" } } diff --git a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_top.json b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_top.json index 1df008ba..a001ce85 100644 --- a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_top.json +++ b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_top.json @@ -1,7 +1,7 @@ { - "parent": "block/door_top", + "parent": "betterend:block/sided_door_top", "textures": { - "bottom": "betterend:block/mossy_glowshroom_door_top", - "top": "betterend:block/mossy_glowshroom_door_top" + "facade": "betterend:block/mossy_glowshroom_door_top", + "side": "betterend:block/mossy_glowshroom_door_side" } } diff --git a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_top_hinge.json b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_top_hinge.json index d3481afc..8360e1d8 100644 --- a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_top_hinge.json +++ b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_door_top_hinge.json @@ -1,7 +1,7 @@ { - "parent": "block/door_top_rh", + "parent": "betterend:block/sided_door_top_rh", "textures": { - "bottom": "betterend:block/mossy_glowshroom_door_top", - "top": "betterend:block/mossy_glowshroom_door_top" + "facade": "betterend:block/mossy_glowshroom_door_top", + "side": "betterend:block/mossy_glowshroom_door_side" } } diff --git a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_trapdoor.json b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_trapdoor.json index 1cfec55c..3363e92e 100644 --- a/src/main/resources/assets/betterend/models/block/mossy_glowshroom_trapdoor.json +++ b/src/main/resources/assets/betterend/models/block/mossy_glowshroom_trapdoor.json @@ -1,6 +1,7 @@ { - "parent": "block/template_orientable_trapdoor_bottom", + "parent": "betterend:block/sided_trapdoor", "textures": { - "texture": "betterend:block/mossy_glowshroom_trapdoor" + "texture": "betterend:block/mossy_glowshroom_trapdoor", + "side": "betterend:block/mossy_glowshroom_door_side" } } diff --git a/src/main/resources/assets/betterend/models/block/sided_door_bottom.json b/src/main/resources/assets/betterend/models/block/sided_door_bottom.json new file mode 100644 index 00000000..6fddf595 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/sided_door_bottom.json @@ -0,0 +1,18 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#facade" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 3, 16, 16 ], + "faces": { + "down": { "uv": [ 13, 0, 16, 16 ], "texture": "#side", "cullface": "down" }, + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#facade", "cullface": "west" }, + "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#facade" } + } + } + ] +} diff --git a/src/main/resources/assets/betterend/models/block/sided_door_bottom_rh.json b/src/main/resources/assets/betterend/models/block/sided_door_bottom_rh.json new file mode 100644 index 00000000..e6294d19 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/sided_door_bottom_rh.json @@ -0,0 +1,18 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#facade" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 3, 16, 16 ], + "faces": { + "down": { "uv": [ 13, 0, 16, 16 ], "texture": "#side", "cullface": "down" }, + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#facade", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#facade" } + } + } + ] +} diff --git a/src/main/resources/assets/betterend/models/block/sided_door_top.json b/src/main/resources/assets/betterend/models/block/sided_door_top.json new file mode 100644 index 00000000..4a646108 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/sided_door_top.json @@ -0,0 +1,18 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#facade" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 3, 16, 16 ], + "faces": { + "up": { "uv": [ 13, 0, 16, 16 ], "texture": "#side", "cullface": "up" }, + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#facade", "cullface": "west" }, + "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#facade" } + } + } + ] +} diff --git a/src/main/resources/assets/betterend/models/block/sided_door_top_rh.json b/src/main/resources/assets/betterend/models/block/sided_door_top_rh.json new file mode 100644 index 00000000..c706fe16 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/sided_door_top_rh.json @@ -0,0 +1,18 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#facade" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 3, 16, 16 ], + "faces": { + "up": { "uv": [ 13, 0, 16, 16 ], "texture": "#side", "cullface": "up" }, + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#side", "cullface": "south" }, + "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#facade", "cullface": "west" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#facade" } + } + } + ] +} diff --git a/src/main/resources/assets/betterend/models/block/sided_trapdoor.json b/src/main/resources/assets/betterend/models/block/sided_trapdoor.json new file mode 100644 index 00000000..9f776427 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/sided_trapdoor.json @@ -0,0 +1,18 @@ +{ "parent": "block/thin_block", + "textures": { + "particle": "#texture" + }, + "elements": [ + { "from": [ 0, 0, 0 ], + "to": [ 16, 3, 16 ], + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "cullface": "down" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "north": { "uv": [ 16, 0, 13, 16 ], "texture": "#side", "cullface": "north", "rotation": 90 }, + "south": { "uv": [ 16, 0, 13, 16 ], "texture": "#side", "cullface": "south", "rotation": 90 }, + "west": { "uv": [ 16, 0, 13, 16 ], "texture": "#side", "cullface": "west", "rotation": 90 }, + "east": { "uv": [ 16, 0, 13, 16 ], "texture": "#side", "cullface": "east", "rotation": 90 } + } + } + ] +} diff --git a/src/main/resources/assets/betterend/models/block/umbrella_moss_small_2.json b/src/main/resources/assets/betterend/models/block/umbrella_moss_small_2.json new file mode 100644 index 00000000..c6fe41cb --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/umbrella_moss_small_2.json @@ -0,0 +1,200 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/umbrella_moss_up", + "texture": "betterend:block/umbrella_moss_up", + "spore": "betterend:block/umbrella_moss_sporophyte", + "small": "betterend:block/umbrella_moss_small", + "end": "betterend:block/umbrella_moss_end" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 3, 13, 3 ], + "to": [ 5, 16, 5 ], + "faces": { + "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" }, + "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" }, + "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" } + } + }, + { + "__comment": "Box1", + "from": [ 4, 11, 11 ], + "to": [ 6, 14, 13 ], + "faces": { + "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" }, + "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" }, + "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" } + } + }, + { + "__comment": "Box1", + "from": [ 1, 12, 1 ], + "to": [ 7, 14, 7 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -2, 0, -2 ], + "to": [ -1.999, 13, 14 ], + "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 9.5, 0, -2 ], + "to": [ 9.501, 13, 14 ], + "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 7, 14, 7 ], + "to": [ 1, 12, 1 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 6, 0, 3 ], + "to": [ 6.001, 13, 19 ], + "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 17.5, 0, 3 ], + "to": [ 17.501, 13, 19 ], + "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "Box1", + "from": [ 2, 10, 9 ], + "to": [ 8, 12, 15 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -1, 0, 6 ], + "to": [ -0.999, 11, 22 ], + "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 10.5, 0, 6 ], + "to": [ 10.501, 11, 22 ], + "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 8, 12, 15 ], + "to": [ 2, 10, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneY16", + "from": [ 0, 0, 9 ], + "to": [ 16, 0.001, 25 ], + "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 } + } + }, + { + "__comment": "PlaneY16", + "from": [ 0, -0.001, -9 ], + "to": [ 16, 0, 7 ], + "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" } + } + }, + { + "__comment": "PlaneY18", + "from": [ 9, 0, 0 ], + "to": [ 25, 0.001, 16 ], + "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 } + } + }, + { + "__comment": "PlaneY18", + "from": [ -9, -0.001, 0 ], + "to": [ 7, 0, 16 ], + "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/umbrella_moss_small_3.json b/src/main/resources/assets/betterend/models/block/umbrella_moss_small_3.json new file mode 100644 index 00000000..53ed5a09 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/umbrella_moss_small_3.json @@ -0,0 +1,161 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/umbrella_moss_up", + "texture": "betterend:block/umbrella_moss_up", + "spore": "betterend:block/umbrella_moss_sporophyte", + "small": "betterend:block/umbrella_moss_small", + "end": "betterend:block/umbrella_moss_end" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 4, 11, 11 ], + "to": [ 6, 14, 13 ], + "faces": { + "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" }, + "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" }, + "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -2, 0, -2 ], + "to": [ -1.999, 13, 14 ], + "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 9.5, 0, -2 ], + "to": [ 9.501, 13, 14 ], + "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 6, 0, 3 ], + "to": [ 6.001, 13, 19 ], + "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 17.5, 0, 3 ], + "to": [ 17.501, 13, 19 ], + "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "Box1", + "from": [ 2, 10, 9 ], + "to": [ 8, 12, 15 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -1, 0, 6 ], + "to": [ -0.999, 11, 22 ], + "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 10.5, 0, 6 ], + "to": [ 10.501, 11, 22 ], + "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 8, 12, 15 ], + "to": [ 2, 10, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneY16", + "from": [ 0, 0, 9 ], + "to": [ 16, 0.001, 25 ], + "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 } + } + }, + { + "__comment": "PlaneY16", + "from": [ 0, -0.001, -9 ], + "to": [ 16, 0, 7 ], + "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" } + } + }, + { + "__comment": "PlaneY18", + "from": [ 9, 0, 0 ], + "to": [ 25, 0.001, 16 ], + "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 } + } + }, + { + "__comment": "PlaneY18", + "from": [ -9, -0.001, 0 ], + "to": [ 7, 0, 16 ], + "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/umbrella_moss_small_4.json b/src/main/resources/assets/betterend/models/block/umbrella_moss_small_4.json new file mode 100644 index 00000000..ea65959d --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/umbrella_moss_small_4.json @@ -0,0 +1,122 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/umbrella_moss_up", + "texture": "betterend:block/umbrella_moss_up", + "spore": "betterend:block/umbrella_moss_sporophyte", + "small": "betterend:block/umbrella_moss_small", + "end": "betterend:block/umbrella_moss_end" + }, + "elements": [ + { + "__comment": "PlaneX3", + "from": [ -2, 0, -2 ], + "to": [ -1.999, 13, 14 ], + "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 9.5, 0, -2 ], + "to": [ 9.501, 13, 14 ], + "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 6, 0, 3 ], + "to": [ 6.001, 13, 19 ], + "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 17.5, 0, 3 ], + "to": [ 17.501, 13, 19 ], + "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -1, 0, 6 ], + "to": [ -0.999, 11, 22 ], + "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 10.5, 0, 6 ], + "to": [ 10.501, 11, 22 ], + "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneY16", + "from": [ 0, 0, 9 ], + "to": [ 16, 0.001, 25 ], + "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 } + } + }, + { + "__comment": "PlaneY16", + "from": [ 0, -0.001, -9 ], + "to": [ 16, 0, 7 ], + "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" } + } + }, + { + "__comment": "PlaneY18", + "from": [ 9, 0, 0 ], + "to": [ 25, 0.001, 16 ], + "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 } + } + }, + { + "__comment": "PlaneY18", + "from": [ -9, -0.001, 0 ], + "to": [ 7, 0, 16 ], + "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/umbrella_moss_top_2.json b/src/main/resources/assets/betterend/models/block/umbrella_moss_top_2.json new file mode 100644 index 00000000..9a030032 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/umbrella_moss_top_2.json @@ -0,0 +1,155 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/umbrella_moss_up", + "texture": "betterend:block/umbrella_moss_up", + "spore": "betterend:block/umbrella_moss_sporophyte", + "end": "betterend:block/umbrella_moss_end" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 3, 13, 3 ], + "to": [ 5, 16, 5 ], + "faces": { + "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" }, + "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" }, + "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" } + } + }, + { + "__comment": "Box1", + "from": [ 4, 11, 11 ], + "to": [ 6, 14, 13 ], + "faces": { + "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" }, + "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" }, + "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" } + } + }, + { + "__comment": "Box1", + "from": [ 1, 12, 1 ], + "to": [ 7, 14, 7 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -2, 0, -2 ], + "to": [ -1.999, 13, 14 ], + "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 9.5, 0, -2 ], + "to": [ 9.501, 13, 14 ], + "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 7, 14, 7 ], + "to": [ 1, 12, 1 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 6, 0, 3 ], + "to": [ 6.001, 13, 19 ], + "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 17.5, 0, 3 ], + "to": [ 17.501, 13, 19 ], + "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "Box1", + "from": [ 2, 10, 9 ], + "to": [ 8, 12, 15 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -1, 0, 6 ], + "to": [ -0.999, 11, 22 ], + "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 10.5, 0, 6 ], + "to": [ 10.501, 11, 22 ], + "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 8, 12, 15 ], + "to": [ 2, 10, 9 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/umbrella_moss_top_3.json b/src/main/resources/assets/betterend/models/block/umbrella_moss_top_3.json new file mode 100644 index 00000000..e3c37d04 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/umbrella_moss_top_3.json @@ -0,0 +1,116 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/umbrella_moss_up", + "texture": "betterend:block/umbrella_moss_up", + "spore": "betterend:block/umbrella_moss_sporophyte", + "end": "betterend:block/umbrella_moss_end" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 3, 13, 3 ], + "to": [ 5, 16, 5 ], + "faces": { + "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" }, + "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" }, + "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }, + "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" } + } + }, + { + "__comment": "Box1", + "from": [ 1, 12, 1 ], + "to": [ 7, 14, 7 ], + "shade": false, + "faces": { + "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -2, 0, -2 ], + "to": [ -1.999, 13, 14 ], + "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 9.5, 0, -2 ], + "to": [ 9.501, 13, 14 ], + "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 7, 14, 7 ], + "to": [ 1, 12, 1 ], + "shade": false, + "faces": { + "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" }, + "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }, + "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 6, 0, 3 ], + "to": [ 6.001, 13, 19 ], + "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 17.5, 0, 3 ], + "to": [ 17.501, 13, 19 ], + "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ -1, 0, 6 ], + "to": [ -0.999, 11, 22 ], + "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" } + } + }, + { + "__comment": "PlaneX3", + "from": [ 10.5, 0, 6 ], + "to": [ 10.501, 11, 22 ], + "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }, + "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_bottom.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_bottom.png new file mode 100644 index 00000000..b3b136f9 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_side.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_side.png new file mode 100644 index 00000000..32f71fe3 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_top.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_top.png new file mode 100644 index 00000000..3c7e3e56 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_top_open.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_top_open.png new file mode 100644 index 00000000..792f74af Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_top_open.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_bottom.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_bottom.png new file mode 100644 index 00000000..643408d0 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_side.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_side.png new file mode 100644 index 00000000..f3844b56 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_top.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_top.png new file mode 100644 index 00000000..f28605a4 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_door_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_trapdoor.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_trapdoor.png new file mode 100644 index 00000000..8c453a5c Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_trapdoor.png differ diff --git a/src/main/resources/assets/betterend/textures/block/umbrella_moss_end.png b/src/main/resources/assets/betterend/textures/block/umbrella_moss_end.png new file mode 100644 index 00000000..e8227510 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/umbrella_moss_end.png differ diff --git a/src/main/resources/assets/betterend/textures/item/mossy_glowshroom_door.png b/src/main/resources/assets/betterend/textures/item/mossy_glowshroom_door.png new file mode 100644 index 00000000..533517c1 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/mossy_glowshroom_door.png differ diff --git a/src/main/resources/assets/betterend/textures/sky/fog.png b/src/main/resources/assets/betterend/textures/sky/fog.png new file mode 100644 index 00000000..e076cfb7 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/sky/fog.png differ