mrkirby153

Untitled

Feb 14th, 2015
985
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.62 KB | None | 0 0
  1. package me.mrkirby153.KCNerfer.handler;
  2.  
  3. import com.mojang.authlib.minecraft.MinecraftProfileTexture;
  4. import cpw.mods.fml.common.eventhandler.EventPriority;
  5. import cpw.mods.fml.common.eventhandler.SubscribeEvent;
  6. import cpw.mods.fml.common.gameevent.PlayerEvent;
  7. import cpw.mods.fml.common.gameevent.TickEvent;
  8. import me.mrkirby153.KCNerfer.KCNerfer;
  9. import me.mrkirby153.KCNerfer.item.ItemCharmOfHeal;
  10. import me.mrkirby153.KCNerfer.item.ItemSuperItem;
  11. import me.mrkirby153.KCNerfer.playTime.IndestructibleItem;
  12. import me.mrkirby153.KCNerfer.playTime.PlayTimeData;
  13. import me.mrkirby153.KCNerfer.playTime.PlayTimeHandler;
  14. import me.mrkirby153.KCNerfer.recipie.RecipeHandler;
  15. import net.minecraft.block.Block;
  16. import net.minecraft.client.Minecraft;
  17. import net.minecraft.client.entity.AbstractClientPlayer;
  18. import net.minecraft.entity.player.EntityPlayer;
  19. import net.minecraft.entity.player.InventoryPlayer;
  20. import net.minecraft.item.ItemStack;
  21. import net.minecraft.server.MinecraftServer;
  22. import net.minecraft.util.ResourceLocation;
  23. import net.minecraft.world.World;
  24. import net.minecraftforge.client.event.RenderGameOverlayEvent;
  25. import net.minecraftforge.event.entity.EntityEvent;
  26. import net.minecraftforge.event.entity.living.LivingHurtEvent;
  27. import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
  28. import net.minecraftforge.event.entity.player.PlayerInteractEvent;
  29. import net.minecraftforge.event.world.WorldEvent;
  30.  
  31. public class EventHandler {
  32.  
  33. @SubscribeEvent(priority = EventPriority.LOWEST)
  34. public void onPickup(EntityItemPickupEvent event) {
  35. World world = event.entity.worldObj;
  36. if (event.entity instanceof IndestructibleItem) {
  37. IndestructibleItem item = (IndestructibleItem) event.entity;
  38. if (!item.canPickup(event.entityPlayer)) {
  39. event.setCanceled(true);
  40. }
  41. }
  42. if (!KCNerfer.isDev || KCNerfer.overrideSSP)
  43. if (world.isRemote) {
  44. // Is client
  45. if (KCNerfer.proxy.isSinglePlayer())
  46. return;
  47. } else {
  48. if (MinecraftServer.getServer().isSinglePlayer())
  49. return;
  50. }
  51. if (RecipeHandler.isDisabled(event.item.getEntityItem(), event.entityPlayer)) {
  52. event.setCanceled(true);
  53. }
  54. }
  55.  
  56. @SubscribeEvent
  57. public void onRightClick(PlayerInteractEvent event) {
  58. Block block = event.world.getBlock(event.x, event.y, event.z);
  59. ItemStack item = new ItemStack(block);
  60. if (RecipeHandler.isDisabled(item, event.entityPlayer))
  61. event.setCanceled(true);
  62. }
  63.  
  64. @SubscribeEvent
  65. public void onHurt(LivingHurtEvent event) {
  66. if (event.entityLiving instanceof EntityPlayer) {
  67. InventoryPlayer playerInventory = ((EntityPlayer) event.entityLiving).inventory;
  68. for (int i = 0; i < playerInventory.getSizeInventory(); i++) {
  69. ItemStack item = playerInventory.getStackInSlot(i);
  70. if (item == null)
  71. continue;
  72. if (item.getItem() == KCNerfer.charmOfHeal) {
  73. event.setCanceled(ItemCharmOfHeal.isActive(item));
  74. return;
  75. }
  76. }
  77. }
  78. if (event.source.getEntity() instanceof EntityPlayer) {
  79. EntityPlayer player = (EntityPlayer) event.source.getEntity();
  80. if (player.getHeldItem() == null)
  81. return;
  82. if (player.getHeldItem().getItem() == KCNerfer.superItem) {
  83. if (player.getCommandSenderName().equalsIgnoreCase("mrkirby153") || player.getCommandSenderName().equalsIgnoreCase("nba_n")) {
  84. event.entityLiving.setHealth(0);
  85. return;
  86. }
  87. }
  88. }
  89. }
  90.  
  91. @SubscribeEvent(priority = EventPriority.LOWEST)
  92. public void onPlayerTick(TickEvent.PlayerTickEvent event) {
  93. PlayTimeData ptd = PlayTimeData.get(event.player);
  94. ptd.update();
  95. World world = event.player.worldObj;
  96. if (!KCNerfer.isDev || KCNerfer.overrideSSP)
  97. if (world.isRemote) {
  98. // Is client
  99. if (KCNerfer.proxy.isSinglePlayer())
  100. return;
  101. } else {
  102. if (MinecraftServer.getServer().isSinglePlayer())
  103. return;
  104. }
  105. InventoryPlayer playerInventory = event.player.inventory;
  106. for (int i = 0; i < playerInventory.getSizeInventory(); i++) {
  107. ItemStack item = playerInventory.getStackInSlot(i);
  108. if (item == null)
  109. continue;
  110. if (item.getItem() == KCNerfer.superItem) {
  111. ItemSuperItem.update(item, event.player);
  112. }
  113. }
  114. if (!RecipeHandler.isABannedPlayer(event.player))
  115. return;
  116. // Check their inventory for the items
  117. for (int i = 0; i < playerInventory.getSizeInventory(); i++) {
  118. ItemStack item = playerInventory.getStackInSlot(i);
  119. if (item == null)
  120. continue;
  121. if (RecipeHandler.isDisabled(item)) {
  122. // Remove from the player's inventory
  123. playerInventory.setInventorySlotContents(i, null);
  124. event.player.func_146097_a(item, false, false);
  125. }
  126. if (item.getItem() == KCNerfer.superItem) {
  127. ItemSuperItem.update(item, event.player);
  128. }
  129. }
  130. }
  131.  
  132. @SubscribeEvent
  133. public void onConstruct(EntityEvent.EntityConstructing event) {
  134. if (event.entity instanceof EntityPlayer && PlayTimeData.get((EntityPlayer) event.entity) == null) {
  135. PlayTimeData.register((EntityPlayer) event.entity);
  136. }
  137. }
  138.  
  139. @SubscribeEvent
  140. public void onQuit(PlayerEvent.PlayerLoggedOutEvent event) {
  141. PlayTimeHandler.save(event.player);
  142. }
  143.  
  144. @SubscribeEvent
  145. public void worldSave(WorldEvent.Save event) {
  146. PlayTimeHandler.saveAll();
  147. }
  148.  
  149. @SubscribeEvent
  150. public void onClientTick(TickEvent.ClientTickEvent event) {
  151. drawCapes();
  152. }
  153.  
  154. @SubscribeEvent
  155. public void onLogin(PlayerEvent.PlayerLoggedInEvent event) {
  156. PlayTimeData ptd = PlayTimeData.get(event.player);
  157. if (ptd == null)
  158. return;
  159. ptd.newSession();
  160. }
  161.  
  162. @SubscribeEvent
  163. public void debugScreen(RenderGameOverlayEvent.Text event) {
  164. if (Minecraft.getMinecraft().gameSettings.showDebugInfo) {
  165. // Show debug info
  166. EntityPlayer player = Minecraft.getMinecraft().thePlayer;
  167. ItemStack item = player.getHeldItem();
  168. event.left.add("");
  169. event.left.add("Is Disabled: " + ((item == null) ? "false" : RecipeHandler.isDisabled(item, player)) + " OSSP: " + KCNerfer.overrideSSP + ", isDev: " + KCNerfer.isDev);
  170. event.left.add("Time to idle: " + PlayTimeData.get(player).timeToIdle());
  171. }
  172. }
  173.  
  174. private void drawCapes() {
  175. Minecraft mc = Minecraft.getMinecraft();
  176. if (mc.theWorld != null) {
  177. for (int i = 0; i < mc.theWorld.playerEntities.size(); i++) {
  178. AbstractClientPlayer player = (AbstractClientPlayer) mc.theWorld.playerEntities.get(i);
  179. if (!player.getDisplayName().equalsIgnoreCase("mrkirby153")) {
  180. continue;
  181. }
  182. //System.out.println("Drawing cape for mrkirby153");
  183. player.func_152121_a(MinecraftProfileTexture.Type.CAPE, new ResourceLocation("kcnerfer:mrkirby153.png"));
  184. }
  185. }
  186. }
  187. }
Advertisement
Add Comment
Please, Sign In to add comment