Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.mrkirby153.KCNerfer.handler;
- import com.mojang.authlib.minecraft.MinecraftProfileTexture;
- import cpw.mods.fml.common.eventhandler.EventPriority;
- import cpw.mods.fml.common.eventhandler.SubscribeEvent;
- import cpw.mods.fml.common.gameevent.PlayerEvent;
- import cpw.mods.fml.common.gameevent.TickEvent;
- import me.mrkirby153.KCNerfer.KCNerfer;
- import me.mrkirby153.KCNerfer.item.ItemCharmOfHeal;
- import me.mrkirby153.KCNerfer.item.ItemSuperItem;
- import me.mrkirby153.KCNerfer.playTime.IndestructibleItem;
- import me.mrkirby153.KCNerfer.playTime.PlayTimeData;
- import me.mrkirby153.KCNerfer.playTime.PlayTimeHandler;
- import me.mrkirby153.KCNerfer.recipie.RecipeHandler;
- import net.minecraft.block.Block;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.entity.AbstractClientPlayer;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.entity.player.InventoryPlayer;
- import net.minecraft.item.ItemStack;
- import net.minecraft.server.MinecraftServer;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.world.World;
- import net.minecraftforge.client.event.RenderGameOverlayEvent;
- import net.minecraftforge.event.entity.EntityEvent;
- import net.minecraftforge.event.entity.living.LivingHurtEvent;
- import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
- import net.minecraftforge.event.entity.player.PlayerInteractEvent;
- import net.minecraftforge.event.world.WorldEvent;
- public class EventHandler {
- @SubscribeEvent(priority = EventPriority.LOWEST)
- public void onPickup(EntityItemPickupEvent event) {
- World world = event.entity.worldObj;
- if (event.entity instanceof IndestructibleItem) {
- IndestructibleItem item = (IndestructibleItem) event.entity;
- if (!item.canPickup(event.entityPlayer)) {
- event.setCanceled(true);
- }
- }
- if (!KCNerfer.isDev || KCNerfer.overrideSSP)
- if (world.isRemote) {
- // Is client
- if (KCNerfer.proxy.isSinglePlayer())
- return;
- } else {
- if (MinecraftServer.getServer().isSinglePlayer())
- return;
- }
- if (RecipeHandler.isDisabled(event.item.getEntityItem(), event.entityPlayer)) {
- event.setCanceled(true);
- }
- }
- @SubscribeEvent
- public void onRightClick(PlayerInteractEvent event) {
- Block block = event.world.getBlock(event.x, event.y, event.z);
- ItemStack item = new ItemStack(block);
- if (RecipeHandler.isDisabled(item, event.entityPlayer))
- event.setCanceled(true);
- }
- @SubscribeEvent
- public void onHurt(LivingHurtEvent event) {
- if (event.entityLiving instanceof EntityPlayer) {
- InventoryPlayer playerInventory = ((EntityPlayer) event.entityLiving).inventory;
- for (int i = 0; i < playerInventory.getSizeInventory(); i++) {
- ItemStack item = playerInventory.getStackInSlot(i);
- if (item == null)
- continue;
- if (item.getItem() == KCNerfer.charmOfHeal) {
- event.setCanceled(ItemCharmOfHeal.isActive(item));
- return;
- }
- }
- }
- if (event.source.getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.source.getEntity();
- if (player.getHeldItem() == null)
- return;
- if (player.getHeldItem().getItem() == KCNerfer.superItem) {
- if (player.getCommandSenderName().equalsIgnoreCase("mrkirby153") || player.getCommandSenderName().equalsIgnoreCase("nba_n")) {
- event.entityLiving.setHealth(0);
- return;
- }
- }
- }
- }
- @SubscribeEvent(priority = EventPriority.LOWEST)
- public void onPlayerTick(TickEvent.PlayerTickEvent event) {
- PlayTimeData ptd = PlayTimeData.get(event.player);
- ptd.update();
- World world = event.player.worldObj;
- if (!KCNerfer.isDev || KCNerfer.overrideSSP)
- if (world.isRemote) {
- // Is client
- if (KCNerfer.proxy.isSinglePlayer())
- return;
- } else {
- if (MinecraftServer.getServer().isSinglePlayer())
- return;
- }
- InventoryPlayer playerInventory = event.player.inventory;
- for (int i = 0; i < playerInventory.getSizeInventory(); i++) {
- ItemStack item = playerInventory.getStackInSlot(i);
- if (item == null)
- continue;
- if (item.getItem() == KCNerfer.superItem) {
- ItemSuperItem.update(item, event.player);
- }
- }
- if (!RecipeHandler.isABannedPlayer(event.player))
- return;
- // Check their inventory for the items
- for (int i = 0; i < playerInventory.getSizeInventory(); i++) {
- ItemStack item = playerInventory.getStackInSlot(i);
- if (item == null)
- continue;
- if (RecipeHandler.isDisabled(item)) {
- // Remove from the player's inventory
- playerInventory.setInventorySlotContents(i, null);
- event.player.func_146097_a(item, false, false);
- }
- if (item.getItem() == KCNerfer.superItem) {
- ItemSuperItem.update(item, event.player);
- }
- }
- }
- @SubscribeEvent
- public void onConstruct(EntityEvent.EntityConstructing event) {
- if (event.entity instanceof EntityPlayer && PlayTimeData.get((EntityPlayer) event.entity) == null) {
- PlayTimeData.register((EntityPlayer) event.entity);
- }
- }
- @SubscribeEvent
- public void onQuit(PlayerEvent.PlayerLoggedOutEvent event) {
- PlayTimeHandler.save(event.player);
- }
- @SubscribeEvent
- public void worldSave(WorldEvent.Save event) {
- PlayTimeHandler.saveAll();
- }
- @SubscribeEvent
- public void onClientTick(TickEvent.ClientTickEvent event) {
- drawCapes();
- }
- @SubscribeEvent
- public void onLogin(PlayerEvent.PlayerLoggedInEvent event) {
- PlayTimeData ptd = PlayTimeData.get(event.player);
- if (ptd == null)
- return;
- ptd.newSession();
- }
- @SubscribeEvent
- public void debugScreen(RenderGameOverlayEvent.Text event) {
- if (Minecraft.getMinecraft().gameSettings.showDebugInfo) {
- // Show debug info
- EntityPlayer player = Minecraft.getMinecraft().thePlayer;
- ItemStack item = player.getHeldItem();
- event.left.add("");
- event.left.add("Is Disabled: " + ((item == null) ? "false" : RecipeHandler.isDisabled(item, player)) + " OSSP: " + KCNerfer.overrideSSP + ", isDev: " + KCNerfer.isDev);
- event.left.add("Time to idle: " + PlayTimeData.get(player).timeToIdle());
- }
- }
- private void drawCapes() {
- Minecraft mc = Minecraft.getMinecraft();
- if (mc.theWorld != null) {
- for (int i = 0; i < mc.theWorld.playerEntities.size(); i++) {
- AbstractClientPlayer player = (AbstractClientPlayer) mc.theWorld.playerEntities.get(i);
- if (!player.getDisplayName().equalsIgnoreCase("mrkirby153")) {
- continue;
- }
- //System.out.println("Drawing cape for mrkirby153");
- player.func_152121_a(MinecraftProfileTexture.Type.CAPE, new ResourceLocation("kcnerfer:mrkirby153.png"));
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment