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)
{