2015-08-14 00:46:01 +02:00
|
|
|
package techreborn.events;
|
|
|
|
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
2016-03-13 17:08:30 +01:00
|
|
|
import net.minecraft.inventory.EntityEquipmentSlot;
|
2015-08-14 01:05:10 +02:00
|
|
|
import net.minecraft.item.Item;
|
2015-08-14 01:28:28 +02:00
|
|
|
import net.minecraft.potion.Potion;
|
2016-03-07 20:05:56 +01:00
|
|
|
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;
|
2016-03-07 20:05:56 +01:00
|
|
|
import techreborn.power.PowerTickEvent;
|
2015-08-14 00:46:01 +02:00
|
|
|
|
2015-08-14 01:28:28 +02:00
|
|
|
public class TRTickHandler {
|
|
|
|
|
|
|
|
public Item previouslyWearing;
|
|
|
|
|
|
|
|
@SubscribeEvent(priority = EventPriority.NORMAL, receiveCanceled = true)
|
|
|
|
public void onPlayerTick(TickEvent.PlayerTickEvent e) {
|
|
|
|
EntityPlayer player = e.player;
|
2016-03-13 17:08:30 +01:00
|
|
|
Item chestslot = player.getItemStackFromSlot(EntityEquipmentSlot.CHEST) != null ? player.getItemStackFromSlot(EntityEquipmentSlot.CHEST).getItem() : null;
|
2015-08-14 01:28:28 +02:00
|
|
|
|
|
|
|
if (previouslyWearing != chestslot && previouslyWearing == ModItems.cloakingDevice && player.isInvisible() && !player.isPotionActive(Potion.invisibility)) {
|
|
|
|
player.setInvisible(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
previouslyWearing = chestslot;
|
|
|
|
}
|
|
|
|
|
2016-03-07 20:05:56 +01:00
|
|
|
@SubscribeEvent
|
|
|
|
public void worldTick(TickEvent.WorldTickEvent e) {
|
2016-03-08 19:55:40 +01:00
|
|
|
if(e.world.isRemote){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
MinecraftForge.EVENT_BUS.post(new PowerTickEvent());
|
2016-03-07 20:05:56 +01:00
|
|
|
}
|
2015-08-14 01:28:28 +02:00
|
|
|
|
2015-08-14 00:46:01 +02:00
|
|
|
}
|