From de0cf098aeb7295d73dfab666ac8bc0c1b854fbc Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 24 Dec 2020 21:45:12 +0300 Subject: [PATCH 1/2] Density fixes --- .../ru/betterend/registry/EndFeatures.java | 2 +- .../features/trees/UmbrellaTreeFeature.java | 25 +++++++++--------- .../betterend/blockstates/jungle_grass.json | 10 ++++++- .../models/block/crop_block_inverted.json | 16 +++++------ .../models/block/jungle_grass_05.json | 6 +++++ .../models/block/jungle_grass_06.json | 6 +++++ .../models/block/jungle_grass_07.json | 6 +++++ .../models/block/jungle_grass_08.json | 6 +++++ .../models/block/jungle_grass_09.json | 6 +++++ .../models/block/jungle_grass_10.json | 6 +++++ .../models/block/jungle_grass_11.json | 6 +++++ .../models/block/jungle_grass_12.json | 6 +++++ .../textures/block/jungle_grass_2.png | Bin 0 -> 485 bytes 13 files changed, 78 insertions(+), 23 deletions(-) create mode 100644 src/main/resources/assets/betterend/models/block/jungle_grass_05.json create mode 100644 src/main/resources/assets/betterend/models/block/jungle_grass_06.json create mode 100644 src/main/resources/assets/betterend/models/block/jungle_grass_07.json create mode 100644 src/main/resources/assets/betterend/models/block/jungle_grass_08.json create mode 100644 src/main/resources/assets/betterend/models/block/jungle_grass_09.json create mode 100644 src/main/resources/assets/betterend/models/block/jungle_grass_10.json create mode 100644 src/main/resources/assets/betterend/models/block/jungle_grass_11.json create mode 100644 src/main/resources/assets/betterend/models/block/jungle_grass_12.json create mode 100644 src/main/resources/assets/betterend/textures/block/jungle_grass_2.png diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index a0ca0513..34ba572d 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -80,7 +80,7 @@ public class EndFeatures { public static final EndFeature LANCELEAF = new EndFeature("lanceleaf", new LanceleafFeature(), 3); public static final EndFeature GLOW_PILLAR = new EndFeature("glow_pillar", new GlowPillarFeature(), 1); public static final EndFeature TWISTED_UMBRELLA_MOSS = new EndFeature("twisted_umbrella_moss", new DoublePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS, EndBlocks.TWISTED_UMBRELLA_MOSS_TALL, 6), 5); - public static final EndFeature JUNGLE_GRASS = new EndFeature("jungle_grass", new CavePlantFeature(EndBlocks.JUNGLE_GRASS, 7), 8); + public static final EndFeature JUNGLE_GRASS = new EndFeature("jungle_grass", new SinglePlantFeature(EndBlocks.JUNGLE_GRASS, 7, 3), 8); // 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/world/features/trees/UmbrellaTreeFeature.java b/src/main/java/ru/betterend/world/features/trees/UmbrellaTreeFeature.java index d86d9109..37982ad1 100644 --- a/src/main/java/ru/betterend/world/features/trees/UmbrellaTreeFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/UmbrellaTreeFeature.java @@ -10,6 +10,7 @@ import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.client.util.math.Vector3f; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; import net.minecraft.util.math.BlockPos.Mutable; import net.minecraft.util.math.MathHelper; import net.minecraft.world.StructureWorldAccess; @@ -124,14 +125,14 @@ public class UmbrellaTreeFeature extends DefaultFeature { for (Center c: centers) { if (!world.getBlockState(new BlockPos(c.px, c.py, c.pz)).isAir()) { - count = MHelper.floor(MHelper.randRange(1F, 5F, random) * scale); + count = MHelper.floor(MHelper.randRange(5F, 10F, random) * scale); float startAngle = random.nextFloat() * MHelper.PI2; for (int i = 0; i < count; i++) { float angle = (float) i / count * MHelper.PI2 + startAngle; - float dist = MHelper.randRange(1.8F, 3.4F, random) * scale; + float dist = MHelper.randRange(1.5F, 2.5F, random) * scale; double px = c.px + Math.sin(angle) * dist; double pz = c.pz + Math.cos(angle) * dist; - makeFruits(world, px, c.py - 1, pz, random, fruit, scale); + makeFruits(world, px, c.py - 1, pz, fruit, scale); } } } @@ -175,18 +176,16 @@ public class UmbrellaTreeFeature extends DefaultFeature { return sphere; } - private void makeFruits(StructureWorldAccess world, double px, double py, double pz, Random random, BlockState fruit, float scale) { - Mutable mut = new Mutable(); - int length = MHelper.floor(MHelper.randRange(1F, 5F, random) * scale + 0.5F); - for (int i = 0; i < length; i++) { - mut.setY(MHelper.floor(py - i)); - double radius = (1 - (double) i / length) * 0.5; - for (int j = 0; j < 2; j++) { - mut.setX(MHelper.floor(random.nextGaussian() * radius + px + 0.5)); - mut.setZ(MHelper.floor(random.nextGaussian() * radius + pz + 0.5)); - if (world.isAir(mut)) { + private void makeFruits(StructureWorldAccess world, double px, double py, double pz, BlockState fruit, float scale) { + Mutable mut = new Mutable().set(px, py, pz); + for (int i = 0; i < 8; i++) { + mut.move(Direction.DOWN); + if (world.isAir(mut)) { + BlockState state = world.getBlockState(mut.up()); + if (state.isOf(EndBlocks.UMBRELLA_TREE_MEMBRANE) && state.get(BlockUmbrellaTreeMembrane.COLOR) < 2) { BlocksHelper.setWithoutUpdate(world, mut, fruit); } + break; } } } diff --git a/src/main/resources/assets/betterend/blockstates/jungle_grass.json b/src/main/resources/assets/betterend/blockstates/jungle_grass.json index df61d348..ef0108d7 100644 --- a/src/main/resources/assets/betterend/blockstates/jungle_grass.json +++ b/src/main/resources/assets/betterend/blockstates/jungle_grass.json @@ -4,7 +4,15 @@ { "model": "betterend:block/jungle_grass_01" }, { "model": "betterend:block/jungle_grass_02" }, { "model": "betterend:block/jungle_grass_03" }, - { "model": "betterend:block/jungle_grass_04" } + { "model": "betterend:block/jungle_grass_04" }, + { "model": "betterend:block/jungle_grass_05" }, + { "model": "betterend:block/jungle_grass_06" }, + { "model": "betterend:block/jungle_grass_07" }, + { "model": "betterend:block/jungle_grass_08" }, + { "model": "betterend:block/jungle_grass_09" }, + { "model": "betterend:block/jungle_grass_10" }, + { "model": "betterend:block/jungle_grass_11" }, + { "model": "betterend:block/jungle_grass_12" } ] } } diff --git a/src/main/resources/assets/betterend/models/block/crop_block_inverted.json b/src/main/resources/assets/betterend/models/block/crop_block_inverted.json index b7794ac1..84d0e038 100644 --- a/src/main/resources/assets/betterend/models/block/crop_block_inverted.json +++ b/src/main/resources/assets/betterend/models/block/crop_block_inverted.json @@ -4,32 +4,32 @@ "particle": "#texture" }, "elements": [ - { "from": [ 4, 0, 0 ], - "to": [ 4, 16, 16 ], + { "from": [ 4.1, 0, 0 ], + "to": [ 4.1, 16, 16 ], "shade": false, "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" } } }, - { "from": [ 12, 0, 0 ], - "to": [ 12, 16, 16 ], + { "from": [ 11.9, 0, 0 ], + "to": [ 11.9, 16, 16 ], "shade": false, "faces": { "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" } } }, - { "from": [ 0, 0, 4 ], - "to": [ 16, 16, 4 ], + { "from": [ 0, 0, 4.1 ], + "to": [ 16, 16, 4.1 ], "shade": false, "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" } } }, - { "from": [ 0, 0, 12 ], - "to": [ 16, 16, 12 ], + { "from": [ 0, 0, 11.9 ], + "to": [ 16, 16, 11.9 ], "shade": false, "faces": { "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, diff --git a/src/main/resources/assets/betterend/models/block/jungle_grass_05.json b/src/main/resources/assets/betterend/models/block/jungle_grass_05.json new file mode 100644 index 00000000..b1a6657a --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/jungle_grass_05.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/jungle_grass_2" + } +} diff --git a/src/main/resources/assets/betterend/models/block/jungle_grass_06.json b/src/main/resources/assets/betterend/models/block/jungle_grass_06.json new file mode 100644 index 00000000..26278b2a --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/jungle_grass_06.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/crop_block", + "textures": { + "texture": "betterend:block/jungle_grass_2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/jungle_grass_07.json b/src/main/resources/assets/betterend/models/block/jungle_grass_07.json new file mode 100644 index 00000000..cf71ab85 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/jungle_grass_07.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_inverted", + "textures": { + "cross": "betterend:block/jungle_grass_2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/jungle_grass_08.json b/src/main/resources/assets/betterend/models/block/jungle_grass_08.json new file mode 100644 index 00000000..df08990e --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/jungle_grass_08.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/crop_block_inverted", + "textures": { + "texture": "betterend:block/jungle_grass_2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/jungle_grass_09.json b/src/main/resources/assets/betterend/models/block/jungle_grass_09.json new file mode 100644 index 00000000..e1c9fb41 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/jungle_grass_09.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/twisted_umbrella_moss_small" + } +} diff --git a/src/main/resources/assets/betterend/models/block/jungle_grass_10.json b/src/main/resources/assets/betterend/models/block/jungle_grass_10.json new file mode 100644 index 00000000..ec90bfa3 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/jungle_grass_10.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/crop_block", + "textures": { + "texture": "betterend:block/twisted_umbrella_moss_small" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/jungle_grass_11.json b/src/main/resources/assets/betterend/models/block/jungle_grass_11.json new file mode 100644 index 00000000..4e3e45c4 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/jungle_grass_11.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_inverted", + "textures": { + "cross": "betterend:block/twisted_umbrella_moss_small" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/jungle_grass_12.json b/src/main/resources/assets/betterend/models/block/jungle_grass_12.json new file mode 100644 index 00000000..4ca93a64 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/jungle_grass_12.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/crop_block_inverted", + "textures": { + "texture": "betterend:block/twisted_umbrella_moss_small" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/textures/block/jungle_grass_2.png b/src/main/resources/assets/betterend/textures/block/jungle_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee375cd7c79cb6804c1b73817dbd856feadafb3 GIT binary patch literal 485 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0eVS9K~y+Tt&z_z zLqQbA=S<6jD!P)cnh-&xp1}i%gr!vzmQ5roVb>6=5{s^c*je@&JOV|OjkF8hY0;8f z+K%~7?~J;x4Svbw%-r+uJLi&8O8f=s+F$d(1&ByY9qqBj8Qb1eIOhArPTGz9gj{Qx zJlqw9l@zSfmi@SE^DP!w1z4t8Xgrs($)G3l^P;)H=+=gn>IKCv7T0~d1M-uqJF52z zVHBH)(ZKcc8e4-Mp<6bR{bXxDmKliWxDg{wV7E+qKQ?G zc5W;D_JZWL6SPHxBXbEAnV+V Date: Thu, 24 Dec 2020 22:23:42 +0300 Subject: [PATCH 2/2] More biome plants & model console error fix --- .../blocks/BlockVentBubbleColumn.java | 23 ++++++++++++++++++- .../world/biome/BiomeUmbrellaJungle.java | 8 ++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/betterend/blocks/BlockVentBubbleColumn.java b/src/main/java/ru/betterend/blocks/BlockVentBubbleColumn.java index 7391c96b..f50a6b06 100644 --- a/src/main/java/ru/betterend/blocks/BlockVentBubbleColumn.java +++ b/src/main/java/ru/betterend/blocks/BlockVentBubbleColumn.java @@ -1,5 +1,6 @@ package ru.betterend.blocks; +import java.io.Reader; import java.util.Random; import net.fabricmc.api.EnvType; @@ -21,18 +22,22 @@ import net.minecraft.particle.ParticleTypes; import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; +import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; +import net.minecraft.util.registry.Registry; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldView; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; import ru.betterend.registry.EndBlocks; import ru.betterend.util.BlocksHelper; -public class BlockVentBubbleColumn extends Block implements FluidDrainable, FluidFillable { +public class BlockVentBubbleColumn extends Block implements FluidDrainable, FluidFillable, BlockPatterned { public BlockVentBubbleColumn() { super(FabricBlockSettings.of(Material.BUBBLE_COLUMN).nonOpaque().noCollision().dropsNothing()); } @@ -120,4 +125,20 @@ public class BlockVentBubbleColumn extends Block implements FluidDrainable, Flui public FluidState getFluidState(BlockState state) { return Fluids.WATER.getStill(false); } + + @Override + public String getStatesPattern(Reader data) { + String block = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, block, block); + } + + @Override + public String getModelPattern(String block) { + return Patterns.createJson(Patterns.BLOCK_EMPTY, "stone", "stone"); + } + + @Override + public Identifier statePatternId() { + return Patterns.STATE_SIMPLE; + } } diff --git a/src/main/java/ru/betterend/world/biome/BiomeUmbrellaJungle.java b/src/main/java/ru/betterend/world/biome/BiomeUmbrellaJungle.java index 0c931926..9a8cc656 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeUmbrellaJungle.java +++ b/src/main/java/ru/betterend/world/biome/BiomeUmbrellaJungle.java @@ -11,9 +11,15 @@ public class BiomeUmbrellaJungle extends EndBiome { .setFoliageColor(27, 183, 194) .setFogDensity(2.3F) .setSurface(EndBlocks.JUNGLE_MOSS) + .addFeature(EndFeatures.END_LAKE) .addFeature(EndFeatures.UMBRELLA_TREE) .addFeature(EndFeatures.TWISTED_UMBRELLA_MOSS) .addFeature(EndFeatures.JUNGLE_GRASS) - .addFeature(EndFeatures.END_LAKE)); + .addFeature(EndFeatures.CYAN_MOSS) + .addFeature(EndFeatures.CYAN_MOSS_WOOD) + .addFeature(EndFeatures.CHARNIA_CYAN) + .addFeature(EndFeatures.CHARNIA_GREEN) + .addFeature(EndFeatures.CHARNIA_LIGHT_BLUE) + .addFeature(EndFeatures.CHARNIA_RED_RARE)); } } \ No newline at end of file