mirror of
https://github.com/TotalFreedomMC/TotalFreedomMod.git
synced 2024-06-29 17:30:35 +00:00
67 lines
1.7 KiB
Java
67 lines
1.7 KiB
Java
package me.totalfreedom.totalfreedommod;
|
|
|
|
import me.totalfreedom.totalfreedommod.player.FPlayer;
|
|
import me.totalfreedom.totalfreedommod.util.FSync;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.entity.Entity;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.entity.Projectile;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.EventPriority;
|
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
|
import org.bukkit.projectiles.ProjectileSource;
|
|
|
|
public class PvPBlocker extends FreedomService
|
|
{
|
|
|
|
public PvPBlocker(TotalFreedomMod plugin)
|
|
{
|
|
super(plugin);
|
|
}
|
|
|
|
@Override
|
|
protected void onStart()
|
|
{
|
|
}
|
|
|
|
@Override
|
|
protected void onStop()
|
|
{
|
|
}
|
|
|
|
@EventHandler(priority = EventPriority.LOW)
|
|
public void EntityDamageByEntityEvent(EntityDamageByEntityEvent event)
|
|
{
|
|
Entity damager = event.getDamager();
|
|
FPlayer fPlayer = null;
|
|
if (damager instanceof Player)
|
|
{
|
|
fPlayer = plugin.pl.getPlayerSync((Player) damager);
|
|
}
|
|
|
|
if (damager instanceof Projectile)
|
|
{
|
|
ProjectileSource ps = ((Projectile) damager).getShooter();
|
|
if (ps instanceof Player)
|
|
{
|
|
fPlayer = plugin.pl.getPlayerSync((Player) ps);
|
|
}
|
|
}
|
|
|
|
if (fPlayer == null || !fPlayer.isPVPBlock())
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (plugin.al.isAdminSync(event.getDamager()))
|
|
{
|
|
fPlayer.setPVPBlock(false);
|
|
return;
|
|
}
|
|
|
|
Player player = (Player) damager;
|
|
event.setCancelled(true);
|
|
FSync.playerMsg(player, ChatColor.RED + "You have been disallowed from PvPing!");
|
|
}
|
|
|
|
} |