From 8093a4a6442574296f24bcd5556c92bb2bf88893 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Elias=20M=C3=BCller?= <elias@elias-mueller.com>
Date: Fri, 30 May 2025 12:44:48 +0200
Subject: [PATCH] various changes for team management

---
 .../appliances/internal/debug/Debug.java      |   4 +-
 .../debug/command/AppliancesCommand.java      |   6 +-
 .../debug/command/UserInfoCommand.java        |   2 +-
 .../internal/titleClear/TitleClear.java       |   2 +-
 .../titleClear/TitleClearListener.java        |   2 +-
 .../metaGameplay/chatMention/ChatMention.java |   4 +-
 .../chatMention/ChatMentionListener.java      |   6 +-
 .../chatMessages/ChatMessages.java            |   2 +-
 .../chatMessages/ChatMessagesListener.java    |   4 +-
 .../metaGameplay/displayName/DisplayName.java |   8 +-
 .../DisplayNameUpdateListener.java            |   2 +-
 .../appliances/metaGameplay/help/Help.java    |   4 +-
 .../help/command/DiscordCommand.java          |   2 +-
 .../help/command/HelpCommand.java             |   2 +-
 .../help/command/SpawnCommand.java            |   2 +-
 .../help/command/TeamspeakCommand.java        |   2 +-
 .../appliances/metaGameplay/infoBars/Bar.java |   2 +-
 .../metaGameplay/infoBars/InfoBarCommand.java |   2 +-
 .../metaGameplay/infoBars/InfoBars.java       |   6 +-
 .../infoBars/ShowPreviousBarsListener.java    |   2 +-
 .../metaGameplay/infoBars/bars/MsptBar.java   |   4 +-
 .../infoBars/bars/PlayerCounterBar.java       |   4 +-
 .../metaGameplay/infoBars/bars/TpsBar.java    |   2 +-
 .../privateMessage/PrivateMessage.java        |   6 +-
 .../commands/PrivateMessageCommand.java       |   2 +-
 .../commands/PrivateReplyCommand.java         |   2 +-
 .../metaGameplay/report/Report.java           |  10 +-
 .../metaGameplay/report/ReportCommand.java    |   4 +-
 .../metaGameplay/report/ReportsCommand.java   |   6 +-
 .../metaGameplay/settings/Settings.java       |   6 +-
 .../settings/SettingsCommand.java             |   2 +-
 .../settings/datatypes/Setting.java           |   4 +-
 .../OpenSettingsShortcutListener.java         |   2 +-
 .../listeners/SettingsInventoryListener.java  |   2 +-
 .../metaGameplay/tablist/Tablist.java         |  12 +-
 .../metaGameplay/tablist/TablistListener.java |   2 +-
 .../appliances/tooling/acInform/AcInform.java |   4 +-
 .../tooling/acInform/AcInformCommand.java     |   2 +-
 .../tooling/adminChat/AdminChat.java          |   4 +-
 .../tooling/adminChat/AdminChatCommand.java   |   2 +-
 .../appliances/tooling/chatMute/ChatMute.java |   4 +-
 .../tooling/chatMute/ChatMuteListener.java    |   4 +-
 .../tooling/chatMute/MuteCommand.java         |   2 +-
 .../tooling/endPrevent/EndPrevent.java        |   6 +-
 .../tooling/endPrevent/EndPreventCommand.java |   2 +-
 .../endPrevent/EndPreventListener.java        |   2 +-
 .../common/appliances/tooling/kick/Kick.java  |   6 +-
 .../appliances/tooling/kick/KickCommand.java  |   2 +-
 .../tooling/maintenance/Maintenance.java      |   6 +-
 .../maintenance/MaintenanceCommand.java       |   2 +-
 .../PreventMaintenanceJoinListener.java       |   4 +-
 .../appliances/tooling/panicBan/PanicBan.java |   6 +-
 .../tooling/panicBan/PanicBanCommand.java     |   2 +-
 .../panicBan/PanicBanJoinListener.java        |   2 +-
 .../tooling/playerlimit/PlayerLimit.java      |   6 +-
 .../playerlimit/PlayerLimiterListener.java    |   4 +-
 .../playerlimit/SetPlayerLimitCommand.java    |   2 +-
 .../tooling/restart/CancelRestartCommand.java |   2 +-
 .../appliances/tooling/restart/Restart.java   |   8 +-
 .../restart/ScheduleRestartCommand.java       |   2 +-
 .../spawnpoint/SetSpawnpointCommand.java      |   2 +-
 .../spawnpoint/SpawnAtSpawnpointListener.java |   2 +-
 .../tooling/spawnpoint/Spawnpoint.java        |   4 +-
 .../craftattack/{ => spawn}/core/Main.java    |  13 +-
 .../core/api/client/HttpRepository.java       |   6 +-
 .../core/api/client/Repository.java           |   4 +-
 .../core/api/client/RepositoryLoader.java     |  12 +-
 .../{ => spawn}/core/api/client/ReqResp.java  |   2 +-
 .../client/repositories/EventRepository.java  |   8 +-
 .../repositories/FeedbackRepository.java      |   8 +-
 .../client/repositories/ReportRepository.java |   8 +-
 .../repositories/WhitelistRepository.java     |   8 +-
 .../core/api/server/HttpServer.java           |   6 +-
 .../{ => spawn}/core/appliance/Appliance.java |  10 +-
 .../core/appliance/ApplianceCommand.java      |   4 +-
 .../core/appliance/ApplianceListener.java     |   2 +-
 .../appliance/CachedApplianceSupplier.java    |   4 +-
 .../core/appliance/IApplianceSupplier.java    |   2 +-
 .../{ => spawn}/core/config/ConfigUtil.java   |   2 +-
 .../core/config/Configuration.java            |   4 +-
 .../{ => spawn}/core/util/IteratorUtil.java   |   2 +-
 .../{ => spawn}/core/util/NumberUtil.java     |   2 +-
 .../core/util/api/EventApiUtil.java           |   4 +-
 .../{ => spawn}/core/util/api/HttpStatus.java |   2 +-
 .../core/util/api/WebsiteApiUtil.java         |   4 +-
 .../core/util/entity/DisplayVillager.java     |   8 +-
 .../core/util/entity/PlayerUtils.java         |   2 +-
 .../core/util/inventory/HeadBuilder.java      |   2 +-
 .../core/util/inventory/ItemBuilder.java      |   4 +-
 .../core/util/inventory/PlaceholderItems.java |   2 +-
 .../DismissInventoryOpenFromHolder.java       |   2 +-
 .../PlayerInteractAtEntityEventListener.java  |   2 +-
 .../core/util/server/Floodgate.java           |   2 +-
 .../core/util/server/PluginMessage.java       |   4 +-
 .../core/util/statistics/NetworkMonitor.java  |   4 +-
 .../core/util/statistics/ServerMonitor.java   |   2 +-
 .../{ => spawn}/core/util/text/ColorUtil.java |   4 +-
 .../core/util/text/ComponentUtil.java         |   6 +-
 .../{ => spawn}/core/util/text/Countdown.java |   4 +-
 .../core/util/text/DataSizeConverter.java     |   2 +-
 .../core/util/text/DisconnectInfo.java        |   4 +-
 .../core/util/text/NumberAbbreviation.java    |   2 +-
 .../core/util/text/RainbowComponent.java      |   2 +-
 .../core/util/world/BlockCycle.java           |   2 +-
 .../core/util/world/ChunkUtils.java           |   2 +-
 .../core/util/world/InteractSounds.java       |   2 +-
 core/src/main/resources/plugin.yml            |   2 +-
 .../gameplay/antiSignEdit/AntiSignEdit.java   |   2 +-
 .../antiSignEdit/OnSignEditListener.java      |   2 +-
 .../gameplay/autoShulker/AutoShulker.java     |   2 +-
 .../autoShulker/ItemPickupListener.java       |   2 +-
 .../ApplyPendingAdvancementsListener.java     |   2 +-
 .../CustomAdvancements.java                   |   4 +-
 .../CustomAdvancementsListener.java           |   2 +-
 .../gameplay/doubleDoor/DoubleDoor.java       |   2 +-
 .../doubleDoor/OnDoorInteractListener.java    |   2 +-
 .../fleischerchest/Fleischerchest.java        |   2 +-
 .../FleischerchestCraftItemListener.java      |   2 +-
 .../glowingBerries/GlowingBerries.java        |   2 +-
 .../gameplay/glowingBerries/OnBerryEaten.java |   2 +-
 .../gameplay/hotbarRefill/HotbarRefill.java   |   4 +-
 .../hotbarRefill/HotbarRefillListener.java    |   2 +-
 .../gameplay/knockDoor/KnockDoor.java         |   4 +-
 .../gameplay/knockDoor/KnockDoorListener.java |   2 +-
 .../gameplay/outlawed/Outlawed.java           |  10 +-
 .../gameplay/outlawed/OutlawedCommand.java    |   2 +-
 .../outlawed/OutlawedReminderListener.java    |   2 +-
 .../OnCraftingTableUseListener.java           |   2 +-
 .../portableCrafting/PortableCrafting.java    |   2 +-
 .../snowballKnockback/SnowballKnockback.java  |   2 +-
 .../SnowballKnockbackListener.java            |   2 +-
 .../metaGameplay/adminMarker/AdminMarker.java |   2 +-
 .../metaGameplay/afkTag/AfkResetListener.java |   2 +-
 .../metaGameplay/afkTag/AfkTag.java           |   4 +-
 .../event/ApplyPendingRewardsListener.java    |   2 +-
 .../appliances/metaGameplay/event/Event.java  |  28 ++---
 .../event/command/EventAdvertiseCommand.java  |   2 +-
 .../event/command/EventCommand.java           |   2 +-
 .../event/command/EventEndSessionCommand.java |   2 +-
 .../command/EventOpenSessionCommand.java      |   2 +-
 .../command/MoveEventVillagerCommand.java     |   2 +-
 .../metaGameplay/feedback/Feedback.java       |  12 +-
 .../feedback/FeedbackCommand.java             |   6 +-
 .../feedback/RequestFeedbackCommand.java      |   4 +-
 .../metaGameplay/optionLinks/OptionLinks.java |   4 +-
 .../optionLinks/UpdateLinksListener.java      |   2 +-
 .../packSelect/ChangePackCommand.java         |   2 +-
 .../packSelect/PackConfiguration.java         |   6 +-
 .../PackConfigurationInventory.java           |  12 +-
 .../metaGameplay/packSelect/PackSelect.java   |   6 +-
 .../packSelect/PackSelectSetting.java         |   2 +-
 .../packSelect/ResourcePackInfoFactory.java   |   2 +-
 .../listeners/ClickPackInventoryListener.java |   2 +-
 .../listeners/ClosePackInventoryListener.java |   2 +-
 .../listeners/SetPacksOnJoinListener.java     |   4 +-
 .../metaGameplay/playtime/Playtime.java       |   6 +-
 .../playtime/PlaytimeCommand.java             |   4 +-
 .../sleepTag/SleepStateChangeListener.java    |   2 +-
 .../metaGameplay/sleepTag/SleepTag.java       |   4 +-
 .../MoveWorldMuseumVillagerCommand.java       |   2 +-
 .../metaGameplay/worldmuseum/WorldMuseum.java |  14 +--
 .../metaGameplay/yearRank/YearRank.java       |   6 +-
 .../yearRank/YearRankCommand.java             |   2 +-
 .../LightningFireControl.java                 |   2 +-
 .../LightningFireListener.java                |   4 +-
 .../tooling/projectStart/ProjectStart.java    |  18 +--
 .../command/ProjectStartCancelCommand.java    |   2 +-
 .../command/ProjectStartCommand.java          |   2 +-
 .../command/ProjectStartResetCommand.java     |   2 +-
 .../listener/NoAdvancementsListener.java      |   2 +-
 .../listener/PlayerInvincibleListener.java    |   2 +-
 .../tooling/whitelist/PlayerJoinListener.java |   4 +-
 .../tooling/whitelist/Whitelist.java          |  16 +--
 .../ForbiddenEntityListener.java              |   2 +-
 .../forbiddenItems/ForbiddenItems.java        |   2 +-
 .../ForbiddenMaterialListener.java            |   2 +-
 .../ForbiddenPotionsListener.java             |   2 +-
 .../joinProtection/JoinProtection.java        |  13 +-
 .../JoinProtectionListener.java               |   2 +-
 .../netherPrevent/NetherPrevent.java          |   2 +-
 .../netherPrevent/NetherPreventListener.java  |   2 +-
 .../shrinkingBorder/ShrinkingBorder.java      |   8 +-
 .../ShrinkingBorderCommand.java               |   2 +-
 .../ShrinkingBorderListener.java              |   2 +-
 .../teams/ConnectivityChangeListener.java     |  32 +++++
 .../appliances/metaGameplay/teams/Teams.java  | 112 ++++++++++++++++++
 .../metaGameplay/teams/VaroTeam.java          |  78 ++++++++++++
 .../varoDeath/PlayerDeathListener.java        |  24 ++++
 .../metaGameplay/varoDeath/VaroDeath.java     |  39 ++++++
 189 files changed, 649 insertions(+), 358 deletions(-)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/Main.java (90%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/client/HttpRepository.java (96%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/client/Repository.java (86%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/client/RepositoryLoader.java (82%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/client/ReqResp.java (51%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/client/repositories/EventRepository.java (70%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/client/repositories/FeedbackRepository.java (75%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/client/repositories/ReportRepository.java (84%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/client/repositories/WhitelistRepository.java (71%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/api/server/HttpServer.java (94%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/appliance/Appliance.java (93%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/appliance/ApplianceCommand.java (97%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/appliance/ApplianceListener.java (87%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/appliance/CachedApplianceSupplier.java (78%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/appliance/IApplianceSupplier.java (62%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/config/ConfigUtil.java (95%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/config/Configuration.java (90%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/IteratorUtil.java (97%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/NumberUtil.java (88%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/api/EventApiUtil.java (84%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/api/HttpStatus.java (90%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/api/WebsiteApiUtil.java (88%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/entity/DisplayVillager.java (92%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/entity/PlayerUtils.java (94%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/inventory/HeadBuilder.java (93%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/inventory/ItemBuilder.java (95%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/inventory/PlaceholderItems.java (87%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/listener/DismissInventoryOpenFromHolder.java (92%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/listener/PlayerInteractAtEntityEventListener.java (93%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/server/Floodgate.java (96%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/server/PluginMessage.java (82%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/statistics/NetworkMonitor.java (96%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/statistics/ServerMonitor.java (82%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/text/ColorUtil.java (87%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/text/ComponentUtil.java (97%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/text/Countdown.java (97%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/text/DataSizeConverter.java (96%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/text/DisconnectInfo.java (94%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/text/NumberAbbreviation.java (89%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/text/RainbowComponent.java (94%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/world/BlockCycle.java (93%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/world/ChunkUtils.java (92%)
 rename core/src/main/java/eu/mhsl/craftattack/{ => spawn}/core/util/world/InteractSounds.java (94%)
 create mode 100644 varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/ConnectivityChangeListener.java
 create mode 100644 varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/Teams.java
 create mode 100644 varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/VaroTeam.java
 create mode 100644 varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/varoDeath/PlayerDeathListener.java
 create mode 100644 varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/varoDeath/VaroDeath.java

diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/Debug.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/Debug.java
index bbf0510..90d1355 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/Debug.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/Debug.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.internal.debug;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.internal.debug.command.AppliancesCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.internal.debug.command.UserInfoCommand;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/command/AppliancesCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/command/AppliancesCommand.java
index 213fcc6..42cbd1b 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/command/AppliancesCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/command/AppliancesCommand.java
@@ -1,9 +1,9 @@
 package eu.mhsl.craftattack.spawn.common.appliances.internal.debug.command;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.internal.debug.Debug;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.ComponentBuilder;
 import net.kyori.adventure.text.TextComponent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/command/UserInfoCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/command/UserInfoCommand.java
index 8bdf75b..6164c5a 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/command/UserInfoCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/debug/command/UserInfoCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.internal.debug.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.internal.debug.Debug;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.event.ClickEvent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/titleClear/TitleClear.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/titleClear/TitleClear.java
index 274fa86..64cd111 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/titleClear/TitleClear.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/titleClear/TitleClear.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.internal.titleClear;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Listener;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/titleClear/TitleClearListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/titleClear/TitleClearListener.java
index f655f4f..b39dfb1 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/titleClear/TitleClearListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/internal/titleClear/TitleClearListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.internal.titleClear;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerJoinEvent;
 
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMention/ChatMention.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMention/ChatMention.java
index 4290931..964c3d2 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMention/ChatMention.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMention/ChatMention.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.chatMention;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import net.kyori.adventure.sound.Sound;
 import org.bukkit.Bukkit;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMention/ChatMentionListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMention/ChatMentionListener.java
index 86c6ef1..be1fcf5 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMention/ChatMentionListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMention/ChatMentionListener.java
@@ -1,10 +1,10 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.chatMention;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.chatMessages.ChatMessages;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import io.papermc.paper.event.player.AsyncChatDecorateEvent;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMessages/ChatMessages.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMessages/ChatMessages.java
index 55c8c62..664a8ff 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMessages/ChatMessages.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMessages/ChatMessages.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.chatMessages;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.event.ClickEvent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMessages/ChatMessagesListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMessages/ChatMessagesListener.java
index 5773bc8..6d3f6d1 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMessages/ChatMessagesListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/chatMessages/ChatMessagesListener.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.chatMessages;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
-import eu.mhsl.craftattack.core.util.IteratorUtil;
+import eu.mhsl.craftattack.spawn.core.util.IteratorUtil;
 import io.papermc.paper.event.player.AsyncChatEvent;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/displayName/DisplayName.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/displayName/DisplayName.java
index 6cc5ac4..2e9ec2d 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/displayName/DisplayName.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/displayName/DisplayName.java
@@ -1,9 +1,9 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.util.server.Floodgate;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.util.server.Floodgate;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.ComponentBuilder;
 import net.kyori.adventure.text.TextComponent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/displayName/DisplayNameUpdateListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/displayName/DisplayNameUpdateListener.java
index c4ab190..19e6972 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/displayName/DisplayNameUpdateListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/displayName/DisplayNameUpdateListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.EventPriority;
 import org.bukkit.event.player.PlayerJoinEvent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/Help.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/Help.java
index e3969d3..a4d997d 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/Help.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/Help.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.command.DiscordCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.command.HelpCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.command.SpawnCommand;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/DiscordCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/DiscordCommand.java
index f54a4c7..3959546 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/DiscordCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/DiscordCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.Help;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.event.ClickEvent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/HelpCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/HelpCommand.java
index fa6901d..32cc538 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/HelpCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/HelpCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.Help;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/SpawnCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/SpawnCommand.java
index e9cc2f0..a29aef4 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/SpawnCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/SpawnCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.Help;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/TeamspeakCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/TeamspeakCommand.java
index 6d2bd71..99bb450 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/TeamspeakCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/help/command/TeamspeakCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.help.Help;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/Bar.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/Bar.java
index 71a46cc..d98ee51 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/Bar.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/Bar.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import net.kyori.adventure.bossbar.BossBar;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.util.Ticks;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/InfoBarCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/InfoBarCommand.java
index e00bc8b..4c7ca9c 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/InfoBarCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/InfoBarCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/InfoBars.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/InfoBars.java
index 682665e..b4d4fab 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/InfoBars.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/InfoBars.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.bars.MsptBar;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.bars.PlayerCounterBar;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.bars.TpsBar;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/ShowPreviousBarsListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/ShowPreviousBarsListener.java
index 5898d4e..401b4ea 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/ShowPreviousBarsListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/ShowPreviousBarsListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerJoinEvent;
 
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/MsptBar.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/MsptBar.java
index c764793..d7e6b87 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/MsptBar.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/MsptBar.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.bars;
 
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.Bar;
-import eu.mhsl.craftattack.core.util.statistics.ServerMonitor;
-import eu.mhsl.craftattack.core.util.text.ColorUtil;
+import eu.mhsl.craftattack.spawn.core.util.statistics.ServerMonitor;
+import eu.mhsl.craftattack.spawn.core.util.text.ColorUtil;
 import net.kyori.adventure.bossbar.BossBar;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/PlayerCounterBar.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/PlayerCounterBar.java
index 8daf9a1..60743d5 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/PlayerCounterBar.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/PlayerCounterBar.java
@@ -1,9 +1,9 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.bars;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.Bar;
 import eu.mhsl.craftattack.spawn.common.appliances.tooling.playerlimit.PlayerLimit;
-import eu.mhsl.craftattack.core.util.text.ColorUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.ColorUtil;
 import net.kyori.adventure.bossbar.BossBar;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.TextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/TpsBar.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/TpsBar.java
index ea3d71d..f956508 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/TpsBar.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/infoBars/bars/TpsBar.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.bars;
 
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.infoBars.Bar;
-import eu.mhsl.craftattack.core.util.text.ColorUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.ColorUtil;
 import net.kyori.adventure.bossbar.BossBar;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/PrivateMessage.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/PrivateMessage.java
index 2e305e5..a571c53 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/PrivateMessage.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/PrivateMessage.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.privateMessage;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.chatMessages.ChatMessages;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.privateMessage.commands.PrivateMessageCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.privateMessage.commands.PrivateReplyCommand;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/commands/PrivateMessageCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/commands/PrivateMessageCommand.java
index 39766fd..35df21e 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/commands/PrivateMessageCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/commands/PrivateMessageCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.privateMessage.commands;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.privateMessage.PrivateMessage;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/commands/PrivateReplyCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/commands/PrivateReplyCommand.java
index 5c5a0d8..18f430c 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/commands/PrivateReplyCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/privateMessage/commands/PrivateReplyCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.privateMessage.commands;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.privateMessage.PrivateMessage;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/Report.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/Report.java
index 00f560a..bf67c41 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/Report.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/Report.java
@@ -1,10 +1,10 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.report;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.api.client.ReqResp;
-import eu.mhsl.craftattack.core.api.client.repositories.ReportRepository;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
+import eu.mhsl.craftattack.spawn.core.api.client.repositories.ReportRepository;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.ComponentBuilder;
 import net.kyori.adventure.text.TextComponent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/ReportCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/ReportCommand.java
index d1eee37..55802dd 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/ReportCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/ReportCommand.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.report;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import org.bukkit.Bukkit;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.command.Command;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/ReportsCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/ReportsCommand.java
index 14d185e..a3ea21a 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/ReportsCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/report/ReportsCommand.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.report;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import org.bukkit.Bukkit;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/Settings.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/Settings.java
index e069784..593abf8 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/Settings.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/Settings.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.datatypes.Setting;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.listeners.OpenSettingsShortcutListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.listeners.SettingsInventoryListener;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/SettingsCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/SettingsCommand.java
index c68aa7e..db17156 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/SettingsCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/SettingsCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java
index f36af4a..728332d 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/datatypes/Setting.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.datatypes;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.TextComponent;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/listeners/OpenSettingsShortcutListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/listeners/OpenSettingsShortcutListener.java
index 17c5b91..f73c7fc 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/listeners/OpenSettingsShortcutListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/listeners/OpenSettingsShortcutListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.listeners;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerSwapHandItemsEvent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/listeners/SettingsInventoryListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/listeners/SettingsInventoryListener.java
index 776a3c7..d9b5122 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/listeners/SettingsInventoryListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/settings/listeners/SettingsInventoryListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.listeners;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import org.bukkit.entity.Player;
 import org.bukkit.event.EventHandler;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/tablist/Tablist.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/tablist/Tablist.java
index 51dfcb3..8bc403d 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/tablist/Tablist.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/tablist/Tablist.java
@@ -1,13 +1,13 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.tablist;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.report.Report;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
-import eu.mhsl.craftattack.core.util.IteratorUtil;
-import eu.mhsl.craftattack.core.util.statistics.NetworkMonitor;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
-import eu.mhsl.craftattack.core.util.text.RainbowComponent;
+import eu.mhsl.craftattack.spawn.core.util.IteratorUtil;
+import eu.mhsl.craftattack.spawn.core.util.statistics.NetworkMonitor;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.RainbowComponent;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import net.kyori.adventure.util.Ticks;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/tablist/TablistListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/tablist/TablistListener.java
index 0828c41..174c7ea 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/tablist/TablistListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/metaGameplay/tablist/TablistListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.tablist;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerJoinEvent;
 
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/acInform/AcInform.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/acInform/AcInform.java
index 544aa2b..efd5c05 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/acInform/AcInform.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/acInform/AcInform.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.acInform;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.ComponentBuilder;
 import net.kyori.adventure.text.TextComponent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/acInform/AcInformCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/acInform/AcInformCommand.java
index 8892b49..30bfd9b 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/acInform/AcInformCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/acInform/AcInformCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.acInform;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/adminChat/AdminChat.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/adminChat/AdminChat.java
index 8cf1d85..c3786ce 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/adminChat/AdminChat.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/adminChat/AdminChat.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.adminChat;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.event.ClickEvent;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/adminChat/AdminChatCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/adminChat/AdminChatCommand.java
index 47c205a..dfa9fda 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/adminChat/AdminChatCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/adminChat/AdminChatCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.adminChat;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/ChatMute.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/ChatMute.java
index 60f43d0..0ffe686 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/ChatMute.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/ChatMute.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.chatMute;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.NamespacedKey;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Listener;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/ChatMuteListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/ChatMuteListener.java
index 76d9f99..0e57ba2 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/ChatMuteListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/ChatMuteListener.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.chatMute;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
-import eu.mhsl.craftattack.core.util.text.DataSizeConverter;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.util.text.DataSizeConverter;
 import io.papermc.paper.event.player.AsyncChatEvent;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/MuteCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/MuteCommand.java
index 724099f..f9e3d86 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/MuteCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/chatMute/MuteCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.chatMute;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.Bukkit;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPrevent.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPrevent.java
index 7d7e188..cda488b 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPrevent.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPrevent.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.endPrevent;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
 import org.bukkit.Bukkit;
 import org.bukkit.World;
 import org.bukkit.event.Listener;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPreventCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPreventCommand.java
index 8bfe7c6..0787e81 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPreventCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPreventCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.endPrevent;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.command.Command;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPreventListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPreventListener.java
index c15140e..1cbb294 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPreventListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/endPrevent/EndPreventListener.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.endPrevent;
 
 import com.destroystokyo.paper.event.player.PlayerTeleportEndGatewayEvent;
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Material;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/kick/Kick.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/kick/Kick.java
index 6c96b9e..c9b1389 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/kick/Kick.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/kick/Kick.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.kick;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.text.DisconnectInfo;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
 import org.bukkit.Bukkit;
 import org.bukkit.entity.Player;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/kick/KickCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/kick/KickCommand.java
index 6eaaf7c..c9edaac 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/kick/KickCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/kick/KickCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.kick;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.Bukkit;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/Maintenance.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/Maintenance.java
index ab1f3c7..e851a4f 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/Maintenance.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/Maintenance.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.maintenance;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
 import org.bukkit.event.Listener;
 import org.jetbrains.annotations.NotNull;
 
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/MaintenanceCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/MaintenanceCommand.java
index e3b9a0e..11a2ce1 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/MaintenanceCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/MaintenanceCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.maintenance;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.command.Command;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/PreventMaintenanceJoinListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/PreventMaintenanceJoinListener.java
index b311cea..b50671d 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/PreventMaintenanceJoinListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/maintenance/PreventMaintenanceJoinListener.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.maintenance;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
-import eu.mhsl.craftattack.core.util.text.DisconnectInfo;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerLoginEvent;
 
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBan.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBan.java
index 2d3ba0f..a0602de 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBan.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBan.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.panicBan;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.text.DisconnectInfo;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
 import org.bukkit.Bukkit;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Listener;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBanCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBanCommand.java
index 874eb1b..445efbb 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBanCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBanCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.panicBan;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.Bukkit;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.command.Command;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBanJoinListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBanJoinListener.java
index 62a3a96..5377fcd 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBanJoinListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/panicBan/PanicBanJoinListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.panicBan;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
 
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/PlayerLimit.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/PlayerLimit.java
index 8a00d55..7c83f59 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/PlayerLimit.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/PlayerLimit.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.playerlimit;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
 import org.bukkit.Bukkit;
 import org.bukkit.event.Listener;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/PlayerLimiterListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/PlayerLimiterListener.java
index 7c30fc6..9af9203 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/PlayerLimiterListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/PlayerLimiterListener.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.playerlimit;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
-import eu.mhsl.craftattack.core.util.text.DisconnectInfo;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
 import org.bukkit.Bukkit;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/SetPlayerLimitCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/SetPlayerLimitCommand.java
index 5d81279..75f2403 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/SetPlayerLimitCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/playerlimit/SetPlayerLimitCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.playerlimit;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.command.Command;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/CancelRestartCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/CancelRestartCommand.java
index 37be852..eee622c 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/CancelRestartCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/CancelRestartCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.restart;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/Restart.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/Restart.java
index 4a7ae71..8987eae 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/Restart.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/Restart.java
@@ -1,9 +1,9 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.restart;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.IteratorUtil;
-import eu.mhsl.craftattack.core.util.text.Countdown;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.IteratorUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.Countdown;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Bukkit;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/ScheduleRestartCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/ScheduleRestartCommand.java
index 731ff55..5046bb1 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/ScheduleRestartCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/restart/ScheduleRestartCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.restart;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/SetSpawnpointCommand.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/SetSpawnpointCommand.java
index ffea3a5..02df5d3 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/SetSpawnpointCommand.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/SetSpawnpointCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.spawnpoint;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.command.Command;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/SpawnAtSpawnpointListener.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/SpawnAtSpawnpointListener.java
index bef5717..941136c 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/SpawnAtSpawnpointListener.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/SpawnAtSpawnpointListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.spawnpoint;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerJoinEvent;
 import org.bukkit.event.player.PlayerRespawnEvent;
diff --git a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/Spawnpoint.java b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/Spawnpoint.java
index c5fa827..c619fdf 100644
--- a/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/Spawnpoint.java
+++ b/common/src/main/java/eu/mhsl/craftattack/spawn/common/appliances/tooling/spawnpoint/Spawnpoint.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.common.appliances.tooling.spawnpoint;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.Bukkit;
 import org.bukkit.Location;
 import org.bukkit.NamespacedKey;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/Main.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/Main.java
similarity index 90%
rename from core/src/main/java/eu/mhsl/craftattack/core/Main.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/Main.java
index c1bc84b..6eaa8ec 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/Main.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/Main.java
@@ -1,9 +1,9 @@
-package eu.mhsl.craftattack.core;
+package eu.mhsl.craftattack.spawn.core;
 
-import eu.mhsl.craftattack.core.api.client.RepositoryLoader;
-import eu.mhsl.craftattack.core.api.server.HttpServer;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.api.client.RepositoryLoader;
+import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
 import org.bukkit.Bukkit;
 import org.bukkit.event.HandlerList;
 import org.bukkit.plugin.java.JavaPlugin;
@@ -16,6 +16,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 public final class Main extends JavaPlugin {
+    public static final String projectPackage = "eu.mhsl.craftattack.spawn";
     private static Main instance;
     private static Logger logger;
 
@@ -41,7 +42,7 @@ public final class Main extends JavaPlugin {
         List<String> disabledAppliances = Configuration.pluginConfig.getStringList("disabledAppliances");
 
         Main.logger().info("Initializing reflections...");
-        this.reflections = new Reflections("eu.mhsl.craftattack.spawn");
+        this.reflections = new Reflections(projectPackage);
 
         Main.logger().info("Loading Repositories...");
         this.repositoryLoader = new RepositoryLoader();
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/client/HttpRepository.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/HttpRepository.java
similarity index 96%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/client/HttpRepository.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/HttpRepository.java
index d993aae..8d8b7dd 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/client/HttpRepository.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/HttpRepository.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.api.client;
+package eu.mhsl.craftattack.spawn.core.api.client;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import org.apache.http.client.utils.URIBuilder;
 import org.jetbrains.annotations.Nullable;
 
@@ -12,7 +12,7 @@ import java.net.http.HttpRequest;
 import java.net.http.HttpResponse;
 import java.util.function.Consumer;
 
-@RepositoryLoader.IgnoreRepository
+@RepositoryLoader.Abstraction
 public abstract class HttpRepository extends Repository {
     private final Consumer<URIBuilder> baseUriBuilder;
 
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/client/Repository.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/Repository.java
similarity index 86%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/client/Repository.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/Repository.java
index 91c02bd..b0eee01 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/client/Repository.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/Repository.java
@@ -1,7 +1,7 @@
-package eu.mhsl.craftattack.core.api.client;
+package eu.mhsl.craftattack.spawn.core.api.client;
 
 import com.google.gson.Gson;
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import org.bukkit.Bukkit;
 
 import java.net.URI;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/client/RepositoryLoader.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/RepositoryLoader.java
similarity index 82%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/client/RepositoryLoader.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/RepositoryLoader.java
index b6c67c0..f5495db 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/client/RepositoryLoader.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/RepositoryLoader.java
@@ -1,5 +1,6 @@
-package eu.mhsl.craftattack.core.api.client;
+package eu.mhsl.craftattack.spawn.core.api.client;
 
+import eu.mhsl.craftattack.spawn.core.Main;
 import org.apache.commons.lang3.NotImplementedException;
 import org.reflections.Reflections;
 
@@ -12,16 +13,19 @@ import java.util.Set;
 public class RepositoryLoader {
     private final List<Repository> repositories;
 
+    /**
+     * Defines a repository as an abstraction and will not be loaded by this RepositoryLoader
+     */
     @Retention(RetentionPolicy.RUNTIME)
-    public @interface IgnoreRepository {
+    public @interface Abstraction {
     }
 
     public RepositoryLoader() {
-        Reflections reflections = new Reflections(this.getClass().getPackageName());
+        Reflections reflections = new Reflections(Main.projectPackage);
         Set<Class<? extends Repository>> repositories = reflections.getSubTypesOf(Repository.class);
 
         this.repositories = repositories.stream()
-            .filter(repository -> !repository.isAnnotationPresent(IgnoreRepository.class))
+            .filter(repository -> !repository.isAnnotationPresent(Abstraction.class))
             .map(repository -> {
                 try {
                     return (Repository) repository.getDeclaredConstructor().newInstance();
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/client/ReqResp.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/ReqResp.java
similarity index 51%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/client/ReqResp.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/ReqResp.java
index d6fadbb..71aa0b3 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/client/ReqResp.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/ReqResp.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.api.client;
+package eu.mhsl.craftattack.spawn.core.api.client;
 
 public record ReqResp<TData>(int status, TData data) {
 }
\ No newline at end of file
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/EventRepository.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/EventRepository.java
similarity index 70%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/EventRepository.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/EventRepository.java
index 2112307..2c586f2 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/EventRepository.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/EventRepository.java
@@ -1,8 +1,8 @@
-package eu.mhsl.craftattack.core.api.client.repositories;
+package eu.mhsl.craftattack.spawn.core.api.client.repositories;
 
-import eu.mhsl.craftattack.core.api.client.HttpRepository;
-import eu.mhsl.craftattack.core.api.client.ReqResp;
-import eu.mhsl.craftattack.core.util.api.EventApiUtil;
+import eu.mhsl.craftattack.spawn.core.api.client.HttpRepository;
+import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
+import eu.mhsl.craftattack.spawn.core.util.api.EventApiUtil;
 
 import java.util.UUID;
 
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/FeedbackRepository.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/FeedbackRepository.java
similarity index 75%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/FeedbackRepository.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/FeedbackRepository.java
index cddedf1..fc9b05c 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/FeedbackRepository.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/FeedbackRepository.java
@@ -1,9 +1,9 @@
-package eu.mhsl.craftattack.core.api.client.repositories;
+package eu.mhsl.craftattack.spawn.core.api.client.repositories;
 
 import com.google.common.reflect.TypeToken;
-import eu.mhsl.craftattack.core.api.client.HttpRepository;
-import eu.mhsl.craftattack.core.api.client.ReqResp;
-import eu.mhsl.craftattack.core.util.api.WebsiteApiUtil;
+import eu.mhsl.craftattack.spawn.core.api.client.HttpRepository;
+import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
+import eu.mhsl.craftattack.spawn.core.util.api.WebsiteApiUtil;
 
 import java.lang.reflect.Type;
 import java.util.List;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/ReportRepository.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/ReportRepository.java
similarity index 84%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/ReportRepository.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/ReportRepository.java
index 87a3227..ee24487 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/ReportRepository.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/ReportRepository.java
@@ -1,8 +1,8 @@
-package eu.mhsl.craftattack.core.api.client.repositories;
+package eu.mhsl.craftattack.spawn.core.api.client.repositories;
 
-import eu.mhsl.craftattack.core.api.client.HttpRepository;
-import eu.mhsl.craftattack.core.api.client.ReqResp;
-import eu.mhsl.craftattack.core.util.api.WebsiteApiUtil;
+import eu.mhsl.craftattack.spawn.core.api.client.HttpRepository;
+import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
+import eu.mhsl.craftattack.spawn.core.util.api.WebsiteApiUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/WhitelistRepository.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/WhitelistRepository.java
similarity index 71%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/WhitelistRepository.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/WhitelistRepository.java
index 6ba3be4..bc3e207 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/client/repositories/WhitelistRepository.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/client/repositories/WhitelistRepository.java
@@ -1,8 +1,8 @@
-package eu.mhsl.craftattack.core.api.client.repositories;
+package eu.mhsl.craftattack.spawn.core.api.client.repositories;
 
-import eu.mhsl.craftattack.core.api.client.HttpRepository;
-import eu.mhsl.craftattack.core.api.client.ReqResp;
-import eu.mhsl.craftattack.core.util.api.WebsiteApiUtil;
+import eu.mhsl.craftattack.spawn.core.api.client.HttpRepository;
+import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
+import eu.mhsl.craftattack.spawn.core.util.api.WebsiteApiUtil;
 
 import java.util.UUID;
 
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/api/server/HttpServer.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/server/HttpServer.java
similarity index 94%
rename from core/src/main/java/eu/mhsl/craftattack/core/api/server/HttpServer.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/api/server/HttpServer.java
index a3ba31a..6c2ba8b 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/api/server/HttpServer.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/api/server/HttpServer.java
@@ -1,8 +1,8 @@
-package eu.mhsl.craftattack.core.api.server;
+package eu.mhsl.craftattack.spawn.core.api.server;
 
 import com.google.gson.Gson;
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import org.bukkit.configuration.ConfigurationSection;
 import spark.Request;
 import spark.Spark;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/appliance/Appliance.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/Appliance.java
similarity index 93%
rename from core/src/main/java/eu/mhsl/craftattack/core/appliance/Appliance.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/Appliance.java
index cc6da11..05eb73a 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/appliance/Appliance.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/Appliance.java
@@ -1,9 +1,9 @@
-package eu.mhsl.craftattack.core.appliance;
+package eu.mhsl.craftattack.spawn.core.appliance;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.api.client.Repository;
-import eu.mhsl.craftattack.core.api.server.HttpServer;
-import eu.mhsl.craftattack.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.api.client.Repository;
+import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
 import org.bukkit.Bukkit;
 import org.bukkit.command.PluginCommand;
 import org.bukkit.configuration.ConfigurationSection;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/appliance/ApplianceCommand.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/ApplianceCommand.java
similarity index 97%
rename from core/src/main/java/eu/mhsl/craftattack/core/appliance/ApplianceCommand.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/ApplianceCommand.java
index 1bfc16d..0de6055 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/appliance/ApplianceCommand.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/ApplianceCommand.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.appliance;
+package eu.mhsl.craftattack.spawn.core.appliance;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.command.Command;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/appliance/ApplianceListener.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/ApplianceListener.java
similarity index 87%
rename from core/src/main/java/eu/mhsl/craftattack/core/appliance/ApplianceListener.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/ApplianceListener.java
index 4478bbb..552fe25 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/appliance/ApplianceListener.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/ApplianceListener.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.appliance;
+package eu.mhsl.craftattack.spawn.core.appliance;
 
 import org.bukkit.event.Listener;
 
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/appliance/CachedApplianceSupplier.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/CachedApplianceSupplier.java
similarity index 78%
rename from core/src/main/java/eu/mhsl/craftattack/core/appliance/CachedApplianceSupplier.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/CachedApplianceSupplier.java
index da5601e..08f1801 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/appliance/CachedApplianceSupplier.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/CachedApplianceSupplier.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.appliance;
+package eu.mhsl.craftattack.spawn.core.appliance;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 
 public class CachedApplianceSupplier<T extends Appliance> implements IApplianceSupplier<T> {
     private final T appliance;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/appliance/IApplianceSupplier.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/IApplianceSupplier.java
similarity index 62%
rename from core/src/main/java/eu/mhsl/craftattack/core/appliance/IApplianceSupplier.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/IApplianceSupplier.java
index add0939..bd390a3 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/appliance/IApplianceSupplier.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/appliance/IApplianceSupplier.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.appliance;
+package eu.mhsl.craftattack.spawn.core.appliance;
 
 public interface IApplianceSupplier<T extends Appliance> {
     T getAppliance();
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/config/ConfigUtil.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/config/ConfigUtil.java
similarity index 95%
rename from core/src/main/java/eu/mhsl/craftattack/core/config/ConfigUtil.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/config/ConfigUtil.java
index 8eee7b1..014795c 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/config/ConfigUtil.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/config/ConfigUtil.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.config;
+package eu.mhsl.craftattack.spawn.core.config;
 
 import org.bukkit.Bukkit;
 import org.bukkit.Location;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/config/Configuration.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/config/Configuration.java
similarity index 90%
rename from core/src/main/java/eu/mhsl/craftattack/core/config/Configuration.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/config/Configuration.java
index 169384d..dabd53b 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/config/Configuration.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/config/Configuration.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.config;
+package eu.mhsl.craftattack.spawn.core.config;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import org.bukkit.configuration.ConfigurationSection;
 import org.bukkit.configuration.file.FileConfiguration;
 import org.bukkit.configuration.file.YamlConfiguration;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/IteratorUtil.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/IteratorUtil.java
similarity index 97%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/IteratorUtil.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/IteratorUtil.java
index f582d7e..336724c 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/IteratorUtil.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/IteratorUtil.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util;
+package eu.mhsl.craftattack.spawn.core.util;
 
 import org.bukkit.Bukkit;
 import org.bukkit.GameRule;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/NumberUtil.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/NumberUtil.java
similarity index 88%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/NumberUtil.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/NumberUtil.java
index 45898b9..9e8cd8d 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/NumberUtil.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/NumberUtil.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util;
+package eu.mhsl.craftattack.spawn.core.util;
 
 public class NumberUtil {
     public static double map(double oldValue, double oldMin, double oldMax, double newMin, double newMax) {
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/api/EventApiUtil.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/EventApiUtil.java
similarity index 84%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/api/EventApiUtil.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/EventApiUtil.java
index af069e8..ffd8932 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/api/EventApiUtil.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/EventApiUtil.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.util.api;
+package eu.mhsl.craftattack.spawn.core.util.api;
 
-import eu.mhsl.craftattack.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
 import org.bukkit.configuration.ConfigurationSection;
 
 import java.net.URI;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/api/HttpStatus.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/HttpStatus.java
similarity index 90%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/api/HttpStatus.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/HttpStatus.java
index cb61e32..7c0ae69 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/api/HttpStatus.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/HttpStatus.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.api;
+package eu.mhsl.craftattack.spawn.core.util.api;
 
 public class HttpStatus {
     public static final int OK = 200;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/api/WebsiteApiUtil.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/WebsiteApiUtil.java
similarity index 88%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/api/WebsiteApiUtil.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/WebsiteApiUtil.java
index 927d0a0..a242549 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/api/WebsiteApiUtil.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/api/WebsiteApiUtil.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.util.api;
+package eu.mhsl.craftattack.spawn.core.util.api;
 
-import eu.mhsl.craftattack.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
 import org.apache.http.client.utils.URIBuilder;
 import org.bukkit.configuration.ConfigurationSection;
 
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/entity/DisplayVillager.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/entity/DisplayVillager.java
similarity index 92%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/entity/DisplayVillager.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/entity/DisplayVillager.java
index ef4aa3a..8970b21 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/entity/DisplayVillager.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/entity/DisplayVillager.java
@@ -1,8 +1,8 @@
-package eu.mhsl.craftattack.core.util.entity;
+package eu.mhsl.craftattack.spawn.core.util.entity;
 
-import eu.mhsl.craftattack.core.config.ConfigUtil;
-import eu.mhsl.craftattack.core.config.Configuration;
-import eu.mhsl.craftattack.core.util.world.ChunkUtils;
+import eu.mhsl.craftattack.spawn.core.config.ConfigUtil;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.util.world.ChunkUtils;
 import org.bukkit.Location;
 import org.bukkit.configuration.ConfigurationSection;
 import org.bukkit.entity.EntityType;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/entity/PlayerUtils.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/entity/PlayerUtils.java
similarity index 94%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/entity/PlayerUtils.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/entity/PlayerUtils.java
index 1d14bcf..41c5914 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/entity/PlayerUtils.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/entity/PlayerUtils.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.entity;
+package eu.mhsl.craftattack.spawn.core.util.entity;
 
 import org.bukkit.Material;
 import org.bukkit.Statistic;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/inventory/HeadBuilder.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/HeadBuilder.java
similarity index 93%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/inventory/HeadBuilder.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/HeadBuilder.java
index 46fe7e7..b0e030e 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/inventory/HeadBuilder.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/HeadBuilder.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.inventory;
+package eu.mhsl.craftattack.spawn.core.util.inventory;
 
 import com.destroystokyo.paper.profile.PlayerProfile;
 import com.destroystokyo.paper.profile.ProfileProperty;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/inventory/ItemBuilder.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/ItemBuilder.java
similarity index 95%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/inventory/ItemBuilder.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/ItemBuilder.java
index c761632..4349f0a 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/inventory/ItemBuilder.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/ItemBuilder.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.util.inventory;
+package eu.mhsl.craftattack.spawn.core.util.inventory;
 
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Material;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/inventory/PlaceholderItems.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/PlaceholderItems.java
similarity index 87%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/inventory/PlaceholderItems.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/PlaceholderItems.java
index 32e0a2d..2373fbe 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/inventory/PlaceholderItems.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/inventory/PlaceholderItems.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.inventory;
+package eu.mhsl.craftattack.spawn.core.util.inventory;
 
 import net.kyori.adventure.text.Component;
 import org.bukkit.Material;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/listener/DismissInventoryOpenFromHolder.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/listener/DismissInventoryOpenFromHolder.java
similarity index 92%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/listener/DismissInventoryOpenFromHolder.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/listener/DismissInventoryOpenFromHolder.java
index df9b66c..7c0c136 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/listener/DismissInventoryOpenFromHolder.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/listener/DismissInventoryOpenFromHolder.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.listener;
+package eu.mhsl.craftattack.spawn.core.util.listener;
 
 import org.bukkit.entity.Entity;
 import org.bukkit.event.EventHandler;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/listener/PlayerInteractAtEntityEventListener.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/listener/PlayerInteractAtEntityEventListener.java
similarity index 93%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/listener/PlayerInteractAtEntityEventListener.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/listener/PlayerInteractAtEntityEventListener.java
index 56361ec..c8ff46b 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/listener/PlayerInteractAtEntityEventListener.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/listener/PlayerInteractAtEntityEventListener.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.listener;
+package eu.mhsl.craftattack.spawn.core.util.listener;
 
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.Listener;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/server/Floodgate.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/server/Floodgate.java
similarity index 96%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/server/Floodgate.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/server/Floodgate.java
index 53c5795..b71cc09 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/server/Floodgate.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/server/Floodgate.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.server;
+package eu.mhsl.craftattack.spawn.core.util.server;
 
 import org.bukkit.entity.Player;
 import org.geysermc.cumulus.form.SimpleForm;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/server/PluginMessage.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/server/PluginMessage.java
similarity index 82%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/server/PluginMessage.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/server/PluginMessage.java
index 54ce0a9..333a751 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/server/PluginMessage.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/server/PluginMessage.java
@@ -1,8 +1,8 @@
-package eu.mhsl.craftattack.core.util.server;
+package eu.mhsl.craftattack.spawn.core.util.server;
 
 import com.google.common.io.ByteArrayDataOutput;
 import com.google.common.io.ByteStreams;
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import org.bukkit.entity.Player;
 
 public class PluginMessage {
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/statistics/NetworkMonitor.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/statistics/NetworkMonitor.java
similarity index 96%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/statistics/NetworkMonitor.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/statistics/NetworkMonitor.java
index 250db58..55a625d 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/statistics/NetworkMonitor.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/statistics/NetworkMonitor.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.util.statistics;
+package eu.mhsl.craftattack.spawn.core.util.statistics;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import net.kyori.adventure.util.Ticks;
 import org.bukkit.Bukkit;
 import org.bukkit.scheduler.BukkitTask;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/statistics/ServerMonitor.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/statistics/ServerMonitor.java
similarity index 82%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/statistics/ServerMonitor.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/statistics/ServerMonitor.java
index a2124b8..9783095 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/statistics/ServerMonitor.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/statistics/ServerMonitor.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.statistics;
+package eu.mhsl.craftattack.spawn.core.util.statistics;
 
 import org.bukkit.Bukkit;
 
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/text/ColorUtil.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/ColorUtil.java
similarity index 87%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/text/ColorUtil.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/ColorUtil.java
index ccec20f..2ee0186 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/text/ColorUtil.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/ColorUtil.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.util.text;
+package eu.mhsl.craftattack.spawn.core.util.text;
 
-import eu.mhsl.craftattack.core.util.NumberUtil;
+import eu.mhsl.craftattack.spawn.core.util.NumberUtil;
 import net.kyori.adventure.text.format.TextColor;
 
 import java.awt.*;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/text/ComponentUtil.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/ComponentUtil.java
similarity index 97%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/text/ComponentUtil.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/ComponentUtil.java
index 3f75262..6be7844 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/text/ComponentUtil.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/ComponentUtil.java
@@ -1,7 +1,7 @@
-package eu.mhsl.craftattack.core.util.text;
+package eu.mhsl.craftattack.spawn.core.util.text;
 
-import eu.mhsl.craftattack.core.util.statistics.NetworkMonitor;
-import eu.mhsl.craftattack.core.util.statistics.ServerMonitor;
+import eu.mhsl.craftattack.spawn.core.util.statistics.NetworkMonitor;
+import eu.mhsl.craftattack.spawn.core.util.statistics.ServerMonitor;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.ComponentBuilder;
 import net.kyori.adventure.text.TextComponent;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/text/Countdown.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/Countdown.java
similarity index 97%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/text/Countdown.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/Countdown.java
index 700bc9c..bb5c7b0 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/text/Countdown.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/Countdown.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.util.text;
+package eu.mhsl.craftattack.spawn.core.util.text;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import net.kyori.adventure.text.Component;
 import org.bukkit.Bukkit;
 
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/text/DataSizeConverter.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/DataSizeConverter.java
similarity index 96%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/text/DataSizeConverter.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/DataSizeConverter.java
index 5b55814..9399b2f 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/text/DataSizeConverter.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/DataSizeConverter.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.text;
+package eu.mhsl.craftattack.spawn.core.util.text;
 
 public class DataSizeConverter {
     public static String convertBytesPerSecond(long bytes) {
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/text/DisconnectInfo.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/DisconnectInfo.java
similarity index 94%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/text/DisconnectInfo.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/DisconnectInfo.java
index 95be233..bb8212e 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/text/DisconnectInfo.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/DisconnectInfo.java
@@ -1,6 +1,6 @@
-package eu.mhsl.craftattack.core.util.text;
+package eu.mhsl.craftattack.spawn.core.util.text;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Bukkit;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/text/NumberAbbreviation.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/NumberAbbreviation.java
similarity index 89%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/text/NumberAbbreviation.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/NumberAbbreviation.java
index c84b68a..e863382 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/text/NumberAbbreviation.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/NumberAbbreviation.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.text;
+package eu.mhsl.craftattack.spawn.core.util.text;
 
 public class NumberAbbreviation {
     public static <T extends Number & Comparable<T>> String abbreviateNumber(T number) {
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/text/RainbowComponent.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/RainbowComponent.java
similarity index 94%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/text/RainbowComponent.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/RainbowComponent.java
index 34a4f5d..9284671 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/text/RainbowComponent.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/text/RainbowComponent.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.text;
+package eu.mhsl.craftattack.spawn.core.util.text;
 
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.TextColor;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/world/BlockCycle.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/BlockCycle.java
similarity index 93%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/world/BlockCycle.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/BlockCycle.java
index c96b758..4c05251 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/world/BlockCycle.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/BlockCycle.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.world;
+package eu.mhsl.craftattack.spawn.core.util.world;
 
 import org.bukkit.Location;
 import org.bukkit.Material;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/world/ChunkUtils.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/ChunkUtils.java
similarity index 92%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/world/ChunkUtils.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/ChunkUtils.java
index 0ac5f7b..66fdc60 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/world/ChunkUtils.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/ChunkUtils.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.world;
+package eu.mhsl.craftattack.spawn.core.util.world;
 
 import org.bukkit.Chunk;
 import org.bukkit.Location;
diff --git a/core/src/main/java/eu/mhsl/craftattack/core/util/world/InteractSounds.java b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/InteractSounds.java
similarity index 94%
rename from core/src/main/java/eu/mhsl/craftattack/core/util/world/InteractSounds.java
rename to core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/InteractSounds.java
index 44b7057..eda553e 100644
--- a/core/src/main/java/eu/mhsl/craftattack/core/util/world/InteractSounds.java
+++ b/core/src/main/java/eu/mhsl/craftattack/spawn/core/util/world/InteractSounds.java
@@ -1,4 +1,4 @@
-package eu.mhsl.craftattack.core.util.world;
+package eu.mhsl.craftattack.spawn.core.util.world;
 
 import net.kyori.adventure.key.Key;
 import net.kyori.adventure.sound.Sound;
diff --git a/core/src/main/resources/plugin.yml b/core/src/main/resources/plugin.yml
index ce018ff..40e86e9 100644
--- a/core/src/main/resources/plugin.yml
+++ b/core/src/main/resources/plugin.yml
@@ -2,7 +2,7 @@ name: spawn
 description: modular base-plugin for mhsl server projects
 version: '0'
 api-version: '1.21'
-main: eu.mhsl.craftattack.core.Main
+main: eu.mhsl.craftattack.spawn.core.Main
 load: POSTWORLD
 prefix: mhsl-spawn
 
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/antiSignEdit/AntiSignEdit.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/antiSignEdit/AntiSignEdit.java
index 715d32b..7a45797 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/antiSignEdit/AntiSignEdit.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/antiSignEdit/AntiSignEdit.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.antiSignEdit;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.datatypes.SelectSetting;
 import net.kyori.adventure.text.Component;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/antiSignEdit/OnSignEditListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/antiSignEdit/OnSignEditListener.java
index 274599c..c20bf51 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/antiSignEdit/OnSignEditListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/antiSignEdit/OnSignEditListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.antiSignEdit;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import io.papermc.paper.event.player.PlayerOpenSignEvent;
 import org.bukkit.block.sign.SignSide;
 import org.bukkit.event.EventHandler;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/autoShulker/AutoShulker.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/autoShulker/AutoShulker.java
index a0b9083..fe5d956 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/autoShulker/AutoShulker.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/autoShulker/AutoShulker.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.autoShulker;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/autoShulker/ItemPickupListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/autoShulker/ItemPickupListener.java
index 399fc45..d6ead8d 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/autoShulker/ItemPickupListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/autoShulker/ItemPickupListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.autoShulker;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.datatypes.SelectSetting;
 import org.bukkit.entity.Player;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/ApplyPendingAdvancementsListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/ApplyPendingAdvancementsListener.java
index 3a5370a..f066334 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/ApplyPendingAdvancementsListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/ApplyPendingAdvancementsListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerJoinEvent;
 
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/CustomAdvancements.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/CustomAdvancements.java
index 1353f09..bd90d30 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/CustomAdvancements.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/CustomAdvancements.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import org.bukkit.Bukkit;
 import org.bukkit.NamespacedKey;
 import org.bukkit.advancement.Advancement;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/CustomAdvancementsListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/CustomAdvancementsListener.java
index fc2352b..8fe3342 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/CustomAdvancementsListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/CustomAdvancementsListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import net.kyori.adventure.text.Component;
 import org.bukkit.Material;
 import org.bukkit.entity.Player;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/doubleDoor/DoubleDoor.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/doubleDoor/DoubleDoor.java
index a157714..e291abf 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/doubleDoor/DoubleDoor.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/doubleDoor/DoubleDoor.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.doubleDoor;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import org.bukkit.block.Block;
 import org.bukkit.block.BlockFace;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/doubleDoor/OnDoorInteractListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/doubleDoor/OnDoorInteractListener.java
index de8a894..90ecf5f 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/doubleDoor/OnDoorInteractListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/doubleDoor/OnDoorInteractListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.doubleDoor;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import org.bukkit.Material;
 import org.bukkit.block.Block;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/fleischerchest/Fleischerchest.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/fleischerchest/Fleischerchest.java
index 14fa42d..8eed90b 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/fleischerchest/Fleischerchest.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/fleischerchest/Fleischerchest.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.fleischerchest;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.TextColor;
 import org.bukkit.event.Listener;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/fleischerchest/FleischerchestCraftItemListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/fleischerchest/FleischerchestCraftItemListener.java
index 33a2553..eb8c703 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/fleischerchest/FleischerchestCraftItemListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/fleischerchest/FleischerchestCraftItemListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.fleischerchest;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.Material;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.inventory.PrepareItemCraftEvent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/glowingBerries/GlowingBerries.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/glowingBerries/GlowingBerries.java
index 1aa9ed5..27b917a 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/glowingBerries/GlowingBerries.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/glowingBerries/GlowingBerries.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.glowingBerries;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import net.kyori.adventure.sound.Sound;
 import net.kyori.adventure.util.Ticks;
 import org.bukkit.entity.Player;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/glowingBerries/OnBerryEaten.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/glowingBerries/OnBerryEaten.java
index acd2b09..00f9ddd 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/glowingBerries/OnBerryEaten.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/glowingBerries/OnBerryEaten.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.glowingBerries;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.Material;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerItemConsumeEvent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/hotbarRefill/HotbarRefill.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/hotbarRefill/HotbarRefill.java
index 5af8180..74ff5f5 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/hotbarRefill/HotbarRefill.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/hotbarRefill/HotbarRefill.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.hotbarRefill;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/hotbarRefill/HotbarRefillListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/hotbarRefill/HotbarRefillListener.java
index b92cd79..0f8a532 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/hotbarRefill/HotbarRefillListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/hotbarRefill/HotbarRefillListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.hotbarRefill;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import org.bukkit.Material;
 import org.bukkit.entity.Player;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/knockDoor/KnockDoor.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/knockDoor/KnockDoor.java
index 6feacfa..4c7e65b 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/knockDoor/KnockDoor.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/knockDoor/KnockDoor.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.knockDoor;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.datatypes.SelectSetting;
 import org.bukkit.*;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/knockDoor/KnockDoorListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/knockDoor/KnockDoorListener.java
index 6be30d0..e1d3cdf 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/knockDoor/KnockDoorListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/knockDoor/KnockDoorListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.knockDoor;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.GameMode;
 import org.bukkit.block.Block;
 import org.bukkit.block.data.type.Door;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/Outlawed.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/Outlawed.java
index c027fcd..682132e 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/Outlawed.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/Outlawed.java
@@ -1,12 +1,12 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.outlawed;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName.DisplayName;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.whitelist.Whitelist;
-import eu.mhsl.craftattack.core.config.Configuration;
-import eu.mhsl.craftattack.core.util.text.DisconnectInfo;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.event.HoverEvent;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/OutlawedCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/OutlawedCommand.java
index d6d3317..6ee8c0c 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/OutlawedCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/OutlawedCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.outlawed;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.command.Command;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/OutlawedReminderListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/OutlawedReminderListener.java
index 5769bc7..9f71a13 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/OutlawedReminderListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/outlawed/OutlawedReminderListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.outlawed;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerJoinEvent;
 
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/portableCrafting/OnCraftingTableUseListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/portableCrafting/OnCraftingTableUseListener.java
index 8dbff58..989933d 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/portableCrafting/OnCraftingTableUseListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/portableCrafting/OnCraftingTableUseListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.portableCrafting;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.Material;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.block.Action;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/portableCrafting/PortableCrafting.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/portableCrafting/PortableCrafting.java
index d56baec..4340dd0 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/portableCrafting/PortableCrafting.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/portableCrafting/PortableCrafting.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.portableCrafting;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Listener;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/snowballKnockback/SnowballKnockback.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/snowballKnockback/SnowballKnockback.java
index 2cf43d3..0f7710a 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/snowballKnockback/SnowballKnockback.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/snowballKnockback/SnowballKnockback.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.snowballKnockback;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import org.bukkit.entity.Entity;
 import org.bukkit.entity.LivingEntity;
 import org.bukkit.event.Listener;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/snowballKnockback/SnowballKnockbackListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/snowballKnockback/SnowballKnockbackListener.java
index a2b8d37..3a33a37 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/snowballKnockback/SnowballKnockbackListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/snowballKnockback/SnowballKnockbackListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.snowballKnockback;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.entity.Entity;
 import org.bukkit.entity.EntityType;
 import org.bukkit.entity.LivingEntity;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/adminMarker/AdminMarker.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/adminMarker/AdminMarker.java
index b2ae54d..32698d9 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/adminMarker/AdminMarker.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/adminMarker/AdminMarker.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.adminMarker;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName.DisplayName;
 import net.kyori.adventure.text.format.TextColor;
 import org.bukkit.Color;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/afkTag/AfkResetListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/afkTag/AfkResetListener.java
index 7133fc0..4c33983 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/afkTag/AfkResetListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/afkTag/AfkResetListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.afkTag;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import io.papermc.paper.event.player.AsyncChatEvent;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerInteractEvent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/afkTag/AfkTag.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/afkTag/AfkTag.java
index a63f4b3..d6bf553 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/afkTag/AfkTag.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/afkTag/AfkTag.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.afkTag;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName.DisplayName;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.event.HoverEvent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/ApplyPendingRewardsListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/ApplyPendingRewardsListener.java
index 35a6cd3..05ac3c0 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/ApplyPendingRewardsListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/ApplyPendingRewardsListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerJoinEvent;
 
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/Event.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/Event.java
index 1f92f22..1837895 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/Event.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/Event.java
@@ -1,21 +1,21 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.api.client.ReqResp;
-import eu.mhsl.craftattack.core.api.client.repositories.EventRepository;
-import eu.mhsl.craftattack.core.api.server.HttpServer;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
+import eu.mhsl.craftattack.spawn.core.api.client.repositories.EventRepository;
+import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements.Advancements;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements.CustomAdvancements;
-import eu.mhsl.craftattack.core.util.IteratorUtil;
-import eu.mhsl.craftattack.core.util.api.HttpStatus;
-import eu.mhsl.craftattack.core.util.entity.DisplayVillager;
-import eu.mhsl.craftattack.core.util.listener.DismissInventoryOpenFromHolder;
-import eu.mhsl.craftattack.core.util.listener.PlayerInteractAtEntityEventListener;
-import eu.mhsl.craftattack.core.util.server.PluginMessage;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
-import eu.mhsl.craftattack.core.util.text.Countdown;
+import eu.mhsl.craftattack.spawn.core.util.IteratorUtil;
+import eu.mhsl.craftattack.spawn.core.util.api.HttpStatus;
+import eu.mhsl.craftattack.spawn.core.util.entity.DisplayVillager;
+import eu.mhsl.craftattack.spawn.core.util.listener.DismissInventoryOpenFromHolder;
+import eu.mhsl.craftattack.spawn.core.util.listener.PlayerInteractAtEntityEventListener;
+import eu.mhsl.craftattack.spawn.core.util.server.PluginMessage;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.Countdown;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.command.*;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventAdvertiseCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventAdvertiseCommand.java
index 68283da..78560d9 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventAdvertiseCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventAdvertiseCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.Event;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventCommand.java
index 3073230..2cdbb6c 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.Event;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventEndSessionCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventEndSessionCommand.java
index 23ad9f3..11e300e 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventEndSessionCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventEndSessionCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.Event;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventOpenSessionCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventOpenSessionCommand.java
index bd66098..e633640 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventOpenSessionCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/EventOpenSessionCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.Event;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/MoveEventVillagerCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/MoveEventVillagerCommand.java
index 697323f..ed57da8 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/MoveEventVillagerCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/command/MoveEventVillagerCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event.Event;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/Feedback.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/Feedback.java
index 7407e0a..dd52b62 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/Feedback.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/Feedback.java
@@ -1,11 +1,11 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.feedback;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.api.client.ReqResp;
-import eu.mhsl.craftattack.core.api.client.repositories.FeedbackRepository;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.api.HttpStatus;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
+import eu.mhsl.craftattack.spawn.core.api.client.repositories.FeedbackRepository;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.api.HttpStatus;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.ComponentBuilder;
 import net.kyori.adventure.text.TextComponent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/FeedbackCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/FeedbackCommand.java
index 9c5933b..a95f0b0 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/FeedbackCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/FeedbackCommand.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.feedback;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import org.bukkit.Bukkit;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/RequestFeedbackCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/RequestFeedbackCommand.java
index 3881f34..bc5df1c 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/RequestFeedbackCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/feedback/RequestFeedbackCommand.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.feedback;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.Bukkit;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/optionLinks/OptionLinks.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/optionLinks/OptionLinks.java
index 1cb64f8..7a867be 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/optionLinks/OptionLinks.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/optionLinks/OptionLinks.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.optionLinks;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Bukkit;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/optionLinks/UpdateLinksListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/optionLinks/UpdateLinksListener.java
index 0e49080..b072f47 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/optionLinks/UpdateLinksListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/optionLinks/UpdateLinksListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.optionLinks;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerJoinEvent;
 
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/ChangePackCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/ChangePackCommand.java
index a46a884..768ff35 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/ChangePackCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/ChangePackCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackConfiguration.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackConfiguration.java
index 711901c..c48642d 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackConfiguration.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackConfiguration.java
@@ -2,9 +2,9 @@ package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import eu.mhsl.craftattack.core.appliance.CachedApplianceSupplier;
-import eu.mhsl.craftattack.core.util.inventory.HeadBuilder;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.appliance.CachedApplianceSupplier;
+import eu.mhsl.craftattack.spawn.core.util.inventory.HeadBuilder;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
 import net.kyori.adventure.resource.ResourcePackInfo;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackConfigurationInventory.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackConfigurationInventory.java
index 75f0560..c3a4c5a 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackConfigurationInventory.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackConfigurationInventory.java
@@ -1,11 +1,11 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.CachedApplianceSupplier;
-import eu.mhsl.craftattack.core.util.IteratorUtil;
-import eu.mhsl.craftattack.core.util.inventory.ItemBuilder;
-import eu.mhsl.craftattack.core.util.inventory.PlaceholderItems;
-import eu.mhsl.craftattack.core.util.world.InteractSounds;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.CachedApplianceSupplier;
+import eu.mhsl.craftattack.spawn.core.util.IteratorUtil;
+import eu.mhsl.craftattack.spawn.core.util.inventory.ItemBuilder;
+import eu.mhsl.craftattack.spawn.core.util.inventory.PlaceholderItems;
+import eu.mhsl.craftattack.spawn.core.util.world.InteractSounds;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Bukkit;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackSelect.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackSelect.java
index 10474b3..9547ad9 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackSelect.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackSelect.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.listeners.ClickPackInventoryListener;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.listeners.ClosePackInventoryListener;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.listeners.SetPacksOnJoinListener;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackSelectSetting.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackSelectSetting.java
index 1cdde2f..21dd943 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackSelectSetting.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/PackSelectSetting.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.CategorizedSetting;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.SettingCategory;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.datatypes.ActionSetting;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/ResourcePackInfoFactory.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/ResourcePackInfoFactory.java
index 799592e..89a6fb2 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/ResourcePackInfoFactory.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/ResourcePackInfoFactory.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect;
 
-import eu.mhsl.craftattack.core.Main;
+import eu.mhsl.craftattack.spawn.core.Main;
 import net.kyori.adventure.resource.ResourcePackInfo;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/ClickPackInventoryListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/ClickPackInventoryListener.java
index 278c077..d7436a4 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/ClickPackInventoryListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/ClickPackInventoryListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.listeners;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.PackSelect;
 import org.bukkit.entity.Player;
 import org.bukkit.event.EventHandler;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/ClosePackInventoryListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/ClosePackInventoryListener.java
index 7f6b2d6..3c58249 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/ClosePackInventoryListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/ClosePackInventoryListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.listeners;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.PackSelect;
 import org.bukkit.entity.Player;
 import org.bukkit.event.EventHandler;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/SetPacksOnJoinListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/SetPacksOnJoinListener.java
index 3848a01..1c5a840 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/SetPacksOnJoinListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/packSelect/listeners/SetPacksOnJoinListener.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.listeners;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.packSelect.PackSelect;
 import org.bukkit.Bukkit;
 import org.bukkit.event.EventHandler;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/playtime/Playtime.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/playtime/Playtime.java
index 2f7979e..a10e363 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/playtime/Playtime.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/playtime/Playtime.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.playtime;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.text.DataSizeConverter;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.text.DataSizeConverter;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import net.kyori.adventure.util.Ticks;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/playtime/PlaytimeCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/playtime/PlaytimeCommand.java
index 11af3e7..bf46c02 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/playtime/PlaytimeCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/playtime/PlaytimeCommand.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.playtime;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Bukkit;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/sleepTag/SleepStateChangeListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/sleepTag/SleepStateChangeListener.java
index 5115fec..ba10173 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/sleepTag/SleepStateChangeListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/sleepTag/SleepStateChangeListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.sleepTag;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.PlayerBedEnterEvent;
 import org.bukkit.event.player.PlayerBedLeaveEvent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/sleepTag/SleepTag.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/sleepTag/SleepTag.java
index 8ec9958..198fbb7 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/sleepTag/SleepTag.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/sleepTag/SleepTag.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.sleepTag;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName.DisplayName;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.event.HoverEvent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/worldmuseum/MoveWorldMuseumVillagerCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/worldmuseum/MoveWorldMuseumVillagerCommand.java
index fea0dc7..afcb39b 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/worldmuseum/MoveWorldMuseumVillagerCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/worldmuseum/MoveWorldMuseumVillagerCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.worldmuseum;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/worldmuseum/WorldMuseum.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/worldmuseum/WorldMuseum.java
index a99d066..1c52b3b 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/worldmuseum/WorldMuseum.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/worldmuseum/WorldMuseum.java
@@ -1,12 +1,12 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.worldmuseum;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.util.entity.DisplayVillager;
-import eu.mhsl.craftattack.core.util.listener.DismissInventoryOpenFromHolder;
-import eu.mhsl.craftattack.core.util.listener.PlayerInteractAtEntityEventListener;
-import eu.mhsl.craftattack.core.util.server.PluginMessage;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.util.entity.DisplayVillager;
+import eu.mhsl.craftattack.spawn.core.util.listener.DismissInventoryOpenFromHolder;
+import eu.mhsl.craftattack.spawn.core.util.listener.PlayerInteractAtEntityEventListener;
+import eu.mhsl.craftattack.spawn.core.util.server.PluginMessage;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Location;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/yearRank/YearRank.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/yearRank/YearRank.java
index 2b06997..1fbd937 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/yearRank/YearRank.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/yearRank/YearRank.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.yearRank;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName.DisplayName;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.TextComponent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/yearRank/YearRankCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/yearRank/YearRankCommand.java
index ce2c193..d3a5daf 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/yearRank/YearRankCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/yearRank/YearRankCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.yearRank;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/lightningFireControl/LightningFireControl.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/lightningFireControl/LightningFireControl.java
index 902a546..998e5f1 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/lightningFireControl/LightningFireControl.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/lightningFireControl/LightningFireControl.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.lightningFireControl;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import org.bukkit.block.Block;
 import org.bukkit.event.Listener;
 import org.jetbrains.annotations.NotNull;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/lightningFireControl/LightningFireListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/lightningFireControl/LightningFireListener.java
index dd343f3..e95f299 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/lightningFireControl/LightningFireListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/lightningFireControl/LightningFireListener.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.lightningFireControl;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.Material;
 import org.bukkit.block.Block;
 import org.bukkit.event.EventHandler;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/ProjectStart.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/ProjectStart.java
index 6f2459c..e75d1ce 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/ProjectStart.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/ProjectStart.java
@@ -1,8 +1,8 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements.Advancements;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements.CustomAdvancements;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.command.ProjectStartCancelCommand;
@@ -10,12 +10,12 @@ import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.com
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.command.ProjectStartResetCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.listener.NoAdvancementsListener;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.listener.PlayerInvincibleListener;
-import eu.mhsl.craftattack.core.config.Configuration;
-import eu.mhsl.craftattack.core.util.IteratorUtil;
-import eu.mhsl.craftattack.core.util.entity.PlayerUtils;
-import eu.mhsl.craftattack.core.util.text.ComponentUtil;
-import eu.mhsl.craftattack.core.util.text.Countdown;
-import eu.mhsl.craftattack.core.util.world.BlockCycle;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.util.IteratorUtil;
+import eu.mhsl.craftattack.spawn.core.util.entity.PlayerUtils;
+import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
+import eu.mhsl.craftattack.spawn.core.util.text.Countdown;
+import eu.mhsl.craftattack.spawn.core.util.world.BlockCycle;
 import net.kyori.adventure.sound.Sound;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartCancelCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartCancelCommand.java
index e0fd19c..6b5c42a 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartCancelCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartCancelCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.ProjectStart;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartCommand.java
index 3eac57c..d98dc6a 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.ProjectStart;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartResetCommand.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartResetCommand.java
index a2c59de..c297e5f 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartResetCommand.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/command/ProjectStartResetCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.command;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.ProjectStart;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/listener/NoAdvancementsListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/listener/NoAdvancementsListener.java
index 3de9621..f7b3dc5 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/listener/NoAdvancementsListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/listener/NoAdvancementsListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.listener;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.ProjectStart;
 import org.bukkit.advancement.Advancement;
 import org.bukkit.advancement.AdvancementProgress;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/listener/PlayerInvincibleListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/listener/PlayerInvincibleListener.java
index c379898..e9bb5e6 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/listener/PlayerInvincibleListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/projectStart/listener/PlayerInvincibleListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.listener;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.projectStart.ProjectStart;
 import io.papermc.paper.event.player.PrePlayerAttackEntityEvent;
 import org.bukkit.entity.Player;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/whitelist/PlayerJoinListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/whitelist/PlayerJoinListener.java
index 53b1057..ad9f8fb 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/whitelist/PlayerJoinListener.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/whitelist/PlayerJoinListener.java
@@ -1,7 +1,7 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.whitelist;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
-import eu.mhsl.craftattack.core.util.text.DisconnectInfo;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
 import org.bukkit.event.player.PlayerLoginEvent;
diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/whitelist/Whitelist.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/whitelist/Whitelist.java
index 205bfe3..56092b5 100644
--- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/whitelist/Whitelist.java
+++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/tooling/whitelist/Whitelist.java
@@ -1,14 +1,14 @@
 package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.whitelist;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.api.client.ReqResp;
-import eu.mhsl.craftattack.core.api.client.repositories.WhitelistRepository;
-import eu.mhsl.craftattack.core.api.server.HttpServer;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
+import eu.mhsl.craftattack.spawn.core.api.client.repositories.WhitelistRepository;
+import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.util.api.HttpStatus;
+import eu.mhsl.craftattack.spawn.core.util.server.Floodgate;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
 import eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.outlawed.Outlawed;
-import eu.mhsl.craftattack.core.util.api.HttpStatus;
-import eu.mhsl.craftattack.core.util.server.Floodgate;
-import eu.mhsl.craftattack.core.util.text.DisconnectInfo;
 import org.bukkit.Bukkit;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Listener;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenEntityListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenEntityListener.java
index 09d7375..07665c8 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenEntityListener.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenEntityListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.forbiddenItems;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import net.kyori.adventure.text.Component;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.entity.EntitySpawnEvent;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenItems.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenItems.java
index 41203ef..97bc71e 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenItems.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenItems.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.forbiddenItems;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import org.bukkit.Material;
 import org.bukkit.entity.Entity;
 import org.bukkit.entity.Villager;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenMaterialListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenMaterialListener.java
index b6b6a6f..f24f15f 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenMaterialListener.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenMaterialListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.forbiddenItems;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import net.kyori.adventure.text.Component;
 import org.bukkit.Material;
 import org.bukkit.entity.Entity;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenPotionsListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenPotionsListener.java
index 9b2c265..e11a17c 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenPotionsListener.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenPotionsListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.forbiddenItems;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import net.kyori.adventure.text.Component;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Cancellable;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtection.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtection.java
index 0e608a7..e395176 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtection.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtection.java
@@ -1,7 +1,8 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.joinProtection;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams.Teams;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.NamedTextColor;
 import net.kyori.adventure.util.Ticks;
@@ -17,7 +18,7 @@ import org.jetbrains.annotations.Nullable;
 import java.util.*;
 
 public class JoinProtection extends Appliance {
-    private static final int resistanceDuration = 10;
+    public static final int resistanceDuration = 10;
 
     static final class Options {
         public boolean wasOnGround = false;
@@ -43,11 +44,11 @@ public class JoinProtection extends Appliance {
     }
 
     public void cancelEvent(Player player, Cancellable event) {
-        if(!this.protectedPlayers.containsKey(player.getUniqueId())) return;
+        var teamCountdown = Main.instance().getAppliance(Teams.class).getTeamJoinCountdown(player);
+        if(teamCountdown.isFree(resistanceDuration)) return;
         event.setCancelled(true);
 
-        Options option = this.protectedPlayers.get(player.getUniqueId());
-        int secondsLeft = Math.abs((int) ((System.currentTimeMillis() - option.joinTime) / 1000) - resistanceDuration);
+        int secondsLeft = Math.abs((int) ((System.currentTimeMillis() - teamCountdown.timestampSince()) / 1000) - resistanceDuration);
         player.sendActionBar(
             Component.text(
                 String.format("Du bist in %d Sekunden angreifbar", secondsLeft),
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtectionListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtectionListener.java
index 301b84a..12ba92b 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtectionListener.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/joinProtection/JoinProtectionListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.joinProtection;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.entity.LivingEntity;
 import org.bukkit.entity.Player;
 import org.bukkit.event.EventHandler;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPrevent.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPrevent.java
index 1bd29fb..6bac585 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPrevent.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPrevent.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.netherPrevent;
 
-import eu.mhsl.craftattack.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
 import org.bukkit.event.Listener;
 import org.jetbrains.annotations.NotNull;
 
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPreventListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPreventListener.java
index c73c14c..6963610 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPreventListener.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPreventListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.netherPrevent;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.world.PortalCreateEvent;
 
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorder.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorder.java
index 33009a0..b9c0525 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorder.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorder.java
@@ -1,9 +1,9 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.shrinkingBorder;
 
-import eu.mhsl.craftattack.core.Main;
-import eu.mhsl.craftattack.core.appliance.Appliance;
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
-import eu.mhsl.craftattack.core.config.Configuration;
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.config.Configuration;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import org.bukkit.Bukkit;
 import org.bukkit.World;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderCommand.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderCommand.java
index 6c91013..c0cca51 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderCommand.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderCommand.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.shrinkingBorder;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceCommand;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceCommand;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
 import org.jetbrains.annotations.NotNull;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderListener.java
index 7a382cb..c5a5580 100644
--- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderListener.java
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/shrinkingBorder/ShrinkingBorderListener.java
@@ -1,6 +1,6 @@
 package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.shrinkingBorder;
 
-import eu.mhsl.craftattack.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
 import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.settings.Settings;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.format.TextColor;
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/ConnectivityChangeListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/ConnectivityChangeListener.java
new file mode 100644
index 0000000..44d59a2
--- /dev/null
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/ConnectivityChangeListener.java
@@ -0,0 +1,32 @@
+package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams;
+
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
+import org.bukkit.event.player.PlayerJoinEvent;
+import org.bukkit.event.player.PlayerQuitEvent;
+
+class ConnectivityChangeListener extends ApplianceListener<Teams> {
+    @EventHandler
+    public void onLogin(AsyncPlayerPreLoginEvent event) {
+        boolean result = this.getAppliance().canLogin(event.getUniqueId());
+        event.kickMessage(new DisconnectInfo(
+            "Kein Teilnehmer",
+            "Du bist nicht als Teilnehmer registriert oder bist ausgeschieden!",
+            "Sollte dies ein Fehler sein, kontaktiere bitte einen Admin.",
+            event.getUniqueId()
+        ).getComponent());
+        if(!result) event.setLoginResult(AsyncPlayerPreLoginEvent.Result.KICK_OTHER);
+    }
+
+    @EventHandler
+    public void onJoin(PlayerJoinEvent event) {
+        this.getAppliance().enforceTeamJoin(event.getPlayer());
+    }
+
+    @EventHandler
+    public void onLeave(PlayerQuitEvent event) {
+        this.getAppliance().enforceTeamLeave(event.getPlayer());
+    }
+}
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/Teams.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/Teams.java
new file mode 100644
index 0000000..88c5d6e
--- /dev/null
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/Teams.java
@@ -0,0 +1,112 @@
+package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams;
+
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
+import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName.DisplayName;
+import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.joinProtection.JoinProtection;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.kyori.adventure.text.format.TextColor;
+import net.kyori.adventure.util.Ticks;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Listener;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.*;
+
+public class Teams extends Appliance implements DisplayName.Prefixed, DisplayName.Colored {
+    private Set<VaroTeam> teams = new HashSet<>() {{
+        this.add(new VaroTeam(
+            new HashSet<>() {{
+               this.add(new VaroTeam.Member(UUID.fromString("3a0a699c-7f0c-319b-839c-ccc8cac8ae63"), false));
+               this.add(new VaroTeam.Member(UUID.fromString("959ed433-14ea-38fe-918b-75b7d09466af"), true));
+            }},
+            "Die Admins",
+            "#0E0E0E"
+        ));
+    }};
+
+    public void refreshTeamList() {
+
+    }
+
+    public boolean canLogin(UUID playerId) {
+        return this.teams.stream()
+            .anyMatch(varoTeam -> varoTeam.hasMember(playerId) && !Objects.requireNonNull(varoTeam.getMemberById(playerId)).isDead);
+    }
+
+    VaroTeam getTeamFromPlayer(UUID playerId) {
+        return this.teams.stream()
+            .filter(varoTeam -> varoTeam.hasMember(playerId))
+            .findFirst()
+            .orElseThrow();
+    }
+
+    public void enforceTeamJoin(Player joinedPlayer) {
+        this.getTeamFromPlayer(joinedPlayer.getUniqueId()).joinCountdown = new VaroTeam.JoinCountdown();
+
+        DisconnectInfo disconnectInfo = new DisconnectInfo(
+            "Teampartner nicht beigetreten",
+            "Deine Verbindung wurde getrennt, da dein Teampartner keine Verbindung zum Server hergestellt hat!",
+            "Bitte sorge dafür, dass alle anderen Teammitglieder eine einwandfreie Internetverbindung haben und melde dich im Zweifel bei einem Admin!",
+            joinedPlayer.getUniqueId()
+        );
+
+        VaroTeam team = this.getTeamFromPlayer(joinedPlayer.getUniqueId());
+        Bukkit.getScheduler().scheduleSyncDelayedTask(
+            Main.instance(),
+            () -> {
+                team.members.stream()
+                    .filter(member -> !member.isDead)
+                    .filter(member -> {
+                        Player p = Bukkit.getPlayer(member.player.getUniqueId());
+                        return p == null || !p.isOnline();
+                    })
+                    .findAny()
+                    .ifPresent(member -> team.kickTeam(disconnectInfo));
+            },
+            Ticks.TICKS_PER_SECOND * (JoinProtection.resistanceDuration / 2)
+        );
+    }
+
+    public void enforceTeamLeave(Player leftPlayer) {
+        DisconnectInfo disconnectInfo = new DisconnectInfo(
+            "Dein Teampartner hat den Server vorzeitig verlassen",
+            "Dein Team erhält daher einen Strike!",
+            "Bitte bleibt stets die vollen 30 Minuten auf dem Server!",
+            leftPlayer.getUniqueId()
+        );
+        VaroTeam team = this.getTeamFromPlayer(leftPlayer.getUniqueId());
+        Bukkit.getScheduler().scheduleSyncDelayedTask(
+            Main.instance(),
+            () -> team.kickTeam(disconnectInfo),
+            Ticks.TICKS_PER_SECOND
+        );
+    }
+
+    public VaroTeam.JoinCountdown getTeamJoinCountdown(Player player) {
+        return this.getTeamFromPlayer(player.getUniqueId()).joinCountdown;
+    }
+
+    @Override
+    public @Nullable TextColor getNameColor(Player player) {
+        return NamedTextColor.WHITE ;
+    }
+
+    @Override
+    public @Nullable Component getNamePrefix(Player player) {
+        VaroTeam team = this.getTeamFromPlayer(player.getUniqueId());
+        return Component.text(
+            String.format("[%s]", team.name),
+            TextColor.fromCSSHexString(team.color)
+        );
+    }
+
+    @Override
+    protected @NotNull List<Listener> listeners() {
+        return List.of(new ConnectivityChangeListener());
+    }
+}
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/VaroTeam.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/VaroTeam.java
new file mode 100644
index 0000000..6891235
--- /dev/null
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/teams/VaroTeam.java
@@ -0,0 +1,78 @@
+package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams;
+
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.Objects;
+import java.util.Set;
+import java.util.UUID;
+
+class VaroTeam {
+    public static class Member {
+        public final OfflinePlayer player;
+        public boolean isDead;
+
+        public Member(UUID playerId, boolean isDead) {
+            this.player = Bukkit.getOfflinePlayer(playerId);
+            this.isDead = isDead;
+        }
+    }
+
+    public record JoinCountdown(long timestampSince) {
+        public JoinCountdown() {
+            this(System.currentTimeMillis());
+        }
+
+        public boolean isFree(int countdownSeconds) {
+            return this.timestampSince < System.currentTimeMillis() - (countdownSeconds * 1000);
+        }
+    }
+
+    public final Set<Member> members;
+    public final UUID teamUuid;
+    public final String name;
+    public final String color;
+
+    public JoinCountdown joinCountdown;
+
+    public VaroTeam(Set<Member> members, String name, String color) {
+        this.teamUuid = UUID.randomUUID();
+        this.members = members;
+        this.name = name;
+        this.color = color;
+    }
+
+    public boolean isTeamDead() {
+        return this.members.stream().allMatch(member -> member.isDead);
+    }
+
+    public boolean hasMember(UUID uuid) {
+        return this.members.stream()
+            .anyMatch(member -> member.player.getUniqueId().equals(uuid));
+    }
+
+    public @Nullable Member getMemberById(UUID uuid) {
+        return this.members.stream()
+            .filter(member -> member.player.getUniqueId().equals(uuid))
+            .findFirst()
+            .orElse(null);
+    }
+
+    public void kickTeam() {
+        this.kickTeam(new DisconnectInfo(
+            "Unbekannter Fehler",
+            "Verbindung wurde aufgrund eines unbekannten Grundes getrennt",
+            "Falls du denkst, dass dies ein Fehler ist, melde dich bei einem Admin!",
+            this.teamUuid
+        ));
+    }
+
+    public void kickTeam(DisconnectInfo disconnectInfo) {
+        this.members.stream()
+            .map(member -> Bukkit.getPlayer(member.player.getUniqueId()))
+            .filter(Objects::nonNull)
+            .forEach(player -> player.kick(disconnectInfo.getComponent()));
+    }
+}
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/varoDeath/PlayerDeathListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/varoDeath/PlayerDeathListener.java
new file mode 100644
index 0000000..f08a6f7
--- /dev/null
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/varoDeath/PlayerDeathListener.java
@@ -0,0 +1,24 @@
+package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.varoDeath;
+
+import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
+import eu.mhsl.craftattack.spawn.core.util.IteratorUtil;
+
+import net.kyori.adventure.sound.Sound;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.entity.PlayerDeathEvent;
+
+class PlayerDeathListener extends ApplianceListener<VaroDeath> {
+    @EventHandler
+    public void onDeath(PlayerDeathEvent event) {
+        event.setKeepInventory(false);
+        this.getAppliance().registerPlayerDeath(event.getPlayer(), event.deathMessage());
+
+        Sound sound = Sound.sound(builder -> {
+            builder.pitch(1f);
+            builder.volume(1f);
+            builder.source(Sound.Source.MASTER);
+            builder.type(org.bukkit.Sound.ENTITY_LIGHTNING_BOLT_THUNDER);
+        });
+        IteratorUtil.onlinePlayers(player -> player.playSound(sound));
+    }
+}
diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/varoDeath/VaroDeath.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/varoDeath/VaroDeath.java
new file mode 100644
index 0000000..7dfb75a
--- /dev/null
+++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/varoDeath/VaroDeath.java
@@ -0,0 +1,39 @@
+package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.varoDeath;
+
+import eu.mhsl.craftattack.spawn.core.Main;
+import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
+import eu.mhsl.craftattack.spawn.core.util.text.DisconnectInfo;
+import eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.teams.Teams;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Listener;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+import java.util.Objects;
+
+public class VaroDeath extends Appliance {
+    public void registerPlayerDeath(Player player, @Nullable Component component) {
+        String deathMessage = PlainTextComponentSerializer.plainText().serialize(Objects.requireNonNull(component));
+        DisconnectInfo disconnectInfo = new DisconnectInfo(
+            deathMessage,
+            "Du bist gestorben, und bist daher aus dem Projekt ausgeschieden!",
+            "Vielen Dank für deine Teilnahme",
+            player.getUniqueId()
+        );
+
+        //TODO send player death to backend
+
+        disconnectInfo.applyKick(player);
+        Main.instance().getAppliance(Teams.class).refreshTeamList();
+    }
+
+    @Override
+    protected @NotNull List<Listener> listeners() {
+        return List.of(
+            new PlayerDeathListener()
+        );
+    }
+}