From 5b2947daea395d9cb4dac1896f2bbda55837ee20 Mon Sep 17 00:00:00 2001 From: Zeanon Date: Mon, 12 Apr 2021 16:37:09 +0200 Subject: [PATCH 1/3] Added paper-compatibility --- .../fightsystem/fight/FightWorld_10.java | 6 ++-- .../fightsystem/fight/FightWorld_12.java | 6 ++-- .../fightsystem/fight/FightWorld_14.java | 6 ++-- .../fightsystem/fight/FightWorld_15.java | 6 ++-- .../fightsystem/fight/FightWorld_8.java | 2 +- .../fightsystem/fight/FightWorld_9.java | 6 ++-- .../countdown/EventSpectateCountdown.java | 7 +---- .../countdown/SpectateOverCountdown.java | 4 +-- .../fightsystem/fight/FightWorld.java | 28 +++++++------------ 9 files changed, 33 insertions(+), 38 deletions(-) diff --git a/FightSystem_10/src/de/steamwar/fightsystem/fight/FightWorld_10.java b/FightSystem_10/src/de/steamwar/fightsystem/fight/FightWorld_10.java index fe5c04e..849b070 100644 --- a/FightSystem_10/src/de/steamwar/fightsystem/fight/FightWorld_10.java +++ b/FightSystem_10/src/de/steamwar/fightsystem/fight/FightWorld_10.java @@ -32,7 +32,7 @@ import org.bukkit.entity.Player; public class FightWorld_10 { private FightWorld_10(){} - static void resetChunk(World world, World backup, int x, int z){ + static void resetChunk(World world, World backup, int x, int z, boolean isPaper){ net.minecraft.server.v1_10_R1.World w = ((CraftWorld) world).getHandle(); Chunk chunk = w.getChunkAt(x, z); Chunk backupChunk = ((CraftWorld) backup).getHandle().getChunkAt(x, z); @@ -40,7 +40,9 @@ public class FightWorld_10 { System.arraycopy(backupChunk.getSections(), 0, chunk.getSections(), 0, chunk.getSections().length); System.arraycopy(backupChunk.heightMap, 0, chunk.heightMap, 0, chunk.heightMap.length); w.tileEntityListTick.removeAll(chunk.tileEntities.values()); - w.tileEntityList.removeAll(chunk.tileEntities.values()); + if (!isPaper) { + w.tileEntityList.removeAll(chunk.tileEntities.values()); + } chunk.tileEntities.clear(); chunk.tileEntities.putAll(backupChunk.tileEntities); for(Player p : Bukkit.getOnlinePlayers()){ diff --git a/FightSystem_12/src/de/steamwar/fightsystem/fight/FightWorld_12.java b/FightSystem_12/src/de/steamwar/fightsystem/fight/FightWorld_12.java index 6ea877c..be3596e 100644 --- a/FightSystem_12/src/de/steamwar/fightsystem/fight/FightWorld_12.java +++ b/FightSystem_12/src/de/steamwar/fightsystem/fight/FightWorld_12.java @@ -32,7 +32,7 @@ import org.bukkit.entity.Player; public class FightWorld_12 { private FightWorld_12(){} - static void resetChunk(World world, World backup, int x, int z){ + static void resetChunk(World world, World backup, int x, int z, boolean isPaper){ net.minecraft.server.v1_12_R1.World w = ((CraftWorld) world).getHandle(); Chunk chunk = w.getChunkAt(x, z); Chunk backupChunk = ((CraftWorld) backup).getHandle().getChunkAt(x, z); @@ -40,7 +40,9 @@ public class FightWorld_12 { System.arraycopy(backupChunk.getSections(), 0, chunk.getSections(), 0, chunk.getSections().length); System.arraycopy(backupChunk.heightMap, 0, chunk.heightMap, 0, chunk.heightMap.length); w.tileEntityListTick.removeAll(chunk.tileEntities.values()); - w.tileEntityList.removeAll(chunk.tileEntities.values()); + if (!isPaper) { + w.tileEntityList.removeAll(chunk.tileEntities.values()); + } chunk.tileEntities.clear(); chunk.tileEntities.putAll(backupChunk.tileEntities); for(Player p : Bukkit.getOnlinePlayers()){ diff --git a/FightSystem_14/src/de/steamwar/fightsystem/fight/FightWorld_14.java b/FightSystem_14/src/de/steamwar/fightsystem/fight/FightWorld_14.java index 81ea1f9..f2b9412 100644 --- a/FightSystem_14/src/de/steamwar/fightsystem/fight/FightWorld_14.java +++ b/FightSystem_14/src/de/steamwar/fightsystem/fight/FightWorld_14.java @@ -32,14 +32,16 @@ import org.bukkit.entity.Player; public class FightWorld_14 { private FightWorld_14(){} - static void resetChunk(World world, World backup, int x, int z){ + static void resetChunk(World world, World backup, int x, int z, boolean isPaper){ net.minecraft.server.v1_14_R1.World w = ((CraftWorld) world).getHandle(); Chunk chunk = w.getChunkAt(x, z); Chunk backupChunk = ((CraftWorld) backup).getHandle().getChunkAt(x, z); System.arraycopy(backupChunk.getSections(), 0, chunk.getSections(), 0, chunk.getSections().length); w.tileEntityListTick.removeAll(chunk.tileEntities.values()); - w.tileEntityList.removeAll(chunk.tileEntities.values()); + if (!isPaper) { + w.tileEntityList.removeAll(chunk.tileEntities.values()); + } chunk.tileEntities.clear(); chunk.tileEntities.putAll(backupChunk.tileEntities); chunk.heightMap.clear(); diff --git a/FightSystem_15/src/de/steamwar/fightsystem/fight/FightWorld_15.java b/FightSystem_15/src/de/steamwar/fightsystem/fight/FightWorld_15.java index ae6de0d..b4c53b8 100644 --- a/FightSystem_15/src/de/steamwar/fightsystem/fight/FightWorld_15.java +++ b/FightSystem_15/src/de/steamwar/fightsystem/fight/FightWorld_15.java @@ -32,14 +32,16 @@ import org.bukkit.entity.Player; public class FightWorld_15 { private FightWorld_15(){} - static void resetChunk(World world, World backup, int x, int z){ + static void resetChunk(World world, World backup, int x, int z, boolean isPaper){ net.minecraft.server.v1_15_R1.World w = ((CraftWorld) world).getHandle(); Chunk chunk = w.getChunkAt(x, z); Chunk backupChunk = ((CraftWorld) backup).getHandle().getChunkAt(x, z); System.arraycopy(backupChunk.getSections(), 0, chunk.getSections(), 0, chunk.getSections().length); w.tileEntityListTick.removeAll(chunk.tileEntities.values()); - w.tileEntityList.removeAll(chunk.tileEntities.values()); + if (!isPaper) { + w.tileEntityList.removeAll(chunk.tileEntities.values()); + } chunk.tileEntities.clear(); chunk.tileEntities.putAll(backupChunk.tileEntities); chunk.heightMap.clear(); diff --git a/FightSystem_8/src/de/steamwar/fightsystem/fight/FightWorld_8.java b/FightSystem_8/src/de/steamwar/fightsystem/fight/FightWorld_8.java index 5c6b6f2..9d25c29 100644 --- a/FightSystem_8/src/de/steamwar/fightsystem/fight/FightWorld_8.java +++ b/FightSystem_8/src/de/steamwar/fightsystem/fight/FightWorld_8.java @@ -32,7 +32,7 @@ import org.bukkit.entity.Player; public class FightWorld_8 { private FightWorld_8(){} - static void resetChunk(World world, World backup, int x, int z){ + static void resetChunk(World world, World backup, int x, int z, boolean isPaper){ net.minecraft.server.v1_8_R3.World w = ((CraftWorld) world).getHandle(); Chunk chunk = w.getChunkAt(x, z); Chunk backupChunk = ((CraftWorld) backup).getHandle().getChunkAt(x, z); diff --git a/FightSystem_9/src/de/steamwar/fightsystem/fight/FightWorld_9.java b/FightSystem_9/src/de/steamwar/fightsystem/fight/FightWorld_9.java index 0b508a4..f35afb4 100644 --- a/FightSystem_9/src/de/steamwar/fightsystem/fight/FightWorld_9.java +++ b/FightSystem_9/src/de/steamwar/fightsystem/fight/FightWorld_9.java @@ -32,7 +32,7 @@ import org.bukkit.entity.Player; public class FightWorld_9 { private FightWorld_9(){} - static void resetChunk(World world, World backup, int x, int z){ + static void resetChunk(World world, World backup, int x, int z, boolean isPaper){ net.minecraft.server.v1_9_R2.World w = ((CraftWorld) world).getHandle(); Chunk chunk = w.getChunkAt(x, z); Chunk backupChunk = ((CraftWorld) backup).getHandle().getChunkAt(x, z); @@ -40,7 +40,9 @@ public class FightWorld_9 { System.arraycopy(backupChunk.getSections(), 0, chunk.getSections(), 0, chunk.getSections().length); System.arraycopy(backupChunk.heightMap, 0, chunk.heightMap, 0, chunk.heightMap.length); w.tileEntityListTick.removeAll(chunk.tileEntities.values()); - w.tileEntityList.removeAll(chunk.tileEntities.values()); + if (!isPaper) { + w.tileEntityList.removeAll(chunk.tileEntities.values()); + } chunk.tileEntities.clear(); chunk.tileEntities.putAll(backupChunk.tileEntities); for(Player p : Bukkit.getOnlinePlayers()){ diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/countdown/EventSpectateCountdown.java b/FightSystem_Main/src/de/steamwar/fightsystem/countdown/EventSpectateCountdown.java index e56277c..abaa890 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/countdown/EventSpectateCountdown.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/countdown/EventSpectateCountdown.java @@ -22,7 +22,6 @@ package de.steamwar.fightsystem.countdown; import de.steamwar.fightsystem.ArenaMode; import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.FightSystem; -import de.steamwar.fightsystem.fight.FightWorld; import de.steamwar.fightsystem.states.FightState; import de.steamwar.fightsystem.states.StateDependentCountdown; @@ -30,11 +29,7 @@ public class EventSpectateCountdown extends Countdown { public EventSpectateCountdown() { super(Config.SpectatorDuration, SWSound.BLOCK_NOTE_PLING, false); - if(FightWorld.isPaper()){ - new StateDependentCountdown(ArenaMode.Fight, FightState.Spectate, this); - }else{ - new StateDependentCountdown(ArenaMode.Event, FightState.Spectate, this); - } + new StateDependentCountdown(ArenaMode.Event, FightState.Spectate, this); } @Override diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/countdown/SpectateOverCountdown.java b/FightSystem_Main/src/de/steamwar/fightsystem/countdown/SpectateOverCountdown.java index 08735aa..5946085 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/countdown/SpectateOverCountdown.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/countdown/SpectateOverCountdown.java @@ -30,9 +30,7 @@ public class SpectateOverCountdown extends Countdown { public SpectateOverCountdown() { super(Config.SpectatorDuration, SWSound.BLOCK_NOTE_PLING, false); - if(!FightWorld.isPaper()){ - new StateDependentCountdown(ArenaMode.Restartable, FightState.Spectate, this); - } + new StateDependentCountdown(ArenaMode.Restartable, FightState.Spectate, this); } @Override diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightWorld.java b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightWorld.java index 7c2d4d3..342f1a4 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightWorld.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightWorld.java @@ -35,22 +35,14 @@ public class FightWorld extends StateDependent { private static final boolean paper; static{ - boolean ispaper; - try { - Class.forName("com.destroystokyo.paper.PaperConfig"); - ispaper = true; - } catch (ClassNotFoundException e) { - ispaper = false; - } - paper = ispaper; + paper = Bukkit.getVersion().contains("git-Paper"); } private final World world = Bukkit.getWorlds().get(0); public FightWorld() { super(ArenaMode.Restartable, FightState.Schem); - if(!isPaper()) - register(); + register(); } @Override @@ -72,17 +64,17 @@ public class FightWorld extends StateDependent { World backup = new WorldCreator(world.getName() + "/backup").createWorld(); assert backup != null; - Config.ArenaRegion.forEachChunk((x, z) -> resetChunk(backup, x, z)); + Config.ArenaRegion.forEachChunk((x, z) -> resetChunk(backup, x, z, FightWorld.isPaper())); Bukkit.unloadWorld(backup, false); } - private void resetChunk(World backup, int x, int z){ + private void resetChunk(World backup, int x, int z, boolean isPaper){ VersionedRunnable.call( - new VersionedRunnable(() -> FightWorld_8.resetChunk(world, backup, x, z), 8), - new VersionedRunnable(() -> FightWorld_9.resetChunk(world, backup, x, z), 9), - new VersionedRunnable(() -> FightWorld_10.resetChunk(world, backup, x, z), 10), - new VersionedRunnable(() -> FightWorld_12.resetChunk(world, backup, x, z), 12), - new VersionedRunnable(() -> FightWorld_14.resetChunk(world, backup, x, z), 14), - new VersionedRunnable(() -> FightWorld_15.resetChunk(world, backup, x, z), 15)); + new VersionedRunnable(() -> FightWorld_8.resetChunk(world, backup, x, z, isPaper), 8), + new VersionedRunnable(() -> FightWorld_9.resetChunk(world, backup, x, z, isPaper), 9), + new VersionedRunnable(() -> FightWorld_10.resetChunk(world, backup, x, z, isPaper), 10), + new VersionedRunnable(() -> FightWorld_12.resetChunk(world, backup, x, z, isPaper), 12), + new VersionedRunnable(() -> FightWorld_14.resetChunk(world, backup, x, z, isPaper), 14), + new VersionedRunnable(() -> FightWorld_15.resetChunk(world, backup, x, z, isPaper), 15)); } } From f2191c0f49782c5e7fc3b3100b649ff570094457 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Mon, 12 Apr 2021 18:05:59 +0200 Subject: [PATCH 2/3] Fix rotation issues Signed-off-by: Lixfel --- .../steamwar/fightsystem/fight/FightTeam_14.java | 6 ++---- .../de/steamwar/fightsystem/fight/FightTeam_8.java | 5 +---- .../src/de/steamwar/fightsystem/FightSystem.java | 6 +++++- .../fightsystem/listener/PrepareSchem.java | 14 +++++++++----- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/FightSystem_14/src/de/steamwar/fightsystem/fight/FightTeam_14.java b/FightSystem_14/src/de/steamwar/fightsystem/fight/FightTeam_14.java index 17bfbbe..7a2b1ac 100644 --- a/FightSystem_14/src/de/steamwar/fightsystem/fight/FightTeam_14.java +++ b/FightSystem_14/src/de/steamwar/fightsystem/fight/FightTeam_14.java @@ -123,7 +123,7 @@ public class FightTeam_14 { return block.getType() == Material.MOVING_PISTON; } - public static void saveSchem(Schematic schem, Region region, int minY, boolean rotate) { + public static void saveSchem(Schematic schem, Region region, int minY) { World w = new BukkitWorld(Bukkit.getWorlds().get(0)); BlockVector3 min = BlockVector3.at(region.getMinX(), minY, region.getMinZ()); CuboidRegion cuboidRegion = new CuboidRegion(w, min, BlockVector3.at(region.getMaxX(), region.getMaxY(), region.getMaxZ())); @@ -132,9 +132,7 @@ public class FightTeam_14 { ForwardExtentCopy forwardExtentCopy = new ForwardExtentCopy(editSession, cuboidRegion, clipboard, min); forwardExtentCopy.setCopyingEntities(false); - if(rotate){ - forwardExtentCopy.setTransform(new AffineTransform().rotateY(180)); - } + try{ Operations.complete(forwardExtentCopy); }catch(WorldEditException e){ diff --git a/FightSystem_8/src/de/steamwar/fightsystem/fight/FightTeam_8.java b/FightSystem_8/src/de/steamwar/fightsystem/fight/FightTeam_8.java index 64f7c70..54812ff 100644 --- a/FightSystem_8/src/de/steamwar/fightsystem/fight/FightTeam_8.java +++ b/FightSystem_8/src/de/steamwar/fightsystem/fight/FightTeam_8.java @@ -125,7 +125,7 @@ public class FightTeam_8 { return block.getType() == Material.PISTON_MOVING_PIECE; } - public static void saveSchem(Schematic schem, Region region, int minY, boolean rotate) { + public static void saveSchem(Schematic schem, Region region, int minY) { World w = new BukkitWorld(Bukkit.getWorlds().get(0)); Vector min = new Vector(region.getMinX(), minY, region.getMinZ()); CuboidRegion cuboidRegion = new CuboidRegion(w, min, new Vector(region.getMaxX(), region.getMaxY(), region.getMaxZ())); @@ -133,9 +133,6 @@ public class FightTeam_8 { EditSession editSession = WorldEdit.getInstance().getEditSessionFactory().getEditSession(w, -1); ForwardExtentCopy forwardExtentCopy = new ForwardExtentCopy(editSession, cuboidRegion, clipboard, min); - if(rotate){ - forwardExtentCopy.setTransform(new AffineTransform().rotateY(180)); - } try{ Operations.complete(forwardExtentCopy); }catch(WorldEditException e){ diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java b/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java index bc1aed4..5458ae0 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/FightSystem.java @@ -142,7 +142,11 @@ public class FightSystem extends JavaPlugin { }else if(Config.mode == ArenaMode.CHECK){ Fight.getBlueTeam().setSchem(Schematic.getSchemFromDB(Config.CheckSchemID)); }else if(Config.mode == ArenaMode.PREPARE) { - Fight.getBlueTeam().setSchem(Schematic.getSchemFromDB(Config.PrepareSchemID)); + if(Config.BlueRotate){ + Fight.getRedTeam().setSchem(Schematic.getSchemFromDB(Config.PrepareSchemID)); + }else{ + Fight.getBlueTeam().setSchem(Schematic.getSchemFromDB(Config.PrepareSchemID)); + } } } diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PrepareSchem.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PrepareSchem.java index 7f2d203..a9c68e9 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PrepareSchem.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PrepareSchem.java @@ -46,9 +46,9 @@ public class PrepareSchem implements Listener { @Override public void disable() { super.disable(); - Region region = Fight.getBlueTeam().getExtendRegion(); World world = Bukkit.getWorlds().get(0); - int minY = Fight.getBlueTeam().getSchemRegion().getMinY(); + Region region = Config.BlueRotate ? Fight.getRedTeam().getExtendRegion() : Fight.getBlueTeam().getExtendRegion(); + int minY = Config.BlueRotate ? Fight.getRedTeam().getSchemRegion().getMinY() : Fight.getBlueTeam().getSchemRegion().getMinY(); Schematic schem; try{ @@ -73,8 +73,8 @@ public class PrepareSchem implements Listener { try{ VersionedRunnable.call( - new VersionedRunnable(() -> FightTeam_8.saveSchem(schem, region, minY, Config.BlueRotate), 8), - new VersionedRunnable(() -> FightTeam_14.saveSchem(schem, region, minY, Config.BlueRotate), 14)); + new VersionedRunnable(() -> FightTeam_8.saveSchem(schem, region, minY), 8), + new VersionedRunnable(() -> FightTeam_14.saveSchem(schem, region, minY), 14)); }catch(IllegalStateException e){ FightSystem.shutdown(FightSystem.PREFIX + "§cDie Schematic konnte nicht gespeichert werden, Einsenden wird abgebrochen."); return; @@ -92,7 +92,11 @@ public class PrepareSchem implements Listener { FightTeam team = Fight.getPlayerTeam(player); if (team == null) { - Fight.getBlueTeam().addMember(player); + if(Config.BlueRotate){ + Fight.getRedTeam().addMember(player); + }else{ + Fight.getBlueTeam().addMember(player); + } } if(FightState.getFightState() == FightState.PRE_LEADER_SETUP) { From b6ad157e38c151b7d4c216d446e49f0776511756 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Mon, 12 Apr 2021 18:17:20 +0200 Subject: [PATCH 3/3] Fix techhider on team leave Signed-off-by: Lixfel --- .../steamwar/fightsystem/countdown/EnternCountdown.java | 4 ++-- .../src/de/steamwar/fightsystem/fight/FightTeam.java | 8 ++++---- .../src/de/steamwar/fightsystem/utils/TechHider.java | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/countdown/EnternCountdown.java b/FightSystem_Main/src/de/steamwar/fightsystem/countdown/EnternCountdown.java index 236c85f..925bf69 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/countdown/EnternCountdown.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/countdown/EnternCountdown.java @@ -48,7 +48,7 @@ public class EnternCountdown extends Countdown { @Override public void countdownFinished() { fightPlayer.getPlayer().sendMessage(FightSystem.PREFIX + "§aEntern ist nun erlaubt!"); - TechHider.reloadChunks(fightPlayer.getPlayer(), chunkPos); + TechHider.reloadChunks(fightPlayer.getPlayer(), chunkPos, false); } @Override @@ -70,7 +70,7 @@ public class EnternCountdown extends Countdown { BasicListener.toActionbar(player, TextComponent.fromLegacyText("§rNoch §a1 §rSekunde " + countdownCounting())); - chunkPos = TechHider.prepareChunkReload(player); + chunkPos = TechHider.prepareChunkReload(player, false); break; case 0: player.playSound(player.getLocation(), Countdown.getSound(SWSound.BLOCK_NOTE_PLING), 100.0F, 2.0F); diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java index 483738d..9d3a9fb 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java @@ -177,7 +177,7 @@ public class FightTeam implements IFightTeam{ } public void addMember(Player player) { - final List chunksToReload = TechHider.prepareChunkReload(player); + final List chunksToReload = TechHider.prepareChunkReload(player, false); FightPlayer fightPlayer = new FightPlayer(player, this); players.put(player, fightPlayer); invited.remove(player); @@ -195,7 +195,7 @@ public class FightTeam implements IFightTeam{ if(!Config.test()) Bukkit.getScheduler().runTaskLater(FightSystem.getPlugin(), () -> new TablistNamePacket(SteamwarUser.get(player.getUniqueId()).getId(), prefix + player.getName()).send(player), 5); RecordSystem.playerJoins(player); - TechHider.reloadChunks(player, chunksToReload); + TechHider.reloadChunks(player, chunksToReload, false); if(isLeaderless()) setLeader(fightPlayer); @@ -204,7 +204,7 @@ public class FightTeam implements IFightTeam{ public void removePlayer(Player player) { FightPlayer fightPlayer = getFightPlayer(player); - List chunksToReload = TechHider.prepareChunkReload(player); + List chunksToReload = TechHider.prepareChunkReload(player, true); players.remove(player); team.removeEntry(player.getName()); @@ -219,7 +219,7 @@ public class FightTeam implements IFightTeam{ if(player.isOnline()){ if(!ArenaMode.Test.contains(Config.mode)) new TablistNamePacket(SteamwarUser.get(player.getUniqueId()).getId(), "§7" + player.getName()).send(player); - TechHider.reloadChunks(player, chunksToReload); + TechHider.reloadChunks(player, chunksToReload, true); } } diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/utils/TechHider.java b/FightSystem_Main/src/de/steamwar/fightsystem/utils/TechHider.java index 08306d3..3a3308e 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/utils/TechHider.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/utils/TechHider.java @@ -263,23 +263,23 @@ public class TechHider extends StateDependent { } }; - public static List prepareChunkReload(Player p){ + public static List prepareChunkReload(Player p, boolean hide){ if(!enabled) return Collections.emptyList(); List chunksToReload = new ArrayList<>(); Config.ArenaRegion.forEachChunk((x, z) -> { - if(!bypass(p, x, z)) + if(bypass(p, x, z) == hide) chunksToReload.add(new ChunkPos(x, z)); }); return chunksToReload; } - public static void reloadChunks(Player p, List chunksToReload){ + public static void reloadChunks(Player p, List chunksToReload, boolean hide){ if(!enabled) return; Bukkit.getScheduler().runTaskLater(FightSystem.getPlugin(), () -> { for(ChunkPos chunk : chunksToReload){ - if(bypass(p, chunk.x(), chunk.z())) + if(bypass(p, chunk.x(), chunk.z()) != hide) ChunkListener.sendChunk(p, chunk.x(), chunk.z()); } }, 40);