12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package me.km.capabilities;
- import java.util.List;
- import me.km.KajetansMod;
- import net.minecraft.item.ItemArmor;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.util.text.TextFormatting;
- import net.minecraftforge.common.capabilities.CapabilityManager;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import net.minecraftforge.event.AttachCapabilitiesEvent;
- import net.minecraftforge.event.entity.player.ItemTooltipEvent;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- public class CapabilitiesEvents
- {
- public static final ResourceLocation DEFENSE_CAP = new ResourceLocation(KajetansMod.MODID, "defense");
-
- public static void init()
- {
- CapabilityManager.INSTANCE.register(IDefense.class, new DefenseStorage(), ItemDefenseStats.class);
- }
-
- @SubscribeEvent
- public void attachDefenseData(AttachCapabilitiesEvent<ItemStack> e)
- {
- if(e.getObject().getItem() instanceof ItemArmor)
- {
- e.addCapability(DEFENSE_CAP, new DefenseProvider());
- }
- }
-
- @SideOnly(Side.CLIENT)
- @SubscribeEvent
- public void showingTooltip(ItemTooltipEvent e)
- {
- ItemStack stack = e.getItemStack();
- if(stack.hasCapability(DefenseProvider.DEFENSE_CAP, null))
- {
- IDefense defense = stack.getCapability(DefenseProvider.DEFENSE_CAP, null);
- int magic = defense.getMagicDefense();
- if(magic != 0)
- {
- List<String> list = e.getToolTip();
- String s = TextFormatting.BLUE + " +";
- for(int i = 0; i < list.size(); i++)
- {
- if(list.get(i).startsWith(s))
- {
- list.add(i, TextFormatting.BLUE + " +" + magic + " Magic Armor");
- break;
- }
- }
- }
- }
- }
- }
|