From 3e1f3d5a513f1f9395ae9677b1587cfe85e1d19c Mon Sep 17 00:00:00 2001 From: CocoTheOwner Date: Fri, 13 Aug 2021 20:50:41 +0200 Subject: [PATCH] Fixes --- src/main/java/com/volmit/iris/Iris.java | 2 -- .../iris/util/decree/DecreeCommand.java | 23 ------------------- .../iris/util/decree/DecreeContext.java | 1 - .../iris/util/decree/DecreeExecutor.java | 8 +++++-- .../util/decree/DecreeParameterHandler.java | 5 ++++ .../volmit/iris/util/decree/DecreeSystem.java | 4 ++++ .../volmit/iris/util/decree/SubExample.java | 12 ---------- 7 files changed, 15 insertions(+), 40 deletions(-) delete mode 100644 src/main/java/com/volmit/iris/util/decree/DecreeCommand.java delete mode 100644 src/main/java/com/volmit/iris/util/decree/SubExample.java diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index 76eb3cc77..758c629b0 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -38,8 +38,6 @@ import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.platform.BukkitChunkGenerator; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KSet; -import com.volmit.iris.util.decree.DecreeCommand; -import com.volmit.iris.util.decree.DecreeSystem; import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.function.NastyRunnable; diff --git a/src/main/java/com/volmit/iris/util/decree/DecreeCommand.java b/src/main/java/com/volmit/iris/util/decree/DecreeCommand.java deleted file mode 100644 index 08c82bce1..000000000 --- a/src/main/java/com/volmit/iris/util/decree/DecreeCommand.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.decree; - - -public interface DecreeCommand { -} diff --git a/src/main/java/com/volmit/iris/util/decree/DecreeContext.java b/src/main/java/com/volmit/iris/util/decree/DecreeContext.java index 1bd3a139a..82a9ebdc9 100644 --- a/src/main/java/com/volmit/iris/util/decree/DecreeContext.java +++ b/src/main/java/com/volmit/iris/util/decree/DecreeContext.java @@ -18,7 +18,6 @@ package com.volmit.iris.util.decree; -import com.volmit.iris.Iris; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.plugin.VolmitSender; import com.volmit.iris.util.scheduling.ChronoLatch; diff --git a/src/main/java/com/volmit/iris/util/decree/DecreeExecutor.java b/src/main/java/com/volmit/iris/util/decree/DecreeExecutor.java index 464c0f7cc..d930f6b48 100644 --- a/src/main/java/com/volmit/iris/util/decree/DecreeExecutor.java +++ b/src/main/java/com/volmit/iris/util/decree/DecreeExecutor.java @@ -20,6 +20,7 @@ package com.volmit.iris.util.decree; import com.volmit.iris.core.tools.IrisToolbelt; import com.volmit.iris.engine.framework.Engine; +import com.volmit.iris.engine.platform.PlatformChunkGenerator; import com.volmit.iris.util.plugin.VolmitSender; public interface DecreeExecutor { @@ -30,9 +31,12 @@ public interface DecreeExecutor { default Engine engine() { - if(sender().isPlayer()) + if(sender().isPlayer() && IrisToolbelt.access(sender().player().getWorld()) != null) { - return IrisToolbelt.access(sender().player().getWorld()).getEngine(); + PlatformChunkGenerator gen = IrisToolbelt.access(sender().player().getWorld()); + if (gen != null){ + return gen.getEngine(); + } } return null; diff --git a/src/main/java/com/volmit/iris/util/decree/DecreeParameterHandler.java b/src/main/java/com/volmit/iris/util/decree/DecreeParameterHandler.java index 4b1091867..74257a977 100644 --- a/src/main/java/com/volmit/iris/util/decree/DecreeParameterHandler.java +++ b/src/main/java/com/volmit/iris/util/decree/DecreeParameterHandler.java @@ -37,6 +37,11 @@ public interface DecreeParameterHandler { */ String toString(T t); + /** + * Forces conversion to the designated type before converting to a string using {@link #toString(T t)} + * @param t The object to convert to string (that should be of this type) + * @return The resulting string. + */ default String toStringForce(Object t) { return toString((T)t); diff --git a/src/main/java/com/volmit/iris/util/decree/DecreeSystem.java b/src/main/java/com/volmit/iris/util/decree/DecreeSystem.java index 341ef6009..c810d02c0 100644 --- a/src/main/java/com/volmit/iris/util/decree/DecreeSystem.java +++ b/src/main/java/com/volmit/iris/util/decree/DecreeSystem.java @@ -36,6 +36,10 @@ import java.util.List; public interface DecreeSystem extends CommandExecutor, TabCompleter { KList> handlers = Iris.initialize("com.volmit.iris.util.decree.handlers", null).convert((i) -> (DecreeParameterHandler) i); + /** + * The root class to start command searching from + * @return + */ VirtualDecreeCommand getRoot(); default boolean call(VolmitSender sender, String[] args) diff --git a/src/main/java/com/volmit/iris/util/decree/SubExample.java b/src/main/java/com/volmit/iris/util/decree/SubExample.java deleted file mode 100644 index 08f4acebb..000000000 --- a/src/main/java/com/volmit/iris/util/decree/SubExample.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.volmit.iris.util.decree; - -import com.volmit.iris.util.decree.annotations.Decree; - -@Decree(name = "boop", aliases = {"b", "bp"}, description = "Sub example with another name!") -// the boop command in here can be called with (/super) boop beep, b beep and bp beep -public class SubExample implements DecreeCommand { - @Decree(name = "beep", description = "Boops the sender") // Origin is not defined so both console & player senders can run this command (Default) - public void boop() { // Called with "beep" because name = "beep", "boop" will not work in the command - DecreeContext.get().sendMessage("Boop"); - } -}