From 11abb7a617ff4abd13ad7b308b5a4f2c2a770f05 Mon Sep 17 00:00:00 2001 From: Zeshan Aslam Date: Sun, 4 Aug 2019 20:47:18 -0400 Subject: [PATCH] Bug fixes and new config option - Fixed "Use Permission" not working. - Added option to disable showing NPC health. - Fixed "Show On Look" not checking if entities match requirements. --- config.yml | 3 + .../zeshanaslam/actionhealth/LookThread.class | Bin 0 -> 3237 bytes .../com/zeshanaslam/actionhealth/Main.class | Bin 0 -> 2465 bytes .../actionhealth/commands/HealthCommand.class | Bin 0 -> 3323 bytes .../actionhealth/config/ConfigStore.class | Bin 0 -> 6658 bytes .../actionhealth/events/HealthListeners.class | Bin 0 -> 3645 bytes .../actionhealth/support/McMMOSupport.class | Bin 0 -> 699 bytes .../actionhealth/support/PreAction.class | Bin 0 -> 3018 bytes .../actionhealth/support/WorldGuardAPI.class | Bin 0 -> 6805 bytes .../actionhealth/utils/FileHandler.class | Bin 0 -> 6121 bytes .../actionhealth/utils/HealthUtil$1.class | Bin 0 -> 1382 bytes .../actionhealth/utils/HealthUtil.class | Bin 0 -> 12406 bytes .../actionhealth/utils/TargetHelper.class | Bin 0 -> 8791 bytes plugin.yml | 2 +- .../zeshanaslam/actionhealth/LookThread.java | 5 +- .../actionhealth/config/ConfigStore.java | 2 + .../actionhealth/events/HealthListeners.java | 61 +----------------- .../actionhealth/utils/HealthUtil.java | 45 +++++++++++++ 18 files changed, 55 insertions(+), 63 deletions(-) create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/LookThread.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/Main.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/commands/HealthCommand.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/config/ConfigStore.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/events/HealthListeners.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/support/McMMOSupport.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/support/PreAction.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/support/WorldGuardAPI.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/FileHandler.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/HealthUtil$1.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/HealthUtil.class create mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/TargetHelper.class diff --git a/config.yml b/config.yml index 5d923d0..67c6b84 100644 --- a/config.yml +++ b/config.yml @@ -36,6 +36,9 @@ Show Mob: true # If set to false player will not see health messages from other players. Show Player: true +# If set to false player will not see health messages from npcs. +Show NPC: true + # If set to true player will get the message in a delay to get 100% accurate health. Useful for plugins that add damage by reading item lore. Delay Message: false # Amount delayed by diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/LookThread.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/LookThread.class new file mode 100644 index 0000000000000000000000000000000000000000..5ac195696a63a18a5df218c81ecccc0b2613f098 GIT binary patch literal 3237 zcma)8S#uOs6#i~9NoQsn0wDrH5CMfr2#g?$5{!^ViB1AC35W}NGihd;^z?+D9yA~> zQQY@ExZxUctFnqMYFR${z=Mxg>5s5{v?wHgw|kPAfiYTB)zjzPbI<+Gcb41dE`IkT zfOYsLgypz3h-P-8+V4GV^0`& z;cg|~6U4pPTZ8*TxF1q!`fHF-HUmmygs=}uWs?fQ#D2AJP(5~Pu+&;wJ?tk@hP2#Nv|E~Xi$I<0 zNIN?u9m95ehlh-=fviAnY`;7xqdC{KqH)8eSuk!UZRzG5Ltshi>SkZGq@9em4ZB85 zEA6W{o3`n;3M`NO4;YQR1On}u0XnaZnYPiBOZOX2uk5#|sf%S2(%K~*Q^|Q{z)hJ1 z+Bm)QSSB;rn{o^}KuDENj;vHhyu)mn_FQ{$deGypW76UqrZ=JSly2Aoj$1+Yb z+MgR7G~FmkqB0sQvfz#yPi-0mG^>c4n3+}7F(Go;a0C{V@wCHRqt)EfD4B_Tq-!tn zxVem%5bM4rw^7;~^Z;@UV_Y@Ti8zbd2C}o~Gjo9M$n8o)VaUIemW6 z8lKki3|e$Ni{}VV$MZO%;|08^;Uyg}W1|2xyrSb(rGE{tlgq;@ag^S`n>yaY+Zsl7 z9K$<0-o<+w-q-N~j_ddkM+L6B{N!SybbN%5m8Va1e2UL>jNx+~ClsJB@THEg@U_5- zX?v(Z9^0+xv}__}4CE}siMDxlvomMg`C=|`+T|LKbTcfBnFXb)nMuV|M+s;LrIjQ5p$ym8nOUZ1H@t^`3QD6eLC)7{cdr{}X za@I`CznWnz3OAEXs$vc^hCbUokmD5N+?e#}!SCzq>fq@$iHz-X7sCtlb)T7xGX>nc zX8K9u+eX_9Tj(r0Ex60KFi$?zZX=tONuD~(q|oEQu{VYC$0Pl>*`1g9LXnwE}B zA(D)&VGnHeN~%q=4Wf}Uqb)xmi-6?MQ)67WIN&?jGLm2gM8|*S#0SwU9g?%nu!huF zR+aD11z%6}P2WTHZ7ZdSt7Q4zK5#q>#$IU#$YI__o&=+27yzkYC4Ik%Co2*hgN~z zN}5$)D&AKr?kg3Kmx?u|VsJ|Q)`NB(pQ{n(vkn2wK@j!)&Bap8!y3%T7Buklasl?@ zN~E!nx9uY8K?^Scti|<|7>XA-8-Smz>-{jruc+ef2{H35YQ_;1h^-t)NMIBf`4SfR z33@jJtT>4o&EuFUFpk;^E_eFMStl|3=ZRkmLS5Zy%sDpkgRiM?E?T*Q4(1A+#=O&* zKQ=L1SZg?o1wE_Aai!obJ;IlT0-FL2fjpEU_2yw&v`KMKF!jw1Ri|;)F;tID{GL}S z&EiefTp7pJ0@PNW#gb91p2D!Sfhi;WV^~mdqs*5nSl5gxZ_kfioKU<6pm=XZEuTxs z>QZvL3_EZQvi!aoVd*@_(m8=<{J`v-qxGLyBLY|}G^`ULY!EZB(aXa+a(oUqVFTrA z?%0bPa3ggicp96~!a`e!Kd_k=%$Jy%&sQtY)tM#V>SkJPp=LR>3kYi1dI6?}w!g7h ZL%SzNG<2NDZGWNSyjRMdw64G{{{WiNh&TWM literal 0 HcmV?d00001 diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/Main.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..4c44367842493f29cca2924a5199da81daf372e5 GIT binary patch literal 2465 zcma)8SyLNF5dKDBR$3Oq5wPRh!rQgIn`2_$hx z!Muv5XmM91$%hIuDimbJ_B{pnRjAQoLBU6He5|4kIq`TP)E8T^gk=SvsOUzv6)Sic z$ERZFGXPqBO|Mnk6vXqkt?|zfEgWY0CvXU(E8d z#HTW(gj{FF@}n5koEv(1LnzaRfE^YDXc)zqhPQEzq5FW5Nzdb(f)fwZG1UbXoFg#&0n5hdZ5>q#Hz96KQC%Y)lER9A}nD-wxuV!^f ziNMa+fgPtp-RK#ns2y)smJ`G1Kz&%U$mEz2)s?Q_I)o>)RVmDB(J+i0M@hXsotvmO zJ&L(%M=@Whi}_d`x;K0yn0;#GL%KK^E+2}xW>N*LsmTEAxt)^t0S!INk0RKgw#Oc3 z_4FcDx@2CK-C=g<229eW47z!lm=N^EL>I_6)wF!mz>#knY4T0wE#EZ9NPC37V|bTt zb2=l8(epi$%*i#-liC4G#VUxU_RzGlgXRiO{4Pz>^lT?JpcBnFi3Cn#oK_k^kRfhi zg5C`8*Fae}>BUI)TWT9Egr}?!dc1-JeXHWTwE}GqZ7W^vJ9KFbZKGqER6BRk#juBN zq4Iia7d=f#b@guJJ$VE|9N2VRW&A z{(YlMRik){@_S3<*94K@2>oFJ&QaWb=)fhMA+nQ1^bq}~Xp-mXo-l~kXEZaO6P>@1 z#jix8;Gs9lwaP;hTlfHz#K#ovB@p`;&lODfl3=DrQ1#r1v;&4)B%8PDm}UFS&Jt1# GxBmy?5t)bp literal 0 HcmV?d00001 diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/commands/HealthCommand.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/commands/HealthCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..2ab686f029e759fe1381f3454554d756c1523eb6 GIT binary patch literal 3323 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 literal 0 HcmV?d00001 diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/support/WorldGuardAPI.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/support/WorldGuardAPI.class new file mode 100644 index 0000000000000000000000000000000000000000..3c19f573dba189d7fd28a27a9d0833d37d67cbbb GIT binary patch literal 6805 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 rmzm*!CnWo|%ExS7w-A4db=?BwGOt?-OXw){ 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 entities = TargetHelper.getLivingTargets(player, plugin.configStore.lookDistance); if (!entities.isEmpty()) { for (LivingEntity livingEntity : entities) { - if (livingEntity.getType().name().equals("ARMOR_STAND")) continue; - if (player.getWorld() != livingEntity.getWorld()) continue; + if (!plugin.healthUtil.matchesRequirements(player, livingEntity)) continue; String name = plugin.healthUtil.getName(livingEntity); - if (TargetHelper.canSee(player, livingEntity.getLocation(), transparentTypeIds) && !plugin.configStore.blacklist.contains(name) && !livingEntity.hasMetadata("NPC")) { + if (TargetHelper.canSee(player, livingEntity.getLocation(), transparentTypeIds) && !plugin.configStore.blacklist.contains(name)) { plugin.healthUtil.sendHealth(player, livingEntity, livingEntity.getHealth()); break; } diff --git a/src/com/zeshanaslam/actionhealth/config/ConfigStore.java b/src/com/zeshanaslam/actionhealth/config/ConfigStore.java index 19c6e66..e3f696c 100644 --- a/src/com/zeshanaslam/actionhealth/config/ConfigStore.java +++ b/src/com/zeshanaslam/actionhealth/config/ConfigStore.java @@ -43,6 +43,7 @@ public class ConfigStore { public boolean hasMVdWPlaceholderAPI; public boolean hasPlaceholderAPI; public int limitHealth; + public boolean showNPC; public ConfigStore(Main plugin) { // Clear settings for reloads @@ -70,6 +71,7 @@ public class ConfigStore { usePerms = plugin.getConfig().getBoolean("Use Permissions"); showMobs = plugin.getConfig().getBoolean("Show Mob"); showPlayers = plugin.getConfig().getBoolean("Show Player"); + showNPC = plugin.getConfig().getBoolean("Show NPC"); delay = plugin.getConfig().getBoolean("Delay Message"); if (plugin.getConfig().contains("Delay Tick")) { delayTick = plugin.getConfig().getLong("Delay Tick"); diff --git a/src/com/zeshanaslam/actionhealth/events/HealthListeners.java b/src/com/zeshanaslam/actionhealth/events/HealthListeners.java index 659131e..0a66bc4 100644 --- a/src/com/zeshanaslam/actionhealth/events/HealthListeners.java +++ b/src/com/zeshanaslam/actionhealth/events/HealthListeners.java @@ -27,44 +27,13 @@ public class HealthListeners implements Listener { return; } - if (plugin.healthUtil.isDisabled(event.getDamager().getLocation())) { - return; - } - - if (plugin.configStore.worlds.contains(event.getDamager().getWorld().getName())) { - return; - } - - if (plugin.configStore.usePerms && !event.getDamager().hasPermission("ActionHealth.Health")) { - return; - } - - // Check if the setting 'Show Player' is enabled - if (event.getEntity() instanceof Player) { - if (!plugin.configStore.showPlayers) { - return; - } - } - Entity damaged = event.getEntity(); - if (damaged.getType().name().equals("ARMOR_STAND")) return; - if (event.getDamager() instanceof Projectile) { Projectile projectile = (Projectile) event.getDamager(); if (projectile.getShooter() instanceof Player) { Player player = (Player) projectile.getShooter(); - - if (!plugin.configStore.showMobs) { - return; - } - - if (player.getUniqueId() == damaged.getUniqueId()) { - return; - } - - if (plugin.toggle.contains(player.getUniqueId())) { - sendMessage(player); + if (!plugin.healthUtil.matchesRequirements(player, damaged)) { return; } @@ -79,27 +48,7 @@ public class HealthListeners implements Listener { if (event.getDamager() instanceof Player) { Player player = (Player) event.getDamager(); - if (player.getUniqueId() == damaged.getUniqueId()) { - return; - } - - // Check if the setting 'Show Player' is enabled - if (event.getEntity() instanceof Player) { - if (!plugin.configStore.showPlayers) { - return; - } - - if (player.hasMetadata("NPC")) { - return; - } - } - - if (!plugin.configStore.showMobs) { - return; - } - - if (plugin.toggle.contains(player.getUniqueId())) { - sendMessage(player); + if (!plugin.healthUtil.matchesRequirements(player, damaged)) { return; } @@ -111,12 +60,6 @@ public class HealthListeners implements Listener { } } - private void sendMessage(Player player) { - if (plugin.configStore.toggleMessage != null && !plugin.configStore.toggleMessage.equals("")) { - plugin.healthUtil.sendActionBar(player, plugin.configStore.toggleMessage.replace("{name}", player.getName())); - } - } - @EventHandler(priority = EventPriority.MONITOR) public void onJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); diff --git a/src/com/zeshanaslam/actionhealth/utils/HealthUtil.java b/src/com/zeshanaslam/actionhealth/utils/HealthUtil.java index e8caa5c..3b8cde9 100644 --- a/src/com/zeshanaslam/actionhealth/utils/HealthUtil.java +++ b/src/com/zeshanaslam/actionhealth/utils/HealthUtil.java @@ -6,6 +6,7 @@ import com.zeshanaslam.actionhealth.support.PreAction; import org.apache.commons.lang.WordUtils; import org.bukkit.ChatColor; import org.bukkit.Location; +import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.metadata.MetadataValue; @@ -284,4 +285,48 @@ public class HealthUtil { return false; } + + public boolean matchesRequirements(Player player, Entity damaged) { + if (damaged.getType().name().equals("ARMOR_STAND")) + return false; + + if (player.getWorld() != damaged.getWorld()) + return false; + + if (damaged instanceof Player) { + if (!plugin.configStore.showPlayers) + return false; + + if (!plugin.configStore.showNPC && damaged.hasMetadata("NPC")) + return false; + } else { + if (!plugin.configStore.showMobs) + return false; + } + + if (plugin.healthUtil.isDisabled(player.getLocation())) + return false; + + if (plugin.configStore.worlds.contains(player.getWorld().getName())) + return false; + + if (plugin.configStore.usePerms && !player.hasPermission("ActionHealth.Health")) + return false; + + if (player.getUniqueId() == damaged.getUniqueId()) + return false; + + if (plugin.toggle.contains(player.getUniqueId())) { + sendMessage(player); + return false; + } + + return true; + } + + private void sendMessage(Player player) { + if (plugin.configStore.toggleMessage != null && !plugin.configStore.toggleMessage.equals("")) { + plugin.healthUtil.sendActionBar(player, plugin.configStore.toggleMessage.replace("{name}", player.getName())); + } + } }