Skip to content

Commit

Permalink
Move PlayerShearEntityEvent handling to EventListen to cover for snowman
Browse files Browse the repository at this point in the history
  • Loading branch information
fullwall committed Dec 21, 2023
1 parent 4e4112d commit d005c22
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
11 changes: 11 additions & 0 deletions main/src/main/java/net/citizensnpcs/EventListen.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerShearEntityEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.event.server.PluginDisableEvent;
Expand Down Expand Up @@ -631,6 +632,16 @@ public void onPlayerRespawn(PlayerRespawnEvent event) {
skinUpdateTracker.updatePlayer(event.getPlayer(), 15, true);
}

@EventHandler
public void onPlayerShearEntityEvent(PlayerShearEntityEvent event) {
NPC npc = CitizensAPI.getNPCRegistry().getNPC(event.getEntity());
if (npc == null)
return;
if (npc.isProtected()) {
event.setCancelled(true);
}
}

@EventHandler(ignoreCancelled = true)
public void onPlayerTeleport(PlayerTeleportEvent event) {
NPC npc = CitizensAPI.getNPCRegistry().getNPC(event.getPlayer());
Expand Down
10 changes: 0 additions & 10 deletions main/src/main/java/net/citizensnpcs/trait/SheepTrait.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@

import org.bukkit.DyeColor;
import org.bukkit.entity.Sheep;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerShearEntityEvent;

import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.trait.Trait;
import net.citizensnpcs.api.trait.TraitName;
Expand All @@ -32,13 +29,6 @@ public boolean isSheared() {
return sheared;
}

@EventHandler
private void onPlayerShearEntityEvent(PlayerShearEntityEvent event) {
if (npc != null && npc.isProtected() && npc.equals(CitizensAPI.getNPCRegistry().getNPC(event.getEntity()))) {
event.setCancelled(true);
}
}

@Override
public void run() {
if (npc.getEntity() instanceof Sheep) {
Expand Down

0 comments on commit d005c22

Please sign in to comment.