From fa818d50d170aaad6af5de08df93e4de0dbbf8dd Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sun, 18 Jul 2021 18:48:57 -0400 Subject: [PATCH] Vision headless support --- .../java/com/volmit/iris/core/gui/IrisVision.java | 5 +++-- .../volmit/iris/engine/object/common/IrisWorld.java | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/gui/IrisVision.java b/src/main/java/com/volmit/iris/core/gui/IrisVision.java index d8dacadc7..8d074cc9b 100644 --- a/src/main/java/com/volmit/iris/core/gui/IrisVision.java +++ b/src/main/java/com/volmit/iris/core/gui/IrisVision.java @@ -24,6 +24,7 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.engine.object.IrisRegion; +import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KSet; @@ -70,7 +71,7 @@ public class IrisVision extends JPanel implements MouseWheelListener, KeyListene private boolean alt = false; private int posX = 0; private IrisRenderer renderer; - private World world; + private IrisWorld world; private double velocity = 0; private int lowq = 12; private int posZ = 0; @@ -726,7 +727,7 @@ public class IrisVision extends JPanel implements MouseWheelListener, KeyListene } } - private static void createAndShowGUI(Engine r, int s, World world) { + private static void createAndShowGUI(Engine r, int s, IrisWorld world) { JFrame frame = new JFrame("Vision"); IrisVision nv = new IrisVision(frame); nv.world = world; diff --git a/src/main/java/com/volmit/iris/engine/object/common/IrisWorld.java b/src/main/java/com/volmit/iris/engine/object/common/IrisWorld.java index c5cc9caa4..d3d00b3d2 100644 --- a/src/main/java/com/volmit/iris/engine/object/common/IrisWorld.java +++ b/src/main/java/com/volmit/iris/engine/object/common/IrisWorld.java @@ -26,15 +26,19 @@ import lombok.Data; import lombok.experimental.Accessors; import org.bukkit.Location; import org.bukkit.World; +import org.bukkit.entity.Entity; +import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import java.io.File; +import java.util.Collection; @Builder @Data @Accessors(chain = true, fluent = true) public class IrisWorld { private static final KList NO_PLAYERS = new KList<>(); + private static final KList NO_ENTITIES = new KList<>(); private String name; private File worldFolder; private long seed; @@ -94,4 +98,13 @@ public class IrisWorld { Iris.error("This world is not real yet, cannot get spawn location! HEADLESS!"); return null; } + + public Collection getEntitiesByClass(Class t) { + if(hasRealWorld()) + { + return realWorld().getEntitiesByClass(t); + } + + return (KList) NO_ENTITIES; + } }