Fixes & textures
116
src/main/java/ru/betterend/blocks/NeonCactusBlock.java
Normal file
|
@ -0,0 +1,116 @@
|
|||
package ru.betterend.blocks;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.ShapeContext;
|
||||
import net.minecraft.block.Waterloggable;
|
||||
import net.minecraft.fluid.FluidState;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
import net.minecraft.item.ItemPlacementContext;
|
||||
import net.minecraft.state.StateManager;
|
||||
import net.minecraft.state.property.BooleanProperty;
|
||||
import net.minecraft.state.property.DirectionProperty;
|
||||
import net.minecraft.state.property.EnumProperty;
|
||||
import net.minecraft.state.property.Properties;
|
||||
import net.minecraft.util.BlockMirror;
|
||||
import net.minecraft.util.BlockRotation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.Direction.Axis;
|
||||
import net.minecraft.util.shape.VoxelShape;
|
||||
import net.minecraft.util.shape.VoxelShapes;
|
||||
import net.minecraft.world.BlockView;
|
||||
import net.minecraft.world.WorldAccess;
|
||||
import ru.betterend.blocks.BlockProperties.TripleShape;
|
||||
import ru.betterend.blocks.basis.BlockBaseNotFull;
|
||||
import ru.betterend.client.render.ERenderLayer;
|
||||
import ru.betterend.interfaces.IRenderTypeable;
|
||||
import ru.betterend.util.BlocksHelper;
|
||||
|
||||
public class NeonCactusBlock extends BlockBaseNotFull implements Waterloggable, IRenderTypeable {
|
||||
public static final EnumProperty<TripleShape> SHAPE = BlockProperties.TRIPLE_SHAPE;
|
||||
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
||||
public static final DirectionProperty FACING = Properties.FACING;
|
||||
|
||||
private static final VoxelShape MEDIUM_X = Block.createCuboidShape(0, 2, 2, 16, 14, 14);
|
||||
private static final VoxelShape MEDIUM_Y = Block.createCuboidShape(2, 0, 2, 14, 16, 14);
|
||||
private static final VoxelShape MEDIUM_Z = Block.createCuboidShape(2, 2, 0, 14, 14, 16);
|
||||
|
||||
private static final VoxelShape SMALL_X = Block.createCuboidShape(0, 4, 4, 16, 12, 12);
|
||||
private static final VoxelShape SMALL_Y = Block.createCuboidShape(4, 0, 4, 12, 16, 12);
|
||||
private static final VoxelShape SMALL_Z = Block.createCuboidShape(4, 4, 0, 12, 12, 16);
|
||||
|
||||
public NeonCactusBlock() {
|
||||
super(FabricBlockSettings.copyOf(Blocks.CACTUS).luminance(state -> {
|
||||
TripleShape shape = state.get(SHAPE);
|
||||
if (shape == TripleShape.TOP) {
|
||||
return 15;
|
||||
}
|
||||
return shape == TripleShape.MIDDLE ? 13 : 10;
|
||||
}));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void appendProperties(StateManager.Builder<Block, BlockState> stateManager) {
|
||||
stateManager.add(SHAPE, WATERLOGGED, FACING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
||||
WorldAccess worldAccess = ctx.getWorld();
|
||||
BlockPos blockPos = ctx.getBlockPos();
|
||||
return this.getDefaultState().with(WATERLOGGED, worldAccess.getFluidState(blockPos).getFluid() == Fluids.WATER).with(FACING, ctx.getSide());
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState rotate(BlockState state, BlockRotation rotation) {
|
||||
return BlocksHelper.rotateHorizontal(state, rotation, FACING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState mirror(BlockState state, BlockMirror mirror) {
|
||||
return BlocksHelper.mirrorHorizontal(state, mirror, FACING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidState getFluidState(BlockState state) {
|
||||
return (Boolean) state.get(WATERLOGGED) ? Fluids.WATER.getStill(false) : super.getFluidState(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState newState, WorldAccess world, BlockPos pos, BlockPos posFrom) {
|
||||
if ((Boolean) state.get(WATERLOGGED)) {
|
||||
world.getFluidTickScheduler().schedule(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ERenderLayer getRenderLayer() {
|
||||
return ERenderLayer.CUTOUT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) {
|
||||
TripleShape shape = state.get(SHAPE);
|
||||
|
||||
if (shape == TripleShape.BOTTOM) {
|
||||
return VoxelShapes.fullCube();
|
||||
}
|
||||
Axis dir = state.get(FACING).getAxis();
|
||||
if (shape == TripleShape.MIDDLE) {
|
||||
if (dir == Axis.Y) {
|
||||
return MEDIUM_Y;
|
||||
}
|
||||
return dir == Axis.X ? MEDIUM_X : MEDIUM_Z;
|
||||
}
|
||||
else {
|
||||
if (dir == Axis.Y) {
|
||||
return SMALL_Y;
|
||||
}
|
||||
return dir == Axis.X ? SMALL_X : SMALL_Z;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,104 +9,7 @@ import net.minecraft.item.LilyPadItem;
|
|||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.AeterniumAnvil;
|
||||
import ru.betterend.blocks.AeterniumBlock;
|
||||
import ru.betterend.blocks.AmaranitaCapBlock;
|
||||
import ru.betterend.blocks.AmaranitaHymenophoreBlock;
|
||||
import ru.betterend.blocks.AmaranitaStemBlock;
|
||||
import ru.betterend.blocks.AmberBlock;
|
||||
import ru.betterend.blocks.AncientEmeraldIceBlock;
|
||||
import ru.betterend.blocks.AuroraCrystalBlock;
|
||||
import ru.betterend.blocks.BlueVineBlock;
|
||||
import ru.betterend.blocks.BlueVineLanternBlock;
|
||||
import ru.betterend.blocks.BlueVineSeedBlock;
|
||||
import ru.betterend.blocks.BoluxMushroomBlock;
|
||||
import ru.betterend.blocks.BrimstoneBlock;
|
||||
import ru.betterend.blocks.BubbleCoralBlock;
|
||||
import ru.betterend.blocks.BulbVineBlock;
|
||||
import ru.betterend.blocks.BulbVineLanternBlock;
|
||||
import ru.betterend.blocks.BulbVineLanternColoredBlock;
|
||||
import ru.betterend.blocks.BulbVineSeedBlock;
|
||||
import ru.betterend.blocks.CavePumpkinBlock;
|
||||
import ru.betterend.blocks.CavePumpkinVineBlock;
|
||||
import ru.betterend.blocks.ChandelierBlock;
|
||||
import ru.betterend.blocks.CharcoalBlock;
|
||||
import ru.betterend.blocks.CharniaBlock;
|
||||
import ru.betterend.blocks.ChorusGrassBlock;
|
||||
import ru.betterend.blocks.DenseEmeraldIceBlock;
|
||||
import ru.betterend.blocks.DenseSnowBlock;
|
||||
import ru.betterend.blocks.DragonTreeSaplingBlock;
|
||||
import ru.betterend.blocks.EmeraldIceBlock;
|
||||
import ru.betterend.blocks.EndLilyBlock;
|
||||
import ru.betterend.blocks.EndLilySeedBlock;
|
||||
import ru.betterend.blocks.EndLotusFlowerBlock;
|
||||
import ru.betterend.blocks.EndLotusLeafBlock;
|
||||
import ru.betterend.blocks.EndLotusSeedBlock;
|
||||
import ru.betterend.blocks.EndLotusStemBlock;
|
||||
import ru.betterend.blocks.EndPathBlock;
|
||||
import ru.betterend.blocks.EndPortalBlock;
|
||||
import ru.betterend.blocks.EndStoneSmelter;
|
||||
import ru.betterend.blocks.EndTerrainBlock;
|
||||
import ru.betterend.blocks.EnderBlock;
|
||||
import ru.betterend.blocks.EndstoneDustBlock;
|
||||
import ru.betterend.blocks.EternalPedestal;
|
||||
import ru.betterend.blocks.EternalRunedFlavolite;
|
||||
import ru.betterend.blocks.FilaluxLanternBlock;
|
||||
import ru.betterend.blocks.FlamaeaBlock;
|
||||
import ru.betterend.blocks.GlowingHymenophoreBlock;
|
||||
import ru.betterend.blocks.GlowingMossBlock;
|
||||
import ru.betterend.blocks.GlowingPillarLuminophorBlock;
|
||||
import ru.betterend.blocks.GlowingPillarRootsBlock;
|
||||
import ru.betterend.blocks.GlowingPillarSeedBlock;
|
||||
import ru.betterend.blocks.HelixTreeLeavesBlock;
|
||||
import ru.betterend.blocks.HelixTreeSaplingBlock;
|
||||
import ru.betterend.blocks.HydraluxBlock;
|
||||
import ru.betterend.blocks.HydraluxPetalBlock;
|
||||
import ru.betterend.blocks.HydraluxPetalColoredBlock;
|
||||
import ru.betterend.blocks.HydraluxSaplingBlock;
|
||||
import ru.betterend.blocks.HydrothermalVentBlock;
|
||||
import ru.betterend.blocks.InfusionPedestal;
|
||||
import ru.betterend.blocks.JellyshroomCapBlock;
|
||||
import ru.betterend.blocks.LacugroveSaplingBlock;
|
||||
import ru.betterend.blocks.LanceleafBlock;
|
||||
import ru.betterend.blocks.LanceleafSeedBlock;
|
||||
import ru.betterend.blocks.LargeAmaranitaBlock;
|
||||
import ru.betterend.blocks.LumecornBlock;
|
||||
import ru.betterend.blocks.LumecornSeedBlock;
|
||||
import ru.betterend.blocks.MengerSpongeBlock;
|
||||
import ru.betterend.blocks.MengerSpongeWetBlock;
|
||||
import ru.betterend.blocks.MissingTileBlock;
|
||||
import ru.betterend.blocks.MossyDragonBoneBlock;
|
||||
import ru.betterend.blocks.MossyGlowshroomCapBlock;
|
||||
import ru.betterend.blocks.MossyGlowshroomSaplingBlock;
|
||||
import ru.betterend.blocks.MossyObsidian;
|
||||
import ru.betterend.blocks.MurkweedBlock;
|
||||
import ru.betterend.blocks.NeedlegrassBlock;
|
||||
import ru.betterend.blocks.PedestalVanilla;
|
||||
import ru.betterend.blocks.PythadendronSaplingBlock;
|
||||
import ru.betterend.blocks.RespawnObeliskBlock;
|
||||
import ru.betterend.blocks.RunedFlavolite;
|
||||
import ru.betterend.blocks.ShadowBerryBlock;
|
||||
import ru.betterend.blocks.ShadowGrassBlock;
|
||||
import ru.betterend.blocks.SilkMothHiveBlock;
|
||||
import ru.betterend.blocks.SilkMothNestBlock;
|
||||
import ru.betterend.blocks.SmallAmaranitaBlock;
|
||||
import ru.betterend.blocks.SmallJellyshroomBlock;
|
||||
import ru.betterend.blocks.SmaragdantCrystalBlock;
|
||||
import ru.betterend.blocks.SmaragdantCrystalShardBlock;
|
||||
import ru.betterend.blocks.SulphurCrystalBlock;
|
||||
import ru.betterend.blocks.TenaneaFlowersBlock;
|
||||
import ru.betterend.blocks.TenaneaSaplingBlock;
|
||||
import ru.betterend.blocks.TerrainPlantBlock;
|
||||
import ru.betterend.blocks.TwistedUmbrellaMossBlock;
|
||||
import ru.betterend.blocks.TwistedUmbrellaMossTallBlock;
|
||||
import ru.betterend.blocks.UmbrellaMossBlock;
|
||||
import ru.betterend.blocks.UmbrellaMossTallBlock;
|
||||
import ru.betterend.blocks.UmbrellaTreeClusterBlock;
|
||||
import ru.betterend.blocks.UmbrellaTreeClusterEmptyBlock;
|
||||
import ru.betterend.blocks.UmbrellaTreeMembraneBlock;
|
||||
import ru.betterend.blocks.UmbrellaTreeSaplingBlock;
|
||||
import ru.betterend.blocks.VentBubbleColumnBlock;
|
||||
import ru.betterend.blocks.*;
|
||||
import ru.betterend.blocks.basis.EndCropBlock;
|
||||
import ru.betterend.blocks.basis.EndFurnaceBlock;
|
||||
import ru.betterend.blocks.basis.EndLeavesBlock;
|
||||
|
@ -298,6 +201,8 @@ public class EndBlocks {
|
|||
public static final Block AMARANITA_FUR = registerBlock("amaranita_fur", new FurBlock(MOSSY_GLOWSHROOM_SAPLING, 15, 4));
|
||||
public static final Block AMARANITA_CAP = registerBlock("amaranita_cap", new AmaranitaCapBlock());
|
||||
|
||||
public static final Block NEON_CACTUS = registerBlock("neon_cactus", new NeonCactusBlock());
|
||||
|
||||
// Crops
|
||||
public static final Block SHADOW_BERRY = registerBlock("shadow_berry", new ShadowBerryBlock());
|
||||
public static final Block BLOSSOM_BERRY = registerBlock("blossom_berry_seed", new EndCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS));
|
||||
|
@ -353,6 +258,7 @@ public class EndBlocks {
|
|||
public static final Block BULB_VINE = registerBlock("bulb_vine", new BulbVineBlock());
|
||||
public static final Block JUNGLE_VINE = registerBlock("jungle_vine", new VineBlock());
|
||||
public static final Block RUBINEA = registerBlock("rubinea", new VineBlock());
|
||||
public static final Block MAGNULA = registerBlock("magnula", new VineBlock());
|
||||
public static final Block FILALUX = registerBlock("filalux", new FilaluxBlock());
|
||||
public static final Block FILALUX_WINGS = registerBlock("filalux_wings", new FilaluxWingsBlock());
|
||||
public static final Block FILALUX_LANTERN = registerBlock("filalux_lantern", new FilaluxLanternBlock());
|
||||
|
|
|
@ -217,6 +217,7 @@ public class EndFeatures {
|
|||
public static final DefaultFeature CAVE_BUSH = new BushFeature(EndBlocks.CAVE_BUSH, EndBlocks.CAVE_BUSH);
|
||||
public static final DefaultFeature CAVE_GRASS = new SingleBlockFeature(EndBlocks.CAVE_GRASS);
|
||||
public static final DefaultFeature RUBINEA = new VineFeature(EndBlocks.RUBINEA, 8);
|
||||
public static final DefaultFeature MAGNULA = new VineFeature(EndBlocks.MAGNULA, 8);
|
||||
public static final DefaultFeature END_STONE_STALACTITE = new StalactiteFeature(true, EndBlocks.END_STONE_STALACTITE, Blocks.END_STONE);
|
||||
public static final DefaultFeature END_STONE_STALAGMITE = new StalactiteFeature(false, EndBlocks.END_STONE_STALACTITE, Blocks.END_STONE);
|
||||
public static final DefaultFeature END_STONE_STALACTITE_CAVEMOSS = new StalactiteFeature(true, EndBlocks.END_STONE_STALACTITE_CAVEMOSS, Blocks.END_STONE, EndBlocks.CAVE_MOSS);
|
||||
|
|
|
@ -29,6 +29,7 @@ public class LushAuroraCaveBiome extends EndCaveBiome {
|
|||
this.addCeilFeature(EndFeatures.CAVE_BUSH, 1);
|
||||
this.addCeilFeature(EndFeatures.CAVE_PUMPKIN, 1);
|
||||
this.addCeilFeature(EndFeatures.RUBINEA, 3);
|
||||
this.addCeilFeature(EndFeatures.MAGNULA, 1);
|
||||
this.addCeilFeature(EndFeatures.END_STONE_STALACTITE_CAVEMOSS, 10);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"variants": {
|
||||
"shape=top": { "model": "betterend:block/magnula_middle" },
|
||||
"shape=middle": { "model": "betterend:block/magnula_middle" },
|
||||
"shape=bottom": { "model": "betterend:block/magnula_bottom" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"variants": {
|
||||
"shape=bottom,facing=up": { "model": "betterend:block/neon_cactus_big" },
|
||||
"shape=bottom,facing=down": { "model": "betterend:block/neon_cactus_big", "x": 180 },
|
||||
"shape=bottom,facing=north": { "model": "betterend:block/neon_cactus_big", "x": 90 },
|
||||
"shape=bottom,facing=south": { "model": "betterend:block/neon_cactus_big", "x": 90, "y": 180 },
|
||||
"shape=bottom,facing=east": { "model": "betterend:block/neon_cactus_big", "x": 90, "y": 90 },
|
||||
"shape=bottom,facing=west": { "model": "betterend:block/neon_cactus_big", "x": 90, "y": 270 },
|
||||
|
||||
"shape=middle,facing=up": { "model": "betterend:block/neon_cactus_medium" },
|
||||
"shape=middle,facing=down": { "model": "betterend:block/neon_cactus_medium", "x": 180 },
|
||||
"shape=middle,facing=north": { "model": "betterend:block/neon_cactus_medium", "x": 90 },
|
||||
"shape=middle,facing=south": { "model": "betterend:block/neon_cactus_medium", "x": 90, "y": 180 },
|
||||
"shape=middle,facing=east": { "model": "betterend:block/neon_cactus_medium", "x": 90, "y": 90 },
|
||||
"shape=middle,facing=west": { "model": "betterend:block/neon_cactus_medium", "x": 90, "y": 270 },
|
||||
|
||||
"shape=top,facing=up": { "model": "betterend:block/neon_cactus_small" },
|
||||
"shape=top,facing=down": { "model": "betterend:block/neon_cactus_small", "x": 180 },
|
||||
"shape=top,facing=north": { "model": "betterend:block/neon_cactus_small", "x": 90 },
|
||||
"shape=top,facing=south": { "model": "betterend:block/neon_cactus_small", "x": 90, "y": 180 },
|
||||
"shape=top,facing=east": { "model": "betterend:block/neon_cactus_small", "x": 90, "y": 90 },
|
||||
"shape=top,facing=west": { "model": "betterend:block/neon_cactus_small", "x": 90, "y": 270 }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"defaultMaterial": "betterend:glow_50"
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cross",
|
||||
"textures": {
|
||||
"cross": "betterend:block/magnula_bottom"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cross",
|
||||
"textures": {
|
||||
"cross": "betterend:block/magnula"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_column",
|
||||
"textures": {
|
||||
"end": "betterend:block/neon_cactus_big_top",
|
||||
"side": "betterend:block/neon_cactus_big_side"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
|
||||
"textures": {
|
||||
"particle": "betterend:block/neon_cactus_small_side",
|
||||
"side": "betterend:block/neon_cactus_medium_side",
|
||||
"top": "betterend:block/neon_cactus_medium_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 2, 0, 2 ],
|
||||
"to": [ 14, 16, 14 ],
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"up": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" },
|
||||
"north": { "uv": [ 2, 0, 14, 16 ], "texture": "#side" },
|
||||
"south": { "uv": [ 2, 0, 14, 16 ], "texture": "#side" },
|
||||
"west": { "uv": [ 2, 0, 14, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 2, 0, 14, 16 ], "texture": "#side" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX2",
|
||||
"from": [ 0, 0, 0 ],
|
||||
"to": [ 0.001, 16, 22.5 ],
|
||||
"rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX2",
|
||||
"from": [ 16, 0, 0 ],
|
||||
"to": [ 16.001, 16, 22.5 ],
|
||||
"rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 2, -2, 2 ],
|
||||
"to": [ 14, 0, 14 ],
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"down": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" },
|
||||
"north": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" },
|
||||
"south": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" },
|
||||
"west": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" },
|
||||
"east": { "uv": [ 2, 0, 14, 2 ], "texture": "#side" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
|
||||
"textures": {
|
||||
"particle": "betterend:block/neon_cactus_small_side",
|
||||
"side": "betterend:block/neon_cactus_small_side",
|
||||
"top": "betterend:block/neon_cactus_small_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 4, 0, 4 ],
|
||||
"to": [ 12, 16, 12 ],
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"up": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" },
|
||||
"north": { "uv": [ 4, 0, 12, 16 ], "texture": "#side" },
|
||||
"south": { "uv": [ 4, 0, 12, 16 ], "texture": "#side" },
|
||||
"west": { "uv": [ 4, 0, 12, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 4, 0, 12, 16 ], "texture": "#side" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX2",
|
||||
"from": [ 0, 0, 0 ],
|
||||
"to": [ 0.001, 16, 22.5 ],
|
||||
"rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "PlaneX2",
|
||||
"from": [ 16, 0, 0 ],
|
||||
"to": [ 16.001, 16, 22.5 ],
|
||||
"rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }
|
||||
}
|
||||
},
|
||||
{
|
||||
"__comment": "Box1",
|
||||
"from": [ 4, -4, 4 ],
|
||||
"to": [ 12, 0, 12 ],
|
||||
"shade": false,
|
||||
"faces": {
|
||||
"down": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" },
|
||||
"north": { "uv": [ 4, 0, 12, 4 ], "texture": "#side" },
|
||||
"south": { "uv": [ 4, 0, 12, 4 ], "texture": "#side" },
|
||||
"west": { "uv": [ 4, 0, 12, 4 ], "texture": "#side" },
|
||||
"east": { "uv": [ 4, 0, 12, 4 ], "texture": "#side" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"parent": "betterend:block/cross_no_distortion",
|
||||
"parent": "block/cross",
|
||||
"textures": {
|
||||
"texture": "betterend:block/rubinea_bottom"
|
||||
"cross": "betterend:block/rubinea_bottom"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"parent": "betterend:block/cross_no_distortion",
|
||||
"parent": "block/cross",
|
||||
"textures": {
|
||||
"texture": "betterend:block/rubinea"
|
||||
"cross": "betterend:block/rubinea"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "betterend:block/magnula_bottom"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 712 B After Width: | Height: | Size: 2 KiB |
BIN
src/main/resources/assets/betterend/textures/block/magnula.png
Normal file
After Width: | Height: | Size: 275 B |
After Width: | Height: | Size: 251 B |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 519 B |
After Width: | Height: | Size: 271 B |
After Width: | Height: | Size: 222 B |
After Width: | Height: | Size: 256 B |
After Width: | Height: | Size: 192 B |