From e99aef29d08e0358eca60abf437d4a5b855b5182 Mon Sep 17 00:00:00 2001 From: mathias Date: Thu, 1 Aug 2019 17:23:35 +0300 Subject: [PATCH] Initial MC 1.13.2 support (todo: cleanup) --- pom.xml | 18 +++++++++++++++--- .../java/pw/kaboom/icontrolu/Commands.java | 8 +++++--- src/main/java/pw/kaboom/icontrolu/Events.java | 16 ++++++++-------- src/main/java/pw/kaboom/icontrolu/Main.java | 2 +- src/main/resources/plugin.yml | 3 ++- 5 files changed, 31 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index 5c369fe..5bb2251 100644 --- a/pom.xml +++ b/pom.xml @@ -5,15 +5,15 @@ master - 11 - 11 + 1.6 + 1.6 com.destroystokyo.paper paper-api - 1.12.2-R0.1-SNAPSHOT + 1.13.2-R0.1-SNAPSHOT @@ -26,6 +26,18 @@ ${project.artifactId} + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + + -Xlint:all + + + + diff --git a/src/main/java/pw/kaboom/icontrolu/Commands.java b/src/main/java/pw/kaboom/icontrolu/Commands.java index f97bdab..76e0a93 100644 --- a/src/main/java/pw/kaboom/icontrolu/Commands.java +++ b/src/main/java/pw/kaboom/icontrolu/Commands.java @@ -38,6 +38,8 @@ class CommandIcu implements CommandExecutor { controller.sendMessage("Player \"" + target.getName() + "\" is already being controlled"); } else if (main.targetFor.containsKey(target.getUniqueId())) { controller.sendMessage("Player \"" + target.getName() + "\" is already controlling another player"); + } else if (controller.canSee(target) == false) { + controller.sendMessage("You may not control this player"); } else { controller.teleport(target); @@ -63,13 +65,13 @@ class CommandIcu implements CommandExecutor { Bukkit.getScheduler().scheduleSyncDelayedTask(main, new Runnable() { public void run() { for (Player player: Bukkit.getOnlinePlayers()) { - player.showPlayer(controllerRun); + player.showPlayer(main, controllerRun); } Scoreboard scoreboard = Bukkit.getScoreboardManager().getMainScoreboard(); Team team = scoreboard.getTeam("iControlU_List"); - if (team != null && team.hasPlayer(controllerRun) == true) { - team.removePlayer(controllerRun); + if (team != null && team.hasEntry(controllerRun.getName()) == true) { + team.removeEntry(controllerRun.getName()); } controllerRun.removePotionEffect(PotionEffectType.INVISIBILITY); diff --git a/src/main/java/pw/kaboom/icontrolu/Events.java b/src/main/java/pw/kaboom/icontrolu/Events.java index f4d43d8..1125a6f 100644 --- a/src/main/java/pw/kaboom/icontrolu/Events.java +++ b/src/main/java/pw/kaboom/icontrolu/Events.java @@ -51,7 +51,7 @@ class Tick extends BukkitRunnable { } if (target.getHealth() > 0) { - target.teleport(controller); + target.teleportAsync(controller.getLocation()); } target.setAllowFlight(controller.getAllowFlight()); @@ -64,7 +64,7 @@ class Tick extends BukkitRunnable { target.setSprinting(controller.isSprinting()); for (Player player: Bukkit.getOnlinePlayers()) { - player.hidePlayer(controller); + player.hidePlayer(main, controller); } Scoreboard scoreboard = Bukkit.getScoreboardManager().getMainScoreboard(); @@ -76,8 +76,8 @@ class Tick extends BukkitRunnable { team.setCanSeeFriendlyInvisibles​(false); team.setOption(Team.Option.COLLISION_RULE, Team.OptionStatus.NEVER); - if (team.hasPlayer(controller) == false) { - team.addPlayer(controller); + if (team.hasEntry(controller.getName()) == false) { + team.addEntry(controller.getName()); } controller.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 99999, 0, false, false)); @@ -177,13 +177,13 @@ class Events implements Listener { Bukkit.getScheduler().scheduleSyncDelayedTask(main, new Runnable() { public void run() { for (Player allPlayers: Bukkit.getOnlinePlayers()) { - allPlayers.showPlayer(controller); + allPlayers.showPlayer(main, controller); } Scoreboard scoreboard = Bukkit.getScoreboardManager().getMainScoreboard(); Team team = scoreboard.getTeam("iControlU_List"); - if (team != null && team.hasPlayer(controller) == true) { - team.removePlayer(controller); + if (team != null && team.hasEntry(controller.getName()) == true) { + team.removeEntry(controller.getName()); } controller.removePotionEffect(PotionEffectType.INVISIBILITY); @@ -208,7 +208,7 @@ class Events implements Listener { if (main.controllerFor.containsKey(player.getUniqueId())) { Player controller = main.controllerFor.get(player.getUniqueId()); - controller.teleport(player); + controller.teleportAsync(player.getLocation()); } } } diff --git a/src/main/java/pw/kaboom/icontrolu/Main.java b/src/main/java/pw/kaboom/icontrolu/Main.java index 2ed7245..08fb70d 100644 --- a/src/main/java/pw/kaboom/icontrolu/Main.java +++ b/src/main/java/pw/kaboom/icontrolu/Main.java @@ -36,7 +36,7 @@ public class Main extends JavaPlugin { Player target = Main.targetFor.get(controller.getUniqueId()); if (target != null) { for (Player player: Bukkit.getOnlinePlayers()) { - player.showPlayer(controller); + player.showPlayer(this, controller); } Scoreboard scoreboard = Bukkit.getScoreboardManager().getMainScoreboard(); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 8185718..8865876 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,7 @@ name: iControlU main: pw.kaboom.icontrolu.Main -description: Plugin that allows players to control other players. +description: Plugin that allows players to control other players. +api-version: 1.13 version: master commands: