aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle.kts76
-rw-r--r--gradle/libs.versions.toml66
-rw-r--r--src/compat/sodium/java/SodiumChunkReloader.kt (renamed from src/main/kotlin/moe/nea/firmament/compat/SodiumChunkReloader.kt)8
-rw-r--r--src/compat/sodium/java/moe/nea/firmament/mixins/accessor/sodium/AccessorSodiumWorldRenderer.java (renamed from src/main/java/moe/nea/firmament/mixins/accessor/sodium/AccessorSodiumWorldRenderer.java)2
-rw-r--r--src/compat/sodium/java/moe/nea/firmament/mixins/custommodels/PatchBlockModelInSodiumChunkGenerator.java (renamed from src/main/java/moe/nea/firmament/mixins/custommodels/PatchBlockModelInSodiumChunkGenerator.java)0
-rw-r--r--src/main/java/moe/nea/firmament/init/AutoDiscoveryPlugin.java173
-rw-r--r--src/main/java/moe/nea/firmament/init/MixinPlugin.java5
-rw-r--r--src/main/kotlin/Firmament.kt (renamed from src/main/kotlin/moe/nea/firmament/Firmament.kt)0
-rw-r--r--src/main/kotlin/apis/Profiles.kt (renamed from src/main/kotlin/moe/nea/firmament/apis/Profiles.kt)0
-rw-r--r--src/main/kotlin/apis/Routes.kt (renamed from src/main/kotlin/moe/nea/firmament/apis/Routes.kt)0
-rw-r--r--src/main/kotlin/apis/UrsaManager.kt (renamed from src/main/kotlin/moe/nea/firmament/apis/UrsaManager.kt)0
-rw-r--r--src/main/kotlin/commands/CaseInsensitiveLiteralCommandNode.kt (renamed from src/main/kotlin/moe/nea/firmament/commands/CaseInsensitiveLiteralCommandNode.kt)0
-rw-r--r--src/main/kotlin/commands/RestArgumentType.kt (renamed from src/main/kotlin/moe/nea/firmament/commands/RestArgumentType.kt)0
-rw-r--r--src/main/kotlin/commands/dsl.kt (renamed from src/main/kotlin/moe/nea/firmament/commands/dsl.kt)0
-rw-r--r--src/main/kotlin/commands/rome.kt (renamed from src/main/kotlin/moe/nea/firmament/commands/rome.kt)0
-rw-r--r--src/main/kotlin/events/AllowChatEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/AllowChatEvent.kt)0
-rw-r--r--src/main/kotlin/events/AttackBlockEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/AttackBlockEvent.kt)0
-rw-r--r--src/main/kotlin/events/BakeExtraModelsEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/BakeExtraModelsEvent.kt)0
-rw-r--r--src/main/kotlin/events/ClientStartedEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ClientStartedEvent.kt)0
-rw-r--r--src/main/kotlin/events/CommandEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt)0
-rw-r--r--src/main/kotlin/events/CustomItemModelEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/CustomItemModelEvent.kt)0
-rw-r--r--src/main/kotlin/events/EarlyResourceReloadEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/EarlyResourceReloadEvent.kt)0
-rw-r--r--src/main/kotlin/events/EntityDespawnEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/EntityDespawnEvent.kt)0
-rw-r--r--src/main/kotlin/events/EntityInteractionEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/EntityInteractionEvent.kt)0
-rw-r--r--src/main/kotlin/events/EntityUpdateEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/EntityUpdateEvent.kt)0
-rw-r--r--src/main/kotlin/events/FeaturesInitializedEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/FeaturesInitializedEvent.kt)0
-rw-r--r--src/main/kotlin/events/FinalizeResourceManagerEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/FinalizeResourceManagerEvent.kt)0
-rw-r--r--src/main/kotlin/events/FirmamentEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/FirmamentEvent.kt)0
-rw-r--r--src/main/kotlin/events/FirmamentEventBus.kt (renamed from src/main/kotlin/moe/nea/firmament/events/FirmamentEventBus.kt)0
-rw-r--r--src/main/kotlin/events/HandledScreenClickEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/HandledScreenClickEvent.kt)0
-rw-r--r--src/main/kotlin/events/HandledScreenForegroundEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/HandledScreenForegroundEvent.kt)0
-rw-r--r--src/main/kotlin/events/HandledScreenKeyPressedEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/HandledScreenKeyPressedEvent.kt)0
-rw-r--r--src/main/kotlin/events/HandledScreenPushREIEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/HandledScreenPushREIEvent.kt)0
-rw-r--r--src/main/kotlin/events/HotbarItemRenderEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/HotbarItemRenderEvent.kt)0
-rw-r--r--src/main/kotlin/events/HudRenderEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/HudRenderEvent.kt)0
-rw-r--r--src/main/kotlin/events/IsSlotProtectedEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/IsSlotProtectedEvent.kt)0
-rw-r--r--src/main/kotlin/events/ItemTooltipEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ItemTooltipEvent.kt)0
-rw-r--r--src/main/kotlin/events/MaskCommands.kt (renamed from src/main/kotlin/moe/nea/firmament/events/MaskCommands.kt)0
-rw-r--r--src/main/kotlin/events/ModifyChatEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ModifyChatEvent.kt)0
-rw-r--r--src/main/kotlin/events/OutgoingPacketEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/OutgoingPacketEvent.kt)0
-rw-r--r--src/main/kotlin/events/ParticleSpawnEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ParticleSpawnEvent.kt)0
-rw-r--r--src/main/kotlin/events/PlayerInventoryUpdate.kt (renamed from src/main/kotlin/moe/nea/firmament/events/PlayerInventoryUpdate.kt)0
-rw-r--r--src/main/kotlin/events/ProcessChatEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt)0
-rw-r--r--src/main/kotlin/events/ReloadRegistrationEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ReloadRegistrationEvent.kt)0
-rw-r--r--src/main/kotlin/events/ScreenChangeEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ScreenChangeEvent.kt)0
-rw-r--r--src/main/kotlin/events/ScreenRenderPostEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ScreenRenderPostEvent.kt)0
-rw-r--r--src/main/kotlin/events/ServerConnectedEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/ServerConnectedEvent.kt)0
-rw-r--r--src/main/kotlin/events/SkyblockServerUpdateEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/SkyblockServerUpdateEvent.kt)0
-rw-r--r--src/main/kotlin/events/SlotClickEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/SlotClickEvent.kt)0
-rw-r--r--src/main/kotlin/events/SlotRenderEvents.kt (renamed from src/main/kotlin/moe/nea/firmament/events/SlotRenderEvents.kt)0
-rw-r--r--src/main/kotlin/events/SoundReceiveEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/SoundReceiveEvent.kt)0
-rw-r--r--src/main/kotlin/events/TickEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/TickEvent.kt)0
-rw-r--r--src/main/kotlin/events/TooltipEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/TooltipEvent.kt)0
-rw-r--r--src/main/kotlin/events/UseBlockEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/UseBlockEvent.kt)0
-rw-r--r--src/main/kotlin/events/WorldKeyboardEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/WorldKeyboardEvent.kt)0
-rw-r--r--src/main/kotlin/events/WorldReadyEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/WorldReadyEvent.kt)0
-rw-r--r--src/main/kotlin/events/WorldRenderLastEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/events/WorldRenderLastEvent.kt)0
-rw-r--r--src/main/kotlin/events/registration/ChatEvents.kt (renamed from src/main/kotlin/moe/nea/firmament/events/registration/ChatEvents.kt)0
-rw-r--r--src/main/kotlin/events/subscription/Subscription.kt (renamed from src/main/kotlin/moe/nea/firmament/events/subscription/Subscription.kt)0
-rw-r--r--src/main/kotlin/features/FeatureManager.kt (renamed from src/main/kotlin/moe/nea/firmament/features/FeatureManager.kt)0
-rw-r--r--src/main/kotlin/features/FirmamentFeature.kt (renamed from src/main/kotlin/moe/nea/firmament/features/FirmamentFeature.kt)0
-rw-r--r--src/main/kotlin/features/chat/AutoCompletions.kt (renamed from src/main/kotlin/moe/nea/firmament/features/chat/AutoCompletions.kt)0
-rw-r--r--src/main/kotlin/features/chat/ChatLinks.kt (renamed from src/main/kotlin/moe/nea/firmament/features/chat/ChatLinks.kt)0
-rw-r--r--src/main/kotlin/features/chat/QuickCommands.kt (renamed from src/main/kotlin/moe/nea/firmament/features/chat/QuickCommands.kt)0
-rw-r--r--src/main/kotlin/features/debug/DebugLogger.kt (renamed from src/main/kotlin/moe/nea/firmament/features/debug/DebugLogger.kt)0
-rw-r--r--src/main/kotlin/features/debug/DebugView.kt (renamed from src/main/kotlin/moe/nea/firmament/features/debug/DebugView.kt)0
-rw-r--r--src/main/kotlin/features/debug/DeveloperFeatures.kt (renamed from src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt)0
-rw-r--r--src/main/kotlin/features/debug/MinorTrolling.kt (renamed from src/main/kotlin/moe/nea/firmament/features/debug/MinorTrolling.kt)0
-rw-r--r--src/main/kotlin/features/debug/PowerUserTools.kt (renamed from src/main/kotlin/moe/nea/firmament/features/debug/PowerUserTools.kt)0
-rw-r--r--src/main/kotlin/features/diana/AncestralSpadeSolver.kt (renamed from src/main/kotlin/moe/nea/firmament/features/diana/AncestralSpadeSolver.kt)0
-rw-r--r--src/main/kotlin/features/diana/DianaWaypoints.kt (renamed from src/main/kotlin/moe/nea/firmament/features/diana/DianaWaypoints.kt)0
-rw-r--r--src/main/kotlin/features/diana/NearbyBurrowsSolver.kt (renamed from src/main/kotlin/moe/nea/firmament/features/diana/NearbyBurrowsSolver.kt)0
-rw-r--r--src/main/kotlin/features/events/anniversity/AnniversaryFeatures.kt (renamed from src/main/kotlin/moe/nea/firmament/features/events/anniversity/AnniversaryFeatures.kt)0
-rw-r--r--src/main/kotlin/features/events/carnival/CarnivalFeatures.kt (renamed from src/main/kotlin/moe/nea/firmament/features/events/carnival/CarnivalFeatures.kt)0
-rw-r--r--src/main/kotlin/features/events/carnival/MinesweeperHelper.kt (renamed from src/main/kotlin/moe/nea/firmament/features/events/carnival/MinesweeperHelper.kt)0
-rw-r--r--src/main/kotlin/features/fixes/CompatibliltyFeatures.kt (renamed from src/main/kotlin/moe/nea/firmament/features/fixes/CompatibliltyFeatures.kt)0
-rw-r--r--src/main/kotlin/features/fixes/Fixes.kt (renamed from src/main/kotlin/moe/nea/firmament/features/fixes/Fixes.kt)0
-rw-r--r--src/main/kotlin/features/inventory/CraftingOverlay.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/CraftingOverlay.kt)0
-rw-r--r--src/main/kotlin/features/inventory/ItemRarityCosmetics.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/ItemRarityCosmetics.kt)0
-rw-r--r--src/main/kotlin/features/inventory/PriceData.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/PriceData.kt)0
-rw-r--r--src/main/kotlin/features/inventory/SaveCursorPosition.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/SaveCursorPosition.kt)0
-rw-r--r--src/main/kotlin/features/inventory/SlotLocking.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/SlotLocking.kt)0
-rw-r--r--src/main/kotlin/features/inventory/buttons/InventoryButton.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButton.kt)0
-rw-r--r--src/main/kotlin/features/inventory/buttons/InventoryButtonEditor.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtonEditor.kt)0
-rw-r--r--src/main/kotlin/features/inventory/buttons/InventoryButtonTemplates.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtonTemplates.kt)0
-rw-r--r--src/main/kotlin/features/inventory/buttons/InventoryButtons.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtons.kt)0
-rw-r--r--src/main/kotlin/features/inventory/storageoverlay/StorageBackingHandle.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageBackingHandle.kt)0
-rw-r--r--src/main/kotlin/features/inventory/storageoverlay/StorageData.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageData.kt)0
-rw-r--r--src/main/kotlin/features/inventory/storageoverlay/StorageOverlay.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlay.kt)0
-rw-r--r--src/main/kotlin/features/inventory/storageoverlay/StorageOverlayCustom.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayCustom.kt)0
-rw-r--r--src/main/kotlin/features/inventory/storageoverlay/StorageOverlayScreen.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayScreen.kt)0
-rw-r--r--src/main/kotlin/features/inventory/storageoverlay/StorageOverviewScreen.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverviewScreen.kt)0
-rw-r--r--src/main/kotlin/features/inventory/storageoverlay/StoragePageSlot.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StoragePageSlot.kt)0
-rw-r--r--src/main/kotlin/features/inventory/storageoverlay/VirtualInventory.kt (renamed from src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/VirtualInventory.kt)0
-rw-r--r--src/main/kotlin/features/mining/Histogram.kt (renamed from src/main/kotlin/moe/nea/firmament/features/mining/Histogram.kt)0
-rw-r--r--src/main/kotlin/features/mining/PickaxeAbility.kt (renamed from src/main/kotlin/moe/nea/firmament/features/mining/PickaxeAbility.kt)0
-rw-r--r--src/main/kotlin/features/mining/PristineProfitTracker.kt (renamed from src/main/kotlin/moe/nea/firmament/features/mining/PristineProfitTracker.kt)0
-rw-r--r--src/main/kotlin/features/notifications/Notifications.kt (renamed from src/main/kotlin/moe/nea/firmament/features/notifications/Notifications.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/AlwaysPredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/AlwaysPredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/AndPredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/AndPredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/BakedModelExtra.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/BakedModelExtra.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/BakedOverrideData.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/BakedOverrideData.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/CustomBlockTextures.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/CustomBlockTextures.kt)3
-rw-r--r--src/main/kotlin/features/texturepack/CustomGlobalArmorOverrides.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/CustomGlobalArmorOverrides.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/CustomGlobalTextures.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/CustomGlobalTextures.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/CustomModelOverrideParser.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/CustomModelOverrideParser.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/CustomSkyBlockTextures.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/DisplayNamePredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/DisplayNamePredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/ExtraAttributesPredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/ExtraAttributesPredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/FirmamentModelPredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/FirmamentModelPredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/FirmamentModelPredicateParser.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/FirmamentModelPredicateParser.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/ItemPredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/ItemPredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/JsonUnbakedModelFirmExtra.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/JsonUnbakedModelFirmExtra.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/LorePredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/LorePredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/ModelOverrideData.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/ModelOverrideData.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/ModelOverrideFilterSet.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/ModelOverrideFilterSet.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/NotPredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/NotPredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/NumberMatcher.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/NumberMatcher.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/OrPredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/OrPredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/PetPredicate.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/PetPredicate.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/RarityMatcher.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/RarityMatcher.kt)0
-rw-r--r--src/main/kotlin/features/texturepack/StringMatcher.kt (renamed from src/main/kotlin/moe/nea/firmament/features/texturepack/StringMatcher.kt)0
-rw-r--r--src/main/kotlin/features/world/FairySouls.kt (renamed from src/main/kotlin/moe/nea/firmament/features/world/FairySouls.kt)0
-rw-r--r--src/main/kotlin/features/world/NPCWaypoints.kt (renamed from src/main/kotlin/moe/nea/firmament/features/world/NPCWaypoints.kt)0
-rw-r--r--src/main/kotlin/features/world/NavigableWaypoint.kt (renamed from src/main/kotlin/moe/nea/firmament/features/world/NavigableWaypoint.kt)0
-rw-r--r--src/main/kotlin/features/world/NavigationHelper.kt (renamed from src/main/kotlin/moe/nea/firmament/features/world/NavigationHelper.kt)0
-rw-r--r--src/main/kotlin/features/world/NpcWaypointGui.kt (renamed from src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt)0
-rw-r--r--src/main/kotlin/features/world/Waypoints.kt (renamed from src/main/kotlin/moe/nea/firmament/features/world/Waypoints.kt)0
-rw-r--r--src/main/kotlin/gui/BarComponent.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/BarComponent.kt)0
-rw-r--r--src/main/kotlin/gui/FirmButtonComponent.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/FirmButtonComponent.kt)0
-rw-r--r--src/main/kotlin/gui/FirmHoverComponent.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/FirmHoverComponent.kt)0
-rw-r--r--src/main/kotlin/gui/FixedComponent.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/FixedComponent.kt)0
-rw-r--r--src/main/kotlin/gui/ImageComponent.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/ImageComponent.kt)0
-rw-r--r--src/main/kotlin/gui/TickComponent.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/TickComponent.kt)0
-rw-r--r--src/main/kotlin/gui/config/AllConfigsGui.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/AllConfigsGui.kt)0
-rw-r--r--src/main/kotlin/gui/config/BooleanHandler.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/BooleanHandler.kt)0
-rw-r--r--src/main/kotlin/gui/config/ClickHandler.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/ClickHandler.kt)0
-rw-r--r--src/main/kotlin/gui/config/DurationHandler.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/DurationHandler.kt)0
-rw-r--r--src/main/kotlin/gui/config/GuiAppender.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/GuiAppender.kt)0
-rw-r--r--src/main/kotlin/gui/config/HudMetaHandler.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/HudMetaHandler.kt)0
-rw-r--r--src/main/kotlin/gui/config/IntegerHandler.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/IntegerHandler.kt)0
-rw-r--r--src/main/kotlin/gui/config/JAnyHud.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/JAnyHud.kt)0
-rw-r--r--src/main/kotlin/gui/config/KeyBindingHandler.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/KeyBindingHandler.kt)0
-rw-r--r--src/main/kotlin/gui/config/ManagedConfig.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt)0
-rw-r--r--src/main/kotlin/gui/config/ManagedConfigElement.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfigElement.kt)0
-rw-r--r--src/main/kotlin/gui/config/ManagedOption.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/ManagedOption.kt)0
-rw-r--r--src/main/kotlin/gui/config/StringHandler.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/config/StringHandler.kt)0
-rw-r--r--src/main/kotlin/gui/entity/EntityModifier.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/EntityModifier.kt)0
-rw-r--r--src/main/kotlin/gui/entity/EntityRenderer.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/EntityRenderer.kt)0
-rw-r--r--src/main/kotlin/gui/entity/EntityWidget.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/EntityWidget.kt)0
-rw-r--r--src/main/kotlin/gui/entity/FakeWorld.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/FakeWorld.kt)0
-rw-r--r--src/main/kotlin/gui/entity/GuiPlayer.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/GuiPlayer.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyAge.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyCharged.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyCharged.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyEquipment.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyEquipment.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyHorse.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyHorse.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyInvisible.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyInvisible.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyName.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyName.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyPlayerSkin.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyPlayerSkin.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyRiding.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyRiding.kt)0
-rw-r--r--src/main/kotlin/gui/entity/ModifyWither.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/entity/ModifyWither.kt)0
-rw-r--r--src/main/kotlin/gui/hud/MoulConfigHud.kt (renamed from src/main/kotlin/moe/nea/firmament/gui/hud/MoulConfigHud.kt)0
-rw-r--r--src/main/kotlin/jarvis/JarvisIntegration.kt (renamed from src/main/kotlin/moe/nea/firmament/jarvis/JarvisIntegration.kt)0
-rw-r--r--src/main/kotlin/keybindings/FirmamentKeyBindings.kt (renamed from src/main/kotlin/moe/nea/firmament/keybindings/FirmamentKeyBindings.kt)0
-rw-r--r--src/main/kotlin/keybindings/IKeyBinding.kt (renamed from src/main/kotlin/moe/nea/firmament/keybindings/IKeyBinding.kt)0
-rw-r--r--src/main/kotlin/keybindings/SavedKeyBinding.kt (renamed from src/main/kotlin/moe/nea/firmament/keybindings/SavedKeyBinding.kt)0
-rw-r--r--src/main/kotlin/modmenu/FirmamentModMenuPlugin.kt (renamed from src/main/kotlin/moe/nea/firmament/modmenu/FirmamentModMenuPlugin.kt)0
-rw-r--r--src/main/kotlin/rei/FirmamentReiPlugin.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/FirmamentReiPlugin.kt)0
-rw-r--r--src/main/kotlin/rei/NEUItemEntryRenderer.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/NEUItemEntryRenderer.kt)0
-rw-r--r--src/main/kotlin/rei/NEUItemEntrySerializer.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/NEUItemEntrySerializer.kt)0
-rw-r--r--src/main/kotlin/rei/SBItemEntryDefinition.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/SBItemEntryDefinition.kt)0
-rw-r--r--src/main/kotlin/rei/SkyblockCraftingRecipeDynamicGenerator.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/SkyblockCraftingRecipeDynamicGenerator.kt)0
-rw-r--r--src/main/kotlin/rei/SkyblockItemIdFocusedStackProvider.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/SkyblockItemIdFocusedStackProvider.kt)0
-rw-r--r--src/main/kotlin/rei/math.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/math.kt)0
-rw-r--r--src/main/kotlin/rei/recipes/SBCraftingRecipe.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/recipes/SBCraftingRecipe.kt)0
-rw-r--r--src/main/kotlin/rei/recipes/SBEssenceUpgradeRecipe.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/recipes/SBEssenceUpgradeRecipe.kt)0
-rw-r--r--src/main/kotlin/rei/recipes/SBForgeRecipe.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/recipes/SBForgeRecipe.kt)0
-rw-r--r--src/main/kotlin/rei/recipes/SBKatRecipe.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/recipes/SBKatRecipe.kt)0
-rw-r--r--src/main/kotlin/rei/recipes/SBMobDropRecipe.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/recipes/SBMobDropRecipe.kt)0
-rw-r--r--src/main/kotlin/rei/recipes/SBRecipe.kt (renamed from src/main/kotlin/moe/nea/firmament/rei/recipes/SBRecipe.kt)0
-rw-r--r--src/main/kotlin/repo/BetterRepoRecipeCache.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/BetterRepoRecipeCache.kt)0
-rw-r--r--src/main/kotlin/repo/EssenceRecipeProvider.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/EssenceRecipeProvider.kt)0
-rw-r--r--src/main/kotlin/repo/ExpLadder.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/ExpLadder.kt)0
-rw-r--r--src/main/kotlin/repo/HypixelStaticData.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/HypixelStaticData.kt)0
-rw-r--r--src/main/kotlin/repo/ItemCache.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/ItemCache.kt)0
-rw-r--r--src/main/kotlin/repo/ItemNameLookup.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/ItemNameLookup.kt)0
-rw-r--r--src/main/kotlin/repo/RepoDownloadManager.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/RepoDownloadManager.kt)0
-rw-r--r--src/main/kotlin/repo/RepoManager.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/RepoManager.kt)0
-rw-r--r--src/main/kotlin/repo/RepoModResourcePack.kt (renamed from src/main/kotlin/moe/nea/firmament/repo/RepoModResourcePack.kt)0
-rw-r--r--src/main/kotlin/util/Base64Util.kt (renamed from src/main/kotlin/moe/nea/firmament/util/Base64Util.kt)0
-rw-r--r--src/main/kotlin/util/BazaarPriceStrategy.kt (renamed from src/main/kotlin/moe/nea/firmament/util/BazaarPriceStrategy.kt)0
-rw-r--r--src/main/kotlin/util/ClipboardUtils.kt (renamed from src/main/kotlin/moe/nea/firmament/util/ClipboardUtils.kt)0
-rw-r--r--src/main/kotlin/util/CommonSoundEffects.kt (renamed from src/main/kotlin/moe/nea/firmament/util/CommonSoundEffects.kt)0
-rw-r--r--src/main/kotlin/util/DurabilityBarEvent.kt (renamed from src/main/kotlin/moe/nea/firmament/util/DurabilityBarEvent.kt)0
-rw-r--r--src/main/kotlin/util/ErrorBoundary.kt (renamed from src/main/kotlin/moe/nea/firmament/util/ErrorBoundary.kt)0
-rw-r--r--src/main/kotlin/util/FirmFormatters.kt (renamed from src/main/kotlin/moe/nea/firmament/util/FirmFormatters.kt)0
-rw-r--r--src/main/kotlin/util/FragmentGuiScreen.kt (renamed from src/main/kotlin/moe/nea/firmament/util/FragmentGuiScreen.kt)0
-rw-r--r--src/main/kotlin/util/GetRectangle.kt (renamed from src/main/kotlin/moe/nea/firmament/util/GetRectangle.kt)0
-rw-r--r--src/main/kotlin/util/HoveredItemStack.kt (renamed from src/main/kotlin/moe/nea/firmament/util/HoveredItemStack.kt)0
-rw-r--r--src/main/kotlin/util/IdentifierSerializer.kt (renamed from src/main/kotlin/moe/nea/firmament/util/IdentifierSerializer.kt)0
-rw-r--r--src/main/kotlin/util/IdentityCharacteristics.kt (renamed from src/main/kotlin/moe/nea/firmament/util/IdentityCharacteristics.kt)0
-rw-r--r--src/main/kotlin/util/ItemUtil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/ItemUtil.kt)0
-rw-r--r--src/main/kotlin/util/LegacyFormattingCode.kt (renamed from src/main/kotlin/moe/nea/firmament/util/LegacyFormattingCode.kt)0
-rw-r--r--src/main/kotlin/util/LegacyTagParser.kt (renamed from src/main/kotlin/moe/nea/firmament/util/LegacyTagParser.kt)0
-rw-r--r--src/main/kotlin/util/LoadResource.kt (renamed from src/main/kotlin/moe/nea/firmament/util/LoadResource.kt)0
-rw-r--r--src/main/kotlin/util/Locraw.kt (renamed from src/main/kotlin/moe/nea/firmament/util/Locraw.kt)0
-rw-r--r--src/main/kotlin/util/LogIfNull.kt (renamed from src/main/kotlin/moe/nea/firmament/util/LogIfNull.kt)0
-rw-r--r--src/main/kotlin/util/MC.kt (renamed from src/main/kotlin/moe/nea/firmament/util/MC.kt)0
-rw-r--r--src/main/kotlin/util/MinecraftDispatcher.kt (renamed from src/main/kotlin/moe/nea/firmament/util/MinecraftDispatcher.kt)0
-rw-r--r--src/main/kotlin/util/MoulConfigFragment.kt (renamed from src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt)0
-rw-r--r--src/main/kotlin/util/MoulConfigUtils.kt (renamed from src/main/kotlin/moe/nea/firmament/util/MoulConfigUtils.kt)0
-rw-r--r--src/main/kotlin/util/MutableMapWithMaxSize.kt (renamed from src/main/kotlin/moe/nea/firmament/util/MutableMapWithMaxSize.kt)0
-rw-r--r--src/main/kotlin/util/SBData.kt (renamed from src/main/kotlin/moe/nea/firmament/util/SBData.kt)0
-rw-r--r--src/main/kotlin/util/ScoreboardUtil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/ScoreboardUtil.kt)0
-rw-r--r--src/main/kotlin/util/ScreenUtil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/ScreenUtil.kt)0
-rw-r--r--src/main/kotlin/util/SequenceUtil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/SequenceUtil.kt)0
-rw-r--r--src/main/kotlin/util/SkyBlockIsland.kt (renamed from src/main/kotlin/moe/nea/firmament/util/SkyBlockIsland.kt)0
-rw-r--r--src/main/kotlin/util/SkyblockId.kt (renamed from src/main/kotlin/moe/nea/firmament/util/SkyblockId.kt)0
-rw-r--r--src/main/kotlin/util/SortedMapSerializer.kt (renamed from src/main/kotlin/moe/nea/firmament/util/SortedMapSerializer.kt)0
-rw-r--r--src/main/kotlin/util/TemplateUtil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/TemplateUtil.kt)0
-rw-r--r--src/main/kotlin/util/TimeMark.kt (renamed from src/main/kotlin/moe/nea/firmament/util/TimeMark.kt)0
-rw-r--r--src/main/kotlin/util/Timer.kt (renamed from src/main/kotlin/moe/nea/firmament/util/Timer.kt)0
-rw-r--r--src/main/kotlin/util/WarpUtil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/WarpUtil.kt)0
-rw-r--r--src/main/kotlin/util/assertions.kt (renamed from src/main/kotlin/moe/nea/firmament/util/assertions.kt)0
-rw-r--r--src/main/kotlin/util/async/input.kt (renamed from src/main/kotlin/moe/nea/firmament/util/async/input.kt)0
-rw-r--r--src/main/kotlin/util/colorconversion.kt (renamed from src/main/kotlin/moe/nea/firmament/util/colorconversion.kt)0
-rw-r--r--src/main/kotlin/util/customgui/CoordRememberingSlot.kt (renamed from src/main/kotlin/moe/nea/firmament/util/customgui/CoordRememberingSlot.kt)0
-rw-r--r--src/main/kotlin/util/customgui/CustomGui.kt (renamed from src/main/kotlin/moe/nea/firmament/util/customgui/CustomGui.kt)0
-rw-r--r--src/main/kotlin/util/customgui/HasCustomGui.kt (renamed from src/main/kotlin/moe/nea/firmament/util/customgui/HasCustomGui.kt)0
-rw-r--r--src/main/kotlin/util/data/DataHolder.kt (renamed from src/main/kotlin/moe/nea/firmament/util/data/DataHolder.kt)0
-rw-r--r--src/main/kotlin/util/data/IDataHolder.kt (renamed from src/main/kotlin/moe/nea/firmament/util/data/IDataHolder.kt)0
-rw-r--r--src/main/kotlin/util/data/ProfileSpecificDataHolder.kt (renamed from src/main/kotlin/moe/nea/firmament/util/data/ProfileSpecificDataHolder.kt)0
-rw-r--r--src/main/kotlin/util/filter/IteratorFilterSet.kt (renamed from src/main/kotlin/moe/nea/firmament/util/filter/IteratorFilterSet.kt)0
-rw-r--r--src/main/kotlin/util/item/NbtItemData.kt (renamed from src/main/kotlin/moe/nea/firmament/util/item/NbtItemData.kt)0
-rw-r--r--src/main/kotlin/util/item/SkullItemData.kt (renamed from src/main/kotlin/moe/nea/firmament/util/item/SkullItemData.kt)0
-rw-r--r--src/main/kotlin/util/json/BlockPosSerializer.kt (renamed from src/main/kotlin/moe/nea/firmament/util/json/BlockPosSerializer.kt)0
-rw-r--r--src/main/kotlin/util/json/DashlessUUIDSerializer.kt (renamed from src/main/kotlin/moe/nea/firmament/util/json/DashlessUUIDSerializer.kt)0
-rw-r--r--src/main/kotlin/util/json/InstantAsLongSerializer.kt (renamed from src/main/kotlin/moe/nea/firmament/util/json/InstantAsLongSerializer.kt)0
-rw-r--r--src/main/kotlin/util/json/SingletonSerializableList.kt (renamed from src/main/kotlin/moe/nea/firmament/util/json/SingletonSerializableList.kt)0
-rw-r--r--src/main/kotlin/util/listutil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/listutil.kt)0
-rw-r--r--src/main/kotlin/util/propertyutil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/propertyutil.kt)0
-rw-r--r--src/main/kotlin/util/regex.kt (renamed from src/main/kotlin/moe/nea/firmament/util/regex.kt)0
-rw-r--r--src/main/kotlin/util/render/FacingThePlayerContext.kt (renamed from src/main/kotlin/moe/nea/firmament/util/render/FacingThePlayerContext.kt)0
-rw-r--r--src/main/kotlin/util/render/LerpUtils.kt (renamed from src/main/kotlin/moe/nea/firmament/util/render/LerpUtils.kt)0
-rw-r--r--src/main/kotlin/util/render/RenderCircleProgress.kt (renamed from src/main/kotlin/moe/nea/firmament/util/render/RenderCircleProgress.kt)0
-rw-r--r--src/main/kotlin/util/render/RenderContextDSL.kt (renamed from src/main/kotlin/moe/nea/firmament/util/render/RenderContextDSL.kt)0
-rw-r--r--src/main/kotlin/util/render/RenderInWorldContext.kt (renamed from src/main/kotlin/moe/nea/firmament/util/render/RenderInWorldContext.kt)0
-rw-r--r--src/main/kotlin/util/render/TranslatedScissors.kt (renamed from src/main/kotlin/moe/nea/firmament/util/render/TranslatedScissors.kt)0
-rw-r--r--src/main/kotlin/util/stringutil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/stringutil.kt)0
-rw-r--r--src/main/kotlin/util/textutil.kt (renamed from src/main/kotlin/moe/nea/firmament/util/textutil.kt)0
-rw-r--r--src/main/kotlin/util/uuid.kt (renamed from src/main/kotlin/moe/nea/firmament/util/uuid.kt)0
251 files changed, 295 insertions, 38 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index fec1afb..fe527ba 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,21 +8,24 @@
import moe.nea.licenseextractificator.LicenseDiscoveryTask
import net.fabricmc.loom.LoomGradleExtension
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
java
`maven-publish`
- id("com.google.devtools.ksp") version "1.9.23-1.0.20"
- kotlin("jvm") version "1.9.23"
- kotlin("plugin.serialization") version "1.9.23"
-// id("com.bnorm.power.kotlin-power-assert") version "0.13.0"
- id("dev.architectury.loom") version "1.6.397"
+ alias(libs.plugins.kotlin.jvm)
+ alias(libs.plugins.kotlin.plugin.serialization)
+ alias(libs.plugins.kotlin.plugin.powerassert)
+ alias(libs.plugins.kotlin.plugin.ksp)
+ alias(libs.plugins.loom)
id("com.github.johnrengelman.shadow") version "8.1.1"
id("moe.nea.licenseextractificator")
-// id("io.github.juuxel.loom-vineflower") version "1.11.0"
}
+version = getGitTagInfo()
+group = rootProject.property("maven_group").toString()
+
java {
withSourcesJar()
toolchain {
@@ -30,13 +33,11 @@ java {
}
}
-val compileKotlin: KotlinCompile by tasks
-compileKotlin.kotlinOptions {
- jvmTarget = "21"
-}
-val compileTestKotlin: KotlinCompile by tasks
-compileTestKotlin.kotlinOptions {
- jvmTarget = "21"
+
+tasks.withType(KotlinCompile::class) {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_21)
+ }
}
allprojects {
@@ -80,17 +81,54 @@ allprojects {
maven("https://repo.hypixel.net/repository/Hypixel/")
maven("https://maven.azureaaron.net/snapshots")
maven("https://maven.azureaaron.net/releases")
+ maven("https://www.cursemaven.com")
mavenLocal()
}
}
kotlin {
sourceSets.all {
languageSettings {
-// languageVersion = "2.0"
enableLanguageFeature("BreakContinueInInlineLambdas")
}
}
}
+val compatSourceSets: MutableSet<SourceSet> = mutableSetOf()
+fun createIsolatedSourceSet(name: String, path: String = "compat/$name"): SourceSet {
+ val ss = sourceSets.create(name) {
+ this.java.setSrcDirs(listOf(layout.projectDirectory.dir("src/$path/java")))
+ this.kotlin.setSrcDirs(listOf(layout.projectDirectory.dir("src/$path/kotlin")))
+ }
+ compatSourceSets.add(ss)
+ loom.createRemapConfigurations(ss)
+ val mainSS = sourceSets.main.get()
+ configurations {
+ (ss.implementationConfigurationName) {
+ extendsFrom(getByName(mainSS.compileClasspathConfigurationName))
+ }
+ (ss.annotationProcessorConfigurationName) {
+ extendsFrom(getByName(mainSS.annotationProcessorConfigurationName))
+ }
+ (mainSS.runtimeOnlyConfigurationName) {
+ extendsFrom(getByName(ss.runtimeClasspathConfigurationName))
+ }
+ }
+ dependencies {
+ runtimeOnly(ss.output)
+ (ss.implementationConfigurationName)(sourceSets.main.get().output)
+ }
+ tasks.jar {
+ from(ss.output)
+ }
+ return ss
+}
+
+val SourceSet.modImplementationConfigurationName
+ get() =
+ loom.remapConfigurations.find {
+ it.targetConfigurationName.get() == this.implementationConfigurationName
+ }!!.sourceConfiguration
+val configuredSourceSet = createIsolatedSourceSet("configured")
+val sodiumSourceSet = createIsolatedSourceSet("sodium")
val shadowMe by configurations.creating {
exclude(group = "org.jetbrains.kotlin")
@@ -148,10 +186,11 @@ dependencies {
modRuntimeOnly(libs.fabric.api.deprecated)
modApi(libs.architectury)
modCompileOnly(libs.jarvis.api)
- modCompileOnly(libs.sodium)
include(libs.jarvis.fabric)
modCompileOnly(libs.femalegender)
+ (configuredSourceSet.modImplementationConfigurationName)(libs.configured)
+ (sodiumSourceSet.modImplementationConfigurationName)(libs.sodium)
// Actual dependencies
modCompileOnly(libs.rei.api) {
@@ -189,9 +228,6 @@ tasks.test {
useJUnitPlatform()
}
-version = getGitTagInfo()
-group = rootProject.property("maven_group").toString()
-
loom {
clientOnlyMinecraftJar()
accessWidenerPath.set(project.file("src/main/resources/firmament.accesswidener"))
@@ -201,6 +237,10 @@ loom {
property("devauth.enabled", "true")
property("fabric.log.level", "info")
property("firmament.debug", "true")
+ property("firmament.classroots",
+ compatSourceSets.joinToString(File.pathSeparator) {
+ File(it.output.classesDirs.asPath).absolutePath
+ })
property("mixin.debug", "true")
parseEnvFile(file(".env")).forEach { (t, u) ->
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 5cf8a27..335df1e 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -4,7 +4,14 @@
[versions]
minecraft = "1.21"
-fabric_loader = "0.15.11"
+
+# Update from https://kotlinlang.org/
+kotlin = "2.0.20"
+# Update from https://github.com/google/ksp/releases
+kotlin_ksp = "2.0.20-1.0.24"
+
+# Update from https://linkie.shedaniel.me/dependencies?loader=fabric
+fabric_loader = "0.16.3"
fabric_api = "0.100.4+1.21"
fabric_kotlin = "1.11.0+kotlin.2.0.0"
yarn = "1.21+build.7"
@@ -12,25 +19,58 @@ rei = "16.0.729"
modmenu = "11.0.1"
architectury = "13.0.3"
-qolify = "1.3.0-1.20.2"
-citresewn = "1.1.3+1.20"
+# Update from https://maven.architectury.dev/dev/architectury/loom/dev.architectury.loom.gradle.plugin/
+loom = "1.7.412"
+
+# Update from https://modrinth.com/mod/qolify/versions?l=fabric
+qolify = "1.6.0-1.21.1"
+
+# Update from https://modrinth.com/mod/sodium/versions?l=fabric
sodium = "mc1.21-0.5.11"
-freecammod = "U5eR0FyR"
+
+# Update from https://modrinth.com/mod/freecam/versions?l=fabric
+freecammod = "vomskVK3"
+
+# Update from https://modrinth.com/mod/no-chat-reports/versions?l=fabric
ncr = "Fabric-1.21-v2.8.0"
+
+# Update from https://modrinth.com/mod/female-gender/versions?l=fabric
femalegender = "kJmjQvAS"
+
+# Update from https://modrinth.com/mod/explosive-enhancement/versions?l=fabric
explosiveenhancement = "1.2.3-1.21.0"
-notenoughanimations = "WaI2x21x"
+
+# Update from https://modrinth.com/mod/not-enough-animations/versions?l=fabric
+notenoughanimations = "BQ8qstAV"
devauth = "1.2.0"
-ktor = "2.3.0"
+
+# Update from https://ktor.io/
+ktor = "2.3.12"
+
+# Update from https://repo.nea.moe/#/releases/moe/nea/neurepoparser
neurepoparser = "1.5.0"
+
+# Update from https://github.com/HotswapProjects/HotswapAgent/releases
hotswap_agent = "1.4.2-SNAPSHOT"
+
+# Update from https://github.com/LlamaLad7/MixinExtras/tags
mixinextras = "0.3.5"
+
jarvis = "1.1.3"
nealisp = "1.0.0"
+
+# Update from https://github.com/NotEnoughUpdates/MoulConfig/tags
moulconfig = "3.0.0-beta.15"
+
+# Update from https://www.curseforge.com/minecraft/mc-mods/configured/files/all?page=1&pageSize=20
+configured = "5441234"
+
+# Update from https://modrinth.com/mod/hypixel-mod-api/versions
hypixelmodapi = "1.0.1"
hypixelmodapi_fabric = "1.0.1+build.1+mc1.21"
+
+# Update from https://github.com/shedaniel/fabric-asm or https://maven.shedaniel.me/me/shedaniel/mm/
manninghamMills = "2.4.1"
[libraries]
@@ -52,6 +92,7 @@ manninghamMills = { module = "me.shedaniel:mm", version.ref = "manninghamMills"
aaronhmapi = { module = "net.azureaaron:hm-api", version = "1.0.0+1.21" }
hypixelmodapi = { module = "net.hypixel:mod-api", version.ref = "hypixelmodapi" }
hypixelmodapi_fabric = { module = "maven.modrinth:hypixel-mod-api", version.ref = "hypixelmodapi_fabric" }
+configured = { module = "curse.maven:configured-457570", version.ref = "configured" }
# Runtime:
notenoughanimations = { module = "maven.modrinth:not-enough-animations", version.ref = "notenoughanimations" }
hotswap = { module = "virtual.github.hotswapagent:hotswap-agent", version.ref = "hotswap_agent" }
@@ -60,7 +101,6 @@ rei_fabric = { module = "me.shedaniel:RoughlyEnoughItems-fabric", version.ref =
devauth = { module = "me.djtheredstoner:DevAuth-fabric", version.ref = "devauth" }
modmenu = { module = "maven.modrinth:modmenu", version.ref = "modmenu" }
qolify = { module = "maven.modrinth:qolify", version.ref = "qolify" }
-citresewn = { module = "maven.modrinth:cit-resewn", version.ref = "citresewn" }
ncr = { module = "maven.modrinth:no-chat-reports", version.ref = "ncr" }
sodium = { module = "maven.modrinth:sodium", version.ref = "sodium" }
freecammod = { module = "maven.modrinth:freecam", version.ref = "freecammod" }
@@ -78,9 +118,13 @@ runtime_optional = [
"devauth",
"freecammod",
"sodium",
- # "qolify",
- # "citresewn",
- # "ncr",
+# "qolify",
+ "ncr",
]
-
+[plugins]
+kotlin_jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+kotlin_plugin_serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
+kotlin_plugin_powerassert = { id = "org.jetbrains.kotlin.plugin.power-assert", version.ref = "kotlin" }
+kotlin_plugin_ksp = { id = "com.google.devtools.ksp", version.ref = "kotlin_ksp" }
+loom = { id = "dev.architectury.loom", version.ref = "loom" }
diff --git a/src/main/kotlin/moe/nea/firmament/compat/SodiumChunkReloader.kt b/src/compat/sodium/java/SodiumChunkReloader.kt
index 4bb231a..9456861 100644
--- a/src/main/kotlin/moe/nea/firmament/compat/SodiumChunkReloader.kt
+++ b/src/compat/sodium/java/SodiumChunkReloader.kt
@@ -1,12 +1,10 @@
-package moe.nea.firmament.compat
-
import me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer
import moe.nea.firmament.mixins.accessor.sodium.AccessorSodiumWorldRenderer
class SodiumChunkReloader : Runnable {
override fun run() {
- (SodiumWorldRenderer.instanceNullable() as AccessorSodiumWorldRenderer)
- .renderSectionManager_firmament
- .updateChunks(false)
+ (SodiumWorldRenderer.instanceNullable() as? AccessorSodiumWorldRenderer)
+ ?.renderSectionManager_firmament
+ ?.markGraphDirty()
}
}
diff --git a/src/main/java/moe/nea/firmament/mixins/accessor/sodium/AccessorSodiumWorldRenderer.java b/src/compat/sodium/java/moe/nea/firmament/mixins/accessor/sodium/AccessorSodiumWorldRenderer.java
index b759204..d585cbc 100644
--- a/src/main/java/moe/nea/firmament/mixins/accessor/sodium/AccessorSodiumWorldRenderer.java
+++ b/src/compat/sodium/java/moe/nea/firmament/mixins/accessor/sodium/AccessorSodiumWorldRenderer.java
@@ -9,6 +9,6 @@ import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(SodiumWorldRenderer.class)
@Pseudo
public interface AccessorSodiumWorldRenderer {
- @Accessor("renderSectionManager")
+ @Accessor(value = "renderSectionManager", remap = false)
RenderSectionManager getRenderSectionManager_firmament();
}
diff --git a/src/main/java/moe/nea/firmament/mixins/custommodels/PatchBlockModelInSodiumChunkGenerator.java b/src/compat/sodium/java/moe/nea/firmament/mixins/custommodels/PatchBlockModelInSodiumChunkGenerator.java
index 90f20bc..90f20bc 100644
--- a/src/main/java/moe/nea/firmament/mixins/custommodels/PatchBlockModelInSodiumChunkGenerator.java
+++ b/src/compat/sodium/java/moe/nea/firmament/mixins/custommodels/PatchBlockModelInSodiumChunkGenerator.java
diff --git a/src/main/java/moe/nea/firmament/init/AutoDiscoveryPlugin.java b/src/main/java/moe/nea/firmament/init/AutoDiscoveryPlugin.java
new file mode 100644
index 0000000..e3644c0
--- /dev/null
+++ b/src/main/java/moe/nea/firmament/init/AutoDiscoveryPlugin.java
@@ -0,0 +1,173 @@
+package moe.nea.firmament.init;
+
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Stream;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+public class AutoDiscoveryPlugin {
+ private static final List<AutoDiscoveryPlugin> mixinPlugins = new ArrayList<>();
+
+ public static List<AutoDiscoveryPlugin> getMixinPlugins() {
+ return mixinPlugins;
+ }
+
+ private String mixinPackage;
+
+ public void setMixinPackage(String mixinPackage) {
+ this.mixinPackage = mixinPackage;
+ mixinPlugins.add(this);
+ }
+
+ /**
+ * Resolves the base class root for a given class URL. This resolves either the JAR root, or the class file root.
+ * In either case the return value of this + the class name will resolve back to the original class url, or to other
+ * class urls for other classes.
+ */
+ public URL getBaseUrlForClassUrl(URL classUrl) {
+ String string = classUrl.toString();
+ if (classUrl.getProtocol().equals("jar")) {
+ try {
+ return new URL(string.substring(4).split("!")[0]);
+ } catch (MalformedURLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ if (string.endsWith(".class")) {
+ try {
+ return new URL(string.replace("\\", "/")
+ .replace(getClass().getCanonicalName()
+ .replace(".", "/") + ".class", ""));
+ } catch (MalformedURLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return classUrl;
+ }
+
+ /**
+ * Get the package that contains all the mixins. This value is set using {@link #setMixinPackage}.
+ */
+ public String getMixinPackage() {
+ return mixinPackage;
+ }
+
+ /**
+ * Get the path inside the class root to the mixin package
+ */
+ public String getMixinBaseDir() {
+ return mixinPackage.replace(".", "/");
+ }
+
+ /**
+ * A list of all discovered mixins.
+ */
+ private List<String> mixins = null;
+
+ /**
+ * Try to add mixin class ot the mixins based on the filepath inside of the class root.
+ * Removes the {@code .class} file suffix, as well as the base mixin package.
+ * <p><b>This method cannot be called after mixin initialization.</p>
+ *
+ * @param className the name or path of a class to be registered as a mixin.
+ */
+ public void tryAddMixinClass(String className) {
+ if (!className.endsWith(".class")) return;
+ String norm = (className.substring(0, className.length() - ".class".length()))
+ .replace("\\", "/")
+ .replace("/", ".");
+ if (norm.startsWith(getMixinPackage() + ".") && !norm.endsWith(".")) {
+ mixins.add(norm.substring(getMixinPackage().length() + 1));
+ }
+ }
+
+ private void tryDiscoverFromContentFile(URL url) {
+ Path file;
+ try {
+ file = Paths.get(getBaseUrlForClassUrl(url).toURI());
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ System.out.println("Base directory found at " + file);
+ if (!Files.exists(file)) {
+ System.out.println("Skipping non-existing mixin root: " + file);
+ return;
+ }
+ if (Files.isDirectory(file)) {
+ walkDir(file);
+ } else {
+ walkJar(file);
+ }
+ System.out.println("Found mixins: " + mixins);
+
+ }
+
+ /**
+ * Search through the JAR or class directory to find mixins contained in {@link #getMixinPackage()}
+ */
+ public List<String> getMixins() {
+ if (mixins != null) return mixins;
+ System.out.println("Trying to discover mixins");
+ mixins = new ArrayList<>();
+ URL classUrl = getClass().getProtectionDomain().getCodeSource().getLocation();
+ System.out.println("Found classes at " + classUrl);
+ tryDiscoverFromContentFile(classUrl);
+ var classRoots = System.getProperty("firmament.classroots");
+ if (classRoots != null && !classRoots.isBlank()) {
+ System.out.println("Found firmament class roots: " + classRoots);
+ for (String s : classRoots.split(File.pathSeparator)) {
+ if (s.isBlank()) {
+ continue;
+ }
+ try {
+ tryDiscoverFromContentFile(new File(s).toURI().toURL());
+ } catch (MalformedURLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return mixins;
+ }
+
+ /**
+ * Search through directory for mixin classes based on {@link #getMixinBaseDir}.
+ *
+ * @param classRoot The root directory in which classes are stored for the default package.
+ */
+ private void walkDir(Path classRoot) {
+ System.out.println("Trying to find mixins from directory");
+ try (Stream<Path> classes = Files.walk(classRoot.resolve(getMixinBaseDir()))) {
+ classes.map(it -> classRoot.relativize(it).toString())
+ .forEach(this::tryAddMixinClass);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Read through a JAR file, trying to find all mixins inside.
+ */
+ private void walkJar(Path file) {
+ System.out.println("Trying to find mixins from jar file");
+ try (ZipInputStream zis = new ZipInputStream(Files.newInputStream(file))) {
+ ZipEntry next;
+ while ((next = zis.getNextEntry()) != null) {
+ tryAddMixinClass(next.getName());
+ zis.closeEntry();
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+}
diff --git a/src/main/java/moe/nea/firmament/init/MixinPlugin.java b/src/main/java/moe/nea/firmament/init/MixinPlugin.java
index ea8709b..e7a02b5 100644
--- a/src/main/java/moe/nea/firmament/init/MixinPlugin.java
+++ b/src/main/java/moe/nea/firmament/init/MixinPlugin.java
@@ -12,9 +12,12 @@ import java.util.Set;
public class MixinPlugin implements IMixinConfigPlugin {
+ AutoDiscoveryPlugin autoDiscoveryPlugin = new AutoDiscoveryPlugin();
+
@Override
public void onLoad(String mixinPackage) {
MixinExtrasBootstrap.init();
+ autoDiscoveryPlugin.setMixinPackage(mixinPackage);
}
@Override
@@ -37,7 +40,7 @@ public class MixinPlugin implements IMixinConfigPlugin {
@Override
public List<String> getMixins() {
- return null;
+ return autoDiscoveryPlugin.getMixins();
}
@Override
diff --git a/src/main/kotlin/moe/nea/firmament/Firmament.kt b/src/main/kotlin/Firmament.kt
index c1801f4..c1801f4 100644
--- a/src/main/kotlin/moe/nea/firmament/Firmament.kt
+++ b/src/main/kotlin/Firmament.kt
diff --git a/src/main/kotlin/moe/nea/firmament/apis/Profiles.kt b/src/main/kotlin/apis/Profiles.kt
index 789364a..789364a 100644
--- a/src/main/kotlin/moe/nea/firmament/apis/Profiles.kt
+++ b/src/main/kotlin/apis/Profiles.kt
diff --git a/src/main/kotlin/moe/nea/firmament/apis/Routes.kt b/src/main/kotlin/apis/Routes.kt
index bf55a2d..bf55a2d 100644
--- a/src/main/kotlin/moe/nea/firmament/apis/Routes.kt
+++ b/src/main/kotlin/apis/Routes.kt
diff --git a/src/main/kotlin/moe/nea/firmament/apis/UrsaManager.kt b/src/main/kotlin/apis/UrsaManager.kt
index 13f7aef..13f7aef 100644
--- a/src/main/kotlin/moe/nea/firmament/apis/UrsaManager.kt
+++ b/src/main/kotlin/apis/UrsaManager.kt
diff --git a/src/main/kotlin/moe/nea/firmament/commands/CaseInsensitiveLiteralCommandNode.kt b/src/main/kotlin/commands/CaseInsensitiveLiteralCommandNode.kt
index 10772b0..10772b0 100644
--- a/src/main/kotlin/moe/nea/firmament/commands/CaseInsensitiveLiteralCommandNode.kt
+++ b/src/main/kotlin/commands/CaseInsensitiveLiteralCommandNode.kt
diff --git a/src/main/kotlin/moe/nea/firmament/commands/RestArgumentType.kt b/src/main/kotlin/commands/RestArgumentType.kt
index 361907f..361907f 100644
--- a/src/main/kotlin/moe/nea/firmament/commands/RestArgumentType.kt
+++ b/src/main/kotlin/commands/RestArgumentType.kt
diff --git a/src/main/kotlin/moe/nea/firmament/commands/dsl.kt b/src/main/kotlin/commands/dsl.kt
index d1f0d8c..d1f0d8c 100644
--- a/src/main/kotlin/moe/nea/firmament/commands/dsl.kt
+++ b/src/main/kotlin/commands/dsl.kt
diff --git a/src/main/kotlin/moe/nea/firmament/commands/rome.kt b/src/main/kotlin/commands/rome.kt
index 015512d..015512d 100644
--- a/src/main/kotlin/moe/nea/firmament/commands/rome.kt
+++ b/src/main/kotlin/commands/rome.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/AllowChatEvent.kt b/src/main/kotlin/events/AllowChatEvent.kt
index 3069843..3069843 100644
--- a/src/main/kotlin/moe/nea/firmament/events/AllowChatEvent.kt
+++ b/src/main/kotlin/events/AllowChatEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/AttackBlockEvent.kt b/src/main/kotlin/events/AttackBlockEvent.kt
index bbaa81d..bbaa81d 100644
--- a/src/main/kotlin/moe/nea/firmament/events/AttackBlockEvent.kt
+++ b/src/main/kotlin/events/AttackBlockEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/BakeExtraModelsEvent.kt b/src/main/kotlin/events/BakeExtraModelsEvent.kt
index f75bedc..f75bedc 100644
--- a/src/main/kotlin/moe/nea/firmament/events/BakeExtraModelsEvent.kt
+++ b/src/main/kotlin/events/BakeExtraModelsEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ClientStartedEvent.kt b/src/main/kotlin/events/ClientStartedEvent.kt
index 637916d..637916d 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ClientStartedEvent.kt
+++ b/src/main/kotlin/events/ClientStartedEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt b/src/main/kotlin/events/CommandEvent.kt
index cc9cf45..cc9cf45 100644
--- a/src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt
+++ b/src/main/kotlin/events/CommandEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/CustomItemModelEvent.kt b/src/main/kotlin/events/CustomItemModelEvent.kt
index 27524a9..27524a9 100644
--- a/src/main/kotlin/moe/nea/firmament/events/CustomItemModelEvent.kt
+++ b/src/main/kotlin/events/CustomItemModelEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/EarlyResourceReloadEvent.kt b/src/main/kotlin/events/EarlyResourceReloadEvent.kt
index ec8377a..ec8377a 100644
--- a/src/main/kotlin/moe/nea/firmament/events/EarlyResourceReloadEvent.kt
+++ b/src/main/kotlin/events/EarlyResourceReloadEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/EntityDespawnEvent.kt b/src/main/kotlin/events/EntityDespawnEvent.kt
index 93dc477..93dc477 100644
--- a/src/main/kotlin/moe/nea/firmament/events/EntityDespawnEvent.kt
+++ b/src/main/kotlin/events/EntityDespawnEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/EntityInteractionEvent.kt b/src/main/kotlin/events/EntityInteractionEvent.kt
index 123ea39..123ea39 100644
--- a/src/main/kotlin/moe/nea/firmament/events/EntityInteractionEvent.kt
+++ b/src/main/kotlin/events/EntityInteractionEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/EntityUpdateEvent.kt b/src/main/kotlin/events/EntityUpdateEvent.kt
index d091984..d091984 100644
--- a/src/main/kotlin/moe/nea/firmament/events/EntityUpdateEvent.kt
+++ b/src/main/kotlin/events/EntityUpdateEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/FeaturesInitializedEvent.kt b/src/main/kotlin/events/FeaturesInitializedEvent.kt
index ad2ad8a..ad2ad8a 100644
--- a/src/main/kotlin/moe/nea/firmament/events/FeaturesInitializedEvent.kt
+++ b/src/main/kotlin/events/FeaturesInitializedEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/FinalizeResourceManagerEvent.kt b/src/main/kotlin/events/FinalizeResourceManagerEvent.kt
index c43ad3b..c43ad3b 100644
--- a/src/main/kotlin/moe/nea/firmament/events/FinalizeResourceManagerEvent.kt
+++ b/src/main/kotlin/events/FinalizeResourceManagerEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/FirmamentEvent.kt b/src/main/kotlin/events/FirmamentEvent.kt
index 1a93ef5..1a93ef5 100644
--- a/src/main/kotlin/moe/nea/firmament/events/FirmamentEvent.kt
+++ b/src/main/kotlin/events/FirmamentEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/FirmamentEventBus.kt b/src/main/kotlin/events/FirmamentEventBus.kt
index ee9e6c8..ee9e6c8 100644
--- a/src/main/kotlin/moe/nea/firmament/events/FirmamentEventBus.kt
+++ b/src/main/kotlin/events/FirmamentEventBus.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/HandledScreenClickEvent.kt b/src/main/kotlin/events/HandledScreenClickEvent.kt
index 4c3003c..4c3003c 100644
--- a/src/main/kotlin/moe/nea/firmament/events/HandledScreenClickEvent.kt
+++ b/src/main/kotlin/events/HandledScreenClickEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/HandledScreenForegroundEvent.kt b/src/main/kotlin/events/HandledScreenForegroundEvent.kt
index f16d30e..f16d30e 100644
--- a/src/main/kotlin/moe/nea/firmament/events/HandledScreenForegroundEvent.kt
+++ b/src/main/kotlin/events/HandledScreenForegroundEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/HandledScreenKeyPressedEvent.kt b/src/main/kotlin/events/HandledScreenKeyPressedEvent.kt
index 7ec2abb..7ec2abb 100644
--- a/src/main/kotlin/moe/nea/firmament/events/HandledScreenKeyPressedEvent.kt
+++ b/src/main/kotlin/events/HandledScreenKeyPressedEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/HandledScreenPushREIEvent.kt b/src/main/kotlin/events/HandledScreenPushREIEvent.kt
index 1bb495a..1bb495a 100644
--- a/src/main/kotlin/moe/nea/firmament/events/HandledScreenPushREIEvent.kt
+++ b/src/main/kotlin/events/HandledScreenPushREIEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/HotbarItemRenderEvent.kt b/src/main/kotlin/events/HotbarItemRenderEvent.kt
index a1940e6..a1940e6 100644
--- a/src/main/kotlin/moe/nea/firmament/events/HotbarItemRenderEvent.kt
+++ b/src/main/kotlin/events/HotbarItemRenderEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/HudRenderEvent.kt b/src/main/kotlin/events/HudRenderEvent.kt
index 555b3c8..555b3c8 100644
--- a/src/main/kotlin/moe/nea/firmament/events/HudRenderEvent.kt
+++ b/src/main/kotlin/events/HudRenderEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/IsSlotProtectedEvent.kt b/src/main/kotlin/events/IsSlotProtectedEvent.kt
index cd431f7..cd431f7 100644
--- a/src/main/kotlin/moe/nea/firmament/events/IsSlotProtectedEvent.kt
+++ b/src/main/kotlin/events/IsSlotProtectedEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ItemTooltipEvent.kt b/src/main/kotlin/events/ItemTooltipEvent.kt
index d86e06f..d86e06f 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ItemTooltipEvent.kt
+++ b/src/main/kotlin/events/ItemTooltipEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/MaskCommands.kt b/src/main/kotlin/events/MaskCommands.kt
index 35aade0..35aade0 100644
--- a/src/main/kotlin/moe/nea/firmament/events/MaskCommands.kt
+++ b/src/main/kotlin/events/MaskCommands.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ModifyChatEvent.kt b/src/main/kotlin/events/ModifyChatEvent.kt
index a5868e8..a5868e8 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ModifyChatEvent.kt
+++ b/src/main/kotlin/events/ModifyChatEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/OutgoingPacketEvent.kt b/src/main/kotlin/events/OutgoingPacketEvent.kt
index 93890ea..93890ea 100644
--- a/src/main/kotlin/moe/nea/firmament/events/OutgoingPacketEvent.kt
+++ b/src/main/kotlin/events/OutgoingPacketEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ParticleSpawnEvent.kt b/src/main/kotlin/events/ParticleSpawnEvent.kt
index 9359e4b..9359e4b 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ParticleSpawnEvent.kt
+++ b/src/main/kotlin/events/ParticleSpawnEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/PlayerInventoryUpdate.kt b/src/main/kotlin/events/PlayerInventoryUpdate.kt
index 6e8203a..6e8203a 100644
--- a/src/main/kotlin/moe/nea/firmament/events/PlayerInventoryUpdate.kt
+++ b/src/main/kotlin/events/PlayerInventoryUpdate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt b/src/main/kotlin/events/ProcessChatEvent.kt
index 76c0b27..76c0b27 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt
+++ b/src/main/kotlin/events/ProcessChatEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ReloadRegistrationEvent.kt b/src/main/kotlin/events/ReloadRegistrationEvent.kt
index 4c3083e..4c3083e 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ReloadRegistrationEvent.kt
+++ b/src/main/kotlin/events/ReloadRegistrationEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ScreenChangeEvent.kt b/src/main/kotlin/events/ScreenChangeEvent.kt
index 489e487..489e487 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ScreenChangeEvent.kt
+++ b/src/main/kotlin/events/ScreenChangeEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ScreenRenderPostEvent.kt b/src/main/kotlin/events/ScreenRenderPostEvent.kt
index 79f4913..79f4913 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ScreenRenderPostEvent.kt
+++ b/src/main/kotlin/events/ScreenRenderPostEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/ServerConnectedEvent.kt b/src/main/kotlin/events/ServerConnectedEvent.kt
index 26897f2..26897f2 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ServerConnectedEvent.kt
+++ b/src/main/kotlin/events/ServerConnectedEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/SkyblockServerUpdateEvent.kt b/src/main/kotlin/events/SkyblockServerUpdateEvent.kt
index 0bc5143..0bc5143 100644
--- a/src/main/kotlin/moe/nea/firmament/events/SkyblockServerUpdateEvent.kt
+++ b/src/main/kotlin/events/SkyblockServerUpdateEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/SlotClickEvent.kt b/src/main/kotlin/events/SlotClickEvent.kt
index d4abfb0..d4abfb0 100644
--- a/src/main/kotlin/moe/nea/firmament/events/SlotClickEvent.kt
+++ b/src/main/kotlin/events/SlotClickEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/SlotRenderEvents.kt b/src/main/kotlin/events/SlotRenderEvents.kt
index 8352581..8352581 100644
--- a/src/main/kotlin/moe/nea/firmament/events/SlotRenderEvents.kt
+++ b/src/main/kotlin/events/SlotRenderEvents.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/SoundReceiveEvent.kt b/src/main/kotlin/events/SoundReceiveEvent.kt
index d1b85b6..d1b85b6 100644
--- a/src/main/kotlin/moe/nea/firmament/events/SoundReceiveEvent.kt
+++ b/src/main/kotlin/events/SoundReceiveEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/TickEvent.kt b/src/main/kotlin/events/TickEvent.kt
index 18007f8..18007f8 100644
--- a/src/main/kotlin/moe/nea/firmament/events/TickEvent.kt
+++ b/src/main/kotlin/events/TickEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/TooltipEvent.kt b/src/main/kotlin/events/TooltipEvent.kt
index 630ba56..630ba56 100644
--- a/src/main/kotlin/moe/nea/firmament/events/TooltipEvent.kt
+++ b/src/main/kotlin/events/TooltipEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/UseBlockEvent.kt b/src/main/kotlin/events/UseBlockEvent.kt
index 8bbe0de..8bbe0de 100644
--- a/src/main/kotlin/moe/nea/firmament/events/UseBlockEvent.kt
+++ b/src/main/kotlin/events/UseBlockEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/WorldKeyboardEvent.kt b/src/main/kotlin/events/WorldKeyboardEvent.kt
index e8566fd..e8566fd 100644
--- a/src/main/kotlin/moe/nea/firmament/events/WorldKeyboardEvent.kt
+++ b/src/main/kotlin/events/WorldKeyboardEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/WorldReadyEvent.kt b/src/main/kotlin/events/WorldReadyEvent.kt
index 2c76c44..2c76c44 100644
--- a/src/main/kotlin/moe/nea/firmament/events/WorldReadyEvent.kt
+++ b/src/main/kotlin/events/WorldReadyEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/WorldRenderLastEvent.kt b/src/main/kotlin/events/WorldRenderLastEvent.kt
index 21a670d..21a670d 100644
--- a/src/main/kotlin/moe/nea/firmament/events/WorldRenderLastEvent.kt
+++ b/src/main/kotlin/events/WorldRenderLastEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/registration/ChatEvents.kt b/src/main/kotlin/events/registration/ChatEvents.kt
index 4c1c63f..4c1c63f 100644
--- a/src/main/kotlin/moe/nea/firmament/events/registration/ChatEvents.kt
+++ b/src/main/kotlin/events/registration/ChatEvents.kt
diff --git a/src/main/kotlin/moe/nea/firmament/events/subscription/Subscription.kt b/src/main/kotlin/events/subscription/Subscription.kt
index 83b91c9..83b91c9 100644
--- a/src/main/kotlin/moe/nea/firmament/events/subscription/Subscription.kt
+++ b/src/main/kotlin/events/subscription/Subscription.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/FeatureManager.kt b/src/main/kotlin/features/FeatureManager.kt
index 19b91de..19b91de 100644
--- a/src/main/kotlin/moe/nea/firmament/features/FeatureManager.kt
+++ b/src/main/kotlin/features/FeatureManager.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/FirmamentFeature.kt b/src/main/kotlin/features/FirmamentFeature.kt
index 2cfc4fd..2cfc4fd 100644
--- a/src/main/kotlin/moe/nea/firmament/features/FirmamentFeature.kt
+++ b/src/main/kotlin/features/FirmamentFeature.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/chat/AutoCompletions.kt b/src/main/kotlin/features/chat/AutoCompletions.kt
index 9144898..9144898 100644
--- a/src/main/kotlin/moe/nea/firmament/features/chat/AutoCompletions.kt
+++ b/src/main/kotlin/features/chat/AutoCompletions.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/chat/ChatLinks.kt b/src/main/kotlin/features/chat/ChatLinks.kt
index f2cb78a..f2cb78a 100644
--- a/src/main/kotlin/moe/nea/firmament/features/chat/ChatLinks.kt
+++ b/src/main/kotlin/features/chat/ChatLinks.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/chat/QuickCommands.kt b/src/main/kotlin/features/chat/QuickCommands.kt
index 5944b92..5944b92 100644
--- a/src/main/kotlin/moe/nea/firmament/features/chat/QuickCommands.kt
+++ b/src/main/kotlin/features/chat/QuickCommands.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/debug/DebugLogger.kt b/src/main/kotlin/features/debug/DebugLogger.kt
index ab06030..ab06030 100644
--- a/src/main/kotlin/moe/nea/firmament/features/debug/DebugLogger.kt
+++ b/src/main/kotlin/features/debug/DebugLogger.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/debug/DebugView.kt b/src/main/kotlin/features/debug/DebugView.kt
index 7e1b8ec..7e1b8ec 100644
--- a/src/main/kotlin/moe/nea/firmament/features/debug/DebugView.kt
+++ b/src/main/kotlin/features/debug/DebugView.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt b/src/main/kotlin/features/debug/DeveloperFeatures.kt
index 20c0cfd..20c0cfd 100644
--- a/src/main/kotlin/moe/nea/firmament/features/debug/DeveloperFeatures.kt
+++ b/src/main/kotlin/features/debug/DeveloperFeatures.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/debug/MinorTrolling.kt b/src/main/kotlin/features/debug/MinorTrolling.kt
index 32035a6..32035a6 100644
--- a/src/main/kotlin/moe/nea/firmament/features/debug/MinorTrolling.kt
+++ b/src/main/kotlin/features/debug/MinorTrolling.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/debug/PowerUserTools.kt b/src/main/kotlin/features/debug/PowerUserTools.kt
index 7893eff..7893eff 100644
--- a/src/main/kotlin/moe/nea/firmament/features/debug/PowerUserTools.kt
+++ b/src/main/kotlin/features/debug/PowerUserTools.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/diana/AncestralSpadeSolver.kt b/src/main/kotlin/features/diana/AncestralSpadeSolver.kt
index 39ca6d3..39ca6d3 100644
--- a/src/main/kotlin/moe/nea/firmament/features/diana/AncestralSpadeSolver.kt
+++ b/src/main/kotlin/features/diana/AncestralSpadeSolver.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/diana/DianaWaypoints.kt b/src/main/kotlin/features/diana/DianaWaypoints.kt
index 0a34eaa..0a34eaa 100644
--- a/src/main/kotlin/moe/nea/firmament/features/diana/DianaWaypoints.kt
+++ b/src/main/kotlin/features/diana/DianaWaypoints.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/diana/NearbyBurrowsSolver.kt b/src/main/kotlin/features/diana/NearbyBurrowsSolver.kt
index 7158bb9..7158bb9 100644
--- a/src/main/kotlin/moe/nea/firmament/features/diana/NearbyBurrowsSolver.kt
+++ b/src/main/kotlin/features/diana/NearbyBurrowsSolver.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/events/anniversity/AnniversaryFeatures.kt b/src/main/kotlin/features/events/anniversity/AnniversaryFeatures.kt
index 8926a95..8926a95 100644
--- a/src/main/kotlin/moe/nea/firmament/features/events/anniversity/AnniversaryFeatures.kt
+++ b/src/main/kotlin/features/events/anniversity/AnniversaryFeatures.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/events/carnival/CarnivalFeatures.kt b/src/main/kotlin/features/events/carnival/CarnivalFeatures.kt
index 1e6d97a..1e6d97a 100644
--- a/src/main/kotlin/moe/nea/firmament/features/events/carnival/CarnivalFeatures.kt
+++ b/src/main/kotlin/features/events/carnival/CarnivalFeatures.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/events/carnival/MinesweeperHelper.kt b/src/main/kotlin/features/events/carnival/MinesweeperHelper.kt
index 06caf86..06caf86 100644
--- a/src/main/kotlin/moe/nea/firmament/features/events/carnival/MinesweeperHelper.kt
+++ b/src/main/kotlin/features/events/carnival/MinesweeperHelper.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/fixes/CompatibliltyFeatures.kt b/src/main/kotlin/features/fixes/CompatibliltyFeatures.kt
index 7c43cf6..7c43cf6 100644
--- a/src/main/kotlin/moe/nea/firmament/features/fixes/CompatibliltyFeatures.kt
+++ b/src/main/kotlin/features/fixes/CompatibliltyFeatures.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/fixes/Fixes.kt b/src/main/kotlin/features/fixes/Fixes.kt
index d7b7a1c..d7b7a1c 100644
--- a/src/main/kotlin/moe/nea/firmament/features/fixes/Fixes.kt
+++ b/src/main/kotlin/features/fixes/Fixes.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/CraftingOverlay.kt b/src/main/kotlin/features/inventory/CraftingOverlay.kt
index 031ef78..031ef78 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/CraftingOverlay.kt
+++ b/src/main/kotlin/features/inventory/CraftingOverlay.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/ItemRarityCosmetics.kt b/src/main/kotlin/features/inventory/ItemRarityCosmetics.kt
index 566a813..566a813 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/ItemRarityCosmetics.kt
+++ b/src/main/kotlin/features/inventory/ItemRarityCosmetics.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/PriceData.kt b/src/main/kotlin/features/inventory/PriceData.kt
index c61f8e8..c61f8e8 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/PriceData.kt
+++ b/src/main/kotlin/features/inventory/PriceData.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/SaveCursorPosition.kt b/src/main/kotlin/features/inventory/SaveCursorPosition.kt
index 1c55753..1c55753 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/SaveCursorPosition.kt
+++ b/src/main/kotlin/features/inventory/SaveCursorPosition.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/SlotLocking.kt b/src/main/kotlin/features/inventory/SlotLocking.kt
index a50d8fb..a50d8fb 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/SlotLocking.kt
+++ b/src/main/kotlin/features/inventory/SlotLocking.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButton.kt b/src/main/kotlin/features/inventory/buttons/InventoryButton.kt
index 539edf2..539edf2 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButton.kt
+++ b/src/main/kotlin/features/inventory/buttons/InventoryButton.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtonEditor.kt b/src/main/kotlin/features/inventory/buttons/InventoryButtonEditor.kt
index c57563e..c57563e 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtonEditor.kt
+++ b/src/main/kotlin/features/inventory/buttons/InventoryButtonEditor.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtonTemplates.kt b/src/main/kotlin/features/inventory/buttons/InventoryButtonTemplates.kt
index 99b544b..99b544b 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtonTemplates.kt
+++ b/src/main/kotlin/features/inventory/buttons/InventoryButtonTemplates.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtons.kt b/src/main/kotlin/features/inventory/buttons/InventoryButtons.kt
index fa90d21..fa90d21 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/buttons/InventoryButtons.kt
+++ b/src/main/kotlin/features/inventory/buttons/InventoryButtons.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageBackingHandle.kt b/src/main/kotlin/features/inventory/storageoverlay/StorageBackingHandle.kt
index 1015578..1015578 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageBackingHandle.kt
+++ b/src/main/kotlin/features/inventory/storageoverlay/StorageBackingHandle.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageData.kt b/src/main/kotlin/features/inventory/storageoverlay/StorageData.kt
index 7555c56..7555c56 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageData.kt
+++ b/src/main/kotlin/features/inventory/storageoverlay/StorageData.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlay.kt b/src/main/kotlin/features/inventory/storageoverlay/StorageOverlay.kt
index b615c73..b615c73 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlay.kt
+++ b/src/main/kotlin/features/inventory/storageoverlay/StorageOverlay.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayCustom.kt b/src/main/kotlin/features/inventory/storageoverlay/StorageOverlayCustom.kt
index d0d9114..d0d9114 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayCustom.kt
+++ b/src/main/kotlin/features/inventory/storageoverlay/StorageOverlayCustom.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayScreen.kt b/src/main/kotlin/features/inventory/storageoverlay/StorageOverlayScreen.kt
index 13c6974..13c6974 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayScreen.kt
+++ b/src/main/kotlin/features/inventory/storageoverlay/StorageOverlayScreen.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverviewScreen.kt b/src/main/kotlin/features/inventory/storageoverlay/StorageOverviewScreen.kt
index 2cbd54e..2cbd54e 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverviewScreen.kt
+++ b/src/main/kotlin/features/inventory/storageoverlay/StorageOverviewScreen.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StoragePageSlot.kt b/src/main/kotlin/features/inventory/storageoverlay/StoragePageSlot.kt
index 9259415..9259415 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StoragePageSlot.kt
+++ b/src/main/kotlin/features/inventory/storageoverlay/StoragePageSlot.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/VirtualInventory.kt b/src/main/kotlin/features/inventory/storageoverlay/VirtualInventory.kt
index e07df8a..e07df8a 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/VirtualInventory.kt
+++ b/src/main/kotlin/features/inventory/storageoverlay/VirtualInventory.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/mining/Histogram.kt b/src/main/kotlin/features/mining/Histogram.kt
index ed48437..ed48437 100644
--- a/src/main/kotlin/moe/nea/firmament/features/mining/Histogram.kt
+++ b/src/main/kotlin/features/mining/Histogram.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/mining/PickaxeAbility.kt b/src/main/kotlin/features/mining/PickaxeAbility.kt
index 7879f2d..7879f2d 100644
--- a/src/main/kotlin/moe/nea/firmament/features/mining/PickaxeAbility.kt
+++ b/src/main/kotlin/features/mining/PickaxeAbility.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/mining/PristineProfitTracker.kt b/src/main/kotlin/features/mining/PristineProfitTracker.kt
index f1bc7e5..f1bc7e5 100644
--- a/src/main/kotlin/moe/nea/firmament/features/mining/PristineProfitTracker.kt
+++ b/src/main/kotlin/features/mining/PristineProfitTracker.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/notifications/Notifications.kt b/src/main/kotlin/features/notifications/Notifications.kt
index 8d912d1..8d912d1 100644
--- a/src/main/kotlin/moe/nea/firmament/features/notifications/Notifications.kt
+++ b/src/main/kotlin/features/notifications/Notifications.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/AlwaysPredicate.kt b/src/main/kotlin/features/texturepack/AlwaysPredicate.kt
index 4dd28df..4dd28df 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/AlwaysPredicate.kt
+++ b/src/main/kotlin/features/texturepack/AlwaysPredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/AndPredicate.kt b/src/main/kotlin/features/texturepack/AndPredicate.kt
index 55a4f32..55a4f32 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/AndPredicate.kt
+++ b/src/main/kotlin/features/texturepack/AndPredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/BakedModelExtra.kt b/src/main/kotlin/features/texturepack/BakedModelExtra.kt
index ae1f6d5..ae1f6d5 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/BakedModelExtra.kt
+++ b/src/main/kotlin/features/texturepack/BakedModelExtra.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/BakedOverrideData.kt b/src/main/kotlin/features/texturepack/BakedOverrideData.kt
index c012883..c012883 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/BakedOverrideData.kt
+++ b/src/main/kotlin/features/texturepack/BakedOverrideData.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomBlockTextures.kt b/src/main/kotlin/features/texturepack/CustomBlockTextures.kt
index 18da54c..0f2c2e6 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomBlockTextures.kt
+++ b/src/main/kotlin/features/texturepack/CustomBlockTextures.kt
@@ -30,7 +30,6 @@ import net.minecraft.util.math.BlockPos
import net.minecraft.util.profiler.Profiler
import moe.nea.firmament.Firmament
import moe.nea.firmament.annotations.Subscribe
-import moe.nea.firmament.compat.SodiumChunkReloader
import moe.nea.firmament.events.BakeExtraModelsEvent
import moe.nea.firmament.events.EarlyResourceReloadEvent
import moe.nea.firmament.events.FinalizeResourceManagerEvent
@@ -169,7 +168,7 @@ object CustomBlockTextures {
}
private val sodiumReloadTask = runCatching {
- SodiumChunkReloader()
+ Class.forName("moe.nea.firmament.compat.sodium.SodiumChunkReloader").getConstructor().newInstance() as Runnable
}.getOrElse {
if (FabricLoader.getInstance().isModLoaded("sodium"))
logger.error("Could not create sodium chunk reloader")
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomGlobalArmorOverrides.kt b/src/main/kotlin/features/texturepack/CustomGlobalArmorOverrides.kt
index 23577ee..23577ee 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomGlobalArmorOverrides.kt
+++ b/src/main/kotlin/features/texturepack/CustomGlobalArmorOverrides.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomGlobalTextures.kt b/src/main/kotlin/features/texturepack/CustomGlobalTextures.kt
index d64c844..d64c844 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomGlobalTextures.kt
+++ b/src/main/kotlin/features/texturepack/CustomGlobalTextures.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomModelOverrideParser.kt b/src/main/kotlin/features/texturepack/CustomModelOverrideParser.kt
index a4e7c02..a4e7c02 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomModelOverrideParser.kt
+++ b/src/main/kotlin/features/texturepack/CustomModelOverrideParser.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt b/src/main/kotlin/features/texturepack/CustomSkyBlockTextures.kt
index dec6046..dec6046 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt
+++ b/src/main/kotlin/features/texturepack/CustomSkyBlockTextures.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/DisplayNamePredicate.kt b/src/main/kotlin/features/texturepack/DisplayNamePredicate.kt
index c89931e..c89931e 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/DisplayNamePredicate.kt
+++ b/src/main/kotlin/features/texturepack/DisplayNamePredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/ExtraAttributesPredicate.kt b/src/main/kotlin/features/texturepack/ExtraAttributesPredicate.kt
index 4114f45..4114f45 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/ExtraAttributesPredicate.kt
+++ b/src/main/kotlin/features/texturepack/ExtraAttributesPredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/FirmamentModelPredicate.kt b/src/main/kotlin/features/texturepack/FirmamentModelPredicate.kt
index d11fec0..d11fec0 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/FirmamentModelPredicate.kt
+++ b/src/main/kotlin/features/texturepack/FirmamentModelPredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/FirmamentModelPredicateParser.kt b/src/main/kotlin/features/texturepack/FirmamentModelPredicateParser.kt
index 3ed0c67..3ed0c67 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/FirmamentModelPredicateParser.kt
+++ b/src/main/kotlin/features/texturepack/FirmamentModelPredicateParser.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/ItemPredicate.kt b/src/main/kotlin/features/texturepack/ItemPredicate.kt
index 4302b53..4302b53 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/ItemPredicate.kt
+++ b/src/main/kotlin/features/texturepack/ItemPredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/JsonUnbakedModelFirmExtra.kt b/src/main/kotlin/features/texturepack/JsonUnbakedModelFirmExtra.kt
index ab9e27d..ab9e27d 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/JsonUnbakedModelFirmExtra.kt
+++ b/src/main/kotlin/features/texturepack/JsonUnbakedModelFirmExtra.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/LorePredicate.kt b/src/main/kotlin/features/texturepack/LorePredicate.kt
index 13e3974..13e3974 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/LorePredicate.kt
+++ b/src/main/kotlin/features/texturepack/LorePredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/ModelOverrideData.kt b/src/main/kotlin/features/texturepack/ModelOverrideData.kt
index 1585bd7..1585bd7 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/ModelOverrideData.kt
+++ b/src/main/kotlin/features/texturepack/ModelOverrideData.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/ModelOverrideFilterSet.kt b/src/main/kotlin/features/texturepack/ModelOverrideFilterSet.kt
index 4ef8d06..4ef8d06 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/ModelOverrideFilterSet.kt
+++ b/src/main/kotlin/features/texturepack/ModelOverrideFilterSet.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/NotPredicate.kt b/src/main/kotlin/features/texturepack/NotPredicate.kt
index ecd67c3..ecd67c3 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/NotPredicate.kt
+++ b/src/main/kotlin/features/texturepack/NotPredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/NumberMatcher.kt b/src/main/kotlin/features/texturepack/NumberMatcher.kt
index 7e6665f..7e6665f 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/NumberMatcher.kt
+++ b/src/main/kotlin/features/texturepack/NumberMatcher.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/OrPredicate.kt b/src/main/kotlin/features/texturepack/OrPredicate.kt
index 32f556b..32f556b 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/OrPredicate.kt
+++ b/src/main/kotlin/features/texturepack/OrPredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/PetPredicate.kt b/src/main/kotlin/features/texturepack/PetPredicate.kt
index 5e5d750..5e5d750 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/PetPredicate.kt
+++ b/src/main/kotlin/features/texturepack/PetPredicate.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/RarityMatcher.kt b/src/main/kotlin/features/texturepack/RarityMatcher.kt
index 634a171..634a171 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/RarityMatcher.kt
+++ b/src/main/kotlin/features/texturepack/RarityMatcher.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/StringMatcher.kt b/src/main/kotlin/features/texturepack/StringMatcher.kt
index 5eb86ac..5eb86ac 100644
--- a/src/main/kotlin/moe/nea/firmament/features/texturepack/StringMatcher.kt
+++ b/src/main/kotlin/features/texturepack/StringMatcher.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/world/FairySouls.kt b/src/main/kotlin/features/world/FairySouls.kt
index 8a8291a..8a8291a 100644
--- a/src/main/kotlin/moe/nea/firmament/features/world/FairySouls.kt
+++ b/src/main/kotlin/features/world/FairySouls.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/world/NPCWaypoints.kt b/src/main/kotlin/features/world/NPCWaypoints.kt
index 592b8fa..592b8fa 100644
--- a/src/main/kotlin/moe/nea/firmament/features/world/NPCWaypoints.kt
+++ b/src/main/kotlin/features/world/NPCWaypoints.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/world/NavigableWaypoint.kt b/src/main/kotlin/features/world/NavigableWaypoint.kt
index 28a517f..28a517f 100644
--- a/src/main/kotlin/moe/nea/firmament/features/world/NavigableWaypoint.kt
+++ b/src/main/kotlin/features/world/NavigableWaypoint.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/world/NavigationHelper.kt b/src/main/kotlin/features/world/NavigationHelper.kt
index acdfb86..acdfb86 100644
--- a/src/main/kotlin/moe/nea/firmament/features/world/NavigationHelper.kt
+++ b/src/main/kotlin/features/world/NavigationHelper.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt b/src/main/kotlin/features/world/NpcWaypointGui.kt
index 6146e50..6146e50 100644
--- a/src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt
+++ b/src/main/kotlin/features/world/NpcWaypointGui.kt
diff --git a/src/main/kotlin/moe/nea/firmament/features/world/Waypoints.kt b/src/main/kotlin/features/world/Waypoints.kt
index 91a06da..91a06da 100644
--- a/src/main/kotlin/moe/nea/firmament/features/world/Waypoints.kt
+++ b/src/main/kotlin/features/world/Waypoints.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/BarComponent.kt b/src/main/kotlin/gui/BarComponent.kt
index 8ef0753..8ef0753 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/BarComponent.kt
+++ b/src/main/kotlin/gui/BarComponent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/FirmButtonComponent.kt b/src/main/kotlin/gui/FirmButtonComponent.kt
index 82e5b05..82e5b05 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/FirmButtonComponent.kt
+++ b/src/main/kotlin/gui/FirmButtonComponent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/FirmHoverComponent.kt b/src/main/kotlin/gui/FirmHoverComponent.kt
index b1792ce..b1792ce 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/FirmHoverComponent.kt
+++ b/src/main/kotlin/gui/FirmHoverComponent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/FixedComponent.kt b/src/main/kotlin/gui/FixedComponent.kt
index ae1da2d..ae1da2d 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/FixedComponent.kt
+++ b/src/main/kotlin/gui/FixedComponent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/ImageComponent.kt b/src/main/kotlin/gui/ImageComponent.kt
index bba7dee..bba7dee 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/ImageComponent.kt
+++ b/src/main/kotlin/gui/ImageComponent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/TickComponent.kt b/src/main/kotlin/gui/TickComponent.kt
index d1879b1..d1879b1 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/TickComponent.kt
+++ b/src/main/kotlin/gui/TickComponent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/AllConfigsGui.kt b/src/main/kotlin/gui/config/AllConfigsGui.kt
index 4f7731c..4f7731c 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/AllConfigsGui.kt
+++ b/src/main/kotlin/gui/config/AllConfigsGui.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/BooleanHandler.kt b/src/main/kotlin/gui/config/BooleanHandler.kt
index 8592777..8592777 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/BooleanHandler.kt
+++ b/src/main/kotlin/gui/config/BooleanHandler.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/ClickHandler.kt b/src/main/kotlin/gui/config/ClickHandler.kt
index fa1c621..fa1c621 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/ClickHandler.kt
+++ b/src/main/kotlin/gui/config/ClickHandler.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/DurationHandler.kt b/src/main/kotlin/gui/config/DurationHandler.kt
index 8d485b1..8d485b1 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/DurationHandler.kt
+++ b/src/main/kotlin/gui/config/DurationHandler.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/GuiAppender.kt b/src/main/kotlin/gui/config/GuiAppender.kt
index 329319d..329319d 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/GuiAppender.kt
+++ b/src/main/kotlin/gui/config/GuiAppender.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/HudMetaHandler.kt b/src/main/kotlin/gui/config/HudMetaHandler.kt
index 35c9d51..35c9d51 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/HudMetaHandler.kt
+++ b/src/main/kotlin/gui/config/HudMetaHandler.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/IntegerHandler.kt b/src/main/kotlin/gui/config/IntegerHandler.kt
index 31ce90f..31ce90f 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/IntegerHandler.kt
+++ b/src/main/kotlin/gui/config/IntegerHandler.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/JAnyHud.kt b/src/main/kotlin/gui/config/JAnyHud.kt
index 35c4eb2..35c4eb2 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/JAnyHud.kt
+++ b/src/main/kotlin/gui/config/JAnyHud.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/KeyBindingHandler.kt b/src/main/kotlin/gui/config/KeyBindingHandler.kt
index c389cc9..c389cc9 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/KeyBindingHandler.kt
+++ b/src/main/kotlin/gui/config/KeyBindingHandler.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt b/src/main/kotlin/gui/config/ManagedConfig.kt
index aa6e3c8..aa6e3c8 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt
+++ b/src/main/kotlin/gui/config/ManagedConfig.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfigElement.kt b/src/main/kotlin/gui/config/ManagedConfigElement.kt
index 28cd6b8..28cd6b8 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfigElement.kt
+++ b/src/main/kotlin/gui/config/ManagedConfigElement.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/ManagedOption.kt b/src/main/kotlin/gui/config/ManagedOption.kt
index b7264e8..b7264e8 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/ManagedOption.kt
+++ b/src/main/kotlin/gui/config/ManagedOption.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/StringHandler.kt b/src/main/kotlin/gui/config/StringHandler.kt
index a326abb..a326abb 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/config/StringHandler.kt
+++ b/src/main/kotlin/gui/config/StringHandler.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/EntityModifier.kt b/src/main/kotlin/gui/entity/EntityModifier.kt
index 9623070..9623070 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/EntityModifier.kt
+++ b/src/main/kotlin/gui/entity/EntityModifier.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/EntityRenderer.kt b/src/main/kotlin/gui/entity/EntityRenderer.kt
index 8c7428d..8c7428d 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/EntityRenderer.kt
+++ b/src/main/kotlin/gui/entity/EntityRenderer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/EntityWidget.kt b/src/main/kotlin/gui/entity/EntityWidget.kt
index 2e49072..2e49072 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/EntityWidget.kt
+++ b/src/main/kotlin/gui/entity/EntityWidget.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/FakeWorld.kt b/src/main/kotlin/gui/entity/FakeWorld.kt
index f354d5a..f354d5a 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/FakeWorld.kt
+++ b/src/main/kotlin/gui/entity/FakeWorld.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/GuiPlayer.kt b/src/main/kotlin/gui/entity/GuiPlayer.kt
index d00b44d..d00b44d 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/GuiPlayer.kt
+++ b/src/main/kotlin/gui/entity/GuiPlayer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt b/src/main/kotlin/gui/entity/ModifyAge.kt
index a65c368..a65c368 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt
+++ b/src/main/kotlin/gui/entity/ModifyAge.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyCharged.kt b/src/main/kotlin/gui/entity/ModifyCharged.kt
index d22f6e3..d22f6e3 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyCharged.kt
+++ b/src/main/kotlin/gui/entity/ModifyCharged.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyEquipment.kt b/src/main/kotlin/gui/entity/ModifyEquipment.kt
index 73e450e..73e450e 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyEquipment.kt
+++ b/src/main/kotlin/gui/entity/ModifyEquipment.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyHorse.kt b/src/main/kotlin/gui/entity/ModifyHorse.kt
index 8ac011b..8ac011b 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyHorse.kt
+++ b/src/main/kotlin/gui/entity/ModifyHorse.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyInvisible.kt b/src/main/kotlin/gui/entity/ModifyInvisible.kt
index 8d36991..8d36991 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyInvisible.kt
+++ b/src/main/kotlin/gui/entity/ModifyInvisible.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyName.kt b/src/main/kotlin/gui/entity/ModifyName.kt
index a03da96..a03da96 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyName.kt
+++ b/src/main/kotlin/gui/entity/ModifyName.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyPlayerSkin.kt b/src/main/kotlin/gui/entity/ModifyPlayerSkin.kt
index 28f0070..28f0070 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyPlayerSkin.kt
+++ b/src/main/kotlin/gui/entity/ModifyPlayerSkin.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyRiding.kt b/src/main/kotlin/gui/entity/ModifyRiding.kt
index 5c4c78d..5c4c78d 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyRiding.kt
+++ b/src/main/kotlin/gui/entity/ModifyRiding.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyWither.kt b/src/main/kotlin/gui/entity/ModifyWither.kt
index 6083d88..6083d88 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyWither.kt
+++ b/src/main/kotlin/gui/entity/ModifyWither.kt
diff --git a/src/main/kotlin/moe/nea/firmament/gui/hud/MoulConfigHud.kt b/src/main/kotlin/gui/hud/MoulConfigHud.kt
index e77d9af..e77d9af 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/hud/MoulConfigHud.kt
+++ b/src/main/kotlin/gui/hud/MoulConfigHud.kt
diff --git a/src/main/kotlin/moe/nea/firmament/jarvis/JarvisIntegration.kt b/src/main/kotlin/jarvis/JarvisIntegration.kt
index 96f47f7..96f47f7 100644
--- a/src/main/kotlin/moe/nea/firmament/jarvis/JarvisIntegration.kt
+++ b/src/main/kotlin/jarvis/JarvisIntegration.kt
diff --git a/src/main/kotlin/moe/nea/firmament/keybindings/FirmamentKeyBindings.kt b/src/main/kotlin/keybindings/FirmamentKeyBindings.kt
index e2bed8d..e2bed8d 100644
--- a/src/main/kotlin/moe/nea/firmament/keybindings/FirmamentKeyBindings.kt
+++ b/src/main/kotlin/keybindings/FirmamentKeyBindings.kt
diff --git a/src/main/kotlin/moe/nea/firmament/keybindings/IKeyBinding.kt b/src/main/kotlin/keybindings/IKeyBinding.kt
index 1975361..1975361 100644
--- a/src/main/kotlin/moe/nea/firmament/keybindings/IKeyBinding.kt
+++ b/src/main/kotlin/keybindings/IKeyBinding.kt
diff --git a/src/main/kotlin/moe/nea/firmament/keybindings/SavedKeyBinding.kt b/src/main/kotlin/keybindings/SavedKeyBinding.kt
index 8607fd0..8607fd0 100644
--- a/src/main/kotlin/moe/nea/firmament/keybindings/SavedKeyBinding.kt
+++ b/src/main/kotlin/keybindings/SavedKeyBinding.kt
diff --git a/src/main/kotlin/moe/nea/firmament/modmenu/FirmamentModMenuPlugin.kt b/src/main/kotlin/modmenu/FirmamentModMenuPlugin.kt
index f889bf3..f889bf3 100644
--- a/src/main/kotlin/moe/nea/firmament/modmenu/FirmamentModMenuPlugin.kt
+++ b/src/main/kotlin/modmenu/FirmamentModMenuPlugin.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/FirmamentReiPlugin.kt b/src/main/kotlin/rei/FirmamentReiPlugin.kt
index b585336..b585336 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/FirmamentReiPlugin.kt
+++ b/src/main/kotlin/rei/FirmamentReiPlugin.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/NEUItemEntryRenderer.kt b/src/main/kotlin/rei/NEUItemEntryRenderer.kt
index ba99b30..ba99b30 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/NEUItemEntryRenderer.kt
+++ b/src/main/kotlin/rei/NEUItemEntryRenderer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/NEUItemEntrySerializer.kt b/src/main/kotlin/rei/NEUItemEntrySerializer.kt
index a35d75f..a35d75f 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/NEUItemEntrySerializer.kt
+++ b/src/main/kotlin/rei/NEUItemEntrySerializer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/SBItemEntryDefinition.kt b/src/main/kotlin/rei/SBItemEntryDefinition.kt
index 5c6740e..5c6740e 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/SBItemEntryDefinition.kt
+++ b/src/main/kotlin/rei/SBItemEntryDefinition.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/SkyblockCraftingRecipeDynamicGenerator.kt b/src/main/kotlin/rei/SkyblockCraftingRecipeDynamicGenerator.kt
index 5136902..5136902 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/SkyblockCraftingRecipeDynamicGenerator.kt
+++ b/src/main/kotlin/rei/SkyblockCraftingRecipeDynamicGenerator.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/SkyblockItemIdFocusedStackProvider.kt b/src/main/kotlin/rei/SkyblockItemIdFocusedStackProvider.kt
index bb0a5a5..bb0a5a5 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/SkyblockItemIdFocusedStackProvider.kt
+++ b/src/main/kotlin/rei/SkyblockItemIdFocusedStackProvider.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/math.kt b/src/main/kotlin/rei/math.kt
index 1318beb..1318beb 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/math.kt
+++ b/src/main/kotlin/rei/math.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBCraftingRecipe.kt b/src/main/kotlin/rei/recipes/SBCraftingRecipe.kt
index d6bbf0c..d6bbf0c 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBCraftingRecipe.kt
+++ b/src/main/kotlin/rei/recipes/SBCraftingRecipe.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBEssenceUpgradeRecipe.kt b/src/main/kotlin/rei/recipes/SBEssenceUpgradeRecipe.kt
index 80bc2b7..80bc2b7 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBEssenceUpgradeRecipe.kt
+++ b/src/main/kotlin/rei/recipes/SBEssenceUpgradeRecipe.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBForgeRecipe.kt b/src/main/kotlin/rei/recipes/SBForgeRecipe.kt
index 569f4a0..569f4a0 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBForgeRecipe.kt
+++ b/src/main/kotlin/rei/recipes/SBForgeRecipe.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBKatRecipe.kt b/src/main/kotlin/rei/recipes/SBKatRecipe.kt
index f906a43..f906a43 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBKatRecipe.kt
+++ b/src/main/kotlin/rei/recipes/SBKatRecipe.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBMobDropRecipe.kt b/src/main/kotlin/rei/recipes/SBMobDropRecipe.kt
index a02220f..a02220f 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBMobDropRecipe.kt
+++ b/src/main/kotlin/rei/recipes/SBMobDropRecipe.kt
diff --git a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBRecipe.kt b/src/main/kotlin/rei/recipes/SBRecipe.kt
index 7872d83..7872d83 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/recipes/SBRecipe.kt
+++ b/src/main/kotlin/rei/recipes/SBRecipe.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/BetterRepoRecipeCache.kt b/src/main/kotlin/repo/BetterRepoRecipeCache.kt
index 91a6b50..91a6b50 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/BetterRepoRecipeCache.kt
+++ b/src/main/kotlin/repo/BetterRepoRecipeCache.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/EssenceRecipeProvider.kt b/src/main/kotlin/repo/EssenceRecipeProvider.kt
index 1833258..1833258 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/EssenceRecipeProvider.kt
+++ b/src/main/kotlin/repo/EssenceRecipeProvider.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/ExpLadder.kt b/src/main/kotlin/repo/ExpLadder.kt
index fbc9eb8..fbc9eb8 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/ExpLadder.kt
+++ b/src/main/kotlin/repo/ExpLadder.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/HypixelStaticData.kt b/src/main/kotlin/repo/HypixelStaticData.kt
index 5c2a2fc..5c2a2fc 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/HypixelStaticData.kt
+++ b/src/main/kotlin/repo/HypixelStaticData.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/ItemCache.kt b/src/main/kotlin/repo/ItemCache.kt
index 08143be..08143be 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/ItemCache.kt
+++ b/src/main/kotlin/repo/ItemCache.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/ItemNameLookup.kt b/src/main/kotlin/repo/ItemNameLookup.kt
index 770de85..770de85 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/ItemNameLookup.kt
+++ b/src/main/kotlin/repo/ItemNameLookup.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/RepoDownloadManager.kt b/src/main/kotlin/repo/RepoDownloadManager.kt
index d674f23..d674f23 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/RepoDownloadManager.kt
+++ b/src/main/kotlin/repo/RepoDownloadManager.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/RepoManager.kt b/src/main/kotlin/repo/RepoManager.kt
index f0da397..f0da397 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/RepoManager.kt
+++ b/src/main/kotlin/repo/RepoManager.kt
diff --git a/src/main/kotlin/moe/nea/firmament/repo/RepoModResourcePack.kt b/src/main/kotlin/repo/RepoModResourcePack.kt
index f92fe4f..f92fe4f 100644
--- a/src/main/kotlin/moe/nea/firmament/repo/RepoModResourcePack.kt
+++ b/src/main/kotlin/repo/RepoModResourcePack.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/Base64Util.kt b/src/main/kotlin/util/Base64Util.kt
index 44bcdfd..44bcdfd 100644
--- a/src/main/kotlin/moe/nea/firmament/util/Base64Util.kt
+++ b/src/main/kotlin/util/Base64Util.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/BazaarPriceStrategy.kt b/src/main/kotlin/util/BazaarPriceStrategy.kt
index 002eedb..002eedb 100644
--- a/src/main/kotlin/moe/nea/firmament/util/BazaarPriceStrategy.kt
+++ b/src/main/kotlin/util/BazaarPriceStrategy.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/ClipboardUtils.kt b/src/main/kotlin/util/ClipboardUtils.kt
index 7b9b836..7b9b836 100644
--- a/src/main/kotlin/moe/nea/firmament/util/ClipboardUtils.kt
+++ b/src/main/kotlin/util/ClipboardUtils.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/CommonSoundEffects.kt b/src/main/kotlin/util/CommonSoundEffects.kt
index a97a2cb..a97a2cb 100644
--- a/src/main/kotlin/moe/nea/firmament/util/CommonSoundEffects.kt
+++ b/src/main/kotlin/util/CommonSoundEffects.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/DurabilityBarEvent.kt b/src/main/kotlin/util/DurabilityBarEvent.kt
index 993462c..993462c 100644
--- a/src/main/kotlin/moe/nea/firmament/util/DurabilityBarEvent.kt
+++ b/src/main/kotlin/util/DurabilityBarEvent.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/ErrorBoundary.kt b/src/main/kotlin/util/ErrorBoundary.kt
index fbc5b37..fbc5b37 100644
--- a/src/main/kotlin/moe/nea/firmament/util/ErrorBoundary.kt
+++ b/src/main/kotlin/util/ErrorBoundary.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/FirmFormatters.kt b/src/main/kotlin/util/FirmFormatters.kt
index c3bdd16..c3bdd16 100644
--- a/src/main/kotlin/moe/nea/firmament/util/FirmFormatters.kt
+++ b/src/main/kotlin/util/FirmFormatters.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/FragmentGuiScreen.kt b/src/main/kotlin/util/FragmentGuiScreen.kt
index 5e13d51..5e13d51 100644
--- a/src/main/kotlin/moe/nea/firmament/util/FragmentGuiScreen.kt
+++ b/src/main/kotlin/util/FragmentGuiScreen.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/GetRectangle.kt b/src/main/kotlin/util/GetRectangle.kt
index ec64f31..ec64f31 100644
--- a/src/main/kotlin/moe/nea/firmament/util/GetRectangle.kt
+++ b/src/main/kotlin/util/GetRectangle.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/HoveredItemStack.kt b/src/main/kotlin/util/HoveredItemStack.kt
index 47a59d0..47a59d0 100644
--- a/src/main/kotlin/moe/nea/firmament/util/HoveredItemStack.kt
+++ b/src/main/kotlin/util/HoveredItemStack.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/IdentifierSerializer.kt b/src/main/kotlin/util/IdentifierSerializer.kt
index 65c5b1c..65c5b1c 100644
--- a/src/main/kotlin/moe/nea/firmament/util/IdentifierSerializer.kt
+++ b/src/main/kotlin/util/IdentifierSerializer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/IdentityCharacteristics.kt b/src/main/kotlin/util/IdentityCharacteristics.kt
index f6054c4..f6054c4 100644
--- a/src/main/kotlin/moe/nea/firmament/util/IdentityCharacteristics.kt
+++ b/src/main/kotlin/util/IdentityCharacteristics.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/ItemUtil.kt b/src/main/kotlin/util/ItemUtil.kt
index 40d6198..40d6198 100644
--- a/src/main/kotlin/moe/nea/firmament/util/ItemUtil.kt
+++ b/src/main/kotlin/util/ItemUtil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/LegacyFormattingCode.kt b/src/main/kotlin/util/LegacyFormattingCode.kt
index 44bacfc..44bacfc 100644
--- a/src/main/kotlin/moe/nea/firmament/util/LegacyFormattingCode.kt
+++ b/src/main/kotlin/util/LegacyFormattingCode.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/LegacyTagParser.kt b/src/main/kotlin/util/LegacyTagParser.kt
index 4e08da1..4e08da1 100644
--- a/src/main/kotlin/moe/nea/firmament/util/LegacyTagParser.kt
+++ b/src/main/kotlin/util/LegacyTagParser.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/LoadResource.kt b/src/main/kotlin/util/LoadResource.kt
index 4bc8704..4bc8704 100644
--- a/src/main/kotlin/moe/nea/firmament/util/LoadResource.kt
+++ b/src/main/kotlin/util/LoadResource.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/Locraw.kt b/src/main/kotlin/util/Locraw.kt
index 9778bc7..9778bc7 100644
--- a/src/main/kotlin/moe/nea/firmament/util/Locraw.kt
+++ b/src/main/kotlin/util/Locraw.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/LogIfNull.kt b/src/main/kotlin/util/LogIfNull.kt
index 600c5e6..600c5e6 100644
--- a/src/main/kotlin/moe/nea/firmament/util/LogIfNull.kt
+++ b/src/main/kotlin/util/LogIfNull.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/MC.kt b/src/main/kotlin/util/MC.kt
index b0d3056..b0d3056 100644
--- a/src/main/kotlin/moe/nea/firmament/util/MC.kt
+++ b/src/main/kotlin/util/MC.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/MinecraftDispatcher.kt b/src/main/kotlin/util/MinecraftDispatcher.kt
index d1f22a9..d1f22a9 100644
--- a/src/main/kotlin/moe/nea/firmament/util/MinecraftDispatcher.kt
+++ b/src/main/kotlin/util/MinecraftDispatcher.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt b/src/main/kotlin/util/MoulConfigFragment.kt
index 36132cd..36132cd 100644
--- a/src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt
+++ b/src/main/kotlin/util/MoulConfigFragment.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/MoulConfigUtils.kt b/src/main/kotlin/util/MoulConfigUtils.kt
index 00561d1..00561d1 100644
--- a/src/main/kotlin/moe/nea/firmament/util/MoulConfigUtils.kt
+++ b/src/main/kotlin/util/MoulConfigUtils.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/MutableMapWithMaxSize.kt b/src/main/kotlin/util/MutableMapWithMaxSize.kt
index 067e652..067e652 100644
--- a/src/main/kotlin/moe/nea/firmament/util/MutableMapWithMaxSize.kt
+++ b/src/main/kotlin/util/MutableMapWithMaxSize.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/SBData.kt b/src/main/kotlin/util/SBData.kt
index b30c6fb..b30c6fb 100644
--- a/src/main/kotlin/moe/nea/firmament/util/SBData.kt
+++ b/src/main/kotlin/util/SBData.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/ScoreboardUtil.kt b/src/main/kotlin/util/ScoreboardUtil.kt
index 4311971..4311971 100644
--- a/src/main/kotlin/moe/nea/firmament/util/ScoreboardUtil.kt
+++ b/src/main/kotlin/util/ScoreboardUtil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/ScreenUtil.kt b/src/main/kotlin/util/ScreenUtil.kt
index 99d77fb..99d77fb 100644
--- a/src/main/kotlin/moe/nea/firmament/util/ScreenUtil.kt
+++ b/src/main/kotlin/util/ScreenUtil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/SequenceUtil.kt b/src/main/kotlin/util/SequenceUtil.kt
index 7b5bad0..7b5bad0 100644
--- a/src/main/kotlin/moe/nea/firmament/util/SequenceUtil.kt
+++ b/src/main/kotlin/util/SequenceUtil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/SkyBlockIsland.kt b/src/main/kotlin/util/SkyBlockIsland.kt
index bd0567d..bd0567d 100644
--- a/src/main/kotlin/moe/nea/firmament/util/SkyBlockIsland.kt
+++ b/src/main/kotlin/util/SkyBlockIsland.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/SkyblockId.kt b/src/main/kotlin/util/SkyblockId.kt
index 59b1d2c..59b1d2c 100644
--- a/src/main/kotlin/moe/nea/firmament/util/SkyblockId.kt
+++ b/src/main/kotlin/util/SkyblockId.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/SortedMapSerializer.kt b/src/main/kotlin/util/SortedMapSerializer.kt
index baa10ad..baa10ad 100644
--- a/src/main/kotlin/moe/nea/firmament/util/SortedMapSerializer.kt
+++ b/src/main/kotlin/util/SortedMapSerializer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/TemplateUtil.kt b/src/main/kotlin/util/TemplateUtil.kt
index 11100e9..11100e9 100644
--- a/src/main/kotlin/moe/nea/firmament/util/TemplateUtil.kt
+++ b/src/main/kotlin/util/TemplateUtil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/TimeMark.kt b/src/main/kotlin/util/TimeMark.kt
index 1264212..1264212 100644
--- a/src/main/kotlin/moe/nea/firmament/util/TimeMark.kt
+++ b/src/main/kotlin/util/TimeMark.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/Timer.kt b/src/main/kotlin/util/Timer.kt
index 6e9b467..6e9b467 100644
--- a/src/main/kotlin/moe/nea/firmament/util/Timer.kt
+++ b/src/main/kotlin/util/Timer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/WarpUtil.kt b/src/main/kotlin/util/WarpUtil.kt
index 8fca6f3..8fca6f3 100644
--- a/src/main/kotlin/moe/nea/firmament/util/WarpUtil.kt
+++ b/src/main/kotlin/util/WarpUtil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/assertions.kt b/src/main/kotlin/util/assertions.kt
index 6f2ed19..6f2ed19 100644
--- a/src/main/kotlin/moe/nea/firmament/util/assertions.kt
+++ b/src/main/kotlin/util/assertions.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/async/input.kt b/src/main/kotlin/util/async/input.kt
index 9aab5cf..9aab5cf 100644
--- a/src/main/kotlin/moe/nea/firmament/util/async/input.kt
+++ b/src/main/kotlin/util/async/input.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/colorconversion.kt b/src/main/kotlin/util/colorconversion.kt
index d7a5dad..d7a5dad 100644
--- a/src/main/kotlin/moe/nea/firmament/util/colorconversion.kt
+++ b/src/main/kotlin/util/colorconversion.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/customgui/CoordRememberingSlot.kt b/src/main/kotlin/util/customgui/CoordRememberingSlot.kt
index c61c711..c61c711 100644
--- a/src/main/kotlin/moe/nea/firmament/util/customgui/CoordRememberingSlot.kt
+++ b/src/main/kotlin/util/customgui/CoordRememberingSlot.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/customgui/CustomGui.kt b/src/main/kotlin/util/customgui/CustomGui.kt
index f9094b2..f9094b2 100644
--- a/src/main/kotlin/moe/nea/firmament/util/customgui/CustomGui.kt
+++ b/src/main/kotlin/util/customgui/CustomGui.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/customgui/HasCustomGui.kt b/src/main/kotlin/util/customgui/HasCustomGui.kt
index edead2e..edead2e 100644
--- a/src/main/kotlin/moe/nea/firmament/util/customgui/HasCustomGui.kt
+++ b/src/main/kotlin/util/customgui/HasCustomGui.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/data/DataHolder.kt b/src/main/kotlin/util/data/DataHolder.kt
index 21a6014..21a6014 100644
--- a/src/main/kotlin/moe/nea/firmament/util/data/DataHolder.kt
+++ b/src/main/kotlin/util/data/DataHolder.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/data/IDataHolder.kt b/src/main/kotlin/util/data/IDataHolder.kt
index 5d09bcd..5d09bcd 100644
--- a/src/main/kotlin/moe/nea/firmament/util/data/IDataHolder.kt
+++ b/src/main/kotlin/util/data/IDataHolder.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/data/ProfileSpecificDataHolder.kt b/src/main/kotlin/util/data/ProfileSpecificDataHolder.kt
index 1cd4f22..1cd4f22 100644
--- a/src/main/kotlin/moe/nea/firmament/util/data/ProfileSpecificDataHolder.kt
+++ b/src/main/kotlin/util/data/ProfileSpecificDataHolder.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/filter/IteratorFilterSet.kt b/src/main/kotlin/util/filter/IteratorFilterSet.kt
index 483b8d9..483b8d9 100644
--- a/src/main/kotlin/moe/nea/firmament/util/filter/IteratorFilterSet.kt
+++ b/src/main/kotlin/util/filter/IteratorFilterSet.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/item/NbtItemData.kt b/src/main/kotlin/util/item/NbtItemData.kt
index f7f259d..f7f259d 100644
--- a/src/main/kotlin/moe/nea/firmament/util/item/NbtItemData.kt
+++ b/src/main/kotlin/util/item/NbtItemData.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/item/SkullItemData.kt b/src/main/kotlin/util/item/SkullItemData.kt
index ddab88e..ddab88e 100644
--- a/src/main/kotlin/moe/nea/firmament/util/item/SkullItemData.kt
+++ b/src/main/kotlin/util/item/SkullItemData.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/json/BlockPosSerializer.kt b/src/main/kotlin/util/json/BlockPosSerializer.kt
index 144b0a0..144b0a0 100644
--- a/src/main/kotlin/moe/nea/firmament/util/json/BlockPosSerializer.kt
+++ b/src/main/kotlin/util/json/BlockPosSerializer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/json/DashlessUUIDSerializer.kt b/src/main/kotlin/util/json/DashlessUUIDSerializer.kt
index acb1dc8..acb1dc8 100644
--- a/src/main/kotlin/moe/nea/firmament/util/json/DashlessUUIDSerializer.kt
+++ b/src/main/kotlin/util/json/DashlessUUIDSerializer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/json/InstantAsLongSerializer.kt b/src/main/kotlin/util/json/InstantAsLongSerializer.kt
index ad738dc..ad738dc 100644
--- a/src/main/kotlin/moe/nea/firmament/util/json/InstantAsLongSerializer.kt
+++ b/src/main/kotlin/util/json/InstantAsLongSerializer.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/json/SingletonSerializableList.kt b/src/main/kotlin/util/json/SingletonSerializableList.kt
index aa543d6..aa543d6 100644
--- a/src/main/kotlin/moe/nea/firmament/util/json/SingletonSerializableList.kt
+++ b/src/main/kotlin/util/json/SingletonSerializableList.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/listutil.kt b/src/main/kotlin/util/listutil.kt
index 73cb23e..73cb23e 100644
--- a/src/main/kotlin/moe/nea/firmament/util/listutil.kt
+++ b/src/main/kotlin/util/listutil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/propertyutil.kt b/src/main/kotlin/util/propertyutil.kt
index 795a0d2..795a0d2 100644
--- a/src/main/kotlin/moe/nea/firmament/util/propertyutil.kt
+++ b/src/main/kotlin/util/propertyutil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/regex.kt b/src/main/kotlin/util/regex.kt
index 3ce5bd8..3ce5bd8 100644
--- a/src/main/kotlin/moe/nea/firmament/util/regex.kt
+++ b/src/main/kotlin/util/regex.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/render/FacingThePlayerContext.kt b/src/main/kotlin/util/render/FacingThePlayerContext.kt
index eb37e35..eb37e35 100644
--- a/src/main/kotlin/moe/nea/firmament/util/render/FacingThePlayerContext.kt
+++ b/src/main/kotlin/util/render/FacingThePlayerContext.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/render/LerpUtils.kt b/src/main/kotlin/util/render/LerpUtils.kt
index f2c2f25..f2c2f25 100644
--- a/src/main/kotlin/moe/nea/firmament/util/render/LerpUtils.kt
+++ b/src/main/kotlin/util/render/LerpUtils.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/render/RenderCircleProgress.kt b/src/main/kotlin/util/render/RenderCircleProgress.kt
index a2f42b5..a2f42b5 100644
--- a/src/main/kotlin/moe/nea/firmament/util/render/RenderCircleProgress.kt
+++ b/src/main/kotlin/util/render/RenderCircleProgress.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/render/RenderContextDSL.kt b/src/main/kotlin/util/render/RenderContextDSL.kt
index 9bb4431..9bb4431 100644
--- a/src/main/kotlin/moe/nea/firmament/util/render/RenderContextDSL.kt
+++ b/src/main/kotlin/util/render/RenderContextDSL.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/render/RenderInWorldContext.kt b/src/main/kotlin/util/render/RenderInWorldContext.kt
index 7faa499..7faa499 100644
--- a/src/main/kotlin/moe/nea/firmament/util/render/RenderInWorldContext.kt
+++ b/src/main/kotlin/util/render/RenderInWorldContext.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/render/TranslatedScissors.kt b/src/main/kotlin/util/render/TranslatedScissors.kt
index c1e6544..c1e6544 100644
--- a/src/main/kotlin/moe/nea/firmament/util/render/TranslatedScissors.kt
+++ b/src/main/kotlin/util/render/TranslatedScissors.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/stringutil.kt b/src/main/kotlin/util/stringutil.kt
index 56f8dbe..56f8dbe 100644
--- a/src/main/kotlin/moe/nea/firmament/util/stringutil.kt
+++ b/src/main/kotlin/util/stringutil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/textutil.kt b/src/main/kotlin/util/textutil.kt
index a05733c..a05733c 100644
--- a/src/main/kotlin/moe/nea/firmament/util/textutil.kt
+++ b/src/main/kotlin/util/textutil.kt
diff --git a/src/main/kotlin/moe/nea/firmament/util/uuid.kt b/src/main/kotlin/util/uuid.kt
index 4aa0749..4aa0749 100644
--- a/src/main/kotlin/moe/nea/firmament/util/uuid.kt
+++ b/src/main/kotlin/util/uuid.kt