From e1f2c2ca68d1d637b4f4af4ff42cf79f4b9ba42b Mon Sep 17 00:00:00 2001 From: basaigh <53559772+basaigh@users.noreply.github.com> Date: Thu, 11 Dec 2025 00:28:08 +0000 Subject: [PATCH] Update wolf metadata handling and bump paper run version --- .../org/geysermc/geyser/entity/EntityDefinitions.java | 2 +- .../entity/type/living/animal/tameable/WolfEntity.java | 9 +++++---- gradle/libs.versions.toml | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/entity/EntityDefinitions.java b/core/src/main/java/org/geysermc/geyser/entity/EntityDefinitions.java index 1cdc967a4..8ede0f1f3 100644 --- a/core/src/main/java/org/geysermc/geyser/entity/EntityDefinitions.java +++ b/core/src/main/java/org/geysermc/geyser/entity/EntityDefinitions.java @@ -1261,7 +1261,7 @@ public final class EntityDefinitions { // "Begging" on wiki.vg, "Interested" in Nukkit - the tilt of the head .addTranslator(MetadataTypes.BOOLEAN, (wolfEntity, entityMetadata) -> wolfEntity.setFlag(EntityFlag.INTERESTED, ((BooleanEntityMetadata) entityMetadata).getPrimitiveValue())) .addTranslator(MetadataTypes.INT, WolfEntity::setCollarColor) - .addTranslator(MetadataTypes.INT, WolfEntity::setWolfAngerTime) + .addTranslator(MetadataTypes.LONG, WolfEntity::setWolfAngerTime) .addTranslator(MetadataTypes.WOLF_VARIANT, WolfEntity::setVariant) .addTranslator(null) // sound variant; these aren't clientsided anyways... right?? .build(); diff --git a/core/src/main/java/org/geysermc/geyser/entity/type/living/animal/tameable/WolfEntity.java b/core/src/main/java/org/geysermc/geyser/entity/type/living/animal/tameable/WolfEntity.java index eee7a0052..78680a8f7 100644 --- a/core/src/main/java/org/geysermc/geyser/entity/type/living/animal/tameable/WolfEntity.java +++ b/core/src/main/java/org/geysermc/geyser/entity/type/living/animal/tameable/WolfEntity.java @@ -51,6 +51,7 @@ import org.geysermc.geyser.util.ItemUtils; import org.geysermc.mcprotocollib.protocol.data.game.entity.EquipmentSlot; import org.geysermc.mcprotocollib.protocol.data.game.entity.metadata.type.ByteEntityMetadata; import org.geysermc.mcprotocollib.protocol.data.game.entity.metadata.type.IntEntityMetadata; +import org.geysermc.mcprotocollib.protocol.data.game.entity.metadata.type.LongEntityMetadata; import org.geysermc.mcprotocollib.protocol.data.game.entity.player.GameMode; import org.geysermc.mcprotocollib.protocol.data.game.entity.player.Hand; import org.geysermc.mcprotocollib.protocol.data.game.item.component.DataComponentTypes; @@ -118,10 +119,10 @@ public class WolfEntity extends TameableEntity implements VariantIntHolder { } // 1.16+ - public void setWolfAngerTime(IntEntityMetadata entityMetadata) { - int time = entityMetadata.getPrimitiveValue(); - setFlag(EntityFlag.ANGRY, time != 0); - dirtyMetadata.put(EntityDataTypes.COLOR, time != 0 ? (byte) 0 : collarColor); + public void setWolfAngerTime(LongEntityMetadata entityMetadata) { + long time = entityMetadata.getPrimitiveValue(); + setFlag(EntityFlag.ANGRY, time != -1L); + dirtyMetadata.put(EntityDataTypes.COLOR, time != -1L ? (byte) 0 : collarColor); } @Override diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5e737cd53..3ec28e734 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -46,7 +46,7 @@ mixinextras = "0.3.5" minecraft = "1.21.11" mockito = "5.+" runtask = "2.3.1" -runpaperversion = "1.21.10" +runpaperversion = "1.21.11" runvelocityversion = "3.4.0-SNAPSHOT" # plugin versions