EntityPlayer target = (EntityPlayer) e.entityLiving;
{
String permission = ModuleProtection.PERM_DAMAGE_BY + "." + e.source.damageType;
if (ModuleProtection.isDebugMode(target))
OutputHandler.chatNotification(target, permission);
if (!APIRegistry.perms.checkUserPermission(new UserIdent(target), permission))
{
e.setCanceled(true);
return;
}
}
if (e.source.getEntity() != null)
{
// non-player-entity -> player (mob)
Entity source = e.source.getEntity();
String permission = ModuleProtection.PERM_DAMAGE_BY + "." + source.getClass().getSimpleName();
if (ModuleProtection.isDebugMode(target))
OutputHandler.chatNotification(target, permission);
if (!APIRegistry.perms.checkUserPermission(new UserIdent(target), permission))
{
e.setCanceled(true);
return;
}
}
}
if (e.source.getEntity() instanceof EntityPlayer)
{
// player -> living
EntityPlayer source = (EntityPlayer) e.source.getEntity();
WorldPoint point = new WorldPoint(e.entityLiving);
// String permission = ModuleProtection.PERM_DAMAGE_TO + "." + e.entityLiving.getClass().getSimpleName();
// if (ModuleProtection.isDebugMode(source))
// OutputHandler.chatNotification(source, permission);
// if (!APIRegistry.perms.checkUserPermission(new UserIdent(source), point, ModuleProtection.PERM_INTERACT_ENTITY))
// {
// e.setCanceled(true);
// return;
// }
if (e.entityLiving instanceof EntityPlayer)
{
// player -> player
if (!APIRegistry.perms.checkUserPermission(new UserIdent((EntityPlayer) e.entityLiving), ModuleProtection.PERM_PVP)
|| !APIRegistry.perms.checkUserPermission(new UserIdent(source), ModuleProtection.PERM_PVP)
|| !APIRegistry.perms.checkUserPermission(new UserIdent(source), point, ModuleProtection.PERM_PVP))
{
e.setCanceled(true);
return;
}
}