From 74f56c1c7cccbc1dc18da9c9c8fae04a64577fb5 Mon Sep 17 00:00:00 2001 From: Crec0 <83436716+Crec0@users.noreply.github.com> Date: Thu, 7 Jul 2022 02:59:28 -0700 Subject: [PATCH] Fix `query(e, 'brain', 'visible_mobs')` returning null (#1481) --- src/main/java/carpet/script/value/ValueConversions.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/carpet/script/value/ValueConversions.java b/src/main/java/carpet/script/value/ValueConversions.java index 79a3dfe971..f11cebe6fb 100644 --- a/src/main/java/carpet/script/value/ValueConversions.java +++ b/src/main/java/carpet/script/value/ValueConversions.java @@ -24,6 +24,7 @@ import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.ai.behavior.PositionTracker; +import net.minecraft.world.entity.ai.memory.NearestVisibleLivingEntities; import net.minecraft.world.entity.ai.memory.WalkTarget; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -49,6 +50,7 @@ import java.util.UUID; import java.util.function.Predicate; import java.util.stream.Collectors; +import java.util.stream.StreamSupport; public class ValueConversions { @@ -267,6 +269,9 @@ private static Value fromEntityMemory(Entity e, Object v) new NumericValue(((WalkTarget) v).getCloseEnoughDist()) ); } + if (v instanceof NearestVisibleLivingEntities nvle) { + v = StreamSupport.stream(nvle.findAll(entity -> true).spliterator(), false).toList(); + } if (v instanceof Set) { v = new ArrayList(((Set) v));