From d0bef1ecb3f9728ef1ea6f634294174f5535cf4e Mon Sep 17 00:00:00 2001 From: fzzyhmstrs Date: Mon, 22 Apr 2024 10:01:57 -0400 Subject: [PATCH 1/3] Add server.execute and client.execute wrappers in the registerGlobalReceiver calls to put execution on-thread (cherry picked from commit 58d1ac31c5e9e4aa4744989000d54456b2822fa5) --- .../com/github/nyuppo/MoreMobVariants.java | 66 ++++++++--------- .../github/nyuppo/MoreMobVariantsClient.java | 72 +++++++++---------- 2 files changed, 70 insertions(+), 68 deletions(-) diff --git a/src/main/java/com/github/nyuppo/MoreMobVariants.java b/src/main/java/com/github/nyuppo/MoreMobVariants.java index b6ec4dc..7374c08 100644 --- a/src/main/java/com/github/nyuppo/MoreMobVariants.java +++ b/src/main/java/com/github/nyuppo/MoreMobVariants.java @@ -70,50 +70,52 @@ public void onInitialize() { // Server event to respond to client request for a variant ServerPlayNetworking.registerGlobalReceiver(MMVNetworkingConstants.CLIENT_REQUEST_VARIANT_ID, ((server, player, handler, buf, responseSender) -> { UUID uuid = buf.readUuid(); - Entity entity = server.getOverworld().getEntity(uuid); - - // If we couldn't find the mob in the overworld, start checking all other worlds - if (entity == null) { - for (ServerWorld serverWorld : server.getWorlds()) { - Entity entity2 = serverWorld.getEntity(uuid); - if (entity2 != null) { - entity = entity2; + server.execute( () -> { + Entity entity = server.getOverworld().getEntity(uuid); + + // If we couldn't find the mob in the overworld, start checking all other worlds + if (entity == null) { + for (ServerWorld serverWorld : server.getWorlds()) { + Entity entity2 = serverWorld.getEntity(uuid); + if (entity2 != null) { + entity = entity2; + } } } - } - if (entity != null) { - NbtCompound nbt = new NbtCompound(); - entity.writeNbt(nbt); + if (entity != null) { + NbtCompound nbt = new NbtCompound(); + entity.writeNbt(nbt); - if (nbt.contains(NBT_KEY)) { - PacketByteBuf responseBuf = PacketByteBufs.create(); - responseBuf.writeInt(entity.getId()); - responseBuf.writeString(nbt.getString(NBT_KEY)); + if (nbt.contains(NBT_KEY)) { + PacketByteBuf responseBuf = PacketByteBufs.create(); + responseBuf.writeInt(entity.getId()); + responseBuf.writeString(nbt.getString(NBT_KEY)); - // For some reason, "Sitting" syncing breaks, so send that too I guess - if (entity instanceof TameableEntity) { - responseBuf.writeBoolean(nbt.getBoolean("Sitting")); - } + // For some reason, "Sitting" syncing breaks, so send that too I guess + if (entity instanceof TameableEntity) { + responseBuf.writeBoolean(nbt.getBoolean("Sitting")); + } - // Muddy pigs - if (entity instanceof PigEntity) { - responseBuf.writeBoolean(nbt.getBoolean(MUDDY_NBT_KEY)); - responseBuf.writeInt(nbt.getInt(MUDDY_TIMEOUT_NBT_KEY)); - } + // Muddy pigs + if (entity instanceof PigEntity) { + responseBuf.writeBoolean(nbt.getBoolean(MUDDY_NBT_KEY)); + responseBuf.writeInt(nbt.getInt(MUDDY_TIMEOUT_NBT_KEY)); + } - // Sheep horns - if (entity instanceof SheepEntity) { - responseBuf.writeString(nbt.getString(SHEEP_HORN_COLOUR_NBT_KEY)); - } + // Sheep horns + if (entity instanceof SheepEntity) { + responseBuf.writeString(nbt.getString(SHEEP_HORN_COLOUR_NBT_KEY)); + } - ServerPlayNetworking.send(handler.getPlayer(), MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, responseBuf); + ServerPlayNetworking.send(handler.getPlayer(), MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, responseBuf); + } } - } + }); })); } public static Identifier id(String path) { return new Identifier(MOD_ID, path); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java b/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java index aaae910..0cac45f 100644 --- a/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java +++ b/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java @@ -58,44 +58,44 @@ public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, ((client, handler, buf, responseSender) -> { int id = buf.readInt(); String variantId = buf.readString(); - - if (client.world != null) { - Entity entity = client.world.getEntityById(id); - if (entity != null) { - NbtCompound nbt = new NbtCompound(); - entity.writeNbt(nbt); - - nbt.putString(MoreMobVariants.NBT_KEY, variantId); - - // For some reason, "Sitting" syncing breaks, so get that too I guess - if (entity instanceof TameableEntity) { - nbt.putBoolean("Sitting", buf.readBoolean()); - } - - // Muddy pigs - boolean isMuddy; - int muddyTimeLeft; - if (entity instanceof PigEntity) { - isMuddy = buf.readBoolean(); - muddyTimeLeft = buf.readInt(); - - nbt.putBoolean(MoreMobVariants.MUDDY_NBT_KEY, isMuddy); - nbt.putInt(MoreMobVariants.MUDDY_TIMEOUT_NBT_KEY, muddyTimeLeft); + client.execute(() -> { + if (client.world != null) { + Entity entity = client.world.getEntityById(id); + if (entity != null) { + NbtCompound nbt = new NbtCompound(); + entity.writeNbt(nbt); + + nbt.putString(MoreMobVariants.NBT_KEY, variantId); + + // For some reason, "Sitting" syncing breaks, so get that too I guess + if (entity instanceof TameableEntity) { + nbt.putBoolean("Sitting", buf.readBoolean()); + } + + // Muddy pigs + boolean isMuddy; + int muddyTimeLeft; + if (entity instanceof PigEntity) { + isMuddy = buf.readBoolean(); + muddyTimeLeft = buf.readInt(); + + nbt.putBoolean(MoreMobVariants.MUDDY_NBT_KEY, isMuddy); + nbt.putInt(MoreMobVariants.MUDDY_TIMEOUT_NBT_KEY, muddyTimeLeft); + } + + // Sheep horns + String hornColour; + if (entity instanceof SheepEntity) { + hornColour = buf.readString(); + + nbt.putString(MoreMobVariants.SHEEP_HORN_COLOUR_NBT_KEY, hornColour); + } + + entity.readNbt(nbt); } - - // Sheep horns - String hornColour; - if (entity instanceof SheepEntity) { - hornColour = buf.readString(); - - nbt.putString(MoreMobVariants.SHEEP_HORN_COLOUR_NBT_KEY, hornColour); - } - - entity.readNbt(nbt); } - - } + }); })); } -} +} \ No newline at end of file From 7bb4fbd0803b2c131de7a43864faa888ce12062e Mon Sep 17 00:00:00 2001 From: fzzyhmstrs Date: Mon, 22 Apr 2024 17:20:49 -0400 Subject: [PATCH 2/3] redesign the PacketByteBuf read to be entirely in the Netty Loop --- .../java/com/github/nyuppo/MoreMobVariants.java | 16 ++++++++++++---- .../com/github/nyuppo/MoreMobVariantsClient.java | 12 ++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/github/nyuppo/MoreMobVariants.java b/src/main/java/com/github/nyuppo/MoreMobVariants.java index 7374c08..0342367 100644 --- a/src/main/java/com/github/nyuppo/MoreMobVariants.java +++ b/src/main/java/com/github/nyuppo/MoreMobVariants.java @@ -92,21 +92,29 @@ public void onInitialize() { responseBuf.writeInt(entity.getId()); responseBuf.writeString(nbt.getString(NBT_KEY)); + //going to pass all three of these regardless, so buf structure is constant. More cases can be added and hook into these as needed. + boolean bl = false; + int i = 0; + String str = ""; + // For some reason, "Sitting" syncing breaks, so send that too I guess if (entity instanceof TameableEntity) { - responseBuf.writeBoolean(nbt.getBoolean("Sitting")); + bl = nbt.getBoolean("Sitting"); } // Muddy pigs if (entity instanceof PigEntity) { - responseBuf.writeBoolean(nbt.getBoolean(MUDDY_NBT_KEY)); - responseBuf.writeInt(nbt.getInt(MUDDY_TIMEOUT_NBT_KEY)); + bl = nbt.getBoolean(MUDDY_NBT_KEY); + i = nbt.getInt(MUDDY_TIMEOUT_NBT_KEY); } // Sheep horns if (entity instanceof SheepEntity) { - responseBuf.writeString(nbt.getString(SHEEP_HORN_COLOUR_NBT_KEY)); + str = nbt.getString(SHEEP_HORN_COLOUR_NBT_KEY); } + responseBuf.writeBoolean(bl); + responseBuf.writeVarInt(i); + responseBuf.writeString(str); ServerPlayNetworking.send(handler.getPlayer(), MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, responseBuf); } diff --git a/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java b/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java index 0cac45f..16b742c 100644 --- a/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java +++ b/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java @@ -58,6 +58,10 @@ public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, ((client, handler, buf, responseSender) -> { int id = buf.readInt(); String variantId = buf.readString(); + //read all three buffer values regardless, in the Netty loop. use as needed in the client. + boolean bl = buf.readBoolean(); + int i = buf.readVarInt(); + String str = buf.readString(); client.execute(() -> { if (client.world != null) { Entity entity = client.world.getEntityById(id); @@ -69,15 +73,15 @@ public void onInitializeClient() { // For some reason, "Sitting" syncing breaks, so get that too I guess if (entity instanceof TameableEntity) { - nbt.putBoolean("Sitting", buf.readBoolean()); + nbt.putBoolean("Sitting",bl); } // Muddy pigs boolean isMuddy; int muddyTimeLeft; if (entity instanceof PigEntity) { - isMuddy = buf.readBoolean(); - muddyTimeLeft = buf.readInt(); + isMuddy = bl; + muddyTimeLeft = i; nbt.putBoolean(MoreMobVariants.MUDDY_NBT_KEY, isMuddy); nbt.putInt(MoreMobVariants.MUDDY_TIMEOUT_NBT_KEY, muddyTimeLeft); @@ -86,7 +90,7 @@ public void onInitializeClient() { // Sheep horns String hornColour; if (entity instanceof SheepEntity) { - hornColour = buf.readString(); + hornColour = str; nbt.putString(MoreMobVariants.SHEEP_HORN_COLOUR_NBT_KEY, hornColour); } From d279116310e79a73710346a698eb7b37d03a9138 Mon Sep 17 00:00:00 2001 From: fzzyhmstrs Date: Mon, 22 Apr 2024 17:51:42 -0400 Subject: [PATCH 3/3] redesign the PacketByteBuf read to be entirely in the Netty Loop (cherry picked from commit 957c9be7793ec0e861ea14d246a29c1f2c115608) --- .../github/nyuppo/MoreMobVariantsClient.java | 20 ++++++++++++++++++- .../github/nyuppo/mixin/CatVariantsMixin.java | 6 ++---- .../nyuppo/mixin/ChickenVariantsMixin.java | 4 ++-- .../github/nyuppo/mixin/CowVariantsMixin.java | 4 ++-- .../github/nyuppo/mixin/PigVariantsMixin.java | 6 ++++-- .../nyuppo/mixin/SheepVariantsMixin.java | 5 ++++- .../nyuppo/mixin/SkeletonVariantsMixin.java | 4 ++-- .../nyuppo/mixin/SpiderVariantsMixin.java | 4 ++-- .../nyuppo/mixin/WolfVariantsMixin.java | 4 ++-- .../nyuppo/mixin/ZombieVariantsMixin.java | 4 ++-- .../networking/MMVNetworkingConstants.java | 3 ++- 11 files changed, 43 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java b/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java index 16b742c..ba97f8a 100644 --- a/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java +++ b/src/main/java/com/github/nyuppo/MoreMobVariantsClient.java @@ -54,7 +54,25 @@ public void onInitializeClient() { } }); - // Client event to handle response from server about mob variant + // Client event to handle response from server about basic mob variants + ClientPlayNetworking.registerGlobalReceiver(MMVNetworkingConstants.SERVER_RESPOND_BASIC_VARIANT_ID, ((client, handler, buf, responseSender) -> { + int id = buf.readInt(); + String variantId = buf.readString(); + client.execute(() -> { + if (client.world != null) { + Entity entity = client.world.getEntityById(id); + if (entity != null) { + NbtCompound nbt = new NbtCompound(); + entity.writeNbt(nbt); + nbt.putString(MoreMobVariants.NBT_KEY, variantId); + entity.readNbt(nbt); + } + } + }); + })); + + + // Client event to handle response from server about complex mob variants ClientPlayNetworking.registerGlobalReceiver(MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, ((client, handler, buf, responseSender) -> { int id = buf.readInt(); String variantId = buf.readString(); diff --git a/src/main/java/com/github/nyuppo/mixin/CatVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/CatVariantsMixin.java index d703ae4..a469b42 100644 --- a/src/main/java/com/github/nyuppo/mixin/CatVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/CatVariantsMixin.java @@ -57,7 +57,7 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); - ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); + ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_BASIC_VARIANT_ID, updateBuf); }); } } @@ -91,6 +91,4 @@ private void onCreateChild(ServerWorld world, PassiveEntity entity, CallbackInfo childNbt.putString(MoreMobVariants.NBT_KEY, variant.getIdentifier().toString()); child.readCustomDataFromNbt(childNbt); } -} - - +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/mixin/ChickenVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/ChickenVariantsMixin.java index 5b1c8f2..85ed585 100644 --- a/src/main/java/com/github/nyuppo/mixin/ChickenVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/ChickenVariantsMixin.java @@ -56,7 +56,7 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); - ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); + ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_BASIC_VARIANT_ID, updateBuf); }); } } @@ -81,4 +81,4 @@ private void onCreateChild(ServerWorld world, PassiveEntity entity, CallbackInfo childNbt.putString(MoreMobVariants.NBT_KEY, variant.getIdentifier().toString()); child.readCustomDataFromNbt(childNbt); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/mixin/CowVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/CowVariantsMixin.java index 9fb833d..33322a6 100644 --- a/src/main/java/com/github/nyuppo/mixin/CowVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/CowVariantsMixin.java @@ -55,7 +55,7 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); - ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); + ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_BASIC_VARIANT_ID, updateBuf); }); } } @@ -80,4 +80,4 @@ private void onCreateChild(ServerWorld world, PassiveEntity entity, CallbackInfo childNbt.putString(MoreMobVariants.NBT_KEY, variant.getIdentifier().toString()); child.readCustomDataFromNbt(childNbt); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/mixin/PigVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/PigVariantsMixin.java index 9434e13..6fbda92 100644 --- a/src/main/java/com/github/nyuppo/mixin/PigVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/PigVariantsMixin.java @@ -62,8 +62,10 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { PacketByteBuf updateBuf = PacketByteBufs.create(); updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); + //all three values in the "regular" packet post update updateBuf.writeBoolean(isMuddy); - updateBuf.writeInt(muddyTimeLeft); + updateBuf.writeVarInt(muddyTimeLeft); + updateBuf.writeString(""); ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); }); @@ -123,4 +125,4 @@ private void onCreateChild(ServerWorld world, PassiveEntity entity, CallbackInfo childNbt.putString(MoreMobVariants.NBT_KEY, variant.getIdentifier().toString()); child.readCustomDataFromNbt(childNbt); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/mixin/SheepVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/SheepVariantsMixin.java index fcda2b7..bab76ac 100644 --- a/src/main/java/com/github/nyuppo/mixin/SheepVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/SheepVariantsMixin.java @@ -59,6 +59,9 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { PacketByteBuf updateBuf = PacketByteBufs.create(); updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); + //all three values in the "regular" packet post update + updateBuf.writeBoolean(false); + updateBuf.writeVarInt(0); updateBuf.writeString(hornColour); ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); @@ -112,4 +115,4 @@ private void onCreateChild(ServerWorld world, PassiveEntity entity, CallbackInfo childNbt.putString(MoreMobVariants.SHEEP_HORN_COLOUR_NBT_KEY, colour); child.readCustomDataFromNbt(childNbt); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/mixin/SkeletonVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/SkeletonVariantsMixin.java index 289ca21..3fe6daf 100644 --- a/src/main/java/com/github/nyuppo/mixin/SkeletonVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/SkeletonVariantsMixin.java @@ -52,7 +52,7 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); - ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); + ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_BASIC_VARIANT_ID, updateBuf); }); } } @@ -61,4 +61,4 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { protected void onInitialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @Nullable EntityData entityData, @Nullable NbtCompound entityNbt, CallbackInfoReturnable ci) { variant = Variants.getRandomVariant(EntityType.SKELETON, world.getRandom().nextLong(), world.getBiome(((SkeletonEntity)(Object)this).getBlockPos()), null, world.getMoonSize()); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/mixin/SpiderVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/SpiderVariantsMixin.java index fcba314..97a2050 100644 --- a/src/main/java/com/github/nyuppo/mixin/SpiderVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/SpiderVariantsMixin.java @@ -52,7 +52,7 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); - ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); + ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_BASIC_VARIANT_ID, updateBuf); }); } } @@ -61,4 +61,4 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { protected void onInitialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @Nullable EntityData entityData, @Nullable NbtCompound entityNbt, CallbackInfoReturnable ci) { variant = Variants.getRandomVariant(EntityType.SPIDER, world.getRandom().nextLong(), world.getBiome(((SpiderEntity)(Object)this).getBlockPos()), null, world.getMoonSize()); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/mixin/WolfVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/WolfVariantsMixin.java index 81a6528..dfc6d7e 100644 --- a/src/main/java/com/github/nyuppo/mixin/WolfVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/WolfVariantsMixin.java @@ -56,7 +56,7 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); - ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); + ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_BASIC_VARIANT_ID, updateBuf); }); } } @@ -81,4 +81,4 @@ private void onCreateChild(ServerWorld world, PassiveEntity entity, CallbackInfo childNbt.putString(MoreMobVariants.NBT_KEY, variant.getIdentifier().toString()); child.readCustomDataFromNbt(childNbt); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/mixin/ZombieVariantsMixin.java b/src/main/java/com/github/nyuppo/mixin/ZombieVariantsMixin.java index 86e7cd5..a5cdd81 100644 --- a/src/main/java/com/github/nyuppo/mixin/ZombieVariantsMixin.java +++ b/src/main/java/com/github/nyuppo/mixin/ZombieVariantsMixin.java @@ -52,7 +52,7 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { updateBuf.writeInt(((Entity)(Object)this).getId()); updateBuf.writeString(variant.getIdentifier().toString()); - ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_VARIANT_ID, updateBuf); + ServerPlayNetworking.send(player, MMVNetworkingConstants.SERVER_RESPOND_BASIC_VARIANT_ID, updateBuf); }); } } @@ -61,4 +61,4 @@ protected void onReadCustomDataFromNbt(NbtCompound nbt, CallbackInfo ci) { protected void onInitialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @Nullable EntityData entityData, @Nullable NbtCompound entityNbt, CallbackInfoReturnable ci) { variant = Variants.getRandomVariant(EntityType.ZOMBIE, world.getRandom().nextLong(), world.getBiome(((ZombieEntity)(Object)this).getBlockPos()), null, world.getMoonSize()); } -} +} \ No newline at end of file diff --git a/src/main/java/com/github/nyuppo/networking/MMVNetworkingConstants.java b/src/main/java/com/github/nyuppo/networking/MMVNetworkingConstants.java index de83290..6871385 100644 --- a/src/main/java/com/github/nyuppo/networking/MMVNetworkingConstants.java +++ b/src/main/java/com/github/nyuppo/networking/MMVNetworkingConstants.java @@ -6,4 +6,5 @@ public class MMVNetworkingConstants { public static final Identifier CLIENT_REQUEST_VARIANT_ID = MoreMobVariants.id("client_request"); public static final Identifier SERVER_RESPOND_VARIANT_ID = MoreMobVariants.id("server_respond"); -} + public static final Identifier SERVER_RESPOND_BASIC_VARIANT_ID = MoreMobVariants.id("server_respond_basic"); +} \ No newline at end of file