From cdcce63c1c969807ecfffb52a4cee302f9f22074 Mon Sep 17 00:00:00 2001 From: Dylan Ogle Date: Sat, 29 May 2021 05:40:20 +0100 Subject: [PATCH 1/4] Use the correct scale for cats. --- .../connector/entity/living/animal/tameable/CatEntity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java index 2d56d0c1869..0e93ff197e8 100644 --- a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java +++ b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java @@ -50,6 +50,7 @@ public void updateRotation(GeyserSession session, float yaw, float pitch, boolea public void updateBedrockMetadata(EntityMetadata entityMetadata, GeyserSession session) { super.updateBedrockMetadata(entityMetadata, session); if (entityMetadata.getId() == 16) { + metadata.put(EntityData.SCALE, .8f); // Update collar color if tamed if (metadata.getFlags().getFlag(EntityFlag.TAMED)) { metadata.put(EntityData.COLOR, collarColor); From 4813fd12ef7e89046db9250a19da59cf70cae622 Mon Sep 17 00:00:00 2001 From: Dylan Ogle Date: Sat, 29 May 2021 06:48:02 +0100 Subject: [PATCH 2/4] Fix my mess up & fix baby cats size. --- .../entity/living/animal/tameable/CatEntity.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java index 0e93ff197e8..62dbd0e6471 100644 --- a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java +++ b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java @@ -49,8 +49,15 @@ public void updateRotation(GeyserSession session, float yaw, float pitch, boolea @Override public void updateBedrockMetadata(EntityMetadata entityMetadata, GeyserSession session) { super.updateBedrockMetadata(entityMetadata, session); - if (entityMetadata.getId() == 16) { + + if (entityMetadata.getId() == 15) { metadata.put(EntityData.SCALE, .8f); + boolean isBaby = (boolean) entityMetadata.getValue(); + if (isBaby) { + metadata.put(EntityData.SCALE, .4f); + metadata.getFlags().setFlag(EntityFlag.BABY, true); + } + } else if (entityMetadata.getId() == 16) { // Update collar color if tamed if (metadata.getFlags().getFlag(EntityFlag.TAMED)) { metadata.put(EntityData.COLOR, collarColor); From 34f950c9a36055ff33f008a9192bc1f9db8abea5 Mon Sep 17 00:00:00 2001 From: Dylan Ogle Date: Sat, 29 May 2021 06:49:22 +0100 Subject: [PATCH 3/4] Delete new line. --- .../connector/entity/living/animal/tameable/CatEntity.java | 1 - 1 file changed, 1 deletion(-) diff --git a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java index 62dbd0e6471..2002993a615 100644 --- a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java +++ b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java @@ -49,7 +49,6 @@ public void updateRotation(GeyserSession session, float yaw, float pitch, boolea @Override public void updateBedrockMetadata(EntityMetadata entityMetadata, GeyserSession session) { super.updateBedrockMetadata(entityMetadata, session); - if (entityMetadata.getId() == 15) { metadata.put(EntityData.SCALE, .8f); boolean isBaby = (boolean) entityMetadata.getValue(); From 4c09679d1a53edd2455854c49f40f083f22abb6c Mon Sep 17 00:00:00 2001 From: Dylan Ogle Date: Sat, 29 May 2021 14:17:38 +0100 Subject: [PATCH 4/4] Implement resting --- .../connector/entity/living/animal/tameable/CatEntity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java index 2002993a615..6869717a028 100644 --- a/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java +++ b/connector/src/main/java/org/geysermc/connector/entity/living/animal/tameable/CatEntity.java @@ -83,6 +83,9 @@ public void updateBedrockMetadata(EntityMetadata entityMetadata, GeyserSession s } metadata.put(EntityData.VARIANT, variantColor); } + if (entityMetadata.getId() == 19) { + metadata.getFlags().setFlag(EntityFlag.RESTING, (boolean) entityMetadata.getValue()); + } if (entityMetadata.getId() == 21) { collarColor = (byte) (int) entityMetadata.getValue(); // Needed or else wild cats are a red color