Holo sign shape
This commit is contained in:
parent
903cb30c8e
commit
cb433871be
@ -601,4 +601,18 @@ public class BlockShapes {
|
|||||||
new SimpleCuboid(0.4375d, 0.8125d, 1d, 0.5625d, 0.9375d, 1d),
|
new SimpleCuboid(0.4375d, 0.8125d, 1d, 0.5625d, 0.9375d, 1d),
|
||||||
new SimpleCuboid(0.4375d, 0.8125d, 0d, 0.5625d, 0.9375d, 0d)
|
new SimpleCuboid(0.4375d, 0.8125d, 0d, 0.5625d, 0.9375d, 0d)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
public static final BlockShape HOLO_SIGN = new BlockShape(
|
||||||
|
new SimpleCuboid(0d, 0d, 0.875d, 1d, 1d, 1d),
|
||||||
|
new SimpleCuboid(0.0625d, 0.0625d, 0.8125d, 0.9375d, 0.9375d, 0.875d),
|
||||||
|
new SimpleCuboid(0d, 0d, 0.625d, 1d, 1d, 0.8125d),
|
||||||
|
new SimpleCuboid(0.875d, 0.3125d, 0.5625d, 1d, 0.6875d, 0.625d),
|
||||||
|
new SimpleCuboid(0d, 0.3125d, 0.5625d, 0.125d, 0.6875d, 0.625d),
|
||||||
|
new SimpleCuboid(0.0625d, 0.875d, 0.625d, 0.125d, 0.9375d, 0.625d),
|
||||||
|
new SimpleCuboid(0.0625d, 0.0625d, 0.625d, 0.125d, 0.125d, 0.625d),
|
||||||
|
new SimpleCuboid(0.875d, 0.0625d, 0.625d, 0.9375d, 0.125d, 0.625d),
|
||||||
|
new SimpleCuboid(0.875d, 0.875d, 0.625d, 0.9375d, 0.9375d, 0.625d),
|
||||||
|
new SimpleCuboid(0.875d, 0.375d, 0.5625d, 0.875d, 0.625d, 0.625d),
|
||||||
|
new SimpleCuboid(0.125d, 0.375d, 0.5625d, 0.125d, 0.625d, 0.625d)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,16 @@
|
|||||||
package ru.dbotthepony.mc.otm.block.decorative
|
package ru.dbotthepony.mc.otm.block.decorative
|
||||||
|
|
||||||
import net.minecraft.core.BlockPos
|
import net.minecraft.core.BlockPos
|
||||||
|
import net.minecraft.world.level.BlockGetter
|
||||||
import net.minecraft.world.level.block.EntityBlock
|
import net.minecraft.world.level.block.EntityBlock
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity
|
import net.minecraft.world.level.block.entity.BlockEntity
|
||||||
import net.minecraft.world.level.block.state.BlockState
|
import net.minecraft.world.level.block.state.BlockState
|
||||||
|
import net.minecraft.world.phys.shapes.CollisionContext
|
||||||
|
import net.minecraft.world.phys.shapes.VoxelShape
|
||||||
import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock
|
import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock
|
||||||
import ru.dbotthepony.mc.otm.block.entity.decorative.HoloSignBlockEntity
|
import ru.dbotthepony.mc.otm.block.entity.decorative.HoloSignBlockEntity
|
||||||
|
import ru.dbotthepony.mc.otm.core.get
|
||||||
|
import ru.dbotthepony.mc.otm.shapes.BlockShapes
|
||||||
|
|
||||||
class HoloSignBlock : RotatableMatteryBlock(), EntityBlock {
|
class HoloSignBlock : RotatableMatteryBlock(), EntityBlock {
|
||||||
override val hasFreeRotation: Boolean
|
override val hasFreeRotation: Boolean
|
||||||
@ -14,4 +19,17 @@ class HoloSignBlock : RotatableMatteryBlock(), EntityBlock {
|
|||||||
override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity {
|
override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity {
|
||||||
return HoloSignBlockEntity(p_153215_, p_153216_)
|
return HoloSignBlockEntity(p_153215_, p_153216_)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private val shapes = getShapeForEachState {
|
||||||
|
BlockShapes.HOLO_SIGN.rotateInv(it[FACING_FULL]).computeShape()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getShape(
|
||||||
|
pState: BlockState,
|
||||||
|
pLevel: BlockGetter,
|
||||||
|
pPos: BlockPos,
|
||||||
|
pContext: CollisionContext
|
||||||
|
): VoxelShape {
|
||||||
|
return shapes[pState]!!
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ class HoloSignRenderer(private val context: BlockEntityRendererProvider.Context)
|
|||||||
) {
|
) {
|
||||||
poseStack.pushPose()
|
poseStack.pushPose()
|
||||||
poseStack.rotateWithBlockFacing(tile.blockState[RotatableMatteryBlock.FACING_FULL])
|
poseStack.rotateWithBlockFacing(tile.blockState[RotatableMatteryBlock.FACING_FULL])
|
||||||
poseStack.translate(0.5f, 0.5f, -0.05f)
|
poseStack.translate(0.5f, 0.5f, 0.6f)
|
||||||
poseStack.scale(0.01f, 0.01f, 0.01f)
|
poseStack.scale(0.01f, 0.01f, 0.01f)
|
||||||
|
|
||||||
val sorse = DynamicBufferSource.WORLD
|
val sorse = DynamicBufferSource.WORLD
|
||||||
|
Loading…
Reference in New Issue
Block a user