From 798ae34cd149358b2581c5d08c62294772a57a50 Mon Sep 17 00:00:00 2001 From: Camotoy <20743703+DoctorMacc@users.noreply.github.com> Date: Sun, 6 Dec 2020 14:46:31 -0500 Subject: [PATCH] WolfEntity: fix entire wolf being set to a color in rare instances (#1630) --- .../connector/entity/living/animal/tameable/WolfEntity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/WolfEntity.java b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/WolfEntity.java index 6fe9e592..467c5c33 100644 --- a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/WolfEntity.java +++ b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/WolfEntity.java @@ -60,6 +60,11 @@ public class WolfEntity extends TameableEntity { // Relies on EntityData.OWNER_EID being set in TameableEntity.java if (entityMetadata.getId() == 19 && !metadata.getFlags().getFlag(EntityFlag.ANGRY)) { metadata.put(EntityData.COLOR, collarColor = (byte) (int) entityMetadata.getValue()); + if (!metadata.containsKey(EntityData.OWNER_EID)) { + // If a color is set and there is no owner entity ID, set one. + // Otherwise, the entire wolf is set to that color: https://user-images.githubusercontent.com/9083212/99209989-92691200-2792-11eb-911d-9a315c955be9.png + metadata.put(EntityData.OWNER_EID, session.getPlayerEntity().getGeyserId()); + } } // Wolf anger (1.16+)