Fix constant logging when playing on a multiplayer server that doesn't register for receiving pony data packets

# Conflicts:
#	src/main/java/com/minelittlepony/api/events/Channel.java
#	src/main/java/com/minelittlepony/client/render/EquineRenderManager.java
This commit is contained in:
Sollace 2023-10-24 01:12:36 +01:00
parent 2ed7f91786
commit 4de3f3daa2
No known key found for this signature in database
GPG key ID: E52FACE7B5C773DB
2 changed files with 8 additions and 8 deletions

View file

@ -54,18 +54,18 @@ public class Channel {
});
}
public static boolean isRegistered() {
return registered;
}
public static boolean broadcastPonyData(PonyData packet) {
if (!isRegistered()) {
return false;
}
if (FabricLoader.getInstance().getEnvironmentType() != EnvType.CLIENT) {
throw new RuntimeException("Client packet send called by the server");
}
if (!registered) {
LOGGER.info("Skipping network packet as the server has not consented");
return false;
} else {
LOGGER.info("Sending pony data to server for player");
}
ClientPlayNetworking.send(CLIENT_PONY_DATA, MsgPonyData.write(packet, PacketByteBufs.create()));
return true;
}

View file

@ -197,7 +197,7 @@ public class EquineRenderManager<T extends LivingEntity, M extends EntityModel<T
@Nullable
PlayerEntity clientPlayer = MinecraftClient.getInstance().player;
if (pony.compareTo(lastTransmittedPony) != 0) {
if (Channel.isRegistered() && pony.compareTo(lastTransmittedPony) != 0) {
if (clientPlayer != null && (Objects.equals(player, clientPlayer) || Objects.equals(player.getGameProfile(), clientPlayer.getGameProfile()))) {
if (Channel.broadcastPonyData(pony.metadata())) {
lastTransmittedPony = pony;