|
1 | 1 | package net.artienia.rubinated_nether.block;
|
2 | 2 |
|
| 3 | +import net.artienia.rubinated_nether.utils.ShapeUtils; |
3 | 4 | import net.minecraft.core.BlockPos;
|
| 5 | +import net.minecraft.core.Direction; |
4 | 6 | import net.minecraft.world.entity.player.Player;
|
5 | 7 | import net.minecraft.world.item.ItemStack;
|
6 | 8 | import net.minecraft.world.level.BlockGetter;
|
|
16 | 18 | import net.minecraft.world.phys.shapes.VoxelShape;
|
17 | 19 | import org.jetbrains.annotations.Nullable;
|
18 | 20 |
|
| 21 | +import java.util.Map; |
| 22 | + |
19 | 23 | public class LavaLamp extends RotatedPillarBlock {
|
20 |
| - protected static final float AABB_MIN = 2.0F; |
21 |
| - protected static final float AABB_MAX = 14.0F; |
22 |
| - protected static final VoxelShape Y_AXIS_AABB = Block.box(2.0D, 0.0D, 2.0D, 14.0D, 16.0D, 14.0D); |
23 |
| - protected static final VoxelShape Z_AXIS_AABB = Block.box(2.0D, 2.0D, 0.0D, 14.0D, 14.0D, 16.0D); |
24 |
| - protected static final VoxelShape X_AXIS_AABB = Block.box(0.0D, 2.0D, 2.0D, 16.0D, 14.0D, 14.0D); |
| 24 | + |
| 25 | + protected static final Map<Direction.Axis, VoxelShape> AXIS_SHAPES = ShapeUtils.allAxis(Block.box(2.0D, 0.0D, 2.0D, 14.0D, 16.0D, 14.0D)); |
25 | 26 |
|
26 | 27 | public LavaLamp(Properties properties) {
|
27 | 28 | super(properties);
|
28 | 29 | }
|
29 | 30 |
|
30 |
| - public VoxelShape getShape(BlockState p_154346_, BlockGetter p_154347_, BlockPos p_154348_, CollisionContext p_154349_) { |
31 |
| - switch (p_154346_.getValue(AXIS)) { |
32 |
| - case X: |
33 |
| - default: |
34 |
| - return X_AXIS_AABB; |
35 |
| - case Z: |
36 |
| - return Z_AXIS_AABB; |
37 |
| - case Y: |
38 |
| - return Y_AXIS_AABB; |
39 |
| - } |
| 31 | + public VoxelShape getShape(BlockState state, BlockGetter view, BlockPos pos, CollisionContext context) { |
| 32 | + return AXIS_SHAPES.get(state.getValue(AXIS)); |
40 | 33 | }
|
41 | 34 |
|
42 | 35 | public void playerDestroy(Level level, Player player, BlockPos pos, BlockState state, @Nullable BlockEntity blockEntity, ItemStack tool) {
|
|
0 commit comments