Entity Seam

This commit is contained in:
Brian Neumann-Fopiano committed 2026-06-12 02:44:42 -04:00
1 parent ca10edef0c
commit df888e5516
3 files changed
+14 -4

No files matched your search

@@ -22,10 +22,10 @@ import art.arcane.iris.Iris;
import art.arcane.iris.core.IrisSettings; import art.arcane.iris.core.IrisSettings;
import art.arcane.iris.core.link.Identifier; import art.arcane.iris.core.link.Identifier;
import art.arcane.iris.core.loader.IrisRegistrant; import art.arcane.iris.core.loader.IrisRegistrant;
import art.arcane.iris.core.nms.INMS;
import art.arcane.iris.core.service.ExternalDataSVC; import art.arcane.iris.core.service.ExternalDataSVC;
import art.arcane.iris.engine.framework.Engine; import art.arcane.iris.engine.framework.Engine;
import art.arcane.iris.engine.object.annotations.*; import art.arcane.iris.engine.object.annotations.*;
import art.arcane.iris.platform.bukkit.BukkitPlatform;
import art.arcane.iris.platform.bukkit.BukkitWorld; import art.arcane.iris.platform.bukkit.BukkitWorld;
import art.arcane.iris.spi.PlatformWorld; import art.arcane.iris.spi.PlatformWorld;
import art.arcane.volmlib.util.collection.KList; import art.arcane.volmlib.util.collection.KList;
@@ -451,7 +451,7 @@ public class IrisEntity extends IrisRegistrant {
} }
return INMS.get().spawnEntity(at, getType(), getReason()); return BukkitPlatform.spawnEntity(at, getType(), getReason());
} }
public boolean isSpecialType() { public boolean isSpecialType() {
@@ -20,7 +20,6 @@ package art.arcane.iris.engine.object;
import art.arcane.iris.platform.bukkit.BukkitPlatform; import art.arcane.iris.platform.bukkit.BukkitPlatform;
import art.arcane.iris.Iris; import art.arcane.iris.Iris;
import art.arcane.iris.core.nms.INMS;
import art.arcane.iris.engine.data.cache.AtomicCache; import art.arcane.iris.engine.data.cache.AtomicCache;
import art.arcane.iris.engine.framework.Engine; import art.arcane.iris.engine.framework.Engine;
import art.arcane.iris.engine.object.annotations.*; import art.arcane.iris.engine.object.annotations.*;
@@ -178,7 +177,7 @@ public class IrisEntitySpawn implements IRare {
return null; return null;
} }
Vector3d boundingBox = INMS.get().getBoundingbox(irisEntity.getType()); Vector3d boundingBox = BukkitPlatform.entityBoundingBox(irisEntity.getType());
if (!ignoreSurfaces && boundingBox != null) { if (!ignoreSurfaces && boundingBox != null) {
boolean isClearForSpawn = isAreaClearForSpawn(at, boundingBox); boolean isClearForSpawn = isAreaClearForSpawn(at, boundingBox);
if (!isClearForSpawn) { if (!isClearForSpawn) {
@@ -31,13 +31,16 @@ import art.arcane.iris.spi.PlatformScheduler;
import art.arcane.iris.spi.PlatformStructureHooks; import art.arcane.iris.spi.PlatformStructureHooks;
import art.arcane.iris.spi.PlatformWorld; import art.arcane.iris.spi.PlatformWorld;
import art.arcane.iris.util.common.scheduling.J; import art.arcane.iris.util.common.scheduling.J;
import art.arcane.volmlib.util.math.Vector3d;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.Biome; import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import java.io.File; import java.io.File;
@@ -94,6 +97,14 @@ public final class BukkitPlatform implements IrisPlatform {
return new Location(world, position.getX(), position.getY(), position.getZ()); return new Location(world, position.getX(), position.getY(), position.getZ());
} }
public static Entity spawnEntity(Location at, EntityType type, CreatureSpawnEvent.SpawnReason reason) {
return INMS.get().spawnEntity(at, type, reason);
}
public static Vector3d entityBoundingBox(EntityType type) {
return INMS.get().getBoundingbox(type);
}
@Override @Override
public String platformName() { public String platformName() {
return "bukkit"; return "bukkit";