стул без данных клиенту не нравится
НЕ ТИКАЙ НЕ СВОИМ СТУЛОМ, ЭТО СЕРВЕРНЫЙ
This commit is contained in:
parent
dc1cf56ed9
commit
a38e1c1548
@ -28,13 +28,12 @@ class StarChairBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_PROPE
|
|||||||
|
|
||||||
override fun useWithoutItem(blockState: BlockState, level: Level, blockPos: BlockPos, ply: Player, blockHitResult: BlockHitResult): InteractionResult {
|
override fun useWithoutItem(blockState: BlockState, level: Level, blockPos: BlockPos, ply: Player, blockHitResult: BlockHitResult): InteractionResult {
|
||||||
if (ply.isCrouching) return super.useWithoutItem(blockState, level, blockPos, ply, blockHitResult)
|
if (ply.isCrouching) return super.useWithoutItem(blockState, level, blockPos, ply, blockHitResult)
|
||||||
|
if (level.isClientSide) return InteractionResult.SUCCESS
|
||||||
|
|
||||||
val entities = level.getEntitiesOfClass(RideableDummy::class.java, AABB(blockPos, blockPos + BlockPos(1, 1, 1)))
|
val entities = level.getEntitiesOfClass(RideableDummy::class.java, AABB(blockPos, blockPos + BlockPos(1, 1, 1)))
|
||||||
if (entities.isNotEmpty()) return InteractionResult.FAIL
|
if (entities.isNotEmpty()) return InteractionResult.FAIL
|
||||||
|
|
||||||
val entity = RideableDummy(level)
|
val entity = RideableDummy(level, blockPos, blockState)
|
||||||
entity.blockPos = blockPos
|
|
||||||
entity.blockState = blockState
|
|
||||||
|
|
||||||
entity.yRot = blockState[rotationFreedom()].front.toYRot()
|
entity.yRot = blockState[rotationFreedom()].front.toYRot()
|
||||||
entity.setPos(blockPos.x + 0.5, blockPos.y.toDouble(), blockPos.z + 0.5)
|
entity.setPos(blockPos.x + 0.5, blockPos.y.toDouble(), blockPos.z + 0.5)
|
||||||
|
@ -15,6 +15,11 @@ class RideableDummy(level: Level) : Entity(MEntityTypes.RIDEABLE_DUMMY, level) {
|
|||||||
var blockPos: BlockPos = BlockPos.ZERO
|
var blockPos: BlockPos = BlockPos.ZERO
|
||||||
var blockState: BlockState = Blocks.AIR.defaultBlockState()
|
var blockState: BlockState = Blocks.AIR.defaultBlockState()
|
||||||
|
|
||||||
|
constructor(level: Level, blockPos: BlockPos, blockState: BlockState) : this(level) {
|
||||||
|
this.blockPos = blockPos
|
||||||
|
this.blockState = blockState
|
||||||
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
isNoGravity = true
|
isNoGravity = true
|
||||||
noPhysics = true
|
noPhysics = true
|
||||||
@ -23,10 +28,9 @@ class RideableDummy(level: Level) : Entity(MEntityTypes.RIDEABLE_DUMMY, level) {
|
|||||||
override fun tick() {
|
override fun tick() {
|
||||||
super.tick()
|
super.tick()
|
||||||
|
|
||||||
|
if (level().isClientSide) return
|
||||||
if (level().getBlockState(blockPos) != blockState || passengers.isEmpty()) {
|
if (level().getBlockState(blockPos) != blockState || passengers.isEmpty()) {
|
||||||
discard()
|
discard()
|
||||||
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,11 @@ object MEntityTypes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val RIDEABLE_DUMMY: EntityType<RideableDummy> by registry.register(MNames.RIDEABLE_DUMMY) {
|
val RIDEABLE_DUMMY: EntityType<RideableDummy> by registry.register(MNames.RIDEABLE_DUMMY) {
|
||||||
EntityType.Builder.of({ _, level -> RideableDummy(level)}, MobCategory.MISC).sized(0.5f, 0.5f).build(MNames.RIDEABLE_DUMMY)
|
EntityType.Builder.of({ _, level -> RideableDummy(level) }, MobCategory.MISC)
|
||||||
|
.sized(0.5f, 0.5f)
|
||||||
|
.passengerAttachments(0.5f)
|
||||||
|
.clientTrackingRange(8)
|
||||||
|
.build(MNames.RIDEABLE_DUMMY)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun register(bus: IEventBus) {
|
fun register(bus: IEventBus) {
|
||||||
|
Loading…
Reference in New Issue
Block a user