akon1248

Advanced Healthbar

Feb 5th, 2020
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.58 KB | None | 0 0
  1. import:
  2. net.minecraft.server.v1_12_R1.NBTTagCompound
  3. on packet event play_server_spawn_entity_living:
  4. set {_entity} to player's world pentity 0 of event-packet
  5. {_entity} is set
  6. put json "DataWatcher" pjson 0 of event-packet in listvar {_json1::*}
  7. set {_json1::2} to {_entity}.getName()
  8. set {_json1::3} to true
  9. set "DataWatcher" pjson 0 of event-packet to json from listvar {_json1::*}
  10. if {_entity} do not have metadata value "NameTagId":
  11. set metadata value "NameTagId" of {_entity} to id of {_entity}*-1
  12. set {_id} to metadata value "NameTagId" of {_entity}
  13. set {_packet1} to new play_server_spawn_entity packet
  14. set int pnum 0 of {_packet1} to {_id}
  15. set int pnum 6 of {_packet1} to 78
  16. set "UUID" pinfo 0 of {_packet1} to new uuid
  17. set double pnum 0 of {_packet1} to x-loc of {_entity}
  18. set double pnum 1 of {_packet1} to y-loc of {_entity}+0.3+({_entity}.getHeight())
  19. set double pnum 2 of {_packet1} to z-loc of {_entity}
  20. set {_packet2} to new play_server_entity_metadata packet
  21. set {_json2::0} to 32.byteValue()
  22. set {_json2::2} to "&8[%gaugeString(40, health of {_entity}, max health of {_entity}, ""|"", ""&7"", ""&a"")%&8]"
  23. set {_json2::3} to true
  24. set {_json2::5} to true
  25. set {_json2::11} to 17.byteValue()
  26. set int pnum 0 of {_packet2} to {_id}
  27. set "WatchableCollection" pjson 0 of {_packet2} to json from listvar {_json2::*}
  28. send player packet {_packet1}
  29. send player packet {_packet2}
  30. on packet event play_server_named_entity_spawn:
  31. set {_entity} to player's world pentity 0 of event-packet
  32. {_entity} is set
  33. {_entity} is not player
  34. put json "DataWatcher" pjson 0 of event-packet in listvar {_json1::*}
  35. set {_json1::2} to {_entity}.getName()
  36. set {_json1::3} to true
  37. set "DataWatcher" pjson 0 of event-packet to json from listvar {_json1::*}
  38. if {_entity} do not have metadata value "NameTagId":
  39. set metadata value "NameTagId" of {_entity} to id of {_entity}*-1
  40. set {_id} to metadata value "NameTagId" of {_entity}
  41. set {_packet1} to new play_server_spawn_entity packet
  42. set int pnum 0 of {_packet1} to {_id}
  43. set int pnum 6 of {_packet1} to 78
  44. set "UUID" pinfo 0 of {_packet1} to new uuid
  45. set double pnum 0 of {_packet1} to x-loc of {_entity}
  46. set double pnum 1 of {_packet1} to y-loc of {_entity}+0.3+({_entity}.getHeight())
  47. set double pnum 2 of {_packet1} to z-loc of {_entity}
  48. set {_packet2} to new play_server_entity_metadata packet
  49. set {_json2::0} to 32.byteValue()
  50. set {_json2::2} to "&8[%gaugeString(40, health of {_entity}, max health of {_entity}, ""|"", ""&7"", ""&a"")%&8]"
  51. set {_json2::3} to true
  52. set {_json2::5} to true
  53. set {_json2::11} to 17.byteValue()
  54. set int pnum 0 of {_packet2} to {_id}
  55. set "WatchableCollection" pjson 0 of {_packet2} to json from listvar {_json2::*}
  56. send player packet {_packet1}
  57. send player packet {_packet2}
  58. on packet event play_server_entity_metadata:
  59. set {_entity} to player's world pentity 0 of event-packet
  60. {_entity} is set
  61. {_entity} has metadata value "NameTagId"
  62. put json "WatchableCollection" pjson 0 of event-packet in listvar {_json::*}
  63. set {_json::2} to {_entity}.getName()
  64. set {_json::3} to true
  65. set "WatchableCollection" pjson 0 of event-packet to json from listvar {_json::*}
  66. on packet event play_server_rel_entity_move:
  67. set {_entity} to player's world pentity 0 of event-packet
  68. {_entity} is set
  69. {_entity} has metadata value "NameTagId"
  70. set {_id} to metadata value "NameTagId" of {_entity}
  71. set {_packet::1} to new play_server_rel_entity_move packet
  72. set int pnum 0 of {_packet::1} to {_id}
  73. set int pnum 1 of {_packet::1} to int pnum 1 of event-packet
  74. set int pnum 2 of {_packet::1} to int pnum 2 of event-packet
  75. set int pnum 3 of {_packet::1} to int pnum 3 of event-packet
  76. loop getAllPassengers({_entity}):
  77. loop-value has metadata value "NameTagId"
  78. set {_id} to metadata value "NameTagId" of loop-value
  79. set {_packet} to new play_server_rel_entity_move packet
  80. set int pnum 0 of {_packet} to {_id}
  81. set int pnum 1 of {_packet} to int pnum 1 of event-packet
  82. set int pnum 2 of {_packet} to int pnum 2 of event-packet
  83. set int pnum 3 of {_packet} to int pnum 3 of event-packet
  84. add {_packet} to {_packet::*}
  85. loop {_packet::*}:
  86. send player packet loop-value
  87. on packet event play_server_rel_entity_move_look:
  88. set {_entity} to player's world pentity 0 of event-packet
  89. {_entity} is set
  90. {_entity} has metadata value "NameTagId"
  91. set {_id} to metadata value "NameTagId" of {_entity}
  92. set {_packet::1} to new play_server_rel_entity_move packet
  93. set int pnum 0 of {_packet::1} to {_id}
  94. set int pnum 1 of {_packet::1} to int pnum 1 of event-packet
  95. set int pnum 2 of {_packet::1} to int pnum 2 of event-packet
  96. set int pnum 3 of {_packet::1} to int pnum 3 of event-packet
  97. loop getAllPassengers({_entity}):
  98. loop-value has metadata value "NameTagId"
  99. set {_id} to metadata value "NameTagId" of loop-value
  100. set {_packet} to new play_server_rel_entity_move packet
  101. set int pnum 0 of {_packet} to {_id}
  102. set int pnum 1 of {_packet} to int pnum 1 of event-packet
  103. set int pnum 2 of {_packet} to int pnum 2 of event-packet
  104. set int pnum 3 of {_packet} to int pnum 3 of event-packet
  105. add {_packet} to {_packet::*}
  106. loop {_packet::*}:
  107. send player packet loop-value
  108. on packet event play_server_entity_teleport:
  109. set {_entity} to player's world pentity 0 of event-packet
  110. {_entity} is set
  111. {_entity} has metadata value "NameTagId"
  112. set {_id} to metadata value "NameTagId" of {_entity}
  113. set {_packet::1} to new play_server_entity_teleport packet
  114. set int pnum 0 of {_packet::1} to {_id}
  115. set double pnum 0 of {_packet::1} to double pnum 0 of event-packet
  116. set double pnum 1 of {_packet::1} to double pnum 1 of event-packet+0.3+({_entity}.getHeight())
  117. set double pnum 2 of {_packet::1} to double pnum 2 of event-packet
  118. loop getAllPassengers({_entity}):
  119. loop-value has metadata value "NameTagId"
  120. set {_id} to metadata value "NameTagId" of loop-value
  121. set {_packet} to new play_server_entity_teleport packet
  122. set int pnum 0 of {_packet} to {_id}
  123. set double pnum 0 of {_packet} to double pnum 0 of event-packet
  124. set double pnum 1 of {_packet} to y-loc of loop-value+0.3+(loop-value.getHeight())
  125. set double pnum 2 of {_packet} to double pnum 2 of event-packet
  126. add {_packet} to {_packet::*}
  127. loop {_packet::*}:
  128. send player packet loop-value
  129. on packet event play_server_entity_destroy:
  130. set {_originalintarray::*} to int array pnum 0 of event-packet
  131. set {_intarray::*} to int array pnum 0 of event-packet
  132. loop {_originalintarray::*}:
  133. loop-value >= 0
  134. add loop-value*-1 to {_intarray::*}
  135. set int array pnum 0 of event-packet to {_intarray::*}
  136. on damage:
  137. victim has metadata value "NameTagId"
  138. set {_id} to metadata value "NameTagId" of victim
  139. wait 1 tick
  140. set {_packet} to new play_server_entity_metadata packet
  141. set {_json::2} to "&8[%gaugeString(40, health of victim, max health of victim, ""|"", ""&7"", ""&a"")%&8]"
  142. set int pnum 0 of {_packet} to {_id}
  143. set "WatchableCollection" pjson 0 of {_packet} to json from listvar {_json::*}
  144. send all players packet {_packet}
  145. on heal:
  146. event-entity has metadata value "NameTagId"
  147. set {_id} to metadata value "NameTagId" of event-entity
  148. wait 1 tick
  149. set {_packet} to new play_server_entity_metadata packet
  150. set {_json::2} to "&8[%gaugeString(40, health of event-entity, max health of event-entity, ""|"", ""&7"", ""&a"")%&8]"
  151. set int pnum 0 of {_packet} to {_id}
  152. set "WatchableCollection" pjson 0 of {_packet} to json from listvar {_json::*}
  153. send all players packet {_packet}
  154. on death:
  155. victim is not a player
  156. victim has metadata value "NameTagId"
  157. set {_id} to metadata value "NameTagId" of victim
  158. set {_packet} to new play_server_entity_destroy packet
  159. set int array pnum 0 of {_packet} to {_id}
  160. set {_compound} to new NBTTagCompound()
  161. victim.getHandle().b({_compound})
  162. set {_deathmotiontime} to 19-({_compound}.getShort("DeathTime"))
  163. if {_deathmotiontime} > 0:
  164. loop {_deathmotiontime} times:
  165. wait 1 tick
  166. send all players packet {_packet}
  167. function gaugeString(length: integer, value: number, max: number, char: string, colorcode1: string, colorcode2: string) :: string:
  168. set {_rate} to {_value}/{_max}
  169. if {_rate} > 1:
  170. set {_rate} to 1
  171. add colored {_colorcode2} to {_gauge::*}
  172. loop round({_length}*{_rate}) times:
  173. add {_char} to {_gauge::*}
  174. add colored {_colorcode1} to {_gauge::*}
  175. loop {_length}-round({_length}*{_rate}) times:
  176. add {_char} to {_gauge::*}
  177. return join {_gauge::*}
  178. function getAllPassengers(entity: entity) :: entities:
  179. add passengers of {_entity} to {_passengers::*}
  180. loop {_passengers::*}:
  181. add getAllPassengers(loop-value) to {_passengers::*}
  182. return {_passengers::*}
Advertisement
Add Comment
Please, Sign In to add comment