mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-11-04 03:03:43 +01:00 
			
		
		
		
	replace usages of switch over keyed enums
This commit is contained in:
		@@ -72,6 +72,7 @@ import net.kyori.adventure.text.minimessage.Template;
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
import org.bukkit.GameMode;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.Tag;
 | 
			
		||||
import org.bukkit.block.Block;
 | 
			
		||||
import org.bukkit.block.BlockFace;
 | 
			
		||||
import org.bukkit.block.BlockState;
 | 
			
		||||
@@ -113,11 +114,20 @@ import org.checkerframework.checker.nullness.qual.NonNull;
 | 
			
		||||
import java.util.Iterator;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Objects;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@SuppressWarnings("unused")
 | 
			
		||||
public class BlockEventListener implements Listener {
 | 
			
		||||
 | 
			
		||||
    private static final Set<Material> PISTONS = Set.of(
 | 
			
		||||
            Material.PISTON,
 | 
			
		||||
            Material.STICKY_PISTON
 | 
			
		||||
    );
 | 
			
		||||
    private static final Set<Material> PHYSICS_BLOCKS = Set.of(
 | 
			
		||||
            Material.TURTLE_EGG,
 | 
			
		||||
            Material.TURTLE_SPAWN_EGG
 | 
			
		||||
    );
 | 
			
		||||
    private final PlotAreaManager plotAreaManager;
 | 
			
		||||
    private final WorldEdit worldEdit;
 | 
			
		||||
 | 
			
		||||
@@ -223,50 +233,26 @@ public class BlockEventListener implements Listener {
 | 
			
		||||
            plot.debug("Prevented block physics and resent block change because disable-physics = true");
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        switch (event.getChangedType()) {
 | 
			
		||||
            case COMPARATOR: {
 | 
			
		||||
        if (event.getChangedType() == Material.COMPARATOR || PHYSICS_BLOCKS.contains(event.getChangedType())) {
 | 
			
		||||
            if (!plot.getFlag(RedstoneFlag.class)) {
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
                plot.debug("Prevented comparator update because redstone = false");
 | 
			
		||||
            }
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
            case ANVIL:
 | 
			
		||||
            case DRAGON_EGG:
 | 
			
		||||
            case GRAVEL:
 | 
			
		||||
            case SAND:
 | 
			
		||||
            case TURTLE_EGG:
 | 
			
		||||
            case TURTLE_HELMET:
 | 
			
		||||
            case TURTLE_SPAWN_EGG: {
 | 
			
		||||
                if (plot.getFlag(DisablePhysicsFlag.class)) {
 | 
			
		||||
                    event.setCancelled(true);
 | 
			
		||||
                    plot.debug("Prevented block physics because disable-physics = true");
 | 
			
		||||
                }
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            default:
 | 
			
		||||
        if (Settings.Redstone.DETECT_INVALID_EDGE_PISTONS) {
 | 
			
		||||
                    switch (block.getType()) {
 | 
			
		||||
                        case PISTON, STICKY_PISTON -> {
 | 
			
		||||
            if (PISTONS.contains(block.getType())) {
 | 
			
		||||
                org.bukkit.block.data.Directional piston = (org.bukkit.block.data.Directional) block.getBlockData();
 | 
			
		||||
                            switch (piston.getFacing()) {
 | 
			
		||||
                                case EAST -> location = location.add(1, 0, 0);
 | 
			
		||||
                                case SOUTH -> location = location.add(-1, 0, 0);
 | 
			
		||||
                                case WEST -> location = location.add(0, 0, 1);
 | 
			
		||||
                                case NORTH -> location = location.add(0, 0, -1);
 | 
			
		||||
                            }
 | 
			
		||||
                final BlockFace facing = piston.getFacing();
 | 
			
		||||
                location = location.add(facing.getModX(), facing.getModY(), facing.getModZ());
 | 
			
		||||
                Plot newPlot = area.getOwnedPlotAbs(location);
 | 
			
		||||
                if (!plot.equals(newPlot)) {
 | 
			
		||||
                    event.setCancelled(true);
 | 
			
		||||
                    plot.debug("Prevented piston update because of invalid edge piston detection");
 | 
			
		||||
                                return;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
 | 
			
		||||
    public void blockCreate(BlockPlaceEvent event) {
 | 
			
		||||
@@ -555,17 +541,14 @@ public class BlockEventListener implements Listener {
 | 
			
		||||
            event.setCancelled(true);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        switch (event.getNewState().getType()) {
 | 
			
		||||
            case SNOW:
 | 
			
		||||
            case SNOW_BLOCK:
 | 
			
		||||
        if (Tag.SNOW.isTagged(event.getNewState().getType())) {
 | 
			
		||||
            if (!plot.getFlag(SnowFormFlag.class)) {
 | 
			
		||||
                plot.debug("Snow could not form because snow-form = false");
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
            }
 | 
			
		||||
            return;
 | 
			
		||||
            case ICE:
 | 
			
		||||
            case FROSTED_ICE:
 | 
			
		||||
            case PACKED_ICE:
 | 
			
		||||
        }
 | 
			
		||||
        if (Tag.ICE.isTagged(event.getNewState().getType())) {
 | 
			
		||||
            if (!plot.getFlag(IceFormFlag.class)) {
 | 
			
		||||
                plot.debug("Ice could not form because ice-form = false");
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
@@ -590,18 +573,12 @@ public class BlockEventListener implements Listener {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        Class<? extends BooleanFlag<?>> flag;
 | 
			
		||||
        switch (event.getNewState().getType()) {
 | 
			
		||||
            case SNOW:
 | 
			
		||||
            case SNOW_BLOCK:
 | 
			
		||||
        if (Tag.SNOW.isTagged(event.getNewState().getType())) {
 | 
			
		||||
            flag = SnowFormFlag.class;
 | 
			
		||||
                break;
 | 
			
		||||
            case ICE:
 | 
			
		||||
            case FROSTED_ICE:
 | 
			
		||||
            case PACKED_ICE:
 | 
			
		||||
        } else if (Tag.ICE.isTagged(event.getNewState().getType())) {
 | 
			
		||||
            flag = IceFormFlag.class;
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
                return; // other blocks are ignored by this event
 | 
			
		||||
        } else {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        boolean allowed = plot.getFlag(flag);
 | 
			
		||||
        Entity entity = event.getEntity();
 | 
			
		||||
@@ -705,50 +682,32 @@ public class BlockEventListener implements Listener {
 | 
			
		||||
            event.setCancelled(true);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        switch (block.getType()) {
 | 
			
		||||
            case ICE:
 | 
			
		||||
        if (Tag.ICE.isTagged(block.getType())) {
 | 
			
		||||
            if (!plot.getFlag(IceMeltFlag.class)) {
 | 
			
		||||
                plot.debug("Ice could not melt because ice-melt = false");
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
            }
 | 
			
		||||
                break;
 | 
			
		||||
            case SNOW:
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        if (Tag.SNOW.isTagged(block.getType())) {
 | 
			
		||||
            if (!plot.getFlag(SnowMeltFlag.class)) {
 | 
			
		||||
                plot.debug("Snow could not melt because snow-melt = false");
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
            }
 | 
			
		||||
                break;
 | 
			
		||||
            case FARMLAND:
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        if (block.getType() == Material.FARMLAND) {
 | 
			
		||||
            if (!plot.getFlag(SoilDryFlag.class)) {
 | 
			
		||||
                plot.debug("Soil could not dry because soil-dry = false");
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
            }
 | 
			
		||||
                break;
 | 
			
		||||
            case TUBE_CORAL_BLOCK:
 | 
			
		||||
            case BRAIN_CORAL_BLOCK:
 | 
			
		||||
            case BUBBLE_CORAL_BLOCK:
 | 
			
		||||
            case FIRE_CORAL_BLOCK:
 | 
			
		||||
            case HORN_CORAL_BLOCK:
 | 
			
		||||
            case TUBE_CORAL:
 | 
			
		||||
            case BRAIN_CORAL:
 | 
			
		||||
            case BUBBLE_CORAL:
 | 
			
		||||
            case FIRE_CORAL:
 | 
			
		||||
            case HORN_CORAL:
 | 
			
		||||
            case TUBE_CORAL_FAN:
 | 
			
		||||
            case BRAIN_CORAL_FAN:
 | 
			
		||||
            case BUBBLE_CORAL_FAN:
 | 
			
		||||
            case FIRE_CORAL_FAN:
 | 
			
		||||
            case HORN_CORAL_FAN:
 | 
			
		||||
            case BRAIN_CORAL_WALL_FAN:
 | 
			
		||||
            case BUBBLE_CORAL_WALL_FAN:
 | 
			
		||||
            case FIRE_CORAL_WALL_FAN:
 | 
			
		||||
            case HORN_CORAL_WALL_FAN:
 | 
			
		||||
            case TUBE_CORAL_WALL_FAN:
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        if (Tag.CORAL_BLOCKS.isTagged(block.getType())) {
 | 
			
		||||
            if (!plot.getFlag(CoralDryFlag.class)) {
 | 
			
		||||
                plot.debug("Coral could not dry because coral-dry = false");
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
            }
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,7 @@ import com.plotsquared.core.plot.Plot;
 | 
			
		||||
import com.plotsquared.core.plot.PlotArea;
 | 
			
		||||
import com.plotsquared.core.plot.flag.implementations.CopperOxideFlag;
 | 
			
		||||
import com.plotsquared.core.plot.flag.implementations.MiscInteractFlag;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.block.Block;
 | 
			
		||||
import org.bukkit.entity.Entity;
 | 
			
		||||
import org.bukkit.entity.Item;
 | 
			
		||||
@@ -46,11 +47,31 @@ import org.bukkit.event.block.BlockReceiveGameEvent;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Objects;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@SuppressWarnings("unused")
 | 
			
		||||
public class BlockEventListener117 implements Listener {
 | 
			
		||||
 | 
			
		||||
    private static final Set<Material> COPPER_OXIDIZING = Set.of(
 | 
			
		||||
            Material.COPPER_BLOCK,
 | 
			
		||||
            Material.EXPOSED_COPPER,
 | 
			
		||||
            Material.WEATHERED_COPPER,
 | 
			
		||||
            Material.OXIDIZED_COPPER,
 | 
			
		||||
            Material.CUT_COPPER,
 | 
			
		||||
            Material.EXPOSED_CUT_COPPER,
 | 
			
		||||
            Material.WEATHERED_CUT_COPPER,
 | 
			
		||||
            Material.OXIDIZED_CUT_COPPER,
 | 
			
		||||
            Material.CUT_COPPER_STAIRS,
 | 
			
		||||
            Material.EXPOSED_CUT_COPPER_STAIRS,
 | 
			
		||||
            Material.WEATHERED_CUT_COPPER_STAIRS,
 | 
			
		||||
            Material.OXIDIZED_CUT_COPPER_STAIRS,
 | 
			
		||||
            Material.CUT_COPPER_SLAB,
 | 
			
		||||
            Material.EXPOSED_CUT_COPPER_SLAB,
 | 
			
		||||
            Material.WEATHERED_CUT_COPPER_SLAB,
 | 
			
		||||
            Material.OXIDIZED_CUT_COPPER_SLAB
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    @Inject
 | 
			
		||||
    public BlockEventListener117() {
 | 
			
		||||
    }
 | 
			
		||||
@@ -155,23 +176,7 @@ public class BlockEventListener117 implements Listener {
 | 
			
		||||
        if (plot == null) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        switch (event.getNewState().getType()) {
 | 
			
		||||
            case COPPER_BLOCK:
 | 
			
		||||
            case EXPOSED_COPPER:
 | 
			
		||||
            case WEATHERED_COPPER:
 | 
			
		||||
            case OXIDIZED_COPPER:
 | 
			
		||||
            case CUT_COPPER:
 | 
			
		||||
            case EXPOSED_CUT_COPPER:
 | 
			
		||||
            case WEATHERED_CUT_COPPER:
 | 
			
		||||
            case OXIDIZED_CUT_COPPER:
 | 
			
		||||
            case CUT_COPPER_STAIRS:
 | 
			
		||||
            case EXPOSED_CUT_COPPER_STAIRS:
 | 
			
		||||
            case WEATHERED_CUT_COPPER_STAIRS:
 | 
			
		||||
            case OXIDIZED_CUT_COPPER_STAIRS:
 | 
			
		||||
            case CUT_COPPER_SLAB:
 | 
			
		||||
            case EXPOSED_CUT_COPPER_SLAB:
 | 
			
		||||
            case WEATHERED_CUT_COPPER_SLAB:
 | 
			
		||||
            case OXIDIZED_CUT_COPPER_SLAB:
 | 
			
		||||
        if (COPPER_OXIDIZING.contains(event.getNewState().getType())) {
 | 
			
		||||
            if (!plot.getFlag(CopperOxideFlag.class)) {
 | 
			
		||||
                plot.debug("Copper could not oxide because copper-oxide = false");
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
 
 | 
			
		||||
@@ -131,17 +131,17 @@ public class EntitySpawnListener implements Listener {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        Plot plot = location.getOwnedPlotAbs();
 | 
			
		||||
        if (plot == null) {
 | 
			
		||||
        EntityType type = entity.getType();
 | 
			
		||||
        if (plot == null) {
 | 
			
		||||
            if (!area.isMobSpawning()) {
 | 
			
		||||
                switch (type) {
 | 
			
		||||
                    case DROPPED_ITEM:
 | 
			
		||||
                if (type == EntityType.PLAYER) {
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                if (type == EntityType.DROPPED_ITEM) {
 | 
			
		||||
                    if (Settings.Enabled_Components.KILL_ROAD_ITEMS) {
 | 
			
		||||
                        event.setCancelled(true);
 | 
			
		||||
                        return;
 | 
			
		||||
                    }
 | 
			
		||||
                    case PLAYER:
 | 
			
		||||
                        return;
 | 
			
		||||
                }
 | 
			
		||||
                if (type.isAlive()) {
 | 
			
		||||
                    event.setCancelled(true);
 | 
			
		||||
@@ -155,12 +155,13 @@ public class EntitySpawnListener implements Listener {
 | 
			
		||||
        if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
 | 
			
		||||
            event.setCancelled(true);
 | 
			
		||||
        }
 | 
			
		||||
        switch (entity.getType()) {
 | 
			
		||||
            case ENDER_CRYSTAL:
 | 
			
		||||
        if (type == EntityType.ENDER_CRYSTAL) {
 | 
			
		||||
            if (BukkitEntityUtil.checkEntity(entity, plot)) {
 | 
			
		||||
                event.setCancelled(true);
 | 
			
		||||
            }
 | 
			
		||||
            case SHULKER:
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        if (type == EntityType.SHULKER) {
 | 
			
		||||
            if (!entity.hasMetadata("shulkerPlot")) {
 | 
			
		||||
                entity.setMetadata("shulkerPlot", new FixedMetadataValue((Plugin) PlotSquared.platform(), plot.getId()));
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -237,15 +237,15 @@ public class PaperListener implements Listener {
 | 
			
		||||
        if (plot == null) {
 | 
			
		||||
            EntityType type = event.getType();
 | 
			
		||||
            if (!area.isMobSpawning()) {
 | 
			
		||||
                switch (type) {
 | 
			
		||||
                    case DROPPED_ITEM:
 | 
			
		||||
                if (type == EntityType.PLAYER) {
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                if (type == EntityType.DROPPED_ITEM) {
 | 
			
		||||
                    if (Settings.Enabled_Components.KILL_ROAD_ITEMS) {
 | 
			
		||||
                        event.setShouldAbortSpawn(true);
 | 
			
		||||
                        event.setCancelled(true);
 | 
			
		||||
                        return;
 | 
			
		||||
                    }
 | 
			
		||||
                    case PLAYER:
 | 
			
		||||
                        return;
 | 
			
		||||
                }
 | 
			
		||||
                if (type.isAlive()) {
 | 
			
		||||
                    event.setShouldAbortSpawn(true);
 | 
			
		||||
 
 | 
			
		||||
@@ -89,6 +89,7 @@ import org.bukkit.Bukkit;
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
import org.bukkit.FluidCollisionMode;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.Tag;
 | 
			
		||||
import org.bukkit.block.Block;
 | 
			
		||||
import org.bukkit.block.BlockFace;
 | 
			
		||||
import org.bukkit.block.BlockState;
 | 
			
		||||
@@ -166,6 +167,20 @@ import java.util.regex.Pattern;
 | 
			
		||||
@SuppressWarnings("unused")
 | 
			
		||||
public class PlayerEventListener extends PlotListener implements Listener {
 | 
			
		||||
 | 
			
		||||
    private static final Set<Material> MINECARTS = Set.of(
 | 
			
		||||
            Material.MINECART,
 | 
			
		||||
            Material.TNT_MINECART,
 | 
			
		||||
            Material.CHEST_MINECART,
 | 
			
		||||
            Material.COMMAND_BLOCK_MINECART,
 | 
			
		||||
            Material.FURNACE_MINECART,
 | 
			
		||||
            Material.HOPPER_MINECART
 | 
			
		||||
    );
 | 
			
		||||
    private static final Set<Material> BOOKS = Set.of(
 | 
			
		||||
            Material.BOOK,
 | 
			
		||||
            Material.KNOWLEDGE_BOOK,
 | 
			
		||||
            Material.WRITABLE_BOOK,
 | 
			
		||||
            Material.WRITTEN_BOOK
 | 
			
		||||
    );
 | 
			
		||||
    private final EventDispatcher eventDispatcher;
 | 
			
		||||
    private final WorldEdit worldEdit;
 | 
			
		||||
    private final PlotAreaManager plotAreaManager;
 | 
			
		||||
@@ -880,33 +895,25 @@ public class PlayerEventListener extends PlotListener implements Listener {
 | 
			
		||||
                oldLore = lore.toString();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        Material itemType = newItem.getType();
 | 
			
		||||
        if (!"[(+NBT)]".equals(newLore) || (current.equals(newItem) && newLore.equals(oldLore))) {
 | 
			
		||||
            switch (newItem.getType()) {
 | 
			
		||||
                case LEGACY_BANNER:
 | 
			
		||||
                case PLAYER_HEAD:
 | 
			
		||||
                    if (newMeta != null) {
 | 
			
		||||
                        break;
 | 
			
		||||
                    }
 | 
			
		||||
                default:
 | 
			
		||||
            if (newMeta == null || (itemType != Material.LEGACY_BANNER && itemType != Material.PLAYER_HEAD)) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        Block block = player.getTargetBlock(null, 7);
 | 
			
		||||
        org.bukkit.block.BlockState state = block.getState();
 | 
			
		||||
        Material stateType = state.getType();
 | 
			
		||||
        Material itemType = newItem.getType();
 | 
			
		||||
        if (stateType != itemType) {
 | 
			
		||||
            switch (stateType) {
 | 
			
		||||
                case LEGACY_STANDING_BANNER:
 | 
			
		||||
                case LEGACY_WALL_BANNER:
 | 
			
		||||
                    if (itemType == Material.LEGACY_BANNER) {
 | 
			
		||||
                        break;
 | 
			
		||||
            if (stateType == Material.LEGACY_WALL_BANNER || stateType == Material.LEGACY_STANDING_BANNER) {
 | 
			
		||||
                if (itemType != Material.LEGACY_BANNER) {
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                case LEGACY_SKULL:
 | 
			
		||||
                    if (itemType == Material.LEGACY_SKULL_ITEM) {
 | 
			
		||||
                        break;
 | 
			
		||||
            } else if (stateType == Material.LEGACY_SKULL) {
 | 
			
		||||
                if (itemType != Material.LEGACY_SKULL_ITEM) {
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                default:
 | 
			
		||||
            } else {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@@ -1133,14 +1140,21 @@ public class PlayerEventListener extends PlotListener implements Listener {
 | 
			
		||||
                    //Allow all players to eat while also allowing the block place event ot be fired
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                switch (type) {
 | 
			
		||||
                    case ACACIA_BOAT, BIRCH_BOAT, CHEST_MINECART, COMMAND_BLOCK_MINECART, DARK_OAK_BOAT, FURNACE_MINECART, HOPPER_MINECART, JUNGLE_BOAT, MINECART, OAK_BOAT, SPRUCE_BOAT, TNT_MINECART -> eventType = PlayerBlockEventType.PLACE_VEHICLE;
 | 
			
		||||
                    case FIREWORK_ROCKET, FIREWORK_STAR -> eventType = PlayerBlockEventType.SPAWN_MOB;
 | 
			
		||||
                    case BOOK, KNOWLEDGE_BOOK, WRITABLE_BOOK, WRITTEN_BOOK -> eventType = PlayerBlockEventType.READ;
 | 
			
		||||
                    case ARMOR_STAND -> {
 | 
			
		||||
                if (type == Material.ARMOR_STAND) {
 | 
			
		||||
                    location = BukkitUtil.adapt(block.getRelative(event.getBlockFace()).getLocation());
 | 
			
		||||
                    eventType = PlayerBlockEventType.PLACE_MISC;
 | 
			
		||||
                }
 | 
			
		||||
                if (Tag.ITEMS_BOATS.isTagged(type) || MINECARTS.contains(type)) {
 | 
			
		||||
                    eventType = PlayerBlockEventType.PLACE_VEHICLE;
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                if (type == Material.FIREWORK_ROCKET || type == Material.FIREWORK_STAR) {
 | 
			
		||||
                    eventType = PlayerBlockEventType.SPAWN_MOB;
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                if (BOOKS.contains(type)) {
 | 
			
		||||
                    eventType = PlayerBlockEventType.READ;
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user