diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index 585ba08..0000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-image: maven:3-jdk-8
-build:
- script: "mvn install -B"
\ No newline at end of file
diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml
new file mode 100644
index 0000000..5555dd2
--- /dev/null
+++ b/.idea/codeStyleSettings.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2ca0d1f..8b5c9a3 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -12,7 +12,7 @@
-
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 97ceb86..b14edde 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
Delta-Wings
BetterTP
- 0.0.1
+ 1.1.0-DEV
jar
BetterTP
@@ -18,6 +18,7 @@
https://delta-wings.net
+ BetterTP
clean package
diff --git a/src/main/java/net/DeltaWings/Minecraft/BetterTP/Commands/Bettertp.java b/src/main/java/net/DeltaWings/Minecraft/BetterTP/Commands/Bettertp.java
index 2aae2b1..03925e5 100644
--- a/src/main/java/net/DeltaWings/Minecraft/BetterTP/Commands/Bettertp.java
+++ b/src/main/java/net/DeltaWings/Minecraft/BetterTP/Commands/Bettertp.java
@@ -93,6 +93,8 @@ public class Bettertp implements CommandExecutor {
} else if(s instanceof Player){
s.sendMessage(m.getString("global.permission").replace("&", "ยง"));
return true;
+ } else {
+ s.sendMessage(m.getString("global.not-console"));
}
return false;
}
diff --git a/src/main/java/net/DeltaWings/Minecraft/BetterTP/Main.java b/src/main/java/net/DeltaWings/Minecraft/BetterTP/Main.java
index b78fb71..fd6a1fc 100644
--- a/src/main/java/net/DeltaWings/Minecraft/BetterTP/Main.java
+++ b/src/main/java/net/DeltaWings/Minecraft/BetterTP/Main.java
@@ -3,7 +3,9 @@ package net.DeltaWings.Minecraft.BetterTP;
import net.DeltaWings.Minecraft.BetterTP.Commands.*;
import net.DeltaWings.Minecraft.BetterTP.Custom.Config;
+import net.DeltaWings.Minecraft.BetterTP.TabCompleter.*;
import org.bukkit.Bukkit;
+import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.IOException;
@@ -11,7 +13,7 @@ import java.util.logging.Level;
public final class Main extends JavaPlugin {
- public void log(String Message) {
+ public static void log(String Message) {
Bukkit.getLogger().log(Level.INFO, Message);
}
@@ -20,13 +22,19 @@ public final class Main extends JavaPlugin {
return instance;
}
+ public static void debug(String message) {
+ if(new Config("", "config").getBoolean("debug", false)) Main.getInstance().getLogger().info("[Debug] " + message);
+ }
+
@Override
public void onEnable() {
instance = this;
getCommand("Spawn").setExecutor(new Spawn());
getCommand("Lobby").setExecutor(new Lobby());
getCommand("Home").setExecutor(new Home());
- getCommand("Bettertp").setExecutor(new Bettertp());
+ PluginCommand bettertp = getCommand("Bettertp");
+ bettertp.setExecutor(new Bettertp());
+ bettertp.setTabCompleter(new BettertpTab());
getCommand("Sethome").setExecutor(new Sethome());
getCommand("Delhome").setExecutor(new Delhome());
getCommand("Homelist").setExecutor(new Homelist());
@@ -77,9 +85,11 @@ public final class Main extends JavaPlugin {
if(!c.exist()) {
c.create();
c.header("How to config : https://bitbucket.org/delta-wings/bettertp/wiki/");
+ c.set("debug", false);
c.set("maxhomes.default", 1);
c.set("spawn.work", "world");
c.set("spawn.server.lobby", false);
+ //new String[]{"debug","maxhomes.default","spawn.work","spawn.server.lobby"};
c.save();
}
}
diff --git a/src/main/java/net/DeltaWings/Minecraft/BetterTP/Metrics.java b/src/main/java/net/DeltaWings/Minecraft/BetterTP/Metrics.java
index 7aa3da5..44afacb 100644
--- a/src/main/java/net/DeltaWings/Minecraft/BetterTP/Metrics.java
+++ b/src/main/java/net/DeltaWings/Minecraft/BetterTP/Metrics.java
@@ -126,12 +126,7 @@ public class Metrics {
}
// Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler
// Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;)
- Bukkit.getScheduler().runTask(plugin, new Runnable() {
- @Override
- public void run() {
- submitData();
- }
- });
+ Bukkit.getScheduler().runTask(plugin, () -> submitData());
}
}, 1000*60*5, 1000*60*30);
// Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start
@@ -218,17 +213,14 @@ public class Metrics {
data.put("plugins", pluginData);
// Create a new thread for the connection to the bStats server
- new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- // Send the data
- sendData(data);
- } catch (Exception e) {
- // Something went wrong! :(
- if (logFailedRequests) {
- plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e);
- }
+ new Thread(() -> {
+ try {
+ // Send the data
+ sendData(data);
+ } catch (Exception e) {
+ // Something went wrong! :(
+ if (logFailedRequests) {
+ plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e);
}
}
}).start();
diff --git a/src/main/java/net/DeltaWings/Minecraft/BetterTP/TabCompleter/BettertpTab.java b/src/main/java/net/DeltaWings/Minecraft/BetterTP/TabCompleter/BettertpTab.java
new file mode 100644
index 0000000..84cf052
--- /dev/null
+++ b/src/main/java/net/DeltaWings/Minecraft/BetterTP/TabCompleter/BettertpTab.java
@@ -0,0 +1,42 @@
+package net.DeltaWings.Minecraft.BetterTP.TabCompleter;
+
+import net.DeltaWings.Minecraft.BetterTP.Main;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
+import org.bukkit.command.TabCompleter;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class BettertpTab implements TabCompleter {
+
+ private final String[] menu = new String[]{"set", "del", "delete", "help", "config"}, setdel = new String[]{"spawn","lobby"}, confopt = new String[]{""};
+
+ @Override
+ public List onTabComplete(CommandSender s, Command c, String unused, String[] a) {
+ Main.debug("Tab Completing c : "+ c.getName() +" + \nNa : " + a.length);
+ for (String b: a) Main.debug(b);
+ if(a.length > 0 && a[0].equals("")) {
+ return Arrays.asList(menu);
+ }
+ if(a.length == 1) {
+ if(!a[0].equals("")) {
+ List l = new ArrayList<>();
+ for (String t: menu) if(t.startsWith(a[0].toLowerCase())) l.add(t);
+ return l;
+ }
+ } else if(a.length == 2) {
+ String[] y;
+ if (a[0].equalsIgnoreCase("set") || a[0].equalsIgnoreCase("del") || a[0].equalsIgnoreCase("delete")) y = setdel;
+ else if (a[0].equalsIgnoreCase("config")) y = confopt;
+ else return null;
+ if (!a[1].equals("")) {
+ List l = new ArrayList<>();
+ for (String t : y) if (t.startsWith(a[1].toLowerCase())) l.add(t);
+ return l;
+ } else return Arrays.asList(y);
+ }
+ return null;
+ }
+}