Thallasium Chandelier (floor, WIP)
This commit is contained in:
parent
7e9d809814
commit
6b8422dae3
58 changed files with 306 additions and 87 deletions
|
@ -9,9 +9,9 @@ import net.minecraft.block.MaterialColor;
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class AeterniumBlock extends BaseBlock {
|
public class AeterniumBlock extends BlockBase {
|
||||||
|
|
||||||
public AeterniumBlock() {
|
public AeterniumBlock() {
|
||||||
super(FabricBlockSettings.of(Material.METAL, MaterialColor.GRAY)
|
super(FabricBlockSettings.of(Material.METAL, MaterialColor.GRAY)
|
||||||
|
|
|
@ -3,9 +3,9 @@ package ru.betterend.blocks;
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.block.MaterialColor;
|
import net.minecraft.block.MaterialColor;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class AmberBlock extends BaseBlock {
|
public class AmberBlock extends BlockBase {
|
||||||
public AmberBlock() {
|
public AmberBlock() {
|
||||||
super(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).materialColor(MaterialColor.YELLOW));
|
super(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).materialColor(MaterialColor.YELLOW));
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,13 +8,13 @@ import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.registry.EndParticles;
|
import ru.betterend.registry.EndParticles;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
import ru.betterend.util.MHelper;
|
import ru.betterend.util.MHelper;
|
||||||
|
|
||||||
public class AncientEmeraldIceBlock extends BaseBlock {
|
public class AncientEmeraldIceBlock extends BlockBase {
|
||||||
public AncientEmeraldIceBlock() {
|
public AncientEmeraldIceBlock() {
|
||||||
super(FabricBlockSettings.copyOf(Blocks.BLUE_ICE).ticksRandomly());
|
super(FabricBlockSettings.copyOf(Blocks.BLUE_ICE).ticksRandomly());
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,10 +13,10 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
|
|
||||||
public class BlueVineLanternBlock extends BaseBlock {
|
public class BlueVineLanternBlock extends BlockBase {
|
||||||
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
||||||
|
|
||||||
public BlueVineLanternBlock() {
|
public BlueVineLanternBlock() {
|
||||||
|
|
|
@ -13,11 +13,11 @@ import net.minecraft.state.StateManager;
|
||||||
import net.minecraft.state.property.BooleanProperty;
|
import net.minecraft.state.property.BooleanProperty;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class BrimstoneBlock extends BaseBlock {
|
public class BrimstoneBlock extends BlockBase {
|
||||||
public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE;
|
public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE;
|
||||||
|
|
||||||
public BrimstoneBlock() {
|
public BrimstoneBlock() {
|
||||||
|
|
|
@ -8,11 +8,11 @@ import net.minecraft.block.MaterialColor;
|
||||||
import net.minecraft.item.ItemPlacementContext;
|
import net.minecraft.item.ItemPlacementContext;
|
||||||
import net.minecraft.state.StateManager;
|
import net.minecraft.state.StateManager;
|
||||||
import net.minecraft.state.property.IntProperty;
|
import net.minecraft.state.property.IntProperty;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.noise.OpenSimplexNoise;
|
import ru.betterend.noise.OpenSimplexNoise;
|
||||||
import ru.betterend.util.MHelper;
|
import ru.betterend.util.MHelper;
|
||||||
|
|
||||||
public class CapsacisCapBlock extends BaseBlock {
|
public class CapsacisCapBlock extends BlockBase {
|
||||||
private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0);
|
private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0);
|
||||||
public static final IntProperty COLOR = BlockProperties.COLOR;
|
public static final IntProperty COLOR = BlockProperties.COLOR;
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@ package ru.betterend.blocks;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.client.render.ERenderLayer;
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
|
|
||||||
public class DenseEmeraldIceBlock extends BaseBlock implements IRenderTypeable {
|
public class DenseEmeraldIceBlock extends BlockBase implements IRenderTypeable {
|
||||||
public DenseEmeraldIceBlock() {
|
public DenseEmeraldIceBlock() {
|
||||||
super(FabricBlockSettings.copyOf(Blocks.PACKED_ICE));
|
super(FabricBlockSettings.copyOf(Blocks.PACKED_ICE));
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,9 +3,9 @@ package ru.betterend.blocks;
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.minecraft.block.Material;
|
import net.minecraft.block.Material;
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class DenseSnowBlock extends BaseBlock {
|
public class DenseSnowBlock extends BlockBase {
|
||||||
public DenseSnowBlock() {
|
public DenseSnowBlock() {
|
||||||
super(FabricBlockSettings.of(Material.SNOW_BLOCK).strength(0.2F).sounds(BlockSoundGroup.SNOW));
|
super(FabricBlockSettings.of(Material.SNOW_BLOCK).strength(0.2F).sounds(BlockSoundGroup.SNOW));
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,13 +21,13 @@ import net.minecraft.util.shape.VoxelShape;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
import ru.betterend.blocks.BlockProperties.TripleShape;
|
import ru.betterend.blocks.BlockProperties.TripleShape;
|
||||||
import ru.betterend.blocks.basis.BaseBlockNotFull;
|
import ru.betterend.blocks.basis.BlockBaseNotFull;
|
||||||
import ru.betterend.client.render.ERenderLayer;
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class EndLotusLeafBlock extends BaseBlockNotFull implements IRenderTypeable {
|
public class EndLotusLeafBlock extends BlockBaseNotFull implements IRenderTypeable {
|
||||||
public static final EnumProperty<Direction> HORIZONTAL_FACING = Properties.HORIZONTAL_FACING;
|
public static final EnumProperty<Direction> HORIZONTAL_FACING = Properties.HORIZONTAL_FACING;
|
||||||
public static final EnumProperty<TripleShape> SHAPE = BlockProperties.TRIPLE_SHAPE;
|
public static final EnumProperty<TripleShape> SHAPE = BlockProperties.TRIPLE_SHAPE;
|
||||||
private static final VoxelShape VSHAPE = Block.createCuboidShape(0, 0, 0, 16, 1, 16);
|
private static final VoxelShape VSHAPE = Block.createCuboidShape(0, 0, 0, 16, 1, 16);
|
||||||
|
|
|
@ -26,12 +26,12 @@ import net.minecraft.util.shape.VoxelShape;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import ru.betterend.blocks.BlockProperties.TripleShape;
|
import ru.betterend.blocks.BlockProperties.TripleShape;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.client.render.ERenderLayer;
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class EndLotusStemBlock extends BaseBlock implements Waterloggable, IRenderTypeable {
|
public class EndLotusStemBlock extends BlockBase implements Waterloggable, IRenderTypeable {
|
||||||
public static final EnumProperty<Direction> FACING = Properties.FACING;
|
public static final EnumProperty<Direction> FACING = Properties.FACING;
|
||||||
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
||||||
public static final BooleanProperty LEAF = BooleanProperty.of("leaf");
|
public static final BooleanProperty LEAF = BooleanProperty.of("leaf");
|
||||||
|
|
|
@ -16,9 +16,9 @@ import net.minecraft.loot.context.LootContextParameters;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.shape.VoxelShape;
|
import net.minecraft.util.shape.VoxelShape;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
import ru.betterend.blocks.basis.BaseBlockNotFull;
|
import ru.betterend.blocks.basis.BlockBaseNotFull;
|
||||||
|
|
||||||
public class EndPathBlock extends BaseBlockNotFull {
|
public class EndPathBlock extends BlockBaseNotFull {
|
||||||
private static final VoxelShape SHAPE = Block.createCuboidShape(0, 0, 0, 16, 15, 16);
|
private static final VoxelShape SHAPE = Block.createCuboidShape(0, 0, 0, 16, 15, 16);
|
||||||
|
|
||||||
public EndPathBlock(Block source) {
|
public EndPathBlock(Block source) {
|
||||||
|
|
|
@ -4,9 +4,9 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.block.MaterialColor;
|
import net.minecraft.block.MaterialColor;
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class EndStoneBlock extends BaseBlock {
|
public class EndStoneBlock extends BlockBase {
|
||||||
public EndStoneBlock(MaterialColor color) {
|
public EndStoneBlock(MaterialColor color) {
|
||||||
super(FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color).sounds(BlockSoundGroup.STONE));
|
super(FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color).sounds(BlockSoundGroup.STONE));
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,9 +29,9 @@ import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
import net.minecraft.world.chunk.light.ChunkLightProvider;
|
import net.minecraft.world.chunk.light.ChunkLightProvider;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class EndTerrainBlock extends BaseBlock {
|
public class EndTerrainBlock extends BlockBase {
|
||||||
private Block pathBlock;
|
private Block pathBlock;
|
||||||
|
|
||||||
public EndTerrainBlock(MaterialColor color) {
|
public EndTerrainBlock(MaterialColor color) {
|
||||||
|
|
|
@ -9,9 +9,9 @@ import net.minecraft.block.MaterialColor;
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class EnderBlock extends BaseBlock {
|
public class EnderBlock extends BlockBase {
|
||||||
|
|
||||||
public EnderBlock() {
|
public EnderBlock() {
|
||||||
super(FabricBlockSettings.of(Material.STONE, MaterialColor.field_25708)
|
super(FabricBlockSettings.of(Material.STONE, MaterialColor.field_25708)
|
||||||
|
|
|
@ -14,10 +14,10 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
|
|
||||||
public class GlowingPillarLuminophorBlock extends BaseBlock {
|
public class GlowingPillarLuminophorBlock extends BlockBase {
|
||||||
public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
|
public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
|
||||||
|
|
||||||
public GlowingPillarLuminophorBlock() {
|
public GlowingPillarLuminophorBlock() {
|
||||||
|
|
|
@ -23,13 +23,13 @@ import net.minecraft.sound.BlockSoundGroup;
|
||||||
import net.minecraft.state.StateManager;
|
import net.minecraft.state.StateManager;
|
||||||
import net.minecraft.state.property.IntProperty;
|
import net.minecraft.state.property.IntProperty;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.interfaces.IColorProvider;
|
import ru.betterend.interfaces.IColorProvider;
|
||||||
import ru.betterend.noise.OpenSimplexNoise;
|
import ru.betterend.noise.OpenSimplexNoise;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.util.MHelper;
|
import ru.betterend.util.MHelper;
|
||||||
|
|
||||||
public class HelixTreeLeavesBlock extends BaseBlock implements IColorProvider {
|
public class HelixTreeLeavesBlock extends BlockBase implements IColorProvider {
|
||||||
public static final IntProperty COLOR = BlockProperties.COLOR;
|
public static final IntProperty COLOR = BlockProperties.COLOR;
|
||||||
private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0);
|
private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0);
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,9 @@ import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class HydraluxPetalBlock extends BaseBlock {
|
public class HydraluxPetalBlock extends BlockBase {
|
||||||
public HydraluxPetalBlock() {
|
public HydraluxPetalBlock() {
|
||||||
this(FabricBlockSettings.of(Material.PLANT)
|
this(FabricBlockSettings.of(Material.PLANT)
|
||||||
.materialColor(MaterialColor.SPRUCE)
|
.materialColor(MaterialColor.SPRUCE)
|
||||||
|
|
|
@ -36,13 +36,13 @@ import net.minecraft.world.BlockView;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
import ru.betterend.blocks.basis.BaseBlockNotFull;
|
import ru.betterend.blocks.basis.BlockBaseNotFull;
|
||||||
import ru.betterend.blocks.entities.BlockEntityHydrothermalVent;
|
import ru.betterend.blocks.entities.BlockEntityHydrothermalVent;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.registry.EndParticles;
|
import ru.betterend.registry.EndParticles;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class HydrothermalVentBlock extends BaseBlockNotFull implements BlockEntityProvider, FluidFillable, Waterloggable {
|
public class HydrothermalVentBlock extends BlockBaseNotFull implements BlockEntityProvider, FluidFillable, Waterloggable {
|
||||||
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
||||||
public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE;
|
public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE;
|
||||||
private static final VoxelShape SHAPE = Block.createCuboidShape(1, 1, 1, 15, 16, 15);
|
private static final VoxelShape SHAPE = Block.createCuboidShape(1, 1, 1, 15, 16, 15);
|
||||||
|
|
|
@ -21,7 +21,7 @@ import net.minecraft.world.BlockView;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
import ru.betterend.blocks.BlockProperties.LumecornShape;
|
import ru.betterend.blocks.BlockProperties.LumecornShape;
|
||||||
import ru.betterend.blocks.basis.BaseBlockNotFull;
|
import ru.betterend.blocks.basis.BlockBaseNotFull;
|
||||||
import ru.betterend.client.render.ERenderLayer;
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
|
@ -29,7 +29,7 @@ import ru.betterend.registry.EndItems;
|
||||||
import ru.betterend.registry.EndTags;
|
import ru.betterend.registry.EndTags;
|
||||||
import ru.betterend.util.MHelper;
|
import ru.betterend.util.MHelper;
|
||||||
|
|
||||||
public class LumecornBlock extends BaseBlockNotFull implements IRenderTypeable {
|
public class LumecornBlock extends BlockBaseNotFull implements IRenderTypeable {
|
||||||
public static final EnumProperty<LumecornShape> SHAPE = EnumProperty.of("shape", LumecornShape.class);
|
public static final EnumProperty<LumecornShape> SHAPE = EnumProperty.of("shape", LumecornShape.class);
|
||||||
private static final VoxelShape SHAPE_BOTTOM = Block.createCuboidShape(6, 0, 6, 10, 16, 10);
|
private static final VoxelShape SHAPE_BOTTOM = Block.createCuboidShape(6, 0, 6, 10, 16, 10);
|
||||||
private static final VoxelShape SHAPE_TOP = Block.createCuboidShape(6, 0, 6, 10, 8, 10);
|
private static final VoxelShape SHAPE_TOP = Block.createCuboidShape(6, 0, 6, 10, 8, 10);
|
||||||
|
|
|
@ -19,12 +19,12 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import ru.betterend.blocks.basis.BaseBlockNotFull;
|
import ru.betterend.blocks.basis.BlockBaseNotFull;
|
||||||
import ru.betterend.client.render.ERenderLayer;
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
|
|
||||||
public class MengerSpongeBlock extends BaseBlockNotFull implements IRenderTypeable {
|
public class MengerSpongeBlock extends BlockBaseNotFull implements IRenderTypeable {
|
||||||
public MengerSpongeBlock() {
|
public MengerSpongeBlock() {
|
||||||
super(FabricBlockSettings.copyOf(Blocks.SPONGE).nonOpaque());
|
super(FabricBlockSettings.copyOf(Blocks.SPONGE).nonOpaque());
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,13 +16,13 @@ import net.minecraft.sound.SoundEvents;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import ru.betterend.blocks.basis.BaseBlockNotFull;
|
import ru.betterend.blocks.basis.BlockBaseNotFull;
|
||||||
import ru.betterend.client.render.ERenderLayer;
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class MengerSpongeWetBlock extends BaseBlockNotFull implements IRenderTypeable {
|
public class MengerSpongeWetBlock extends BlockBaseNotFull implements IRenderTypeable {
|
||||||
public MengerSpongeWetBlock() {
|
public MengerSpongeWetBlock() {
|
||||||
super(FabricBlockSettings.copyOf(Blocks.WET_SPONGE).nonOpaque());
|
super(FabricBlockSettings.copyOf(Blocks.WET_SPONGE).nonOpaque());
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,10 +9,10 @@ import net.minecraft.item.ItemPlacementContext;
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import net.minecraft.state.StateManager;
|
import net.minecraft.state.StateManager;
|
||||||
import net.minecraft.state.property.BooleanProperty;
|
import net.minecraft.state.property.BooleanProperty;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
|
|
||||||
public class MossyGlowshroomCapBlock extends BaseBlock {
|
public class MossyGlowshroomCapBlock extends BlockBase {
|
||||||
public static final BooleanProperty TRANSITION = BooleanProperty.of("transition");
|
public static final BooleanProperty TRANSITION = BooleanProperty.of("transition");
|
||||||
|
|
||||||
public MossyGlowshroomCapBlock() {
|
public MossyGlowshroomCapBlock() {
|
||||||
|
|
|
@ -4,9 +4,9 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
|
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
|
||||||
import net.minecraft.block.Material;
|
import net.minecraft.block.Material;
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class MossyGlowshroomHymenophoreBlock extends BaseBlock {
|
public class MossyGlowshroomHymenophoreBlock extends BlockBase {
|
||||||
public MossyGlowshroomHymenophoreBlock() {
|
public MossyGlowshroomHymenophoreBlock() {
|
||||||
super(FabricBlockSettings.of(Material.WOOD).breakByTool(FabricToolTags.AXES).sounds(BlockSoundGroup.WART_BLOCK).luminance(15));
|
super(FabricBlockSettings.of(Material.WOOD).breakByTool(FabricToolTags.AXES).sounds(BlockSoundGroup.WART_BLOCK).luminance(15));
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
import ru.betterend.blocks.BlockProperties.TripleShape;
|
import ru.betterend.blocks.BlockProperties.TripleShape;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.client.render.ERenderLayer;
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IColorProvider;
|
import ru.betterend.interfaces.IColorProvider;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
|
@ -46,7 +46,7 @@ import ru.betterend.registry.EndItems;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
import ru.betterend.util.MHelper;
|
import ru.betterend.util.MHelper;
|
||||||
|
|
||||||
public class RespawnObeliskBlock extends BaseBlock implements IColorProvider, IRenderTypeable {
|
public class RespawnObeliskBlock extends BlockBase implements IColorProvider, IRenderTypeable {
|
||||||
private static final VoxelShape VOXEL_SHAPE_BOTTOM = Block.createCuboidShape(1, 0, 1, 15, 16, 15);
|
private static final VoxelShape VOXEL_SHAPE_BOTTOM = Block.createCuboidShape(1, 0, 1, 15, 16, 15);
|
||||||
private static final VoxelShape VOXEL_SHAPE_MIDDLE_TOP = Block.createCuboidShape(2, 0, 2, 14, 16, 14);
|
private static final VoxelShape VOXEL_SHAPE_MIDDLE_TOP = Block.createCuboidShape(2, 0, 2, 14, 16, 14);
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,10 @@ import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.state.StateManager;
|
import net.minecraft.state.StateManager;
|
||||||
import net.minecraft.state.property.BooleanProperty;
|
import net.minecraft.state.property.BooleanProperty;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
|
|
||||||
public class RunedFlavolite extends BaseBlock {
|
public class RunedFlavolite extends BlockBase {
|
||||||
public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE;
|
public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE;
|
||||||
|
|
||||||
public RunedFlavolite() {
|
public RunedFlavolite() {
|
||||||
|
|
|
@ -34,14 +34,14 @@ import net.minecraft.util.shape.VoxelShape;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.client.render.ERenderLayer;
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.entity.SilkMothEntity;
|
import ru.betterend.entity.SilkMothEntity;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndEntities;
|
import ru.betterend.registry.EndEntities;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class SilkMothNestBlock extends BaseBlock implements IRenderTypeable {
|
public class SilkMothNestBlock extends BlockBase implements IRenderTypeable {
|
||||||
public static final BooleanProperty ACTIVE = BlockProperties.ACTIVE;
|
public static final BooleanProperty ACTIVE = BlockProperties.ACTIVE;
|
||||||
public static final DirectionProperty FACING = Properties.HORIZONTAL_FACING;
|
public static final DirectionProperty FACING = Properties.HORIZONTAL_FACING;
|
||||||
public static final IntProperty FULLNESS = BlockProperties.FULLNESS;
|
public static final IntProperty FULLNESS = BlockProperties.FULLNESS;
|
||||||
|
|
|
@ -4,9 +4,9 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.minecraft.block.Material;
|
import net.minecraft.block.Material;
|
||||||
import net.minecraft.block.MaterialColor;
|
import net.minecraft.block.MaterialColor;
|
||||||
import net.minecraft.sound.BlockSoundGroup;
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
|
|
||||||
public class TerminiteBlock extends BaseBlock {
|
public class TerminiteBlock extends BlockBase {
|
||||||
public TerminiteBlock() {
|
public TerminiteBlock() {
|
||||||
super(FabricBlockSettings.of(Material.METAL, MaterialColor.field_25708)
|
super(FabricBlockSettings.of(Material.METAL, MaterialColor.field_25708)
|
||||||
.hardness(7F)
|
.hardness(7F)
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
package ru.betterend.blocks;
|
||||||
|
|
||||||
|
import java.util.EnumMap;
|
||||||
|
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
|
||||||
|
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.MaterialColor;
|
||||||
|
import net.minecraft.block.ShapeContext;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.util.math.Direction;
|
||||||
|
import net.minecraft.util.shape.VoxelShape;
|
||||||
|
import net.minecraft.util.shape.VoxelShapes;
|
||||||
|
import net.minecraft.world.BlockView;
|
||||||
|
import ru.betterend.blocks.basis.AttachedBlock;
|
||||||
|
import ru.betterend.client.render.ERenderLayer;
|
||||||
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
|
|
||||||
|
public class ThallasiumChandelierBlock extends AttachedBlock implements IRenderTypeable {
|
||||||
|
private static final EnumMap<Direction, VoxelShape> BOUNDING_SHAPES = Maps.newEnumMap(Direction.class);
|
||||||
|
|
||||||
|
public ThallasiumChandelierBlock() {
|
||||||
|
super(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(MaterialColor.BLUE).noCollision().nonOpaque().requiresTool().luminance(15));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ERenderLayer getRenderLayer() {
|
||||||
|
return ERenderLayer.CUTOUT;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) {
|
||||||
|
return BOUNDING_SHAPES.get(state.get(FACING));
|
||||||
|
}
|
||||||
|
|
||||||
|
static {
|
||||||
|
BOUNDING_SHAPES.put(Direction.UP, Block.createCuboidShape(5, 0, 5, 11, 13, 11));
|
||||||
|
BOUNDING_SHAPES.put(Direction.DOWN, Block.createCuboidShape(5, 3, 5, 11, 16, 11));
|
||||||
|
BOUNDING_SHAPES.put(Direction.NORTH, VoxelShapes.cuboid(0.0, 0.0, 0.5, 1.0, 1.0, 1.0));
|
||||||
|
BOUNDING_SHAPES.put(Direction.SOUTH, VoxelShapes.cuboid(0.0, 0.0, 0.0, 1.0, 1.0, 0.5));
|
||||||
|
BOUNDING_SHAPES.put(Direction.WEST, VoxelShapes.cuboid(0.5, 0.0, 0.0, 1.0, 1.0, 1.0));
|
||||||
|
BOUNDING_SHAPES.put(Direction.EAST, VoxelShapes.cuboid(0.0, 0.0, 0.0, 0.5, 1.0, 1.0));
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,12 +17,12 @@ import net.minecraft.util.Hand;
|
||||||
import net.minecraft.util.hit.BlockHitResult;
|
import net.minecraft.util.hit.BlockHitResult;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.registry.EndItems;
|
import ru.betterend.registry.EndItems;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class UmbrellaTreeClusterBlock extends BaseBlock {
|
public class UmbrellaTreeClusterBlock extends BlockBase {
|
||||||
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
||||||
|
|
||||||
public UmbrellaTreeClusterBlock() {
|
public UmbrellaTreeClusterBlock() {
|
||||||
|
|
|
@ -11,11 +11,11 @@ import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.state.StateManager;
|
import net.minecraft.state.StateManager;
|
||||||
import net.minecraft.state.property.BooleanProperty;
|
import net.minecraft.state.property.BooleanProperty;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class UmbrellaTreeClusterEmptyBlock extends BaseBlock {
|
public class UmbrellaTreeClusterEmptyBlock extends BlockBase {
|
||||||
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
||||||
|
|
||||||
public UmbrellaTreeClusterEmptyBlock() {
|
public UmbrellaTreeClusterEmptyBlock() {
|
||||||
|
|
|
@ -16,7 +16,7 @@ import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public abstract class AttachedBlock extends BaseBlockNotFull {
|
public abstract class AttachedBlock extends BlockBaseNotFull {
|
||||||
public static final DirectionProperty FACING = Properties.FACING;
|
public static final DirectionProperty FACING = Properties.FACING;
|
||||||
|
|
||||||
public AttachedBlock(Settings settings) {
|
public AttachedBlock(Settings settings) {
|
||||||
|
|
|
@ -13,8 +13,8 @@ import net.minecraft.util.registry.Registry;
|
||||||
import ru.betterend.patterns.BlockPatterned;
|
import ru.betterend.patterns.BlockPatterned;
|
||||||
import ru.betterend.patterns.Patterns;
|
import ru.betterend.patterns.Patterns;
|
||||||
|
|
||||||
public class BaseBlock extends Block implements BlockPatterned {
|
public class BlockBase extends Block implements BlockPatterned {
|
||||||
public BaseBlock(Settings settings) {
|
public BlockBase(Settings settings) {
|
||||||
super(settings);
|
super(settings);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,9 @@ import net.minecraft.entity.EntityType;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
|
|
||||||
public class BaseBlockNotFull extends BaseBlock {
|
public class BlockBaseNotFull extends BlockBase {
|
||||||
|
|
||||||
public BaseBlockNotFull(Settings settings) {
|
public BlockBaseNotFull(Settings settings) {
|
||||||
super(settings);
|
super(settings);
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndTags;
|
import ru.betterend.registry.EndTags;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class DoublePlantBlock extends BaseBlockNotFull implements IRenderTypeable, Fertilizable {
|
public class DoublePlantBlock extends BlockBaseNotFull implements IRenderTypeable, Fertilizable {
|
||||||
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 2, 4, 12, 16, 12);
|
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 2, 4, 12, 16, 12);
|
||||||
public static final IntProperty ROTATION = BlockProperties.ROTATION;
|
public static final IntProperty ROTATION = BlockProperties.ROTATION;
|
||||||
public static final BooleanProperty TOP = BooleanProperty.of("top");
|
public static final BooleanProperty TOP = BooleanProperty.of("top");
|
||||||
|
|
|
@ -17,7 +17,7 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import ru.betterend.patterns.Patterns;
|
import ru.betterend.patterns.Patterns;
|
||||||
|
|
||||||
public class EndBookshelfBlock extends BaseBlock {
|
public class EndBookshelfBlock extends BlockBase {
|
||||||
public EndBookshelfBlock(Block source) {
|
public EndBookshelfBlock(Block source) {
|
||||||
super(FabricBlockSettings.copyOf(source));
|
super(FabricBlockSettings.copyOf(source));
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ import ru.betterend.patterns.BlockPatterned;
|
||||||
import ru.betterend.patterns.Patterns;
|
import ru.betterend.patterns.Patterns;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class EndLadderBlock extends BaseBlockNotFull implements IRenderTypeable, BlockPatterned {
|
public class EndLadderBlock extends BlockBaseNotFull implements IRenderTypeable, BlockPatterned {
|
||||||
public static final DirectionProperty FACING = HorizontalFacingBlock.FACING;
|
public static final DirectionProperty FACING = HorizontalFacingBlock.FACING;
|
||||||
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
||||||
protected static final VoxelShape EAST_SHAPE = Block.createCuboidShape(0.0D, 0.0D, 0.0D, 3.0D, 16.0D, 16.0D);
|
protected static final VoxelShape EAST_SHAPE = Block.createCuboidShape(0.0D, 0.0D, 0.0D, 3.0D, 16.0D, 16.0D);
|
||||||
|
|
|
@ -19,7 +19,7 @@ import net.minecraft.world.BlockView;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
|
|
||||||
public class EndLanternBlock extends BaseBlockNotFull implements Waterloggable, FluidFillable {
|
public class EndLanternBlock extends BlockBaseNotFull implements Waterloggable, FluidFillable {
|
||||||
public static final BooleanProperty IS_FLOOR = BooleanProperty.of("is_floor");
|
public static final BooleanProperty IS_FLOOR = BooleanProperty.of("is_floor");
|
||||||
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndTags;
|
import ru.betterend.registry.EndTags;
|
||||||
|
|
||||||
public class EndPlantBlock extends BaseBlockNotFull implements IRenderTypeable, Fertilizable {
|
public class EndPlantBlock extends BlockBaseNotFull implements IRenderTypeable, Fertilizable {
|
||||||
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 0, 4, 12, 14, 12);
|
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 0, 4, 12, 14, 12);
|
||||||
|
|
||||||
public EndPlantBlock() {
|
public EndPlantBlock() {
|
||||||
|
|
|
@ -27,7 +27,7 @@ import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.patterns.Patterns;
|
import ru.betterend.patterns.Patterns;
|
||||||
import ru.betterend.registry.EndTags;
|
import ru.betterend.registry.EndTags;
|
||||||
|
|
||||||
public abstract class FeatureSaplingBlock extends BaseBlockNotFull implements Fertilizable, IRenderTypeable {
|
public abstract class FeatureSaplingBlock extends BlockBaseNotFull implements Fertilizable, IRenderTypeable {
|
||||||
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 0, 4, 12, 14, 12);
|
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 0, 4, 12, 14, 12);
|
||||||
|
|
||||||
public FeatureSaplingBlock() {
|
public FeatureSaplingBlock() {
|
||||||
|
|
|
@ -43,7 +43,7 @@ import ru.betterend.patterns.Patterns;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class PedestalBlock extends BaseBlockNotFull implements BlockEntityProvider {
|
public class PedestalBlock extends BlockBaseNotFull implements BlockEntityProvider {
|
||||||
public final static EnumProperty<PedestalState> STATE = BlockProperties.PEDESTAL_STATE;
|
public final static EnumProperty<PedestalState> STATE = BlockProperties.PEDESTAL_STATE;
|
||||||
public static final BooleanProperty HAS_ITEM = BlockProperties.HAS_ITEM;
|
public static final BooleanProperty HAS_ITEM = BlockProperties.HAS_ITEM;
|
||||||
public static final BooleanProperty HAS_LIGHT = BlockProperties.HAS_LIGHT;
|
public static final BooleanProperty HAS_LIGHT = BlockProperties.HAS_LIGHT;
|
||||||
|
|
|
@ -12,7 +12,7 @@ import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.patterns.Patterns;
|
import ru.betterend.patterns.Patterns;
|
||||||
|
|
||||||
public class SimpleLeavesBlock extends BaseBlockNotFull implements IRenderTypeable {
|
public class SimpleLeavesBlock extends BlockBaseNotFull implements IRenderTypeable {
|
||||||
public SimpleLeavesBlock(MaterialColor color) {
|
public SimpleLeavesBlock(MaterialColor color) {
|
||||||
super(FabricBlockSettings.of(Material.LEAVES)
|
super(FabricBlockSettings.of(Material.LEAVES)
|
||||||
.strength(0.2F)
|
.strength(0.2F)
|
||||||
|
|
|
@ -39,7 +39,7 @@ import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndBlocks;
|
import ru.betterend.registry.EndBlocks;
|
||||||
import ru.betterend.registry.EndTags;
|
import ru.betterend.registry.EndTags;
|
||||||
|
|
||||||
public class UnderwaterPlantBlock extends BaseBlockNotFull implements IRenderTypeable, Fertilizable, FluidFillable {
|
public class UnderwaterPlantBlock extends BlockBaseNotFull implements IRenderTypeable, Fertilizable, FluidFillable {
|
||||||
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 0, 4, 12, 14, 12);
|
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 0, 4, 12, 14, 12);
|
||||||
|
|
||||||
public UnderwaterPlantBlock() {
|
public UnderwaterPlantBlock() {
|
||||||
|
|
|
@ -30,7 +30,7 @@ import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.registry.EndTags;
|
import ru.betterend.registry.EndTags;
|
||||||
|
|
||||||
public class UpDownPlantBlock extends BaseBlockNotFull implements IRenderTypeable {
|
public class UpDownPlantBlock extends BlockBaseNotFull implements IRenderTypeable {
|
||||||
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 0, 4, 12, 16, 12);
|
private static final VoxelShape SHAPE = Block.createCuboidShape(4, 0, 4, 12, 16, 12);
|
||||||
|
|
||||||
public UpDownPlantBlock() {
|
public UpDownPlantBlock() {
|
||||||
|
|
|
@ -38,7 +38,7 @@ import ru.betterend.client.render.ERenderLayer;
|
||||||
import ru.betterend.interfaces.IRenderTypeable;
|
import ru.betterend.interfaces.IRenderTypeable;
|
||||||
import ru.betterend.util.BlocksHelper;
|
import ru.betterend.util.BlocksHelper;
|
||||||
|
|
||||||
public class VineBlock extends BaseBlockNotFull implements IRenderTypeable, Fertilizable {
|
public class VineBlock extends BlockBaseNotFull implements IRenderTypeable, Fertilizable {
|
||||||
public static final EnumProperty<TripleShape> SHAPE = BlockProperties.TRIPLE_SHAPE;
|
public static final EnumProperty<TripleShape> SHAPE = BlockProperties.TRIPLE_SHAPE;
|
||||||
private static final VoxelShape VOXEL_SHAPE = Block.createCuboidShape(2, 0, 2, 14, 16, 14);
|
private static final VoxelShape VOXEL_SHAPE = Block.createCuboidShape(2, 0, 2, 14, 16, 14);
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.block.MaterialColor;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.Items;
|
import net.minecraft.item.Items;
|
||||||
import net.minecraft.item.ToolMaterial;
|
import net.minecraft.item.ToolMaterial;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.blocks.basis.EndDoorBlock;
|
import ru.betterend.blocks.basis.EndDoorBlock;
|
||||||
import ru.betterend.blocks.basis.EndMetalPaneBlock;
|
import ru.betterend.blocks.basis.EndMetalPaneBlock;
|
||||||
import ru.betterend.blocks.basis.EndTrapdoorBlock;
|
import ru.betterend.blocks.basis.EndTrapdoorBlock;
|
||||||
|
@ -42,9 +42,9 @@ public class MetalMaterial {
|
||||||
public MetalMaterial(String name, MaterialColor color, ToolMaterial material) {
|
public MetalMaterial(String name, MaterialColor color, ToolMaterial material) {
|
||||||
FabricBlockSettings materialBlock = FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color);
|
FabricBlockSettings materialBlock = FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color);
|
||||||
|
|
||||||
ore = EndBlocks.registerBlock(name + "_ore", new BaseBlock(FabricBlockSettings.copyOf(Blocks.END_STONE)));
|
ore = EndBlocks.registerBlock(name + "_ore", new BlockBase(FabricBlockSettings.copyOf(Blocks.END_STONE)));
|
||||||
block = EndBlocks.registerBlock(name + "_block", new BaseBlock(materialBlock));
|
block = EndBlocks.registerBlock(name + "_block", new BlockBase(materialBlock));
|
||||||
tile = EndBlocks.registerBlock(name + "_tile", new BaseBlock(materialBlock));
|
tile = EndBlocks.registerBlock(name + "_tile", new BlockBase(materialBlock));
|
||||||
bars = EndBlocks.registerBlock(name + "_bars", new EndMetalPaneBlock(block));
|
bars = EndBlocks.registerBlock(name + "_bars", new EndMetalPaneBlock(block));
|
||||||
plate = EndBlocks.registerBlock(name + "_plate", new EndWoodenPlateBlock(block));
|
plate = EndBlocks.registerBlock(name + "_plate", new EndWoodenPlateBlock(block));
|
||||||
door = EndBlocks.registerBlock(name + "_door", new EndDoorBlock(block));
|
door = EndBlocks.registerBlock(name + "_door", new EndDoorBlock(block));
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.block.MaterialColor;
|
||||||
import net.minecraft.tag.BlockTags;
|
import net.minecraft.tag.BlockTags;
|
||||||
import net.minecraft.tag.ItemTags;
|
import net.minecraft.tag.ItemTags;
|
||||||
import ru.betterend.blocks.EndPedestal;
|
import ru.betterend.blocks.EndPedestal;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.blocks.basis.EndPillarBlock;
|
import ru.betterend.blocks.basis.EndPillarBlock;
|
||||||
import ru.betterend.blocks.basis.EndSlabBlock;
|
import ru.betterend.blocks.basis.EndSlabBlock;
|
||||||
import ru.betterend.blocks.basis.EndStairsBlock;
|
import ru.betterend.blocks.basis.EndStairsBlock;
|
||||||
|
@ -44,9 +44,9 @@ public class StoneMaterial {
|
||||||
public StoneMaterial(String name, MaterialColor color) {
|
public StoneMaterial(String name, MaterialColor color) {
|
||||||
FabricBlockSettings material = FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color);
|
FabricBlockSettings material = FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color);
|
||||||
|
|
||||||
stone = EndBlocks.registerBlock(name, new BaseBlock(material));
|
stone = EndBlocks.registerBlock(name, new BlockBase(material));
|
||||||
polished = EndBlocks.registerBlock(name + "_polished", new BaseBlock(material));
|
polished = EndBlocks.registerBlock(name + "_polished", new BlockBase(material));
|
||||||
tiles = EndBlocks.registerBlock(name + "_tiles", new BaseBlock(material));
|
tiles = EndBlocks.registerBlock(name + "_tiles", new BlockBase(material));
|
||||||
pillar = EndBlocks.registerBlock(name + "_pillar", new EndPillarBlock(material));
|
pillar = EndBlocks.registerBlock(name + "_pillar", new EndPillarBlock(material));
|
||||||
stairs = EndBlocks.registerBlock(name + "_stairs", new EndStairsBlock(stone));
|
stairs = EndBlocks.registerBlock(name + "_stairs", new EndStairsBlock(stone));
|
||||||
slab = EndBlocks.registerBlock(name + "_slab", new EndSlabBlock(stone));
|
slab = EndBlocks.registerBlock(name + "_slab", new EndSlabBlock(stone));
|
||||||
|
@ -56,7 +56,7 @@ public class StoneMaterial {
|
||||||
pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(stone));
|
pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(stone));
|
||||||
lantern = EndBlocks.registerBlock(name + "_lantern", new StoneLanternBlock(stone));
|
lantern = EndBlocks.registerBlock(name + "_lantern", new StoneLanternBlock(stone));
|
||||||
|
|
||||||
bricks = EndBlocks.registerBlock(name + "_bricks", new BaseBlock(material));
|
bricks = EndBlocks.registerBlock(name + "_bricks", new BlockBase(material));
|
||||||
brick_stairs = EndBlocks.registerBlock(name + "_bricks_stairs", new EndStairsBlock(bricks));
|
brick_stairs = EndBlocks.registerBlock(name + "_bricks_stairs", new EndStairsBlock(bricks));
|
||||||
brick_slab = EndBlocks.registerBlock(name + "_bricks_slab", new EndSlabBlock(bricks));
|
brick_slab = EndBlocks.registerBlock(name + "_bricks_slab", new EndSlabBlock(bricks));
|
||||||
brick_wall = EndBlocks.registerBlock(name + "_bricks_wall", new EndWallBlock(bricks));
|
brick_wall = EndBlocks.registerBlock(name + "_bricks_wall", new EndWallBlock(bricks));
|
||||||
|
|
|
@ -11,7 +11,7 @@ import net.minecraft.tag.BlockTags;
|
||||||
import net.minecraft.tag.ItemTags;
|
import net.minecraft.tag.ItemTags;
|
||||||
import net.minecraft.tag.Tag;
|
import net.minecraft.tag.Tag;
|
||||||
import ru.betterend.blocks.basis.BarkBlock;
|
import ru.betterend.blocks.basis.BarkBlock;
|
||||||
import ru.betterend.blocks.basis.BaseBlock;
|
import ru.betterend.blocks.basis.BlockBase;
|
||||||
import ru.betterend.blocks.basis.EndBarrelBlock;
|
import ru.betterend.blocks.basis.EndBarrelBlock;
|
||||||
import ru.betterend.blocks.basis.EndBlockStripableLogLog;
|
import ru.betterend.blocks.basis.EndBlockStripableLogLog;
|
||||||
import ru.betterend.blocks.basis.EndBookshelfBlock;
|
import ru.betterend.blocks.basis.EndBookshelfBlock;
|
||||||
|
@ -74,7 +74,7 @@ public class WoodenMaterial {
|
||||||
log = EndBlocks.registerBlock(name + "_log", new EndBlockStripableLogLog(woodColor, log_stripped));
|
log = EndBlocks.registerBlock(name + "_log", new EndBlockStripableLogLog(woodColor, log_stripped));
|
||||||
bark = EndBlocks.registerBlock(name + "_bark", new StrippableBarkBlock(woodColor, bark_stripped));
|
bark = EndBlocks.registerBlock(name + "_bark", new StrippableBarkBlock(woodColor, bark_stripped));
|
||||||
|
|
||||||
planks = EndBlocks.registerBlock(name + "_planks", new BaseBlock(materialPlanks));
|
planks = EndBlocks.registerBlock(name + "_planks", new BlockBase(materialPlanks));
|
||||||
stairs = EndBlocks.registerBlock(name + "_stairs", new EndStairsBlock(planks));
|
stairs = EndBlocks.registerBlock(name + "_stairs", new EndStairsBlock(planks));
|
||||||
slab = EndBlocks.registerBlock(name + "_slab", new EndSlabBlock(planks));
|
slab = EndBlocks.registerBlock(name + "_slab", new EndSlabBlock(planks));
|
||||||
fence = EndBlocks.registerBlock(name + "_fence", new EndFenceBlock(planks));
|
fence = EndBlocks.registerBlock(name + "_fence", new EndFenceBlock(planks));
|
||||||
|
|
|
@ -78,6 +78,7 @@ import ru.betterend.blocks.TenaneaFlowersBlock;
|
||||||
import ru.betterend.blocks.TenaneaSaplingBlock;
|
import ru.betterend.blocks.TenaneaSaplingBlock;
|
||||||
import ru.betterend.blocks.TerminiteBlock;
|
import ru.betterend.blocks.TerminiteBlock;
|
||||||
import ru.betterend.blocks.TerrainPlantBlock;
|
import ru.betterend.blocks.TerrainPlantBlock;
|
||||||
|
import ru.betterend.blocks.ThallasiumChandelierBlock;
|
||||||
import ru.betterend.blocks.TwistedUmbrellaMossBlock;
|
import ru.betterend.blocks.TwistedUmbrellaMossBlock;
|
||||||
import ru.betterend.blocks.TwistedUmbrellaMossTallBlock;
|
import ru.betterend.blocks.TwistedUmbrellaMossTallBlock;
|
||||||
import ru.betterend.blocks.UmbrellaMossBlock;
|
import ru.betterend.blocks.UmbrellaMossBlock;
|
||||||
|
@ -307,6 +308,8 @@ public class EndBlocks {
|
||||||
public static final Block BULB_LANTERN = registerBlock("bulb_lantern", new BulbVineLanternBlock());
|
public static final Block BULB_LANTERN = registerBlock("bulb_lantern", new BulbVineLanternBlock());
|
||||||
public static final ColoredMaterial BULB_LANTERN_COLORED = new ColoredMaterial(BulbVineLanternColoredBlock::new, BULB_LANTERN, false);
|
public static final ColoredMaterial BULB_LANTERN_COLORED = new ColoredMaterial(BulbVineLanternColoredBlock::new, BULB_LANTERN, false);
|
||||||
|
|
||||||
|
public static final Block THALLASIUM_CHANDELIER = registerBlock("thallasium_chandelier", new ThallasiumChandelierBlock());
|
||||||
|
|
||||||
// Blocks With Entity //
|
// Blocks With Entity //
|
||||||
public static final Block END_STONE_SMELTER = registerBlock("end_stone_smelter", new EndStoneSmelter());
|
public static final Block END_STONE_SMELTER = registerBlock("end_stone_smelter", new EndStoneSmelter());
|
||||||
public static final Block ETERNAL_PEDESTAL = registerBlock("eternal_pedestal", new EternalPedestal());
|
public static final Block ETERNAL_PEDESTAL = registerBlock("eternal_pedestal", new EternalPedestal());
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"facing=up": { "model": "betterend:block/thallasium_chandelier" },
|
||||||
|
"facing=down": { "model": "betterend:block/blue_vine_fur", "x": 180 },
|
||||||
|
"facing=north": { "model": "betterend:block/blue_vine_fur", "x": 90 },
|
||||||
|
"facing=south": { "model": "betterend:block/blue_vine_fur", "x": 90, "y": 180 },
|
||||||
|
"facing=east": { "model": "betterend:block/blue_vine_fur", "x": 90, "y": 90 },
|
||||||
|
"facing=west": { "model": "betterend:block/blue_vine_fur", "x": 90, "y": 270 }
|
||||||
|
}
|
||||||
|
}
|
|
@ -592,5 +592,6 @@
|
||||||
"block.betterend.thallasium_trapdoor": "Thallasium Trapdoor",
|
"block.betterend.thallasium_trapdoor": "Thallasium Trapdoor",
|
||||||
|
|
||||||
"block.betterend.lumecorn_seed": "Lumecorn Seed",
|
"block.betterend.lumecorn_seed": "Lumecorn Seed",
|
||||||
"item.betterend.lumecorn_rod": "Lumecorn Rod"
|
"item.betterend.lumecorn_rod": "Lumecorn Rod",
|
||||||
|
"block.betterend.thallasium_chandelier": "Thallasium Chandelier"
|
||||||
}
|
}
|
||||||
|
|
|
@ -594,5 +594,6 @@
|
||||||
"block.betterend.thallasium_trapdoor": "Талласиевый люк",
|
"block.betterend.thallasium_trapdoor": "Талласиевый люк",
|
||||||
|
|
||||||
"block.betterend.lumecorn_seed": "Семя люмекорна",
|
"block.betterend.lumecorn_seed": "Семя люмекорна",
|
||||||
"item.betterend.lumecorn_rod": "Стержень люмекорна"
|
"item.betterend.lumecorn_rod": "Стержень люмекорна",
|
||||||
|
"block.betterend.thallasium_chandelier": "Талласиевый канделябр"
|
||||||
}
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"defaultMaterial": "betterend:glow_65"
|
||||||
|
}
|
10
src/main/resources/assets/betterend/materials/glow_60.json
Normal file
10
src/main/resources/assets/betterend/materials/glow_60.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"layers": [
|
||||||
|
{
|
||||||
|
"vertexSource": "canvas:shaders/material/default.vert",
|
||||||
|
"fragmentSource": "betterend:shaders/material/glow_65.frag",
|
||||||
|
"disableAo": true,
|
||||||
|
"disableDiffuse": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,132 @@
|
||||||
|
{
|
||||||
|
"__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
|
||||||
|
"textures": {
|
||||||
|
"particle": "betterend:block/thallasium_chandelier",
|
||||||
|
"texture": "betterend:block/thallasium_chandelier"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"__comment": "Box1",
|
||||||
|
"from": [ 6, 0, 6 ],
|
||||||
|
"to": [ 10, 1, 10 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "uv": [ 0, 0, 4, 4 ], "texture": "#texture" },
|
||||||
|
"up": { "uv": [ 0, 0, 4, 4 ], "texture": "#texture" },
|
||||||
|
"north": { "uv": [ 0, 4, 4, 5 ], "texture": "#texture" },
|
||||||
|
"south": { "uv": [ 0, 4, 4, 5 ], "texture": "#texture" },
|
||||||
|
"west": { "uv": [ 0, 4, 4, 5 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 4, 4, 5 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX3",
|
||||||
|
"from": [ 2, 1, 2 ],
|
||||||
|
"to": [ 2.001, 10, 19 ],
|
||||||
|
"rotation": { "origin": [ 2, 1, 2 ], "axis": "y", "angle": 45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 0, 7, 16, 16 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 7, 16, 16 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX3",
|
||||||
|
"from": [ 14, 1, 2 ],
|
||||||
|
"to": [ 14.001, 10, 19 ],
|
||||||
|
"rotation": { "origin": [ 14, 1, 2 ], "axis": "y", "angle": -45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 0, 7, 16, 16 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 0, 7, 16, 16 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX5",
|
||||||
|
"from": [ 2, 10, 2 ],
|
||||||
|
"to": [ 2.001, 16, 7.5 ],
|
||||||
|
"rotation": { "origin": [ 2, 10, 2 ], "axis": "y", "angle": 45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX5",
|
||||||
|
"from": [ 6, 10, 2 ],
|
||||||
|
"to": [ 6.001, 16, 7.5 ],
|
||||||
|
"rotation": { "origin": [ 6, 10, 2 ], "axis": "y", "angle": -45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX5",
|
||||||
|
"from": [ 10, 10, 2 ],
|
||||||
|
"to": [ 10.001, 16, 7.5 ],
|
||||||
|
"rotation": { "origin": [ 10, 10, 2 ], "axis": "y", "angle": 45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX5",
|
||||||
|
"from": [ 14, 10, 2 ],
|
||||||
|
"to": [ 14.001, 16, 7.5 ],
|
||||||
|
"rotation": { "origin": [ 14, 10, 2 ], "axis": "y", "angle": -45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX5",
|
||||||
|
"from": [ 2, 10, 10 ],
|
||||||
|
"to": [ 2.001, 16, 15.5 ],
|
||||||
|
"rotation": { "origin": [ 2, 10, 10 ], "axis": "y", "angle": 45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX5",
|
||||||
|
"from": [ 6, 10, 10 ],
|
||||||
|
"to": [ 6.001, 16, 15.5 ],
|
||||||
|
"rotation": { "origin": [ 6, 10, 10 ], "axis": "y", "angle": -45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX5",
|
||||||
|
"from": [ 10, 10, 10 ],
|
||||||
|
"to": [ 10.001, 16, 15.5 ],
|
||||||
|
"rotation": { "origin": [ 10, 10, 10 ], "axis": "y", "angle": 45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__comment": "PlaneX5",
|
||||||
|
"from": [ 14, 10, 10 ],
|
||||||
|
"to": [ 14.001, 16, 15.5 ],
|
||||||
|
"rotation": { "origin": [ 14, 10, 10 ], "axis": "y", "angle": -45 },
|
||||||
|
"shade": false,
|
||||||
|
"faces": {
|
||||||
|
"west": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" },
|
||||||
|
"east": { "uv": [ 11, 0, 16, 6 ], "texture": "#texture" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "betterend:item/thallasium_chandelier"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
#include frex:shaders/api/fragment.glsl
|
||||||
|
#include frex:shaders/lib/math.glsl
|
||||||
|
|
||||||
|
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||||
|
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.65 ? 1 : 0;
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 543 B |
Binary file not shown.
After Width: | Height: | Size: 366 B |
Loading…
Add table
Add a link
Reference in a new issue