From 3bab3c4f566ab868f053a4c17b8460b91ec5401c Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 28 Mar 2024 17:13:50 +0000 Subject: [PATCH] Add villagers to the list of entities that benefit from the crystal heart. Closes #184 --- .../minelittlepony/unicopia/item/CrystalHeartItem.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/item/CrystalHeartItem.java b/src/main/java/com/minelittlepony/unicopia/item/CrystalHeartItem.java index d1e4d3b4..17a2ebf2 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/CrystalHeartItem.java +++ b/src/main/java/com/minelittlepony/unicopia/item/CrystalHeartItem.java @@ -20,6 +20,7 @@ import net.minecraft.block.BlockState; import net.minecraft.block.EndRodBlock; import net.minecraft.entity.*; import net.minecraft.entity.mob.MobEntity; +import net.minecraft.entity.passive.MerchantEntity; import net.minecraft.entity.passive.TameableEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.*; @@ -34,7 +35,9 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; public class CrystalHeartItem extends Item implements FloatingArtefactEntity.Artifact { - static final Predicate TARGET_PREDICATE = EntityPredicates.EXCEPT_CREATIVE_OR_SPECTATOR.and(EntityPredicates.VALID_ENTITY).and(e -> (e instanceof PlayerEntity || e instanceof MobEntity)); + static final Predicate TARGET_PREDICATE = EntityPredicates.EXCEPT_CREATIVE_OR_SPECTATOR + .and(EntityPredicates.VALID_ENTITY) + .and(e -> (e instanceof PlayerEntity || e instanceof MobEntity)); private static final Supplier> ITEM_MAP = Suppliers.memoize(() -> { return Map.of( Items.BUCKET, UItems.LOVE_BUCKET, @@ -126,7 +129,8 @@ public class CrystalHeartItem extends Item implements FloatingArtefactEntity.Art if (e instanceof PlayerEntity || (living instanceof TameableEntity && ((TameableEntity)living).isTamed()) - || (living instanceof Saddleable && ((Saddleable)living).isSaddled())) { + || (living instanceof Saddleable && ((Saddleable)living).isSaddled()) + || (living instanceof MerchantEntity)) { if (living.getHealth() < living.getMaxHealth()) { outputs.add(living); }