1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-12-19 14:59:27 +00:00

Update wolf metadata handling and bump paper run version

This commit is contained in:
basaigh
2025-12-11 00:28:08 +00:00
parent dcfb10bc60
commit e1f2c2ca68
3 changed files with 7 additions and 6 deletions

View File

@@ -1261,7 +1261,7 @@ public final class EntityDefinitions {
// "Begging" on wiki.vg, "Interested" in Nukkit - the tilt of the head // "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.BOOLEAN, (wolfEntity, entityMetadata) -> wolfEntity.setFlag(EntityFlag.INTERESTED, ((BooleanEntityMetadata) entityMetadata).getPrimitiveValue()))
.addTranslator(MetadataTypes.INT, WolfEntity::setCollarColor) .addTranslator(MetadataTypes.INT, WolfEntity::setCollarColor)
.addTranslator(MetadataTypes.INT, WolfEntity::setWolfAngerTime) .addTranslator(MetadataTypes.LONG, WolfEntity::setWolfAngerTime)
.addTranslator(MetadataTypes.WOLF_VARIANT, WolfEntity::setVariant) .addTranslator(MetadataTypes.WOLF_VARIANT, WolfEntity::setVariant)
.addTranslator(null) // sound variant; these aren't clientsided anyways... right?? .addTranslator(null) // sound variant; these aren't clientsided anyways... right??
.build(); .build();

View File

@@ -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.EquipmentSlot;
import org.geysermc.mcprotocollib.protocol.data.game.entity.metadata.type.ByteEntityMetadata; 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.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.GameMode;
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.Hand; import org.geysermc.mcprotocollib.protocol.data.game.entity.player.Hand;
import org.geysermc.mcprotocollib.protocol.data.game.item.component.DataComponentTypes; import org.geysermc.mcprotocollib.protocol.data.game.item.component.DataComponentTypes;
@@ -118,10 +119,10 @@ public class WolfEntity extends TameableEntity implements VariantIntHolder {
} }
// 1.16+ // 1.16+
public void setWolfAngerTime(IntEntityMetadata entityMetadata) { public void setWolfAngerTime(LongEntityMetadata entityMetadata) {
int time = entityMetadata.getPrimitiveValue(); long time = entityMetadata.getPrimitiveValue();
setFlag(EntityFlag.ANGRY, time != 0); setFlag(EntityFlag.ANGRY, time != -1L);
dirtyMetadata.put(EntityDataTypes.COLOR, time != 0 ? (byte) 0 : collarColor); dirtyMetadata.put(EntityDataTypes.COLOR, time != -1L ? (byte) 0 : collarColor);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ mixinextras = "0.3.5"
minecraft = "1.21.11" minecraft = "1.21.11"
mockito = "5.+" mockito = "5.+"
runtask = "2.3.1" runtask = "2.3.1"
runpaperversion = "1.21.10" runpaperversion = "1.21.11"
runvelocityversion = "3.4.0-SNAPSHOT" runvelocityversion = "3.4.0-SNAPSHOT"
# plugin versions # plugin versions