Do not blow up accessing unregistered memories from API (Fixes #12618) (#12639)

This commit is contained in:
Shane Freeder
2025-06-07 03:37:52 +01:00
committed by GitHub
parent e87320d5f2
commit 94f2903584

View File

@ -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> T getMemory(MemoryKey<T> 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