mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-11 21:06:55 +00:00
deny leashing someone's wolves
This commit is contained in:
@@ -56,6 +56,7 @@ public final class TogglePvP extends JavaPlugin {
|
|||||||
getServer().getPluginManager().registerEvents(new WolfHitByFireworkListener(), this);
|
getServer().getPluginManager().registerEvents(new WolfHitByFireworkListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new WolfTargettingWolfListener(), this);
|
getServer().getPluginManager().registerEvents(new WolfTargettingWolfListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new WolfHitByExplosionListener(), this);
|
getServer().getPluginManager().registerEvents(new WolfHitByExplosionListener(), this);
|
||||||
|
getServer().getPluginManager().registerEvents(new WolfLeashListener(), this);
|
||||||
|
|
||||||
Objects.requireNonNull(getCommand("pvp")).setExecutor(new MainCommand());
|
Objects.requireNonNull(getCommand("pvp")).setExecutor(new MainCommand());
|
||||||
Objects.requireNonNull(getCommand("pvp")).setTabCompleter(new MainCommand());
|
Objects.requireNonNull(getCommand("pvp")).setTabCompleter(new MainCommand());
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package eu.endermite.togglepvp.listeners.wolf;
|
||||||
|
|
||||||
|
import eu.endermite.togglepvp.TogglePvP;
|
||||||
|
import eu.endermite.togglepvp.config.ConfigCache;
|
||||||
|
import eu.endermite.togglepvp.players.SmartCache;
|
||||||
|
import eu.endermite.togglepvp.util.PluginMessages;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.entity.Wolf;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
|
public class WolfLeashListener implements Listener {
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
|
public void onWolfLeash(org.bukkit.event.entity.PlayerLeashEntityEvent event) {
|
||||||
|
if (event.getEntity() instanceof Wolf) {
|
||||||
|
Wolf victim = (Wolf) event.getEntity();
|
||||||
|
if (victim.getOwner() == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Player damager = event.getPlayer();
|
||||||
|
if (victim.getOwner() == damager) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ConfigCache config = TogglePvP.getPlugin().getConfigCache();
|
||||||
|
boolean damagerPvpEnabled = (boolean) SmartCache.getPlayerData(damager.getUniqueId()).get("pvpenabled");
|
||||||
|
if (!damagerPvpEnabled) {
|
||||||
|
PluginMessages.sendActionBar(damager, config.getCannot_attack_pets_attacker());
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
boolean victimPvpEnabled = (boolean) SmartCache.getPlayerData(victim.getOwner().getUniqueId()).get("pvpenabled");
|
||||||
|
if (!victimPvpEnabled) {
|
||||||
|
PluginMessages.sendActionBar(damager, config.getCannot_attack_pets_victim());
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user