diff --git a/Core/src/main/java/com/plotsquared/core/util/LazyBlock.java b/Core/src/main/java/com/plotsquared/core/util/LazyBlock.java
deleted file mode 100644
index a8a8970f8..000000000
--- a/Core/src/main/java/com/plotsquared/core/util/LazyBlock.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * _____ _ _ _____ _
- * | __ \| | | | / ____| | |
- * | |__) | | ___ | |_| (___ __ _ _ _ __ _ _ __ ___ __| |
- * | ___/| |/ _ \| __|\___ \ / _` | | | |/ _` | '__/ _ \/ _` |
- * | | | | (_) | |_ ____) | (_| | |_| | (_| | | | __/ (_| |
- * |_| |_|\___/ \__|_____/ \__, |\__,_|\__,_|_| \___|\__,_|
- * | |
- * |_|
- * PlotSquared plot management system for Minecraft
- * Copyright (C) 2020 IntellectualSites
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.plotsquared.core.util;
-
-import com.sk89q.worldedit.world.block.BlockState;
-
-public abstract class LazyBlock {
-
- public abstract BlockState getBlockState();
-
- public String getId() {
- return getBlockState().toString();
- }
-}
diff --git a/Core/src/main/java/com/plotsquared/core/util/LazyResult.java b/Core/src/main/java/com/plotsquared/core/util/LazyResult.java
deleted file mode 100644
index ae2be3a19..000000000
--- a/Core/src/main/java/com/plotsquared/core/util/LazyResult.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * _____ _ _ _____ _
- * | __ \| | | | / ____| | |
- * | |__) | | ___ | |_| (___ __ _ _ _ __ _ _ __ ___ __| |
- * | ___/| |/ _ \| __|\___ \ / _` | | | |/ _` | '__/ _ \/ _` |
- * | | | | (_) | |_ ____) | (_| | |_| | (_| | | | __/ (_| |
- * |_| |_|\___/ \__|_____/ \__, |\__,_|\__,_|_| \___|\__,_|
- * | |
- * |_|
- * PlotSquared plot management system for Minecraft
- * Copyright (C) 2020 IntellectualSites
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.plotsquared.core.util;
-
-public abstract class LazyResult {
-
- private T result;
-
- public T get() {
- return this.result;
- }
-
- public T getOrCreate() {
- if (this.result == null) {
- return this.result = create();
- }
- return this.result;
- }
-
- public abstract T create();
-}
diff --git a/Core/src/main/java/com/plotsquared/core/util/OperationUtil.java b/Core/src/main/java/com/plotsquared/core/util/OperationUtil.java
deleted file mode 100644
index d4eda5ff4..000000000
--- a/Core/src/main/java/com/plotsquared/core/util/OperationUtil.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * _____ _ _ _____ _
- * | __ \| | | | / ____| | |
- * | |__) | | ___ | |_| (___ __ _ _ _ __ _ _ __ ___ __| |
- * | ___/| |/ _ \| __|\___ \ / _` | | | |/ _` | '__/ _ \/ _` |
- * | | | | (_) | |_ ____) | (_| | |_| | (_| | | | __/ (_| |
- * |_| |_|\___/ \__|_____/ \__, |\__,_|\__,_|_| \___|\__,_|
- * | |
- * |_|
- * PlotSquared plot management system for Minecraft
- * Copyright (C) 2020 IntellectualSites
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.plotsquared.core.util;
-
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.plotsquared.core.location.Location;
-import com.plotsquared.core.player.PlotPlayer;
-import com.sk89q.worldedit.EditSession;
-import com.sk89q.worldedit.LocalSession;
-import com.sk89q.worldedit.WorldEdit;
-import com.sk89q.worldedit.entity.Player;
-import com.sk89q.worldedit.extension.platform.Actor;
-import com.sk89q.worldedit.extension.platform.Capability;
-import com.sk89q.worldedit.extension.platform.Platform;
-import com.sk89q.worldedit.world.World;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import java.util.List;
-import java.util.concurrent.Future;
-import java.util.function.Consumer;
-
-public class OperationUtil {
- private static final boolean ASYNC;
-
- static {
- boolean hasFawe = true;
- try {
- Class.forName("com.boydti.fawe.Fawe");
- } catch (ClassNotFoundException ignore) {
- hasFawe = false;
- }
- ASYNC = hasFawe;
- }
-
- private static World getWorld(String worldName) {
- Platform platform =
- WorldEdit.getInstance().getPlatformManager().queryCapability(Capability.WORLD_EDITING);
- List extends World> worlds = platform.getWorlds();
- for (World current : worlds) {
- if (current.getName().equals(worldName)) {
- return current;
- }
- }
- return null;
- }
-
- private static World getWorld(PlotPlayer plotPlayer, Actor actor) {
- World weWorld;
- if (actor instanceof Player) {
- weWorld = ((Player) actor).getWorld();
- } else {
- @Nonnull Location loc = plotPlayer.getLocation();
- String world = loc.getWorldName();
- weWorld = getWorld(world);
- }
- return weWorld;
- }
-
- private static EditSession createEditSession(PlotPlayer plotPlayer) {
- Actor actor = plotPlayer.toActor();
- World weWorld = getWorld(plotPlayer, actor);
- return createEditSession(weWorld, actor);
- }
-
- private static LocalSession getSession(Actor actor) {
- return WorldEdit.getInstance().getSessionManager().get(actor);
- }
-
- private static EditSession createEditSession(World world, Actor actor) {
- return createEditSession(world, actor, getSession(actor));
- }
-
- private static EditSession createEditSession(World world, Actor actor, LocalSession session) {
- EditSession editSession;
- Player player = actor.isPlayer() ? (Player) actor : null;
- editSession =
- WorldEdit.getInstance().getEditSessionFactory().getEditSession(world, -1, null, player);
-
- editSession.setFastMode(!actor.isPlayer());
- editSession.setReorderMode(EditSession.ReorderMode.FAST);
- return editSession;
- }
-
- public Future> withEditSession(@Nonnull PlotPlayer plotPlayer,
- @Nonnull Consumer consumer, @Nullable Consumer exceptionHandler) {
- if (ASYNC) {
- ListeningExecutorService exec = WorldEdit.getInstance().getExecutorService();
- return exec
- .submit(() -> withEditSessionOnThread(plotPlayer, consumer, exceptionHandler));
- } else {
- withEditSessionOnThread(plotPlayer, consumer, exceptionHandler);
- }
- return Futures.immediateFuture(true);
- }
-
- private void withEditSessionOnThread(PlotPlayer plotPlayer, Consumer consumer,
- Consumer exceptionHandler) {
- Actor actor = plotPlayer.toActor();
- World weWorld = getWorld(plotPlayer, actor);
- LocalSession session = getSession(actor);
- try (EditSession ess = createEditSession(weWorld, actor, session)) {
- try {
- consumer.accept(ess);
- } finally {
- ess.close();
- session.remember(ess);
- }
- } catch (Throwable e) {
- if (exceptionHandler != null) {
- exceptionHandler.accept(e);
- } else {
- e.printStackTrace();
- }
- }
- }
-}
diff --git a/Core/src/main/java/com/plotsquared/core/util/PseudoRandom.java b/Core/src/main/java/com/plotsquared/core/util/PseudoRandom.java
deleted file mode 100644
index cb5a2d0c2..000000000
--- a/Core/src/main/java/com/plotsquared/core/util/PseudoRandom.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * _____ _ _ _____ _
- * | __ \| | | | / ____| | |
- * | |__) | | ___ | |_| (___ __ _ _ _ __ _ _ __ ___ __| |
- * | ___/| |/ _ \| __|\___ \ / _` | | | |/ _` | '__/ _ \/ _` |
- * | | | | (_) | |_ ____) | (_| | |_| | (_| | | | __/ (_| |
- * |_| |_|\___/ \__|_____/ \__, |\__,_|\__,_|_| \___|\__,_|
- * | |
- * |_|
- * PlotSquared plot management system for Minecraft
- * Copyright (C) 2020 IntellectualSites
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.plotsquared.core.util;
-
-public class PseudoRandom {
-
- public static final PseudoRandom random = new PseudoRandom();
-
- public long state = System.nanoTime();
-
- public long nextLong() {
- long a = this.state;
- this.state = xorShift64(a);
- return a;
- }
-
- public long xorShift64(long a) {
- a ^= a << 21;
- a ^= a >>> 35;
- a ^= a << 4;
- return a;
- }
-
- public int random(int n) {
- if (n == 1) {
- return 0;
- }
- long r = ((nextLong() >>> 32) * n) >> 32;
- return (int) r;
- }
-}
diff --git a/Core/src/main/java/com/plotsquared/core/util/StringWrapper.java b/Core/src/main/java/com/plotsquared/core/util/StringWrapper.java
deleted file mode 100644
index e2d048346..000000000
--- a/Core/src/main/java/com/plotsquared/core/util/StringWrapper.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * _____ _ _ _____ _
- * | __ \| | | | / ____| | |
- * | |__) | | ___ | |_| (___ __ _ _ _ __ _ _ __ ___ __| |
- * | ___/| |/ _ \| __|\___ \ / _` | | | |/ _` | '__/ _ \/ _` |
- * | | | | (_) | |_ ____) | (_| | |_| | (_| | | | __/ (_| |
- * |_| |_|\___/ \__|_____/ \__, |\__,_|\__,_|_| \___|\__,_|
- * | |
- * |_|
- * PlotSquared plot management system for Minecraft
- * Copyright (C) 2020 IntellectualSites
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.plotsquared.core.util;
-
-/**
- *
- */
-public class StringWrapper {
-
- public final String value;
- private int hash;
-
- /**
- * Constructor
- *
- * @param value to wrap
- */
- public StringWrapper(String value) {
- this.value = value;
- }
-
- /**
- * Check if a wrapped string equals another one
- *
- * @param obj to compare
- * @return true if obj equals the stored value
- */
- @Override public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- if (obj.getClass() == String.class) {
- return obj.toString().equalsIgnoreCase(this.value);
- }
- return false;
- }
- if (obj.hashCode() != hashCode()) {
- return false;
- }
- StringWrapper other = (StringWrapper) obj;
- if ((other.value == null) || (this.value == null)) {
- return false;
- }
- return other.value.equalsIgnoreCase(this.value);
- }
-
- /**
- * Get the string value.
- *
- * @return string value
- */
- @Override public String toString() {
- return this.value;
- }
-
- /**
- * Get the hash value.
- *
- * @return has value
- */
- @Override public int hashCode() {
- if (this.value == null) {
- return 0;
- }
- if (this.hash == 0) {
- this.hash = this.value.toLowerCase().hashCode();
- }
- return this.hash;
- }
-}