diff --git a/README.md b/README.md
index 60307668..071315a5 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# ![https://s3.postimg.cc/dikyxlz5v/Sub_Banner.png](https://s3.postimg.cc/dikyxlz5v/Sub_Banner.png)
[![Build Status](https://dev.me1312.net/jenkins/job/SubServers%20Platform/badge/icon)](https://dev.me1312.net/jenkins/job/SubServers%20Platform/)
-[![Release Verison](https://img.shields.io/github/release/ME1312/SubServers-2/all.svg)](https://github.com/ME1312/SubServers-2/releases) [![Snapshot Verison](https://img.shields.io/badge/dynamic/xml.svg?label=snapshot&url=https%3A%2F%2Fdev.me1312.net%2Fmaven%2Fnet%2FME1312%2FSubServers%2FSubServers.Bungee%2Fmaven-metadata.xml&query=%2F%2Fversioning%2Frelease&colorB=blue)](https://dev.me1312.net/jenkins/job/SubServers%20Platform/) [![Discord](https://img.shields.io/discord/526520424880930867.svg)](https://discord.gg/VZ8YJqz)
+[![Release Verison](https://img.shields.io/github/release/ME1312/SubServers-2/all.svg)](https://github.com/ME1312/SubServers-2/releases) [![Snapshot Verison](https://img.shields.io/badge/dynamic/xml.svg?label=snapshot&url=https%3A%2F%2Fdev.me1312.net%2Fmaven%2Fnet%2FME1312%2FSubServers%2FSubServers.Bungee%2Fmaven-metadata.xml&query=%2F%2Fversioning%2Frelease&colorB=blue)](https://dev.me1312.net/jenkins/job/SubServers%20Platform/) [![Discord](https://img.shields.io/discord/526520424880930867.svg)](https://discord.gg/zWupnVn)
SubServers 2 is a rewrite of SubServers, the Server Management Platform.
> [https://www.spigotmc.org/resources/subservers-bungee.11264/](https://www.spigotmc.org/resources/subservers-bungee.11264/)
> [https://www.spigotmc.org/resources/subservers-host.38833/](https://www.spigotmc.org/resources/subservers-host.38833/)
diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubProxy.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubProxy.java
index 5e562112..3b5c1049 100644
--- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubProxy.java
+++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubProxy.java
@@ -237,6 +237,10 @@ public final class SubProxy extends BungeeCord implements Listener {
}
}
+ if (config.get().getMap("Settings").getBoolean("Smart-Fallback", true)) {
+ setReconnectHandler(new SmartFallback());
+ }
+
subprotocol = SubProtocol.get();
subprotocol.registerCipher("DHE", DHE.get(128));
subprotocol.registerCipher("DHE-128", DHE.get(128));
@@ -652,9 +656,6 @@ public final class SubProxy extends BungeeCord implements Listener {
getPluginManager().registerCommand(null, SubCommand.BungeeServer.newInstance(this, "server").get());
getPluginManager().registerCommand(null, new SubCommand.BungeeList(this, "glist"));
}
- if (config.get().getMap("Settings").getBoolean("Smart-Fallback", true)) {
- setReconnectHandler(new SmartFallback());
- }
getPluginManager().registerCommand(null, SubCommand.newInstance(this, "subservers").get());
getPluginManager().registerCommand(null, SubCommand.newInstance(this, "subserver").get());
getPluginManager().registerCommand(null, SubCommand.newInstance(this, "sub").get());
diff --git a/SubServers.Client/Bukkit/pom.xml b/SubServers.Client/Bukkit/pom.xml
index 02d35d62..d2e8913b 100644
--- a/SubServers.Client/Bukkit/pom.xml
+++ b/SubServers.Client/Bukkit/pom.xml
@@ -26,10 +26,6 @@
puharesource-repo
https://repo.puha.io/repo/
-
- vault-repo
- http://nexus.hc.to/content/repositories/pub_releases
-
@@ -62,13 +58,7 @@
io.puharesource.mc
TitleManager
- 1.5.11
- provided
-
-
- net.milkbowl.vault
- VaultAPI
- 1.6
+ 1.5.11
provided
diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/DefaultUIRenderer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/DefaultUIRenderer.java
index f66fb1cf..d56a56b4 100644
--- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/DefaultUIRenderer.java
+++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/DefaultUIRenderer.java
@@ -101,7 +101,7 @@ public class DefaultUIRenderer extends UIRenderer {
int min = ((page - 1) * 36);
int max = (min + 35);
int count = (index.size() == 0)?27:((index.size() - min >= max)?36:index.size() - min);
- int area = (count % 9 == 0) ? count : (int) (Math.floor(count / 9) + 1) * 9;
+ int area = (count % 9 == 0) ? count : ((count / 9) + 1) * 9;
Inventory inv = Bukkit.createInventory(null, 18 + area, plugin.api.getLang("SubServers", "Interface.Host-Menu.Title"));
block = createItem("STAINED_GLASS_PANE", "GRAY_STAINED_GLASS_PANE", (short) 7);
@@ -111,7 +111,7 @@ public class DefaultUIRenderer extends UIRenderer {
i++;
}
ItemStack adiv = block;
- i = (int) ((count < 9) ? Math.floor((9 - count) / 2) : 0);
+ i = ((count < 9) ? ((9 - count) / 2) : 0);
boolean even = (count & 1) == 0 && count < 9;
NamedContainer enabled, disabled;
@@ -149,7 +149,7 @@ public class DefaultUIRenderer extends UIRenderer {
count--;
if (count < 9 && (i == 8 || i == 17 || i == 26)) {
- i += (int) Math.floor((9 - count) / 2) + 1;
+ i += ((9 - count) / 2) + 1;
even = (count & 1) == 0;
} else {
i++;
@@ -478,7 +478,7 @@ public class DefaultUIRenderer extends UIRenderer {
int min = ((page - 1) * 36);
int max = (min + 35);
int count = (index.size() == 0)?27:((index.size() - min >= max)?36:index.size() - min);
- int area = (count % 9 == 0)?count: (int) (Math.floor(count / 9) + 1) * 9;
+ int area = (count % 9 == 0)?count: ((count / 9) + 1) * 9;
Inventory inv = Bukkit.createInventory(null, 18 + area, plugin.api.getLang("SubServers", "Interface.Host-Creator.Edit-Template.Title").replace("$str$", host.getDisplayName()));
block = createItem("STAINED_GLASS_PANE", "GRAY_STAINED_GLASS_PANE", (short) 7);
@@ -488,7 +488,7 @@ public class DefaultUIRenderer extends UIRenderer {
i++;
}
ItemStack adiv = block;
- i = (int) ((count < 9) ? Math.floor((9 - count) / 2) : 0);
+ i = ((count < 9) ? ((9 - count) / 2) : 0);
boolean even = (count & 1) == 0 && count < 9;
for (SubCreator.ServerTemplate template : index) {
@@ -507,7 +507,7 @@ public class DefaultUIRenderer extends UIRenderer {
count--;
if (count < 9 && (i == 8 || i == 17 || i == 26)) {
- i += (int) Math.floor((9 - count) / 2) + 1;
+ i += ((9 - count) / 2) + 1;
even = (count & 1) == 0;
} else {
i++;
@@ -591,7 +591,7 @@ public class DefaultUIRenderer extends UIRenderer {
int min = ((page - 1) * 36);
int max = (min + 35);
int count = (renderers.size() == 0)?27:((renderers.size() - min >= max)?36:renderers.size() - min);
- int area = (count % 9 == 0) ? count : (int) (Math.floor(count / 9) + 1) * 9;
+ int area = (count % 9 == 0) ? count : ((count / 9) + 1) * 9;
Inventory inv = Bukkit.createInventory(null, 18 + area, plugin.api.getLang("SubServers", "Interface.Host-Plugin.Title").replace("$str$", host.getDisplayName()));
block = createItem("STAINED_GLASS_PANE", "GRAY_STAINED_GLASS_PANE", (short) 7);
@@ -601,7 +601,7 @@ public class DefaultUIRenderer extends UIRenderer {
i++;
}
ItemStack adiv = block;
- i = (int) ((count < 9) ? Math.floor((9 - count) / 2) : 0);
+ i = ((count < 9) ? ((9 - count) / 2) : 0);
boolean even = (count & 1) == 0 && count < 9;
@@ -613,7 +613,7 @@ public class DefaultUIRenderer extends UIRenderer {
count--;
if (count < 9 && (i == 8 || i == 17 || i == 26)) {
- i += (int) Math.floor((9 - count) / 2) + 1;
+ i += ((9 - count) / 2) + 1;
even = (count & 1) == 0;
} else {
i++;
@@ -694,7 +694,7 @@ public class DefaultUIRenderer extends UIRenderer {
int min = ((page - 1) * 36);
int max = (min + 35);
int count = (index.size() == 0)?27:((index.size() - min >= max)?36:index.size() - min);
- int area = (count % 9 == 0) ? count : (int) (Math.floor(count / 9) + 1) * 9;
+ int area = (count % 9 == 0) ? count : ((count / 9) + 1) * 9;
Inventory inv = Bukkit.createInventory(null, 18 + area, plugin.api.getLang("SubServers", "Interface.Group-Menu.Title"));
block = createItem("STAINED_GLASS_PANE", "GRAY_STAINED_GLASS_PANE", (short) 7);
@@ -704,7 +704,7 @@ public class DefaultUIRenderer extends UIRenderer {
i++;
}
ItemStack adiv = block;
- i = (int) ((count < 9) ? Math.floor((9 - count) / 2) : 0);
+ i = ((count < 9) ? ((9 - count) / 2) : 0);
boolean even = (count & 1) == 0 && count < 9;
NamedContainer color;
@@ -725,7 +725,7 @@ public class DefaultUIRenderer extends UIRenderer {
count--;
if (count < 9 && (i == 8 || i == 17 || i == 26)) {
- i += (int) Math.floor((9 - count) / 2) + 1;
+ i += ((9 - count) / 2) + 1;
even = (count & 1) == 0;
} else {
i++;
@@ -805,7 +805,7 @@ public class DefaultUIRenderer extends UIRenderer {
int min = ((page - 1) * 36);
int max = (min + 35);
int count = (servers.size() == 0)?27:((servers.size() - min >= max)?36:servers.size() - min);
- int area = (count % 9 == 0) ? count : (int) (Math.floor(count / 9) + 1) * 9;
+ int area = (count % 9 == 0) ? count : ((count / 9) + 1) * 9;
Inventory inv = Bukkit.createInventory(null, 18 + area, (host == null)?((group == null)?plugin.api.getLang("SubServers", "Interface.Server-Menu.Title"):plugin.api.getLang("SubServers", "Interface.Group-SubServer.Title").replace("$str$", group)):plugin.api.getLang("SubServers", "Interface.Host-SubServer.Title").replace("$str$", hostname.get()));
block = createItem("STAINED_GLASS_PANE", "GRAY_STAINED_GLASS_PANE", (short) 7);
@@ -815,7 +815,7 @@ public class DefaultUIRenderer extends UIRenderer {
i++;
}
ItemStack adiv = block;
- i = (int) ((count < 9) ? Math.floor((9 - count) / 2) : 0);
+ i = ((count < 9) ? ((9 - count) / 2) : 0);
boolean even = (count & 1) == 0 && count < 9;
NamedContainer external, online, temp, offline, disabled;
@@ -889,7 +889,7 @@ public class DefaultUIRenderer extends UIRenderer {
count--;
if (count < 9 && (i == 8 || i == 17 || i == 26)) {
- i += (int) Math.floor((9 - count) / 2) + 1;
+ i += ((9 - count) / 2) + 1;
even = (count & 1) == 0;
} else {
i++;
@@ -1209,7 +1209,7 @@ public class DefaultUIRenderer extends UIRenderer {
int min = ((page - 1) * 36);
int max = (min + 35);
int count = (renderers.size() == 0)?27:((renderers.size() - min >= max)?36:renderers.size() - min);
- int area = (count % 9 == 0) ? count : (int) (Math.floor(count / 9) + 1) * 9;
+ int area = (count % 9 == 0) ? count : ((count / 9) + 1) * 9;
Inventory inv = Bukkit.createInventory(null, 18 + area, plugin.api.getLang("SubServers", "Interface.SubServer-Plugin.Title").replace("$str$", subserver.getDisplayName()));
block = createItem("STAINED_GLASS_PANE", "GRAY_STAINED_GLASS_PANE", (short) 7);
@@ -1219,7 +1219,7 @@ public class DefaultUIRenderer extends UIRenderer {
i++;
}
ItemStack adiv = block;
- i = (int) ((count < 9) ? Math.floor((9 - count) / 2) : 0);
+ i = ((count < 9) ? ((9 - count) / 2) : 0);
boolean even = (count & 1) == 0 && count < 9;
@@ -1231,7 +1231,7 @@ public class DefaultUIRenderer extends UIRenderer {
count--;
if (count < 9 && (i == 8 || i == 17 || i == 26)) {
- i += (int) Math.floor((9 - count) / 2) + 1;
+ i += ((9 - count) / 2) + 1;
even = (count & 1) == 0;
} else {
i++;
diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIRenderer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIRenderer.java
index f9ef6658..8c5d706d 100644
--- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIRenderer.java
+++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIRenderer.java
@@ -10,6 +10,7 @@ import net.ME1312.SubServers.Client.Bukkit.SubPlugin;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
+import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.util.*;
@@ -108,19 +109,25 @@ public abstract class UIRenderer {
line2 = ChatColor.RESET.toString();
}
try {
+ Player player = Bukkit.getPlayer(this.player);
if (plugin.api.getGameVersion().compareTo(new Version("1.11")) >= 0) {
if (ChatColor.stripColor(line1).length() == 0 && ChatColor.stripColor(line2).length() == 0) {
- Bukkit.getPlayer(player).resetTitle();
+ player.resetTitle();
} else {
- Bukkit.getPlayer(player).sendTitle(line1, line2, (fadein >= 0)?fadein:10, (stay >= 0)?stay:70, (fadeout >= 0)?fadeout:20);
+ player.sendTitle(line1, line2, (fadein >= 0)?fadein:10, (stay >= 0)?stay:70, (fadeout >= 0)?fadeout:20);
}
return true;
} else if (Bukkit.getPluginManager().getPlugin("TitleManager") != null) {
- io.puharesource.mc.titlemanager.api.TitleObject obj = io.puharesource.mc.titlemanager.api.TitleObject.class.getConstructor(String.class, String.class).newInstance(line1, line2);
- if (fadein >= 0) obj.setFadeIn(fadein);
- if (stay >= 0) obj.setStay(stay);
- if (fadeout >= 0) obj.setFadeOut(fadeout);
- obj.send(Bukkit.getPlayer(player));
+ if (Util.isException(() -> Util.reflect(Class.forName("io.puharesource.mc.titlemanager.api.v2.TitleManagerAPI").getMethod("sendTitles", Player.class, String.class, String.class, int.class, int.class, int.class),
+ Bukkit.getPluginManager().getPlugin("TitleManager"), player, line1, line2, (fadein >= 0)?fadein:10, (stay >= 0)?stay:70, (fadeout >= 0)?fadeout:20))) { // Attempt TitleAPI v2
+
+ // Fallback to TitleAPI v1
+ io.puharesource.mc.titlemanager.api.TitleObject obj = io.puharesource.mc.titlemanager.api.TitleObject.class.getConstructor(String.class, String.class).newInstance(line1, line2);
+ if (fadein >= 0) obj.setFadeIn(fadein);
+ if (stay >= 0) obj.setStay(stay);
+ if (fadeout >= 0) obj.setFadeOut(fadeout);
+ obj.send(player);
+ }
return true;
} else return false;
} catch (Throwable e) {
@@ -249,16 +256,6 @@ public abstract class UIRenderer {
}
} catch (Exception e) {}
- // vault name
- if (!Util.isException(() -> Class.forName("net.milkbowl.vault.item.Items"))) {
- net.milkbowl.vault.item.ItemInfo info = net.milkbowl.vault.item.Items.itemByString(item.get());
- if (info != null) {
- ItemStack stack = info.toStack();
- stack.setAmount(1);
- return stack;
- }
- }
-
return def;
}
diff --git a/SubServers.Client/Bukkit/src/plugin.yml b/SubServers.Client/Bukkit/src/plugin.yml
index d18ef75f..053c4111 100644
--- a/SubServers.Client/Bukkit/src/plugin.yml
+++ b/SubServers.Client/Bukkit/src/plugin.yml
@@ -2,7 +2,7 @@ name: SubServers-Client-Bukkit
main: net.ME1312.SubServers.Client.Bukkit.SubPlugin
version: "2.16a"
authors: ["ME1312"]
-softdepend: [Vault, TitleManager]
+softdepend: [TitleManager]
website: "https://github.com/ME1312/SubServers-2"
#commands:
# subservers:
diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/ExProxy.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/ExProxy.java
index 72834b46..7c11c8a5 100644
--- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/ExProxy.java
+++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/ExProxy.java
@@ -92,6 +92,10 @@ public final class ExProxy extends BungeeCord implements Listener {
ConfigUpdater.updateConfig(new UniversalFile(dir, "sync.yml"));
config = new YAMLConfig(new UniversalFile(dir, "sync.yml"));
+ if (config.get().getMap("Settings").getBoolean("Smart-Fallback", true)) {
+ setReconnectHandler(new SmartFallback());
+ }
+
subprotocol = SubProtocol.get();
subprotocol.registerCipher("DHE", DHE.get(128));
subprotocol.registerCipher("DHE-128", DHE.get(128));