88import net .kyrptonaught .lemclienthelper .LEMClientHelperMod ;
99import net .kyrptonaught .lemclienthelper .hud .armorHud .ArmorHudPacket ;
1010import net .kyrptonaught .lemclienthelper .hud .armorHud .ArmorHudRenderer ;
11+ import net .kyrptonaught .lemclienthelper .hud .genericHud .packets .BannerPacket ;
1112import net .kyrptonaught .lemclienthelper .hud .genericHud .packets .PlayerBarPacket ;
1213import net .kyrptonaught .lemclienthelper .hud .glideHud .packets .GlideHudPacket ;
1314import net .kyrptonaught .lemclienthelper .hud .glideHud .packets .GlideScorePacket ;
1415import net .kyrptonaught .lemclienthelper .hud .glideHud .GlideHudRenderer ;
1516import net .kyrptonaught .lemclienthelper .hud .glideHud .packets .GlideTimerPacket ;
1617import net .kyrptonaught .lemclienthelper .hud .glideHud .packets .GlideTimerTogglePacket ;
18+ import net .minecraft .text .Text ;
1719
1820/*
1921import net.minecraft.command.argument.EntityArgumentType;
22+ import net.minecraft.command.argument.TextArgumentType;
2023import net.minecraft.server.command.CommandManager;
2124import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
2225import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
2528*/
2629
2730public class HudMod {
31+ // TODO: maybe some of these should be moved to a different class.
2832 public static String MOD_ID = "hud" ;
2933
3034 public static boolean SHOULD_RENDER_PLAYERBAR = false ;
@@ -47,7 +51,13 @@ public class HudMod {
4751
4852 public static int GLIDE_SCORE = 0 ;
4953
50- public static int GLIDE_LAST_RING = 0 ;
54+ public static GlideScorePacket .rings GLIDE_LAST_RING ;
55+
56+ public static boolean BANNER_RECEIVED = false ; // Will set to false after banner is finished rendering.
57+
58+ public static BannerPacket .icons BANNER_ICON = BannerPacket .icons .BATTLE ;
59+
60+ public static Text BANNER_TEXT = null ;
5161
5262
5363 public static void onInitialize () {
@@ -96,6 +106,13 @@ public static void onInitialize() {
96106 PLAYER_STATUS = payload .players ();
97107 }));
98108
109+ PayloadTypeRegistry .playS2C ().register (BannerPacket .PACKET_ID , BannerPacket .codec );
110+ ClientPlayNetworking .registerGlobalReceiver (BannerPacket .PACKET_ID , ((payload , context ) -> {
111+ BANNER_ICON = payload .icon ();
112+ BANNER_TEXT = payload .text ();
113+ BANNER_RECEIVED = true ;
114+ }));
115+
99116 /*
100117 // Debug commands
101118 CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) ->
@@ -129,9 +146,12 @@ public static void onInitialize() {
129146 .then(CommandManager.literal("score")
130147 .then(CommandManager.literal("set")
131148 .then(CommandManager.argument("score", IntegerArgumentType.integer())
132- .then(CommandManager.argument("lastRing", IntegerArgumentType.integer())
149+ .then(CommandManager.argument("lastRing", IntegerArgumentType.integer(0,3 ))
133150 .executes(context -> {
134- ServerPlayNetworking.send(EntityArgumentType.getPlayer(context, "target"), new GlideScorePacket(IntegerArgumentType.getInteger(context, "score"), IntegerArgumentType.getInteger(context, "lastRing")));
151+ ServerPlayNetworking.send(EntityArgumentType.getPlayer(context, "target"),
152+ new GlideScorePacket(
153+ IntegerArgumentType.getInteger(context, "score"),
154+ GlideScorePacket.rings.values()[IntegerArgumentType.getInteger(context, "lastRing")]));
135155 return 0;
136156 })))))))));
137157 CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) ->
@@ -147,7 +167,20 @@ public static void onInitialize() {
147167 new byte[]{1,1,0,0,1}));
148168 return 0;
149169 }))))));
150- */
170+ CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) ->
171+ dispatcher.register(CommandManager.literal(LEMClientHelperMod.MOD_ID)
172+ .then(CommandManager.literal("sendTestBanner")
173+ .then(CommandManager.argument("target", EntityArgumentType.players())
174+ .then(CommandManager.argument("icon", IntegerArgumentType.integer(0,4))
175+ .then(CommandManager.argument("text", TextArgumentType.text(registryAccess))
176+ .executes(context -> {
177+ ServerPlayNetworking.send(EntityArgumentType.getPlayer(context, "target"),
178+ new BannerPacket(
179+ BannerPacket.icons.values()[IntegerArgumentType.getInteger(context,"icon")],
180+ TextArgumentType.getTextArgument(context,"text")));
181+ return 0;
182+ })))))));*/
183+
151184
152185 }
153186
0 commit comments