From 6e9c693d49cd798189e09cf87bec289bdf786c02 Mon Sep 17 00:00:00 2001 From: luisc Date: Mon, 6 Sep 2021 12:28:14 -0500 Subject: [PATCH] Changed entity search method for custom particles to solely use entity IDs instead of entities near the closest player. --- .../java/noppes/npcs/NoppesUtilServer.java | 16 ++------- .../java/noppes/npcs/client/NoppesUtil.java | 34 +++++++------------ .../noppes/npcs/scripted/ScriptEntity.java | 9 ++--- 3 files changed, 17 insertions(+), 42 deletions(-) diff --git a/src/main/java/noppes/npcs/NoppesUtilServer.java b/src/main/java/noppes/npcs/NoppesUtilServer.java index 073e386a4..7d426d6f9 100644 --- a/src/main/java/noppes/npcs/NoppesUtilServer.java +++ b/src/main/java/noppes/npcs/NoppesUtilServer.java @@ -296,27 +296,15 @@ public class NoppesUtilServer { double motionX, double motionY, double motionZ, float gravity, float scale1, float scale2, float scaleRate, int scaleRateStart, float alpha1, float alpha2, float alphaRate, int alphaRateStart, - String playerName, EntityPlayer playerObj + int entityID ){ - List playerEntities = playerObj.worldObj.getEntitiesWithinAABB(Entity.class, playerObj.boundingBox.expand(300, 300, 300)); - - String UUID = ""; - int entityID = -1; - for(Entity e : playerEntities){ - if(e.equals(entity)){ - UUID = e.getUniqueID().toString(); - entityID = e.getEntityId(); - break; - } - } - Server.sendAssociatedData(entity, EnumPacketClient.SCRIPTED_PARTICLE, directory, HEXcolor, amount, maxAge, x, y, z, motionX, motionY, motionZ, gravity, scale1, scale2, scaleRate, scaleRateStart, alpha1, alpha2, alphaRate, alphaRateStart, - playerName, UUID, entityID + entityID ); } diff --git a/src/main/java/noppes/npcs/client/NoppesUtil.java b/src/main/java/noppes/npcs/client/NoppesUtil.java index 60d503068..a40f8f586 100644 --- a/src/main/java/noppes/npcs/client/NoppesUtil.java +++ b/src/main/java/noppes/npcs/client/NoppesUtil.java @@ -99,9 +99,6 @@ public class NoppesUtil { float alphaRate = buffer.readFloat(); int alphaRateStart = buffer.readInt(); - String playerName = Server.readString(buffer); - String UUID = Server.readString(buffer); - int entityID = buffer.readInt(); ModelPartData particle = new ModelPartData(); @@ -114,25 +111,20 @@ public class NoppesUtil { ); World worldObj = Minecraft.getMinecraft().theWorld; - EntityPlayer player = worldObj.getPlayerEntityByName(playerName); - List entities = player.worldObj.getEntitiesWithinAABB(Entity.class, player.boundingBox.expand(300, 300, 300)); - for(Entity entity : entities){ - if(UUID.equals(entity.getPersistentID().toString()) || (entity.getEntityId() == entityID)){ - EntityCustomFX fx = new EntityCustomFX( - entity, - x, y, z, - motionX, motionY, motionZ, gravity, - scale1, scale2, scaleRate, scaleRateStart, - alpha1, alpha2, alphaRate, alphaRateStart, - particle.getMaxAge(), - particle - ); + Entity entity = worldObj.getEntityByID(entityID); - for(int i = 0; i < particle.getAmount(); i++){ - minecraft.effectRenderer.addEffect(fx); - } - break; - } + EntityCustomFX fx = new EntityCustomFX( + entity, + x, y, z, + motionX, motionY, motionZ, gravity, + scale1, scale2, scaleRate, scaleRateStart, + alpha1, alpha2, alphaRate, alphaRateStart, + particle.getMaxAge(), + particle + ); + + for(int i = 0; i < particle.getAmount(); i++){ + minecraft.effectRenderer.addEffect(fx); } } diff --git a/src/main/java/noppes/npcs/scripted/ScriptEntity.java b/src/main/java/noppes/npcs/scripted/ScriptEntity.java index febba5261..40893bbfb 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptEntity.java +++ b/src/main/java/noppes/npcs/scripted/ScriptEntity.java @@ -61,18 +61,13 @@ public class ScriptEntity { float scale1, float scale2, float scaleRate, int scaleRateStart, float alpha1, float alpha2, float alphaRate, int alphaRateStart ) { - List entities = entity.worldObj.getEntitiesWithinAABB(EntityPlayer.class, entity.boundingBox.expand(300, 300, 300)); - if(entities.size() < 1) - return; - EntityPlayer playerObj = entities.get(0); - String playerName = playerObj.getDisplayName(); - + int entityID = entity.getEntityId(); NoppesUtilServer.spawnScriptedParticle(entity, directory, HEXcolor, amount, maxAge, x, y, z, motionX, motionY, motionZ, gravity, scale1, scale2, scaleRate, scaleRateStart, alpha1, alpha2, alphaRate, alphaRateStart, - playerName, playerObj + entityID ); }