From 8775f842e66d2aba4ce39bd50d7643ce5a5d3666 Mon Sep 17 00:00:00 2001 From: Sjoerd van de Goor Date: Fri, 3 Mar 2023 21:57:13 +0100 Subject: [PATCH] Spawn command --- .../volmit/iris/core/commands/CommandIris.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/com/volmit/iris/core/commands/CommandIris.java b/src/main/java/com/volmit/iris/core/commands/CommandIris.java index 209ea9f25..4a647ce81 100644 --- a/src/main/java/com/volmit/iris/core/commands/CommandIris.java +++ b/src/main/java/com/volmit/iris/core/commands/CommandIris.java @@ -24,6 +24,7 @@ import com.volmit.iris.core.service.StudioSVC; import com.volmit.iris.core.tools.IrisToolbelt; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.IrisEntity; import com.volmit.iris.engine.platform.PlatformChunkGenerator; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.decree.DecreeContext; @@ -40,7 +41,9 @@ import com.volmit.iris.util.scheduling.J; import com.volmit.iris.util.scheduling.jobs.QueueJob; import org.bukkit.Bukkit; import org.bukkit.Chunk; +import org.bukkit.Location; import org.bukkit.World; +import org.bukkit.util.Vector; import java.io.File; import java.io.IOException; @@ -339,4 +342,17 @@ public class CommandIris implements DecreeExecutor { Iris.service(StudioSVC.class).installIntoWorld(sender(), pack.getLoadKey(), folder); } + + @Decree(description = "Spawn an entity", aliases = "summon", origin = DecreeOrigin.PLAYER) + public void spawn( + @Param(description = "The entity to spawn") + IrisEntity entity, + @Param(description = "The location to spawn the entity at", contextual = true) + Vector location + ) { + if (!IrisToolbelt.isIrisWorld(player().getWorld())) { + sender().sendMessage(C.RED + "You have to be in an Iris world to spawn entities properly. Trying to spawn the best we can do."); + } + entity.spawn(engine(), new Location(world(), location.getX(), location.getY(), location.getZ())); + } }