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.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)

View file

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

View file

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

View file

@ -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() {

View file

@ -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() {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

View file

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

View file

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

View file

@ -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() {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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() {

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

View file

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

View file

@ -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() {

View file

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

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.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)

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.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() {

View file

@ -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() {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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() {

View file

@ -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() {

View file

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

View file

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

View file

@ -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() {

View file

@ -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() {

View file

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

View file

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

View file

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

View file

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

View file

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

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.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"
} }

View file

@ -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": "Талласиевый канделябр"
} }

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