Files
Electro-Magic-Tools/src/main/java/emt/util/EMTEventHandler.java
T

66 lines
2.3 KiB
Java
Raw Normal View History

2016-03-16 17:49:28 +03:00
package emt.util;
2015-12-06 19:47:41 +03:00
import java.util.Random;
import baubles.api.BaublesApi;
2015-12-06 19:47:41 +03:00
import cpw.mods.fml.client.event.ConfigChangedEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent;
import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent;
import cpw.mods.fml.common.gameevent.TickEvent.PlayerTickEvent;
import emt.EMT;
2016-03-16 17:49:28 +03:00
import emt.client.EMTKeys;
2016-03-17 18:25:51 +03:00
import emt.init.EMTItems;
2016-03-16 17:49:28 +03:00
import emt.network.PacketEMTKeys;
import emt.proxy.ClientProxy;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
2015-12-06 19:47:41 +03:00
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
2015-12-06 19:47:41 +03:00
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent;
2015-12-06 19:47:41 +03:00
import thaumcraft.common.entities.monster.EntityTaintChicken;
public class EMTEventHandler {
Random rnd = new Random();
@SubscribeEvent
public void onEntityLivingDrops(LivingDropsEvent event) {
if (event.entityLiving instanceof EntityCreeper) {
EntityCreeper creeper = (EntityCreeper) event.entityLiving;
if (creeper.getPowered()) {
2016-03-17 18:25:51 +03:00
event.entityLiving.entityDropItem(new ItemStack(EMTItems.itemEMTItems, 1, 6), 1);
2015-12-06 19:47:41 +03:00
}
}
if (event.entityLiving instanceof EntityTaintChicken) {
2016-03-17 18:25:51 +03:00
event.entityLiving.entityDropItem(new ItemStack(EMTItems.itemEMTItems, rnd.nextInt(3), 13), 1);
2015-12-06 19:47:41 +03:00
}
}
@SubscribeEvent
public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) {
if (event.modID.equals(EMT.MOD_ID)) {
2015-12-14 21:29:29 +03:00
EMTConfigHandler.syncConfig();
EMT.LOGGER.info("Refreshing configuration file.");
}
}
@SubscribeEvent
public void onSetEntityAttack(LivingSetAttackTargetEvent e) {
if (e.entityLiving != null && e.target != null && e.entityLiving instanceof EntityLiving && e.target instanceof EntityPlayer) {
IInventory inventory = BaublesApi.getBaubles((EntityPlayer) e.target);
for(int i = 0; i < inventory.getSizeInventory(); i++) {
ItemStack stack = inventory.getStackInSlot(i);
if(stack != null && stack.getItem() == EMTItems.onering) {
((EntityLiving)e.entityLiving).setAttackTarget(null);
}
}
2015-12-06 19:47:41 +03:00
}
}
}