|
30 | 30 | #include "mc/world/actor/ActorDamageSource.h" |
31 | 31 | #include "mc/world/actor/ActorDefinitionIdentifier.h" |
32 | 32 | #include "mc/world/actor/ActorType.h" |
33 | | -#include "mc/world/actor/BuiltInActorComponents.h" |
34 | 33 | #include "mc/world/actor/Mob.h" |
35 | 34 | #include "mc/world/actor/item/ItemActor.h" |
36 | 35 | #include "mc/world/actor/player/Player.h" |
37 | 36 | #include "mc/world/actor/provider/ActorAttribute.h" |
38 | 37 | #include "mc/world/actor/provider/ActorEquipment.h" |
39 | 38 | #include "mc/world/actor/provider/SynchedActorDataAccess.h" |
40 | | -#include "mc/world/attribute/AttributeModificationContext.h" |
41 | 39 | #include "mc/world/attribute/MutableAttributeWithContext.h" |
42 | 40 | #include "mc/world/attribute/SharedAttributes.h" |
43 | 41 | #include "mc/world/effect/EffectDuration.h" |
|
46 | 44 | #include "mc/world/level/Spawner.h" |
47 | 45 | #include "mc/world/level/biome/Biome.h" |
48 | 46 | #include "mc/world/level/block/Block.h" |
49 | | -#include "mc/world/level/block/CachedComponentData.h" |
50 | 47 | #include "mc/world/level/block/VanillaBlockTypeIds.h" |
51 | 48 | #include "mc/world/level/dimension/Dimension.h" |
52 | 49 | #include "mc/world/level/material/Material.h" |
@@ -550,7 +547,9 @@ Local<Value> EntityClass::getInClouds() { |
550 | 547 | Actor* entity = get(); |
551 | 548 | if (!entity) return Local<Value>(); |
552 | 549 |
|
553 | | - return Boolean::newBoolean(entity->isInClouds()); |
| 550 | + short cloudHeight = entity->getDimension().getCloudHeight(); |
| 551 | + float y = entity->getPosition().y; |
| 552 | + return Boolean::newBoolean(y > cloudHeight && y < cloudHeight + 4.0f); |
554 | 553 | } |
555 | 554 | CATCH("Fail in getInClouds!") |
556 | 555 | } |
|
0 commit comments