Newer
Older
ultramine_bukkit / src / main / java / org / bukkit / craftbukkit / entity / CraftCreeper.java
@vlad20012 vlad20012 on 24 Feb 2017 1 KB initial
package org.bukkit.craftbukkit.entity;

import net.minecraft.entity.monster.EntityCreeper;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.EntityType;
import org.bukkit.event.entity.CreeperPowerEvent;
import org.ultramine.mods.bukkit.interfaces.entity.IMixinEntity;
import org.ultramine.mods.bukkit.interfaces.entity.monster.IMixinEntityCreeper;

public class CraftCreeper extends CraftMonster implements Creeper
{

	public CraftCreeper(CraftServer server, EntityCreeper entity)
	{
		super(server, entity);
	}

	public boolean isPowered()
	{
		return getHandle().getPowered();
	}

	public void setPowered(boolean powered)
	{
		CraftServer server = this.server;
		Creeper entity = (Creeper) ((IMixinEntity) getHandle()).getBukkitEntity();

		if(powered)
		{
			CreeperPowerEvent event = new CreeperPowerEvent(entity, CreeperPowerEvent.PowerCause.SET_ON);
			server.getPluginManager().callEvent(event);

			if(!event.isCancelled())
			{
				((IMixinEntityCreeper) getHandle()).setPowered(true);
			}
		}
		else
		{
			CreeperPowerEvent event = new CreeperPowerEvent(entity, CreeperPowerEvent.PowerCause.SET_OFF);
			server.getPluginManager().callEvent(event);

			if(!event.isCancelled())
			{
				((IMixinEntityCreeper) getHandle()).setPowered(false);
			}
		}
	}

	@Override
	public EntityCreeper getHandle()
	{
		return (EntityCreeper) entity;
	}

	@Override
	public String toString()
	{
		return "CraftCreeper";
	}

	public EntityType getType()
	{
		return EntityType.CREEPER;
	}
}