diff --git a/pom.xml b/pom.xml
index 4ce1453..bdec56c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,12 +70,6 @@
provided
- com.comphenix.protocol
- ProtocolLib
- 4.7.0
- provided
-
-
com.github.yannicklamprecht.worldborderapi
api
1.170.0
diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java
index 9a9a20d..404f950 100644
--- a/src/main/java/de/fanta/challenges/Challenges.java
+++ b/src/main/java/de/fanta/challenges/Challenges.java
@@ -1,7 +1,5 @@
package de.fanta.challenges;
-import com.comphenix.protocol.ProtocolLibrary;
-import com.comphenix.protocol.ProtocolManager;
import de.cubeside.nmsutils.NMSUtils;
import de.fanta.challenges.challenges.MLGChallenge;
import de.fanta.challenges.challenges.RandomDropsChallenge;
@@ -48,8 +46,6 @@
private static Challenges plugin;
- private ProtocolManager protocolManager;
-
private File backpackConfigFile;
private FileConfiguration BackpackConfig;
@@ -93,7 +89,6 @@
public void onEnable() {
LOGGER = getLogger();
plugin = this;
- protocolManager = ProtocolLibrary.getProtocolManager();
nmsUtils = getServer().getServicesManager().load(NMSUtils.class);
this.timer = new Timer(this);
@@ -381,8 +376,4 @@
public NMSUtils getNMSUtils() {
return nmsUtils;
}
-
- public ProtocolManager getProtocolManager() {
- return protocolManager;
- }
}
diff --git a/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java b/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java
index bf78194..075b4ab 100644
--- a/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java
+++ b/src/main/java/de/fanta/challenges/challenges/WorldBorderLevelChallenge.java
@@ -59,7 +59,7 @@
public void onRespawn(PlayerRespawnEvent e) {
if (plugin.getConfig().getBoolean("worldborderlevel")) {
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
- xpSync(e.getPlayer(), true);
+ borderSync();
e.getPlayer().teleport(e.getPlayer().getWorld().getSpawnLocation());
}, 10L);
}
@@ -68,9 +68,7 @@
@EventHandler
public void onWorldSpawnChange(SpawnChangeEvent e) {
if (plugin.getConfig().getBoolean("worldborderlevel")) {
- for (Player pp : Bukkit.getOnlinePlayers()) {
- xpSync(pp, true);
- }
+ borderSync();
}
}
@@ -78,9 +76,13 @@
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
if (plugin.getConfig().getBoolean("worldborderlevel")) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
- xpSync(p, true);
- }, 10L);
+ if (p != plugin.getCurrentEditor()) {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
+ p.setLevel(plugin.getCurrentEditor().getLevel());
+ p.setExp(plugin.getCurrentEditor().getExp());
+ }, 10L);
+ }
+ borderSync();
}
}
@@ -88,10 +90,7 @@
public void onWorldChange(PlayerChangedWorldEvent e) {
if (plugin.getConfig().getBoolean("worldborderlevel")) {
e.getPlayer().getWorld().setSpawnLocation(Bukkit.getWorld("world").getSpawnLocation());
- Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
- WorldBorderApi worldBorderAPI = BorderAPI.getApi();
- worldBorderAPI.setBorder(e.getPlayer(), plugin.getCurrentEditor().getLevel(), e.getPlayer().getWorld().getSpawnLocation());
- }, 10L);
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, this::borderSync, 10L);
}
}
@@ -113,19 +112,23 @@
}
}
if (borderupdate) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
- for (Player player : Bukkit.getOnlinePlayers()) {
- int level = player.getLevel();
- WorldBorderApi worldBorderAPI = BorderAPI.getApi();
- if (level > 0) {
- worldBorderAPI.setBorder(player, level, player.getWorld().getSpawnLocation());
- } else {
- worldBorderAPI.setBorder(player, 1, player.getWorld().getSpawnLocation());
- }
- }
-
- }, 1L);
+ borderSync();
}
}, 1L);
}
+
+ private void borderSync() {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
+ for (Player player : Bukkit.getOnlinePlayers()) {
+ int level = player.getLevel();
+ WorldBorderApi worldBorderAPI = BorderAPI.getApi();
+ if (level > 0) {
+ worldBorderAPI.setBorder(player, level, player.getWorld().getSpawnLocation());
+ } else {
+ worldBorderAPI.setBorder(player, 1, player.getWorld().getSpawnLocation());
+ }
+ }
+
+ }, 1L);
+ }
}
diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java
index c919c12..edcc0b7 100644
--- a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java
+++ b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java
@@ -364,19 +364,16 @@
}
break;
case WORLD_BORDER_LEVEL_INDEX:
+ WorldBorderApi worldBorderAPI = BorderAPI.getApi();
if (plugin.getConfig().getBoolean("worldborderlevel")) {
GUIUtils.setConfig("worldborderlevel", false);
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ worldBorderAPI.resetWorldBorderToGlobal(pp);
+ }
GUIUtils.sendTitleToAll("Challenge", "World Border Level deaktiviert", ChatUtil.RED);
} else {
GUIUtils.setConfig("worldborderlevel", true);
- for (World w : plugin.getServer().getWorlds()) {
- if (w != null) {
- w.getWorldBorder().setCenter(w.getSpawnLocation());
- }
- }
-
for (Player pp : Bukkit.getOnlinePlayers()) {
- WorldBorderApi worldBorderAPI = BorderAPI.getApi();
worldBorderAPI.setBorder(pp, 1, plugin.getServer().getWorld("world").getSpawnLocation());
}
diff --git a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java
index 512743d..6719346 100644
--- a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java
+++ b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java
@@ -1,7 +1,5 @@
package de.fanta.challenges.listeners;
-import com.comphenix.protocol.PacketType;
-import com.comphenix.protocol.events.PacketContainer;
import de.fanta.challenges.Challenges;
import de.fanta.challenges.events.PlayerCountChangedEvent;
import de.fanta.challenges.utils.ChatUtil;
@@ -9,7 +7,6 @@
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
-import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -23,11 +20,9 @@
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerPortalEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
-import org.bukkit.event.player.PlayerToggleSneakEvent;
import org.kitteh.vanish.event.VanishStatusChangeEvent;
import org.spigotmc.event.player.PlayerSpawnLocationEvent;
-import java.lang.reflect.InvocationTargetException;
import java.util.Objects;
import static org.bukkit.Bukkit.getServer;
@@ -168,33 +163,4 @@
}
}
}
-
- /*@EventHandler
- public void onSneak(PlayerToggleSneakEvent e) {
- Player player = e.getPlayer();
- World world = player.getWorld();
-
- PacketContainer initfakeborder = new PacketContainer(PacketType.Play.Server.INITIALIZE_BORDER);
- initfakeborder.getDoubles().
- write(0, world.getSpawnLocation().getX()).
- write(1, world.getSpawnLocation().getZ());
- initfakeborder.getLongs().write(0, 1L);
-
- PacketContainer centerfakeborder = new PacketContainer(PacketType.Play.Server.SET_BORDER_CENTER);
- centerfakeborder.getDoubles().
- write(0, world.getSpawnLocation().getX()).
- write(1, world.getSpawnLocation().getZ());
-
- PacketContainer sizefakeborder = new PacketContainer(PacketType.Play.Server.SET_BORDER_SIZE);
- sizefakeborder.getDoubles().
- write(0, 10000000000.0);
- try {
- plugin.getProtocolManager().sendServerPacket(player, initfakeborder);
- plugin.getProtocolManager().sendServerPacket(player, centerfakeborder);
- plugin.getProtocolManager().sendServerPacket(player, sizefakeborder);
- } catch (InvocationTargetException ex) {
- throw new RuntimeException(
- "Cannot send packet " + initfakeborder, ex);
- }
- }*/
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 1beffe2..ba16618 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -4,7 +4,7 @@
load: STARTUP
api-version: 1.17
author: ${project.author}
-depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils, ProtocolLib, WorldBorderAPI]
+depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils, WorldBorderAPI]
loadbefore:
- CubesideSettings
commands: