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

Fix some Nautilus interactive tags

Adding armor to a Nautilus also causes you to mount it. Needs taking a look at.
This commit is contained in:
Camotoy
2025-12-14 21:26:20 -05:00
parent 377283df49
commit 18bab1aa9f
2 changed files with 10 additions and 5 deletions

View File

@@ -89,16 +89,19 @@ public abstract class AbstractNautilusEntity extends TameableEntity implements C
}
if (getFlag(EntityFlag.TAMED)) {
if (itemInHand.asItem().javaIdentifier().endsWith("_nautilus_armor") && !getItemInSlot(EquipmentSlot.BODY).isEmpty() && !getFlag(EntityFlag.BABY)) {
return InteractiveTag.EQUIP_WOLF_ARMOR; // TODO
if (itemInHand.asItem().javaIdentifier().endsWith("_nautilus_armor") && getItemInSlot(EquipmentSlot.BODY).isEmpty() && !getFlag(EntityFlag.BABY)) {
return InteractiveTag.EQUIP_NAUTILUS_ARMOR;
}
if (itemInHand.is(Items.SHEARS) && !getItemInSlot(EquipmentSlot.BODY).isEmpty()
&& (!isCurseOfBinding || session.getGameMode().equals(GameMode.CREATIVE))) {
return InteractiveTag.REMOVE_WOLF_ARMOR; // TODO
return InteractiveTag.REMOVE_NAUTILUS_ARMOR;
}
if (itemInHand.is(session, repairableItems) &&
!getItemInSlot(EquipmentSlot.BODY).isEmpty() && getItemInSlot(EquipmentSlot.BODY).isDamaged()) {
return InteractiveTag.REPAIR_WOLF_ARMOR; // TODO
return InteractiveTag.REPAIR_WOLF_ARMOR;
}
if (itemInHand.isEmpty()) {
return InteractiveTag.RIDE_HORSE; // Does not appear to be a specific interaction for Nautilus; needs ProxyPass verification
}
} else if (getFlag(EntityFlag.BABY) || getFlag(EntityFlag.TAMED)) {
if (itemInHand.is(session, ItemTag.NAUTILUS_FOOD)) {

View File

@@ -80,7 +80,9 @@ public enum InteractiveTag {
SCRAPE,
WAX_ON,
WAX_OFF,
DROP_ITEM;
DROP_ITEM,
EQUIP_NAUTILUS_ARMOR("equipnautilusarmor"),
REMOVE_NAUTILUS_ARMOR("removenautilusarmor");
/**
* The full string that should be passed on to the client.