filename:
common/src/main/java/rearth/oritech/item/tools/util/ArmorEventHandler.java
branch:
1.21
back to repo
package rearth.oritech.item.tools.util;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
public interface ArmorEventHandler {
void onEquipped(PlayerEntity playerEntity, ItemStack stack);
void onUnequipped(PlayerEntity playerEntity, ItemStack stack);
static void processEvent(LivingEntity livingEntity, EquipmentSlot equipmentSlot, ItemStack previousStack, ItemStack currentStack) {
if (livingEntity instanceof PlayerEntity playerEntity && equipmentSlot.getType() == EquipmentSlot.Type.HUMANOID_ARMOR) {
if (previousStack.getItem() instanceof ArmorEventHandler armorItem) {
armorItem.onUnequipped(playerEntity, previousStack);
}
if (currentStack.getItem() instanceof ArmorEventHandler armorItem) {
armorItem.onEquipped(playerEntity, currentStack);
}
}
}
}