From 77ccd14745cae85e20aa2acd07a922b7997f00f6 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sat, 25 Apr 2020 22:04:13 +0200 Subject: [PATCH] Fixed crash when spawning a butterfly, when updating a cuccoon entity, --- .../unicopia/entity/ButterflyEntity.java | 7 +------ .../unicopia/entity/CuccoonEntity.java | 5 +++-- .../unicopia/entity/SpellcastEntity.java | 13 +++++-------- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java index 3b70fa86..35dae17f 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/ButterflyEntity.java @@ -6,7 +6,6 @@ import javax.annotation.Nullable; import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityCategory; import net.minecraft.entity.EntityPose; import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnType; @@ -29,11 +28,7 @@ import net.minecraft.world.biome.Biome.SpawnEntry; public class ButterflyEntity extends AmbientEntity { - public static final EntityType TYPE = EntityType.Builder.create(ButterflyEntity::new, EntityCategory.AMBIENT) - .setDimensions(0.1F, 0.1F) - .build("butterfly"); - - public static final SpawnEntry SPAWN_ENTRY = new SpawnEntry(TYPE, 15, 9, 15); + public static final SpawnEntry SPAWN_ENTRY = new SpawnEntry(UEntities.BUTTERFLY, 15, 9, 15); private static final TrackedData RESTING = DataTracker.registerData(ButterflyEntity.class, TrackedDataHandlerRegistry.BOOLEAN); diff --git a/src/main/java/com/minelittlepony/unicopia/entity/CuccoonEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/CuccoonEntity.java index ea08e5ec..063d039a 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/CuccoonEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/CuccoonEntity.java @@ -110,8 +110,9 @@ public class CuccoonEntity extends LivingEntity implements IMagicals, InAnimate public void tick() { super.tick(); - if (hasPassengers()) { - Entity passenger = getPrimaryPassenger(); + Entity passenger = getPrimaryPassenger(); + + if (passenger != null) { boolean sneaking = passenger.isSneaking(); diff --git a/src/main/java/com/minelittlepony/unicopia/entity/SpellcastEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/SpellcastEntity.java index 38c3b07a..bac63072 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/SpellcastEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/SpellcastEntity.java @@ -46,18 +46,15 @@ import net.minecraft.world.explosion.Explosion.DestructionType; public class SpellcastEntity extends MobEntityWithAi implements IMagicals, Caster, InAnimate, PickedItemSupplier { + private static final TrackedData LEVEL = DataTracker.registerData(SpellcastEntity.class, TrackedDataHandlerRegistry.INTEGER); + private static final TrackedData> OWNER = DataTracker.registerData(SpellcastEntity.class, TrackedDataHandlerRegistry.OPTIONAL_UUID); + private static final TrackedData EFFECT = DataTracker.registerData(SpellcastEntity.class, TrackedDataHandlerRegistry.TAG_COMPOUND); + private static final TrackedData AFFINITY = DataTracker.registerData(SpellcastEntity.class, TrackedDataHandlerRegistry.INTEGER); + private LivingEntity owner = null; public float hoverStart; - private static final TrackedData LEVEL = DataTracker.registerData(SpellcastEntity.class, TrackedDataHandlerRegistry.INTEGER); - - private static final TrackedData> OWNER = DataTracker.registerData(SpellcastEntity.class, TrackedDataHandlerRegistry.OPTIONAL_UUID); - - private static final TrackedData EFFECT = DataTracker.registerData(SpellcastEntity.class, TrackedDataHandlerRegistry.TAG_COMPOUND); - - private static final TrackedData AFFINITY = DataTracker.registerData(SpellcastEntity.class, TrackedDataHandlerRegistry.INTEGER); - private final EffectSync effectDelegate = new EffectSync(this, EFFECT); public SpellcastEntity(EntityType type, World w) {