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

Fixed nautilus dash progress bar.

This commit is contained in:
oryxel1
2025-12-12 18:39:27 +07:00
parent 189d99c942
commit 1d3ed4bd0a
3 changed files with 10 additions and 5 deletions

View File

@@ -1234,7 +1234,7 @@ public final class EntityDefinitions {
{ {
EntityDefinition<AbstractNautilusEntity> abstractNautilusBase = EntityDefinition.<AbstractNautilusEntity>inherited(null, tameableEntityBase) // No factory, is abstract EntityDefinition<AbstractNautilusEntity> abstractNautilusBase = EntityDefinition.<AbstractNautilusEntity>inherited(null, tameableEntityBase) // No factory, is abstract
.width(0.95f).height(0.875f) .width(0.95f).height(0.875f)
.addTranslator(MetadataTypes.BOOLEAN, AbstractNautilusEntity::setBoost) .addTranslator(MetadataTypes.BOOLEAN, AbstractNautilusEntity::setDashing)
.build(); .build();
NAUTILUS = EntityDefinition.inherited(NautilusEntity::new, abstractNautilusBase) NAUTILUS = EntityDefinition.inherited(NautilusEntity::new, abstractNautilusBase)

View File

@@ -42,7 +42,6 @@ import org.geysermc.geyser.inventory.GeyserItemStack;
import org.geysermc.geyser.item.Items; import org.geysermc.geyser.item.Items;
import org.geysermc.geyser.item.enchantment.EnchantmentComponent; import org.geysermc.geyser.item.enchantment.EnchantmentComponent;
import org.geysermc.geyser.item.type.Item; import org.geysermc.geyser.item.type.Item;
import org.geysermc.geyser.level.block.Fluid;
import org.geysermc.geyser.session.GeyserSession; import org.geysermc.geyser.session.GeyserSession;
import org.geysermc.geyser.session.cache.tags.ItemTag; import org.geysermc.geyser.session.cache.tags.ItemTag;
import org.geysermc.geyser.session.cache.tags.Tag; import org.geysermc.geyser.session.cache.tags.Tag;
@@ -50,7 +49,6 @@ import org.geysermc.geyser.util.InteractiveTag;
import org.geysermc.geyser.util.ItemUtils; 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.BooleanEntityMetadata; import org.geysermc.mcprotocollib.protocol.data.game.entity.metadata.type.BooleanEntityMetadata;
import org.geysermc.mcprotocollib.protocol.data.game.entity.metadata.type.IntEntityMetadata;
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;
@@ -68,6 +66,7 @@ public abstract class AbstractNautilusEntity extends TameableEntity implements C
this.vehicleComponent = new NautilusVehicleComponent(this, 0.0f, defSpeed); this.vehicleComponent = new NautilusVehicleComponent(this, 0.0f, defSpeed);
dirtyMetadata.put(EntityDataTypes.CONTAINER_SIZE, 2); dirtyMetadata.put(EntityDataTypes.CONTAINER_SIZE, 2);
setFlag(EntityFlag.WASD_CONTROLLED, true);
} }
@Override @Override
@@ -132,7 +131,7 @@ public abstract class AbstractNautilusEntity extends TameableEntity implements C
return !this.getFlag(EntityFlag.SADDLED); return !this.getFlag(EntityFlag.SADDLED);
} }
public void setBoost(BooleanEntityMetadata entityMetadata) { public void setDashing(BooleanEntityMetadata entityMetadata) {
if (entityMetadata.getPrimitiveValue()) { if (entityMetadata.getPrimitiveValue()) {
vehicleComponent.setDashCooldown(40); vehicleComponent.setDashCooldown(40);
} }

View File

@@ -46,7 +46,6 @@ public class NautilusVehicleComponent extends VehicleComponent<AbstractNautilusE
@Override @Override
public void tickVehicle() { public void tickVehicle() {
vehicle.setFlag(EntityFlag.CAN_DASH, vehicle.getFlag(EntityFlag.SADDLED));
vehicle.setFlag(EntityFlag.HAS_DASH_COOLDOWN, this.dashCooldown > 0); vehicle.setFlag(EntityFlag.HAS_DASH_COOLDOWN, this.dashCooldown > 0);
vehicle.updateBedrockMetadata(); vehicle.updateBedrockMetadata();
@@ -78,6 +77,13 @@ public class NautilusVehicleComponent extends VehicleComponent<AbstractNautilusE
return inputVelocity; return inputVelocity;
} }
@Override
public void onDismount() {
vehicle.setFlag(EntityFlag.HAS_DASH_COOLDOWN, false);
vehicle.updateBedrockMetadata();
super.onDismount();
}
@Override @Override
protected void updateRotation() { protected void updateRotation() {
float yaw = vehicle.getYaw() + MathUtils.wrapDegrees(getRiddenRotation().getX() - vehicle.getYaw()) * 0.5F; float yaw = vehicle.getYaw() + MathUtils.wrapDegrees(getRiddenRotation().getX() - vehicle.getYaw()) * 0.5F;