From fc9c655290fe081d426649549a9c8064318e3504 Mon Sep 17 00:00:00 2001 From: unilock Date: Fri, 10 Jan 2025 19:46:02 -0500 Subject: [PATCH] Fix bed occupation state check in LivingEntityMixin#setOccupiedState Removes the incorrect inversion and checks for originalState.contains(BedBlock.OCCUPIED) as the original Fabric API does Signed-off-by: unilock --- .../fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java index c4d8122d6..6b7d00367 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java @@ -128,7 +128,7 @@ private void setOccupiedState(BlockState state, World world, BlockPos pos, Livin // when the bed doesn't have the property. BlockState originalState = fabric_originalState != null ? fabric_originalState : state; - if (!EntitySleepEvents.SET_BED_OCCUPATION_STATE.invoker().setBedOccupationState((LivingEntity) (Object) this, pos, originalState, occupied)) { + if (EntitySleepEvents.SET_BED_OCCUPATION_STATE.invoker().setBedOccupationState((LivingEntity) (Object) this, pos, originalState, occupied) || originalState.contains(BedBlock.OCCUPIED)) { originalState.setBedOccupied(world, pos, entity, occupied); }