mirror of
https://github.com/GeyserMC/Geyser.git
synced 2025-12-19 14:59:27 +00:00
Fixed nautilus entity crash, correct entity definition. (#6036)
This commit is contained in:
@@ -1225,10 +1225,17 @@ public final class EntityDefinitions {
|
||||
.build();
|
||||
}
|
||||
|
||||
EntityDefinition<TameableEntity> tameableEntityBase = EntityDefinition.<TameableEntity>inherited(null, ageableEntityBase) // No factory, is abstract
|
||||
.addTranslator(MetadataTypes.BYTE, TameableEntity::setTameableFlags)
|
||||
.addTranslator(MetadataTypes.OPTIONAL_LIVING_ENTITY_REFERENCE, TameableEntity::setOwner)
|
||||
.build();
|
||||
|
||||
// Nautilus
|
||||
{
|
||||
EntityDefinition<AbstractNautilusEntity> abstractNautilusBase = EntityDefinition.<AbstractNautilusEntity>inherited(null, ageableEntityBase) // No factory, is abstract
|
||||
.build();
|
||||
EntityDefinition<AbstractNautilusEntity> abstractNautilusBase = EntityDefinition.<AbstractNautilusEntity>inherited(null, tameableEntityBase) // No factory, is abstract
|
||||
.width(0.95f).height(0.875f)
|
||||
.addTranslator(null)
|
||||
.build();
|
||||
|
||||
NAUTILUS = EntityDefinition.inherited(NautilusEntity::new, abstractNautilusBase)
|
||||
.type(EntityType.NAUTILUS)
|
||||
@@ -1241,10 +1248,6 @@ public final class EntityDefinitions {
|
||||
.build();
|
||||
}
|
||||
|
||||
EntityDefinition<TameableEntity> tameableEntityBase = EntityDefinition.<TameableEntity>inherited(null, ageableEntityBase) // No factory, is abstract
|
||||
.addTranslator(MetadataTypes.BYTE, TameableEntity::setTameableFlags)
|
||||
.addTranslator(MetadataTypes.OPTIONAL_LIVING_ENTITY_REFERENCE, TameableEntity::setOwner)
|
||||
.build();
|
||||
CAT = EntityDefinition.inherited(CatEntity::new, tameableEntityBase)
|
||||
.type(EntityType.CAT)
|
||||
.height(0.35f).width(0.3f)
|
||||
|
||||
@@ -32,7 +32,7 @@ import org.cloudburstmc.math.vector.Vector2f;
|
||||
import org.cloudburstmc.math.vector.Vector3f;
|
||||
import org.cloudburstmc.protocol.bedrock.data.entity.EntityFlag;
|
||||
import org.geysermc.geyser.entity.EntityDefinition;
|
||||
import org.geysermc.geyser.entity.type.living.animal.AnimalEntity;
|
||||
import org.geysermc.geyser.entity.type.living.animal.tameable.TameableEntity;
|
||||
import org.geysermc.geyser.entity.vehicle.ClientVehicle;
|
||||
import org.geysermc.geyser.entity.vehicle.NautilusVehicleComponent;
|
||||
import org.geysermc.geyser.entity.vehicle.VehicleComponent;
|
||||
@@ -54,7 +54,7 @@ import org.geysermc.mcprotocollib.protocol.data.game.item.component.HolderSet;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public abstract class AbstractNautilusEntity extends AnimalEntity implements ClientVehicle {
|
||||
public abstract class AbstractNautilusEntity extends TameableEntity implements ClientVehicle {
|
||||
private HolderSet repairableItems = null;
|
||||
private boolean isCurseOfBinding = false;
|
||||
private final NautilusVehicleComponent vehicleComponent;
|
||||
|
||||
@@ -95,6 +95,7 @@ public final class EntityUtils {
|
||||
case OOZING -> 34;
|
||||
case INFESTED -> 35;
|
||||
case RAID_OMEN -> 36;
|
||||
case BREATH_OF_THE_NAUTILUS -> 37;
|
||||
default -> effect.ordinal() + 1;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user