Skip to content

Commit

Permalink
Merge pull request #29 from TheNextLvl-net/cleanup
Browse files Browse the repository at this point in the history
Cleanup
  • Loading branch information
NonSwag authored Oct 6, 2024
2 parents e0ac3d5 + b065858 commit 175260e
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 97 deletions.
41 changes: 21 additions & 20 deletions plugin/src/main/java/net/thenextlvl/protect/ProtectPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import net.thenextlvl.protect.service.ProtectionService;
import net.thenextlvl.protect.version.PluginVersionChecker;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.WeatherType;
import org.bukkit.entity.Player;
import org.bukkit.plugin.ServicePriority;
Expand Down Expand Up @@ -59,14 +58,8 @@ public class ProtectPlugin extends JavaPlugin {
@Override
public void onLoad() {
versionChecker().checkVersion();

Bukkit.getServicesManager().register(ProtectionService.class, protectionService(), this, ServicePriority.Highest);
Bukkit.getServicesManager().register(FlagRegistry.class, flagRegistry(), this, ServicePriority.Highest);
Bukkit.getServicesManager().register(AreaProvider.class, areaProvider(), this, ServicePriority.Highest);
Bukkit.getServicesManager().register(AreaService.class, areaService(), this, ServicePriority.Highest);

areaService().registerAdapter(CraftGlobalArea.class, new GlobalAreaAdapter(this));
areaService().registerAdapter(CraftCuboidArea.class, new CuboidAreaAdapter(this));
registerServices();
registerAdapter();
}

@Override
Expand All @@ -77,26 +70,34 @@ public void onEnable() {

@Override
public void onDisable() {
Bukkit.getWorlds().forEach(world -> {
getServer().getWorlds().forEach(world -> {
areaProvider().saveAreas(world);
areaProvider().unloadAreas(world);
});
metrics.shutdown();
metrics().shutdown();
}

private void registerServices() {
getServer().getServicesManager().register(ProtectionService.class, protectionService(), this, ServicePriority.Highest);
getServer().getServicesManager().register(FlagRegistry.class, flagRegistry(), this, ServicePriority.Highest);
getServer().getServicesManager().register(AreaProvider.class, areaProvider(), this, ServicePriority.Highest);
getServer().getServicesManager().register(AreaService.class, areaService(), this, ServicePriority.Highest);
}

private void registerAdapter() {
areaService().registerAdapter(CraftGlobalArea.class, new GlobalAreaAdapter(this));
areaService().registerAdapter(CraftCuboidArea.class, new CuboidAreaAdapter(this));
}

private void registerEvents() {
Bukkit.getPluginManager().registerEvents(new AreaListener(this), this);
Bukkit.getPluginManager().registerEvents(new EntityListener(this), this);
Bukkit.getPluginManager().registerEvents(new MovementListener(this), this);
Bukkit.getPluginManager().registerEvents(new WorldListener(this), this);
getServer().getPluginManager().registerEvents(new AreaListener(this), this);
getServer().getPluginManager().registerEvents(new EntityListener(this), this);
getServer().getPluginManager().registerEvents(new MovementListener(this), this);
getServer().getPluginManager().registerEvents(new WorldListener(this), this);
}

private void registerCommands() {
try {
new AreaCommand(this).register();
} catch (Exception e) {
throw new RuntimeException(e);
}
new AreaCommand(this).register();
}

public class Flags {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ public BlockVector3 deserialize(JsonElement element, Type type, JsonDeserializat

@Override
public JsonElement serialize(BlockVector3 vector, Type type, JsonSerializationContext context) {
return new JsonPrimitive(vector.getX() + ", " + vector.getY() + ", " + vector.getZ());
return new JsonPrimitive(vector.x() + ", " + vector.y() + ", " + vector.z());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public CraftGlobalArea(World world, int priority) {

@Override
@NamePattern.Global
@SuppressWarnings("PatternValidation")
public String getName() {
return super.getName();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ public void saveSchematic() throws IOException, WorldEditException {
file.getParentFile().mkdirs();
file.createNewFile();
try (var editSession = WorldEdit.getInstance().newEditSession(new BukkitWorld(getWorld()));
var writer = BuiltInClipboardFormat.FAST.getWriter(new FileOutputStream(getSchematic()))) {
var writer = BuiltInClipboardFormat.FAST_V3.getWriter(new FileOutputStream(getSchematic()))) {
var clipboard = new BlockArrayClipboard(getRegion());
var extent = new ForwardExtentCopy(editSession, getRegion(), clipboard, getRegion().getMinimumPoint());
extent.setCopyingEntities(true);
Expand All @@ -122,7 +122,7 @@ public boolean loadSchematic() throws IOException, WorldEditException {
if (!event.callEvent()) return false;
var world = new BukkitWorld(getWorld());
try (EditSession editSession = WorldEdit.getInstance().newEditSession(world)) {
var clipboard = BuiltInClipboardFormat.FAST.getReader(new FileInputStream(getSchematic())).read();
var clipboard = BuiltInClipboardFormat.FAST_V3.getReader(new FileInputStream(getSchematic())).read();
world.getEntities(getRegion()).forEach(com.sk89q.worldedit.entity.Entity::remove);
var operation = new ClipboardHolder(clipboard).createPaste(editSession).to(getRegion().getMinimumPoint()).
copyBiomes(true).copyEntities(true).ignoreAirBlocks(false).build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
public class MovementListener implements Listener {
private final ProtectPlugin plugin;

@SuppressWarnings("IsCancelled")
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPlayerMove(PlayerMoveEvent event) {
if (!event.hasChangedBlock()) return;
Expand Down
76 changes: 2 additions & 74 deletions plugin/src/main/java/net/thenextlvl/protect/util/BlockUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import org.bukkit.Material;

public class BlockUtil {
@SuppressWarnings("deprecation")
public static boolean isInteractable(Material type, Material item) {
return switch (item) {
case BRUSH -> switch (type) {
Expand All @@ -14,79 +15,6 @@ public static boolean isInteractable(Material type, Material item) {
default -> false;
};
default -> false;
} || isInteractable(type);
}

@SuppressWarnings("UnstableApiUsage")
public static boolean isInteractable(Material type) {
return switch (type) {
case ACACIA_BUTTON, ACACIA_DOOR, ACACIA_FENCE, ACACIA_FENCE_GATE, ACACIA_HANGING_SIGN, ACACIA_SIGN,
ACACIA_TRAPDOOR, ACACIA_WALL_HANGING_SIGN, ACACIA_WALL_SIGN, ANVIL, BAMBOO_BUTTON, BAMBOO_DOOR,
BAMBOO_FENCE, BAMBOO_FENCE_GATE, BAMBOO_HANGING_SIGN, BAMBOO_SIGN, BAMBOO_TRAPDOOR,
BAMBOO_WALL_HANGING_SIGN, BAMBOO_WALL_SIGN, BARREL, BEACON, BELL,
BIRCH_BUTTON,
BIRCH_DOOR, BIRCH_FENCE, BIRCH_FENCE_GATE, BIRCH_HANGING_SIGN, BIRCH_SIGN, BIRCH_TRAPDOOR,
BIRCH_WALL_HANGING_SIGN, BIRCH_WALL_SIGN, BLACK_BED, BLACK_CANDLE, BLACK_CANDLE_CAKE,
BLACK_SHULKER_BOX, BLAST_FURNACE, BLUE_BED, BLUE_CANDLE, BLUE_CANDLE_CAKE, BLUE_SHULKER_BOX,
BREWING_STAND, BROWN_BED, BROWN_CANDLE, BROWN_CANDLE_CAKE, BROWN_SHULKER_BOX, CAKE, CAMPFIRE,
CANDLE,
CANDLE_CAKE, CARTOGRAPHY_TABLE, CAULDRON, CAVE_VINES, CAVE_VINES_PLANT, CHAIN_COMMAND_BLOCK,
CHERRY_BUTTON, CHERRY_DOOR, CHERRY_FENCE, CHERRY_FENCE_GATE, CHERRY_HANGING_SIGN, CHERRY_SIGN,
CHERRY_TRAPDOOR, CHERRY_WALL_HANGING_SIGN, CHERRY_WALL_SIGN, CHEST, CHIPPED_ANVIL,
CHISELED_BOOKSHELF,
COMMAND_BLOCK, COMPARATOR, COMPOSTER, COPPER_DOOR, COPPER_TRAPDOOR, CRAFTER, CRAFTING_TABLE,
CRIMSON_BUTTON, CRIMSON_DOOR, CRIMSON_FENCE, CRIMSON_FENCE_GATE, CRIMSON_HANGING_SIGN,
CRIMSON_SIGN,
CRIMSON_TRAPDOOR, CRIMSON_WALL_HANGING_SIGN, CRIMSON_WALL_SIGN, CYAN_BED, CYAN_CANDLE,
CYAN_CANDLE_CAKE, CYAN_SHULKER_BOX, DAMAGED_ANVIL, DARK_OAK_BUTTON, DARK_OAK_DOOR,
DARK_OAK_FENCE,
DARK_OAK_FENCE_GATE, DARK_OAK_HANGING_SIGN, DARK_OAK_SIGN, DARK_OAK_TRAPDOOR,
DARK_OAK_WALL_HANGING_SIGN, DARK_OAK_WALL_SIGN, DAYLIGHT_DETECTOR, DECORATED_POT,
DEEPSLATE_REDSTONE_ORE, DISPENSER, DRAGON_EGG, DROPPER, ENCHANTING_TABLE, ENDER_CHEST,
EXPOSED_COPPER_DOOR, EXPOSED_COPPER_TRAPDOOR, FLETCHING_TABLE, FLOWER_POT, FURNACE, GRAY_BED,
GRAY_CANDLE, GRAY_CANDLE_CAKE, GRAY_SHULKER_BOX, GREEN_BED, GREEN_CANDLE, GREEN_CANDLE_CAKE,
GREEN_SHULKER_BOX, GRINDSTONE, HOPPER, JIGSAW, JUKEBOX, JUNGLE_BUTTON,
JUNGLE_DOOR, JUNGLE_FENCE, JUNGLE_FENCE_GATE, JUNGLE_HANGING_SIGN, JUNGLE_SIGN, JUNGLE_TRAPDOOR,
JUNGLE_WALL_HANGING_SIGN, JUNGLE_WALL_SIGN, LAVA_CAULDRON, LECTERN, LEVER, LIGHT,
LIGHT_BLUE_BED,
LIGHT_BLUE_CANDLE, LIGHT_BLUE_CANDLE_CAKE, LIGHT_BLUE_SHULKER_BOX, LIGHT_GRAY_BED,
LIGHT_GRAY_CANDLE,
LIGHT_GRAY_CANDLE_CAKE, LIGHT_GRAY_SHULKER_BOX, LIME_BED, LIME_CANDLE, LIME_CANDLE_CAKE,
LIME_SHULKER_BOX, LOOM, MAGENTA_BED, MAGENTA_CANDLE, MAGENTA_CANDLE_CAKE, MAGENTA_SHULKER_BOX,
MANGROVE_BUTTON, MANGROVE_DOOR, MANGROVE_FENCE, MANGROVE_FENCE_GATE, MANGROVE_HANGING_SIGN,
MANGROVE_SIGN, MANGROVE_TRAPDOOR, MANGROVE_WALL_HANGING_SIGN, MANGROVE_WALL_SIGN, MOVING_PISTON,
NETHER_BRICK_FENCE, NOTE_BLOCK, OAK_BUTTON, OAK_DOOR, OAK_FENCE, OAK_FENCE_GATE,
OAK_HANGING_SIGN,
OAK_SIGN, OAK_TRAPDOOR, OAK_WALL_HANGING_SIGN, OAK_WALL_SIGN, ORANGE_BED, ORANGE_CANDLE,
ORANGE_CANDLE_CAKE, ORANGE_SHULKER_BOX, OXIDIZED_COPPER_DOOR, OXIDIZED_COPPER_TRAPDOOR,
PINK_BED,
PINK_CANDLE, PINK_CANDLE_CAKE, PINK_SHULKER_BOX, POLISHED_BLACKSTONE_BUTTON,
POTTED_ACACIA_SAPLING,
POTTED_ALLIUM, POTTED_AZALEA_BUSH, POTTED_AZURE_BLUET, POTTED_BAMBOO, POTTED_BIRCH_SAPLING,
POTTED_BLUE_ORCHID, POTTED_BROWN_MUSHROOM, POTTED_CACTUS, POTTED_CHERRY_SAPLING,
POTTED_CORNFLOWER,
POTTED_CRIMSON_FUNGUS, POTTED_CRIMSON_ROOTS, POTTED_DANDELION, POTTED_DARK_OAK_SAPLING,
POTTED_DEAD_BUSH, POTTED_FERN, POTTED_FLOWERING_AZALEA_BUSH, POTTED_JUNGLE_SAPLING,
POTTED_LILY_OF_THE_VALLEY, POTTED_MANGROVE_PROPAGULE, POTTED_OAK_SAPLING, POTTED_ORANGE_TULIP,
POTTED_OXEYE_DAISY, POTTED_PINK_TULIP, POTTED_POPPY, POTTED_RED_MUSHROOM, POTTED_RED_TULIP,
POTTED_SPRUCE_SAPLING, POTTED_TORCHFLOWER, POTTED_WARPED_FUNGUS, POTTED_WARPED_ROOTS,
POTTED_WHITE_TULIP, POTTED_WITHER_ROSE, POWDER_SNOW_CAULDRON, PUMPKIN, PURPLE_BED,
PURPLE_CANDLE,
PURPLE_CANDLE_CAKE, PURPLE_SHULKER_BOX, REDSTONE_ORE, REDSTONE_WIRE, RED_BED, RED_CANDLE,
RED_CANDLE_CAKE, RED_SHULKER_BOX, REPEATER, REPEATING_COMMAND_BLOCK, RESPAWN_ANCHOR,
SHULKER_BOX,
SMITHING_TABLE, SMOKER, SOUL_CAMPFIRE, SPRUCE_BUTTON, SPRUCE_DOOR, SPRUCE_FENCE,
SPRUCE_FENCE_GATE,
SPRUCE_HANGING_SIGN, SPRUCE_SIGN, SPRUCE_TRAPDOOR, SPRUCE_WALL_HANGING_SIGN, SPRUCE_WALL_SIGN,
STONECUTTER, STONE_BUTTON, STRUCTURE_BLOCK, SWEET_BERRY_BUSH, TNT, TRAPPED_CHEST, WARPED_BUTTON,
WARPED_DOOR, WARPED_FENCE, WARPED_FENCE_GATE, WARPED_HANGING_SIGN, WARPED_SIGN, WARPED_TRAPDOOR,
WARPED_WALL_HANGING_SIGN, WARPED_WALL_SIGN, WATER_CAULDRON, WAXED_COPPER_DOOR,
WAXED_COPPER_TRAPDOOR,
WAXED_EXPOSED_COPPER_DOOR, WAXED_EXPOSED_COPPER_TRAPDOOR, WAXED_OXIDIZED_COPPER_DOOR,
WAXED_OXIDIZED_COPPER_TRAPDOOR, WAXED_WEATHERED_COPPER_DOOR, WAXED_WEATHERED_COPPER_TRAPDOOR,
WEATHERED_COPPER_DOOR, WEATHERED_COPPER_TRAPDOOR, WHITE_BED, WHITE_CANDLE, WHITE_CANDLE_CAKE,
WHITE_SHULKER_BOX, YELLOW_BED, YELLOW_CANDLE, YELLOW_CANDLE_CAKE, YELLOW_SHULKER_BOX -> true;
default -> false;
};
} || type.isInteractable();
}
}

0 comments on commit 175260e

Please sign in to comment.