TechReborn/src/main/java/techreborn/events/TRTickHandler.java

41 lines
1.3 KiB
Java
Raw Normal View History

2015-08-14 00:46:01 +02:00
package techreborn.events;
import net.minecraft.entity.player.EntityPlayer;
2016-03-13 18:38:12 +01:00
import net.minecraft.init.MobEffects;
2016-03-13 17:08:30 +01:00
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
2015-11-23 20:19:18 +01:00
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
2015-08-14 00:46:01 +02:00
import techreborn.init.ModItems;
import techreborn.power.PowerTickEvent;
2015-08-14 00:46:01 +02:00
2016-10-08 21:46:16 +02:00
public class TRTickHandler {
2016-03-25 10:47:34 +01:00
public Item previouslyWearing;
@SubscribeEvent(priority = EventPriority.NORMAL, receiveCanceled = true)
2016-10-08 21:46:16 +02:00
public void onPlayerTick(TickEvent.PlayerTickEvent e) {
2016-03-25 10:47:34 +01:00
EntityPlayer player = e.player;
Item chestslot = player.getItemStackFromSlot(EntityEquipmentSlot.CHEST) != null
2016-10-08 21:46:16 +02:00
? player.getItemStackFromSlot(EntityEquipmentSlot.CHEST).getItem() : null;
2016-03-25 10:47:34 +01:00
if (previouslyWearing != chestslot && previouslyWearing == ModItems.cloakingDevice && player.isInvisible()
2016-10-08 21:46:16 +02:00
&& !player.isPotionActive(MobEffects.INVISIBILITY)) {
2016-03-25 10:47:34 +01:00
player.setInvisible(false);
}
previouslyWearing = chestslot;
}
@SubscribeEvent
2016-10-08 21:46:16 +02:00
public void worldTick(TickEvent.WorldTickEvent e) {
if (e.world.isRemote) {
return;
}
MinecraftForge.EVENT_BUS.post(new PowerTickEvent());
}
2015-08-14 00:46:01 +02:00
}