diff --git a/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/CitizensBlockBreaker.java b/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/CitizensBlockBreaker.java index 45e54815c..a16c95a45 100644 --- a/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/CitizensBlockBreaker.java +++ b/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/CitizensBlockBreaker.java @@ -9,6 +9,7 @@ import net.citizensnpcs.api.ai.tree.BehaviorStatus; import net.citizensnpcs.api.npc.BlockBreaker; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.npc.ai.NPCHolder; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_10_R1.BlockPosition; @@ -46,7 +47,8 @@ public class CitizensBlockBreaker extends BlockBreaker { } private double distanceSquared() { - return Math.pow(entity.locX - x, 2) + Math.pow(entity.locY - y, 2) + Math.pow(entity.locZ - z, 2); + return Math.pow(entity.locX - x, 2) + Math.pow(NMS.getHeight(entity.getBukkitEntity()) + entity.locY - y, 2) + + Math.pow(entity.locZ - z, 2); } private net.minecraft.server.v1_10_R1.ItemStack getCurrentItem() { diff --git a/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/CitizensBlockBreaker.java b/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/CitizensBlockBreaker.java index a433c220b..3fcd903a9 100644 --- a/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/CitizensBlockBreaker.java +++ b/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/CitizensBlockBreaker.java @@ -9,6 +9,7 @@ import net.citizensnpcs.api.ai.tree.BehaviorStatus; import net.citizensnpcs.api.npc.BlockBreaker; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.npc.ai.NPCHolder; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_11_R1.BlockPosition; @@ -46,7 +47,8 @@ public class CitizensBlockBreaker extends BlockBreaker { } private double distanceSquared() { - return Math.pow(entity.locX - x, 2) + Math.pow(entity.locY - y, 2) + Math.pow(entity.locZ - z, 2); + return Math.pow(entity.locX - x, 2) + Math.pow(NMS.getHeight(entity.getBukkitEntity()) + entity.locY - y, 2) + + Math.pow(entity.locZ - z, 2); } private net.minecraft.server.v1_11_R1.ItemStack getCurrentItem() { diff --git a/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/CitizensBlockBreaker.java b/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/CitizensBlockBreaker.java index 91ca551f1..8de20ced7 100644 --- a/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/CitizensBlockBreaker.java +++ b/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/CitizensBlockBreaker.java @@ -9,6 +9,7 @@ import net.citizensnpcs.api.ai.tree.BehaviorStatus; import net.citizensnpcs.api.npc.BlockBreaker; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.npc.ai.NPCHolder; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_12_R1.BlockPosition; @@ -46,7 +47,8 @@ public class CitizensBlockBreaker extends BlockBreaker { } private double distanceSquared() { - return Math.pow(entity.locX - x, 2) + Math.pow(entity.locY - y, 2) + Math.pow(entity.locZ - z, 2); + return Math.pow(entity.locX - x, 2) + Math.pow(NMS.getHeight(entity.getBukkitEntity()) + entity.locY - y, 2) + + Math.pow(entity.locZ - z, 2); } private net.minecraft.server.v1_12_R1.ItemStack getCurrentItem() { diff --git a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/CitizensBlockBreaker.java b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/CitizensBlockBreaker.java index bcf052dae..ba3333cfc 100644 --- a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/CitizensBlockBreaker.java +++ b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/CitizensBlockBreaker.java @@ -9,6 +9,7 @@ import net.citizensnpcs.api.ai.tree.BehaviorStatus; import net.citizensnpcs.api.npc.BlockBreaker; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.npc.ai.NPCHolder; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_13_R2.BlockPosition; @@ -46,7 +47,8 @@ public class CitizensBlockBreaker extends BlockBreaker { } private double distanceSquared() { - return Math.pow(entity.locX - x, 2) + Math.pow(entity.locY - y, 2) + Math.pow(entity.locZ - z, 2); + return Math.pow(entity.locX - x, 2) + Math.pow(NMS.getHeight(entity.getBukkitEntity()) + entity.locY - y, 2) + + Math.pow(entity.locZ - z, 2); } private net.minecraft.server.v1_13_R2.ItemStack getCurrentItem() { diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/CitizensBlockBreaker.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/CitizensBlockBreaker.java index f8abb5962..3ca298753 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/CitizensBlockBreaker.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/CitizensBlockBreaker.java @@ -9,6 +9,7 @@ import net.citizensnpcs.api.ai.tree.BehaviorStatus; import net.citizensnpcs.api.npc.BlockBreaker; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.npc.ai.NPCHolder; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_14_R1.BlockPosition; @@ -47,7 +48,8 @@ public class CitizensBlockBreaker extends BlockBreaker { } private double distanceSquared() { - return Math.pow(entity.locX - x, 2) + Math.pow(entity.locY - y, 2) + Math.pow(entity.locZ - z, 2); + return Math.pow(entity.locX - x, 2) + Math.pow(NMS.getHeight(entity.getBukkitEntity()) + entity.locY - y, 2) + + Math.pow(entity.locZ - z, 2); } private net.minecraft.server.v1_14_R1.ItemStack getCurrentItem() { diff --git a/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/CitizensBlockBreaker.java b/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/CitizensBlockBreaker.java index d631f9603..878ab48cd 100644 --- a/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/CitizensBlockBreaker.java +++ b/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/CitizensBlockBreaker.java @@ -9,6 +9,7 @@ import net.citizensnpcs.api.ai.tree.BehaviorStatus; import net.citizensnpcs.api.npc.BlockBreaker; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.npc.ai.NPCHolder; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_15_R1.BlockPosition; @@ -47,7 +48,8 @@ public class CitizensBlockBreaker extends BlockBreaker { } private double distanceSquared() { - return Math.pow(entity.locX() - x, 2) + Math.pow(entity.locY() - y, 2) + Math.pow(entity.locZ() - z, 2); + return Math.pow(entity.locX() - x, 2) + Math.pow(NMS.getHeight(entity.getBukkitEntity()) + entity.locY() - y, 2) + + Math.pow(entity.locZ() - z, 2); } private net.minecraft.server.v1_15_R1.ItemStack getCurrentItem() { diff --git a/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/entity/HumanController.java b/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/entity/HumanController.java index caa029517..1fa19c527 100644 --- a/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/entity/HumanController.java +++ b/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/entity/HumanController.java @@ -64,22 +64,22 @@ public class HumanController extends AbstractEntityController { Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); NMS.addOrRemoveFromPlayerList(getBukkitEntity(), removeFromPlayerList); - if (Setting.USE_SCOREBOARD_TEAMS.asBoolean()) { - Scoreboard scoreboard = Util.getDummyScoreboard(); - String teamName = Util.getTeamName(profile.getId()); + if (!Setting.USE_SCOREBOARD_TEAMS.asBoolean()) + return; + Scoreboard scoreboard = Util.getDummyScoreboard(); + String teamName = Util.getTeamName(profile.getId()); - Team team = scoreboard.getTeam(teamName); - int mode = 2; - if (team == null) { - team = scoreboard.registerNewTeam(teamName); - mode = 0; - } - team.addPlayer(handle.getBukkitEntity()); - - handle.getNPC().data().set(NPC.SCOREBOARD_FAKE_TEAM_NAME_METADATA, teamName); - - Util.sendTeamPacketToOnlinePlayers(team, mode); + Team team = scoreboard.getTeam(teamName); + int mode = 2; + if (team == null) { + team = scoreboard.registerNewTeam(teamName); + mode = 0; } + team.addPlayer(handle.getBukkitEntity()); + + handle.getNPC().data().set(NPC.SCOREBOARD_FAKE_TEAM_NAME_METADATA, teamName); + + Util.sendTeamPacketToOnlinePlayers(team, mode); } }, 20); diff --git a/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/util/CitizensBlockBreaker.java b/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/util/CitizensBlockBreaker.java index 01d47ebe2..972e4efb5 100644 --- a/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/util/CitizensBlockBreaker.java +++ b/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/util/CitizensBlockBreaker.java @@ -9,6 +9,7 @@ import net.citizensnpcs.api.ai.tree.BehaviorStatus; import net.citizensnpcs.api.npc.BlockBreaker; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.npc.ai.NPCHolder; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_16_R1.BlockPosition; @@ -47,7 +48,8 @@ public class CitizensBlockBreaker extends BlockBreaker { } private double distanceSquared() { - return Math.pow(entity.locX() - x, 2) + Math.pow(entity.locY() - y, 2) + Math.pow(entity.locZ() - z, 2); + return Math.pow(entity.locX() - x, 2) + Math.pow(NMS.getHeight(entity.getBukkitEntity()) + entity.locY() - y, 2) + + Math.pow(entity.locZ() - z, 2); } private net.minecraft.server.v1_16_R1.ItemStack getCurrentItem() { diff --git a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/CitizensBlockBreaker.java b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/CitizensBlockBreaker.java index 2afeb66c6..6e172ba55 100644 --- a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/CitizensBlockBreaker.java +++ b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/CitizensBlockBreaker.java @@ -9,6 +9,7 @@ import net.citizensnpcs.api.ai.tree.BehaviorStatus; import net.citizensnpcs.api.npc.BlockBreaker; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.npc.ai.NPCHolder; +import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_8_R3.Block; @@ -46,7 +47,8 @@ public class CitizensBlockBreaker extends BlockBreaker { } private double distanceSquared() { - return Math.pow(entity.locX - x, 2) + Math.pow(entity.locY - y, 2) + Math.pow(entity.locZ - z, 2); + return Math.pow(entity.locX - x, 2) + Math.pow(NMS.getHeight(entity.getBukkitEntity()) + entity.locY - y, 2) + + Math.pow(entity.locZ - z, 2); } private net.minecraft.server.v1_8_R3.ItemStack getCurrentItem() {