Skip to content

Commit 0819f39

Browse files
author
TheProgramSrc
committed
Changelog:
* Code Improvement
1 parent fa76baa commit 0819f39

File tree

3 files changed

+34
-17
lines changed

3 files changed

+34
-17
lines changed

SuperCoreAPI.iml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@
5050
<orderEntry type="library" scope="PROVIDED" name="Maven: org.xerial:sqlite-jdbc:3.25.2" level="project" />
5151
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.logging.log4j:log4j-core:2.13.2" level="project" />
5252
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.logging.log4j:log4j-api:2.13.2" level="project" />
53-
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.0-M1" level="project" />
54-
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.0-M1" level="project" />
53+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.0-RC1" level="project" />
54+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.0-RC1" level="project" />
5555
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
5656
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
57-
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.0-M1" level="project" />
58-
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.0-M1" level="project" />
59-
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.0-M1" level="project" />
60-
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.0-M1" level="project" />
57+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.0-RC1" level="project" />
58+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.0-RC1" level="project" />
59+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.0-RC1" level="project" />
60+
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.0-RC1" level="project" />
6161
</component>
6262
</module>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>xyz.theprogramsrc</groupId>
88
<artifactId>SuperCoreAPI</artifactId>
9-
<version>4.1.3</version>
9+
<version>4.1.4</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SuperCoreAPI</name>

src/main/java/xyz/theprogramsrc/supercoreapi/global/utils/ServerUtils.java

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,33 @@ public ServerUtils(SuperPlugin<?> plugin){
1414
}
1515

1616
/**
17-
* Send a Player to another Server (Bukkit)
18-
* @param player Player to send
19-
* @param server Name of the Server to send
17+
* Send a player to another server
18+
* @param player the player
19+
* @param server the server
2020
*/
21-
public void sendToServer(org.bukkit.entity.Player player, String server){
21+
public void sendToServer(Object player, String server){
22+
boolean canBungee = false;
23+
try{
24+
Class.forName("net.md_5.bungee.api.connection.ProxiedPlayer");
25+
canBungee = true;
26+
}catch (ClassNotFoundException ignored){ }
27+
28+
if(canBungee){
29+
if(player instanceof net.md_5.bungee.api.connection.ProxiedPlayer){
30+
this.sendToServerBungee(((net.md_5.bungee.api.connection.ProxiedPlayer)player), server);
31+
}else{
32+
this.sendToServerBukkit(((org.bukkit.entity.Player)player), server);
33+
}
34+
}else{
35+
if(player instanceof org.bukkit.entity.Player){
36+
this.sendToServerBukkit(((org.bukkit.entity.Player)player), server);
37+
}else{
38+
throw new IllegalArgumentException("The argument 'player' must be org.bukkit.entity.Player or net.md_5.bungee.api.connection.ProxiedPlayer");
39+
}
40+
}
41+
}
42+
43+
private void sendToServerBukkit(org.bukkit.entity.Player player, String server){
2244
if(!((org.bukkit.plugin.java.JavaPlugin)this.plugin.getPlugin()).getServer().getMessenger().isOutgoingChannelRegistered(((org.bukkit.plugin.java.JavaPlugin)this.plugin.getPlugin()), "BungeeCord")){
2345
((org.bukkit.plugin.java.JavaPlugin)this.plugin.getPlugin()).getServer().getMessenger().registerOutgoingPluginChannel(((org.bukkit.plugin.java.JavaPlugin)this.plugin.getPlugin()), "BungeeCord");
2446
}
@@ -35,12 +57,7 @@ public void sendToServer(org.bukkit.entity.Player player, String server){
3557
player.sendPluginMessage(((org.bukkit.plugin.java.JavaPlugin)this.plugin.getPlugin()), "BungeeCord", byteArrayOutputStream.toByteArray());
3658
}
3759

38-
/**
39-
* Send a Player to another Server (Bungee)
40-
* @param player Player to send
41-
* @param server Name of the Server to send
42-
*/
43-
public void sendToServer(net.md_5.bungee.api.connection.ProxiedPlayer player, String server){
60+
private void sendToServerBungee(net.md_5.bungee.api.connection.ProxiedPlayer player, String server){
4461
((net.md_5.bungee.api.plugin.Plugin)this.plugin).getProxy().registerChannel("BungeeCord");
4562
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
4663
DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream);

0 commit comments

Comments
 (0)