From e3c90a4646c7530f16d3fba1d5014e67b5ed443c Mon Sep 17 00:00:00 2001 From: Govindas Date: Tue, 14 Dec 2021 18:23:01 +0200 Subject: [PATCH] Reduce code --- belowname_display_1.16.5-skript-packet.sk | 43 +++-------------------- 1 file changed, 5 insertions(+), 38 deletions(-) diff --git a/belowname_display_1.16.5-skript-packet.sk b/belowname_display_1.16.5-skript-packet.sk index f3b0c8e..80eb04d 100644 --- a/belowname_display_1.16.5-skript-packet.sk +++ b/belowname_display_1.16.5-skript-packet.sk @@ -1,22 +1,10 @@ #made by Govindas @ limework.net - -import: - net.minecraft.server.v1_16_R3.IScoreboardCriteria$EnumScoreboardHealthDisplay on script load: #create scoreboard objective packet set {-scoreboard_objective_create_packet} to new play_server_scoreboard_objective packet - #1.16 set field 3 of {-scoreboard_objective_create_packet} to 0 #0 means create - set field 2 of {-scoreboard_objective_create_packet} to EnumScoreboardHealthDisplay.HEARTS - #1.12 - #set int field 0 of {-scoreboard_objective_create_packet} to 0 #0 means create - #set {-scoreboard_objective_create_packet}.getHandle().c to EnumScoreboardHealthDisplay.INTEGER - - #update scoreboard objective packet - - set {-scoreboard_objective_update_packet} to new play_server_scoreboard_objective packet - set field 3 of {-scoreboard_objective_update_packet} to 2 #2 means update + set field 2 of {-scoreboard_objective_create_packet} to "HEARTS" #set objective display slot #2 = below name @@ -32,78 +20,57 @@ effect set below[ ]name [display] of %player/string% for %player% to %number% na 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} - #1.16 #set field 1 of {_packet} to nms textcomponent from text (expression 4) set field 1 of {_packet} to expression 4 - #1.12 - #set string field 1 of {_packet} to expression 4 #text that is displayed below name 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 EnumScoreboardHealthDisplay.HEARTS - #1.16 + 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 - #1.12 - #set string field 1 of {_packet} to expression 4 #new text displayed below name 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" - #TODO FIX THIS KICKING PLAYERS + send packet {_packet} to expression 2 effect (wipe|remove|reset|delete|clear) below[ ]name [display] (for|of) %player%: trigger: - #removed this condition... as it was sometimes preventing legitimate reset, maybe sometimes it just needs to do it twice?) - #{-hpbelowpacketid::%expression 1%} is set: - #needed to re-create the display, to reset it easier - #somehow without re-setting it before removing, it bugs out and doesn't let to remove it anymore without relog sometimes 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 2 of {_packet} to EnumScoreboardHealthDisplay.HEARTS set field 0 of {_packet} to {-hpbelowpacketid::%expression 1%} - #TODO FIX THIS KICKING PLAYERS + send packet {_packet} to expression 1 delete {-hpbelowpacketid::%expression 1%} and {-hpbelowpacket::%expression 1%} -#on packet event play_server_scoreboard_objective: -# player is "Govindas" -# send "play_server_scoreboard_objective" to ops -# loop integers from 0 to 5: -# field loop-number of event-packet is set -# send "field %loop-number%: %field loop-number of event-packet%" to ops + on quit: remove belowname for player on player world change: