diff --git a/fabric-1.14.4/src/main/java/org/dynmap/fabric_1_14_4/FabricPlayer.java b/fabric-1.14.4/src/main/java/org/dynmap/fabric_1_14_4/FabricPlayer.java index 8ded1129..b5d4a26f 100644 --- a/fabric-1.14.4/src/main/java/org/dynmap/fabric_1_14_4/FabricPlayer.java +++ b/fabric-1.14.4/src/main/java/org/dynmap/fabric_1_14_4/FabricPlayer.java @@ -191,8 +191,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.15.2/src/main/java/org/dynmap/fabric_1_15_2/FabricPlayer.java b/fabric-1.15.2/src/main/java/org/dynmap/fabric_1_15_2/FabricPlayer.java index a1f18092..3c717567 100644 --- a/fabric-1.15.2/src/main/java/org/dynmap/fabric_1_15_2/FabricPlayer.java +++ b/fabric-1.15.2/src/main/java/org/dynmap/fabric_1_15_2/FabricPlayer.java @@ -191,8 +191,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.16.4/src/main/java/org/dynmap/fabric_1_16_4/FabricPlayer.java b/fabric-1.16.4/src/main/java/org/dynmap/fabric_1_16_4/FabricPlayer.java index 16dd4f66..362db43a 100644 --- a/fabric-1.16.4/src/main/java/org/dynmap/fabric_1_16_4/FabricPlayer.java +++ b/fabric-1.16.4/src/main/java/org/dynmap/fabric_1_16_4/FabricPlayer.java @@ -191,8 +191,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/FabricPlayer.java b/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/FabricPlayer.java index 18ef187b..0dac5c55 100644 --- a/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/FabricPlayer.java +++ b/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/FabricPlayer.java @@ -194,8 +194,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.18.2/src/main/java/org/dynmap/fabric_1_18_2/FabricPlayer.java b/fabric-1.18.2/src/main/java/org/dynmap/fabric_1_18_2/FabricPlayer.java index 8655569c..878eca3a 100644 --- a/fabric-1.18.2/src/main/java/org/dynmap/fabric_1_18_2/FabricPlayer.java +++ b/fabric-1.18.2/src/main/java/org/dynmap/fabric_1_18_2/FabricPlayer.java @@ -194,8 +194,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.19.1/src/main/java/org/dynmap/fabric_1_19_1/FabricPlayer.java b/fabric-1.19.1/src/main/java/org/dynmap/fabric_1_19_1/FabricPlayer.java index 2fc42eb1..b98ab021 100644 --- a/fabric-1.19.1/src/main/java/org/dynmap/fabric_1_19_1/FabricPlayer.java +++ b/fabric-1.19.1/src/main/java/org/dynmap/fabric_1_19_1/FabricPlayer.java @@ -194,8 +194,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.19.3/src/main/java/org/dynmap/fabric_1_19_3/FabricPlayer.java b/fabric-1.19.3/src/main/java/org/dynmap/fabric_1_19_3/FabricPlayer.java index ab71e4b8..8b25a6f1 100644 --- a/fabric-1.19.3/src/main/java/org/dynmap/fabric_1_19_3/FabricPlayer.java +++ b/fabric-1.19.3/src/main/java/org/dynmap/fabric_1_19_3/FabricPlayer.java @@ -194,8 +194,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.19.4/src/main/java/org/dynmap/fabric_1_19_4/FabricPlayer.java b/fabric-1.19.4/src/main/java/org/dynmap/fabric_1_19_4/FabricPlayer.java index 819661f2..3bc4913c 100644 --- a/fabric-1.19.4/src/main/java/org/dynmap/fabric_1_19_4/FabricPlayer.java +++ b/fabric-1.19.4/src/main/java/org/dynmap/fabric_1_19_4/FabricPlayer.java @@ -194,8 +194,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.19/src/main/java/org/dynmap/fabric_1_19/FabricPlayer.java b/fabric-1.19/src/main/java/org/dynmap/fabric_1_19/FabricPlayer.java index 83bdf97b..21ec5625 100644 --- a/fabric-1.19/src/main/java/org/dynmap/fabric_1_19/FabricPlayer.java +++ b/fabric-1.19/src/main/java/org/dynmap/fabric_1_19/FabricPlayer.java @@ -194,8 +194,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/fabric-1.20/src/main/java/org/dynmap/fabric_1_20/FabricPlayer.java b/fabric-1.20/src/main/java/org/dynmap/fabric_1_20/FabricPlayer.java index 9532648f..aa3d5169 100644 --- a/fabric-1.20/src/main/java/org/dynmap/fabric_1_20/FabricPlayer.java +++ b/fabric-1.20/src/main/java/org/dynmap/fabric_1_20/FabricPlayer.java @@ -196,8 +196,10 @@ public class FabricPlayer extends FabricCommandSender implements DynmapPlayer { @Override public boolean isInvisible() { - if (player != null) { - return player.isInvisible(); + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); } return false; } diff --git a/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/DynmapPlugin.java b/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/DynmapPlugin.java index f02c9579..e564e710 100644 --- a/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/DynmapPlugin.java +++ b/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/DynmapPlugin.java @@ -1327,10 +1327,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/DynmapPlugin.java b/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/DynmapPlugin.java index b770de74..198c15a6 100644 --- a/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/DynmapPlugin.java +++ b/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/DynmapPlugin.java @@ -1286,10 +1286,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/DynmapPlugin.java b/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/DynmapPlugin.java index 7b0301a3..b0184705 100644 --- a/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/DynmapPlugin.java +++ b/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/DynmapPlugin.java @@ -1295,10 +1295,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.16.5/src/main/java/org/dynmap/forge_1_16_5/DynmapPlugin.java b/forge-1.16.5/src/main/java/org/dynmap/forge_1_16_5/DynmapPlugin.java index 728504e3..0909143b 100644 --- a/forge-1.16.5/src/main/java/org/dynmap/forge_1_16_5/DynmapPlugin.java +++ b/forge-1.16.5/src/main/java/org/dynmap/forge_1_16_5/DynmapPlugin.java @@ -1313,10 +1313,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.17.1/src/main/java/org/dynmap/forge_1_17_1/DynmapPlugin.java b/forge-1.17.1/src/main/java/org/dynmap/forge_1_17_1/DynmapPlugin.java index 9479e425..96c3f625 100644 --- a/forge-1.17.1/src/main/java/org/dynmap/forge_1_17_1/DynmapPlugin.java +++ b/forge-1.17.1/src/main/java/org/dynmap/forge_1_17_1/DynmapPlugin.java @@ -1293,10 +1293,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.18.2/src/main/java/org/dynmap/forge_1_18_2/DynmapPlugin.java b/forge-1.18.2/src/main/java/org/dynmap/forge_1_18_2/DynmapPlugin.java index dde09075..061b0ab0 100644 --- a/forge-1.18.2/src/main/java/org/dynmap/forge_1_18_2/DynmapPlugin.java +++ b/forge-1.18.2/src/main/java/org/dynmap/forge_1_18_2/DynmapPlugin.java @@ -1300,10 +1300,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.19.2/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java b/forge-1.19.2/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java index a4ab024d..9dc4aab1 100644 --- a/forge-1.19.2/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java +++ b/forge-1.19.2/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java @@ -1300,10 +1300,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.19.3/src/main/java/org/dynmap/forge_1_19_3/DynmapPlugin.java b/forge-1.19.3/src/main/java/org/dynmap/forge_1_19_3/DynmapPlugin.java index c314aa76..5ffc40fe 100644 --- a/forge-1.19.3/src/main/java/org/dynmap/forge_1_19_3/DynmapPlugin.java +++ b/forge-1.19.3/src/main/java/org/dynmap/forge_1_19_3/DynmapPlugin.java @@ -1302,10 +1302,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.19/src/main/java/org/dynmap/forge_1_19/DynmapPlugin.java b/forge-1.19/src/main/java/org/dynmap/forge_1_19/DynmapPlugin.java index 950ab55d..6d32668d 100644 --- a/forge-1.19/src/main/java/org/dynmap/forge_1_19/DynmapPlugin.java +++ b/forge-1.19/src/main/java/org/dynmap/forge_1_19/DynmapPlugin.java @@ -1300,10 +1300,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/forge-1.20/src/main/java/org/dynmap/forge_1_20/DynmapPlugin.java b/forge-1.20/src/main/java/org/dynmap/forge_1_20/DynmapPlugin.java index 893535a8..0cb7ab40 100644 --- a/forge-1.20/src/main/java/org/dynmap/forge_1_20/DynmapPlugin.java +++ b/forge-1.20/src/main/java/org/dynmap/forge_1_20/DynmapPlugin.java @@ -1302,10 +1302,12 @@ public class DynmapPlugin } @Override public boolean isInvisible() { - if(player != null) { - return player.isInvisible(); - } - return false; + if(player != null) { + if (player.isSpectator()) + return true; + else return player.isInvisible(); + } + return false; } @Override public int getSortWeight() { diff --git a/spigot/src/main/java/org/dynmap/bukkit/DynmapPlugin.java b/spigot/src/main/java/org/dynmap/bukkit/DynmapPlugin.java index d54154fc..db73a423 100644 --- a/spigot/src/main/java/org/dynmap/bukkit/DynmapPlugin.java +++ b/spigot/src/main/java/org/dynmap/bukkit/DynmapPlugin.java @@ -22,14 +22,7 @@ import org.bstats.bukkit.Metrics; import org.bstats.charts.CustomChart; import org.bstats.json.JsonObjectBuilder; import org.bstats.json.JsonObjectBuilder.JsonObject; -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Chunk; -import org.bukkit.ChunkSnapshot; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; +import org.bukkit.*; import org.bukkit.attribute.Attribute; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; @@ -763,7 +756,9 @@ public class DynmapPlugin extends JavaPlugin implements DynmapAPI { @Override public boolean isInvisible() { if(player != null) { - return player.hasPotionEffect(PotionEffectType.INVISIBILITY); + if (player.getGameMode() == GameMode.SPECTATOR) + return true; + else return player.hasPotionEffect(PotionEffectType.INVISIBILITY); } return false; }