diff --git a/.idea/workspace.xml b/.idea/workspace.xml index cbfc0c587..088f2cafa 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -114,10 +114,10 @@ - + - + @@ -134,22 +134,22 @@ - + - - + + - - + + - - + + - + diff --git a/lint/ChangeLog.txt b/lint/ChangeLog.txt index bcf828b27..bd441ca0f 100644 --- a/lint/ChangeLog.txt +++ b/lint/ChangeLog.txt @@ -3109,7 +3109,7 @@ Class: public com.volmit.iris.command.PermissionIrisStudio NameNotChanged Class: public abstract com.volmit.iris.gen.ContextualChunkGenerator NameNotChanged Source: "ContextualChunkGenerator.java" FieldsOf: com.volmit.iris.gen.ContextualChunkGenerator - private static com.volmit.iris.util.MortarPlugin[] a => e + private static com.volmit.iris.util.VolmitPlugin[] a => e private com.volmit.iris.util.BlockPosition allowLoot => d private com.volmit.iris.gen.atomics.AtomicMulticache cache => b private com.volmit.iris.IrisDataManager data => a @@ -3134,8 +3134,8 @@ Class: public abstract com.volmit.iris.gen.ContextualChunkGenerator NameNotChang MethodsOf: com.volmit.iris.gen.ContextualChunkGenerator static void () SignatureNotChanged public void () SignatureNotChanged - public static com.volmit.iris.util.MortarPlugin[] a() => b() - public static void a(com.volmit.iris.util.MortarPlugin[]) => b(com.volmit.iris.util.MortarPlugin[]) + public static com.volmit.iris.util.VolmitPlugin[] a() => b() + public static void a(com.volmit.iris.util.VolmitPlugin[]) => b(com.volmit.iris.util.VolmitPlugin[]) private static java.lang.Throwable b(java.lang.Throwable) SignatureNotChanged protected boolean canEqual(java.lang.Object) SignatureNotChanged public boolean canSpawn(org.bukkit.World, int, int) SignatureNotChanged @@ -16012,9 +16012,9 @@ Class: public abstract com.volmit.iris.util.MortarPermission NameNotChanged 91 => 23 92 => 18 -Class: public abstract com.volmit.iris.util.MortarPlugin NameNotChanged +Class: public abstract com.volmit.iris.util.VolmitPlugin NameNotChanged Source: "MortarPlugin.java" - FieldsOf: com.volmit.iris.util.MortarPlugin + FieldsOf: com.volmit.iris.util.VolmitPlugin private static java.lang.String a => c public static boolean bad NameNotChanged private com.volmit.iris.util.KMap cachedClassControllers => a @@ -16023,7 +16023,7 @@ Class: public abstract com.volmit.iris.util.MortarPlugin NameNotChanged private com.volmit.iris.util.KMap commands => d private com.volmit.iris.util.KMap controllers => f private com.volmit.iris.util.KList permissionCache => g - MethodsOf: com.volmit.iris.util.MortarPlugin + MethodsOf: com.volmit.iris.util.VolmitPlugin static void () SignatureNotChanged public void () SignatureNotChanged public static java.lang.String a() => l() @@ -16069,7 +16069,7 @@ Class: public abstract com.volmit.iris.util.MortarPlugin NameNotChanged private void unregisterPermissions() => g() public void v(java.lang.Object) SignatureNotChanged public void w(java.lang.Object) SignatureNotChanged - LineNumbersOf: com.volmit.iris.util.MortarPlugin + LineNumbersOf: com.volmit.iris.util.VolmitPlugin 26 => 176 28 => 130 43 => 191 @@ -20093,7 +20093,7 @@ Class: public final org.zeroturnaround.zip.extra.ZipShort NameNotChanged AutoReflectionClass: com.volmit.iris.util.a -TraceBackClass: com.volmit.iris.util.MortarPlugin Data: 33452 a3452 b3452 z +TraceBackClass: com.volmit.iris.util.VolmitPlugin Data: 33452 a3452 b3452 z ForwardClass: com.volmit.iris.Iris Package: com.volmit.iris Data: 12115 a2114 b2115 c2116 N ForwardClass: com.volmit.iris.activation.IrisActivation2 Package: com.volmit.iris.activation Data: 24327 a4327 b4327 c4328 E ForwardClass: com.volmit.iris.command.PermissionIris Package: com.volmit.iris.command Data: 53961 a3961 b3961 r @@ -20388,7 +20388,7 @@ MemberClass: com.volmit.iris.util.MaxNumber Data: 2983 MemberClass: com.volmit.iris.util.MinNumber Data: 2981 MemberClass: com.volmit.iris.util.MortarCommand Data: 3404 MemberClass: com.volmit.iris.util.MortarPermission Data: 3766 -MemberClass: com.volmit.iris.util.MortarPlugin Data: 3324 +MemberClass: com.volmit.iris.util.VolmitPlugin Data: 3324 MemberClass: com.volmit.iris.util.MortarSender Data: 3310 MemberClass: com.volmit.iris.util.NBTConstants Data: 3257 MemberClass: com.volmit.iris.util.NBTInputStream Data: 3448 diff --git a/lint/proguard.conf2 b/lint/proguard.conf2 index d66fb8cfb..a39935b0d 100644 --- a/lint/proguard.conf2 +++ b/lint/proguard.conf2 @@ -55,6 +55,6 @@ public ; } --assumenosideeffects public class * extends com.volmit.iris.util.MortarPlugin { +-assumenosideeffects public class * extends com.volmit.iris.util.VolmitPlugin { public ; } diff --git a/lint/renaming-log.xml b/lint/renaming-log.xml index b56ae4bec..7cdad3b7b 100644 --- a/lint/renaming-log.xml +++ b/lint/renaming-log.xml @@ -2840,7 +2840,7 @@ - + diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index fe26e8a9d..2b50d9fe1 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -15,7 +15,6 @@ import org.bukkit.event.HandlerList; import org.bukkit.generator.ChunkGenerator; import org.bukkit.plugin.Plugin; -import com.minelazz.epicworldgenerator.structures.StructureObject; import com.volmit.iris.command.CommandIris; import com.volmit.iris.command.PermissionIris; import com.volmit.iris.gen.IrisTerrainProvider; @@ -45,7 +44,7 @@ import com.volmit.iris.util.J; import com.volmit.iris.util.KList; import com.volmit.iris.util.M; import com.volmit.iris.util.MetricsLite; -import com.volmit.iris.util.MortarPlugin; +import com.volmit.iris.util.VolmitPlugin; import com.volmit.iris.util.NastyRunnable; import com.volmit.iris.util.Permission; import com.volmit.iris.util.Queue; @@ -54,7 +53,7 @@ import com.volmit.iris.util.ShurikenQueue; import io.papermc.lib.PaperLib; -public class Iris extends MortarPlugin +public class Iris extends VolmitPlugin { public static KList executors = new KList<>(); public static Iris instance; diff --git a/src/main/java/com/volmit/iris/IrisSettings.java b/src/main/java/com/volmit/iris/IrisSettings.java index 884d7a052..51a915f01 100644 --- a/src/main/java/com/volmit/iris/IrisSettings.java +++ b/src/main/java/com/volmit/iris/IrisSettings.java @@ -38,6 +38,10 @@ public class IrisSettings @Desc("More cpu for pregen gui but looks nice.") public boolean maxPregenGuiFPS = false; + @DontObfuscate + @Desc("Adds sound to commands.") + public boolean commandSounds = true; + @DontObfuscate @Desc("Compress parallax data in memory to reduce memory usage in exchange for more cpu usage.") public boolean parallaxCompression = true; diff --git a/src/main/java/com/volmit/iris/command/CommandIris.java b/src/main/java/com/volmit/iris/command/CommandIris.java index 7cbcbb1fa..ef9f5723d 100644 --- a/src/main/java/com/volmit/iris/command/CommandIris.java +++ b/src/main/java/com/volmit/iris/command/CommandIris.java @@ -4,6 +4,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.gen.v2.TestGen; import com.volmit.iris.util.Command; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -74,6 +75,11 @@ public class CommandIris extends MortarCommand return true; } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override protected String getArgsUsage() { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisCTC.java b/src/main/java/com/volmit/iris/command/CommandIrisCTC.java index e8c3f745e..f1ca405e1 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisCTC.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisCTC.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.World; import org.bukkit.entity.Player; @@ -19,6 +20,14 @@ public class CommandIrisCTC extends MortarCommand setCategory("World"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + if(args.length == 0) + { + list.qadd("4").qadd("8").qadd("12").qadd("16").qadd("18").qadd("24").qadd("32"); + } + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisCapture.java b/src/main/java/com/volmit/iris/command/CommandIrisCapture.java index fed77fa3f..3e33a6f82 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisCapture.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisCapture.java @@ -45,6 +45,11 @@ public class CommandIrisCapture extends MortarCommand setCategory("World"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisCreate.java b/src/main/java/com/volmit/iris/command/CommandIrisCreate.java index e03b9d805..60af38174 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisCreate.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisCreate.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import java.io.File; +import com.volmit.iris.util.*; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.WorldCreator; @@ -14,12 +15,6 @@ import com.volmit.iris.gen.provisions.ProvisionBukkit; import com.volmit.iris.gen.scaffold.IrisGenConfiguration; import com.volmit.iris.gen.scaffold.TerrainTarget; import com.volmit.iris.object.IrisDimension; -import com.volmit.iris.util.Form; -import com.volmit.iris.util.J; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; -import com.volmit.iris.util.O; -import com.volmit.iris.util.PregenJob; public class CommandIrisCreate extends MortarCommand { @@ -31,6 +26,11 @@ public class CommandIrisCreate extends MortarCommand setDescription("Create a new Iris World!"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisDownload.java b/src/main/java/com/volmit/iris/command/CommandIrisDownload.java index 38467f534..eed949007 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisDownload.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisDownload.java @@ -1,10 +1,10 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; -import com.volmit.iris.util.C; -import com.volmit.iris.util.J; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; +import com.volmit.iris.manager.ProjectManager; +import com.volmit.iris.util.*; + +import java.util.Map; public class CommandIrisDownload extends MortarCommand { @@ -16,6 +16,11 @@ public class CommandIrisDownload extends MortarCommand setCategory("Studio"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisLMM.java b/src/main/java/com/volmit/iris/command/CommandIrisLMM.java index 66b1bf7c0..4342e03b8 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisLMM.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisLMM.java @@ -1,6 +1,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -14,6 +15,11 @@ public class CommandIrisLMM extends MortarCommand setCategory("World"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisMetrics.java b/src/main/java/com/volmit/iris/command/CommandIrisMetrics.java index 04eeab8bc..808c017a6 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisMetrics.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisMetrics.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.*; import org.bukkit.World; import org.bukkit.entity.Player; @@ -7,10 +8,6 @@ import com.volmit.iris.Iris; import com.volmit.iris.gen.IrisTerrainProvider; import com.volmit.iris.gen.scaffold.IrisMetrics; import com.volmit.iris.gen.scaffold.IrisWorlds; -import com.volmit.iris.util.C; -import com.volmit.iris.util.Form; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; public class CommandIrisMetrics extends MortarCommand { @@ -22,6 +19,11 @@ public class CommandIrisMetrics extends MortarCommand setCategory("Metrics"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObject.java b/src/main/java/com/volmit/iris/command/CommandIrisObject.java index 18cde4f87..cb1c0bd54 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObject.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObject.java @@ -3,6 +3,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.util.Command; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -46,6 +47,11 @@ public class CommandIrisObject extends MortarCommand setDescription("Object Commands"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectContract.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectContract.java index 0ab418b73..ee544b8b1 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectContract.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectContract.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.*; import org.bukkit.Location; import org.bukkit.Sound; import org.bukkit.entity.Player; @@ -7,10 +8,6 @@ import org.bukkit.entity.Player; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.manager.WandManager; -import com.volmit.iris.util.Cuboid; -import com.volmit.iris.util.Direction; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; public class CommandIrisObjectContract extends MortarCommand { @@ -22,6 +19,11 @@ public class CommandIrisObjectContract extends MortarCommand setDescription("Contract a selection based on your lookign direction"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectExpand.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectExpand.java index 71928f3c4..188c46f1b 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectExpand.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectExpand.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.*; import org.bukkit.Location; import org.bukkit.Sound; import org.bukkit.entity.Player; @@ -7,10 +8,6 @@ import org.bukkit.entity.Player; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.manager.WandManager; -import com.volmit.iris.util.Cuboid; -import com.volmit.iris.util.Direction; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; public class CommandIrisObjectExpand extends MortarCommand { @@ -22,6 +19,11 @@ public class CommandIrisObjectExpand extends MortarCommand setDescription("Expand based on looking direction"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectP1.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectP1.java index 1d76ba883..ff915d4d7 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectP1.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectP1.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import java.util.Set; +import com.volmit.iris.util.KList; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -23,6 +24,11 @@ public class CommandIrisObjectP1 extends MortarCommand setDescription("Set point 1 to pos (or look)"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @SuppressWarnings("deprecation") @Override public boolean handle(MortarSender sender, String[] args) diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectP2.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectP2.java index 5d01a6659..12165fca4 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectP2.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectP2.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import java.util.Set; +import com.volmit.iris.util.KList; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -23,6 +24,11 @@ public class CommandIrisObjectP2 extends MortarCommand setDescription("Set point 1 to pos (or look)"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @SuppressWarnings("deprecation") @Override public boolean handle(MortarSender sender, String[] args) diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectPaste.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectPaste.java index af81b2c43..c1f6e412c 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectPaste.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectPaste.java @@ -3,6 +3,7 @@ package com.volmit.iris.command; import java.io.File; import java.util.Set; +import com.volmit.iris.util.KList; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; @@ -27,6 +28,11 @@ public class CommandIrisObjectPaste extends MortarCommand setDescription("Paste an object"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectSave.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectSave.java index ba081da3a..7195e3841 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectSave.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectSave.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import java.io.File; +import com.volmit.iris.util.KList; import org.bukkit.Sound; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -23,6 +24,11 @@ public class CommandIrisObjectSave extends MortarCommand setDescription("Save an object"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectShift.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectShift.java index 4c8213ef6..6c61a19d6 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectShift.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectShift.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.*; import org.bukkit.Location; import org.bukkit.Sound; import org.bukkit.entity.Player; @@ -7,10 +8,6 @@ import org.bukkit.entity.Player; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.manager.WandManager; -import com.volmit.iris.util.Cuboid; -import com.volmit.iris.util.Direction; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; public class CommandIrisObjectShift extends MortarCommand { @@ -22,6 +19,11 @@ public class CommandIrisObjectShift extends MortarCommand setDescription("Shift selection based on direction"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectWand.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectWand.java index 311d171a1..509f21dd6 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectWand.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectWand.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.Sound; import com.volmit.iris.Iris; @@ -18,6 +19,11 @@ public class CommandIrisObjectWand extends MortarCommand setDescription("Get an Iris Wand for selecting objects"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectXAY.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectXAY.java index 832e9d072..58f584f28 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectXAY.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectXAY.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; @@ -24,6 +25,11 @@ public class CommandIrisObjectXAY extends MortarCommand setDescription("Auto select up, down and out"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisObjectXPY.java b/src/main/java/com/volmit/iris/command/CommandIrisObjectXPY.java index 53b470a64..5e851ee99 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisObjectXPY.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisObjectXPY.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; @@ -24,6 +25,11 @@ public class CommandIrisObjectXPY extends MortarCommand setDescription("Auto select up and out"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisPregen.java b/src/main/java/com/volmit/iris/command/CommandIrisPregen.java index 2bef063dc..047f9f306 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisPregen.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisPregen.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.World; import org.bukkit.entity.Player; @@ -18,6 +19,19 @@ public class CommandIrisPregen extends MortarCommand setCategory("Pregen"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + list.add("stop"); + list.add("pause"); + list.add("resume"); + list.add("500"); + list.add("1000"); + list.add("10k"); + list.add("25k"); + list.add("chunksAcross=20"); + list.add("regionsAcross=8"); + } + @Override public boolean handle(MortarSender sender, String[] args) { @@ -69,7 +83,7 @@ public class CommandIrisPregen extends MortarCommand { Player p = sender.player(); World world = p.getWorld(); - new PregenJob(world, Integer.valueOf(args[0]), sender, () -> + new PregenJob(world, getVal(args[0]), sender, () -> { }); @@ -83,6 +97,28 @@ public class CommandIrisPregen extends MortarCommand return true; } + private int getVal(String arg) { + if(arg.toLowerCase().endsWith("k")) + { + return Integer.valueOf(arg.toLowerCase().replaceAll("\\Qk\\E", "")) * 1000; + } + + if(arg.toLowerCase().contains("chunksAcross=")) + { + return Integer.valueOf(arg.toLowerCase().replaceAll("\\QchunksAcross=\\E", "")) * 16; + } + + if(arg.toLowerCase().endsWith("regionsAcross=")) + { + return Integer.valueOf(arg.toLowerCase().replaceAll("\\QregionsAcross=\\E", "")) * 16; + } + + else + { + return Integer.valueOf(arg.toLowerCase()); + } + } + @Override protected String getArgsUsage() { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisRegen.java b/src/main/java/com/volmit/iris/command/CommandIrisRegen.java index a5438122e..6c2d5f8be 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisRegen.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisRegen.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.World; import org.bukkit.entity.Player; @@ -19,6 +20,13 @@ public class CommandIrisRegen extends MortarCommand setCategory("Regen"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + list.add("3"); + list.add("7"); + list.add("9"); + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisReload.java b/src/main/java/com/volmit/iris/command/CommandIrisReload.java index fdd8c5a9f..438a9f15e 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisReload.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisReload.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -15,6 +16,11 @@ public class CommandIrisReload extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStructure.java b/src/main/java/com/volmit/iris/command/CommandIrisStructure.java index db1f9ffb6..9bc0ef18b 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStructure.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStructure.java @@ -3,6 +3,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.util.Command; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -37,6 +38,11 @@ public class CommandIrisStructure extends MortarCommand setDescription("Structure Commands"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStructureClose.java b/src/main/java/com/volmit/iris/command/CommandIrisStructureClose.java index 37701e90c..c27500016 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStructureClose.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStructureClose.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.entity.Player; import com.volmit.iris.Iris; @@ -18,6 +19,11 @@ public class CommandIrisStructureClose extends MortarCommand setDescription("Close a structure"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStructureCreate.java b/src/main/java/com/volmit/iris/command/CommandIrisStructureCreate.java index 611deca4e..54c7afc1d 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStructureCreate.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStructureCreate.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.entity.Player; import com.volmit.iris.Iris; @@ -18,6 +19,11 @@ public class CommandIrisStructureCreate extends MortarCommand setDescription("Create a structure"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { if (!IrisSettings.get().isStudio()) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStructureExpand.java b/src/main/java/com/volmit/iris/command/CommandIrisStructureExpand.java index 44e6e0451..60dbf8450 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStructureExpand.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStructureExpand.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.entity.Player; import com.volmit.iris.Iris; @@ -18,6 +19,11 @@ public class CommandIrisStructureExpand extends MortarCommand setDescription("Expand out more of the structure"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStructureMove.java b/src/main/java/com/volmit/iris/command/CommandIrisStructureMove.java index 9bef48688..ba151dd67 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStructureMove.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStructureMove.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.entity.Player; import com.volmit.iris.Iris; @@ -18,6 +19,11 @@ public class CommandIrisStructureMove extends MortarCommand setDescription("Load more of the structure"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStructureOpen.java b/src/main/java/com/volmit/iris/command/CommandIrisStructureOpen.java index d5d3b029c..bdf44be20 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStructureOpen.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStructureOpen.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.entity.Player; import com.volmit.iris.Iris; @@ -19,6 +20,11 @@ public class CommandIrisStructureOpen extends MortarCommand setDescription("Open an existing structure"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStructureSave.java b/src/main/java/com/volmit/iris/command/CommandIrisStructureSave.java index a4e928d1d..32d981124 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStructureSave.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStructureSave.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.entity.Player; import com.volmit.iris.Iris; @@ -18,6 +19,11 @@ public class CommandIrisStructureSave extends MortarCommand setDescription("Save a structure"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStructureVariants.java b/src/main/java/com/volmit/iris/command/CommandIrisStructureVariants.java index bd9d8bbe3..25548fb96 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStructureVariants.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStructureVariants.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.entity.Player; import com.volmit.iris.Iris; @@ -17,6 +18,11 @@ public class CommandIrisStructureVariants extends MortarCommand setDescription("Change or add variants in tile looking at"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudio.java b/src/main/java/com/volmit/iris/command/CommandIrisStudio.java index 6ef16e259..7fbcbe546 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudio.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudio.java @@ -3,6 +3,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.util.Command; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -60,6 +61,11 @@ public class CommandIrisStudio extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioClose.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioClose.java index 9230f5c65..87c077a96 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioClose.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioClose.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.entity.Player; @@ -19,6 +20,11 @@ public class CommandIrisStudioClose extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioConvert.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioConvert.java index b4ba98e02..a71db2eb3 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioConvert.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioConvert.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -15,6 +16,11 @@ public class CommandIrisStudioConvert extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioCreate.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioCreate.java index ed0f07537..9fb507c1a 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioCreate.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioCreate.java @@ -3,6 +3,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.util.C; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -16,6 +17,11 @@ public class CommandIrisStudioCreate extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioEditBiome.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioEditBiome.java index c7dbce042..1fd42b28b 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioEditBiome.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioEditBiome.java @@ -3,6 +3,7 @@ package com.volmit.iris.command; import java.awt.Desktop; import java.io.File; +import com.volmit.iris.util.KList; import org.bukkit.entity.Player; import com.volmit.iris.Iris; @@ -20,6 +21,11 @@ public class CommandIrisStudioEditBiome extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioExplorer.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioExplorer.java index fc7a68f87..d9e8a18eb 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioExplorer.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioExplorer.java @@ -4,6 +4,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.gui.NoiseExplorer; import com.volmit.iris.util.Command; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -20,6 +21,11 @@ public class CommandIrisStudioExplorer extends MortarCommand setCategory("World"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioExplorerGenerator.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioExplorerGenerator.java index bbdbfb327..169b99640 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioExplorerGenerator.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioExplorerGenerator.java @@ -4,6 +4,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.gui.NoiseExplorer; import com.volmit.iris.object.IrisGenerator; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -17,6 +18,11 @@ public class CommandIrisStudioExplorerGenerator extends MortarCommand setCategory("World"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioGoto.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioGoto.java index cd34c8344..62e1ace8f 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioGoto.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioGoto.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.entity.Player; @@ -22,6 +23,14 @@ public class CommandIrisStudioGoto extends MortarCommand setCategory("World"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + if(args.length == 0 && sender.isPlayer() && IrisWorlds.isIrisWorld(sender.player().getWorld())) + { + list.add(IrisWorlds.getProvider(sender.player().getWorld()).getData().getBiomeLoader().getPreferredKeys()); + } + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioHotload.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioHotload.java index af979d08e..09ea1f9ef 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioHotload.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioHotload.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.World; import org.bukkit.entity.Player; @@ -20,6 +21,11 @@ public class CommandIrisStudioHotload extends MortarCommand setCategory("World"); } + + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioList.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioList.java index c25193182..c0add32e1 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioList.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioList.java @@ -5,6 +5,7 @@ import java.io.File; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.object.IrisDimension; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -18,6 +19,11 @@ public class CommandIrisStudioList extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioLoot.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioLoot.java index 952c61307..6282dd290 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioLoot.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioLoot.java @@ -27,6 +27,11 @@ public class CommandIrisStudioLoot extends MortarCommand setCategory("Loot"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioMap.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioMap.java index b61ad14a2..69072bdd3 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioMap.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioMap.java @@ -4,6 +4,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.gen.IrisTerrainProvider; import com.volmit.iris.gui.IrisVision; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -17,6 +18,11 @@ public class CommandIrisStudioMap extends MortarCommand setCategory("World"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioOpen.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioOpen.java index 6005c96f2..4b4fbda41 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioOpen.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioOpen.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -15,6 +16,11 @@ public class CommandIrisStudioOpen extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioPackage.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioPackage.java index 95dc6d7ca..923bd26a7 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioPackage.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioPackage.java @@ -3,6 +3,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.util.J; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -16,6 +17,11 @@ public class CommandIrisStudioPackage extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioSummon.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioSummon.java index 6e134f1e8..d30425e97 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioSummon.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioSummon.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.World; import org.bukkit.entity.Player; @@ -21,6 +22,11 @@ public class CommandIrisStudioSummon extends MortarCommand setCategory("Summon"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioTP.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioTP.java index 43725d8f5..a6f05f099 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioTP.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioTP.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -15,6 +16,11 @@ public class CommandIrisStudioTP extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisStudioUpdate.java b/src/main/java/com/volmit/iris/command/CommandIrisStudioUpdate.java index 1c2ac6a39..c5d532601 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisStudioUpdate.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisStudioUpdate.java @@ -3,6 +3,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.manager.IrisProject; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -16,6 +17,11 @@ public class CommandIrisStudioUpdate extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisUpdateProject.java b/src/main/java/com/volmit/iris/command/CommandIrisUpdateProject.java index 1e8f6372f..106cb3609 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisUpdateProject.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisUpdateProject.java @@ -1,10 +1,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; -import com.volmit.iris.util.C; -import com.volmit.iris.util.J; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; +import com.volmit.iris.util.*; public class CommandIrisUpdateProject extends MortarCommand { @@ -16,6 +13,11 @@ public class CommandIrisUpdateProject extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisUpdateWorld.java b/src/main/java/com/volmit/iris/command/CommandIrisUpdateWorld.java index 99574fbe5..8204c3125 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisUpdateWorld.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisUpdateWorld.java @@ -3,10 +3,7 @@ package com.volmit.iris.command; import java.io.File; import com.volmit.iris.Iris; -import com.volmit.iris.util.C; -import com.volmit.iris.util.J; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; +import com.volmit.iris.util.*; public class CommandIrisUpdateWorld extends MortarCommand { @@ -18,6 +15,11 @@ public class CommandIrisUpdateWorld extends MortarCommand setCategory("Studio"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisWhat.java b/src/main/java/com/volmit/iris/command/CommandIrisWhat.java index 6c68de508..b3ac55060 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisWhat.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisWhat.java @@ -2,6 +2,7 @@ package com.volmit.iris.command; import com.volmit.iris.Iris; import com.volmit.iris.util.Command; +import com.volmit.iris.util.KList; import com.volmit.iris.util.MortarCommand; import com.volmit.iris.util.MortarSender; @@ -25,6 +26,11 @@ public class CommandIrisWhat extends MortarCommand setDescription("Figure out what stuff is"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisWhatBiome.java b/src/main/java/com/volmit/iris/command/CommandIrisWhatBiome.java index 63e3c8e4f..c813b0bb6 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisWhatBiome.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisWhatBiome.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.World; import org.bukkit.entity.Player; @@ -21,6 +22,11 @@ public class CommandIrisWhatBiome extends MortarCommand setDescription("What biome am I in"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisWhatBlock.java b/src/main/java/com/volmit/iris/command/CommandIrisWhatBlock.java index efb962dce..9fa301029 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisWhatBlock.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisWhatBlock.java @@ -1,14 +1,11 @@ package com.volmit.iris.command; +import com.volmit.iris.util.*; import org.bukkit.FluidCollisionMode; import org.bukkit.block.data.BlockData; import org.bukkit.entity.Player; import com.volmit.iris.Iris; -import com.volmit.iris.util.B; -import com.volmit.iris.util.C; -import com.volmit.iris.util.MortarCommand; -import com.volmit.iris.util.MortarSender; public class CommandIrisWhatBlock extends MortarCommand { @@ -21,6 +18,11 @@ public class CommandIrisWhatBlock extends MortarCommand setDescription("WAILA, WAWLA etc"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { diff --git a/src/main/java/com/volmit/iris/command/CommandIrisWhatHand.java b/src/main/java/com/volmit/iris/command/CommandIrisWhatHand.java index 1c8c26495..8de9fd902 100644 --- a/src/main/java/com/volmit/iris/command/CommandIrisWhatHand.java +++ b/src/main/java/com/volmit/iris/command/CommandIrisWhatHand.java @@ -1,5 +1,6 @@ package com.volmit.iris.command; +import com.volmit.iris.util.KList; import org.bukkit.Material; import org.bukkit.block.data.BlockData; import org.bukkit.entity.Player; @@ -20,18 +21,36 @@ public class CommandIrisWhatHand extends MortarCommand setDescription("What block am I holding"); } + @Override + public void addTabOptions(MortarSender sender, String[] args, KList list) { + + } + @Override public boolean handle(MortarSender sender, String[] args) { if(sender.isPlayer()) { Player p = sender.player(); - BlockData bd = p.getInventory().getItemInMainHand().getType().createBlockData(); - if(!bd.getMaterial().equals(Material.AIR)) { - sender.sendMessage("Material: " + C.GREEN + bd.getMaterial().name()); - sender.sendMessage("Full: " + C.WHITE + bd.getAsString(true)); - } else { - sender.sendMessage("Please hold a block"); + try + { + BlockData bd = p.getInventory().getItemInMainHand().getType().createBlockData(); + if(!bd.getMaterial().equals(Material.AIR)) { + sender.sendMessage("Material: " + C.GREEN + bd.getMaterial().name()); + sender.sendMessage("Full: " + C.WHITE + bd.getAsString(true)); + } else { + sender.sendMessage("Please hold a block/item"); + } + } + + catch(Throwable e) + { + Material bd = p.getInventory().getItemInMainHand().getType(); + if(!bd.equals(Material.AIR)) { + sender.sendMessage("Material: " + C.GREEN + bd.name()); + } else { + sender.sendMessage("Please hold a block/item"); + } } } diff --git a/src/main/java/com/volmit/iris/util/ICommand.java b/src/main/java/com/volmit/iris/util/ICommand.java index d1bf34b4b..f7a7a6da1 100644 --- a/src/main/java/com/volmit/iris/util/ICommand.java +++ b/src/main/java/com/volmit/iris/util/ICommand.java @@ -50,4 +50,6 @@ public interface ICommand * @return return true to mark it as handled */ public boolean handle(MortarSender sender, String[] args); + + public KList handleTab(MortarSender sender, String[] args); } diff --git a/src/main/java/com/volmit/iris/util/MortarCommand.java b/src/main/java/com/volmit/iris/util/MortarCommand.java index 7315bee7b..af3e9064d 100644 --- a/src/main/java/com/volmit/iris/util/MortarCommand.java +++ b/src/main/java/com/volmit/iris/util/MortarCommand.java @@ -1,5 +1,9 @@ package com.volmit.iris.util; +import com.volmit.iris.Iris; +import com.volmit.iris.IrisSettings; +import org.bukkit.Sound; + import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -37,6 +41,35 @@ public abstract class MortarCommand implements ICommand description = "No Description"; } + @Override + public KList handleTab(MortarSender sender, String[] args) + { + KList v = new KList<>(); + if(args.length == 0) + { + for(MortarCommand i : getChildren()) + { + v.add(i.getNode()); + } + } + + addTabOptions(sender, args, v); + + if(v.isEmpty()) + { + return null; + } + + if(sender.isPlayer() && IrisSettings.get().commandSounds) + { + sender.player().getWorld().playSound(sender.player().getLocation(), Sound.ENTITY_ITEM_FRAME_ROTATE_ITEM, 0.25f, 1.7f); + } + + return v; + } + + public abstract void addTabOptions(MortarSender sender, String[] args, KList list); + public void printHelp(MortarSender sender) { boolean b = false; @@ -60,6 +93,12 @@ public abstract class MortarCommand implements ICommand { sender.sendMessage("There are either no sub-commands or you do not have permission to use them."); } + + if(sender.isPlayer() && IrisSettings.get().commandSounds) + { + sender.player().getWorld().playSound(sender.player().getLocation(), Sound.ITEM_BOOK_PAGE_TURN, 0.28f, 1.4f); + sender.player().getWorld().playSound(sender.player().getLocation(), Sound.ITEM_AXE_STRIP, 0.35f, 1.7f); + } } protected abstract String getArgsUsage(); diff --git a/src/main/java/com/volmit/iris/util/VirtualCommand.java b/src/main/java/com/volmit/iris/util/VirtualCommand.java index 17ecd154f..f8bc92e8e 100644 --- a/src/main/java/com/volmit/iris/util/VirtualCommand.java +++ b/src/main/java/com/volmit/iris/util/VirtualCommand.java @@ -2,7 +2,9 @@ package com.volmit.iris.util; import java.lang.reflect.Field; +import com.volmit.iris.IrisSettings; import org.bukkit.Bukkit; +import org.bukkit.Sound; import org.bukkit.command.CommandSender; import com.volmit.iris.Iris; @@ -78,7 +80,9 @@ public class VirtualCommand vs.setTag(tag); if(label != null) + { vs.setCommand(label); + } if(chain.isEmpty()) { @@ -104,6 +108,11 @@ public class VirtualCommand c.remove(0); if(cmd.hit(sender, c, vs.getCommand())) { + if(vs.isPlayer() && IrisSettings.get().commandSounds) + { + vs.player().getWorld().playSound(vs.player().getLocation(), Sound.ITEM_AXE_STRIP, 0.35f, 1.8f); + } + return true; } } @@ -118,6 +127,53 @@ public class VirtualCommand return command.handle(vs, chain.toArray(new String[chain.size()])); } + public KList hitTab(CommandSender sender, KList chain, String label) + { + MortarSender vs = new MortarSender(sender); + vs.setTag(tag); + + if(label != null) + vs.setCommand(label); + + if(chain.isEmpty()) + { + if(!checkPermissions(sender, command)) + { + return null; + } + + return command.handleTab(vs, new String[0]); + } + + String nl = chain.get(0); + + for(KList i : children.k()) + { + for(String j : i) + { + if(j.equalsIgnoreCase(nl)) + { + vs.setCommand(chain.get(0)); + VirtualCommand cmd = children.get(i); + KList c = chain.copy(); + c.remove(0); + KList v = cmd.hitTab(sender, c, vs.getCommand()); + if(v != null) + { + return v; + } + } + } + } + + if(!checkPermissions(sender, command)) + { + return null; + } + + return command.handleTab(vs, chain.toArray(new String[chain.size()])); + } + private boolean checkPermissions(CommandSender sender, ICommand command2) { boolean failed = false; diff --git a/src/main/java/com/volmit/iris/util/MortarPlugin.java b/src/main/java/com/volmit/iris/util/VolmitPlugin.java similarity index 94% rename from src/main/java/com/volmit/iris/util/MortarPlugin.java rename to src/main/java/com/volmit/iris/util/VolmitPlugin.java index 61b1ce8f4..681dd62f7 100644 --- a/src/main/java/com/volmit/iris/util/MortarPlugin.java +++ b/src/main/java/com/volmit/iris/util/VolmitPlugin.java @@ -6,9 +6,11 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; import java.util.Iterator; +import java.util.List; import java.util.Map; import org.bukkit.Bukkit; +import org.bukkit.Sound; import org.bukkit.command.Command; import org.bukkit.command.CommandMap; import org.bukkit.command.CommandSender; @@ -16,14 +18,17 @@ import org.bukkit.command.PluginCommand; import org.bukkit.command.SimpleCommandMap; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; import org.bukkit.permissions.PermissionDefault; import org.bukkit.plugin.java.JavaPlugin; import com.volmit.iris.Iris; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; -public abstract class MortarPlugin extends JavaPlugin implements Listener +public abstract class VolmitPlugin extends JavaPlugin implements Listener { public static boolean bad = false; private KMap, VirtualCommand> commands; @@ -471,6 +476,42 @@ public abstract class MortarPlugin extends JavaPlugin implements Listener } } + @Nullable + @Override + public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, + @NotNull String alias, @NotNull String[] args) { + KList chain = new KList(); + + for(String i : args) + { + if(i.trim().isEmpty()) + { + continue; + } + + chain.add(i.trim()); + } + + for(KList i : commands.k()) + { + for(String j : i) + { + if(j.equalsIgnoreCase(alias)) + { + VirtualCommand cmd = commands.get(i); + + List v = cmd.hitTab(sender, chain.copy(), alias); + if(v != null) + { + return v; + } + } + } + } + + return super.onTabComplete(sender, command, alias, args); + } + @Override public boolean onCommand(CommandSender sender, org.bukkit.command.Command command, String label, String[] args) {