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: