diff --git a/main/src/main/java/net/citizensnpcs/util/NMS.java b/main/src/main/java/net/citizensnpcs/util/NMS.java index 23ca08d52..99427bcee 100644 --- a/main/src/main/java/net/citizensnpcs/util/NMS.java +++ b/main/src/main/java/net/citizensnpcs/util/NMS.java @@ -657,10 +657,6 @@ public class NMS { BRIDGE.sleep(entity, sleep); } - public static boolean tick(Entity next) { - return BRIDGE.tick(next); - } - public static void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, SwimmingExaminer.isWaterMob(entity) ? 0.02F : 0.04F); } diff --git a/main/src/main/java/net/citizensnpcs/util/NMSBridge.java b/main/src/main/java/net/citizensnpcs/util/NMSBridge.java index 291d3b135..6113007a7 100644 --- a/main/src/main/java/net/citizensnpcs/util/NMSBridge.java +++ b/main/src/main/java/net/citizensnpcs/util/NMSBridge.java @@ -226,8 +226,6 @@ public interface NMSBridge { public void sleep(Player entity, boolean sleep); - public boolean tick(Entity next); - public void trySwim(Entity entity); public void trySwim(Entity entity, float power); diff --git a/main/src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java b/main/src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java index 1e3e307ed..088aabf07 100644 --- a/main/src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java +++ b/main/src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java @@ -2,7 +2,6 @@ package net.citizensnpcs.util; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.UUID; @@ -19,30 +18,11 @@ public class PlayerUpdateTask extends BukkitRunnable { @Override public void cancel() { super.cancel(); - TICKERS.clear(); - TICKERS_PENDING_ADD.clear(); - TICKERS_PENDING_REMOVE.clear(); + PLAYERS.clear(); } @Override public void run() { - for (int i = 0; i < TICKERS_PENDING_ADD.size(); i++) { - org.bukkit.entity.Entity ent = TICKERS_PENDING_ADD.get(i); - TICKERS.put(ent.getUniqueId(), ent); - } - for (int i = 0; i < TICKERS_PENDING_REMOVE.size(); i++) { - TICKERS.remove(TICKERS_PENDING_REMOVE.get(i).getUniqueId()); - } - TICKERS_PENDING_ADD.clear(); - TICKERS_PENDING_REMOVE.clear(); - Iterator itr = TICKERS.values().iterator(); - while (itr.hasNext()) { - Entity entity = itr.next(); - if (NMS.tick(entity)) { - itr.remove(); - } - } - for (Entity entity : PLAYERS_PENDING_REMOVE) { PLAYERS.remove(entity.getUniqueId()); } @@ -80,17 +60,6 @@ public class PlayerUpdateTask extends BukkitRunnable { } } - public static void addOrRemove(org.bukkit.entity.Entity entity, boolean remove) { - boolean contains = TICKERS.containsKey(entity.getUniqueId()); - if (!remove) { - if (contains) { - TICKERS_PENDING_REMOVE.add(entity); - } - } else if (!contains) { - TICKERS_PENDING_ADD.add(entity); - } - } - public static void deregisterPlayer(org.bukkit.entity.Entity entity) { PLAYERS_PENDING_ADD.remove(entity); PLAYERS_PENDING_REMOVE.add(entity); @@ -104,7 +73,4 @@ public class PlayerUpdateTask extends BukkitRunnable { private static Map PLAYERS = new HashMap<>(); private static List PLAYERS_PENDING_ADD = new ArrayList<>(); private static List PLAYERS_PENDING_REMOVE = new ArrayList<>(); - private static Map TICKERS = new HashMap<>(); - private static List TICKERS_PENDING_ADD = new ArrayList<>(); - private static List TICKERS_PENDING_REMOVE = new ArrayList<>(); } diff --git a/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/NMSImpl.java b/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/NMSImpl.java index 050a36390..8c7bf4de8 100644 --- a/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/NMSImpl.java +++ b/v1_10_R1/src/main/java/net/citizensnpcs/nms/v1_10_R1/util/NMSImpl.java @@ -177,7 +177,6 @@ import net.citizensnpcs.util.Messages; import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.NMSBridge; import net.citizensnpcs.util.PlayerAnimation; -import net.citizensnpcs.util.PlayerUpdateTask; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_10_R1.AttributeInstance; import net.minecraft.server.v1_10_R1.AxisAlignedBB; @@ -263,7 +262,6 @@ public class NMSImpl implements NMSBridge { } else if (!handle.world.players.contains(handle)) { handle.world.players.add(handle); } - PlayerUpdateTask.addOrRemove(entity, remove); } @Override @@ -891,8 +889,43 @@ public class NMSImpl implements NMSBridge { } @Override - public Runnable playerTicker(Player entity) { - return ((EntityPlayer) getHandle(entity))::k_; + public Runnable playerTicker(Player next) { + return () -> { + EntityPlayer entity = (EntityPlayer) getHandle(next); + boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", + Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); + entity.k_(); + if (!removeFromPlayerList) { + return; + } + Entity entity1 = entity.getVehicle(); + if (entity1 != null) { + if ((entity1.dead) || (!entity1.w(entity))) { + entity.stopRiding(); + } + } else { + if (!entity.dead) { + try { + entity.world.entityJoinedWorld(entity, true); + } catch (Throwable throwable) { + CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); + CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); + + entity.appendEntityCrashDetails(crashreportsystemdetails); + throw new ReportedException(crashreport); + } + } + if (entity.dead) { + entity.world.removeEntity(entity); + } else if (!removeFromPlayerList) { + if (!entity.world.players.contains(entity)) { + entity.world.players.add(entity); + } + } else { + entity.world.players.remove(entity); + } + } + }; } @Override @@ -1263,43 +1296,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.bB(); - if (entity1 != null) { - if ((entity1.dead) || (!entity1.w(entity))) { - entity.stopRiding(); - } - } else { - if (!entity.dead) { - try { - entity.world.g(entity); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); - - entity.appendEntityCrashDetails(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (entity.dead) { - entity.world.removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.world.players.contains(entity)) { - entity.world.players.add((EntityHuman) entity); - } - return true; - } else { - entity.world.players.remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/NMSImpl.java b/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/NMSImpl.java index 79490d358..37aeeab37 100644 --- a/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/NMSImpl.java +++ b/v1_11_R1/src/main/java/net/citizensnpcs/nms/v1_11_R1/util/NMSImpl.java @@ -194,7 +194,6 @@ import net.citizensnpcs.util.Messages; import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.NMSBridge; import net.citizensnpcs.util.PlayerAnimation; -import net.citizensnpcs.util.PlayerUpdateTask; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_11_R1.AttributeInstance; import net.minecraft.server.v1_11_R1.AxisAlignedBB; @@ -284,7 +283,6 @@ public class NMSImpl implements NMSBridge { } else if (!handle.world.players.contains(handle)) { handle.world.players.add(handle); } - PlayerUpdateTask.addOrRemove(entity, remove); } @Override @@ -949,8 +947,43 @@ public class NMSImpl implements NMSBridge { } @Override - public Runnable playerTicker(Player entity) { - return ((EntityPlayer) getHandle(entity))::playerTick; + public Runnable playerTicker(Player next) { + return () -> { + EntityPlayer entity = (EntityPlayer) getHandle(next); + boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", + Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); + entity.playerTick(); + if (!removeFromPlayerList) { + return; + } + Entity entity1 = entity.getVehicle(); + if (entity1 != null) { + if ((entity1.dead) || (!entity1.w(entity))) { + entity.stopRiding(); + } + } else { + if (!entity.dead) { + try { + entity.world.entityJoinedWorld(entity, true); + } catch (Throwable throwable) { + CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); + CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); + + entity.appendEntityCrashDetails(crashreportsystemdetails); + throw new ReportedException(crashreport); + } + } + if (entity.dead) { + entity.world.removeEntity(entity); + } else if (!removeFromPlayerList) { + if (!entity.world.players.contains(entity)) { + entity.world.players.add(entity); + } + } else { + entity.world.players.remove(entity); + } + } + }; } @Override @@ -1330,43 +1363,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.bB(); - if (entity1 != null) { - if ((entity1.dead) || (!entity1.w(entity))) { - entity.stopRiding(); - } - } else { - if (!entity.dead) { - try { - entity.world.entityJoinedWorld(entity, true); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); - - entity.appendEntityCrashDetails(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (entity.dead) { - entity.world.removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.world.players.contains(entity)) { - entity.world.players.add((EntityHuman) entity); - } - return true; - } else { - entity.world.players.remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/NMSImpl.java b/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/NMSImpl.java index 52fde2a3a..9fc95875f 100644 --- a/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/NMSImpl.java +++ b/v1_12_R1/src/main/java/net/citizensnpcs/nms/v1_12_R1/util/NMSImpl.java @@ -197,7 +197,6 @@ import net.citizensnpcs.util.Messages; import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.NMSBridge; import net.citizensnpcs.util.PlayerAnimation; -import net.citizensnpcs.util.PlayerUpdateTask; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_12_R1.AttributeInstance; import net.minecraft.server.v1_12_R1.AxisAlignedBB; @@ -289,7 +288,6 @@ public class NMSImpl implements NMSBridge { } else if (!handle.world.players.contains(handle)) { handle.world.players.add(handle); } - PlayerUpdateTask.addOrRemove(entity, remove); } @Override @@ -959,8 +957,43 @@ public class NMSImpl implements NMSBridge { } @Override - public Runnable playerTicker(Player entity) { - return ((EntityPlayer) getHandle(entity))::playerTick; + public Runnable playerTicker(Player next) { + return () -> { + EntityPlayer entity = (EntityPlayer) getHandle(next); + boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", + Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); + entity.playerTick(); + if (!removeFromPlayerList) { + return; + } + Entity entity1 = entity.getVehicle(); + if (entity1 != null) { + if ((entity1.dead) || (!entity1.w(entity))) { + entity.stopRiding(); + } + } else { + if (!entity.dead) { + try { + entity.world.entityJoinedWorld(entity, true); + } catch (Throwable throwable) { + CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); + CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); + + entity.appendEntityCrashDetails(crashreportsystemdetails); + throw new ReportedException(crashreport); + } + } + if (entity.dead) { + entity.world.removeEntity(entity); + } else if (!removeFromPlayerList) { + if (!entity.world.players.contains(entity)) { + entity.world.players.add(entity); + } + } else { + entity.world.players.remove(entity); + } + } + }; } @Override @@ -1340,43 +1373,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.bJ(); - if (entity1 != null) { - if ((entity1.dead) || (!entity1.w(entity))) { - entity.stopRiding(); - } - } else { - if (!entity.dead) { - try { - entity.world.entityJoinedWorld(entity, true); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); - - entity.appendEntityCrashDetails(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (entity.dead) { - entity.world.removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.world.players.contains(entity)) { - entity.world.players.add((EntityHuman) entity); - } - return true; - } else { - entity.world.players.remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java index 95942f904..1ea44f9fe 100644 --- a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java +++ b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java @@ -211,7 +211,6 @@ import net.citizensnpcs.util.Messages; import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.NMSBridge; import net.citizensnpcs.util.PlayerAnimation; -import net.citizensnpcs.util.PlayerUpdateTask; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_13_R2.AttributeInstance; import net.minecraft.server.v1_13_R2.AxisAlignedBB; @@ -309,7 +308,6 @@ public class NMSImpl implements NMSBridge { } else if (!handle.world.players.contains(handle)) { handle.world.players.add(handle); } - PlayerUpdateTask.addOrRemove(entity, remove); } @Override @@ -995,8 +993,43 @@ public class NMSImpl implements NMSBridge { } @Override - public Runnable playerTicker(Player entity) { - return ((EntityPlayer) getHandle(entity))::playerTick; + public Runnable playerTicker(Player next) { + return () -> { + EntityPlayer entity = (EntityPlayer) getHandle(next); + boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", + Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); + entity.playerTick(); + if (!removeFromPlayerList) { + return; + } + Entity entity1 = entity.getVehicle(); + if (entity1 != null) { + if ((entity1.dead) || (!entity1.w(entity))) { + entity.stopRiding(); + } + } else { + if (!entity.dead) { + try { + entity.world.entityJoinedWorld(entity, true); + } catch (Throwable throwable) { + CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); + CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); + + entity.appendEntityCrashDetails(crashreportsystemdetails); + throw new ReportedException(crashreport); + } + } + if (entity.dead) { + entity.world.removeEntity(entity); + } else if (!removeFromPlayerList) { + if (!entity.world.players.contains(entity)) { + entity.world.players.add(entity); + } + } else { + entity.world.players.remove(entity); + } + } + }; } @Override @@ -1380,43 +1413,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.getVehicle(); - if (entity1 != null) { - if ((entity1.dead) || (!entity1.w(entity))) { - entity.stopRiding(); - } - } else { - if (!entity.dead) { - try { - entity.world.entityJoinedWorld(entity, true); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); - - entity.appendEntityCrashDetails(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (entity.dead) { - entity.world.removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.world.players.contains(entity)) { - entity.world.players.add((EntityHuman) entity); - } - return true; - } else { - entity.world.players.remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java index 1d9f051bb..e47d5ecb2 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java @@ -237,8 +237,6 @@ import net.minecraft.server.v1_14_R1.ContainerAnvil; import net.minecraft.server.v1_14_R1.Containers; import net.minecraft.server.v1_14_R1.ControllerJump; import net.minecraft.server.v1_14_R1.ControllerMove; -import net.minecraft.server.v1_14_R1.CrashReport; -import net.minecraft.server.v1_14_R1.CrashReportSystemDetails; import net.minecraft.server.v1_14_R1.DamageSource; import net.minecraft.server.v1_14_R1.DataWatcherObject; import net.minecraft.server.v1_14_R1.EnchantmentManager; @@ -294,7 +292,6 @@ import net.minecraft.server.v1_14_R1.PathfinderGoalSelector; import net.minecraft.server.v1_14_R1.PlayerChunkMap; import net.minecraft.server.v1_14_R1.PlayerChunkMap.EntityTracker; import net.minecraft.server.v1_14_R1.RegistryBlocks; -import net.minecraft.server.v1_14_R1.ReportedException; import net.minecraft.server.v1_14_R1.ScoreboardTeam; import net.minecraft.server.v1_14_R1.SoundEffect; import net.minecraft.server.v1_14_R1.Vec3D; @@ -1388,44 +1385,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.getVehicle(); - if (entity1 != null) { - if ((entity1.dead) || (!entity1.w(entity))) { - entity.stopRiding(); - } - } else { - if (!entity.dead) { - try { - ((WorldServer) entity.world).entityJoinedWorld(entity); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); - - entity.appendEntityCrashDetails(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (entity.dead) { - ((WorldServer) entity.world).removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.world.getPlayers().contains(entity)) { - List list = entity.world.getPlayers(); - list.add(entity); - } - return true; - } else { - entity.world.getPlayers().remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/NMSImpl.java b/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/NMSImpl.java index 19eb16084..54adc9aaa 100644 --- a/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/NMSImpl.java +++ b/v1_15_R1/src/main/java/net/citizensnpcs/nms/v1_15_R1/util/NMSImpl.java @@ -240,8 +240,6 @@ import net.minecraft.server.v1_15_R1.Containers; import net.minecraft.server.v1_15_R1.ControllerJump; import net.minecraft.server.v1_15_R1.ControllerMove; import net.minecraft.server.v1_15_R1.ControllerMoveFlying; -import net.minecraft.server.v1_15_R1.CrashReport; -import net.minecraft.server.v1_15_R1.CrashReportSystemDetails; import net.minecraft.server.v1_15_R1.DamageSource; import net.minecraft.server.v1_15_R1.DataWatcherObject; import net.minecraft.server.v1_15_R1.EnchantmentManager; @@ -299,7 +297,6 @@ import net.minecraft.server.v1_15_R1.PathfinderGoalSelector; import net.minecraft.server.v1_15_R1.PlayerChunkMap; import net.minecraft.server.v1_15_R1.PlayerChunkMap.EntityTracker; import net.minecraft.server.v1_15_R1.RegistryBlocks; -import net.minecraft.server.v1_15_R1.ReportedException; import net.minecraft.server.v1_15_R1.ScoreboardTeam; import net.minecraft.server.v1_15_R1.SoundEffect; import net.minecraft.server.v1_15_R1.Vec3D; @@ -1437,44 +1434,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.getVehicle(); - if (entity1 != null) { - if ((entity1.dead) || (!entity1.w(entity))) { - entity.stopRiding(); - } - } else { - if (!entity.dead) { - try { - ((WorldServer) entity.world).entityJoinedWorld(entity); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); - - entity.appendEntityCrashDetails(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (entity.dead) { - ((WorldServer) entity.world).removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.world.getPlayers().contains(entity)) { - List list = entity.world.getPlayers(); - list.add(entity); - } - return true; - } else { - entity.world.getPlayers().remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_16_R3/src/main/java/net/citizensnpcs/nms/v1_16_R3/util/NMSImpl.java b/v1_16_R3/src/main/java/net/citizensnpcs/nms/v1_16_R3/util/NMSImpl.java index 1fd0705f1..0d4736b08 100644 --- a/v1_16_R3/src/main/java/net/citizensnpcs/nms/v1_16_R3/util/NMSImpl.java +++ b/v1_16_R3/src/main/java/net/citizensnpcs/nms/v1_16_R3/util/NMSImpl.java @@ -247,8 +247,6 @@ import net.minecraft.server.v1_16_R3.Containers; import net.minecraft.server.v1_16_R3.ControllerJump; import net.minecraft.server.v1_16_R3.ControllerMove; import net.minecraft.server.v1_16_R3.ControllerMoveFlying; -import net.minecraft.server.v1_16_R3.CrashReport; -import net.minecraft.server.v1_16_R3.CrashReportSystemDetails; import net.minecraft.server.v1_16_R3.DamageSource; import net.minecraft.server.v1_16_R3.DataWatcherObject; import net.minecraft.server.v1_16_R3.EnchantmentManager; @@ -308,7 +306,6 @@ import net.minecraft.server.v1_16_R3.PathfinderGoalSelector; import net.minecraft.server.v1_16_R3.PlayerChunkMap; import net.minecraft.server.v1_16_R3.PlayerChunkMap.EntityTracker; import net.minecraft.server.v1_16_R3.RegistryBlocks; -import net.minecraft.server.v1_16_R3.ReportedException; import net.minecraft.server.v1_16_R3.ScoreboardTeam; import net.minecraft.server.v1_16_R3.SoundEffect; import net.minecraft.server.v1_16_R3.TagsFluid; @@ -1464,44 +1461,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.getVehicle(); - if (entity1 != null) { - if ((entity1.dead) || (!entity1.w(entity))) { - entity.stopRiding(); - } - } else { - if (!entity.dead) { - try { - ((WorldServer) entity.world).entityJoinedWorld(entity); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); - - entity.appendEntityCrashDetails(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (entity.dead) { - ((WorldServer) entity.world).removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.world.getPlayers().contains(entity)) { - List list = entity.world.getPlayers(); - list.add(entity); - } - return true; - } else { - entity.world.getPlayers().remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_17_R1/src/main/java/net/citizensnpcs/nms/v1_17_R1/util/NMSImpl.java b/v1_17_R1/src/main/java/net/citizensnpcs/nms/v1_17_R1/util/NMSImpl.java index 66778706a..5abb423c9 100644 --- a/v1_17_R1/src/main/java/net/citizensnpcs/nms/v1_17_R1/util/NMSImpl.java +++ b/v1_17_R1/src/main/java/net/citizensnpcs/nms/v1_17_R1/util/NMSImpl.java @@ -233,9 +233,6 @@ import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.NMSBridge; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; -import net.minecraft.CrashReport; -import net.minecraft.CrashReportCategory; -import net.minecraft.ReportedException; import net.minecraft.core.BlockPos; import net.minecraft.core.Registry; import net.minecraft.network.Connection; @@ -1454,43 +1451,6 @@ public class NMSImpl implements NMSBridge { getHandle(player).setPose(sleeping ? Pose.SLEEPING : Pose.STANDING); } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.getVehicle(); - if (entity1 != null) { - if ((!entity1.isAlive()) || (!entity1.hasPassenger(entity))) { - entity.stopRiding(); - } - } else { - if (entity.isAlive()) { - try { - ((ServerLevel) entity.level).tickNonPassenger(entity); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.forThrowable(throwable, "Ticking player"); - CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Player being ticked"); - entity.fillCrashReportCategory(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (!entity.isAlive()) { - ((ServerLevel) entity.level).getChunkProvider().removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.level.players().contains(entity)) { - List list = entity.level.players(); - list.add(entity); - } - return true; - } else { - entity.level.players().remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_18_R2/src/main/java/net/citizensnpcs/nms/v1_18_R2/util/NMSImpl.java b/v1_18_R2/src/main/java/net/citizensnpcs/nms/v1_18_R2/util/NMSImpl.java index cd9a6cc43..259ec4f78 100644 --- a/v1_18_R2/src/main/java/net/citizensnpcs/nms/v1_18_R2/util/NMSImpl.java +++ b/v1_18_R2/src/main/java/net/citizensnpcs/nms/v1_18_R2/util/NMSImpl.java @@ -234,9 +234,6 @@ import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.NMSBridge; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; -import net.minecraft.CrashReport; -import net.minecraft.CrashReportCategory; -import net.minecraft.ReportedException; import net.minecraft.core.BlockPos; import net.minecraft.core.Registry; import net.minecraft.network.Connection; @@ -1462,43 +1459,6 @@ public class NMSImpl implements NMSBridge { getHandle(player).setPose(sleeping ? Pose.SLEEPING : Pose.STANDING); } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.getVehicle(); - if (entity1 != null) { - if ((!entity1.isAlive()) || (!entity1.hasPassenger(entity))) { - entity.stopRiding(); - } - } else { - if (entity.isAlive()) { - try { - ((ServerLevel) entity.level).tickNonPassenger(entity); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.forThrowable(throwable, "Ticking player"); - CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Player being ticked"); - entity.fillCrashReportCategory(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get(NPC.Metadata.REMOVE_FROM_PLAYERLIST, - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (!entity.isAlive()) { - ((ServerLevel) entity.level).getChunkSource().removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.level.players().contains(entity)) { - List list = entity.level.players(); - list.add(entity); - } - return true; - } else { - entity.level.players().remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_19_R2/src/main/java/net/citizensnpcs/nms/v1_19_R2/util/NMSImpl.java b/v1_19_R2/src/main/java/net/citizensnpcs/nms/v1_19_R2/util/NMSImpl.java index 670d522be..de7e54228 100644 --- a/v1_19_R2/src/main/java/net/citizensnpcs/nms/v1_19_R2/util/NMSImpl.java +++ b/v1_19_R2/src/main/java/net/citizensnpcs/nms/v1_19_R2/util/NMSImpl.java @@ -249,9 +249,6 @@ import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.NMSBridge; import net.citizensnpcs.util.PlayerAnimation; import net.citizensnpcs.util.Util; -import net.minecraft.CrashReport; -import net.minecraft.CrashReportCategory; -import net.minecraft.ReportedException; import net.minecraft.core.BlockPos; import net.minecraft.core.PositionImpl; import net.minecraft.core.registries.BuiltInRegistries; @@ -1592,43 +1589,6 @@ public class NMSImpl implements NMSBridge { getHandle(player).setPose(sleeping ? Pose.SLEEPING : Pose.STANDING); } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - Entity entity1 = entity.getVehicle(); - if (entity1 != null) { - if ((!entity1.isAlive()) || (!entity1.hasPassenger(entity))) { - entity.stopRiding(); - } - } else { - if (entity.isAlive()) { - try { - ((ServerLevel) entity.level).tickNonPassenger(entity); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.forThrowable(throwable, "Ticking player"); - CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Player being ticked"); - entity.fillCrashReportCategory(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get(NPC.Metadata.REMOVE_FROM_PLAYERLIST, - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (!entity.isAlive()) { - ((ServerLevel) entity.level).getChunkSource().removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.level.players().contains(entity)) { - List list = entity.level.players(); - list.add(entity); - } - return true; - } else { - entity.level.players().remove(entity); - } - } - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F); diff --git a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/NMSImpl.java b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/NMSImpl.java index ed554746b..e8904ae1e 100644 --- a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/NMSImpl.java +++ b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/NMSImpl.java @@ -162,7 +162,6 @@ import net.citizensnpcs.util.Messages; import net.citizensnpcs.util.NMS; import net.citizensnpcs.util.NMSBridge; import net.citizensnpcs.util.PlayerAnimation; -import net.citizensnpcs.util.PlayerUpdateTask; import net.citizensnpcs.util.Util; import net.minecraft.server.v1_8_R3.AttributeInstance; import net.minecraft.server.v1_8_R3.AxisAlignedBB; @@ -238,7 +237,6 @@ public class NMSImpl implements NMSBridge { } else if (!handle.world.players.contains(handle)) { handle.world.players.add(handle); } - PlayerUpdateTask.addOrRemove(entity, remove); } @Override @@ -832,8 +830,36 @@ public class NMSImpl implements NMSBridge { } @Override - public Runnable playerTicker(Player entity) { - return ((EntityPlayer) getHandle(entity))::l; + public Runnable playerTicker(Player next) { + return () -> { + EntityPlayer entity = (EntityPlayer) getHandle(next); + boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", + Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); + entity.l(); + if (!removeFromPlayerList) { + return; + } + if (!entity.dead) { + try { + entity.world.g(entity); + } catch (Throwable throwable) { + CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); + CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); + + entity.appendEntityCrashDetails(crashreportsystemdetails); + throw new ReportedException(crashreport); + } + } + if (entity.dead) { + entity.world.removeEntity(entity); + } else if (!removeFromPlayerList) { + if (!entity.world.players.contains(entity)) { + entity.world.players.add(entity); + } + } else { + entity.world.players.remove(entity); + } + }; } @Override @@ -1200,37 +1226,6 @@ public class NMSImpl implements NMSBridge { } } - @Override - public boolean tick(org.bukkit.entity.Entity next) { - Entity entity = NMSImpl.getHandle(next); - if (!entity.dead) { - try { - entity.world.g(entity); - } catch (Throwable throwable) { - CrashReport crashreport = CrashReport.a(throwable, "Ticking player"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Player being ticked"); - - entity.appendEntityCrashDetails(crashreportsystemdetails); - throw new ReportedException(crashreport); - } - } - boolean removeFromPlayerList = ((NPCHolder) entity).getNPC().data().get("removefromplayerlist", - Setting.REMOVE_PLAYERS_FROM_PLAYER_LIST.asBoolean()); - if (entity.dead) { - entity.world.removeEntity(entity); - return true; - } else if (!removeFromPlayerList) { - if (!entity.world.players.contains(entity)) { - entity.world.players.add((EntityHuman) entity); - } - return true; - } else { - entity.world.players.remove(entity); - } - - return false; - } - @Override public void trySwim(org.bukkit.entity.Entity entity) { trySwim(entity, 0.04F);