added pet interaction blocker for non-owners

This commit is contained in:
YouHaveTrouble
2021-02-20 21:38:23 +01:00
parent 53fea43077
commit 4f9ec57e82
3 changed files with 42 additions and 1 deletions
@@ -28,6 +28,7 @@ public class ConfigCache {
@Getter private final String entering_combat;
@Getter private final String leaving_combat;
@Getter final String cant_do_that_during_combat;
@Getter final boolean only_owner_can_interact_with_pet;
public ConfigCache() {
@@ -62,6 +63,6 @@ public class ConfigCache {
this.entering_combat = config.getString("messages.entering_combat", "&cEntering combat");
this.leaving_combat = config.getString("messages.leaving_combat", "&cLeaving combat");
this.cant_do_that_during_combat = config.getString("messages.cant_do_that_during_combat", "&cYou can't do that while in combat!");
this.only_owner_can_interact_with_pet = config.getBoolean("only_owner_can_interact_with_pet", false);
}
}
@@ -0,0 +1,36 @@
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.CombatTimer;
import eu.endermite.togglepvp.util.PluginMessages;
import org.bukkit.entity.Player;
import org.bukkit.entity.Tameable;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
@eu.endermite.togglepvp.util.Listener
public class PlayerInteractWithPetListener implements Listener {
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPlayerInteractWithPet(org.bukkit.event.player.PlayerInteractEntityEvent event) {
if (!(event.getRightClicked() instanceof Tameable))
return;
Tameable tameable = (Tameable) event.getRightClicked();
if (tameable.getOwner() == null)
return;
if (!TogglePvp.getPlugin().getConfigCache().isOnly_owner_can_interact_with_pet())
return;
if (tameable.getOwner().getUniqueId().equals(event.getPlayer().getUniqueId()))
return;
event.setCancelled(true);
}
}