Thallasium Chandelier (floor, WIP)

This commit is contained in:
paulevsGitch 2021-01-21 08:05:35 +03:00
parent 7e9d809814
commit 6b8422dae3
58 changed files with 306 additions and 87 deletions

View file

@ -9,9 +9,9 @@ import net.minecraft.block.MaterialColor;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.math.BlockPos;
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() {
super(FabricBlockSettings.of(Material.METAL, MaterialColor.GRAY)

View file

@ -3,9 +3,9 @@ package ru.betterend.blocks;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Blocks;
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() {
super(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).materialColor(MaterialColor.YELLOW));
}

View file

@ -8,13 +8,13 @@ import net.minecraft.block.Blocks;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.math.BlockPos;
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.EndParticles;
import ru.betterend.util.BlocksHelper;
import ru.betterend.util.MHelper;
public class AncientEmeraldIceBlock extends BaseBlock {
public class AncientEmeraldIceBlock extends BlockBase {
public AncientEmeraldIceBlock() {
super(FabricBlockSettings.copyOf(Blocks.BLUE_ICE).ticksRandomly());
}

View file

@ -13,10 +13,10 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView;
import ru.betterend.blocks.basis.BaseBlock;
import ru.betterend.blocks.basis.BlockBase;
import ru.betterend.registry.EndBlocks;
public class BlueVineLanternBlock extends BaseBlock {
public class BlueVineLanternBlock extends BlockBase {
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
public BlueVineLanternBlock() {

View file

@ -13,11 +13,11 @@ import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
import net.minecraft.util.math.BlockPos;
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.util.BlocksHelper;
public class BrimstoneBlock extends BaseBlock {
public class BrimstoneBlock extends BlockBase {
public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE;
public BrimstoneBlock() {

View file

@ -8,11 +8,11 @@ import net.minecraft.block.MaterialColor;
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.state.StateManager;
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.util.MHelper;
public class CapsacisCapBlock extends BaseBlock {
public class CapsacisCapBlock extends BlockBase {
private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0);
public static final IntProperty COLOR = BlockProperties.COLOR;

View file

@ -2,11 +2,11 @@ package ru.betterend.blocks;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
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.interfaces.IRenderTypeable;
public class DenseEmeraldIceBlock extends BaseBlock implements IRenderTypeable {
public class DenseEmeraldIceBlock extends BlockBase implements IRenderTypeable {
public DenseEmeraldIceBlock() {
super(FabricBlockSettings.copyOf(Blocks.PACKED_ICE));
}

View file

@ -3,9 +3,9 @@ package ru.betterend.blocks;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Material;
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() {
super(FabricBlockSettings.of(Material.SNOW_BLOCK).strength(0.2F).sounds(BlockSoundGroup.SNOW));
}

View file

@ -21,13 +21,13 @@ import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.BlockView;
import net.minecraft.world.WorldView;
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.interfaces.IRenderTypeable;
import ru.betterend.registry.EndBlocks;
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<TripleShape> SHAPE = BlockProperties.TRIPLE_SHAPE;
private static final VoxelShape VSHAPE = Block.createCuboidShape(0, 0, 0, 16, 1, 16);

View file

@ -26,12 +26,12 @@ import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.BlockView;
import net.minecraft.world.WorldAccess;
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.interfaces.IRenderTypeable;
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 BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
public static final BooleanProperty LEAF = BooleanProperty.of("leaf");

View file

@ -16,9 +16,9 @@ import net.minecraft.loot.context.LootContextParameters;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.shape.VoxelShape;
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);
public EndPathBlock(Block source) {

View file

@ -4,9 +4,9 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Blocks;
import net.minecraft.block.MaterialColor;
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) {
super(FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color).sounds(BlockSoundGroup.STONE));
}

View file

@ -29,9 +29,9 @@ import net.minecraft.util.math.Direction;
import net.minecraft.world.World;
import net.minecraft.world.WorldView;
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;
public EndTerrainBlock(MaterialColor color) {

View file

@ -9,9 +9,9 @@ import net.minecraft.block.MaterialColor;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.math.BlockPos;
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() {
super(FabricBlockSettings.of(Material.STONE, MaterialColor.field_25708)

View file

@ -14,10 +14,10 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView;
import ru.betterend.blocks.basis.BaseBlock;
import ru.betterend.blocks.basis.BlockBase;
import ru.betterend.registry.EndBlocks;
public class GlowingPillarLuminophorBlock extends BaseBlock {
public class GlowingPillarLuminophorBlock extends BlockBase {
public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
public GlowingPillarLuminophorBlock() {

View file

@ -23,13 +23,13 @@ import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.IntProperty;
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.noise.OpenSimplexNoise;
import ru.betterend.registry.EndBlocks;
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;
private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0);

View file

@ -8,9 +8,9 @@ import net.minecraft.entity.Entity;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.math.BlockPos;
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() {
this(FabricBlockSettings.of(Material.PLANT)
.materialColor(MaterialColor.SPRUCE)

View file

@ -36,13 +36,13 @@ import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import net.minecraft.world.WorldAccess;
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.registry.EndBlocks;
import ru.betterend.registry.EndParticles;
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 ACTIVATED = BlockProperties.ACTIVE;
private static final VoxelShape SHAPE = Block.createCuboidShape(1, 1, 1, 15, 16, 15);

View file

@ -21,7 +21,7 @@ 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.blocks.basis.BlockBaseNotFull;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.registry.EndBlocks;
@ -29,7 +29,7 @@ import ru.betterend.registry.EndItems;
import ru.betterend.registry.EndTags;
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);
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);

View file

@ -19,12 +19,12 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.world.World;
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.interfaces.IRenderTypeable;
import ru.betterend.registry.EndBlocks;
public class MengerSpongeBlock extends BaseBlockNotFull implements IRenderTypeable {
public class MengerSpongeBlock extends BlockBaseNotFull implements IRenderTypeable {
public MengerSpongeBlock() {
super(FabricBlockSettings.copyOf(Blocks.SPONGE).nonOpaque());
}

View file

@ -16,13 +16,13 @@ import net.minecraft.sound.SoundEvents;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
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.interfaces.IRenderTypeable;
import ru.betterend.registry.EndBlocks;
import ru.betterend.util.BlocksHelper;
public class MengerSpongeWetBlock extends BaseBlockNotFull implements IRenderTypeable {
public class MengerSpongeWetBlock extends BlockBaseNotFull implements IRenderTypeable {
public MengerSpongeWetBlock() {
super(FabricBlockSettings.copyOf(Blocks.WET_SPONGE).nonOpaque());
}

View file

@ -9,10 +9,10 @@ import net.minecraft.item.ItemPlacementContext;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
import ru.betterend.blocks.basis.BaseBlock;
import ru.betterend.blocks.basis.BlockBase;
import ru.betterend.registry.EndBlocks;
public class MossyGlowshroomCapBlock extends BaseBlock {
public class MossyGlowshroomCapBlock extends BlockBase {
public static final BooleanProperty TRANSITION = BooleanProperty.of("transition");
public MossyGlowshroomCapBlock() {

View file

@ -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.minecraft.block.Material;
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() {
super(FabricBlockSettings.of(Material.WOOD).breakByTool(FabricToolTags.AXES).sounds(BlockSoundGroup.WART_BLOCK).luminance(15));
}

View file

@ -36,7 +36,7 @@ import net.minecraft.world.World;
import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView;
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.interfaces.IColorProvider;
import ru.betterend.interfaces.IRenderTypeable;
@ -46,7 +46,7 @@ import ru.betterend.registry.EndItems;
import ru.betterend.util.BlocksHelper;
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_MIDDLE_TOP = Block.createCuboidShape(2, 0, 2, 14, 16, 14);

View file

@ -6,10 +6,10 @@ import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
import ru.betterend.blocks.basis.BaseBlock;
import ru.betterend.blocks.basis.BlockBase;
import ru.betterend.registry.EndBlocks;
public class RunedFlavolite extends BaseBlock {
public class RunedFlavolite extends BlockBase {
public static final BooleanProperty ACTIVATED = BlockProperties.ACTIVE;
public RunedFlavolite() {

View file

@ -34,14 +34,14 @@ import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
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.entity.SilkMothEntity;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.registry.EndEntities;
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 DirectionProperty FACING = Properties.HORIZONTAL_FACING;
public static final IntProperty FULLNESS = BlockProperties.FULLNESS;

View file

@ -4,9 +4,9 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor;
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() {
super(FabricBlockSettings.of(Material.METAL, MaterialColor.field_25708)
.hardness(7F)

View file

@ -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));
}
}

View file

@ -17,12 +17,12 @@ import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
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.EndItems;
import ru.betterend.util.BlocksHelper;
public class UmbrellaTreeClusterBlock extends BaseBlock {
public class UmbrellaTreeClusterBlock extends BlockBase {
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
public UmbrellaTreeClusterBlock() {

View file

@ -11,11 +11,11 @@ import net.minecraft.server.world.ServerWorld;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
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.util.BlocksHelper;
public class UmbrellaTreeClusterEmptyBlock extends BaseBlock {
public class UmbrellaTreeClusterEmptyBlock extends BlockBase {
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
public UmbrellaTreeClusterEmptyBlock() {

View file

@ -16,7 +16,7 @@ import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView;
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 AttachedBlock(Settings settings) {

View file

@ -13,8 +13,8 @@ import net.minecraft.util.registry.Registry;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.Patterns;
public class BaseBlock extends Block implements BlockPatterned {
public BaseBlock(Settings settings) {
public class BlockBase extends Block implements BlockPatterned {
public BlockBase(Settings settings) {
super(settings);
}

View file

@ -5,9 +5,9 @@ import net.minecraft.entity.EntityType;
import net.minecraft.util.math.BlockPos;
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);
}

View file

@ -40,7 +40,7 @@ import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.registry.EndTags;
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);
public static final IntProperty ROTATION = BlockProperties.ROTATION;
public static final BooleanProperty TOP = BooleanProperty.of("top");

View file

@ -17,7 +17,7 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import ru.betterend.patterns.Patterns;
public class EndBookshelfBlock extends BaseBlock {
public class EndBookshelfBlock extends BlockBase {
public EndBookshelfBlock(Block source) {
super(FabricBlockSettings.copyOf(source));
}

View file

@ -31,7 +31,7 @@ import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.Patterns;
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 BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
protected static final VoxelShape EAST_SHAPE = Block.createCuboidShape(0.0D, 0.0D, 0.0D, 3.0D, 16.0D, 16.0D);

View file

@ -19,7 +19,7 @@ import net.minecraft.world.BlockView;
import net.minecraft.world.WorldAccess;
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 WATERLOGGED = Properties.WATERLOGGED;

View file

@ -34,7 +34,7 @@ import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
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);
public EndPlantBlock() {

View file

@ -27,7 +27,7 @@ import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.Patterns;
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);
public FeatureSaplingBlock() {

View file

@ -43,7 +43,7 @@ import ru.betterend.patterns.Patterns;
import ru.betterend.registry.EndBlocks;
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 static final BooleanProperty HAS_ITEM = BlockProperties.HAS_ITEM;
public static final BooleanProperty HAS_LIGHT = BlockProperties.HAS_LIGHT;

View file

@ -12,7 +12,7 @@ import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.Patterns;
public class SimpleLeavesBlock extends BaseBlockNotFull implements IRenderTypeable {
public class SimpleLeavesBlock extends BlockBaseNotFull implements IRenderTypeable {
public SimpleLeavesBlock(MaterialColor color) {
super(FabricBlockSettings.of(Material.LEAVES)
.strength(0.2F)

View file

@ -39,7 +39,7 @@ import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.registry.EndBlocks;
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);
public UnderwaterPlantBlock() {

View file

@ -30,7 +30,7 @@ import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
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);
public UpDownPlantBlock() {

View file

@ -38,7 +38,7 @@ import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
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;
private static final VoxelShape VOXEL_SHAPE = Block.createCuboidShape(2, 0, 2, 14, 16, 14);

View file

@ -7,7 +7,7 @@ import net.minecraft.block.MaterialColor;
import net.minecraft.item.Item;
import net.minecraft.item.Items;
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.EndMetalPaneBlock;
import ru.betterend.blocks.basis.EndTrapdoorBlock;
@ -42,9 +42,9 @@ public class MetalMaterial {
public MetalMaterial(String name, MaterialColor color, ToolMaterial material) {
FabricBlockSettings materialBlock = FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color);
ore = EndBlocks.registerBlock(name + "_ore", new BaseBlock(FabricBlockSettings.copyOf(Blocks.END_STONE)));
block = EndBlocks.registerBlock(name + "_block", new BaseBlock(materialBlock));
tile = EndBlocks.registerBlock(name + "_tile", new BaseBlock(materialBlock));
ore = EndBlocks.registerBlock(name + "_ore", new BlockBase(FabricBlockSettings.copyOf(Blocks.END_STONE)));
block = EndBlocks.registerBlock(name + "_block", new BlockBase(materialBlock));
tile = EndBlocks.registerBlock(name + "_tile", new BlockBase(materialBlock));
bars = EndBlocks.registerBlock(name + "_bars", new EndMetalPaneBlock(block));
plate = EndBlocks.registerBlock(name + "_plate", new EndWoodenPlateBlock(block));
door = EndBlocks.registerBlock(name + "_door", new EndDoorBlock(block));

View file

@ -7,7 +7,7 @@ import net.minecraft.block.MaterialColor;
import net.minecraft.tag.BlockTags;
import net.minecraft.tag.ItemTags;
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.EndSlabBlock;
import ru.betterend.blocks.basis.EndStairsBlock;
@ -44,9 +44,9 @@ public class StoneMaterial {
public StoneMaterial(String name, MaterialColor color) {
FabricBlockSettings material = FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color);
stone = EndBlocks.registerBlock(name, new BaseBlock(material));
polished = EndBlocks.registerBlock(name + "_polished", new BaseBlock(material));
tiles = EndBlocks.registerBlock(name + "_tiles", new BaseBlock(material));
stone = EndBlocks.registerBlock(name, new BlockBase(material));
polished = EndBlocks.registerBlock(name + "_polished", new BlockBase(material));
tiles = EndBlocks.registerBlock(name + "_tiles", new BlockBase(material));
pillar = EndBlocks.registerBlock(name + "_pillar", new EndPillarBlock(material));
stairs = EndBlocks.registerBlock(name + "_stairs", new EndStairsBlock(stone));
slab = EndBlocks.registerBlock(name + "_slab", new EndSlabBlock(stone));
@ -56,7 +56,7 @@ public class StoneMaterial {
pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(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_slab = EndBlocks.registerBlock(name + "_bricks_slab", new EndSlabBlock(bricks));
brick_wall = EndBlocks.registerBlock(name + "_bricks_wall", new EndWallBlock(bricks));

View file

@ -11,7 +11,7 @@ import net.minecraft.tag.BlockTags;
import net.minecraft.tag.ItemTags;
import net.minecraft.tag.Tag;
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.EndBlockStripableLogLog;
import ru.betterend.blocks.basis.EndBookshelfBlock;
@ -74,7 +74,7 @@ public class WoodenMaterial {
log = EndBlocks.registerBlock(name + "_log", new EndBlockStripableLogLog(woodColor, log_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));
slab = EndBlocks.registerBlock(name + "_slab", new EndSlabBlock(planks));
fence = EndBlocks.registerBlock(name + "_fence", new EndFenceBlock(planks));

View file

@ -78,6 +78,7 @@ import ru.betterend.blocks.TenaneaFlowersBlock;
import ru.betterend.blocks.TenaneaSaplingBlock;
import ru.betterend.blocks.TerminiteBlock;
import ru.betterend.blocks.TerrainPlantBlock;
import ru.betterend.blocks.ThallasiumChandelierBlock;
import ru.betterend.blocks.TwistedUmbrellaMossBlock;
import ru.betterend.blocks.TwistedUmbrellaMossTallBlock;
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 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 //
public static final Block END_STONE_SMELTER = registerBlock("end_stone_smelter", new EndStoneSmelter());
public static final Block ETERNAL_PEDESTAL = registerBlock("eternal_pedestal", new EternalPedestal());

View file

@ -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 }
}
}

View file

@ -592,5 +592,6 @@
"block.betterend.thallasium_trapdoor": "Thallasium Trapdoor",
"block.betterend.lumecorn_seed": "Lumecorn Seed",
"item.betterend.lumecorn_rod": "Lumecorn Rod"
"item.betterend.lumecorn_rod": "Lumecorn Rod",
"block.betterend.thallasium_chandelier": "Thallasium Chandelier"
}

View file

@ -594,5 +594,6 @@
"block.betterend.thallasium_trapdoor": "Талласиевый люк",
"block.betterend.lumecorn_seed": "Семя люмекорна",
"item.betterend.lumecorn_rod": "Стержень люмекорна"
"item.betterend.lumecorn_rod": "Стержень люмекорна",
"block.betterend.thallasium_chandelier": "Талласиевый канделябр"
}

View file

@ -0,0 +1,3 @@
{
"defaultMaterial": "betterend:glow_65"
}

View file

@ -0,0 +1,10 @@
{
"layers": [
{
"vertexSource": "canvas:shaders/material/default.vert",
"fragmentSource": "betterend:shaders/material/glow_65.frag",
"disableAo": true,
"disableDiffuse": true
}
]
}

View file

@ -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" }
}
}
]
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "betterend:item/thallasium_chandelier"
}
}

View file

@ -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