diff --git a/src/main/java/com/rsscripting/mobcage/description/descriptor/SkeletonDescriptor.java b/src/main/java/com/rsscripting/mobcage/description/descriptor/SkeletonDescriptor.java index 6995172..9fd2262 100644 --- a/src/main/java/com/rsscripting/mobcage/description/descriptor/SkeletonDescriptor.java +++ b/src/main/java/com/rsscripting/mobcage/description/descriptor/SkeletonDescriptor.java @@ -3,8 +3,9 @@ package com.rsscripting.mobcage.description.descriptor; import com.rsscripting.mobcage.description.CaptureResult; import com.rsscripting.mobcage.description.MobAttribute; import com.rsscripting.mobcage.util.MobHealthUtil; +import com.rsscripting.mobcage.MobCage; +import com.rsscripting.mobcage.util.MobEquipmentUtil; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.Location; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; @@ -24,7 +25,19 @@ public class SkeletonDescriptor implements MobDescriptor { @Override public CaptureResult beforeCapture(LivingEntity entity, Player player) { - return MobHealthUtil.validateFullHealth(entity); + CaptureResult result = MobHealthUtil.validateFullHealth(entity); + + if (!result.isAllowed()) { + return result; + } + + MobEquipmentUtil.handleEquipmentOnCapture( + MobCage.getInstance(), + entity, + player + ); + + return CaptureResult.allowed(); } @Override @@ -40,12 +53,18 @@ public class SkeletonDescriptor implements MobDescriptor { @Override public void release(Location location, List lore) { - PlainTextComponentSerializer plain = - PlainTextComponentSerializer.plainText(); - Skeleton skeleton = (Skeleton) location.getWorld().spawnEntity( location, EntityType.SKELETON ); + + MobCage.getInstance().getServer().getScheduler().runTask( + MobCage.getInstance(), + () -> { + if (skeleton.getEquipment() != null) { + skeleton.getEquipment().clear(); + } + } + ); } } \ No newline at end of file