Glowing grasslands prototype

This commit is contained in:
paulevsGitch 2021-01-19 03:52:51 +03:00
parent 49bf8441e6
commit 9042173336
39 changed files with 676 additions and 137 deletions

View file

@ -119,4 +119,35 @@ public class BlockProperties {
return name; return name;
} }
} }
public static enum LumecornShape implements StringIdentifiable {
LIGHT1("light1", 15),
LIGHT2("light2", 14),
LIGHT3("light3", 13),
MIDDLE("middle", 0),
BOTTOM_BIG("bottom_big", 0),
BOTTOM_SMALL("bottom_small", 0);
private final String name;
private final int light;
LumecornShape(String name, int light) {
this.name = name;
this.light = light;
}
@Override
public String asString() {
return name;
}
@Override
public String toString() {
return name;
}
public int getLight() {
return light;
}
}
} }

View file

@ -0,0 +1,80 @@
package ru.betterend.blocks;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.Material;
import net.minecraft.block.ShapeContext;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.EnumProperty;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.BlockView;
import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView;
import ru.betterend.blocks.BlockProperties.LumecornShape;
import ru.betterend.blocks.basis.BaseBlockNotFull;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.registry.EndTags;
public class LumecornBlock extends BaseBlockNotFull implements IRenderTypeable {
public static final EnumProperty<LumecornShape> SHAPE = EnumProperty.of("shape", LumecornShape.class);
private static final VoxelShape SHAPE_BIG = Block.createCuboidShape(5, 0, 5, 11, 16, 11);
private static final VoxelShape SHAPE_MEDIUM = Block.createCuboidShape(6, 0, 6, 10, 16, 10);
private static final VoxelShape SHAPE_SMALL = Block.createCuboidShape(7, 0, 7, 9, 16, 9);
public LumecornBlock() {
super(FabricBlockSettings.of(Material.WOOD).breakByTool(FabricToolTags.AXES).hardness(0.5F).luminance((state) -> {
return state.get(SHAPE).getLight();
}));
}
@Override
protected void appendProperties(StateManager.Builder<Block, BlockState> stateManager) {
stateManager.add(SHAPE);
}
@Override
public ERenderLayer getRenderLayer() {
return ERenderLayer.CUTOUT;
}
@Override
public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) {
LumecornShape shape = state.get(SHAPE);
if (shape == LumecornShape.LIGHT3) {
return SHAPE_SMALL;
}
else if (shape == LumecornShape.LIGHT2) {
return SHAPE_MEDIUM;
}
else {
return SHAPE_BIG;
}
}
@Override
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
LumecornShape shape = state.get(SHAPE);
if (shape == LumecornShape.BOTTOM_BIG || shape == LumecornShape.BOTTOM_SMALL) {
return world.getBlockState(pos.down()).isIn(EndTags.END_GROUND);
}
else {
return world.getBlockState(pos.down()).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;
}
}
}

View file

@ -44,6 +44,7 @@ import ru.betterend.world.biome.BiomeShadowForest;
import ru.betterend.world.biome.BiomeSulphurSprings; import ru.betterend.world.biome.BiomeSulphurSprings;
import ru.betterend.world.biome.BiomeUmbrellaJungle; import ru.betterend.world.biome.BiomeUmbrellaJungle;
import ru.betterend.world.biome.EndBiome; import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.biome.GlowingGrasslandsBiome;
import ru.betterend.world.generator.BELayerRandomSource; import ru.betterend.world.generator.BELayerRandomSource;
import ru.betterend.world.generator.BiomePicker; import ru.betterend.world.generator.BiomePicker;
import ru.betterend.world.generator.BiomeType; import ru.betterend.world.generator.BiomeType;
@ -83,6 +84,7 @@ public class EndBiomes {
public static final EndBiome BLOSSOMING_SPIRES = registerBiome(new BiomeBlossomingSpires(), BiomeType.LAND); public static final EndBiome BLOSSOMING_SPIRES = registerBiome(new BiomeBlossomingSpires(), BiomeType.LAND);
public static final EndBiome SULPHUR_SPRINGS = registerBiome(new BiomeSulphurSprings(), BiomeType.LAND); public static final EndBiome SULPHUR_SPRINGS = registerBiome(new BiomeSulphurSprings(), BiomeType.LAND);
public static final EndBiome UMBRELLA_JUNGLE = registerBiome(new BiomeUmbrellaJungle(), BiomeType.LAND); public static final EndBiome UMBRELLA_JUNGLE = registerBiome(new BiomeUmbrellaJungle(), BiomeType.LAND);
public static final EndBiome GLOWING_GRASSLANDS = registerBiome(new GlowingGrasslandsBiome(), BiomeType.LAND);
// Better End Void // Better End Void
public static final EndBiome ICE_STARFIELD = registerBiome(new BiomeIceStarfield(), BiomeType.VOID); public static final EndBiome ICE_STARFIELD = registerBiome(new BiomeIceStarfield(), BiomeType.VOID);

View file

@ -56,6 +56,7 @@ import ru.betterend.blocks.JellyshroomCapBlock;
import ru.betterend.blocks.LacugroveSaplingBlock; import ru.betterend.blocks.LacugroveSaplingBlock;
import ru.betterend.blocks.LanceleafBlock; import ru.betterend.blocks.LanceleafBlock;
import ru.betterend.blocks.LanceleafSeedBlock; import ru.betterend.blocks.LanceleafSeedBlock;
import ru.betterend.blocks.LumecornBlock;
import ru.betterend.blocks.MengerSpongeBlock; import ru.betterend.blocks.MengerSpongeBlock;
import ru.betterend.blocks.MengerSpongeWetBlock; import ru.betterend.blocks.MengerSpongeWetBlock;
import ru.betterend.blocks.MossyGlowshroomCapBlock; import ru.betterend.blocks.MossyGlowshroomCapBlock;
@ -221,6 +222,8 @@ public class EndBlocks {
public static final Block SMALL_JELLYSHROOM = registerBlock("small_jellyshroom", new SmallJellyshroomBlock()); public static final Block SMALL_JELLYSHROOM = registerBlock("small_jellyshroom", new SmallJellyshroomBlock());
public static final Block LUMECORN = registerBlock("lumecorn", new LumecornBlock());
// Crops // Crops
public static final Block BLOSSOM_BERRY = registerBlock("blossom_berry_seed", new EndCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS)); public static final Block BLOSSOM_BERRY = registerBlock("blossom_berry_seed", new EndCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS));

View file

@ -32,6 +32,7 @@ import ru.betterend.world.features.VineFeature;
import ru.betterend.world.features.WallPlantFeature; import ru.betterend.world.features.WallPlantFeature;
import ru.betterend.world.features.WallPlantOnLogFeature; import ru.betterend.world.features.WallPlantOnLogFeature;
import ru.betterend.world.features.bushes.BushFeature; import ru.betterend.world.features.bushes.BushFeature;
import ru.betterend.world.features.bushes.Lumecorn;
import ru.betterend.world.features.bushes.TenaneaBushFeature; import ru.betterend.world.features.bushes.TenaneaBushFeature;
import ru.betterend.world.features.terrain.EndLakeFeature; import ru.betterend.world.features.terrain.EndLakeFeature;
import ru.betterend.world.features.terrain.FloatingSpireFeature; import ru.betterend.world.features.terrain.FloatingSpireFeature;
@ -68,6 +69,7 @@ public class EndFeatures {
public static final EndFeature PYTHADENDRON_BUSH = new EndFeature("pythadendron_bush", new BushFeature(EndBlocks.PYTHADENDRON_LEAVES, EndBlocks.PYTHADENDRON.bark), 4); public static final EndFeature PYTHADENDRON_BUSH = new EndFeature("pythadendron_bush", new BushFeature(EndBlocks.PYTHADENDRON_LEAVES, EndBlocks.PYTHADENDRON.bark), 4);
public static final EndFeature DRAGON_TREE_BUSH = new EndFeature("dragon_tree_bush", new BushFeature(EndBlocks.DRAGON_TREE_LEAVES, EndBlocks.DRAGON_TREE.bark), 15); public static final EndFeature DRAGON_TREE_BUSH = new EndFeature("dragon_tree_bush", new BushFeature(EndBlocks.DRAGON_TREE_LEAVES, EndBlocks.DRAGON_TREE.bark), 15);
public static final EndFeature TENANEA_BUSH = new EndFeature("tenanea_bush", new TenaneaBushFeature(), 10); public static final EndFeature TENANEA_BUSH = new EndFeature("tenanea_bush", new TenaneaBushFeature(), 10);
public static final EndFeature LUMECORN = new EndFeature("lumecorn", new Lumecorn(), 5);
// Plants // // Plants //
public static final EndFeature UMBRELLA_MOSS = new EndFeature("umbrella_moss", new DoublePlantFeature(EndBlocks.UMBRELLA_MOSS, EndBlocks.UMBRELLA_MOSS_TALL, 5), 5); public static final EndFeature UMBRELLA_MOSS = new EndFeature("umbrella_moss", new DoublePlantFeature(EndBlocks.UMBRELLA_MOSS, EndBlocks.UMBRELLA_MOSS_TALL, 5), 5);

View file

@ -0,0 +1,26 @@
package ru.betterend.world.biome;
import net.minecraft.entity.EntityType;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
public class GlowingGrasslandsBiome extends EndBiome {
public GlowingGrasslandsBiome() {
super(new BiomeDefinition("glowing_grasslands")
.setFogColor(99, 228, 247)
.setFogDensity(1.3F)
.setMusic(EndSounds.MUSIC_OPENSPACE)
.setSurface(EndBlocks.END_MOSS)
.addFeature(EndFeatures.END_LAKE_RARE)
.addFeature(EndFeatures.LUMECORN)
.addFeature(EndFeatures.UMBRELLA_MOSS)
.addFeature(EndFeatures.CREEPING_MOSS)
.addFeature(EndFeatures.TWISTED_UMBRELLA_MOSS)
.addFeature(EndFeatures.CHARNIA_CYAN)
.addFeature(EndFeatures.CHARNIA_GREEN)
.addFeature(EndFeatures.CHARNIA_LIGHT_BLUE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
}
}

View file

@ -0,0 +1,66 @@
package ru.betterend.world.features.bushes;
import java.util.Random;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockPos.Mutable;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.StructureWorldAccess;
import net.minecraft.world.gen.chunk.ChunkGenerator;
import net.minecraft.world.gen.feature.DefaultFeatureConfig;
import ru.betterend.blocks.BlockProperties.LumecornShape;
import ru.betterend.blocks.LumecornBlock;
import ru.betterend.registry.EndBlocks;
import ru.betterend.util.BlocksHelper;
import ru.betterend.util.MHelper;
import ru.betterend.world.features.DefaultFeature;
public class Lumecorn extends DefaultFeature {
@Override
public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos pos, DefaultFeatureConfig config) {
int height = MHelper.randRange(3, 6, random);
Mutable mut = new Mutable().set(pos);
for (int i = 1; i < height; i++) {
mut.move(Direction.UP);
if (!world.isAir(mut)) {
return false;
}
}
mut.set(pos);
if (height == 3) {
BlocksHelper.setWithoutUpdate(world, mut, EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.BOTTOM_SMALL));
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.LIGHT2));
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.LIGHT3));
return true;
}
boolean tall = random.nextBoolean();
if (tall) {
BlocksHelper.setWithoutUpdate(world, mut, EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.BOTTOM_BIG));
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.MIDDLE));
height -= 2;
}
else {
BlocksHelper.setWithoutUpdate(world, mut, EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.BOTTOM_SMALL));
height --;
}
boolean smallBottom = height > 2 && random.nextBoolean();
for (int i = 0; i < height; i++) {
int size = i - height + 4;
size = MathHelper.clamp(size, 1, 3);
if (smallBottom && i == 0) {
size ++;
}
if (size == 1) {
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.LIGHT1));
}
else if (size == 2) {
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.LIGHT2));
}
else {
BlocksHelper.setWithoutUpdate(world, mut.move(Direction.UP), EndBlocks.LUMECORN.getDefaultState().with(LumecornBlock.SHAPE, LumecornShape.LIGHT3));
}
}
return false;
}
}

View file

@ -1,19 +0,0 @@
{
"variants": {
"axis=x": [
{ "model": "betterend:block/capsacis_bark_1", "x": 90, "y": 90 },
{ "model": "betterend:block/capsacis_bark_2", "x": 90, "y": 90 },
{ "model": "betterend:block/capsacis_bark_3", "x": 90, "y": 90 }
],
"axis=y": [
{ "model": "betterend:block/capsacis_bark_1" },
{ "model": "betterend:block/capsacis_bark_2" },
{ "model": "betterend:block/capsacis_bark_3" }
],
"axis=z": [
{ "model": "betterend:block/capsacis_bark_1", "x": 90 },
{ "model": "betterend:block/capsacis_bark_2", "x": 90 },
{ "model": "betterend:block/capsacis_bark_3", "x": 90 }
]
}
}

View file

@ -1,12 +0,0 @@
{
"variants": {
"color=0": { "model": "betterend:block/capsacis_cap_0" },
"color=1": { "model": "betterend:block/capsacis_cap_1" },
"color=2": { "model": "betterend:block/capsacis_cap_2" },
"color=3": { "model": "betterend:block/capsacis_cap_3" },
"color=4": { "model": "betterend:block/capsacis_cap_4" },
"color=5": { "model": "betterend:block/capsacis_cap_5" },
"color=6": { "model": "betterend:block/capsacis_cap_6" },
"color=7": { "model": "betterend:block/capsacis_cap_7" }
}
}

View file

@ -1,19 +0,0 @@
{
"variants": {
"axis=x": [
{ "model": "betterend:block/capsacis_log_1", "x": 90, "y": 90 },
{ "model": "betterend:block/capsacis_log_2", "x": 90, "y": 90 },
{ "model": "betterend:block/capsacis_log_3", "x": 90, "y": 90 }
],
"axis=y": [
{ "model": "betterend:block/capsacis_log_1" },
{ "model": "betterend:block/capsacis_log_2" },
{ "model": "betterend:block/capsacis_log_3" }
],
"axis=z": [
{ "model": "betterend:block/capsacis_log_1", "x": 90 },
{ "model": "betterend:block/capsacis_log_2", "x": 90 },
{ "model": "betterend:block/capsacis_log_3", "x": 90 }
]
}
}

View file

@ -0,0 +1,10 @@
{
"variants": {
"shape=light1": { "model": "betterend:block/lumecorn_light_1" },
"shape=light2": { "model": "betterend:block/lumecorn_light_2" },
"shape=light3": { "model": "betterend:block/lumecorn_light_3" },
"shape=middle": { "model": "betterend:block/lumecon_middle_big" },
"shape=bottom_big": { "model": "betterend:block/lumecorn_bottom_big" },
"shape=bottom_small": { "model": "betterend:block/lumecorn_bottom_small" }
}
}

View file

@ -0,0 +1,10 @@
{
"defaultMap": {
"spriteMap": [
{
"sprite": "betterend:block/lumecorn_light_1",
"material": "betterend:glow_inc"
}
]
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_log_side"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_log_side_2"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_log_side_3"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_cap_0"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_cap_1"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_cap_2"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_cap_3"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_cap_4"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_cap_5"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_cap_6"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/capsacis_cap_7"
}
}

View file

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/cube_column",
"textures": {
"end": "betterend:block/capsacis_log_top",
"side": "betterend:block/capsacis_log_side"
}
}

View file

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/cube_column",
"textures": {
"end": "betterend:block/capsacis_log_top",
"side": "betterend:block/capsacis_log_side_2"
}
}

View file

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/cube_column",
"textures": {
"end": "betterend:block/capsacis_log_top",
"side": "betterend:block/capsacis_log_side_3"
}
}

View file

@ -0,0 +1,156 @@
{
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "betterend:block/lumecorn_bark",
"texture": "betterend:block/lumecorn_bark",
"leaf_2": "betterend:block/lumecorn_leaf_2",
"leaf_1": "betterend:block/lumecorn_leaf_1"
},
"elements": [
{
"__comment": "Box1",
"from": [ 5, 0, 5 ],
"to": [ 11, 16, 11 ],
"faces": {
"down": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "down" },
"up": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "up" },
"north": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"south": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"east": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" }
}
},
{
"__comment": "PlaneY4",
"from": [ 11, 14, 0 ],
"to": [ 27, 14.001, 16 ],
"rotation": { "origin": [ 11, 14, 0 ], "axis": "z", "angle": -22.5 },
"shade": false,
"faces": {
"down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 90 },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 90 }
}
},
{
"__comment": "PlaneY4",
"from": [ 11, 15, 0 ],
"to": [ 19, 15.001, 16 ],
"rotation": { "origin": [ 11, 15, 0 ], "axis": "z", "angle": 45 },
"shade": false,
"faces": {
"down": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 90 },
"up": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 90 }
}
},
{
"__comment": "PlaneY4",
"from": [ -11, 13.999, 0 ],
"to": [ 5, 14, 16 ],
"rotation": { "origin": [ 5, 14, 0 ], "axis": "z", "angle": 22.5 },
"shade": false,
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 270 },
"up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 270 }
}
},
{
"__comment": "PlaneY4",
"from": [ -3, 14.999, 0 ],
"to": [ 5, 15, 16 ],
"rotation": { "origin": [ 5, 15, 0 ], "axis": "z", "angle": -45 },
"shade": false,
"faces": {
"down": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 270 },
"up": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 270 }
}
},
{
"__comment": "PlaneY17",
"from": [ 0, 14, 11 ],
"to": [ 16, 14.001, 27 ],
"rotation": { "origin": [ 0, 14, 11 ], "axis": "x", "angle": 22.5 },
"shade": false,
"faces": {
"down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 }
}
},
{
"__comment": "PlaneY17",
"from": [ 0, 15, 10.999 ],
"to": [ 16, 23, 11 ],
"rotation": { "origin": [ 0, 15, 11 ], "axis": "x", "angle": 45 },
"shade": false,
"faces": {
"north": { "uv": [ 16, 16, 0, 8 ], "texture": "#leaf_1", "rotation": 180 },
"south": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
}
},
{
"__comment": "PlaneY17",
"from": [ 0, 13.999, -11 ],
"to": [ 16, 14, 5 ],
"rotation": { "origin": [ 0, 14, 5 ], "axis": "x", "angle": -22.5 },
"shade": false,
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 },
"up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" }
}
},
{
"__comment": "PlaneY17",
"from": [ 0, 15, 4.999 ],
"to": [ 16, 23, 5 ],
"rotation": { "origin": [ 0, 15, 5 ], "axis": "x", "angle": -45 },
"shade": false,
"faces": {
"north": { "uv": [ 16, 16, 0, 8 ], "texture": "#leaf_1", "rotation": 180 },
"south": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
}
},
{
"__comment": "PlaneY24",
"from": [ 13, 14, -2.5 ],
"to": [ 21, 14.001, 5.5 ],
"rotation": { "origin": [ 13, 14, -2.5 ], "axis": "y", "angle": -45 },
"shade": false,
"faces": {
"down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1" },
"up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1" }
}
},
{
"__comment": "PlaneY24",
"from": [ 10.5, 14, 5 ],
"to": [ 18.5, 14.001, 13 ],
"rotation": { "origin": [ 18.5, 15, 13 ], "axis": "y", "angle": 45 },
"shade": false,
"faces": {
"down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1", "rotation": 180 },
"up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1", "rotation": 180 }
}
},
{
"__comment": "PlaneY24",
"from": [ -5, 14, 10.5 ],
"to": [ 3, 14.001, 18.5 ],
"rotation": { "origin": [ 3, 15, 18.5 ], "axis": "y", "angle": -45 },
"shade": false,
"faces": {
"down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1", "rotation": 180 },
"up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1", "rotation": 180 }
}
},
{
"__comment": "PlaneY24",
"from": [ -2.4999, 14, 3 ],
"to": [ 5.5001, 14.001, 11 ],
"rotation": { "origin": [ -2.5, 15, 3 ], "axis": "y", "angle": 45 },
"shade": false,
"faces": {
"down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1" },
"up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1" }
}
}
]
}

View file

@ -0,0 +1,45 @@
{
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "betterend:block/lumecorn_bark",
"texture": "betterend:block/lumecorn_bark",
"roots": "betterend:block/lumecorn_roots"
},
"elements": [
{
"__comment": "Box1",
"from": [ 5, 0, 5 ],
"to": [ 11, 16, 11 ],
"faces": {
"down": { "uv": [ 8, 6, 14, 12 ], "texture": "#texture", "cullface": "down" },
"up": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "up" },
"north": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"south": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"east": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" }
}
},
{
"__comment": "PlaneX2",
"from": [ 0, 0, 0 ],
"to": [ 0.001, 16, 22.5 ],
"rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
"shade": false,
"faces": {
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
}
},
{
"__comment": "PlaneX2",
"from": [ 16, 0, 0 ],
"to": [ 16.001, 16, 22.5 ],
"rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
"shade": false,
"faces": {
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
}
}
]
}

View file

@ -0,0 +1,179 @@
{
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "betterend:block/lumecorn_bark",
"texture": "betterend:block/lumecorn_bark",
"leaf_2": "betterend:block/lumecorn_leaf_2",
"leaf_1": "betterend:block/lumecorn_leaf_1",
"roots": "betterend:block/lumecorn_roots"
},
"elements": [
{
"__comment": "Box1",
"from": [ 5, 0, 5 ],
"to": [ 11, 16, 11 ],
"faces": {
"down": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "down" },
"up": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "up" },
"north": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"south": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
"east": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" }
}
},
{
"__comment": "PlaneY4",
"from": [ 11, 14, 0 ],
"to": [ 27, 14.001, 16 ],
"rotation": { "origin": [ 11, 14, 0 ], "axis": "z", "angle": -22.5 },
"shade": false,
"faces": {
"down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 90 },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 90 }
}
},
{
"__comment": "PlaneY4",
"from": [ 11, 15, 0 ],
"to": [ 19, 15.001, 16 ],
"rotation": { "origin": [ 11, 15, 0 ], "axis": "z", "angle": 45 },
"shade": false,
"faces": {
"down": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 90 },
"up": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 90 }
}
},
{
"__comment": "PlaneY4",
"from": [ -11, 13.999, 0 ],
"to": [ 5, 14, 16 ],
"rotation": { "origin": [ 5, 14, 0 ], "axis": "z", "angle": 22.5 },
"shade": false,
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 270 },
"up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 270 }
}
},
{
"__comment": "PlaneY4",
"from": [ -3, 14.999, 0 ],
"to": [ 5, 15, 16 ],
"rotation": { "origin": [ 5, 15, 0 ], "axis": "z", "angle": -45 },
"shade": false,
"faces": {
"down": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 270 },
"up": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 270 }
}
},
{
"__comment": "PlaneY17",
"from": [ 0, 14, 11 ],
"to": [ 16, 14.001, 27 ],
"rotation": { "origin": [ 0, 14, 11 ], "axis": "x", "angle": 22.5 },
"shade": false,
"faces": {
"down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 }
}
},
{
"__comment": "PlaneY17",
"from": [ 0, 15, 10.999 ],
"to": [ 16, 23, 11 ],
"rotation": { "origin": [ 0, 15, 11 ], "axis": "x", "angle": 45 },
"shade": false,
"faces": {
"north": { "uv": [ 16, 16, 0, 8 ], "texture": "#leaf_1", "rotation": 180 },
"south": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
}
},
{
"__comment": "PlaneY17",
"from": [ 0, 13.999, -11 ],
"to": [ 16, 14, 5 ],
"rotation": { "origin": [ 0, 14, 5 ], "axis": "x", "angle": -22.5 },
"shade": false,
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 },
"up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" }
}
},
{
"__comment": "PlaneY17",
"from": [ 0, 15, 4.999 ],
"to": [ 16, 23, 5 ],
"rotation": { "origin": [ 0, 15, 5 ], "axis": "x", "angle": -45 },
"shade": false,
"faces": {
"north": { "uv": [ 16, 16, 0, 8 ], "texture": "#leaf_1", "rotation": 180 },
"south": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
}
},
{
"__comment": "PlaneY24",
"from": [ 13, 14, -2.5 ],
"to": [ 21, 14.001, 5.5 ],
"rotation": { "origin": [ 13, 14, -2.5 ], "axis": "y", "angle": -45 },
"shade": false,
"faces": {
"down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1" },
"up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1" }
}
},
{
"__comment": "PlaneY24",
"from": [ 10.5, 14, 5 ],
"to": [ 18.5, 14.001, 13 ],
"rotation": { "origin": [ 18.5, 15, 13 ], "axis": "y", "angle": 45 },
"shade": false,
"faces": {
"down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1", "rotation": 180 },
"up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1", "rotation": 180 }
}
},
{
"__comment": "PlaneY24",
"from": [ -5, 14, 10.5 ],
"to": [ 3, 14.001, 18.5 ],
"rotation": { "origin": [ 3, 15, 18.5 ], "axis": "y", "angle": -45 },
"shade": false,
"faces": {
"down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1", "rotation": 180 },
"up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1", "rotation": 180 }
}
},
{
"__comment": "PlaneY24",
"from": [ -2.4999, 14, 3 ],
"to": [ 5.5001, 14.001, 11 ],
"rotation": { "origin": [ -2.5, 15, 3 ], "axis": "y", "angle": 45 },
"shade": false,
"faces": {
"down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1" },
"up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1" }
}
},
{
"__comment": "PlaneX14",
"from": [ 0, 0, 0 ],
"to": [ 0.001, 16, 22.5 ],
"rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
"shade": false,
"faces": {
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
}
},
{
"__comment": "PlaneX14",
"from": [ 16, 0, 0 ],
"to": [ 16.001, 16, 22.5 ],
"rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
"shade": false,
"faces": {
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
}
}
]
}

View file

@ -0,0 +1,22 @@
{
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "betterend:block/lumecorn_light_1",
"texture": "betterend:block/lumecorn_light_1"
},
"elements": [
{
"__comment": "Box1",
"from": [ 5, 0, 5 ],
"to": [ 11, 16, 11 ],
"faces": {
"down": { "uv": [ 5, 5, 11, 11 ], "texture": "#texture", "cullface": "down" },
"up": { "uv": [ 5, 5, 11, 11 ], "texture": "#texture", "cullface": "up" },
"north": { "uv": [ 5, 0, 11, 16 ], "texture": "#texture" },
"south": { "uv": [ 5, 0, 11, 16 ], "texture": "#texture" },
"west": { "uv": [ 5, 0, 11, 16 ], "texture": "#texture" },
"east": { "uv": [ 5, 0, 11, 16 ], "texture": "#texture" }
}
}
]
}

View file

@ -0,0 +1,22 @@
{
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "betterend:block/lumecorn_light_1",
"texture": "betterend:block/lumecorn_light_1"
},
"elements": [
{
"__comment": "Box1",
"from": [ 6, 0, 6 ],
"to": [ 10, 16, 10 ],
"faces": {
"down": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "down" },
"up": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture", "cullface": "up" },
"north": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" },
"south": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" },
"west": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" },
"east": { "uv": [ 6, 0, 10, 16 ], "texture": "#texture" }
}
}
]
}

View file

@ -0,0 +1,22 @@
{
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "betterend:block/lumecorn_light_1",
"texture": "betterend:block/lumecorn_light_1"
},
"elements": [
{
"__comment": "Box1",
"from": [ 7, 0, 7 ],
"to": [ 9, 16, 9 ],
"faces": {
"down": { "uv": [ 7, 7, 9, 9 ], "texture": "#texture", "cullface": "down" },
"up": { "uv": [ 7, 7, 9, 9 ], "texture": "#texture", "cullface": "up" },
"north": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" },
"south": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" },
"west": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" },
"east": { "uv": [ 7, 0, 9, 16 ], "texture": "#texture" }
}
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB