mirror of
https://github.com/ME1312/SubServers-2.git
synced 2025-01-11 02:17:43 +01:00
Re-Add fallback functionality
This commit is contained in:
parent
261a08d014
commit
e5ba821754
@ -1,5 +1,6 @@
|
||||
Version: '2.13b+'
|
||||
Version: '2.13.1a+'
|
||||
Lang:
|
||||
'Bungee.Feature.Return': '&6Returning to $str$: &r$msg$'
|
||||
'Bungee.Server.Current': '&6You are currently connected to $str$'
|
||||
'Bungee.Server.Available': '&6You may connect to the following servers at this time:'
|
||||
'Bungee.Server.List': '&6$str$'
|
||||
|
@ -20,6 +20,7 @@ import net.md_5.bungee.BungeeCord;
|
||||
import net.md_5.bungee.BungeeServerInfo;
|
||||
import net.md_5.bungee.api.config.ServerInfo;
|
||||
import net.md_5.bungee.api.event.ServerConnectEvent;
|
||||
import net.md_5.bungee.api.event.ServerKickEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import org.w3c.dom.Document;
|
||||
@ -101,7 +102,7 @@ public final class SubPlugin extends BungeeCord implements Listener {
|
||||
if (!(new UniversalFile(dir, "lang.yml").exists())) {
|
||||
Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/lang.yml", new UniversalFile(dir, "lang.yml").getPath());
|
||||
System.out.println("SubServers > Created ~/SubServers/lang.yml");
|
||||
} else if ((new Version((new YAMLConfig(new UniversalFile(dir, "lang.yml"))).get().getString("Version", "0")).compareTo(new Version("2.13b+"))) != 0) {
|
||||
} else if ((new Version((new YAMLConfig(new UniversalFile(dir, "lang.yml"))).get().getString("Version", "0")).compareTo(new Version("2.13.1a+"))) != 0) {
|
||||
Files.move(new UniversalFile(dir, "lang.yml").toPath(), new UniversalFile(dir, "lang.old" + Math.round(Math.random() * 100000) + ".yml").toPath());
|
||||
Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/lang.yml", new UniversalFile(dir, "lang.yml").getPath());
|
||||
System.out.println("SubServers > Updated ~/SubServers/lang.yml");
|
||||
@ -707,6 +708,27 @@ public final class SubPlugin extends BungeeCord implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@EventHandler(priority = Byte.MAX_VALUE)
|
||||
public void fallback(ServerKickEvent e) {
|
||||
if (e.getPlayer().getPendingConnection().getListener().isForceDefault()) {
|
||||
int i = 0;
|
||||
ServerInfo from = e.getKickedFrom();
|
||||
ServerInfo to = null;
|
||||
while (to == null || from == to) {
|
||||
if (e.getPlayer().getPendingConnection().getListener().getServerPriority().size() > i) {
|
||||
to = getServerInfo(e.getPlayer().getPendingConnection().getListener().getServerPriority().get(i));
|
||||
} else break;
|
||||
i++;
|
||||
}
|
||||
if (to != null && from != to) {
|
||||
e.setCancelServer(to);
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().sendMessage(api.getLang("SubServers", "Bungee.Feature.Return").replace("$str$", (to instanceof Server)?((Server) to).getDisplayName():to.getName()).replace("$msg$", e.getKickReason()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = Byte.MIN_VALUE)
|
||||
public void resetSudo(SubStoppedEvent e) {
|
||||
if (sudo == e.getServer()) {
|
||||
|
@ -9,10 +9,6 @@
|
||||
<version>-PLACEHOLDER</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<galaxi.version>18w37b</galaxi.version>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>me1312-repo</id>
|
||||
@ -21,18 +17,11 @@
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>net.ME1312.Galaxi</groupId>
|
||||
<artifactId>GalaxiAPI</artifactId>
|
||||
<version>${galaxi.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.ME1312.Galaxi</groupId>
|
||||
<artifactId>GalaxiEngine</artifactId>
|
||||
<version>${galaxi.version}</version>
|
||||
<version>18w40a</version>
|
||||
<scope>compile</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.msgpack</groupId>
|
||||
@ -125,10 +114,6 @@
|
||||
<outputDirectory>${basedir}/../Javadoc/SubServers.Host</outputDirectory>
|
||||
<reportOutputDirectory>${basedir}/../Javadoc/SubServers.Host</reportOutputDirectory>
|
||||
<additionalOptions>-Xdoclint:none</additionalOptions>
|
||||
<includeDependencySources>true</includeDependencySources>
|
||||
<dependencySourceIncludes>
|
||||
<dependencySourceInclude>net.ME1312.Galaxi:GalaxiAPI:*</dependencySourceInclude>
|
||||
</dependencySourceIncludes>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
|
@ -18,6 +18,7 @@ import net.ME1312.SubServers.Sync.Server.SubServer;
|
||||
import net.md_5.bungee.BungeeCord;
|
||||
import net.md_5.bungee.api.config.ServerInfo;
|
||||
import net.md_5.bungee.api.event.ServerConnectEvent;
|
||||
import net.md_5.bungee.api.event.ServerKickEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import org.w3c.dom.Document;
|
||||
@ -243,6 +244,27 @@ public final class SubPlugin extends BungeeCord implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@EventHandler(priority = Byte.MAX_VALUE)
|
||||
public void fallback(ServerKickEvent e) {
|
||||
if (e.getPlayer().getPendingConnection().getListener().isForceDefault()) {
|
||||
int i = 0;
|
||||
ServerInfo from = e.getKickedFrom();
|
||||
ServerInfo to = null;
|
||||
while (to == null || from == to) {
|
||||
if (e.getPlayer().getPendingConnection().getListener().getServerPriority().size() > i) {
|
||||
to = getServerInfo(e.getPlayer().getPendingConnection().getListener().getServerPriority().get(i));
|
||||
} else break;
|
||||
i++;
|
||||
}
|
||||
if (to != null && from != to) {
|
||||
e.setCancelServer(to);
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().sendMessage(api.getLang("SubServers", "Bungee.Feature.Return").replace("$str$", (to instanceof Server)?((Server) to).getDisplayName():to.getName()).replace("$msg$", e.getKickReason()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = Byte.MIN_VALUE)
|
||||
public void add(SubAddServerEvent e) {
|
||||
api.getServer(e.getServer(), server -> {
|
||||
|
Loading…
Reference in New Issue
Block a user