ClientEvents.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package me.km;
  2. import java.util.List;
  3. import me.km.networking.ItemStackDisplayGui;
  4. import me.km.networking.PlayerDisplayGui;
  5. import me.km.networking.PlayerHeadGui;
  6. import me.km.networking.StatusDisplayGui;
  7. import net.minecraft.item.Item;
  8. import net.minecraft.item.ItemArmor;
  9. import net.minecraft.item.ItemStack;
  10. import net.minecraft.nbt.NBTTagCompound;
  11. import net.minecraft.util.text.TextFormatting;
  12. import net.minecraftforge.client.event.RenderGameOverlayEvent;
  13. import net.minecraftforge.event.entity.player.ItemTooltipEvent;
  14. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  15. import net.minecraftforge.fml.common.gameevent.TickEvent;
  16. import net.minecraftforge.fml.common.network.FMLNetworkEvent;
  17. import net.minecraftforge.fml.relauncher.Side;
  18. import net.minecraftforge.fml.relauncher.SideOnly;
  19. @SideOnly(Side.CLIENT)
  20. public class ClientEvents
  21. {
  22. @SubscribeEvent
  23. public void onClientTick(TickEvent.ClientTickEvent e)
  24. {
  25. if(e.phase == TickEvent.Phase.END)
  26. {
  27. StatusDisplayGui.INSTANCE.tick();
  28. }
  29. }
  30. @SubscribeEvent
  31. public void onRenderGui(RenderGameOverlayEvent.Pre e)
  32. {
  33. if(e.getType() == RenderGameOverlayEvent.ElementType.POTION_ICONS)
  34. {
  35. e.setCanceled(true);
  36. }
  37. }
  38. @SubscribeEvent
  39. public void onRenderGui(RenderGameOverlayEvent.Post e)
  40. {
  41. if(e.getType() == RenderGameOverlayEvent.ElementType.EXPERIENCE)
  42. {
  43. PlayerDisplayGui.INSTANCE.paint();
  44. StatusDisplayGui.INSTANCE.paint();
  45. PlayerHeadGui.INSTANCE.paint();
  46. ItemStackDisplayGui.INSTANCE.paint();
  47. }
  48. }
  49. @SubscribeEvent
  50. public void onRenderGui(FMLNetworkEvent.ClientDisconnectionFromServerEvent e)
  51. {
  52. PlayerDisplayGui.INSTANCE.clear();
  53. StatusDisplayGui.INSTANCE.clear();
  54. PlayerHeadGui.INSTANCE.clear();
  55. ItemStackDisplayGui.INSTANCE.clear();
  56. ItemStackDisplayGui.INSTANCE.setActive(false);
  57. }
  58. @SubscribeEvent
  59. public void showingTooltip(ItemTooltipEvent e)
  60. {
  61. ItemStack stack = e.getItemStack();
  62. Item item = stack.getItem();
  63. if(item instanceof ItemArmor)
  64. {
  65. NBTTagCompound com = stack.getTagCompound();
  66. if(com != null && com.hasKey("magic"))
  67. {
  68. int magic = com.getInteger("magic");
  69. if(magic != 0)
  70. {
  71. List<String> list = e.getToolTip();
  72. String s = TextFormatting.BLUE + " +";
  73. for(int i = 0; i < list.size(); i++)
  74. {
  75. if(list.get(i).startsWith(s))
  76. {
  77. list.add(i, TextFormatting.BLUE + " +" + magic + " Magic Armor");
  78. break;
  79. }
  80. }
  81. }
  82. }
  83. }
  84. }
  85. }