2011-03-19 22:39:51 +00:00
|
|
|
package com.earth2me.essentials;
|
|
|
|
|
2011-10-20 23:23:35 +00:00
|
|
|
import lombok.Delegate;
|
2011-03-19 22:39:51 +00:00
|
|
|
import net.minecraft.server.EntityPlayer;
|
|
|
|
import net.minecraft.server.IInventory;
|
2011-10-20 23:23:35 +00:00
|
|
|
import org.bukkit.command.CommandSender;
|
|
|
|
import org.bukkit.configuration.serialization.ConfigurationSerializable;
|
2011-11-18 17:42:26 +00:00
|
|
|
import org.bukkit.craftbukkit.entity.CraftPlayer;
|
2011-03-19 22:39:51 +00:00
|
|
|
import org.bukkit.craftbukkit.inventory.CraftInventoryPlayer;
|
2011-10-20 23:23:35 +00:00
|
|
|
import org.bukkit.entity.Entity;
|
|
|
|
import org.bukkit.entity.HumanEntity;
|
|
|
|
import org.bukkit.entity.LivingEntity;
|
2011-06-01 10:40:12 +00:00
|
|
|
import org.bukkit.entity.Player;
|
2011-10-20 23:23:35 +00:00
|
|
|
import org.bukkit.permissions.Permissible;
|
|
|
|
import org.bukkit.permissions.ServerOperator;
|
2011-03-19 22:39:51 +00:00
|
|
|
|
|
|
|
|
2011-10-20 23:23:35 +00:00
|
|
|
public class PlayerExtension implements Player
|
2011-03-19 22:39:51 +00:00
|
|
|
{
|
2011-10-20 23:23:35 +00:00
|
|
|
protected final transient IEssentials ess;
|
|
|
|
@Delegate(types =
|
|
|
|
{
|
|
|
|
Player.class, Entity.class, CommandSender.class, ServerOperator.class,
|
|
|
|
HumanEntity.class, ConfigurationSerializable.class, LivingEntity.class,
|
|
|
|
Permissible.class
|
|
|
|
})
|
|
|
|
protected Player base;
|
2011-06-01 10:40:12 +00:00
|
|
|
|
2011-10-20 23:23:35 +00:00
|
|
|
public PlayerExtension(final Player base, final IEssentials ess)
|
2011-03-19 22:39:51 +00:00
|
|
|
{
|
2011-10-20 23:23:35 +00:00
|
|
|
this.base = base;
|
2011-06-01 10:40:12 +00:00
|
|
|
this.ess = ess;
|
2011-03-19 22:39:51 +00:00
|
|
|
}
|
|
|
|
|
2011-10-20 23:23:35 +00:00
|
|
|
public final Player getBase()
|
|
|
|
{
|
|
|
|
return base;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final Player setBase(final Player base)
|
|
|
|
{
|
|
|
|
return this.base = base;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void showInventory(final IInventory inventory)
|
2011-03-19 22:39:51 +00:00
|
|
|
{
|
|
|
|
getHandle().a(inventory);
|
|
|
|
}
|
|
|
|
|
2011-10-20 23:23:35 +00:00
|
|
|
public void showInventory(final CraftInventoryPlayer inventory)
|
2011-03-19 22:39:51 +00:00
|
|
|
{
|
|
|
|
showInventory((IInventory)inventory.getInventory());
|
|
|
|
}
|
|
|
|
|
|
|
|
public TargetBlock getTarget()
|
|
|
|
{
|
|
|
|
return new TargetBlock(getBase());
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getGroup()
|
|
|
|
{
|
2011-06-06 22:24:39 +00:00
|
|
|
return ess.getPermissionsHandler().getGroup(base);
|
2011-03-19 22:39:51 +00:00
|
|
|
}
|
2011-04-16 07:01:18 +00:00
|
|
|
|
2011-10-20 23:23:35 +00:00
|
|
|
public boolean inGroup(final String group)
|
2011-04-16 07:01:18 +00:00
|
|
|
{
|
2011-06-06 22:24:39 +00:00
|
|
|
return ess.getPermissionsHandler().inGroup(base, group);
|
2011-04-16 07:01:18 +00:00
|
|
|
}
|
2011-03-19 22:39:51 +00:00
|
|
|
|
|
|
|
public boolean canBuild()
|
|
|
|
{
|
2011-06-06 22:24:39 +00:00
|
|
|
return ess.getPermissionsHandler().canBuild(base, getGroup());
|
2011-03-19 22:39:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public EntityPlayer getHandle()
|
|
|
|
{
|
2011-04-10 20:09:04 +00:00
|
|
|
return getCraftPlayer().getHandle();
|
2011-03-19 22:39:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public CraftPlayer getCraftPlayer()
|
|
|
|
{
|
|
|
|
return (CraftPlayer)base;
|
|
|
|
}
|
|
|
|
}
|