Ajout d'une protection pour les animaux domptés + correction debug du rechargement de la configuration + correction de bug sur la gestion des permissions
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
package net.mc_pandacraft.java.plugin.pandacraftutils.modules.cheat_protect;
|
||||
|
||||
import net.mc_pandacraft.java.plugin.pandacraftutils.PandacraftUtils;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.AnimalTamer;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Tameable;
|
||||
import org.bukkit.entity.Vehicle;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityTameEvent;
|
||||
import org.bukkit.event.vehicle.VehicleEnterEvent;
|
||||
|
||||
public class TamedEntityProtectManager implements Listener {
|
||||
private PandacraftUtils plugin = PandacraftUtils.getInstance();
|
||||
|
||||
|
||||
public TamedEntityProtectManager()
|
||||
{
|
||||
|
||||
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void onEntityTame(EntityTameEvent event) {
|
||||
if (event.getEntity().getWorld().getPVP()) return;
|
||||
|
||||
LivingEntity entity = event.getEntity();
|
||||
AnimalTamer playerOwner = event.getOwner();
|
||||
if (entity instanceof Tameable) {
|
||||
Tameable tameableEntity = (Tameable) entity;
|
||||
tameableEntity.setOwner(playerOwner);
|
||||
|
||||
if (playerOwner instanceof Player) {
|
||||
Player p = (Player) playerOwner;
|
||||
p.sendMessage(ChatColor.GREEN+"Vous venez de protéger cet animal");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void onVehicleEnter(VehicleEnterEvent event) {
|
||||
if (event.getVehicle().getWorld().getPVP()) return;
|
||||
|
||||
Vehicle vehicle = event.getVehicle();
|
||||
if (!(vehicle instanceof Tameable)) return;
|
||||
Tameable tameableEntity = (Tameable) vehicle;
|
||||
|
||||
if (!tameableEntity.getOwner().equals(event.getEntered()))
|
||||
event.setCancelled(true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void onEntityDamage(EntityDamageByEntityEvent event) {
|
||||
if (event.getEntity().getWorld().getPVP()) return;
|
||||
|
||||
Entity damager = event.getDamager();
|
||||
if (!(damager instanceof Player)) return;
|
||||
Entity target = event.getEntity();
|
||||
if (!(target instanceof Tameable)) return;
|
||||
|
||||
Player p = (Player) damager;
|
||||
Tameable animal = (Tameable) target;
|
||||
|
||||
if (!animal.getOwner().equals(p))
|
||||
event.setCancelled(true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user