79 lines
2.9 KiB
Plaintext
79 lines
2.9 KiB
Plaintext
#made by Govindas @ limework.net
|
|
on script load:
|
|
#create scoreboard objective packet
|
|
|
|
set {-scoreboard_objective_create_packet} to new play_server_scoreboard_objective packet
|
|
set field 3 of {-scoreboard_objective_create_packet} to 0 #0 means create
|
|
set field 2 of {-scoreboard_objective_create_packet} to "HEARTS"
|
|
|
|
#set objective display slot
|
|
#2 = below name
|
|
#0 = sidebar
|
|
|
|
set {-belowname_display_packet} to new play_server_scoreboard_display_objective packet
|
|
set field 0 of {-belowname_display_packet} to 2
|
|
|
|
effect set below[ ]name [display] of %player/string% for %player% to %number% named %string%:
|
|
trigger:
|
|
#register scoreboard objective
|
|
if {-hpbelowpacket::%expression 2%} is not set:
|
|
set {_packet} to {-scoreboard_objective_create_packet}
|
|
|
|
#random scoreboard name to support bungeecord
|
|
set {_uuid} to first 16 characters of random uuid
|
|
|
|
set field 0 of {_packet} to {_uuid}
|
|
#set field 1 of {_packet} to nms textcomponent from text (expression 4)
|
|
set field 1 of {_packet} to expression 4
|
|
|
|
send packet {_packet} to expression 2
|
|
set {-hpbelowpacket::%expression 2%} to expression 4
|
|
|
|
set {-hpbelowpacketid::%expression 2%} to {_uuid}
|
|
|
|
#below name display packet, MUST be sent only once
|
|
set {_packet} to {-belowname_display_packet}
|
|
set field 1 of {_packet} to {-hpbelowpacketid::%expression 2%}
|
|
send packet {_packet} to expression 2
|
|
|
|
#update the name if objective already present
|
|
else if {-hpbelowpacket::%expression 2%} is not expression 4:
|
|
|
|
set {_packet} to new play_server_scoreboard_objective packet
|
|
set field 3 of {_packet} to 2
|
|
set field 0 of {_packet} to {-hpbelowpacketid::%expression 2%}
|
|
set field 2 of {_packet} to "HEARTS"
|
|
#set field 1 of {_packet} to nms textcomponent from text (expression 4)
|
|
set field 1 of {_packet} to expression 4
|
|
|
|
send packet {_packet} to expression 2
|
|
set {-hpbelowpacket::%expression 2%} to expression 4
|
|
|
|
#set the number displayed
|
|
set {_packet} to new play_server_scoreboard_score packet
|
|
set field 2 of {_packet} to expression 3 #number
|
|
set field 0 of {_packet} to "%expression 1%" #player name
|
|
set field 1 of {_packet} to {-hpbelowpacketid::%expression 2%}
|
|
set field 3 of {_packet} to "CHANGE"
|
|
|
|
send packet {_packet} to expression 2
|
|
|
|
effect (wipe|remove|reset|delete|clear) below[ ]name [display] (for|of) %player%:
|
|
trigger:
|
|
set {_id} to "%{-hpbelowpacketid::%expression 1%}%"
|
|
wait 2 ticks
|
|
{_id} is "%{-hpbelowpacketid::%expression 1%}%"
|
|
set {_packet} to new play_server_scoreboard_objective packet
|
|
set field 3 of {_packet} to 1 #1 means remove
|
|
set field 0 of {_packet} to {-hpbelowpacketid::%expression 1%}
|
|
|
|
send packet {_packet} to expression 1
|
|
|
|
delete {-hpbelowpacketid::%expression 1%} and {-hpbelowpacket::%expression 1%}
|
|
|
|
on quit:
|
|
remove belowname for player
|
|
on player world change:
|
|
{-hpbelowpacketid::%player%} is set:
|
|
remove belowname for player
|