From 8c238ea3d6f8a001252c0cfd42c12888d905374f Mon Sep 17 00:00:00 2001 From: Zeshan Aslam Date: Sun, 4 Aug 2019 14:59:35 -0400 Subject: [PATCH] Added mcMMO health bar support --- config.yml | 8 +- .../zeshanaslam/actionhealth/LookThread.class | Bin 3418 -> 0 bytes .../com/zeshanaslam/actionhealth/Main.class | Bin 2385 -> 0 bytes .../actionhealth/commands/HealthCommand.class | Bin 3323 -> 0 bytes .../actionhealth/config/ConfigStore.class | Bin 6599 -> 0 bytes .../actionhealth/events/HealthListeners.class | Bin 4902 -> 0 bytes .../actionhealth/support/PreAction.class | Bin 3018 -> 0 bytes .../actionhealth/support/WorldGuardAPI.class | Bin 10483 -> 0 bytes .../actionhealth/utils/FileHandler.class | Bin 6121 -> 0 bytes .../actionhealth/utils/HealthUtil$1.class | Bin 1382 -> 0 bytes .../actionhealth/utils/HealthUtil.class | Bin 9291 -> 0 bytes .../actionhealth/utils/TargetHelper.class | Bin 8791 -> 0 bytes plugin.yml | 4 +- .../zeshanaslam/actionhealth/LookThread.java | 7 +- src/com/zeshanaslam/actionhealth/Main.java | 5 ++ .../actionhealth/support/McMMOSupport.java | 17 ++++ .../actionhealth/support/WorldGuardAPI.java | 81 ------------------ .../actionhealth/utils/HealthUtil.java | 73 +++++++++++++--- 18 files changed, 92 insertions(+), 103 deletions(-) delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/LookThread.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/Main.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/commands/HealthCommand.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/config/ConfigStore.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/events/HealthListeners.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/support/PreAction.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/support/WorldGuardAPI.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/FileHandler.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/HealthUtil$1.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/HealthUtil.class delete mode 100644 out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/TargetHelper.class create mode 100644 src/com/zeshanaslam/actionhealth/support/McMMOSupport.java diff --git a/config.yml b/config.yml index 74ba355..5d923d0 100644 --- a/config.yml +++ b/config.yml @@ -49,14 +49,14 @@ Empty Health Icon: "&7\u2764" # Translate names. Case sensitive! Name Change: false Name: -- Snow Golem = New name + - Snow Golem = New name # ActionHealth will be disabled for any world names added below. Case sensitive! Disabled worlds: -- randomworld + - randomworld Disabled regions: -- testing_region + - testing_region # Disable ActionHealth in regions where PvP is denied. Region PvP: true @@ -70,7 +70,7 @@ Remember Toggle: false # Blacklist by entity name or entity display name. Blacklist: -- 'CCPD Officer' + - 'CCPD Officer' # Show the health of the entity that the player is looking at. Show On Look: true diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/LookThread.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/LookThread.class deleted file mode 100644 index e345a2e250639b5f49f90f6120282892b07bbf10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3418 zcma)8TW}ml6+OL@cJ|SZ99fnvM@jq$jwC-ej=>3%;@Fa$SYag@uVfPgF|FP4?pUK) zd3M%BNlYL-5+Fc;@Q`_h5D?}akZr9KO!xq*sDdi~p!lVV-+TgPVouNOYG-YgLTy!V z_nq6f&%O8D+x^G4u3QE1PW(23T^NsJCyp3+Zvsuh;%EXHOe8UhV+kC``;vGRCz5zS zKA?vW8h9*@llV{)5-N!)Wc4x^hlx`$sJ%bOF}oG!Zg)KqzT+VWBi5{0RBNP|0K zzSuGeXl*DqX{)3|$AqXk(-qjXf~6z=H)?e>ddW;wJ-zn^ivufIX~3hyzb50U?DVLb z^^F+#1Q~1KlO&pfPYEP4#j=|Z88;Rb1C9c=8bp5*tCp`vZm0GkiF*~ex$Zid$+3^?cHGSXfDp>ZZRa2t-AKBy;^LbqbN%}D9SZB)Yfb2On zi$46x$&q269?KRTkGtqzlG9UGKEteV@1E7WP@tO{s&ApO)T-ca-oiWuP)E&DN#%KJ z)I3vGHo+ueY_Lo{5IEiB6;hr^^8DkwKY z45pJc`$J@DkcauUY;f1AzTXIuo|jA~chKk0pkf)Mx>x9d)lM1$Qaw-iduj6~7-q>R zf)xoM9&II|^oY&WmE=++9 zjhkv8xG$PjPR1n2hu_xS@UhDlf}H4(`mYIHx$!A7YTEXjSdvveYI-WCJat3ksijcw zAlQJne)Thh2~CTdX#YykYMcngVx=2=xaSzQ@Cmq!Pr?X)y!!kZZ#oFv>(BR6E_gG( zi{m~@{>GAWtPc<%I zYFx$|m+|H0t3I^*IPON0V;h>W4so>e*MY6rKnFJB06H;_O?V8qVFq1zif_jIsofDc zfOn&hE4t!4&gwuv1_C!D+tI=c7~;SZVim*%(mN_h2+WInI7te;0Xa$sBa2wGvw~X$ zDrk-HIzJQ$*Dm7L-(UZ8ebLr-3G2>Ze?5@2?+krePXir-x9x^Y*tl?gzW%Lq37f`t zRdAcYc`S0$CD7O0*&IN@%X;QxxxKHYv!#MNw3R#CHuI=?L>I3Am6o>%=ucY(-wYJ} zPA|3z`~j_cb{7ps7a*(BzUWRpdxrq=wJc%#Jo=WA-rdQ>(#iAK-r3UDT|tkYZ>o9J z=|kw%5Oyr+qfRWm^(URFX6Q^k!YqMw>tcTPU>lC$E|k!NXVA;1)DB!A5wDVpf8j&x z@6`Aw_To+K6I*eg*oXTCvn2*FARgqKMQ3q8qWA~N_<%oq6C>5x1-yUYv4U?>#reZ UApLI~{ud(up*?|7?uuaSe@pYQ%>V!Z diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/Main.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/Main.class deleted file mode 100644 index 884ce07b46758366ea9b2afedc5a6f43f6718663..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2385 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 B8jb(} diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/events/HealthListeners.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/events/HealthListeners.class deleted file mode 100644 index 7aa97eba3f06f1045ed048c514912ada71a10b63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4902 zcma)A2XqwI6}?|tX;!-?=bQLjlBK%Wzn}_6HG%6F>qZvN|fm13}!0u^-^LjD)20tDX!N+CG8~u2bA8(fNnCN?pNIVh1IF8BkTQ$5*!`lOBM8uDG z$orl0c+!t|$@{4Q8t`sEo|gA}1pG4rycfsh>wOyDui;q@A5bVAj*bjkF@?o#{q|7! zpy@=6nBhc?p|H`Pu=yw~W9awgPf_Z!ijM%za48e zhKxa~UtQB?#|OiGBm4GQiLkpP%w1MuEWFu$d4kPj-e|L^Y!bkF)Ec#7gWj~lf;=^z zg0>t93CeKP7&GGvv!{^la@Qyo7>?U}O~zE5pEs3cW}VU{E@Fihd4dA+%3dgF18x)s zriSFXMkD1t38Q~syD{uWU&9BJ3^Cu&6gSXX) z4Mfd2)%u6ymK|rLFOQxJ-xcmkNl;pA@9fyt+u5xUbj;X5yXiP?0;}^A=tVviP03TK z9oudTbL;a3T_avb!k)N@W%C={!wjUrDqLTfX(LRR6W)^DLBPu<2jE4_(K$QTW*Vc+ z_!Uv!G-4&PD6eEBD@|tg*dy_NQ&1{QzpN@6_Zp*yj*a+`j`i4};lnyUf{$uAuH$1k zq2Z*C=P;q;6h5vaiPNNkjx+d#hEM7^i%;n|hx0lPQO8$sLdRF}H4R_a@eN!c2R3!LcXr>=)4Qpo zRl_%Rdnw*jGrhJ zcXYMr_^Cku8Gfz+((JC7F=QUn@eBM?$FJ~f4ZqRxTl`MP@5TGZf^BmWe-vg)Lc&oa zHW=okqz`CFlZ*c^NF;WTa(`masg2` zNLe{br9G2f`NHW1$~6>>&E+77!E#zHN6uz?H7l>jX0(c{r3dVIbbtp#MVreR(G(VD z(59c*cF8jPQa&(umJ$^?0Z&P4+|>dk||z?%Cp*Jal>7%20D=ixo4X>1$O$&gitv`aD*oocE&C zly^val+A6uO|8-uf=orbnJ@;7gu%pkO)PT*2<4R5(VV_2|G=}DNBPM3nQCtJ8Bwi zImN~RQC%SjnfnSIp=b7}iG}JR%*u-ZuM_V{w#CM?f6jW{9 zb0|8_Q4w1BoQ7gPr^AOCC_^P$IjZ!ev6(yNU%=JM&W@L1E7z#A*bfb*JlIdyoK5pq|2kch`-3v`zSDN93hbjU6n*d z5sq<i9DG>)q?Ca+1)x7Q~zUChh~RZd{0sFL01F>4%0t8-LDz{qJ>Lj)eG3FeAuP}*siWc zr)or(T8(bC89izXcBwAhtZu_@bvtfV7Vn&UVW

Q+L8tk6@2_41?-%>{G`ORZn6_ zB{A%BwVU(`5c@W4C+p9nA1^0vA2A&y_6`(Ny2@Sk(cTevm5f)X)9mI~C%VY(`_)R^ zgl_V?hta4(#f-`Yb7o#brH0-Yuv)_o4Ld95{u@g!VIeSy;VM+0A%p~@@3s{vMgqD!7$FSI&DXq&{Sz4Dwjj(#z1ZuPC@=DfW zk`fH^Ximv)Ogn{*uA|Czr5I`h!Q75J2t**AWqf>m_mXvW?HPmh<7hpDhTUh-xcd~s zq3b8GoOM8+PT+>n3XUeQ@)TBeG=x@9V9huxy{*-rP!cy5VOJLBZ0QfoLJ98XA72iU zBli&2VM03MLarr-HJFQ6!f<;~Zw7oXGtx)IC45UZy^Q#wE}@5kpDN;ti62P0CvHkp ztD<`^Nx7H7xHg3`xBERnOAqpIOb@xZ7I>R8XsU?9bkR&tp_wA%3VUd=2!sCvHpW-b diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/support/PreAction.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/support/PreAction.class deleted file mode 100644 index ece44a12ae7356f2f8a9bda33623be57a8bc865e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3018 zcmb7GTXz#x6#h<|W~O22WuVX^_gmWl4T1_3L`tDhZPP+3SV3``p0=UMOqfgx^@idV zuXq>l`r=wX;aVD4y7a|2pIl2H^v|f@nMs=|1;mHU+1Y1bzP-@HZ zTKPV%;fWaH%Hm0Zy1bR1w8rHz=@v4MEnxPYwx+B^*0RSFDbLN=vP=k#7J>+GUFwr?Pa{_#9-E%mhSHPj_t<;BHhlY6sYgZ*fLqnjYxOM8p%>)_Bm-Q zd(3h(>VH|;n4Yk_ZYP&_Yz7~a=e)Uy21ZWHv`0ks%CKJ+3dBA%ooBp8Rf+Tzn1Q0# z&253&ap@hl>`|4kA@9TNc5Is={8|OoZ6Vl48IqUHu17^(K1;47`JPHN0oweSAP5gY$`I_A3AV zRzc1pH1HuVYxu~($M}RTDM))X@FX8*gw+*9y>`K~c%kOfP9SWO&B}2r+m%j}D6tY-uh+Lii>DcN$M-r z{h)!O0Ebr)rD9T6)2MNtk|RQ0eqK(2#d8ABPHN4SoHc1090*@mveQk;Gev2qWq44} z(T9=F2COOMvl))k)^ND;Zu^N)ZL=PAs(OcPc8h7xAs4o{h3$eKgmcYsHsr+eS5(Ts zfdS{BEzbsbMpfH7Cr9};5l%Au=1_;@^I2fajcN*&G?UjiC!`SF=WLNL3`%;1sJtgxSHp;Y9@L#!$B~~2JH%`DPs$#xfR^{Jih}x|D81C`s9jQ z`8?;@f449ws5}-3Rrj1gMJ|syuHrJ*@Dr$kpHF<%t5Hv>igE&5`Mi_rU!Xy!_OJL= zi1;;Bl~7$mq=XtXYHB6u>QNir_B~>8bHP;@k)N<|xZ12sl~7N)VYqrT#l~dZG`VXo zDq*oGp{X+xHfMZV1m|%Nr3n3!*g>g=-aD|9Qj{?^VizTi5hCcsZhG(#um|^YRnlJE$0JhG zJ|0^Yx+pI})jv#Itzo~0ZVd+@G#rd@moIBRd7ymFSNXBxKVtpxRctUfme3mi4lyn! z8`#P=x0cX$4eeL@Hp{_od{&9J)dF diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/support/WorldGuardAPI.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/support/WorldGuardAPI.class deleted file mode 100644 index f94e1b4bf99f8fa1d69c1bfda187fc867b2e147b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10483 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 G#s3SdMRJq? diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/FileHandler.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/FileHandler.class deleted file mode 100644 index 8c4fd672ce7704302d0e1225cc6af553e8598a95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6121 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 Zn$x%>J1+jju>@hFc$Olwir;#L89+#bRmR0^0v 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 diff --git a/out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/TargetHelper.class b/out/production/ActionHealth/com/zeshanaslam/actionhealth/utils/TargetHelper.class deleted file mode 100644 index 3774f57855f52712be7fd077ce1e063b583f18c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8791 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 toggle = new ArrayList<>(); @@ -48,6 +49,10 @@ public class Main extends JavaPlugin { this.worldGuardPlugin = ((WorldGuardPlugin) getServer().getPluginManager().getPlugin("WorldGuard")); this.worldGuardAPI = new WorldGuardAPI(this); } + + if (Bukkit.getServer().getPluginManager().isPluginEnabled("mcMMO")) { + mcMMOEnabled = true; + } } @Override diff --git a/src/com/zeshanaslam/actionhealth/support/McMMOSupport.java b/src/com/zeshanaslam/actionhealth/support/McMMOSupport.java new file mode 100644 index 0000000..a6718be --- /dev/null +++ b/src/com/zeshanaslam/actionhealth/support/McMMOSupport.java @@ -0,0 +1,17 @@ +package com.zeshanaslam.actionhealth.support; + +import org.bukkit.metadata.FixedMetadataValue; +import org.bukkit.metadata.MetadataValue; + +public class McMMOSupport { + + public String getName(MetadataValue metadataValue) { + /*if (metadataValue instanceof OldName) { + OldName oldName = (OldName) metadataValue; + return oldName.asString(); + }*/ + + FixedMetadataValue fixedMetadataValue = (FixedMetadataValue) metadataValue; + return fixedMetadataValue.asString(); + } +} diff --git a/src/com/zeshanaslam/actionhealth/support/WorldGuardAPI.java b/src/com/zeshanaslam/actionhealth/support/WorldGuardAPI.java index 2a41ab4..bed930c 100644 --- a/src/com/zeshanaslam/actionhealth/support/WorldGuardAPI.java +++ b/src/com/zeshanaslam/actionhealth/support/WorldGuardAPI.java @@ -1,18 +1,12 @@ package com.zeshanaslam.actionhealth.support; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; -import com.sk89q.worldguard.domains.Association; import com.sk89q.worldguard.protection.ApplicableRegionSet; -import com.sk89q.worldguard.protection.association.Associables; -import com.sk89q.worldguard.protection.association.RegionAssociable; -import com.sk89q.worldguard.protection.flags.StateFlag; import com.sk89q.worldguard.protection.managers.RegionManager; import com.sk89q.worldguard.protection.regions.ProtectedRegion; import com.zeshanaslam.actionhealth.Main; import org.bukkit.Location; import org.bukkit.World; -import org.bukkit.block.Block; -import org.bukkit.entity.Player; import javax.annotation.Nullable; import java.lang.reflect.Constructor; @@ -28,16 +22,10 @@ public class WorldGuardAPI { private WorldGuardPlugin worldGuardPlugin = null; private Object regionContainer = null; private Method regionContainerGetMethod = null; - private Method createQueryMethod = null; - private Method regionQueryTestStateMethod = null; - private Method locationAdaptMethod = null; private Method worldAdaptMethod = null; private Method regionManagerGetMethod = null; private Constructor vectorConstructor = null; private Method vectorConstructorAsAMethodBecauseWhyNot = null; - private StateFlag buildFlag; - private StateFlag pvpFlag; - private StateFlag exitFlag; private boolean initialized = false; public WorldGuardAPI(Main main) { @@ -52,18 +40,6 @@ public class WorldGuardAPI { } } - - protected RegionAssociable getAssociable(Player player) { - RegionAssociable associable; - if (player == null) { - associable = Associables.constant(Association.NON_MEMBER); - } else { - associable = worldGuardPlugin.wrapPlayer(player); - } - - return associable; - } - private void initialize() { if (!initialized) { initialized = true; @@ -74,20 +50,10 @@ public class WorldGuardAPI { Object platform = getPlatFormMethod.invoke(worldGuard); Method getRegionContainerMethod = platform.getClass().getMethod("getRegionContainer"); regionContainer = getRegionContainerMethod.invoke(platform); - createQueryMethod = regionContainer.getClass().getMethod("createQuery"); - Class worldEditLocationClass = Class.forName("com.sk89q.worldedit.util.Location"); Class worldEditWorldClass = Class.forName("com.sk89q.worldedit.world.World"); Class worldEditAdapterClass = Class.forName("com.sk89q.worldedit.bukkit.BukkitAdapter"); worldAdaptMethod = worldEditAdapterClass.getMethod("adapt", World.class); - locationAdaptMethod = worldEditAdapterClass.getMethod("adapt", Location.class); regionContainerGetMethod = regionContainer.getClass().getMethod("get", worldEditWorldClass); - Class regionQueryClass = Class.forName("com.sk89q.worldguard.protection.regions.RegionQuery"); - regionQueryTestStateMethod = regionQueryClass.getMethod("testState", worldEditLocationClass, RegionAssociable.class, StateFlag[].class); - - Class flagsClass = Class.forName("com.sk89q.worldguard.protection.flags.Flags"); - buildFlag = (StateFlag) flagsClass.getField("BUILD").get(null); - pvpFlag = (StateFlag) flagsClass.getField("PVP").get(null); - exitFlag = (StateFlag) flagsClass.getField("EXIT").get(null); } catch (Exception ex) { regionContainer = null; main.getLogger().log(Level.SEVERE, "Unable to hook into WG. SE: 1", ex); @@ -97,15 +63,7 @@ public class WorldGuardAPI { } else { regionContainer = worldGuardPlugin.getRegionContainer(); try { - createQueryMethod = regionContainer.getClass().getMethod("createQuery"); regionContainerGetMethod = regionContainer.getClass().getMethod("get", World.class); - Class regionQueryClass = Class.forName("com.sk89q.worldguard.bukkit.RegionQuery"); - regionQueryTestStateMethod = regionQueryClass.getMethod("testState", Location.class, RegionAssociable.class, StateFlag[].class); - - Class flagsClass = Class.forName("com.sk89q.worldguard.protection.flags.DefaultFlag"); - buildFlag = (StateFlag) flagsClass.getField("BUILD").get(null); - pvpFlag = (StateFlag) flagsClass.getField("PVP").get(null); - exitFlag = (StateFlag) flagsClass.getField("EXIT").get(null); } catch (Exception ex) { main.getLogger().log(Level.SEVERE, "Unable to hook into WG. SE: 2", ex); main.worldGuardPlugin = null; @@ -175,48 +133,9 @@ public class WorldGuardAPI { return null; } - public boolean isPVPAllowed(Player player, Location location) { - if (worldGuardPlugin == null || location == null) return true; - - ApplicableRegionSet checkSet = getRegionSet(location); - if (checkSet == null) return true; - - return checkSet.queryState(getAssociable(player), pvpFlag) != StateFlag.State.DENY; - } - - public boolean isExitAllowed(Player player, Location location) { - if (worldGuardPlugin == null || location == null) return true; - - ApplicableRegionSet checkSet = getRegionSet(location); - if (checkSet == null) return true; - - return checkSet.queryState(getAssociable(player), exitFlag) != StateFlag.State.DENY; - } - public List getRegionNames(Location location) { ApplicableRegionSet applicableRegionSet = getRegionSet(location); return Objects.requireNonNull(applicableRegionSet).getRegions().stream() .map(ProtectedRegion::getId).collect(Collectors.toList()); } - - public boolean hasBuildPermission(Player player, Block block) { - initialize(); - if (block != null && createQueryMethod != null && regionContainer != null) { - try { - boolean result; - Object query = createQueryMethod.invoke(regionContainer); - if (locationAdaptMethod != null) { - Object location = locationAdaptMethod.invoke(null, block.getLocation()); - result = (boolean) regionQueryTestStateMethod.invoke(query, location, getAssociable(player), new StateFlag[]{buildFlag}); - } else { - result = (boolean) regionQueryTestStateMethod.invoke(query, block.getLocation(), getAssociable(player), new StateFlag[]{buildFlag}); - } - return result; - } catch (Exception ex) { - main.getLogger().log(Level.SEVERE, "Unable to run WG lookup. SE: 3"); - } - } - - return true; - } } diff --git a/src/com/zeshanaslam/actionhealth/utils/HealthUtil.java b/src/com/zeshanaslam/actionhealth/utils/HealthUtil.java index 436e58a..e8caa5c 100644 --- a/src/com/zeshanaslam/actionhealth/utils/HealthUtil.java +++ b/src/com/zeshanaslam/actionhealth/utils/HealthUtil.java @@ -1,16 +1,21 @@ package com.zeshanaslam.actionhealth.utils; import com.zeshanaslam.actionhealth.Main; +import com.zeshanaslam.actionhealth.support.McMMOSupport; import com.zeshanaslam.actionhealth.support.PreAction; +import org.apache.commons.lang.WordUtils; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; +import org.bukkit.metadata.MetadataValue; import org.bukkit.potion.PotionEffectType; import org.bukkit.scheduler.BukkitRunnable; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.List; public class HealthUtil { @@ -69,22 +74,13 @@ public class HealthUtil { } private String getOutput(double health, Player receiver, LivingEntity entity) { - String name; double maxHealth = entity.getMaxHealth(); if (health < 0.0 || entity.isDead()) health = 0.0; - if (entity.getCustomName() == null) { - name = entity.getName(); - } else { - name = entity.getCustomName(); - } - + String name = getName(entity); if (plugin.configStore.blacklist.contains(name)) return null; - if (plugin.configStore.stripName) name = ChatColor.stripColor(name); - if (plugin.configStore.translate.containsKey(entity.getName())) - name = plugin.configStore.translate.get(entity.getName()); String output = plugin.configStore.healthMessage; @@ -165,6 +161,63 @@ public class HealthUtil { return output; } + public String getName(LivingEntity entity) { + String name; + + // Supporting mcmmo health bar to get to display correct name. + List metadataValues = entity.getMetadata("mcMMO_oldName"); + List metadataValuesOld = entity.getMetadata("mcMMO: Custom Name"); + + String mcMMOName = null; + if (plugin.mcMMOEnabled && entity.getCustomName() != null && (!metadataValues.isEmpty() || !metadataValuesOld.isEmpty())) { + mcMMOName = new McMMOSupport().getName(metadataValues.isEmpty() ? metadataValuesOld.get(0) : metadataValues.get(0)); + } + + if (mcMMOName == null) { + if (entity.getCustomName() == null) { + name = getNameReflection(entity); + } else { + name = entity.getCustomName(); + } + } else if (mcMMOName.equals("")) { + name = getNameReflection(entity); + } else { + name = mcMMOName; + } + + if (plugin.configStore.translate.containsKey(name)) + name = plugin.configStore.translate.get(name); + + return name; + } + + private String getNameReflection(LivingEntity entity) { + String name; + Method getName = null; + try { + if (entity.getCustomName() == null) + getName = entity.getClass().getMethod("getName", (Class[]) null); + } catch (NoSuchMethodException | SecurityException ignored) { + } + + if (getName != null) { + try { + name = (String) getName.invoke(entity, (Object[]) null); + } catch (IllegalAccessException | InvocationTargetException e) { + name = capitalizeFully(entity.getType().name().replace("_", "")); + } + } else { + name = capitalizeFully(entity.getType().name().replace("_", "")); + } + + return name; + } + + private String capitalizeFully(String words) { + words = words.toLowerCase(); + return WordUtils.capitalizeFully(words); + } + public void sendActionBar(Player player, String message) { message = ChatColor.translateAlternateColorCodes('&', message);