fixed pixelblocks being placable in protected regions

This commit is contained in:
Elias Müller 2024-12-24 18:06:43 +01:00
parent fc043a2529
commit 224f4a9f1e
3 changed files with 5 additions and 2 deletions

View File

@ -8,7 +8,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
public class BreakPixelBlockListener implements Listener { public class BreakPixelBlockListener implements Listener {
@EventHandler(ignoreCancelled = true) @EventHandler
public void destroyPixelBlock(PrePlayerAttackEntityEvent event) { public void destroyPixelBlock(PrePlayerAttackEntityEvent event) {
if(!(event.getAttacked() instanceof Interaction)) return; if(!(event.getAttacked() instanceof Interaction)) return;

View File

@ -10,12 +10,13 @@ import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
public class PlacePixelBlockListener implements Listener { public class PlacePixelBlockListener implements Listener {
@EventHandler(ignoreCancelled = true) @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onBlockPlace(BlockPlaceEvent event) { public void onBlockPlace(BlockPlaceEvent event) {
ItemStack usedItem = event.getItemInHand(); ItemStack usedItem = event.getItemInHand();
PixelBlockItem.BlockInfo info = PixelBlockItem.getBlockInfo(usedItem); PixelBlockItem.BlockInfo info = PixelBlockItem.getBlockInfo(usedItem);

View File

@ -1,5 +1,6 @@
package eu.mhsl.minecraft.pixelblocks.utils; package eu.mhsl.minecraft.pixelblocks.utils;
import eu.mhsl.minecraft.pixelblocks.Main;
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlock; import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlock;
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlockWorld; import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlockWorld;
import org.bukkit.World; import org.bukkit.World;
@ -13,6 +14,7 @@ public class EventCanceling {
if(!PixelBlockWorld.isPixelWorld(world)) return; if(!PixelBlockWorld.isPixelWorld(world)) return;
@Nullable PixelBlock pixelBlock = PixelBlock.getPixelBlockFromBlockWorld(world); @Nullable PixelBlock pixelBlock = PixelBlock.getPixelBlockFromBlockWorld(world);
if(pixelBlock == null) { if(pixelBlock == null) {
Main.logger().warning("Cancelling place event because PixelBlock could not be found: " + world.getName());
event.setCancelled(true); event.setCancelled(true);
return; return;
} }