File tree Expand file tree Collapse file tree
src/main/java/fr/openmc/core/features/city/listeners/protections Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77import org .bukkit .event .EventHandler ;
88import org .bukkit .event .Listener ;
99import org .bukkit .event .hanging .HangingBreakByEntityEvent ;
10+ import org .bukkit .event .hanging .HangingBreakEvent ;
1011import org .bukkit .event .player .PlayerInteractEntityEvent ;
1112
1213public class HangingProtection implements Listener {
@@ -22,8 +23,18 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
2223
2324 @ EventHandler (ignoreCancelled = true )
2425 public void onHangingBreakByEntity (HangingBreakByEntityEvent event ) {
25- if (event .getRemover () instanceof Player player ) {
26- ProtectionsManager .verify (player , event , event .getEntity ().getLocation ());
26+ Entity remover = event .getRemover ();
27+ if (remover != null ) {
28+ ProtectionsManager .verify (remover , event , event .getEntity ().getLocation ());
29+ }
30+ }
31+
32+ @ EventHandler (ignoreCancelled = true )
33+ public void onHangingBreak (HangingBreakEvent event ) {
34+ if (event .getCause () == HangingBreakEvent .RemoveCause .EXPLOSION ) {
35+ if (!ProtectionsManager .canExplodeNaturally (event .getEntity ().getLocation ())) {
36+ event .setCancelled (true );
37+ }
2738 }
2839 }
2940}
You can’t perform that action at this time.
0 commit comments