From 94f2903584945d71012050bcef830da4271fdb90 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 7 Jun 2025 03:37:52 +0100 Subject: [PATCH] Do not blow up accessing unregistered memories from API (Fixes #12618) (#12639) --- .../java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index 13feb2f7a..6b4e74b80 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; +import java.util.Optional; import java.util.Set; import java.util.UUID; import net.minecraft.Optionull; @@ -905,7 +906,8 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @Override public T getMemory(MemoryKey memoryKey) { - return (T) this.getHandle().getBrain().getMemory(CraftMemoryKey.bukkitToMinecraft(memoryKey)).map(CraftMemoryMapper::fromNms).orElse(null); + final Optional memory = this.getHandle().getBrain().getMemoryInternal(CraftMemoryKey.bukkitToMinecraft(memoryKey)); + return memory != null ? (T) memory.map(CraftMemoryMapper::fromNms).orElse(null) : null; } @Override