From 6db7f313dd3d2ecc86ae133088fe7ad822e93b8c Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 17 Oct 2022 18:01:55 +0200 Subject: [PATCH] Remove some alicorn amulet buffs and make is so passive entities run away from you when wearing it --- .../unicopia/entity/AmuletSelectors.java | 11 ++++++++++ .../unicopia/entity/Creature.java | 20 +++++++++++-------- .../unicopia/item/AlicornAmuletItem.java | 3 --- 3 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/AmuletSelectors.java diff --git a/src/main/java/com/minelittlepony/unicopia/entity/AmuletSelectors.java b/src/main/java/com/minelittlepony/unicopia/entity/AmuletSelectors.java new file mode 100644 index 00000000..d23c00f9 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/entity/AmuletSelectors.java @@ -0,0 +1,11 @@ +package com.minelittlepony.unicopia.entity; + +import java.util.function.Predicate; + +import com.minelittlepony.unicopia.item.UItems; + +import net.minecraft.entity.LivingEntity; + +public interface AmuletSelectors { + Predicate ALICORN_AMULET = UItems.ALICORN_AMULET::isApplicable; +} diff --git a/src/main/java/com/minelittlepony/unicopia/entity/Creature.java b/src/main/java/com/minelittlepony/unicopia/entity/Creature.java index ef901a5f..2ab8cb39 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/Creature.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/Creature.java @@ -20,18 +20,15 @@ import com.minelittlepony.unicopia.entity.ai.WantItTakeItGoal; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.SpawnGroup; -import net.minecraft.entity.ai.goal.ActiveTargetGoal; -import net.minecraft.entity.ai.goal.GoalSelector; +import net.minecraft.entity.ai.goal.*; import net.minecraft.entity.attribute.DefaultAttributeContainer; import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.data.DataTracker; import net.minecraft.entity.data.TrackedData; import net.minecraft.entity.data.TrackedDataHandlerRegistry; -import net.minecraft.entity.mob.HostileEntity; -import net.minecraft.entity.mob.MobEntity; -import net.minecraft.entity.mob.SlimeEntity; -import net.minecraft.entity.passive.PigEntity; +import net.minecraft.entity.mob.*; +import net.minecraft.entity.passive.*; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtElement; @@ -120,14 +117,21 @@ public class Creature extends Living implements WeaklyOwned(mob, LivingEntity.class, 10, 1.5, 1.9, AmuletSelectors.ALICORN_AMULET)); + } + if (entity instanceof PassiveEntity mob) { + goals.add(1, new FleeEntityGoal<>(mob, LivingEntity.class, 10, 1.1, 1.7, AmuletSelectors.ALICORN_AMULET)); + } } private void initMinionAi() { diff --git a/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java b/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java index 78ae10e0..0425698c 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java +++ b/src/main/java/com/minelittlepony/unicopia/item/AlicornAmuletItem.java @@ -48,9 +48,6 @@ public class AlicornAmuletItem extends AmuletItem implements PlayerCharmTracker. public AlicornAmuletItem(FabricItemSettings settings) { super(settings, 0, new AmuletItem.ModifiersBuilder() - .add(EntityAttributes.GENERIC_ARMOR, 9000) - .add(EntityAttributes.GENERIC_ARMOR_TOUGHNESS, 9000) - .add(EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, 9000) .add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 100) .add(EntityAttributes.GENERIC_ATTACK_KNOCKBACK, 20) .build());