aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml6
-rwxr-xr-x.github/workflows/send_webhook_update.sh19
-rw-r--r--.gitignore1
-rw-r--r--.idea/copyright/NotEnoughUpdates.xml7
-rw-r--r--.idea/copyright/profiles_settings.xml7
-rw-r--r--CONTRIBUTING.md36
-rw-r--r--LICENSE60
-rw-r--r--LICENSE-GPLv3.md675
-rw-r--r--LICENSE.md157
-rw-r--r--README.md12
-rw-r--r--Update Notes/2.0-Pre30.md9
-rw-r--r--Update Notes/2.0-Pre31-Release.md13
-rw-r--r--Update Notes/2.0-Pre31.md11
-rw-r--r--Update Notes/2.1.md23
-rw-r--r--build.gradle.kts21
-rw-r--r--settings.gradle.kts21
-rw-r--r--src/main/java/NotSkyblockAddonsInstallerFrame.java27
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/CustomItems.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUApi.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEURepoResourcePack.java126
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java32
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAHGui.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/ClientCommandBase.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java34
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/EntityViewerCommand.java121
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/ScreenCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DiagCommand.java22
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DungeonWinTestCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dev/NullzeeSphereCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dev/PackDevCommand.java87
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ReloadRepoCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ResetRepoCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dev/StatsCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DhCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DnCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/JoinDungeonCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/MapCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/help/FeaturesCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/help/HelpCommand.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/help/LinksCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/help/SettingsCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/help/StorageViewerWhyCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/misc/AhCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/misc/ButtonsCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CalendarCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CosmeticsCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CustomizeCommand.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/profile/CataCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PeekCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PvCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/profile/ViewProfileCommand.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/BackgroundBlur.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/ChromaColour.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/GlScissorStack.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/GuiElement.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementBoolean.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementColour.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/GuiScreenElementWrapper.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/Config.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/GuiPositionEditor.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/KeybindHelper.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/Position.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/PositionNew.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/Category.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigAccordionId.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorAccordion.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorBoolean.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorButton.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorColour.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDraggableList.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDropdown.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorFSR.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorKeybind.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorSlider.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorText.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditor.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorAccordion.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorBoolean.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorButton.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorColour.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDraggableList.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDropdown.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorFSR.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorKeybind.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorSlider.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorText.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiPositionEditor.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java51
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/GuiElementSlider.java27
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/Line.java53
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/MiscUtils.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/Splitters.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/StringUtils.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/Vec3Comparable.java37
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpUtils.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingFloat.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingInteger.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/core/util/render/TextRenderUtils.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeNode.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/cosmetics/GuiCosmetics.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonBlocks.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java26
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java37
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java29
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/events/NEUEvent.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/events/OnBlockBreakSoundEffect.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/infopanes/DevInfoPane.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/infopanes/FlipperInfoPane.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/infopanes/HTMLInfoPane.java30
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/infopanes/InfoPane.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/infopanes/ScrollableInfoPane.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElement.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementButton.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementText.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementTextField.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/listener/ChatListener.java35
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/listener/NEUEventListener.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/listener/OldAnimationChecker.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java31
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/listener/ScoreboardLocationChangeListener.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBAnchorPoint.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBDeserializer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiElement.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroup.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupAligned.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupFloating.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionBINWarning.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionSortModeWarning.java24
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/BetterContainers.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CookieWarning.java54
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolver.java136
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalOverlay.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolver.java254
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomItemEffects.java41
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomSkulls.java38
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/EnchantingSolvers.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FairySouls.java33
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCustomizeManager.java27
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemRarityHalo.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NullzeeSphere.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java35
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StorageManager.java53
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StreamerMode.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SunTzu.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrystalHollowsTextures.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBlockSounds.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/DwarvenMinesTextures.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/IslandZoneSubdivider.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/LocationChangeEvent.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/AgeModifier.java55
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/ChargedModifier.java35
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewer.java366
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewerModifier.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EquipmentModifier.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/GUIClientPlayer.java71
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/HorseModifier.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/InvisibleModifier.java29
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/NameModifier.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/RidingModifier.java33
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/SkinModifier.java87
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/WitherModifier.java61
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java99
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java26
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java28
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java50
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/KatSitterOverlay.java36
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/NEUOverlayPlacements.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/TradeWindow.java26
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityAgeable.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityArmorStand.java23
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiContainer.java47
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiEditSign.java23
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiPlayerTabOverlay.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorMinecraft.java23
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinAbstractClientPlayer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinContainer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEffectRenderer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntity.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityAgeable.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityHorse.java31
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayerSP.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityRenderer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntitySkeleton.java31
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiChest.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiContainer.java26
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiIngame.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiInventory.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiScreen.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryEffectRenderer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryPlayer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemCameraTransforms.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemRenderer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemStack.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerArmorBase.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerCustomHead.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMinecraft.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java37
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinPlayerControllerMP.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRender.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderFish.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderGlobal.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderItem.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderList.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRendererLivingEntity.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTextureManager.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySkullRenderer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySpecialRenderer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinVboRenderList.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorld.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorldClient.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java26
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHTweaks.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java29
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java29
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java24
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java28
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java35
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java30
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlayerOverlay.java26
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java29
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java27
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java35
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/BonemerangOverlay.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/CrystalHollowOverlay.java33
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingOverlay.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/FishingSkillOverlay.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/FuelBar.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningOverlay.java37
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningSkillOverlay.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/OverlayManager.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/RancherBootOverlay.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/SlayerOverlay.java25
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlay.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlayStyle.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java28
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/BingoPage.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/Panorama.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java20
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java35
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingOverlay.java37
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingRecipe.java282
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/ForgeRecipe.java477
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/Ingredient.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeGenerator.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeSlot.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java288
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/AllowEmptyHTMLTag.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/Debouncer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/DiscordMarkdownBuilder.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/GuiTextures.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/HastebinUploader.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/HotmInformation.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/NEUDebugLogger.java21
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/NEUResourceManager.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/NotificationHandler.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/ProfileApiSyncer.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/RequestFocusListener.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/ReverseWorldRenderer.java28
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/SBInfo.java30
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/SkytilsCompat.java23
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/TexLoc.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java19
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/XPInformation.java19
-rw-r--r--src/main/resources/assets/notenoughupdates/dream.json88
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_-1.json9
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_-2.json17
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_-3.json15
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_-4.json37
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_-5.json13
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_-6.json32
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_-7.json8
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_0.json28
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_3.json102
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_4.json96
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_6.json220
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_7.json245
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-10_8.json90
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-11_-3.json189
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-11_-4.json21
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-11_-5.json26
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-11_-6.json12
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-11_2.json24
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-11_5.json30
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-11_6.json86
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-11_7.json16
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-1_0.json59
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-1_1.json67
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-1_10.json52
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-1_11.json68
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-1_3.json17
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-1_7.json25
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-1_8.json41
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-1_9.json42
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_-2.json27
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_-3.json109
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_-4.json206
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_-5.json173
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_-7.json87
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_0.json62
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_10.json60
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_11.json18
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_3.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_4.json194
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_6.json221
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_7.json11
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_8.json49
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-2_9.json48
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_-3.json13
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_-4.json34
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_-5.json36
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_0.json84
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_1.json87
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_11.json5
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_2.json7
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_4.json168
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_5.json72
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_6.json134
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_7.json5
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_8.json37
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-3_9.json25
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_-1.json51
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_-5.json21
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_-6.json22
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_0.json103
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_1.json29
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_10.json200
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_11.json14
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_2.json22
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_3.json38
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_4.json12
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_5.json15
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_6.json26
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_7.json16
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_8.json77
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-4_9.json43
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_-1.json57
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_-2.json54
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_-3.json51
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_-4.json144
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_-5.json7
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_-6.json65
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_0.json103
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_1.json59
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_10.json177
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_2.json41
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_4.json11
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_6.json5
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_7.json33
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_8.json184
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-5_9.json230
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_-3.json23
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_-4.json107
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_-5.json103
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_-6.json22
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_0.json36
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_1.json99
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_2.json20
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_4.json142
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_5.json179
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_6.json115
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_7.json137
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_8.json263
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-6_9.json257
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_-1.json140
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_-2.json150
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_-3.json72
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_-4.json62
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_-5.json73
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_-6.json37
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_0.json153
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_1.json168
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_2.json101
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_3.json123
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_4.json34
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_8.json218
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-7_9.json317
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_-1.json32
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_-2.json26
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_-3.json35
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_-4.json31
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_-5.json22
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_-6.json6
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_0.json62
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_1.json107
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_2.json111
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_3.json43
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_4.json83
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_5.json42
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_6.json32
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_7.json86
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_8.json266
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-8_9.json214
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_-1.json21
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_-2.json37
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_-3.json32
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_-4.json24
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_-5.json50
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_-6.json23
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_0.json30
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_2.json24
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_3.json7
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_4.json85
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_7.json293
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_8.json280
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/-9_9.json75
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/0_0.json73
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/0_10.json60
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/0_3.json22
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/0_7.json32
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/0_8.json46
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/0_9.json53
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/10_1.json203
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/10_3.json216
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/10_4.json48
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/10_5.json97
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/11_1.json73
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/11_3.json61
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/11_4.json18
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/1_-1.json120
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/1_-2.json37
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/1_-3.json152
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/1_0.json90
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/1_10.json91
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/1_7.json8
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/1_8.json45
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/1_9.json97
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_-1.json19
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_-2.json49
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_-4.json72
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_-5.json61
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_-7.json41
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_0.json88
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_10.json279
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_3.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_4.json146
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_6.json133
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_7.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_8.json104
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/2_9.json266
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_-1.json28
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_-10.json6
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_-3.json31
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_-4.json20
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_-5.json35
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_-6.json59
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_0.json56
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_11.json48
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_3.json23
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_4.json53
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_5.json20
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_6.json80
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/3_7.json17
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/4_-1.json50
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/4_-2.json9
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/4_-8.json70
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/4_-9.json5
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/4_0.json130
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/4_6.json62
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/5_-5.json8
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/5_-6.json9
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/5_-8.json103
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/5_0.json11
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/5_10.json162
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/5_7.json228
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/5_8.json158
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/5_9.json198
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/6_-3.json13
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/6_0.json66
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/6_1.json234
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/6_2.json185
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/6_3.json237
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/6_5.json304
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/6_6.json299
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_-1.json5
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_-2.json23
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_-3.json29
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_0.json25
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_1.json116
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_2.json67
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_3.json136
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_4.json123
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_5.json121
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/7_6.json180
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/8_-1.json30
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/8_-2.json51
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/8_0.json22
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/8_1.json145
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/9_-1.json36
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/9_1.json281
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/9_2.json218
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/9_5.json254
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/9_6.json130
-rw-r--r--src/main/resources/assets/notenoughupdates/dwarven_data/all.json207
-rw-r--r--src/main/resources/assets/notenoughupdates/dynamic_54/style1/dynamic_config.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dynamic_54/style2/dynamic_config.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/dynamic_54/style3/dynamic_config.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/invbuttons/extraicons.json34
-rw-r--r--src/main/resources/assets/notenoughupdates/invbuttons/presets.json5474
-rw-r--r--src/main/resources/assets/notenoughupdates/official-wiki.css22623
-rw-r--r--src/main/resources/assets/notenoughupdates/shaders/program/blur.json100
-rw-r--r--src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json61
-rw-r--r--src/main/resources/assets/notenoughupdates/shaders/program/grayscale.json42
-rw-r--r--src/main/resources/assets/notenoughupdates/shaders/program/setrgbtoalpha.json42
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds.json1
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/gemstoneamberbreak.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/gemstoneamethystbreak.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/gemstonejadebreak.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/gemstonejasperbreak.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/gemstonerubybreak.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/gemstonesapphirebreak.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/gemstonetopazbreak.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/mithrilbreak.json4
-rw-r--r--src/main/resources/assets/notenoughupdates/sounds/titaniumbreak.json4
-rw-r--r--src/main/resources/mcmod.info30
-rw-r--r--src/main/resources/mixins.notenoughupdates.json88
-rw-r--r--src/test/java/io/github/moulberry/notenoughupdates/core/util/Vec3ComparableTest.java19
-rw-r--r--src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolverTest.java123
-rw-r--r--src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolverTest.java247
-rw-r--r--src/test/resources/log4j2-test.xml4
623 files changed, 53710 insertions, 4716 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 630d8288..0440aefb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -6,14 +6,16 @@ on:
- '*'
paths-ignore:
- 'README.md'
- - 'LICENSE'
+ - 'LICENSE.md'
+ - 'LICENSE-GPLv3.md'
- '.gitignore'
pull_request:
branches:
- '*'
paths-ignore:
- 'README.md'
- - 'LICENSE'
+ - 'LICENSE.md'
+ - 'LICENSE-GPLv3.md'
- '.gitignore'
workflow_dispatch:
jobs:
diff --git a/.github/workflows/send_webhook_update.sh b/.github/workflows/send_webhook_update.sh
index 56852159..3ec20af3 100755
--- a/.github/workflows/send_webhook_update.sh
+++ b/.github/workflows/send_webhook_update.sh
@@ -1,4 +1,23 @@
#!/bin/bash
+#
+# Copyright (C) 2022 NotEnoughUpdates contributors
+#
+# This file is part of NotEnoughUpdates.
+#
+# NotEnoughUpdates is free software: you can redistribute it
+# and/or modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation, either
+# version 3 of the License, or (at your option) any later version.
+#
+# NotEnoughUpdates is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+#
+
set -x
COLOR_SUCCESS=8040199
diff --git a/.gitignore b/.gitignore
index a7b89d94..53814696 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@ out
*.iml
.idea/*
!.idea/codeStyles
+!.idea/copyright
# gradle
build
diff --git a/.idea/copyright/NotEnoughUpdates.xml b/.idea/copyright/NotEnoughUpdates.xml
new file mode 100644
index 00000000..ea087768
--- /dev/null
+++ b/.idea/copyright/NotEnoughUpdates.xml
@@ -0,0 +1,7 @@
+<component name="CopyrightManager">
+ <copyright>
+ <option name="allowReplaceRegexp" value="Copyright" />
+ <option name="notice" value="Copyright (C) 2022 NotEnoughUpdates contributors&#10;&#10;This file is part of NotEnoughUpdates.&#10;&#10;NotEnoughUpdates is free software: you can redistribute it &#10;and/or modify it under the terms of the GNU Lesser General Public&#10;License as published by the Free Software Foundation, either&#10;version 3 of the License, or (at your option) any later version.&#10;&#10;NotEnoughUpdates is distributed in the hope that it will be useful,&#10;but WITHOUT ANY WARRANTY; without even the implied warranty of&#10;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU&#10;Lesser General Public License for more details.&#10;&#10;You should have received a copy of the GNU Lesser General Public License &#10;along with NotEnoughUpdates. If not, see &lt;https://www.gnu.org/licenses/&gt;." />
+ <option name="myName" value="NotEnoughUpdates" />
+ </copyright>
+</component> \ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
new file mode 100644
index 00000000..8f73a5c0
--- /dev/null
+++ b/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,7 @@
+<component name="CopyrightManager">
+ <settings>
+ <module2copyright>
+ <element module="Project Files" copyright="NotEnoughUpdates" />
+ </module2copyright>
+ </settings>
+</component> \ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d2d14086..6c163317 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,34 +1,32 @@
## Before you contribute
- - Please check your feature / bug isn't already fixed in one of our pre-releases or on [the development branch](https://github.com/NotEnoughUpdates/NotEnoughUpdates/tree/master/).
- - Consider joining our [Discord](https://discord.gg/moulberry) to check in on newest developments by other people, or to get help with problems you encounter.
- - Please check that your feature idea complies with the [Hypixel Rules](https://hypixel.net/rules)
- - Check that your feature idea isn't already done in other mods. (E.g. Dungeon Solver)
-
+- Please check your feature / bug isn't already fixed in one of our pre-releases or on [the development branch](https://github.com/NotEnoughUpdates/NotEnoughUpdates/tree/master/).
+- Consider joining our [Discord](https://discord.gg/moulberry) to check in on newest developments by other people, or to get help with problems you encounter.
+- Please check that your feature idea complies with the [Hypixel Rules](https://hypixel.net/rules)
+- Check that your feature idea isn't already done in other mods. (E.g. Dungeon Solver)
+
## Setting up a development environment
### Software prerequisites
- - Install a Java Development Kit (You will need both version 8 and version 17) [Eclipse Temurin Download](https://adoptium.net/temurin/releases) for convenience, however any JDK will do.
- - Install Git. [Windows download](https://git-scm.com/download/win)
- - Install an IDE, such as [Jetbrains IntelliJ IDEA](https://www.jetbrains.com/idea/download).
+- Install a Java Development Kit (You will need both version 8 and version 17) [Eclipse Temurin Download](https://adoptium.net/temurin/releases) for convenience, however any JDK will do.
+- Install Git. [Windows download](https://git-scm.com/download/win)
+- Install an IDE, such as [Jetbrains IntelliJ IDEA](https://www.jetbrains.com/idea/download).
### Software configuration
- - Clone the NEU repository using `git clone https://github.com/NotEnoughUpdates/NotEnoughUpdates`.
- - Import that folder as a Gradle Project in your IDE (IntelliJ should autodetect it as gradle if you select the `NotEnoughUpdates` folder in the Open dialog)
- - Set your project SDK to your 1.8 JDK. This can be done in the modules settings (CTRL+ALT+SHIFT+S) in IntelliJ.
- - Set your gradle JVM to your 1.17 JDK. This can be done by searching for `gradle jvm` in the CTRL+SHIFT+A dialog in IntelliJ.
- - Run the `gen<IntelliJ/Eclipse>Runs` gradle task. In IntelliJ that can be done in the gradle tab on the right side of your IDE.
- - Optionally, run the `genSources` gradle task.
- - Run the `Minecraft Client` to make sure that everything works.
-
+- Clone the NEU repository using `git clone https://github.com/NotEnoughUpdates/NotEnoughUpdates`.
+- Import that folder as a Gradle Project in your IDE (IntelliJ should autodetect it as gradle if you select the `NotEnoughUpdates` folder in the Open dialog)
+- Set your project SDK to your 1.8 JDK. This can be done in the modules settings (CTRL+ALT+SHIFT+S) in IntelliJ.
+- Set your gradle JVM to your 1.17 JDK. This can be done by searching for `gradle jvm` in the CTRL+SHIFT+A dialog in IntelliJ.
+- Run the `gen<IntelliJ/Eclipse>Runs` gradle task. In IntelliJ that can be done in the gradle tab on the right side of your IDE.
+- Optionally, run the `genSources` gradle task.
+- Run the `Minecraft Client` to make sure that everything works.
## Logging into Hypixel in a development environment.
-Use [DevAuth](https://github.com/DJtheRedstoner/DevAuth). Download the `forge-legacy` version, and put it into the `run/mods` folder. Then follow the configuration instructions in the [DevAuth README](https://github.com/DJtheRedstoner/DevAuth#configuration-file)
+Use [DevAuth](https://github.com/DJtheRedstoner/DevAuth). Download the `forge-legacy` version, and put it into the `run/mods` folder. Then follow the configuration instructions in the [DevAuth README](https://github.com/DJtheRedstoner/DevAuth#configuration-file)
## Hot Reloading
-Hot Reloading is possible by first launching using the IntelliJ debugger with [DCEVM 1.8](https://dcevm.github.io/). Then running a regular build and confirming the reload prompt. This can cause issues (especially with commands), so restarting is sometimes still necessary.
-
+Hot Reloading is possible by first launching using the IntelliJ debugger with [DCEVM 1.8](https://dcevm.github.io/). Then running a regular build and confirming the reload prompt. This can cause issues (especially with commands), so restarting is sometimes still necessary.
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 7ff2f90d..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,60 +0,0 @@
-License
-
-THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
-
-BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
-
-1. Definitions
-
- "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
- "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
- "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
- "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
- "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
- "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
- "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
- "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
- "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
-
-2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
-
-3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
-
- to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
- to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
- to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
- to Distribute and Publicly Perform Adaptations.
-
-The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d).
-
-4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
-
- You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.
- You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
- If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
-
- For the avoidance of doubt:
- Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
- Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
- Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c).
- Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
-
-5. Representations, Warranties and Disclaimer
-
-UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
-
-6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-7. Termination
-
- This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
- Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
-
-8. Miscellaneous
-
- Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
- Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
- If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
- No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
- This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
- The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
diff --git a/LICENSE-GPLv3.md b/LICENSE-GPLv3.md
new file mode 100644
index 00000000..f5a01711
--- /dev/null
+++ b/LICENSE-GPLv3.md
@@ -0,0 +1,675 @@
+### GNU GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+<https://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+### Preamble
+
+The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom
+to share and change all versions of a program--to make sure it remains
+free software for all its users. We, the Free Software Foundation, use
+the GNU General Public License for most of our software; it applies
+also to any other work released this way by its authors. You can apply
+it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you
+have certain responsibilities if you distribute copies of the
+software, or if you modify it: responsibilities to respect the freedom
+of others.
+
+For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the
+manufacturer can do so. This is fundamentally incompatible with the
+aim of protecting users' freedom to change the software. The
+systematic pattern of such abuse occurs in the area of products for
+individuals to use, which is precisely where it is most unacceptable.
+Therefore, we have designed this version of the GPL to prohibit the
+practice for those products. If such problems arise substantially in
+other domains, we stand ready to extend this provision to those
+domains in future versions of the GPL, as needed to protect the
+freedom of users.
+
+Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish
+to avoid the special danger that patents applied to a free program
+could make it effectively proprietary. To prevent this, the GPL
+assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+### TERMS AND CONDITIONS
+
+#### 0. Definitions.
+
+"This License" refers to version 3 of the GNU General Public License.
+
+"Copyright" also means copyright-like laws that apply to other kinds
+of works, such as semiconductor masks.
+
+"The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of
+an exact copy. The resulting work is called a "modified version" of
+the earlier work or a work "based on" the earlier work.
+
+A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user
+through a computer network, with no transfer of a copy, is not
+conveying.
+
+An interactive user interface displays "Appropriate Legal Notices" to
+the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+#### 1. Source Code.
+
+The "source code" for a work means the preferred form of the work for
+making modifications to it. "Object code" means any non-source form of
+a work.
+
+A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can
+regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same
+work.
+
+#### 2. Basic Permissions.
+
+All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey,
+without conditions so long as your license otherwise remains in force.
+You may convey covered works to others for the sole purpose of having
+them make modifications exclusively for you, or provide you with
+facilities for running those works, provided that you comply with the
+terms of this License in conveying all material for which you do not
+control copyright. Those thus making or running the covered works for
+you must do so exclusively on your behalf, under your direction and
+control, on terms that prohibit them from making any copies of your
+copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the
+conditions stated below. Sublicensing is not allowed; section 10 makes
+it unnecessary.
+
+#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such
+circumvention is effected by exercising rights under this License with
+respect to the covered work, and you disclaim any intention to limit
+operation or modification of the work as a means of enforcing, against
+the work's users, your or third parties' legal rights to forbid
+circumvention of technological measures.
+
+#### 4. Conveying Verbatim Copies.
+
+You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+#### 5. Conveying Modified Source Versions.
+
+You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these
+conditions:
+
+- a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+- b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under
+ section 7. This requirement modifies the requirement in section 4
+ to "keep intact all notices".
+- c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+- d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+#### 6. Conveying Non-Source Forms.
+
+You may convey a covered work in object code form under the terms of
+sections 4 and 5, provided that you also convey the machine-readable
+Corresponding Source under the terms of this License, in one of these
+ways:
+
+- a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+- b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the Corresponding
+ Source from a network server at no charge.
+- c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+- d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+- e) Convey the object code using peer-to-peer transmission,
+ provided you inform other peers where the object code and
+ Corresponding Source of the work are being offered to the general
+ public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal,
+family, or household purposes, or (2) anything designed or sold for
+incorporation into a dwelling. In determining whether a product is a
+consumer product, doubtful cases shall be resolved in favor of
+coverage. For a particular product received by a particular user,
+"normally used" refers to a typical or common use of that class of
+product, regardless of the status of the particular user or of the way
+in which the particular user actually uses, or expects or is expected
+to use, the product. A product is a consumer product regardless of
+whether the product has substantial commercial, industrial or
+non-consumer uses, unless such uses represent the only significant
+mode of use of the product.
+
+"Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to
+install and execute modified versions of a covered work in that User
+Product from a modified version of its Corresponding Source. The
+information must suffice to ensure that the continued functioning of
+the modified object code is in no case prevented or interfered with
+solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or
+updates for a work that has been modified or installed by the
+recipient, or for the User Product in which it has been modified or
+installed. Access to a network may be denied when the modification
+itself materially and adversely affects the operation of the network
+or violates the rules and protocols for communication across the
+network.
+
+Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+#### 7. Additional Terms.
+
+"Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders
+of that material) supplement the terms of this License with terms:
+
+- a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+- b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+- c) Prohibiting misrepresentation of the origin of that material,
+ or requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+- d) Limiting the use for publicity purposes of names of licensors
+ or authors of the material; or
+- e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+- f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions
+ of it) with contractual assumptions of liability to the recipient,
+ for any liability that these contractual assumptions directly
+ impose on those licensors and authors.
+
+All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions; the
+above requirements apply either way.
+
+#### 8. Termination.
+
+You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+#### 9. Acceptance Not Required for Having Copies.
+
+You are not required to accept this License in order to receive or run
+a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+#### 10. Automatic Licensing of Downstream Recipients.
+
+Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+#### 11. Patents.
+
+A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+A contributor's "essential patent claims" are all patent claims owned
+or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+A patent license is "discriminatory" if it does not include within the
+scope of its coverage, prohibits the exercise of, or is conditioned on
+the non-exercise of one or more of the rights that are specifically
+granted under this License. You may not convey a covered work if you
+are a party to an arrangement with a third party that is in the
+business of distributing software, under which you make payment to the
+third party based on the extent of your activity of conveying the
+work, and under which the third party grants, to any of the parties
+who would receive the covered work from you, a discriminatory patent
+license (a) in connection with copies of the covered work conveyed by
+you (or copies made from those copies), or (b) primarily for and in
+connection with specific products or compilations that contain the
+covered work, unless you entered into that arrangement, or that patent
+license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+#### 12. No Surrender of Others' Freedom.
+
+If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under
+this License and any other pertinent obligations, then as a
+consequence you may not convey it at all. For example, if you agree to
+terms that obligate you to collect a royalty for further conveying
+from those to whom you convey the Program, the only way you could
+satisfy both those terms and this License would be to refrain entirely
+from conveying the Program.
+
+#### 13. Use with the GNU Affero General Public License.
+
+Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+#### 14. Revised Versions of this License.
+
+The Free Software Foundation may publish revised and/or new versions
+of the GNU General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in
+detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies that a certain numbered version of the GNU General Public
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that numbered version or
+of any later version published by the Free Software Foundation. If the
+Program does not specify a version number of the GNU General Public
+License, you may choose any version ever published by the Free
+Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions
+of the GNU General Public License can be used, that proxy's public
+statement of acceptance of a version permanently authorizes you to
+choose that version for the Program.
+
+Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+#### 15. Disclaimer of Warranty.
+
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
+WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
+DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
+CORRECTION.
+
+#### 16. Limitation of Liability.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
+CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
+NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
+LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
+TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
+PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+#### 17. Interpretation of Sections 15 and 16.
+
+If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+### How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+To do so, attach the following notices to the program. It is safest to
+attach them to the start of each source file to most effectively state
+the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper
+mail.
+
+If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands \`show w' and \`show c' should show the
+appropriate parts of the General Public License. Of course, your
+program's commands might be different; for a GUI interface, you would
+use an "about box".
+
+You should also get your employer (if you work as a programmer) or
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. For more information on this, and how to apply and follow
+the GNU GPL, see <https://www.gnu.org/licenses/>.
+
+The GNU General Public License does not permit incorporating your
+program into proprietary programs. If your program is a subroutine
+library, you may consider it more useful to permit linking proprietary
+applications with the library. If this is what you want to do, use the
+GNU Lesser General Public License instead of this License. But first,
+please read <https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 00000000..6e75f84c
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,157 @@
+### GNU LESSER GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+<https://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+This version of the GNU Lesser General Public License incorporates the
+terms and conditions of version 3 of the GNU General Public License,
+supplemented by the additional permissions listed below.
+
+#### 0. Additional Definitions.
+
+As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the
+GNU General Public License.
+
+"The Library" refers to a covered work governed by this License, other
+than an Application or a Combined Work as defined below.
+
+An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+#### 1. Exception to Section 3 of the GNU GPL.
+
+You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+#### 2. Conveying Modified Versions.
+
+If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+- a) under this License, provided that you make a good faith effort
+ to ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+- b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+#### 3. Object Code Incorporating Material from Library Header Files.
+
+The object code form of an Application may incorporate material from a
+header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+- a) Give prominent notice with each copy of the object code that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+- b) Accompany the object code with a copy of the GNU GPL and this
+ license document.
+
+#### 4. Combined Works.
+
+You may convey a Combined Work under terms of your choice that, taken
+together, effectively do not restrict modification of the portions of
+the Library contained in the Combined Work and reverse engineering for
+debugging such modifications, if you also do each of the following:
+
+- a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+- b) Accompany the Combined Work with a copy of the GNU GPL and this
+ license document.
+- c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+- d) Do one of the following:
+ - 0) Convey the Minimal Corresponding Source under the terms of
+ this License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+ - 1) Use a suitable shared library mechanism for linking with
+ the Library. A suitable mechanism is one that (a) uses at run
+ time a copy of the Library already present on the user's
+ computer system, and (b) will operate properly with a modified
+ version of the Library that is interface-compatible with the
+ Linked Version.
+- e) Provide Installation Information, but only if you would
+ otherwise be required to provide such information under section 6
+ of the GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the Application
+ with a modified version of the Linked Version. (If you use option
+ 4d0, the Installation Information must accompany the Minimal
+ Corresponding Source and Corresponding Application Code. If you
+ use option 4d1, you must provide the Installation Information in
+ the manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.)
+
+#### 5. Combined Libraries.
+
+You may place library facilities that are a work based on the Library
+side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+- a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities, conveyed under the terms of this License.
+- b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+#### 6. Revised Versions of the GNU Lesser General Public License.
+
+The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+as you received it specifies that a certain numbered version of the
+GNU Lesser General Public License "or any later version" applies to
+it, you have the option of following the terms and conditions either
+of that published version or of any later version published by the
+Free Software Foundation. If the Library as you received it does not
+specify a version number of the GNU Lesser General Public License, you
+may choose any version of the GNU Lesser General Public License ever
+published by the Free Software Foundation.
+
+If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/README.md b/README.md
index f4b2c15d..d5d92b31 100644
--- a/README.md
+++ b/README.md
@@ -11,16 +11,16 @@
<img src="https://img.shields.io/github/downloads/Moulberry/NotEnoughUpdates/total?logo=GitHub&color=informational" alt="downloads">
</a> -->
<!-- lines -->
- <a href="https://github.com/Moulberry/NotEnoughUpdates/graphs/code-frequency" target="_blank">
- <img src="https://img.shields.io/tokei/lines/github/Moulberry/NotEnoughUpdates?label=lines&color=informational&logo=GitHub" alt="lines">
+ <a href="https://github.com/NotEnoughUpdates/NotEnoughUpdates/graphs/code-frequency" target="_blank">
+ <img src="https://img.shields.io/tokei/lines/github/NotEnoughUpdate/NotEnoughUpdates?label=lines&color=informational&logo=GitHub" alt="lines">
</a>
<!-- license -->
- <a href="https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE" target="_blank">
- <img src="https://img.shields.io/badge/license-CC%20BY--NC%203.0-informational" alt="license">
+ <a href="https://github.com/NotEnoughUpdates/NotEnoughUpdates/blob/master/LICENSE.md" target="_blank">
+ <img src="https://img.shields.io/github/license/NotEnoughUpdates/NotEnoughUpdates?color=informational" alt="license">
</a>
<!-- contributors -->
- <a href="https://github.com/Moulberry/NotEnoughUpdates/graphs/contributors" target="_blank">
- <img src="https://img.shields.io/github/contributors/Moulberry/NotEnoughUpdates?color=informational&logo=GitHub" alt="contributors">
+ <a href="https://github.com/NotEnoughUpdates/NotEnoughUpdates/graphs/contributors" target="_blank">
+ <img src="https://img.shields.io/github/contributors/NotEnoughUpdates/NotEnoughUpdates?color=informational&logo=GitHub" alt="contributors">
</a>
<!-- discord -->
<a href="https://discord.gg/moulberry" target="_blank">
diff --git a/Update Notes/2.0-Pre30.md b/Update Notes/2.0-Pre30.md
index e036627b..99591f47 100644
--- a/Update Notes/2.0-Pre30.md
+++ b/Update Notes/2.0-Pre30.md
@@ -11,18 +11,19 @@
- Added Storage to PV (with correct sizes)
- Added Personal Vault to PV
- Added scroll lock to storage overlay
+
### **Fixed Features:**
- Todo list
- - Fixed fetchur display
- - Fixed godpot timer
+ - Fixed fetchur display
+ - Fixed godpot timer
- PV's wardrobe view not showing second page bottom row (not fully fixed could be better by dividing on every 4 and drawing per column instead of row but right now its always a full page)
- Made dwarven overlay work in crystal hollows (nopo)
- Added Gemstone powder to dwarven overlay (nopo)
- Made smooth aote work with aotv (thanks to 8k for letting me test his aotv) (nopo)
### **Bug Fixes**
-
+
- Arrow Key backpack option under storage gui not doing anything
- Fixed pets gui going away if you open /pets (nopo)
-- Fixed PV cit models dieing (nopo) \ No newline at end of file
+- Fixed PV cit models dieing (nopo)
diff --git a/Update Notes/2.0-Pre31-Release.md b/Update Notes/2.0-Pre31-Release.md
index dec4e6a1..35306023 100644
--- a/Update Notes/2.0-Pre31-Release.md
+++ b/Update Notes/2.0-Pre31-Release.md
@@ -1,10 +1,11 @@
# These are the change notes for PRE31-Release
### **Major Changes**
-- None yet. Prob not gonna happen this is mainly for small things.
+- None yet. Prob not gonna happen this is mainly for small things.
### **Minor Changes:**
+
- Added a check to see if the storagegui is on before yelling at you for having fastrender on.
- Added toggle to disable showing the treecap cooldown in item durability. (Lulonaut)#
- Added text to inform the user to "/api new" when the /pv doesn't load.
@@ -16,6 +17,7 @@
- Added Tab auto completion to the AH search gui. (Lulonaut)
### **Bug Fixes**
+
- Fixed a nullpointer exception in dwarven textures (got some confirmation that it fixed it).
- Fixed neuec not parsing correctly.
- Fixed crashing when you copy text while in the neuec/neu buttons editor menu.
@@ -24,24 +26,21 @@
- Fixed golden goblin not having a icon.
- Fixed accessory bag overlay's reforge stat detection as hypixel broke it with their tooltip changes.
- Fixed NeuEC as hypixel broke it with their tooltip changes.
-- Fixed not being able to press repeat keys in chat.
+- Fixed not being able to press repeat keys in chat.
- Fixed gemstone gauntlet/Divan Drill not being recognised as mining tools.
- Fixed morph pets not being recognized by the extended pet info tooltip tweak.
- Fixed wrong commission max values for goblin in dwarven mines and the crystal hollows. (CraftyOldMiner)
- Fixed player right click menu command block text appearing on an inventory item. (DeDiamondPro)
-
-
### **Other**
+
- Enabled help button by default.
- Added SecondPfirsisch cape.
- Added Stormy_LH cape.
- Change cape order in /neucosmetics because ironmoon asked for it.
-
### **Notes for texturepack creators**
-
### **Previous change log**
-https://github.com/DoKM/NotEnoughUpdates/blob/master/Update%20Notes/2.0-Pre31.md
+https://github.com/DoKM/NotEnoughUpdates/blob/master/Update%20Notes/2.0-Pre31.md
diff --git a/Update Notes/2.0-Pre31.md b/Update Notes/2.0-Pre31.md
index 802ad7c4..ac85f45c 100644
--- a/Update Notes/2.0-Pre31.md
+++ b/Update Notes/2.0-Pre31.md
@@ -13,8 +13,8 @@
- Added mastermode support to /pv (basically done, just needs mastermode xp)
- Added support for the Golden Dragon Pet and added support for other weird pets that might get added.
-
### **New Features:**
+
- Added Ferocity, Magic find, Mining speed and mining fortune to Accessory bag (and ferocity and magic find to /pv).
- Update notifier for "Pre" version releases. (Ironm00n)
- Added toggle for etherwarp helper overlay text.
@@ -42,8 +42,8 @@
- Replaced the chat command when clicking on a player name with /pv (Toggleable)
- Added a link to a webpage containing neu's feature /neufeatures and it shows on the first time launch.
-
### **Bug Fixes**
+
- Fishing helper not showing "!" when the rod colours are disabled.
- Decimal point values not being counted in Accessory bag overlay.
- /pv not having the correct max minion tier. (Ironm00n)
@@ -67,15 +67,15 @@
- Fixed dwarven mines waypoints not working if dwarven mines overlay was disabled.
- Fixed being able to slot lock the 9th slot.
- Fixed NEUButtons overlapping with the Accessory Bag overlay by moving the overlapping icons to the right of the overlay. (should work pretty well, too lazy to test with custom button positions but should work fine.)
-- Stopped tooltip tweak rawcraftcost displaying if the cost was 0 (either due to the price being really low or api issue).
+- Stopped tooltip tweak rawcraftcost displaying if the cost was 0 (either due to the price being really low or api issue).
- Added a catch to the capemanger slow to catch duplicate players (https://hst.sh/enuvamecef) (idk how but hey its there now).
- Fix being able to hotkey slotlocked items in a chest gui.
- (Hopefully) Fix storage overlay nullpointer crash.
- Fix not being able to dye undyed leather armour.
- Some Storage Overlay fixes (DeDiamondPro)
-
### **Other**
+
- Code clean up by Ironm00n.
- Rename variables to be more consistent. (Ironm00n)
- Devpane changes. (? - DoKM) (Ironm00n)
@@ -106,6 +106,3 @@
- Added the edit button to the Storage gui texture (it was already on transparent but not on the others) please update your textures
- Added neu logo to the bottom right of the Storage gui textures (so people stop asking which mod adds the gui (Atleast try to make the amount less))
- Added ironman icon to pv (notenoughupdates/pv_ironman.png) (thanks ery for the icon)
-
-
-
diff --git a/Update Notes/2.1.md b/Update Notes/2.1.md
index c8f97357..e3c16382 100644
--- a/Update Notes/2.1.md
+++ b/Update Notes/2.1.md
@@ -1,6 +1,7 @@
# These are the change notes for NEU 2.1 REL
### **Major Changes:**
+
- Added mining skill overlay
- Added fishing skill overlay
- Added combat skill overlay
@@ -10,14 +11,16 @@
- Added blocking clicks back to the enchanting minigames (because apparently, it's not bannable?)
- [Donpireso replied to a sba dev's email about some of sba features, and it seems to imply that blocking clicks in guis aren't bannable](https://cdn.discordapp.com/attachments/823769568933576764/906101631861526559/unknown.png)
- Fixed pet overlay not updating when going into /pets
-- [Added an armor overlay for the new armor slots](https://cdn.discordapp.com/attachments/832652653292027904/922399046528794634/unknown.png)
+- [Added an armor overlay for the new armor slots](https://cdn.discordapp.com/attachments/832652653292027904/922399046528794634/unknown.png)
- Added a pet overlay that shows your active pet in your inventory
- [Price graph for items on /ah and /bz](https://cdn.discordapp.com/attachments/896407218151366687/926968296929107999/unknown.png) - DeDiamondPro
- [Added bingo tab in /pv](https://cdn.discordapp.com/attachments/702456294874808330/951909539383500820/unknown.png) - Lulonaut
- Added wishing compass solver that shows target coordinates, structure, and integrates with Skytils waypoints - CraftyOldMiner
- Improved metal detector logic to solve using a single position in most cases using known locations based on Keeper coordinates - CraftyOldMiner
- Added support for official Hypixel wiki, can be toggled in /neu misc - DeDiamondPro
+
### **Minor Changes:**
+
- Add built-in recipes for forge crafts - nea89
- Add mob drop viewer in the recipe viewer - nea89
- Add Stranded Villager Trades to the item list - nea89
@@ -25,7 +28,7 @@
- Added a config option to hide Dwarven Mines waypoints when already at the location - Lulonaut
- Added some info panels to some settings in /neu
- Added Kat Level After Upgrade Estimator - nea89
-- Added /pv button in /neu
+- Added /pv button in /neu
- Added pitch and coins/m as options in farming skill overlay
- Make it so tab completion in ah search GUI goes down the items - Lulonaut
- Added a toggle for enchant glint in storage gui (ty ery for texture)
@@ -41,7 +44,7 @@
- Added /neurepomode to toggle item editing and dev mode, changing the item repo url and toggling autoupdating of the repo
- Changed "NEUAH is DISABLED! Enable in /neusettings." to /neu
- Changed misc overlays tab to todo overlays
-- Added a config option for npc retexturing
+- Added a config option for npc retexturing
- Added a config option for dirt wand overlay
- Added a config option for hoe of tilling
- Added an option to use short numbers (1.5mil) for price tooltips
@@ -57,7 +60,7 @@
- Added "Has Advanced Tab" to /neustats
- Added custom runes and crab hat system - jani
- Removed unused textures
-- Added total xp if player is above cata 50 in /pv - efefury
+- Added total xp if player is above cata 50 in /pv - efefury
- Added daily powder to todo overlay - efefury
- Added a way to include kismet feather to profit calculator - efefury
- Added custom sounds for crystal hollow gemstones - nea89
@@ -81,11 +84,13 @@
- Added tab completion to /neupackdev subcommands. - whalker
- Made it if you hold shift in the enchant solvers it overrides prevent missclicks
- Added 6-10 stars to the auction search overlay
-- Added 6-10 stars to /neucustomize
+- Added 6-10 stars to /neucustomize
- Added support for attributes in neuec
- Added Heavy Pearls to todo overlay - cobble8
- Added Booster Cookie Warning - 2stinkysocks
+
### **Bug Fixes:**
+
- Fix wiki pages freezing the entire game - nea89
- Made titanium overlay and waypoints work with dwarven overlay off
- "fixed" divan rarity in NEUAH (scuffed)
@@ -99,13 +104,13 @@
- Fixed api key autofill with dg copy chat feature
- Made missing enchants not show on an item if its not missing any enchants
- Fixed Mining overlay crash - Dokm
-- Fixed pet crash - Dokm
+- Fixed pet crash - Dokm
- Fixed fetchur for the 75th time
- [Made an error if you have new tab list off](https://cdn.discordapp.com/attachments/896407218151366687/913681097605398528/unknown.png)
- Fixed lava fishing with the fishing alert
- Fixed /locraw detection, [previously allowed chat messages to trigger it](https://github.com/NotEnoughUpdates/NotEnoughUpdates/issues/35) - IRONM00N
- Fixed experiment timer in todo overlay - efefury
-- Fixed replace click events with /pv working in other modes
+- Fixed replace click events with /pv working in other modes
- Fixed /neuec presets not applying the strikethrough attribute - Lulonaut
- Fixed what hypxiel broke in dungeons
- Fixed the dungeon map on f1 - Minikloon
@@ -114,7 +119,9 @@
- Fixed crash in /pv when the player had a pet that is not saved in the repo - Lulonaut
- Fixed some vanilla Minecraft keybinds not working in NEU GUIs
- Fixed crash with spamming remove enchant in /neuec
+
### **Other:**
+
- New icons was added in storage_icons.png
- Moved the help icon in /neucustomize over a little
- Added dg partner cape
@@ -123,5 +130,7 @@
- Code Cleanup - IRONM00N
- Renamed Keebler408 to CraftyOldMiner
- Added JUnit unit tests for metal detector and wishing compass solver
+
### **Previous change log**
+
https://github.com/NotEnoughUpdates/NotEnoughUpdates/blob/master/Update%20Notes/2.0-Pre31-Release.md
diff --git a/build.gradle.kts b/build.gradle.kts
index 4f178f58..9f3c1715 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,7 +1,26 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
import java.io.ByteArrayOutputStream
plugins {
- idea
+ idea
java
id("gg.essential.loom") version "0.10.0.+"
id("dev.architectury.architectury-pack200") version "0.1.3"
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 4df48664..eb291fb5 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,5 +1,24 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
pluginManagement {
- repositories {
+ repositories {
mavenCentral()
gradlePluginPortal()
maven("https://oss.sonatype.org/content/repositories/snapshots")
diff --git a/src/main/java/NotSkyblockAddonsInstallerFrame.java b/src/main/java/NotSkyblockAddonsInstallerFrame.java
index e6543617..969e6c28 100644
--- a/src/main/java/NotSkyblockAddonsInstallerFrame.java
+++ b/src/main/java/NotSkyblockAddonsInstallerFrame.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
@@ -6,7 +25,13 @@ import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.StringWriter;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.file.Files;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/CustomItems.java b/src/main/java/io/github/moulberry/notenoughupdates/CustomItems.java
index 28686073..06321b53 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/CustomItems.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/CustomItems.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates;
import com.google.gson.JsonArray;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java b/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java
index 38b59ef3..e1a3b3ee 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates;
import com.google.gson.Gson;
@@ -100,7 +119,6 @@ public class ItemPriceInformation {
}
}
-
NumberFormat format = NumberFormat.getInstance(Locale.US);
boolean shortNumber = NotEnoughUpdates.INSTANCE.config.tooltipTweaks.shortNumberFormatPrices;
if (bazaarItem) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUApi.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUApi.java
index feb18c66..6cdeb474 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUApi.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUApi.java
@@ -1,5 +1,23 @@
-package io.github.moulberry.notenoughupdates;
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+package io.github.moulberry.notenoughupdates;
import net.minecraftforge.fml.relauncher.ReflectionHelper;
public class NEUApi {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java
index ea92a670..c4efeb15 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates;
import com.google.gson.Gson;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
index b8651867..5b1d3c14 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEURepoResourcePack.java b/src/main/java/io/github/moulberry/notenoughupdates/NEURepoResourcePack.java
index 2a5cda92..bc279188 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEURepoResourcePack.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEURepoResourcePack.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates;
import com.google.gson.JsonObject;
@@ -7,69 +26,74 @@ import net.minecraft.client.resources.data.IMetadataSerializer;
import net.minecraft.util.ResourceLocation;
import java.awt.image.BufferedImage;
-import java.io.*;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.HashSet;
import java.util.Set;
public class NEURepoResourcePack implements IResourcePack {
- File repoLocation;
- Set<String> resourceDomains = new HashSet<>();
+ File repoLocation;
+ Set<String> resourceDomains = new HashSet<>();
- public NEURepoResourcePack(File repoLocation, String domain) {
- this.repoLocation = repoLocation;
- resourceDomains.add(domain);
- }
+ public NEURepoResourcePack(File repoLocation, String domain) {
+ this.repoLocation = repoLocation;
+ resourceDomains.add(domain);
+ }
- public boolean loadRepoLocation() {
- if (repoLocation != null) return true;
- NotEnoughUpdates instance = NotEnoughUpdates.INSTANCE;
- if (instance == null) return false;
- NEUManager manager = instance.manager;
- if (manager == null) return false;
- repoLocation = manager.repoLocation;
- return repoLocation != null;
- }
+ public boolean loadRepoLocation() {
+ if (repoLocation != null) return true;
+ NotEnoughUpdates instance = NotEnoughUpdates.INSTANCE;
+ if (instance == null) return false;
+ NEUManager manager = instance.manager;
+ if (manager == null) return false;
+ repoLocation = manager.repoLocation;
+ return repoLocation != null;
+ }
- public File getFileForResource(ResourceLocation loc) {
- if (repoLocation == null) {
- if (!loadRepoLocation())
- return null;
- }
- if (!"neurepo".equals(loc.getResourceDomain())) {
- return null;
- }
- return new File(repoLocation, loc.getResourcePath());
- }
+ public File getFileForResource(ResourceLocation loc) {
+ if (repoLocation == null) {
+ if (!loadRepoLocation())
+ return null;
+ }
+ if (!"neurepo".equals(loc.getResourceDomain())) {
+ return null;
+ }
+ return new File(repoLocation, loc.getResourcePath());
+ }
- @Override
- public InputStream getInputStream(ResourceLocation resourceLocation) throws IOException {
- return new BufferedInputStream(new FileInputStream(getFileForResource(resourceLocation)));
- }
+ @Override
+ public InputStream getInputStream(ResourceLocation resourceLocation) throws IOException {
+ return new BufferedInputStream(new FileInputStream(getFileForResource(resourceLocation)));
+ }
- @Override
- public boolean resourceExists(ResourceLocation resourceLocation) {
- File file = getFileForResource(resourceLocation);
- return file != null && file.exists();
- }
+ @Override
+ public boolean resourceExists(ResourceLocation resourceLocation) {
+ File file = getFileForResource(resourceLocation);
+ return file != null && file.exists();
+ }
- @Override
- public Set<String> getResourceDomains() {
- return resourceDomains;
- }
+ @Override
+ public Set<String> getResourceDomains() {
+ return resourceDomains;
+ }
- @Override
- public <T extends IMetadataSection> T getPackMetadata(IMetadataSerializer iMetadataSerializer, String s) throws IOException {
- return iMetadataSerializer.parseMetadataSection(s, new JsonObject());
- }
+ @Override
+ public <T extends IMetadataSection> T getPackMetadata(IMetadataSerializer iMetadataSerializer, String s)
+ throws IOException {
+ return iMetadataSerializer.parseMetadataSection(s, new JsonObject());
+ }
- @Override
- public BufferedImage getPackImage() throws IOException {
- return null;
- }
+ @Override
+ public BufferedImage getPackImage() throws IOException {
+ return null;
+ }
- @Override
- public String getPackName() {
- return "NEU Repo Resources";
- }
+ @Override
+ public String getPackName() {
+ return "NEU Repo Resources";
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
index cac89e77..9f7a98b1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates;
import com.google.common.collect.Sets;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java b/src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java
index 80d2bca9..d4b6bd05 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.auction;
import com.google.gson.JsonArray;
@@ -27,7 +46,16 @@ import net.minecraft.util.ResourceLocation;
import java.io.ByteArrayInputStream;
import java.io.IOException;
-import java.util.*;
+import java.util.Base64;
+import java.util.ConcurrentModificationException;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.TreeMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Consumer;
@@ -214,7 +242,7 @@ public class APIManager {
lastBazaarUpdate = currentTime - BAZAAR_UPDATE_INTERVAL + 60 * 1000; // Try again in 1 minute on failure
updateBazaar();
}
- if (currentTime - lastLowestBinUpdate > LOWEST_BIN_UPDATE_INTERVAL) {
+ if (currentTime - lastLowestBinUpdate > LOWEST_BIN_UPDATE_INTERVAL) {
lastLowestBinUpdate = currentTime - LOWEST_BIN_UPDATE_INTERVAL + 30 * 1000; // Try again in 30 seconds on failure
updateLowestBin();
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java b/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java
index 4fae9ea5..b5d34ed7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.auction;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAHGui.java b/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAHGui.java
index 9311040d..ca85ca1c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAHGui.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAHGui.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.auction;
import net.minecraft.client.gui.GuiScreen;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/ClientCommandBase.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/ClientCommandBase.java
index 8ba87ecd..e0ae7a1a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/ClientCommandBase.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/ClientCommandBase.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands;
import net.minecraft.command.CommandBase;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java
index ea401eb7..86411f4f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java
@@ -1,11 +1,41 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands;
-import io.github.moulberry.notenoughupdates.commands.dev.*;
+import io.github.moulberry.notenoughupdates.commands.dev.DevTestCommand;
+import io.github.moulberry.notenoughupdates.commands.dev.DiagCommand;
+import io.github.moulberry.notenoughupdates.commands.dev.DungeonWinTestCommand;
+import io.github.moulberry.notenoughupdates.commands.dev.NullzeeSphereCommand;
+import io.github.moulberry.notenoughupdates.commands.dev.PackDevCommand;
+import io.github.moulberry.notenoughupdates.commands.dev.ReloadRepoCommand;
+import io.github.moulberry.notenoughupdates.commands.dev.ResetRepoCommand;
+import io.github.moulberry.notenoughupdates.commands.dev.StatsCommand;
import io.github.moulberry.notenoughupdates.commands.dungeon.DhCommand;
import io.github.moulberry.notenoughupdates.commands.dungeon.DnCommand;
import io.github.moulberry.notenoughupdates.commands.dungeon.JoinDungeonCommand;
import io.github.moulberry.notenoughupdates.commands.dungeon.MapCommand;
-import io.github.moulberry.notenoughupdates.commands.help.*;
+import io.github.moulberry.notenoughupdates.commands.help.FeaturesCommand;
+import io.github.moulberry.notenoughupdates.commands.help.HelpCommand;
+import io.github.moulberry.notenoughupdates.commands.help.LinksCommand;
+import io.github.moulberry.notenoughupdates.commands.help.SettingsCommand;
+import io.github.moulberry.notenoughupdates.commands.help.StorageViewerWhyCommand;
import io.github.moulberry.notenoughupdates.commands.misc.AhCommand;
import io.github.moulberry.notenoughupdates.commands.misc.CalendarCommand;
import io.github.moulberry.notenoughupdates.commands.misc.CosmeticsCommand;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/EntityViewerCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/EntityViewerCommand.java
index c7b1862e..e3738661 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/EntityViewerCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/EntityViewerCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands;
import com.google.common.collect.Lists;
@@ -21,61 +40,61 @@ import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedDeque;
public class EntityViewerCommand extends ClientCommandBase {
- public EntityViewerCommand() {
- super("neushowentity");
- MinecraftForge.EVENT_BUS.register(this);
- }
+ public EntityViewerCommand() {
+ super("neushowentity");
+ MinecraftForge.EVENT_BUS.register(this);
+ }
- @Override
- public List<String> getCommandAliases() {
- return Lists.newArrayList("neuentityviewer");
- }
+ @Override
+ public List<String> getCommandAliases() {
+ return Lists.newArrayList("neuentityviewer");
+ }
- @Override
- public String getCommandUsage(ICommandSender sender) {
- return EnumChatFormatting.RED + "Use /neushowentity list";
- }
+ @Override
+ public String getCommandUsage(ICommandSender sender) {
+ return EnumChatFormatting.RED + "Use /neushowentity list";
+ }
- public void showUsage(ICommandSender sender) {
- sender.addChatMessage(new ChatComponentText(getCommandUsage(sender)));
- }
+ public void showUsage(ICommandSender sender) {
+ sender.addChatMessage(new ChatComponentText(getCommandUsage(sender)));
+ }
- private final Queue<EntityViewer> queuedGUIS = new ConcurrentLinkedDeque<>();
+ private final Queue<EntityViewer> queuedGUIS = new ConcurrentLinkedDeque<>();
- @SubscribeEvent
- public void onTick(TickEvent event) {
- if (Minecraft.getMinecraft().currentScreen == null) {
- EntityViewer poll = queuedGUIS.poll();
- if (poll == null) return;
- Minecraft.getMinecraft().displayGuiScreen(poll);
- }
- }
+ @SubscribeEvent
+ public void onTick(TickEvent event) {
+ if (Minecraft.getMinecraft().currentScreen == null) {
+ EntityViewer poll = queuedGUIS.poll();
+ if (poll == null) return;
+ Minecraft.getMinecraft().displayGuiScreen(poll);
+ }
+ }
- @Override
- public void processCommand(ICommandSender sender, String[] strings) throws CommandException {
- if (strings.length == 0) {
- showUsage(sender);
- return;
- }
- if (strings[0].equals("list")) {
- for (String label : EntityViewer.validEntities.keySet()) {
- sender.addChatMessage(new ChatComponentText(EnumChatFormatting.BLUE + " " + label)
- .setChatStyle(new ChatStyle().setChatClickEvent(
- new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/neuentityviewer " + label))));
- }
- return;
- }
- EntityLivingBase entityLivingBase;
- if (strings[0].startsWith("@")) {
- ResourceLocation resourceLocation = new ResourceLocation(strings[0].substring(1));
- entityLivingBase = EntityViewer.constructEntity(resourceLocation);
- } else {
- entityLivingBase = EntityViewer.constructEntity(strings[0], Arrays.copyOfRange(strings, 1, strings.length));
- }
- if (entityLivingBase == null) {
- sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Could not create that entity"));
- return;
- }
- queuedGUIS.add(new EntityViewer(strings[0], entityLivingBase));
- }
+ @Override
+ public void processCommand(ICommandSender sender, String[] strings) throws CommandException {
+ if (strings.length == 0) {
+ showUsage(sender);
+ return;
+ }
+ if (strings[0].equals("list")) {
+ for (String label : EntityViewer.validEntities.keySet()) {
+ sender.addChatMessage(new ChatComponentText(EnumChatFormatting.BLUE + " " + label)
+ .setChatStyle(new ChatStyle().setChatClickEvent(
+ new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/neuentityviewer " + label))));
+ }
+ return;
+ }
+ EntityLivingBase entityLivingBase;
+ if (strings[0].startsWith("@")) {
+ ResourceLocation resourceLocation = new ResourceLocation(strings[0].substring(1));
+ entityLivingBase = EntityViewer.constructEntity(resourceLocation);
+ } else {
+ entityLivingBase = EntityViewer.constructEntity(strings[0], Arrays.copyOfRange(strings, 1, strings.length));
+ }
+ if (entityLivingBase == null) {
+ sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Could not create that entity"));
+ return;
+ }
+ queuedGUIS.add(new EntityViewer(strings[0], entityLivingBase));
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/ScreenCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/ScreenCommand.java
index 29dd9d55..1b90e5df 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/ScreenCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/ScreenCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java
index 478f4db7..7cca9d3b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dev;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DiagCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DiagCommand.java
index dab99698..326c00b4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DiagCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DiagCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dev;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -49,8 +68,7 @@ public class DiagCommand extends ClientCommandBase {
CrystalMetalDetectorSolver.setDebugDoNotUseCenter(true);
sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW +
"Center coordinates-based solutions disabled"));
- }
- else if (subCommand.equals("center=on")) {
+ } else if (subCommand.equals("center=on")) {
CrystalMetalDetectorSolver.setDebugDoNotUseCenter(false);
sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW +
"Center coordinates-based solutions enabled"));
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DungeonWinTestCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DungeonWinTestCommand.java
index 223e154a..be25e697 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DungeonWinTestCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DungeonWinTestCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dev;
import io.github.moulberry.notenoughupdates.commands.ClientCommandBase;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/NullzeeSphereCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/NullzeeSphereCommand.java
index 64d64545..3a9ce90f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/NullzeeSphereCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/NullzeeSphereCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dev;
import io.github.moulberry.notenoughupdates.commands.ClientCommandBase;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/PackDevCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/PackDevCommand.java
index 2b0e7240..e1504472 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/PackDevCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/PackDevCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dev;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -25,51 +44,66 @@ import java.util.function.Supplier;
public class PackDevCommand extends ClientCommandBase {
static Minecraft mc = Minecraft.getMinecraft();
+
public PackDevCommand() {
super("neupackdev");
}
private static final HashMap<String, Command<?, ?>> commands = new HashMap<String, Command<?, ?>>() {{
- put("getnpc",
+ put(
+ "getnpc",
new Command<>(
"NPC",
() -> mc.theWorld.playerEntities,
true,
AbstractClientPlayer.class
- ));
- put("getnpcs",
+ )
+ );
+ put(
+ "getnpcs",
new Command<>(
"NPC",
() -> mc.theWorld.playerEntities,
false,
AbstractClientPlayer.class
- ));
- put("getmob",
+ )
+ );
+ put(
+ "getmob",
new Command<>(
"mob",
() -> mc.theWorld.loadedEntityList,
true,
EntityLiving.class
- ));
- put("getmobs",
+ )
+ );
+ put(
+ "getmobs",
new Command<>(
"mob",
() -> mc.theWorld.loadedEntityList,
false,
EntityLiving.class
- ));
- put("getarmorstand",
- new Command<>("armor stand",
+ )
+ );
+ put(
+ "getarmorstand",
+ new Command<>(
+ "armor stand",
() -> mc.theWorld.loadedEntityList,
true,
EntityArmorStand.class
- ));
- put("getarmorstands",
- new Command<>("armor stand",
+ )
+ );
+ put(
+ "getarmorstands",
+ new Command<>(
+ "armor stand",
() -> mc.theWorld.loadedEntityList,
false,
EntityArmorStand.class
- ));
+ )
+ );
}};
@Override
@@ -108,7 +142,7 @@ public class PackDevCommand extends ClientCommandBase {
StringBuilder output;
String subCommand = args[0].toLowerCase();
if (commands.containsKey(subCommand)) {
- Command<?,?> command = commands.get(subCommand);
+ Command<?, ?> command = commands.get(subCommand);
output = command.getData(dist);
} else if (subCommand.equals("getall")) {
output = getAll(dist);
@@ -184,7 +218,7 @@ public class PackDevCommand extends ClientCommandBase {
String heldItemString = heldItemTagCompound.toString();
NBTBase extraAttrTag = heldItemTagCompound.getTag("ExtraAttributes");
entityData
- .append(heldItemString != null ? heldItemString : "null")
+ .append(heldItemString != null ? heldItemString : "null")
.append("\nItem Tag Compound Extra Attributes: ")
.append(extraAttrTag != null ? extraAttrTag : "null");
} else {
@@ -201,12 +235,13 @@ public class PackDevCommand extends ClientCommandBase {
}
private static final String[] armorPieceTypes = {"Boots", "Leggings", "Chestplate", "Helmet"};
- public static <T extends EntityLivingBase> StringBuilder armorDataBuilder (T entity) {
+
+ public static <T extends EntityLivingBase> StringBuilder armorDataBuilder(T entity) {
StringBuilder armorData = new StringBuilder();
- for (int i=0; i < 4; i++) {
+ for (int i = 0; i < 4; i++) {
ItemStack currentArmor = entity.getCurrentArmor(0);
armorData.append(String.format("\n%s: ", armorPieceTypes[i]));
- if (currentArmor == null) {
+ if (currentArmor == null) {
armorData.append("null");
} else {
armorData.append(currentArmor.getTagCompound() != null ? currentArmor.getTagCompound().toString() : "null");
@@ -221,10 +256,12 @@ public class PackDevCommand extends ClientCommandBase {
Class<T> clazz;
boolean single;
- Command(String typeFriendlyName,
- Supplier<List<U>> entitySupplier,
- boolean single,
- Class<T> clazz) {
+ Command(
+ String typeFriendlyName,
+ Supplier<List<U>> entitySupplier,
+ boolean single,
+ Class<T> clazz
+ ) {
this.typeFriendlyName = typeFriendlyName;
this.entitySupplier = entitySupplier;
this.single = single;
@@ -241,8 +278,8 @@ public class PackDevCommand extends ClientCommandBase {
continue;
}
T entityT = (T) entity;
- double entityDistanceSq = entity.getDistanceSq(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ);
- if (entityDistanceSq < distSq) {
+ double entityDistanceSq = entity.getDistanceSq(mc.thePlayer.posX, mc.thePlayer.posY, mc.thePlayer.posZ);
+ if (entityDistanceSq < distSq) {
if (single) {
distSq = entityDistanceSq;
closest = entityT;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ReloadRepoCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ReloadRepoCommand.java
index 40db245a..0bf57594 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ReloadRepoCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ReloadRepoCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dev;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ResetRepoCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ResetRepoCommand.java
index 9e8363fb..3f693898 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ResetRepoCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/ResetRepoCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dev;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/StatsCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/StatsCommand.java
index c7b6e887..756afc88 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/StatsCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/StatsCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dev;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DhCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DhCommand.java
index 89299a36..222862f9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DhCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DhCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dungeon;
import io.github.moulberry.notenoughupdates.commands.ClientCommandBase;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DnCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DnCommand.java
index 8fbbceba..a5a7bcca 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DnCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/DnCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dungeon;
import io.github.moulberry.notenoughupdates.commands.ClientCommandBase;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/JoinDungeonCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/JoinDungeonCommand.java
index 874e81db..d69f86f3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/JoinDungeonCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/JoinDungeonCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dungeon;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/MapCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/MapCommand.java
index ae06a346..3789a09d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/MapCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dungeon/MapCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.dungeon;
import com.google.gson.JsonElement;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/FeaturesCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/FeaturesCommand.java
index 593f2575..5f709c4f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/FeaturesCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/FeaturesCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.help;
import io.github.moulberry.notenoughupdates.commands.ClientCommandBase;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/HelpCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/HelpCommand.java
index c9f0ec27..ba49221e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/HelpCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/HelpCommand.java
@@ -1,15 +1,32 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.help;
import com.google.common.collect.Lists;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
import io.github.moulberry.notenoughupdates.commands.ClientCommandBase;
import net.minecraft.client.Minecraft;
-import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.util.ChatComponentText;
import java.util.ArrayList;
-import java.util.List;
public class HelpCommand extends ClientCommandBase {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/LinksCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/LinksCommand.java
index c81f44a8..cb8ba6ed 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/LinksCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/LinksCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.help;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/SettingsCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/SettingsCommand.java
index 08350be9..9964b739 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/SettingsCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/SettingsCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.help;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/StorageViewerWhyCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/StorageViewerWhyCommand.java
index 5d19d62c..820c6f2a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/help/StorageViewerWhyCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/help/StorageViewerWhyCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.help;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/AhCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/AhCommand.java
index 69d114ca..1cd6bcce 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/AhCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/AhCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.misc;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/ButtonsCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/ButtonsCommand.java
index 63d5c327..55113462 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/ButtonsCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/ButtonsCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.misc;
import io.github.moulberry.notenoughupdates.commands.ClientCommandBase;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CalendarCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CalendarCommand.java
index d3c472bd..58c13474 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CalendarCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CalendarCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.misc;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CosmeticsCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CosmeticsCommand.java
index de772d65..f74b5813 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CosmeticsCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CosmeticsCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.misc;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CustomizeCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CustomizeCommand.java
index 6bce4f5a..cca6535e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CustomizeCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/CustomizeCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.misc;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -9,7 +28,6 @@ import net.minecraft.command.ICommandSender;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/CataCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/CataCommand.java
index ccf72d73..afc47418 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/CataCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/CataCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.profile;
import io.github.moulberry.notenoughupdates.profileviewer.GuiProfileViewer;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PeekCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PeekCommand.java
index d69139aa..3133edf5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PeekCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PeekCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.profile;
import com.google.gson.JsonElement;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PvCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PvCommand.java
index 07394ffd..2d5c05f4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PvCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/PvCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.profile;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/ViewProfileCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/ViewProfileCommand.java
index fe441ad6..e4ca497c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/ViewProfileCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/profile/ViewProfileCommand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.commands.profile;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/BackgroundBlur.java b/src/main/java/io/github/moulberry/notenoughupdates/core/BackgroundBlur.java
index c85841b3..fc2be97b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/BackgroundBlur.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/BackgroundBlur.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/ChromaColour.java b/src/main/java/io/github/moulberry/notenoughupdates/core/ChromaColour.java
index 8f4dd87d..05a9a65e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/ChromaColour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/ChromaColour.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core;
import java.awt.*;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/GlScissorStack.java b/src/main/java/io/github/moulberry/notenoughupdates/core/GlScissorStack.java
index 7cc8893f..40b9fe7a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/GlScissorStack.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/GlScissorStack.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core;
import net.minecraft.client.Minecraft;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElement.java b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElement.java
index c1c76675..2a684164 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElement.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElement.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core;
import net.minecraft.client.gui.Gui;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementBoolean.java b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementBoolean.java
index d5cbb3ad..b0586210 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementBoolean.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementBoolean.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core;
import io.github.moulberry.notenoughupdates.core.util.lerp.LerpUtils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementColour.java b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementColour.java
index 48996c8d..1f655aaf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementColour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementColour.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core;
import io.github.moulberry.notenoughupdates.core.util.render.RenderUtils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java
index f3d038e9..45dc58cc 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core;
import io.github.moulberry.notenoughupdates.core.util.StringUtils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiScreenElementWrapper.java b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiScreenElementWrapper.java
index c7c4517b..95ed8a5f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiScreenElementWrapper.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiScreenElementWrapper.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core;
import net.minecraft.client.gui.GuiScreen;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/Config.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/Config.java
index 2a696a44..6bafb1fd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/Config.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/Config.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config;
public class Config {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/GuiPositionEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/GuiPositionEditor.java
index 9d0133cb..eac1e5cd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/GuiPositionEditor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/GuiPositionEditor.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config;
import net.minecraft.client.Minecraft;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/KeybindHelper.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/KeybindHelper.java
index 30226a22..d63f871c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/KeybindHelper.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/KeybindHelper.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config;
import org.lwjgl.input.Keyboard;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/Position.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/Position.java
index cf946649..535c92bf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/Position.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/Position.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/PositionNew.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/PositionNew.java
index 8f2b02d8..cf756c91 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/PositionNew.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/PositionNew.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/Category.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/Category.java
index b67d0383..e0a9585a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/Category.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/Category.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigAccordionId.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigAccordionId.java
index 1c847851..b11f7651 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigAccordionId.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigAccordionId.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorAccordion.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorAccordion.java
index 11b798f9..7491a94f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorAccordion.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorAccordion.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorBoolean.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorBoolean.java
index f625b318..8e6f652c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorBoolean.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorBoolean.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorButton.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorButton.java
index 455df65f..a2c56dc0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorButton.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorButton.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorColour.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorColour.java
index 6640ade9..824b2eec 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorColour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorColour.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDraggableList.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDraggableList.java
index 61e923f5..d9707c9b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDraggableList.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDraggableList.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
@@ -9,5 +28,6 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
public @interface ConfigEditorDraggableList {
String[] exampleText();
+
boolean allowDeleting() default true;
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDropdown.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDropdown.java
index ac766e93..8d870643 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDropdown.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorDropdown.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorFSR.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorFSR.java
index 217df0c5..ba45ae68 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorFSR.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorFSR.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorKeybind.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorKeybind.java
index 8d8de2eb..f1a3e329 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorKeybind.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorKeybind.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorSlider.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorSlider.java
index abab37f9..b8db25bc 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorSlider.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorSlider.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorText.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorText.java
index 1ff7e39e..b6b32fb2 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorText.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigEditorText.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java
index 2ee23dcf..d51294e7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.annotations;
import java.lang.annotation.ElementType;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditor.java
index d62c7ec7..c3969e35 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditor.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.config.struct.ConfigProcessor;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorAccordion.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorAccordion.java
index 8877cd03..dc1173ef 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorAccordion.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorAccordion.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.config.struct.ConfigProcessor;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorBoolean.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorBoolean.java
index 8a3b2f14..d12ec8e7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorBoolean.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorBoolean.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.GuiElementBoolean;
@@ -18,7 +37,7 @@ public class GuiOptionEditorBoolean extends GuiOptionEditor {
super(option);
this.config = config;
this.runnableId = runnableId;
- bool = new GuiElementBoolean(0, 0, (boolean) option.get(),10, (value) -> onUpdate(option, value));
+ bool = new GuiElementBoolean(0, 0, (boolean) option.get(), 10, (value) -> onUpdate(option, value));
}
@Override
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorButton.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorButton.java
index 76944efa..aef6318c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorButton.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorButton.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.config.Config;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorColour.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorColour.java
index 80d2af42..ca4087b5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorColour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorColour.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.ChromaColour;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDraggableList.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDraggableList.java
index 4dbde24b..63a932b5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDraggableList.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDraggableList.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.config.struct.ConfigProcessor;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDropdown.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDropdown.java
index a17737e3..af6af277 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDropdown.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorDropdown.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.config.struct.ConfigProcessor;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorFSR.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorFSR.java
index b443b5f6..048e261e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorFSR.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorFSR.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.config.Config;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorKeybind.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorKeybind.java
index 5ff961a7..6eb71d1e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorKeybind.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorKeybind.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.config.KeybindHelper;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorSlider.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorSlider.java
index 45ae70d9..7fceb92d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorSlider.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorSlider.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.GuiElementTextField;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorText.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorText.java
index 7acc074b..ad2fa4db 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorText.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiOptionEditorText.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.GuiElementTextField;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiPositionEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiPositionEditor.java
index 80ec3811..ed45bab6 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiPositionEditor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/gui/GuiPositionEditor.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.gui;
import io.github.moulberry.notenoughupdates.core.config.Position;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java
index dddc14de..75862069 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java
@@ -1,9 +1,50 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.config.struct;
import com.google.gson.annotations.Expose;
import io.github.moulberry.notenoughupdates.core.config.Config;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
-import io.github.moulberry.notenoughupdates.core.config.gui.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.Category;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorColour;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorFSR;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorKeybind;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorText;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditor;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorColour;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorFSR;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorKeybind;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.gui.GuiOptionEditorText;
import java.lang.reflect.Field;
import java.util.LinkedHashMap;
@@ -148,7 +189,11 @@ public class ConfigProcessor {
if (optionField.isAnnotationPresent(ConfigEditorDraggableList.class)) {
ConfigEditorDraggableList configEditorAnnotation =
optionField.getAnnotation(ConfigEditorDraggableList.class);
- editor = new GuiOptionEditorDraggableList(option, configEditorAnnotation.exampleText(), configEditorAnnotation.allowDeleting());
+ editor = new GuiOptionEditorDraggableList(
+ option,
+ configEditorAnnotation.exampleText(),
+ configEditorAnnotation.allowDeleting()
+ );
}
}
if (optionType.isAssignableFrom(String.class)) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/GuiElementSlider.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/GuiElementSlider.java
index c2252a97..3e982f9d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/GuiElementSlider.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/GuiElementSlider.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util;
import io.github.moulberry.notenoughupdates.core.GuiElement;
@@ -10,7 +29,13 @@ import org.lwjgl.opengl.GL11;
import java.util.function.Consumer;
-import static io.github.moulberry.notenoughupdates.util.GuiTextures.*;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_button_new;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_off_cap;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_off_notch;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_off_segment;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_on_cap;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_on_notch;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_on_segment;
public class GuiElementSlider extends GuiElement {
public int x;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/Line.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/Line.java
index fb134e85..a5744a26 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/Line.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/Line.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util;
import net.minecraft.util.Vec3;
@@ -16,9 +35,11 @@ public class Line {
}
public Vec3 getMidpoint() {
- return new Vec3((point1.xCoord + point2.xCoord) / 2.0,
+ return new Vec3(
+ (point1.xCoord + point2.xCoord) / 2.0,
(point1.yCoord + point2.yCoord) / 2.0,
- (point1.zCoord + point2.zCoord) / 2.0);
+ (point1.zCoord + point2.zCoord) / 2.0
+ );
}
/**
@@ -27,8 +48,7 @@ public class Line {
*
* @return The intersection {@link Line} or {@code null} if no solution found
*/
- public Line getIntersectionLineSegment(Line other)
- {
+ public Line getIntersectionLineSegment(Line other) {
Vec3 p1 = this.point1;
Vec3 p2 = this.point2;
Vec3 p3 = other.point1;
@@ -61,14 +81,17 @@ public class Line {
double mub = (d1343 + d4321 * (mua)) / d4343;
Line resultSegment = new Line(
- new Vec3 (
- (float)(p1.xCoord + mua * p21.xCoord),
- (float)(p1.yCoord + mua * p21.yCoord),
- (float)(p1.zCoord + mua * p21.zCoord)),
- new Vec3 (
- (float)(p3.xCoord + mub * p43.xCoord),
- (float)(p3.yCoord + mub * p43.yCoord),
- (float)(p3.zCoord + mub * p43.zCoord)));
+ new Vec3(
+ (float) (p1.xCoord + mua * p21.xCoord),
+ (float) (p1.yCoord + mua * p21.yCoord),
+ (float) (p1.zCoord + mua * p21.zCoord)
+ ),
+ new Vec3(
+ (float) (p3.xCoord + mub * p43.xCoord),
+ (float) (p3.yCoord + mub * p43.yCoord),
+ (float) (p3.zCoord + mub * p43.zCoord)
+ )
+ );
return resultSegment;
}
@@ -82,9 +105,11 @@ public class Line {
}
public String toString() {
- return String.format("point1 = %s, point2 = %s, midpoint = %s",
+ return String.format(
+ "point1 = %s, point2 = %s, midpoint = %s",
point1 == null ? "NULL" : point1.toString(),
point2 == null ? "NULL" : point2.toString(),
- (point1 == null || point2 == null) ? "NULL" : getMidpoint());
+ (point1 == null || point2 == null) ? "NULL" : getMidpoint()
+ );
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/MiscUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/MiscUtils.java
index 03a9483b..41780140 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/MiscUtils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/MiscUtils.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util;
import net.minecraft.client.Minecraft;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/Splitters.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/Splitters.java
index 0bb858db..389991b4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/Splitters.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/Splitters.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util;
import com.google.common.base.Splitter;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/StringUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/StringUtils.java
index b0deadd2..41f2742f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/StringUtils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/StringUtils.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util;
import com.google.common.collect.Sets;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/Vec3Comparable.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/Vec3Comparable.java
index cd144c21..c9736b77 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/Vec3Comparable.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/Vec3Comparable.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util;
import net.minecraft.util.BlockPos;
@@ -54,7 +73,7 @@ public class Vec3Comparable extends Vec3 implements Comparable<Vec3Comparable> {
}
@Override
- public Vec3Comparable add(Vec3 other) {
+ public Vec3Comparable add(Vec3 other) {
return new Vec3Comparable(super.add(other));
}
@@ -89,19 +108,19 @@ public class Vec3Comparable extends Vec3 implements Comparable<Vec3Comparable> {
}
@Override
- public boolean equals(Object other) {
- if (this == other) {
+ public boolean equals(Object other) {
+ if (this == other) {
return true;
- } else if (!(other instanceof Vec3Comparable)) {
+ } else if (!(other instanceof Vec3Comparable)) {
return false;
- } else {
+ } else {
Vec3Comparable vec3c = (Vec3Comparable) other;
return this.xCoord == vec3c.xCoord && this.yCoord == vec3c.yCoord && this.zCoord == vec3c.zCoord;
}
}
@Override
- public int hashCode() {
+ public int hashCode() {
long bits = 1L;
bits = 31L * bits + doubleToLongBits(xCoord);
bits = 31L * bits + doubleToLongBits(yCoord);
@@ -112,9 +131,9 @@ public class Vec3Comparable extends Vec3 implements Comparable<Vec3Comparable> {
public int compareTo(Vec3Comparable other) {
return this.yCoord == other.yCoord ?
(this.zCoord == other.zCoord ?
- (int)(this.xCoord - other.xCoord)
- : (int)(this.zCoord - other.zCoord))
- : (int)(this.yCoord - other.yCoord);
+ (int) (this.xCoord - other.xCoord)
+ : (int) (this.zCoord - other.zCoord))
+ : (int) (this.yCoord - other.yCoord);
}
public boolean signumEquals(Vec3 other) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpUtils.java
index 7e401959..0e60ad92 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpUtils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpUtils.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util.lerp;
public class LerpUtils {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingFloat.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingFloat.java
index 3d9e7787..fb03140c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingFloat.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingFloat.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util.lerp;
public class LerpingFloat {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingInteger.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingInteger.java
index 024455fd..8462200f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingInteger.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/lerp/LerpingInteger.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util.lerp;
public class LerpingInteger {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java
index 96e9729f..e7ce29c3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util.render;
import io.github.moulberry.notenoughupdates.core.BackgroundBlur;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/TextRenderUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/TextRenderUtils.java
index ff7ac53a..cee38cea 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/TextRenderUtils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/TextRenderUtils.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util.render;
import io.github.moulberry.notenoughupdates.core.util.StringUtils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
index 18e62706..293535e7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.cosmetics;
import com.google.common.collect.BiMap;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeNode.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeNode.java
index c32cc98f..9bf0313b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeNode.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeNode.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.cosmetics;
import net.minecraft.client.renderer.Tessellator;
@@ -391,4 +410,4 @@ public class CapeNode {
.normal(otherSideNorm.x, otherSideNorm.y, otherSideNorm.z).endVertex();
tessellator.draw();
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/GuiCosmetics.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/GuiCosmetics.java
index 1b33decf..0e37bed3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/GuiCosmetics.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/GuiCosmetics.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.cosmetics;
import com.google.gson.Gson;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java
index a58587a8..d32abf64 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.cosmetics;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java
index 02e8215c..45db303b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.cosmetics;
import net.minecraft.client.Minecraft;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonBlocks.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonBlocks.java
index 0e7c59c7..7a2eb2b0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonBlocks.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonBlocks.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.dungeons;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java
index e132d287..2693341a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.dungeons;
import com.google.common.collect.Iterables;
@@ -46,8 +65,13 @@ import java.awt.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
-import java.util.*;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
public class DungeonMap {
private static final ResourceLocation GREEN_CHECK = new ResourceLocation(
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java
index 66389beb..a56a5679 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.dungeons;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -14,7 +33,12 @@ import net.minecraftforge.client.event.ClientChatReceivedEvent;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL14;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.ConcurrentModificationException;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Random;
+import java.util.Set;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -200,11 +224,16 @@ public class DungeonWin {
displayWin();
} else {
if (unformatted.trim().length() > 0) {
- if (unformatted.contains("The Catacombs") || unformatted.contains("Master Mode Catacombs") || unformatted.contains("Team Score") || unformatted.contains("Defeated") || unformatted.contains("Total Damage")
- || unformatted.contains("Ally Healing") || unformatted.contains("Enemies Killed") || unformatted.contains("Deaths") || unformatted.contains("Secrets Found")) {
+ if (unformatted.contains("The Catacombs") || unformatted.contains("Master Mode Catacombs") ||
+ unformatted.contains("Team Score") || unformatted.contains("Defeated") || unformatted.contains(
+ "Total Damage")
+ || unformatted.contains("Ally Healing") || unformatted.contains("Enemies Killed") || unformatted.contains(
+ "Deaths") || unformatted.contains("Secrets Found")) {
text.add(e.message.getFormattedText().substring(6).trim());
} else {
- System.out.println("These messages would of showed on neu dungeon overlay but didnt, They are either bugged or i missed them: \"" + e.message.getFormattedText().substring(6).trim() + "\"");
+ System.out.println(
+ "These messages would of showed on neu dungeon overlay but didnt, They are either bugged or i missed them: \"" +
+ e.message.getFormattedText().substring(6).trim() + "\"");
}
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java
index e59e0ea1..47e85023 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.dungeons;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -29,10 +48,16 @@ import org.lwjgl.opengl.GL11;
import java.awt.*;
import java.io.IOException;
import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
-import java.util.*;
+import java.util.Map;
-import static io.github.moulberry.notenoughupdates.util.GuiTextures.*;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.button_tex;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_button;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_off_large;
+import static io.github.moulberry.notenoughupdates.util.GuiTextures.slider_on_large;
public class GuiDungeonMapEditor extends GuiScreen {
public static final ResourceLocation BACKGROUND = new ResourceLocation(
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/events/NEUEvent.java b/src/main/java/io/github/moulberry/notenoughupdates/events/NEUEvent.java
index a2c82070..178431d0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/events/NEUEvent.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/events/NEUEvent.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.events;
import net.minecraftforge.common.MinecraftForge;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/events/OnBlockBreakSoundEffect.java b/src/main/java/io/github/moulberry/notenoughupdates/events/OnBlockBreakSoundEffect.java
index aeffa7da..9a2516e1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/events/OnBlockBreakSoundEffect.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/events/OnBlockBreakSoundEffect.java
@@ -1,6 +1,24 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.events;
-import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.audio.ISound;
import net.minecraft.util.BlockPos;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java b/src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java
index b0ffc3e7..bf6448a2 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.events;
import java.io.File;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/DevInfoPane.java b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/DevInfoPane.java
index 945dd71c..a449919e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/DevInfoPane.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/DevInfoPane.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.infopanes;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/FlipperInfoPane.java b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/FlipperInfoPane.java
index 441bf735..4b6c73f4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/FlipperInfoPane.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/FlipperInfoPane.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.infopanes;
import io.github.moulberry.notenoughupdates.NEUManager;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/HTMLInfoPane.java b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/HTMLInfoPane.java
index e4098f3e..03f55561 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/HTMLInfoPane.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/HTMLInfoPane.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.infopanes;
import info.bliki.htmlcleaner.TagNode;
@@ -26,7 +45,16 @@ import org.apache.commons.lang3.SystemUtils;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.CharsetEncoder;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/InfoPane.java b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/InfoPane.java
index 03cb64f6..5f73e57a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/InfoPane.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/InfoPane.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.infopanes;
import io.github.moulberry.notenoughupdates.NEUManager;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/ScrollableInfoPane.java b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/ScrollableInfoPane.java
index 75b66770..9bc47fc5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/ScrollableInfoPane.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/ScrollableInfoPane.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.infopanes;
import io.github.moulberry.notenoughupdates.NEUManager;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java
index 77d47a3d..90bed1fa 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.infopanes;
import io.github.moulberry.notenoughupdates.NEUManager;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElement.java b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElement.java
index 38ad2824..ab277078 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElement.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElement.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.itemeditor;
import net.minecraft.client.gui.Gui;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementButton.java b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementButton.java
index 35b31490..54cba6b8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementButton.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementButton.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.itemeditor;
import java.awt.*;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementText.java b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementText.java
index 1e7a8c08..9f612fcf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementText.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementText.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.itemeditor;
import net.minecraft.client.Minecraft;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementTextField.java b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementTextField.java
index f37f2fa1..71c4d498 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementTextField.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/GuiElementTextField.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.itemeditor;
import io.github.moulberry.notenoughupdates.util.Utils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java
index 7e776bcd..ff0e5f13 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.itemeditor;
import com.google.gson.JsonArray;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/listener/ChatListener.java b/src/main/java/io/github/moulberry/notenoughupdates/listener/ChatListener.java
index e4f0b3da..408c8a6d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/listener/ChatListener.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/ChatListener.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.listener;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -24,7 +43,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import static io.github.moulberry.notenoughupdates.overlays.SlayerOverlay.*;
+import static io.github.moulberry.notenoughupdates.overlays.SlayerOverlay.RNGMeter;
+import static io.github.moulberry.notenoughupdates.overlays.SlayerOverlay.slayerXp;
+import static io.github.moulberry.notenoughupdates.overlays.SlayerOverlay.timeSinceLastBoss;
+import static io.github.moulberry.notenoughupdates.overlays.SlayerOverlay.timeSinceLastBoss2;
public class ChatListener {
private final NotEnoughUpdates neu;
@@ -124,7 +146,7 @@ public class ChatListener {
public void onGuiChat(ClientChatReceivedEvent e) {
if (e.type == 2) {
CrystalMetalDetectorSolver.process(e.message);
- TimersOverlay.processActionBar(e.message.getUnformattedText());
+ TimersOverlay.processActionBar(e.message.getUnformattedText());
e.message = processChatComponent(e.message);
return;
} else if (e.type == 0) {
@@ -145,10 +167,11 @@ public class ChatListener {
.substring("Your profile was changed to: ".length())
.split(" ")[0].trim());
} else if (unformatted.startsWith("Your new API key is ")) {
- NotEnoughUpdates.INSTANCE.config.apiData.apiKey = unformatted.substring("Your new API key is ".length()).substring(
- 0,
- 36
- );
+ NotEnoughUpdates.INSTANCE.config.apiData.apiKey =
+ unformatted.substring("Your new API key is ".length()).substring(
+ 0,
+ 36
+ );
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(
EnumChatFormatting.YELLOW + "[NEU] API Key automatically configured"));
} else if (unformatted.startsWith("Player List Info is now disabled!")) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java b/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java
index ab4e9dca..fab02bf9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.listener;
import com.google.gson.JsonArray;
@@ -46,7 +65,6 @@ import java.util.Set;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
public class ItemTooltipListener {
private static final String petToolTipRegex =
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/listener/NEUEventListener.java b/src/main/java/io/github/moulberry/notenoughupdates/listener/NEUEventListener.java
index d070fc2d..ec459ad0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/listener/NEUEventListener.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/NEUEventListener.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.listener;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/listener/OldAnimationChecker.java b/src/main/java/io/github/moulberry/notenoughupdates/listener/OldAnimationChecker.java
index e537b2b7..7858918b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/listener/OldAnimationChecker.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/OldAnimationChecker.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.listener;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java b/src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java
index 610412ac..aedca6e3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.listener;
import com.google.common.collect.Lists;
@@ -900,7 +919,12 @@ public class RenderListener {
GuiChest eventGui = (GuiChest) guiScreen;
ContainerChest cc = (ContainerChest) eventGui.inventorySlots;
containerName = cc.getLowerChestInventory().getDisplayName().getUnformattedText();
- if (containerName.contains(" Profile") && BetterContainers.profileViewerStackIndex != -1 && ((AccessorGuiContainer)eventGui).doIsMouseOverSlot(cc.inventorySlots.get(BetterContainers.profileViewerStackIndex), mouseX, mouseY) &&
+ if (containerName.contains(" Profile") && BetterContainers.profileViewerStackIndex != -1 &&
+ ((AccessorGuiContainer) eventGui).doIsMouseOverSlot(
+ cc.inventorySlots.get(BetterContainers.profileViewerStackIndex),
+ mouseX,
+ mouseY
+ ) &&
Mouse.getEventButton() >= 0) {
event.setCanceled(true);
if (Mouse.getEventButtonState() && eventGui.inventorySlots.inventorySlots.get(22).getStack() != null &&
@@ -1047,7 +1071,10 @@ public class RenderListener {
"config/notenoughupdates/repo/constants/essencecosts.json"
);
String fileContent;
- fileContent = new BufferedReader(new InputStreamReader(Files.newInputStream(file.toPath()), StandardCharsets.UTF_8))
+ fileContent = new BufferedReader(new InputStreamReader(
+ Files.newInputStream(file.toPath()),
+ StandardCharsets.UTF_8
+ ))
.lines()
.collect(Collectors.joining(System.lineSeparator()));
String id = null;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/listener/ScoreboardLocationChangeListener.java b/src/main/java/io/github/moulberry/notenoughupdates/listener/ScoreboardLocationChangeListener.java
index 2f4ec33c..622b2088 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/listener/ScoreboardLocationChangeListener.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/ScoreboardLocationChangeListener.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.listener;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBAnchorPoint.java b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBAnchorPoint.java
index eaf41ba6..7193b47f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBAnchorPoint.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBAnchorPoint.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mbgui;
import org.lwjgl.util.vector.Vector2f;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBDeserializer.java b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBDeserializer.java
index b9e858ef..5f530c00 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBDeserializer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBDeserializer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mbgui;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiElement.java b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiElement.java
index ad836097..3e3ab1e3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiElement.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiElement.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mbgui;
public abstract class MBGuiElement {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroup.java b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroup.java
index 4540b146..b183bd1e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroup.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroup.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mbgui;
import org.lwjgl.util.vector.Vector2f;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupAligned.java b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupAligned.java
index eef4b5e5..5c0cd37e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupAligned.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupAligned.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mbgui;
import org.lwjgl.util.vector.Vector2f;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupFloating.java b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupFloating.java
index 24697cc6..c57f0b74 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupFloating.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mbgui/MBGuiGroupFloating.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mbgui;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -10,7 +29,11 @@ import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.gui.inventory.GuiContainer;
import org.lwjgl.util.vector.Vector2f;
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
public class MBGuiGroupFloating extends MBGuiGroup {
private GuiScreen lastScreen = null;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionBINWarning.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionBINWarning.java
index 3bae4715..c52f8968 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionBINWarning.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionBINWarning.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionSortModeWarning.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionSortModeWarning.java
index 5137c90f..97e32749 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionSortModeWarning.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/AuctionSortModeWarning.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -58,8 +77,9 @@ public class AuctionSortModeWarning {
String warningText = "\u00a7aSort: " + selectedColour + selectedSort;
int warningLength = Minecraft.getMinecraft().fontRendererObj.getStringWidth(warningText);
- int centerX = ((AccessorGuiContainer)chest).getGuiLeft() + ((AccessorGuiContainer)chest).getXSize() / 2 + 9;
- int centerY = ((AccessorGuiContainer)chest).getGuiTop() + 26;
+ int centerX =
+ ((AccessorGuiContainer) chest).getGuiLeft() + ((AccessorGuiContainer) chest).getXSize() / 2 + 9;
+ int centerY = ((AccessorGuiContainer) chest).getGuiTop() + 26;
RenderUtils.drawFloatingRectDark(centerX - warningLength / 2 - 4, centerY - 6,
warningLength + 8, 12, false
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/BetterContainers.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/BetterContainers.java
index 811c30d2..e51496e3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/BetterContainers.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/BetterContainers.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CookieWarning.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CookieWarning.java
index 0abd5216..2aec0fbe 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CookieWarning.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CookieWarning.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.common.collect.Lists;
@@ -20,7 +39,7 @@ public class CookieWarning {
@SubscribeEvent
public void onJoinWorld(EntityJoinWorldEvent e) {
- if(e.entity == Minecraft.getMinecraft().thePlayer) {
+ if (e.entity == Minecraft.getMinecraft().thePlayer) {
this.checkCookie();
}
}
@@ -33,24 +52,27 @@ public class CookieWarning {
* Checks the tab list for a cookie timer, and sends a chat message if the timer is within the tolerance
*/
private void checkCookie() {
- if(!hasNotified && NotEnoughUpdates.INSTANCE.config.notifications.doBoosterNotif) {
+ if (!hasNotified && NotEnoughUpdates.INSTANCE.config.notifications.doBoosterNotif) {
String[] lines = {};
try {
- lines = ((AccessorGuiPlayerTabOverlay) Minecraft.getMinecraft().ingameGUI.getTabList()).getFooter().getUnformattedText().split("\n");
- } catch(NullPointerException e) {
+ lines = ((AccessorGuiPlayerTabOverlay) Minecraft.getMinecraft().ingameGUI.getTabList())
+ .getFooter()
+ .getUnformattedText()
+ .split("\n");
+ } catch (NullPointerException e) {
return; // if the footer is null or somehow doesn't exist, stop
}
boolean hasCookie = true;
String timeLine = null; // the line that contains the cookie timer
- for(int i = 0; i < lines.length; i++) {
- if(lines[i].startsWith("Cookie Buff")) {
- timeLine = lines[i+1]; // the line after the "Cookie Buff" line
+ for (int i = 0; i < lines.length; i++) {
+ if (lines[i].startsWith("Cookie Buff")) {
+ timeLine = lines[i + 1]; // the line after the "Cookie Buff" line
}
- if(lines[i].startsWith("Not active! Obtain booster cookies from the")) {
+ if (lines[i].startsWith("Not active! Obtain booster cookies from the")) {
hasCookie = false;
}
}
- if(!hasCookie) {
+ if (!hasCookie) {
NotificationHandler.displayNotification(Lists.newArrayList(
"\u00a7cBooster Cookie Ran Out!",
"\u00a77Your Booster Cookie expired!",
@@ -60,21 +82,21 @@ public class CookieWarning {
hasNotified = true;
return;
}
- if(timeLine != null) {
+ if (timeLine != null) {
String[] digits = timeLine.split(" ");
int minutes = 0;
try {
- for(String digit : digits) {
- if(digit.endsWith("y")) {
+ for (String digit : digits) {
+ if (digit.endsWith("y")) {
digit = digit.substring(0, digit.length() - 1);
minutes += Integer.parseInt(digit) * 525600;
- } else if(digit.endsWith("d")) {
+ } else if (digit.endsWith("d")) {
digit = digit.substring(0, digit.length() - 1);
minutes += Integer.parseInt(digit) * 1440;
- } else if(digit.endsWith("h")) {
+ } else if (digit.endsWith("h")) {
digit = digit.substring(0, digit.length() - 1);
minutes += Integer.parseInt(digit) * 60;
- } else if(digit.endsWith("m")) {
+ } else if (digit.endsWith("m")) {
digit = digit.substring(0, digit.length() - 1);
minutes += Integer.parseInt(digit);
} // ignore seconds
@@ -85,7 +107,7 @@ public class CookieWarning {
EnumChatFormatting.RED +
"NEU ran into an issue when retrieving the Booster Cookie Timer. Check the logs for details."));
}
- if(minutes < NotEnoughUpdates.INSTANCE.config.notifications.boosterCookieWarningMins) {
+ if (minutes < NotEnoughUpdates.INSTANCE.config.notifications.boosterCookieWarningMins) {
NotificationHandler.displayNotification(Lists.newArrayList(
"\u00a7cBooster Cookie Running Low!",
"\u00a77Your Booster Cookie will expire in " + timeLine,
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolver.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolver.java
index f43ebda2..167b6a2f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolver.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolver.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -52,56 +71,56 @@ public class CrystalMetalDetectorSolver {
private static final String EMERALD_STRING = "emerald";
private static final String GOLD_STRING = "gold";
private static final HashMap<String, Vec3i> keeperOffsets = new HashMap<String, Vec3i>() {{
- put(DIAMOND_STRING, new Vec3i(33,0,3));
- put(LAPIS_STRING, new Vec3i(-33,0,-3));
- put(EMERALD_STRING, new Vec3i(-3,0,33));
- put(GOLD_STRING, new Vec3i(3,0,-33));
+ put(DIAMOND_STRING, new Vec3i(33, 0, 3));
+ put(LAPIS_STRING, new Vec3i(-33, 0, -3));
+ put(EMERALD_STRING, new Vec3i(-3, 0, 33));
+ put(GOLD_STRING, new Vec3i(3, 0, -33));
}};
// Chest offsets from center
private static final HashSet<Long> knownChestOffsets = new HashSet<>(Arrays.asList(
- -10171958951910L, // x=-38, y=-22, z=26
- 10718829084646L, // x=38, y=-22, z=-26
- -10721714765806L, // x=-40, y=-22, z=18
- -10996458455018L, // x=-41, y=-20, z=22
- -1100920913904L, // x=-5, y=-21, z=16
- 11268584898530L, // x=40, y=-22, z=-30
- -11271269253148L, // x=-42, y=-20, z=-28
- -11546281377832L, // x=-43, y=-22, z=-40
- 11818542038999L, // x=42, y=-19, z=-41
- 12093285728240L, // x=43, y=-21, z=-16
- -1409286164L, // x=-1, y=-22, z=-20
- 1922736062492L, // x=6, y=-21, z=28
- 2197613969419L, // x=7, y=-21, z=11
- 2197613969430L, // x=7, y=-21, z=22
- -3024999153708L, // x=-12, y=-21, z=-44
- 3571936395295L, // x=12, y=-22, z=31
- 3572003504106L, // x=12, y=-22, z=-22
- 3572003504135L, // x=12, y=-21, z=7
- 3572070612949L, // x=12, y=-21, z=-43
- -3574822076373L, // x=-14, y=-21, z=43
- -3574822076394L, // x=-14, y=-21, z=22
- -4399455797228L, // x=-17, y=-21, z=20
- -5224156626944L, // x=-20, y=-22, z=0
- 548346527764L, // x=1, y=-21, z=20
- 5496081743901L, // x=19, y=-22, z=29
- 5770959650816L, // x=20, y=-22, z=0
- 5771093868518L, // x=20, y=-21, z=-26
- -6048790347736L, // x=-23, y=-22, z=40
- 6320849682418L, // x=22, y=-21, z=-14
- -6323668254708L, // x=-24, y=-22, z=12
- 6595593371674L, // x=23, y=-22, z=26
- 6595660480473L, // x=23, y=-22, z=-39
- 6870471278619L, // x=24, y=-22, z=27
- 7145349185553L, // x=25, y=-22, z=17
- 8244995030996L, // x=29, y=-21, z=-44
- -8247679385612L, // x=-31, y=-21, z=-12
- -8247679385640L, // x=-31, y=-21, z=-40
- 8519872937959L, // x=30, y=-21, z=-25
- -8522557292584L, // x=-32, y=-21, z=-40
- -9622068920278L, // x=-36, y=-20, z=42
- -9896946827278L, // x=-37, y=-21, z=-14
- -9896946827286L // x=-37, y=-21, z=-22
+ -10171958951910L, // x=-38, y=-22, z=26
+ 10718829084646L, // x=38, y=-22, z=-26
+ -10721714765806L, // x=-40, y=-22, z=18
+ -10996458455018L, // x=-41, y=-20, z=22
+ -1100920913904L, // x=-5, y=-21, z=16
+ 11268584898530L, // x=40, y=-22, z=-30
+ -11271269253148L, // x=-42, y=-20, z=-28
+ -11546281377832L, // x=-43, y=-22, z=-40
+ 11818542038999L, // x=42, y=-19, z=-41
+ 12093285728240L, // x=43, y=-21, z=-16
+ -1409286164L, // x=-1, y=-22, z=-20
+ 1922736062492L, // x=6, y=-21, z=28
+ 2197613969419L, // x=7, y=-21, z=11
+ 2197613969430L, // x=7, y=-21, z=22
+ -3024999153708L, // x=-12, y=-21, z=-44
+ 3571936395295L, // x=12, y=-22, z=31
+ 3572003504106L, // x=12, y=-22, z=-22
+ 3572003504135L, // x=12, y=-21, z=7
+ 3572070612949L, // x=12, y=-21, z=-43
+ -3574822076373L, // x=-14, y=-21, z=43
+ -3574822076394L, // x=-14, y=-21, z=22
+ -4399455797228L, // x=-17, y=-21, z=20
+ -5224156626944L, // x=-20, y=-22, z=0
+ 548346527764L, // x=1, y=-21, z=20
+ 5496081743901L, // x=19, y=-22, z=29
+ 5770959650816L, // x=20, y=-22, z=0
+ 5771093868518L, // x=20, y=-21, z=-26
+ -6048790347736L, // x=-23, y=-22, z=40
+ 6320849682418L, // x=22, y=-21, z=-14
+ -6323668254708L, // x=-24, y=-22, z=12
+ 6595593371674L, // x=23, y=-22, z=26
+ 6595660480473L, // x=23, y=-22, z=-39
+ 6870471278619L, // x=24, y=-22, z=27
+ 7145349185553L, // x=25, y=-22, z=17
+ 8244995030996L, // x=29, y=-21, z=-44
+ -8247679385612L, // x=-31, y=-21, z=-12
+ -8247679385640L, // x=-31, y=-21, z=-40
+ 8519872937959L, // x=30, y=-21, z=-25
+ -8522557292584L, // x=-32, y=-21, z=-40
+ -9622068920278L, // x=-36, y=-20, z=42
+ -9896946827278L, // x=-37, y=-21, z=-14
+ -9896946827286L // x=-37, y=-21, z=-22
));
static Predicate<BlockPos> treasureAllowedPredicate = CrystalMetalDetectorSolver::treasureAllowed;
@@ -153,9 +172,11 @@ public class CrystalMetalDetectorSolver {
mc.thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "[NEU] Found solution."));
if (NotEnoughUpdates.INSTANCE.config.hidden.debugFlags.contains(NEUDebugFlag.METAL) &&
(previousState == SolutionState.INVALID || previousState == SolutionState.FAILED)) {
- NEUDebugLogger.log(NEUDebugFlag.METAL,
+ NEUDebugLogger.log(
+ NEUDebugFlag.METAL,
EnumChatFormatting.AQUA + "Solution coordinates: " +
- EnumChatFormatting.WHITE + possibleBlocks.iterator().next().toString());
+ EnumChatFormatting.WHITE + possibleBlocks.iterator().next().toString()
+ );
}
break;
case INVALID:
@@ -184,9 +205,9 @@ public class CrystalMetalDetectorSolver {
}
static void findPossibleSolutions(double distToTreasure, Vec3Comparable playerPos, boolean centerNewlyDiscovered) {
- if (prevDistToTreasure == distToTreasure && prevPlayerPos.equals(playerPos) &&
- !evaluatedPlayerPositions.containsKey(playerPos)) {
- evaluatedPlayerPositions.put(playerPos, distToTreasure);
+ if (prevDistToTreasure == distToTreasure && prevPlayerPos.equals(playerPos) &&
+ !evaluatedPlayerPositions.containsKey(playerPos)) {
+ evaluatedPlayerPositions.put(playerPos, distToTreasure);
if (possibleBlocks.size() == 0) {
for (int zOffset = (int) Math.floor(-distToTreasure); zOffset <= Math.ceil(distToTreasure); zOffset++) {
for (int y = 65; y <= 75; y++) {
@@ -259,7 +280,7 @@ public class CrystalMetalDetectorSolver {
if (minesCenter != Vec3i.NULL_VECTOR) {
BlockPos relativeOffset = blockPos.subtract(minesCenter);
sb.append(", Relative: ");
- sb.append(relativeOffset.toString() );
+ sb.append(relativeOffset.toString());
sb.append(" (" + relativeOffset.toLong() + ")");
}
sb.append("\n");
@@ -296,7 +317,7 @@ public class CrystalMetalDetectorSolver {
if (chestFound) {
prevPlayerPos = null;
prevDistToTreasure = 0;
- if (possibleBlocks.size() == 1) {
+ if (possibleBlocks.size() == 1) {
openedChestPositions.add(possibleBlocks.iterator().next().getImmutable());
}
}
@@ -360,11 +381,11 @@ public class CrystalMetalDetectorSolver {
EntityArmorStand keeperEntity = keeperEntities.get(0);
String keeperName = keeperEntity.getCustomNameTag();
- NEUDebugLogger.log(NEUDebugFlag.METAL,"Locating center using Keeper: " +
+ NEUDebugLogger.log(NEUDebugFlag.METAL, "Locating center using Keeper: " +
EnumChatFormatting.WHITE + keeperEntity);
String keeperType = keeperName.substring(keeperName.indexOf(KEEPER_OF_STRING) + KEEPER_OF_STRING.length());
- minesCenter = keeperEntity.getPosition().add(keeperOffsets.get(keeperType.toLowerCase()));
- NEUDebugLogger.log(NEUDebugFlag.METAL,"Mines center: " +
+ minesCenter = keeperEntity.getPosition().add(keeperOffsets.get(keeperType.toLowerCase()));
+ NEUDebugLogger.log(NEUDebugFlag.METAL, "Mines center: " +
EnumChatFormatting.WHITE + minesCenter.toString());
mc.thePlayer.addChatMessage(new ChatComponentText(
EnumChatFormatting.YELLOW + "[NEU] Faster treasure hunting is now enabled based on Keeper location."));
@@ -538,8 +559,7 @@ public class CrystalMetalDetectorSolver {
return;
}
- if (!NotEnoughUpdates.INSTANCE.config.mining.metalDetectorEnabled)
- {
+ if (!NotEnoughUpdates.INSTANCE.config.mining.metalDetectorEnabled) {
mc.thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED +
"[NEU] Metal Detector Solver is not enabled."));
return;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalOverlay.java
index 2b095c42..c0653742 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolver.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolver.java
index 1bc26d50..19cf9c09 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolver.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolver.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -74,6 +93,7 @@ public class CrystalWishingCompassSolver {
}
private static final CrystalWishingCompassSolver INSTANCE = new CrystalWishingCompassSolver();
+
public static CrystalWishingCompassSolver getInstance() {
return INSTANCE;
}
@@ -118,9 +138,11 @@ public class CrystalWishingCompassSolver {
public LongSupplier currentTimeMillis = System::currentTimeMillis;
public BooleanSupplier kingsScentPresent = this::isKingsScentPresent;
public BooleanSupplier keyInInventory = this::isKeyInInventory;
+
public interface CrystalEnumSetSupplier {
EnumSet<Crystal> getAsCrystalEnumSet();
}
+
public CrystalEnumSetSupplier foundCrystals = this::getFoundCrystals;
private SolverState solverState;
@@ -159,7 +181,7 @@ public class CrystalWishingCompassSolver {
}
private void resetForNewTarget() {
- NEUDebugLogger.log(NEUDebugFlag.WISHING,"Resetting for new target");
+ NEUDebugLogger.log(NEUDebugFlag.WISHING, "Resetting for new target");
solverState = SolverState.NOT_STARTED;
firstCompass = null;
secondCompass = null;
@@ -188,7 +210,7 @@ public class CrystalWishingCompassSolver {
event.entityPlayer != mc.thePlayer ||
(event.action != PlayerInteractEvent.Action.RIGHT_CLICK_AIR &&
event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK)
- ) {
+ ) {
return;
}
@@ -248,57 +270,57 @@ public class CrystalWishingCompassSolver {
public HandleCompassResult handleCompassUse(BlockPos playerPos) {
long lastCompassUsedMillis = 0;
switch (solverState) {
- case PROCESSING_SECOND_USE:
- if (secondCompass != null) {
- lastCompassUsedMillis = secondCompass.whenUsedMillis;
- }
- case PROCESSING_FIRST_USE:
- if (lastCompassUsedMillis == 0 && firstCompass != null) {
- lastCompassUsedMillis = firstCompass.whenUsedMillis;
- }
- if (lastCompassUsedMillis != 0 &&
- (currentTimeMillis.getAsLong() > lastCompassUsedMillis + ALL_PARTICLES_MAX_MILLIS)) {
- return HandleCompassResult.NO_PARTICLES_FOR_PREVIOUS_COMPASS;
- }
-
- return HandleCompassResult.STILL_PROCESSING_PRIOR_USE;
- case SOLVED:
- case FAILED_EXCEPTION:
- case FAILED_TIMEOUT_NO_REPEATING:
- case FAILED_TIMEOUT_NO_PARTICLES:
- case FAILED_INTERSECTION_CALCULATION:
- case FAILED_INVALID_SOLUTION:
+ case PROCESSING_SECOND_USE:
+ if (secondCompass != null) {
+ lastCompassUsedMillis = secondCompass.whenUsedMillis;
+ }
+ case PROCESSING_FIRST_USE:
+ if (lastCompassUsedMillis == 0 && firstCompass != null) {
+ lastCompassUsedMillis = firstCompass.whenUsedMillis;
+ }
+ if (lastCompassUsedMillis != 0 &&
+ (currentTimeMillis.getAsLong() > lastCompassUsedMillis + ALL_PARTICLES_MAX_MILLIS)) {
+ return HandleCompassResult.NO_PARTICLES_FOR_PREVIOUS_COMPASS;
+ }
+
+ return HandleCompassResult.STILL_PROCESSING_PRIOR_USE;
+ case SOLVED:
+ case FAILED_EXCEPTION:
+ case FAILED_TIMEOUT_NO_REPEATING:
+ case FAILED_TIMEOUT_NO_PARTICLES:
+ case FAILED_INTERSECTION_CALCULATION:
+ case FAILED_INVALID_SOLUTION:
+ resetForNewTarget();
+ // falls through, NOT_STARTED is the state when resetForNewTarget returns
+ case NOT_STARTED:
+ if (NUCLEUS_BB.isVecInside(new Vec3Comparable(playerPos.getX(), playerPos.getY(), playerPos.getZ()))) {
+ return HandleCompassResult.PLAYER_IN_NUCLEUS;
+ }
+
+ firstCompass = new Compass(playerPos, currentTimeMillis.getAsLong());
+ seenParticles.clear();
+ solverState = SolverState.PROCESSING_FIRST_USE;
+ possibleTargets = calculatePossibleTargets(playerPos);
+ return HandleCompassResult.SUCCESS;
+ case NEED_SECOND_COMPASS:
+ if (firstCompass.whereUsed.distanceSq(playerPos) < MINIMUM_DISTANCE_SQ_BETWEEN_COMPASSES) {
+ return HandleCompassResult.LOCATION_TOO_CLOSE;
+ }
+
+ HollowsZone firstCompassZone = getZoneForCoords(firstCompass.whereUsed);
+ HollowsZone playerZone = getZoneForCoords(playerPos);
+ if (!possibleTargets.equals(calculatePossibleTargets(playerPos)) ||
+ firstCompassZone != playerZone) {
resetForNewTarget();
- // falls through, NOT_STARTED is the state when resetForNewTarget returns
- case NOT_STARTED:
- if (NUCLEUS_BB.isVecInside(new Vec3Comparable(playerPos.getX(), playerPos.getY(), playerPos.getZ()))) {
- return HandleCompassResult.PLAYER_IN_NUCLEUS;
- }
-
- firstCompass = new Compass(playerPos, currentTimeMillis.getAsLong());
- seenParticles.clear();
- solverState = SolverState.PROCESSING_FIRST_USE;
- possibleTargets = calculatePossibleTargets(playerPos);
- return HandleCompassResult.SUCCESS;
- case NEED_SECOND_COMPASS:
- if (firstCompass.whereUsed.distanceSq(playerPos) < MINIMUM_DISTANCE_SQ_BETWEEN_COMPASSES) {
- return HandleCompassResult.LOCATION_TOO_CLOSE;
- }
-
- HollowsZone firstCompassZone = getZoneForCoords(firstCompass.whereUsed);
- HollowsZone playerZone = getZoneForCoords(playerPos);
- if (!possibleTargets.equals(calculatePossibleTargets(playerPos)) ||
- firstCompassZone != playerZone) {
- resetForNewTarget();
- return HandleCompassResult.POSSIBLE_TARGETS_CHANGED;
- }
-
- secondCompass = new Compass(playerPos, currentTimeMillis.getAsLong());
- solverState = SolverState.PROCESSING_SECOND_USE;
- return HandleCompassResult.SUCCESS;
- }
+ return HandleCompassResult.POSSIBLE_TARGETS_CHANGED;
+ }
+
+ secondCompass = new Compass(playerPos, currentTimeMillis.getAsLong());
+ solverState = SolverState.PROCESSING_SECOND_USE;
+ return HandleCompassResult.SUCCESS;
+ }
- throw new IllegalStateException("Unexpected compass state" );
+ throw new IllegalStateException("Unexpected compass state");
}
/*
@@ -338,7 +360,7 @@ public class CrystalWishingCompassSolver {
// Capture particle troubleshooting info for two minutes starting when the first compass is used.
// This list is reset each time the first compass is used from a NOT_STARTED state.
if (firstCompass != null && !solverState.equals(SolverState.SOLVED) &&
- System.currentTimeMillis() < firstCompass.whenUsedMillis + 2*60*1000) {
+ System.currentTimeMillis() < firstCompass.whenUsedMillis + 2 * 60 * 1000) {
seenParticles.add(new ParticleData(new Vec3Comparable(x, y, z), System.currentTimeMillis()));
}
@@ -376,9 +398,9 @@ public class CrystalWishingCompassSolver {
logDiagnosticData(false);
break;
case NEED_SECOND_COMPASS:
- mc.thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW +
- "[NEU] Need another position to determine wishing compass target."));
- break;
+ mc.thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW +
+ "[NEU] Need another position to determine wishing compass target."));
+ break;
}
}
} catch (Exception e) {
@@ -389,7 +411,6 @@ public class CrystalWishingCompassSolver {
}
/**
- *
* @param x Particle x coordinate
* @param y Particle y coordinate
* @param z Particle z coordinate
@@ -454,7 +475,8 @@ public class CrystalWishingCompassSolver {
getZoneForCoords(firstCompass.whereUsed),
foundCrystals.getAsCrystalEnumSet(),
possibleTargets,
- solution);
+ solution
+ );
// Adjust the Jungle Temple solution coordinates
if (solutionPossibleTargets.size() == 1 &&
@@ -466,9 +488,8 @@ public class CrystalWishingCompassSolver {
solverState = SolverState.SOLVED;
}
- private boolean isKeyInInventory()
- {
- for (ItemStack item : mc.thePlayer.inventory.mainInventory){
+ private boolean isKeyInInventory() {
+ for (ItemStack item : mc.thePlayer.inventory.mainInventory) {
if (item != null && item.getDisplayName().contains("Jungle Key")) {
return true;
}
@@ -476,12 +497,11 @@ public class CrystalWishingCompassSolver {
return false;
}
- private boolean isKingsScentPresent()
- {
+ private boolean isKingsScentPresent() {
return SBInfo.getInstance().footer.getUnformattedText().contains("King's Scent I");
}
- private EnumSet<Crystal> getFoundCrystals() {
+ private EnumSet<Crystal> getFoundCrystals() {
EnumSet<Crystal> foundCrystals = EnumSet.noneOf(Crystal.class);
NEUConfig.HiddenProfileSpecific perProfileConfig = NotEnoughUpdates.INSTANCE.config.getProfileSpecific();
if (perProfileConfig == null) return foundCrystals;
@@ -523,10 +543,11 @@ public class CrystalWishingCompassSolver {
// | Holdout | Deposits |
// |----------|------------|
static public EnumSet<CompassTarget> getSolutionTargets(
- HollowsZone compassUsedZone,
- EnumSet<Crystal> foundCrystals,
- EnumSet<CompassTarget> possibleTargets,
- Vec3Comparable solution) {
+ HollowsZone compassUsedZone,
+ EnumSet<Crystal> foundCrystals,
+ EnumSet<CompassTarget> possibleTargets,
+ Vec3Comparable solution
+ ) {
EnumSet<CompassTarget> solutionPossibleTargets;
solutionPossibleTargets = possibleTargets.clone();
@@ -541,28 +562,28 @@ public class CrystalWishingCompassSolver {
// Y=41/74 is the absolute min/max based on structure size if
// the center of the topaz crystal has to be in magma fields.
if (solutionPossibleTargets.contains(CompassTarget.BAL) &&
- solution.yCoord > 75) {
+ solution.yCoord > 75) {
solutionPossibleTargets.remove(CompassTarget.BAL);
}
// Y coordinates are 93-157 from 15 samples.
// Y=83/167 is the absolute min/max based on structure size
if (solutionPossibleTargets.contains(CompassTarget.GOBLIN_KING) &&
- solution.yCoord < 82 || solution.yCoord > 168) {
+ solution.yCoord < 82 || solution.yCoord > 168) {
solutionPossibleTargets.remove(CompassTarget.GOBLIN_KING);
}
// Y coordinates are 129-139 from 10 samples
// Y=126/139 is the absolute min/max based on structure size
if (solutionPossibleTargets.contains(CompassTarget.GOBLIN_QUEEN) &&
- (solution.yCoord < 125 || solution.yCoord > 140)) {
+ (solution.yCoord < 125 || solution.yCoord > 140)) {
solutionPossibleTargets.remove(CompassTarget.GOBLIN_QUEEN);
}
// Y coordinates are 72-80 from 10 samples
// Y=73/80 is the absolute min/max based on structure size
if (solutionPossibleTargets.contains(CompassTarget.JUNGLE_TEMPLE) &&
- (solution.yCoord < 72 || solution.yCoord > 81)) {
+ (solution.yCoord < 72 || solution.yCoord > 81)) {
solutionPossibleTargets.remove(CompassTarget.JUNGLE_TEMPLE);
}
@@ -576,7 +597,7 @@ public class CrystalWishingCompassSolver {
// Y coordinates are 122-129 from 8 samples
// Y=122/129 is the absolute min/max based on structure size
if (solutionPossibleTargets.contains(CompassTarget.PRECURSOR_CITY) &&
- (solution.yCoord < 121 || solution.yCoord > 130)) {
+ (solution.yCoord < 121 || solution.yCoord > 130)) {
solutionPossibleTargets.remove(CompassTarget.PRECURSOR_CITY);
}
@@ -584,26 +605,26 @@ public class CrystalWishingCompassSolver {
// Y=98/100 is the absolute min/max based on structure size,
// but 102 has been seen - possibly with earlier code that rounded up
if (solutionPossibleTargets.contains(CompassTarget.MINES_OF_DIVAN) &&
- (solution.yCoord < 97 || solution.yCoord > 102)) {
+ (solution.yCoord < 97 || solution.yCoord > 102)) {
solutionPossibleTargets.remove(CompassTarget.MINES_OF_DIVAN);
}
// Now filter by structure offset
if (solutionPossibleTargets.contains(CompassTarget.GOBLIN_KING) &&
(solution.xCoord > GOBLIN_HOLDOUT_BB.maxX + GOBLIN_KING_BB.maxX ||
- solution.zCoord < GOBLIN_HOLDOUT_BB.minZ - GOBLIN_KING_BB.maxZ)) {
+ solution.zCoord < GOBLIN_HOLDOUT_BB.minZ - GOBLIN_KING_BB.maxZ)) {
solutionPossibleTargets.remove(CompassTarget.GOBLIN_KING);
}
if (solutionPossibleTargets.contains(CompassTarget.GOBLIN_QUEEN) &&
(solution.xCoord > GOBLIN_HOLDOUT_BB.maxX + GOBLIN_QUEEN_BB.maxX ||
- solution.zCoord < GOBLIN_HOLDOUT_BB.minZ - GOBLIN_QUEEN_BB.maxZ)) {
+ solution.zCoord < GOBLIN_HOLDOUT_BB.minZ - GOBLIN_QUEEN_BB.maxZ)) {
solutionPossibleTargets.remove(CompassTarget.GOBLIN_QUEEN);
}
if (solutionPossibleTargets.contains(CompassTarget.JUNGLE_TEMPLE) &&
(solution.xCoord > JUNGLE_BB.maxX + JUNGLE_TEMPLE_BB.maxX ||
- solution.zCoord > JUNGLE_BB.maxZ + JUNGLE_TEMPLE_BB.maxZ)) {
+ solution.zCoord > JUNGLE_BB.maxZ + JUNGLE_TEMPLE_BB.maxZ)) {
solutionPossibleTargets.remove(CompassTarget.JUNGLE_TEMPLE);
}
@@ -677,38 +698,54 @@ public class CrystalWishingCompassSolver {
private String getFriendlyNameForCompassTarget(CompassTarget compassTarget) {
switch (compassTarget) {
- case BAL: return EnumChatFormatting.RED + "Bal";
- case ODAWA: return EnumChatFormatting.GREEN + "Odawa";
- case JUNGLE_TEMPLE: return EnumChatFormatting.AQUA + "the " +
- EnumChatFormatting.GREEN + "Jungle Temple";
- case GOBLIN_KING: return EnumChatFormatting.GOLD + "King Yolkar";
- case GOBLIN_QUEEN: return EnumChatFormatting.AQUA + "the " +
- EnumChatFormatting.YELLOW + "Goblin Queen";
- case PRECURSOR_CITY: return EnumChatFormatting.AQUA + "the " +
- EnumChatFormatting.WHITE + "Precursor City";
- case MINES_OF_DIVAN: return EnumChatFormatting.AQUA + "the " +
- EnumChatFormatting.BLUE + "Mines of Divan";
- default: return EnumChatFormatting.WHITE + "an undetermined location";
+ case BAL:
+ return EnumChatFormatting.RED + "Bal";
+ case ODAWA:
+ return EnumChatFormatting.GREEN + "Odawa";
+ case JUNGLE_TEMPLE:
+ return EnumChatFormatting.AQUA + "the " +
+ EnumChatFormatting.GREEN + "Jungle Temple";
+ case GOBLIN_KING:
+ return EnumChatFormatting.GOLD + "King Yolkar";
+ case GOBLIN_QUEEN:
+ return EnumChatFormatting.AQUA + "the " +
+ EnumChatFormatting.YELLOW + "Goblin Queen";
+ case PRECURSOR_CITY:
+ return EnumChatFormatting.AQUA + "the " +
+ EnumChatFormatting.WHITE + "Precursor City";
+ case MINES_OF_DIVAN:
+ return EnumChatFormatting.AQUA + "the " +
+ EnumChatFormatting.BLUE + "Mines of Divan";
+ default:
+ return EnumChatFormatting.WHITE + "an undetermined location";
}
}
private String getNameForCompassTarget(CompassTarget compassTarget) {
boolean useSkytilsNames = (NotEnoughUpdates.INSTANCE.config.mining.wishingCompassWaypointNames == 1);
switch (compassTarget) {
- case BAL: return useSkytilsNames ? "internal_bal" : "Bal";
- case ODAWA: return "Odawa";
- case JUNGLE_TEMPLE: return useSkytilsNames ? "internal_temple" : "Temple";
- case GOBLIN_KING: return useSkytilsNames ? "internal_king" : "King";
- case GOBLIN_QUEEN: return useSkytilsNames ? "internal_den" : "Queen";
- case PRECURSOR_CITY: return useSkytilsNames ? "internal_city" : "City";
- case MINES_OF_DIVAN: return useSkytilsNames ? "internal_mines" : "Mines";
- default: return "WishingTarget";
+ case BAL:
+ return useSkytilsNames ? "internal_bal" : "Bal";
+ case ODAWA:
+ return "Odawa";
+ case JUNGLE_TEMPLE:
+ return useSkytilsNames ? "internal_temple" : "Temple";
+ case GOBLIN_KING:
+ return useSkytilsNames ? "internal_king" : "King";
+ case GOBLIN_QUEEN:
+ return useSkytilsNames ? "internal_den" : "Queen";
+ case PRECURSOR_CITY:
+ return useSkytilsNames ? "internal_city" : "City";
+ case MINES_OF_DIVAN:
+ return useSkytilsNames ? "internal_mines" : "Mines";
+ default:
+ return "WishingTarget";
}
}
private String getSolutionCoordsText() {
return solution == null ? "" :
- String.format("%.0f %.0f %.0f", solution.xCoord, solution.yCoord, solution.zCoord);
+ String.format("%.0f %.0f %.0f", solution.xCoord, solution.yCoord, solution.zCoord);
}
private String getWishingCompassDestinationsMessage() {
@@ -759,21 +796,23 @@ public class CrystalWishingCompassSolver {
"WishingTarget";
String skytilsCommand = String.format("/sthw add %s %s", getSolutionCoordsText(), targetNameForSkytils);
if (NotEnoughUpdates.INSTANCE.config.mining.wishingCompassAutocreateKnownWaypoints &&
- solutionPossibleTargets.size() == 1) {
+ solutionPossibleTargets.size() == 1) {
mc.thePlayer.addChatMessage(new ChatComponentText(destinationMessage));
int commandResult = ClientCommandHandler.instance.executeCommand(mc.thePlayer, skytilsCommand);
- if (commandResult == 1)
- {
+ if (commandResult == 1) {
return;
}
- mc.thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "[NEU] Failed to automatically run /sthw"));
+ mc.thePlayer.addChatMessage(new ChatComponentText(
+ EnumChatFormatting.RED + "[NEU] Failed to automatically run /sthw"));
}
destinationMessage += EnumChatFormatting.YELLOW + " [Add Skytils Waypoint]";
ChatComponentText chatMessage = new ChatComponentText(destinationMessage);
- chatMessage.setChatStyle(Utils.createClickStyle(ClickEvent.Action.RUN_COMMAND,
- skytilsCommand,
- EnumChatFormatting.YELLOW + "Set waypoint for wishing target"));
+ chatMessage.setChatStyle(Utils.createClickStyle(
+ ClickEvent.Action.RUN_COMMAND,
+ skytilsCommand,
+ EnumChatFormatting.YELLOW + "Set waypoint for wishing target"
+ ));
mc.thePlayer.addChatMessage(chatMessage);
}
@@ -878,8 +917,7 @@ public class CrystalWishingCompassSolver {
return;
}
- if (!NotEnoughUpdates.INSTANCE.config.mining.wishingCompassSolver)
- {
+ if (!NotEnoughUpdates.INSTANCE.config.mining.wishingCompassSolver) {
mc.thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED +
"[NEU] Wishing Compass Solver is not enabled."));
return;
@@ -951,8 +989,8 @@ public class CrystalWishingCompassSolver {
public void processParticle(double x, double y, double z, long particleTimeMillis) {
if (compassState == CompassState.FAILED_TIMEOUT_NO_REPEATING ||
- compassState == CompassState.FAILED_TIMEOUT_NO_PARTICLES ||
- compassState == CompassState.COMPLETED) {
+ compassState == CompassState.FAILED_TIMEOUT_NO_PARTICLES ||
+ compassState == CompassState.COMPLETED) {
throw new UnsupportedOperationException("processParticle should not be called in a failed or completed state");
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomItemEffects.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomItemEffects.java
index e621cf78..ca9a92cb 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomItemEffects.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomItemEffects.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -11,7 +30,11 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.multiplayer.WorldClient;
-import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.BlockRendererDispatcher;
+import net.minecraft.client.renderer.EntityRenderer;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.block.model.BakedQuad;
import net.minecraft.client.renderer.texture.TextureUtil;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
@@ -24,7 +47,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
-import net.minecraft.util.*;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.BlockPos;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.EnumFacing;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.Vec3;
+import net.minecraft.util.Vec3i;
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
@@ -36,8 +65,14 @@ import org.lwjgl.util.vector.Vector3f;
import java.awt.*;
import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
-import java.util.*;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomSkulls.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomSkulls.java
index 1157e73a..95ec0f7a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomSkulls.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomSkulls.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.common.collect.Maps;
@@ -14,8 +33,17 @@ import net.minecraft.client.model.ModelSkeletonHead;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
-import net.minecraft.client.renderer.block.model.*;
-import net.minecraft.client.renderer.texture.*;
+import net.minecraft.client.renderer.block.model.BakedQuad;
+import net.minecraft.client.renderer.block.model.BlockPart;
+import net.minecraft.client.renderer.block.model.BlockPartFace;
+import net.minecraft.client.renderer.block.model.FaceBakery;
+import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
+import net.minecraft.client.renderer.block.model.ModelBlock;
+import net.minecraft.client.renderer.texture.AbstractTexture;
+import net.minecraft.client.renderer.texture.IIconCreator;
+import net.minecraft.client.renderer.texture.TextureAtlasSprite;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.client.renderer.texture.TextureUtil;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.IResourceManager;
import net.minecraft.client.resources.IResourceManagerReloadListener;
@@ -31,7 +59,11 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
public class CustomSkulls implements IResourceManagerReloadListener {
private static final CustomSkulls INSTANCE = new CustomSkulls();
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java
index 9c93b9c5..127edcde 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java
index f7f9003c..c1c7dca1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/EnchantingSolvers.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/EnchantingSolvers.java
index 83a68915..aaaa1e24 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/EnchantingSolvers.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/EnchantingSolvers.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -19,7 +38,11 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import org.lwjgl.input.Keyboard;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
public class EnchantingSolvers {
private static SolverType currentSolver = SolverType.NONE;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FairySouls.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FairySouls.java
index 39ac1b22..a3717f32 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FairySouls.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FairySouls.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.common.reflect.TypeToken;
@@ -131,13 +150,14 @@ public class FairySouls {
int g2 = (color2 >> 8) & 0xff;
int b2 = color2 & 0xff;
- int r3 = r1 + (int)Math.round(factor * (r2-r1));
- int g3 = g1 + (int)Math.round(factor * (g2-g1));
- int b3 = b1 + (int)Math.round(factor * (b2-b1));
+ int r3 = r1 + (int) Math.round(factor * (r2 - r1));
+ int g3 = g1 + (int) Math.round(factor * (g2 - g1));
+ int b3 = b1 + (int) Math.round(factor * (b2 - b1));
return (r3 & 0xff) << 16 |
(g3 & 0xff) << 8 |
- (b3 & 0xff); }
+ (b3 & 0xff);
+ }
private double normalize(double value, double min, double max) {
return ((value - min) / (max - min));
@@ -151,7 +171,7 @@ public class FairySouls {
int closeColor = 0x772991; // 0xa839ce
int farColor = 0xCEB4D1;
- double farSoulDistSq = lastPlayerPos.distanceSq(closestMissingSouls.get(closestMissingSouls.size()-1));
+ double farSoulDistSq = lastPlayerPos.distanceSq(closestMissingSouls.get(closestMissingSouls.size() - 1));
for (BlockPos currentSoul : closestMissingSouls) {
double currentDistSq = lastPlayerPos.distanceSq(currentSoul);
double factor = normalize(currentDistSq, 0.0, farSoulDistSq);
@@ -405,7 +425,8 @@ public class FairySouls {
case "on":
case "enable":
if (!FairySouls.instance.trackSouls) {
- print(EnumChatFormatting.RED + "Fairy soul tracking is off, enable it using /neu before using this command");
+ print(
+ EnumChatFormatting.RED + "Fairy soul tracking is off, enable it using /neu before using this command");
return;
}
print(EnumChatFormatting.DARK_PURPLE + "Enabled fairy soul waypoints");
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java
index 65092752..26e25a11 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java
index 96522d34..f2b13abc 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCustomizeManager.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCustomizeManager.java
index 655364ef..e1b9d567 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCustomizeManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCustomizeManager.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.gson.Gson;
@@ -18,7 +37,13 @@ import org.lwjgl.opengl.GL14;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.function.Consumer;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemRarityHalo.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemRarityHalo.java
index 88c7261c..79dd18f1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemRarityHalo.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemRarityHalo.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -5,7 +24,11 @@ import io.github.moulberry.notenoughupdates.util.NEUResourceManager;
import io.github.moulberry.notenoughupdates.util.Utils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScaledResolution;
-import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.RenderHelper;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.texture.TextureUtil;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java
index b56737e7..12e0301b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java
index 05d75c26..ad0dd66d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.gson.Gson;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java
index 3419b8c4..9cc872b7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.gson.JsonElement;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NullzeeSphere.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NullzeeSphere.java
index 927111b3..6302343e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NullzeeSphere.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NullzeeSphere.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.util.ReverseWorldRenderer;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java
index 056cf0a4..4cf076d8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java
index 9292c0d3..3955c363 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import com.google.gson.Gson;
@@ -30,7 +49,13 @@ import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.vector.Vector2f;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.function.Consumer;
@@ -546,8 +571,8 @@ public class SlotLocking {
);
}
} else if (pairingSlot != null && lockKeyHeld && slot.getSlotIndex() < 8) {
- int x1 = ((AccessorGuiContainer)container).getGuiLeft() + pairingSlot.xDisplayPosition;
- int y1 = ((AccessorGuiContainer)container).getGuiTop() + pairingSlot.yDisplayPosition;
+ int x1 = ((AccessorGuiContainer) container).getGuiLeft() + pairingSlot.xDisplayPosition;
+ int y1 = ((AccessorGuiContainer) container).getGuiTop() + pairingSlot.yDisplayPosition;
if (mouseX <= x1 || mouseX >= x1 + 16 ||
mouseY <= y1 || mouseY >= y1 + 16) {
@@ -635,8 +660,8 @@ public class SlotLocking {
int mouseX = Mouse.getX() * scaledWidth / Minecraft.getMinecraft().displayWidth;
int mouseY = scaledHeight - Mouse.getY() * scaledHeight / Minecraft.getMinecraft().displayHeight - 1;
- int x1 = ((AccessorGuiContainer)container).getGuiLeft() + pairingSlot.xDisplayPosition;
- int y1 = ((AccessorGuiContainer)container).getGuiTop() + pairingSlot.yDisplayPosition;
+ int x1 = ((AccessorGuiContainer) container).getGuiLeft() + pairingSlot.xDisplayPosition;
+ int y1 = ((AccessorGuiContainer) container).getGuiTop() + pairingSlot.yDisplayPosition;
if (mouseX <= x1 || mouseX >= x1 + 16 ||
mouseY <= y1 || mouseY >= y1 + 16) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StorageManager.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StorageManager.java
index 94aee789..680637f2 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StorageManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StorageManager.java
@@ -1,6 +1,35 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
-import com.google.gson.*;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
+import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
import io.github.moulberry.notenoughupdates.miscgui.StorageOverlay;
import io.github.moulberry.notenoughupdates.util.SBInfo;
@@ -13,14 +42,32 @@ import net.minecraft.inventory.ContainerChest;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.*;
+import net.minecraft.nbt.JsonToNBT;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagByte;
+import net.minecraft.nbt.NBTTagByteArray;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagDouble;
+import net.minecraft.nbt.NBTTagFloat;
+import net.minecraft.nbt.NBTTagInt;
+import net.minecraft.nbt.NBTTagIntArray;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.nbt.NBTTagLong;
+import net.minecraft.nbt.NBTTagShort;
+import net.minecraft.nbt.NBTTagString;
import net.minecraft.network.play.client.C0EPacketClickWindow;
import net.minecraft.network.play.server.S2DPacketOpenWindow;
import net.minecraft.network.play.server.S2EPacketCloseWindow;
import net.minecraft.network.play.server.S2FPacketSetSlot;
import net.minecraft.network.play.server.S30PacketWindowItems;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
import java.lang.reflect.Type;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StreamerMode.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StreamerMode.java
index 064f41ca..a2951e56 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StreamerMode.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/StreamerMode.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.util.Utils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SunTzu.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SunTzu.java
index 27cf42ac..9c2549b8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SunTzu.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SunTzu.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.util.Utils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrystalHollowsTextures.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrystalHollowsTextures.java
index 36858276..7d23d922 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrystalHollowsTextures.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CrystalHollowsTextures.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.customblockzones;
import net.minecraft.util.BlockPos;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java
index 9a6f9cac..48a01187 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBiomes.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.customblockzones;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBlockSounds.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBlockSounds.java
index dec011d3..2a3e9ec4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBlockSounds.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/CustomBlockSounds.java
@@ -1,8 +1,26 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.customblockzones;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
-import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.ISound;
import net.minecraft.client.audio.PositionedSoundRecord;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/DwarvenMinesTextures.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/DwarvenMinesTextures.java
index faf7eabe..1c6acc1d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/DwarvenMinesTextures.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/DwarvenMinesTextures.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.customblockzones;
import com.google.gson.JsonArray;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/IslandZoneSubdivider.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/IslandZoneSubdivider.java
index 8b00bc85..75ff566f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/IslandZoneSubdivider.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/IslandZoneSubdivider.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.customblockzones;
import net.minecraft.util.BlockPos;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/LocationChangeEvent.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/LocationChangeEvent.java
index c6f5e9c0..5a87af11 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/LocationChangeEvent.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/LocationChangeEvent.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.customblockzones;
import net.minecraftforge.fml.common.eventhandler.Event;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java
index f4e8f1fc..e88e2c25 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/customblockzones/SpecialBlockZone.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.customblockzones;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/AgeModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/AgeModifier.java
index 5884512f..963fa793 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/AgeModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/AgeModifier.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonObject;
@@ -9,22 +28,22 @@ import net.minecraft.entity.item.EntityArmorStand;
import net.minecraft.entity.monster.EntityZombie;
public class AgeModifier extends EntityViewerModifier {
- @Override
- public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
- boolean baby = info.has("baby") && info.get("baby").getAsBoolean();
- if (base instanceof EntityAgeable) {
- ((AccessorEntityAgeable) base).setGrowingAgeDirect(baby ? -1 : 1);
- return base;
- }
- if (base instanceof EntityZombie) {
- ((EntityZombie) base).setChild(baby);
- return base;
- }
- if (base instanceof EntityArmorStand) {
- ((AccessorEntityArmorStand) base).setSmallDirect(baby);
- return base;
- }
- System.out.println("Cannot apply age to a non ageable entity: " + base);
- return null;
- }
+ @Override
+ public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
+ boolean baby = info.has("baby") && info.get("baby").getAsBoolean();
+ if (base instanceof EntityAgeable) {
+ ((AccessorEntityAgeable) base).setGrowingAgeDirect(baby ? -1 : 1);
+ return base;
+ }
+ if (base instanceof EntityZombie) {
+ ((EntityZombie) base).setChild(baby);
+ return base;
+ }
+ if (base instanceof EntityArmorStand) {
+ ((AccessorEntityArmorStand) base).setSmallDirect(baby);
+ return base;
+ }
+ System.out.println("Cannot apply age to a non ageable entity: " + base);
+ return null;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/ChargedModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/ChargedModifier.java
index 17dce66d..5f452132 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/ChargedModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/ChargedModifier.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonObject;
@@ -6,12 +25,12 @@ import net.minecraft.entity.monster.EntityCreeper;
public class ChargedModifier extends EntityViewerModifier {
- @Override
- public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
- if (base instanceof EntityCreeper) {
- base.getDataWatcher().updateObject(17, (byte) 1);
- return base;
- }
- return null;
- }
+ @Override
+ public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
+ if (base instanceof EntityCreeper) {
+ base.getDataWatcher().updateObject(17, (byte) 1);
+ return base;
+ }
+ return null;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewer.java
index 78d035ac..367d62d3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.Gson;
@@ -14,166 +33,213 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.boss.EntityWither;
import net.minecraft.entity.item.EntityArmorStand;
-import net.minecraft.entity.monster.*;
-import net.minecraft.entity.passive.*;
+import net.minecraft.entity.monster.EntityBlaze;
+import net.minecraft.entity.monster.EntityCaveSpider;
+import net.minecraft.entity.monster.EntityCreeper;
+import net.minecraft.entity.monster.EntityEnderman;
+import net.minecraft.entity.monster.EntityEndermite;
+import net.minecraft.entity.monster.EntityGhast;
+import net.minecraft.entity.monster.EntityGuardian;
+import net.minecraft.entity.monster.EntityIronGolem;
+import net.minecraft.entity.monster.EntityMagmaCube;
+import net.minecraft.entity.monster.EntityPigZombie;
+import net.minecraft.entity.monster.EntitySilverfish;
+import net.minecraft.entity.monster.EntitySkeleton;
+import net.minecraft.entity.monster.EntitySlime;
+import net.minecraft.entity.monster.EntitySnowman;
+import net.minecraft.entity.monster.EntitySpider;
+import net.minecraft.entity.monster.EntityWitch;
+import net.minecraft.entity.monster.EntityZombie;
+import net.minecraft.entity.passive.EntityBat;
+import net.minecraft.entity.passive.EntityChicken;
+import net.minecraft.entity.passive.EntityCow;
+import net.minecraft.entity.passive.EntityHorse;
+import net.minecraft.entity.passive.EntityMooshroom;
+import net.minecraft.entity.passive.EntityOcelot;
+import net.minecraft.entity.passive.EntityPig;
+import net.minecraft.entity.passive.EntityRabbit;
+import net.minecraft.entity.passive.EntitySheep;
+import net.minecraft.entity.passive.EntitySquid;
+import net.minecraft.entity.passive.EntityVillager;
+import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.util.ResourceLocation;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.StandardCharsets;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
public class EntityViewer extends GuiScreen {
- public static Map<String, Supplier<? extends EntityLivingBase>> validEntities = new HashMap<String, Supplier<? extends EntityLivingBase>>() {{
- put("Zombie", () -> new EntityZombie(null));
- put("Chicken", () -> new EntityChicken(null));
- put("Slime", () -> new EntitySlime(null));
- put("Wolf", () -> new EntityWolf(null));
- put("Skeleton", () -> new EntitySkeleton(null));
- put("Creeper", () -> new EntityCreeper(null));
- put("Ocelot", () -> new EntityOcelot(null));
- put("Blaze", () -> new EntityBlaze(null));
- put("Rabbit", () -> new EntityRabbit(null));
- put("Sheep", () -> new EntitySheep(null));
- put("Horse", () -> new EntityHorse(null));
- put("Eisengolem", () -> new EntityIronGolem(null));
- put("Silverfish", () -> new EntitySilverfish(null));
- put("Witch", () -> new EntityWitch(null));
- put("Endermite", () -> new EntityEndermite(null));
- put("Snowman", () -> new EntitySnowman(null));
- put("Villager", () -> new EntityVillager(null));
- put("Guardian", () -> new EntityGuardian(null));
- put("ArmorStand", () -> new EntityArmorStand(null));
- put("Squid", () -> new EntitySquid(null));
- put("Bat", () -> new EntityBat(null));
- put("Spider", () -> new EntitySpider(null));
- put("CaveSpider", () -> new EntityCaveSpider(null));
- put("Pigman", () -> new EntityPigZombie(null));
- put("Ghast", () -> new EntityGhast(null));
- put("MagmaCube", () -> new EntityMagmaCube(null));
- put("Wither", () -> new EntityWither(null));
- put("Enderman", () -> new EntityEnderman(null));
- put("Mooshroom", ()-> new EntityMooshroom(null));
- put("WitherSkeleton", () -> {
- EntitySkeleton skeleton = new EntitySkeleton(null);
- skeleton.setSkeletonType(1);
- return skeleton;
- });
- put("Cow", () -> new EntityCow(null));
- put("Dragon", ()-> new EntityDragon(null));
- put("Player", () -> new GUIClientPlayer());
- put("Pig", () -> new EntityPig(null));
- }};
-
- public static Map<String, EntityViewerModifier> validModifiers = new HashMap<String, EntityViewerModifier>() {{
- put("playerdata", new SkinModifier());
- put("equipment", new EquipmentModifier());
- put("riding", new RidingModifier());
- put("charged", new ChargedModifier());
- put("witherdata", new WitherModifier());
- put("invisible", new InvisibleModifier());
- put("age", new AgeModifier());
- put("horse", new HorseModifier());
- put("name", new NameModifier());
- }};
-
- public int guiLeft = 0;
- public int guiTop = 0;
- public int xSize = 176;
- public int ySize = 166;
-
- private final String label;
- private final EntityLivingBase entity;
- private static final ResourceLocation BACKGROUND = new ResourceLocation("notenoughupdates", "textures/gui/entity_viewer.png");
-
- public EntityViewer(String label, EntityLivingBase entity) {
- this.label = label;
- this.entity = entity;
- }
-
- public static EntityLivingBase constructEntity(ResourceLocation resourceLocation) {
- Gson gson = NotEnoughUpdates.INSTANCE.manager.gson;
- try (Reader is = new InputStreamReader(
- Minecraft.getMinecraft().getResourceManager().getResource(resourceLocation).getInputStream(), StandardCharsets.UTF_8)) {
- return constructEntity(gson.fromJson(is, JsonObject.class));
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public static EntityLivingBase constructEntity(JsonObject info) {
- List<JsonObject> modifiers = info.has("modifiers") ?
- StreamSupport.stream(info.get("modifiers").getAsJsonArray().spliterator(), false)
- .map(JsonElement::getAsJsonObject).collect(Collectors.toList())
- : Collections.emptyList();
- return EntityViewer.constructEntity(info.get("entity").getAsString(), modifiers);
- }
-
- public static EntityLivingBase constructEntity(String string, String[] modifiers) {
- Gson gson = NotEnoughUpdates.INSTANCE.manager.gson;
- return constructEntity(string, Arrays.stream(modifiers).map(it -> gson.fromJson(it, JsonObject.class)).collect(Collectors.toList()));
- }
-
- public static EntityLivingBase constructEntity(String string, List<JsonObject> modifiers) {
- Supplier<? extends EntityLivingBase> aClass = validEntities.get(string);
- if (aClass == null) {
- System.err.println("Could not find entity of type: " + string);
- return null;
- }
- try {
- EntityLivingBase entity = aClass.get();
- for (JsonObject modifier : modifiers) {
- String type = modifier.get("type").getAsString();
- EntityViewerModifier entityViewerModifier = validModifiers.get(type);
- entity = entityViewerModifier.applyModifier(entity, modifier);
- if (entity == null) break;
- }
- return entity;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
-
- @Override
- public void drawScreen(int mouseX, int mouseY, float partialTicks) {
- drawDefaultBackground();
- FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
-
- this.guiLeft = (width - this.xSize) / 2;
- this.guiTop = (height - this.ySize) / 2;
-
-
- Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND);
- drawTexturedModalRect(guiLeft, guiTop, 0, 0, this.xSize, this.ySize);
-
-
- Utils.drawStringScaledMaxWidth(label, fontRenderer, guiLeft + 10, guiTop + 10, false, 100, 0xFF00FF);
- renderEntity(entity, guiLeft + 90, guiTop + 75, mouseX, mouseY);
- }
-
- public static void renderEntity(EntityLivingBase entity, int posX, int posY, int mouseX, int mouseY) {
- GlStateManager.color(1F, 1F, 1F, 1F);
-
- int scale = 30;
- float bottomOffset = 0F;
- EntityLivingBase stack = entity;
- while (true) {
-
- stack.ticksExisted = Minecraft.getMinecraft().thePlayer.ticksExisted;
- GuiInventory.drawEntityOnScreen(posX, (int) (posY - bottomOffset * scale), scale, posX - mouseX, (int) (posY - stack.getEyeHeight() * scale - mouseY), stack);
- bottomOffset += stack.getMountedYOffset();
- if (!(stack.riddenByEntity instanceof EntityLivingBase)) {
- break;
- }
- stack = (EntityLivingBase) stack.riddenByEntity;
- }
-
- }
+ public static Map<String, Supplier<? extends EntityLivingBase>> validEntities =
+ new HashMap<String, Supplier<? extends EntityLivingBase>>() {{
+ put("Zombie", () -> new EntityZombie(null));
+ put("Chicken", () -> new EntityChicken(null));
+ put("Slime", () -> new EntitySlime(null));
+ put("Wolf", () -> new EntityWolf(null));
+ put("Skeleton", () -> new EntitySkeleton(null));
+ put("Creeper", () -> new EntityCreeper(null));
+ put("Ocelot", () -> new EntityOcelot(null));
+ put("Blaze", () -> new EntityBlaze(null));
+ put("Rabbit", () -> new EntityRabbit(null));
+ put("Sheep", () -> new EntitySheep(null));
+ put("Horse", () -> new EntityHorse(null));
+ put("Eisengolem", () -> new EntityIronGolem(null));
+ put("Silverfish", () -> new EntitySilverfish(null));
+ put("Witch", () -> new EntityWitch(null));
+ put("Endermite", () -> new EntityEndermite(null));
+ put("Snowman", () -> new EntitySnowman(null));
+ put("Villager", () -> new EntityVillager(null));
+ put("Guardian", () -> new EntityGuardian(null));
+ put("ArmorStand", () -> new EntityArmorStand(null));
+ put("Squid", () -> new EntitySquid(null));
+ put("Bat", () -> new EntityBat(null));
+ put("Spider", () -> new EntitySpider(null));
+ put("CaveSpider", () -> new EntityCaveSpider(null));
+ put("Pigman", () -> new EntityPigZombie(null));
+ put("Ghast", () -> new EntityGhast(null));
+ put("MagmaCube", () -> new EntityMagmaCube(null));
+ put("Wither", () -> new EntityWither(null));
+ put("Enderman", () -> new EntityEnderman(null));
+ put("Mooshroom", () -> new EntityMooshroom(null));
+ put("WitherSkeleton", () -> {
+ EntitySkeleton skeleton = new EntitySkeleton(null);
+ skeleton.setSkeletonType(1);
+ return skeleton;
+ });
+ put("Cow", () -> new EntityCow(null));
+ put("Dragon", () -> new EntityDragon(null));
+ put("Player", () -> new GUIClientPlayer());
+ put("Pig", () -> new EntityPig(null));
+ }};
+
+ public static Map<String, EntityViewerModifier> validModifiers = new HashMap<String, EntityViewerModifier>() {{
+ put("playerdata", new SkinModifier());
+ put("equipment", new EquipmentModifier());
+ put("riding", new RidingModifier());
+ put("charged", new ChargedModifier());
+ put("witherdata", new WitherModifier());
+ put("invisible", new InvisibleModifier());
+ put("age", new AgeModifier());
+ put("horse", new HorseModifier());
+ put("name", new NameModifier());
+ }};
+
+ public int guiLeft = 0;
+ public int guiTop = 0;
+ public int xSize = 176;
+ public int ySize = 166;
+
+ private final String label;
+ private final EntityLivingBase entity;
+ private static final ResourceLocation BACKGROUND = new ResourceLocation(
+ "notenoughupdates",
+ "textures/gui/entity_viewer.png"
+ );
+
+ public EntityViewer(String label, EntityLivingBase entity) {
+ this.label = label;
+ this.entity = entity;
+ }
+
+ public static EntityLivingBase constructEntity(ResourceLocation resourceLocation) {
+ Gson gson = NotEnoughUpdates.INSTANCE.manager.gson;
+ try (
+ Reader is = new InputStreamReader(
+ Minecraft.getMinecraft().getResourceManager().getResource(resourceLocation).getInputStream(),
+ StandardCharsets.UTF_8
+ )
+ ) {
+ return constructEntity(gson.fromJson(is, JsonObject.class));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static EntityLivingBase constructEntity(JsonObject info) {
+ List<JsonObject> modifiers = info.has("modifiers") ?
+ StreamSupport.stream(info.get("modifiers").getAsJsonArray().spliterator(), false)
+ .map(JsonElement::getAsJsonObject).collect(Collectors.toList())
+ : Collections.emptyList();
+ return EntityViewer.constructEntity(info.get("entity").getAsString(), modifiers);
+ }
+
+ public static EntityLivingBase constructEntity(String string, String[] modifiers) {
+ Gson gson = NotEnoughUpdates.INSTANCE.manager.gson;
+ return constructEntity(
+ string,
+ Arrays.stream(modifiers).map(it -> gson.fromJson(it, JsonObject.class)).collect(Collectors.toList())
+ );
+ }
+
+ public static EntityLivingBase constructEntity(String string, List<JsonObject> modifiers) {
+ Supplier<? extends EntityLivingBase> aClass = validEntities.get(string);
+ if (aClass == null) {
+ System.err.println("Could not find entity of type: " + string);
+ return null;
+ }
+ try {
+ EntityLivingBase entity = aClass.get();
+ for (JsonObject modifier : modifiers) {
+ String type = modifier.get("type").getAsString();
+ EntityViewerModifier entityViewerModifier = validModifiers.get(type);
+ entity = entityViewerModifier.applyModifier(entity, modifier);
+ if (entity == null) break;
+ }
+ return entity;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ public void drawScreen(int mouseX, int mouseY, float partialTicks) {
+ drawDefaultBackground();
+ FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
+
+ this.guiLeft = (width - this.xSize) / 2;
+ this.guiTop = (height - this.ySize) / 2;
+
+ Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND);
+ drawTexturedModalRect(guiLeft, guiTop, 0, 0, this.xSize, this.ySize);
+
+ Utils.drawStringScaledMaxWidth(label, fontRenderer, guiLeft + 10, guiTop + 10, false, 100, 0xFF00FF);
+ renderEntity(entity, guiLeft + 90, guiTop + 75, mouseX, mouseY);
+ }
+
+ public static void renderEntity(EntityLivingBase entity, int posX, int posY, int mouseX, int mouseY) {
+ GlStateManager.color(1F, 1F, 1F, 1F);
+
+ int scale = 30;
+ float bottomOffset = 0F;
+ EntityLivingBase stack = entity;
+ while (true) {
+
+ stack.ticksExisted = Minecraft.getMinecraft().thePlayer.ticksExisted;
+ GuiInventory.drawEntityOnScreen(
+ posX,
+ (int) (posY - bottomOffset * scale),
+ scale,
+ posX - mouseX,
+ (int) (posY - stack.getEyeHeight() * scale - mouseY),
+ stack
+ );
+ bottomOffset += stack.getMountedYOffset();
+ if (!(stack.riddenByEntity instanceof EntityLivingBase)) {
+ break;
+ }
+ stack = (EntityLivingBase) stack.riddenByEntity;
+ }
+
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewerModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewerModifier.java
index bab6c354..aa6d22c9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewerModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EntityViewerModifier.java
@@ -1,8 +1,27 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonObject;
import net.minecraft.entity.EntityLivingBase;
public abstract class EntityViewerModifier {
- public abstract EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info);
+ public abstract EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info);
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EquipmentModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EquipmentModifier.java
index 3011e479..685e161a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EquipmentModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/EquipmentModifier.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/GUIClientPlayer.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/GUIClientPlayer.java
index db20a684..8cdf2ef0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/GUIClientPlayer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/GUIClientPlayer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.mojang.authlib.GameProfile;
@@ -9,29 +28,29 @@ import net.minecraft.util.ResourceLocation;
import java.util.UUID;
public class GUIClientPlayer extends AbstractClientPlayer {
- public GUIClientPlayer() {
- super(null, new GameProfile(UUID.randomUUID(), "GuiPlayer"));
- }
-
- ResourceLocation overrideSkin = DefaultPlayerSkin.getDefaultSkinLegacy();
- ResourceLocation overrideCape = null;
- boolean overrideIsSlim = false;
- NetworkPlayerInfo playerInfo = new NetworkPlayerInfo(this.getGameProfile()) {
- @Override
- public String getSkinType() {
- return overrideIsSlim ? "slim" : "default";
- }
-
- @Override
- public ResourceLocation getLocationSkin() {
- return overrideSkin;
- }
-
- @Override
- public ResourceLocation getLocationCape() {
- return overrideCape;
- }
- };
+ public GUIClientPlayer() {
+ super(null, new GameProfile(UUID.randomUUID(), "GuiPlayer"));
+ }
+
+ ResourceLocation overrideSkin = DefaultPlayerSkin.getDefaultSkinLegacy();
+ ResourceLocation overrideCape = null;
+ boolean overrideIsSlim = false;
+ NetworkPlayerInfo playerInfo = new NetworkPlayerInfo(this.getGameProfile()) {
+ @Override
+ public String getSkinType() {
+ return overrideIsSlim ? "slim" : "default";
+ }
+
+ @Override
+ public ResourceLocation getLocationSkin() {
+ return overrideSkin;
+ }
+
+ @Override
+ public ResourceLocation getLocationCape() {
+ return overrideCape;
+ }
+ };
@Override
public String getName() {
@@ -45,7 +64,7 @@ public class GUIClientPlayer extends AbstractClientPlayer {
}
@Override
- protected NetworkPlayerInfo getPlayerInfo() {
- return playerInfo;
- }
+ protected NetworkPlayerInfo getPlayerInfo() {
+ return playerInfo;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/HorseModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/HorseModifier.java
index 7fd2dadd..b29152bf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/HorseModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/HorseModifier.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonElement;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/InvisibleModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/InvisibleModifier.java
index c2138b3f..74535ce9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/InvisibleModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/InvisibleModifier.java
@@ -1,12 +1,31 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonObject;
import net.minecraft.entity.EntityLivingBase;
public class InvisibleModifier extends EntityViewerModifier {
- @Override
- public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
- base.setInvisible(!info.has("invisible") || info.get("invisible").getAsBoolean());
- return base;
- }
+ @Override
+ public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
+ base.setInvisible(!info.has("invisible") || info.get("invisible").getAsBoolean());
+ return base;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/NameModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/NameModifier.java
index 9978882d..c0fd23bd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/NameModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/NameModifier.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/RidingModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/RidingModifier.java
index 9879542a..72dd8b73 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/RidingModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/RidingModifier.java
@@ -1,14 +1,33 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonObject;
import net.minecraft.entity.EntityLivingBase;
public class RidingModifier extends EntityViewerModifier {
- @Override
- public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
- EntityLivingBase newEntity = EntityViewer.constructEntity(info);
- if (newEntity == null) return null;
- newEntity.mountEntity(base);
- return base;
- }
+ @Override
+ public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
+ EntityLivingBase newEntity = EntityViewer.constructEntity(info);
+ if (newEntity == null) return null;
+ newEntity.mountEntity(base);
+ return base;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/SkinModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/SkinModifier.java
index 55e8a432..076e8417 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/SkinModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/SkinModifier.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonElement;
@@ -9,38 +28,38 @@ import net.minecraft.util.ResourceLocation;
import java.util.Map;
public class SkinModifier extends EntityViewerModifier {
- @Override
- public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
- if (base instanceof GUIClientPlayer) {
- GUIClientPlayer player = (GUIClientPlayer) base;
- if (info.has("cape")) {
- player.overrideCape = new ResourceLocation(info.get("cape").getAsString());
- }
- if (info.has("skin")) {
- player.overrideSkin = new ResourceLocation(info.get("skin").getAsString());
- }
- if (info.has("slim")) {
- player.overrideIsSlim = info.get("slim").getAsBoolean();
- }
- if (info.has("parts")) {
- JsonElement parts = info.get("parts");
- byte partBitField = player.getDataWatcher().getWatchableObjectByte(10);
- if (parts.isJsonPrimitive() && parts.getAsJsonPrimitive().isBoolean()) {
- partBitField = parts.getAsBoolean() ? (byte) -1 : 0;
- } else {
- JsonObject obj = parts.getAsJsonObject();
- for (Map.Entry<String, JsonElement> part : obj.entrySet()) {
- EnumPlayerModelParts modelPart = EnumPlayerModelParts.valueOf(part.getKey());
- if (part.getValue().getAsBoolean()) {
- partBitField |= modelPart.getPartMask();
- } else {
- partBitField &= ~modelPart.getPartMask();
- }
- }
- }
- player.getDataWatcher().updateObject(10, partBitField);
- }
- }
- return base;
- }
+ @Override
+ public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
+ if (base instanceof GUIClientPlayer) {
+ GUIClientPlayer player = (GUIClientPlayer) base;
+ if (info.has("cape")) {
+ player.overrideCape = new ResourceLocation(info.get("cape").getAsString());
+ }
+ if (info.has("skin")) {
+ player.overrideSkin = new ResourceLocation(info.get("skin").getAsString());
+ }
+ if (info.has("slim")) {
+ player.overrideIsSlim = info.get("slim").getAsBoolean();
+ }
+ if (info.has("parts")) {
+ JsonElement parts = info.get("parts");
+ byte partBitField = player.getDataWatcher().getWatchableObjectByte(10);
+ if (parts.isJsonPrimitive() && parts.getAsJsonPrimitive().isBoolean()) {
+ partBitField = parts.getAsBoolean() ? (byte) -1 : 0;
+ } else {
+ JsonObject obj = parts.getAsJsonObject();
+ for (Map.Entry<String, JsonElement> part : obj.entrySet()) {
+ EnumPlayerModelParts modelPart = EnumPlayerModelParts.valueOf(part.getKey());
+ if (part.getValue().getAsBoolean()) {
+ partBitField |= modelPart.getPartMask();
+ } else {
+ partBitField &= ~modelPart.getPartMask();
+ }
+ }
+ }
+ player.getDataWatcher().updateObject(10, partBitField);
+ }
+ }
+ return base;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/WitherModifier.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/WitherModifier.java
index c5580f17..3b73c26f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/WitherModifier.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/entityviewer/WitherModifier.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures.entityviewer;
import com.google.gson.JsonObject;
@@ -5,25 +24,25 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.boss.EntityWither;
public class WitherModifier extends EntityViewerModifier {
- @Override
- public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
- if (!(base instanceof EntityWither))
- return null;
- EntityWither wither = (EntityWither) base;
- if (info.has("tiny")) {
- if (info.get("tiny").getAsBoolean()) {
- wither.setInvulTime(800);
- } else {
- wither.setInvulTime(0);
- }
- }
- if (info.has("armored")) {
- if (info.get("armored").getAsBoolean()) {
- wither.setHealth(1);
- } else {
- wither.setHealth(wither.getMaxHealth());
- }
- }
- return base;
- }
+ @Override
+ public EntityLivingBase applyModifier(EntityLivingBase base, JsonObject info) {
+ if (!(base instanceof EntityWither))
+ return null;
+ EntityWither wither = (EntityWither) base;
+ if (info.has("tiny")) {
+ if (info.get("tiny").getAsBoolean()) {
+ wither.setInvulTime(800);
+ } else {
+ wither.setInvulTime(0);
+ }
+ }
+ if (info.has("armored")) {
+ if (info.get("armored").getAsBoolean()) {
+ wither.setHealth(1);
+ } else {
+ wither.setHealth(wither.getMaxHealth());
+ }
+ }
+ return base;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java
index 95e21cd0..c8fd0fde 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.gson.JsonArray;
@@ -33,8 +52,14 @@ import org.lwjgl.opengl.GL14;
import java.awt.*;
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
-import java.util.*;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -55,7 +80,8 @@ public class AccessoryBagOverlay {
Utils.createItemStack(Items.diamond_sword, EnumChatFormatting.DARK_AQUA + "Total Stat Bonuses",
0
),
- Utils.createItemStack(Item.getItemFromBlock(Blocks.anvil),
+ Utils.createItemStack(
+ Item.getItemFromBlock(Blocks.anvil),
EnumChatFormatting.DARK_AQUA + "Total Stat Bonuses (from reforges)",
0
),
@@ -211,7 +237,8 @@ public class AccessoryBagOverlay {
}
}
- Utils.drawStringCenteredScaledMaxWidth("# By Rarity",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "# By Rarity",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -244,7 +271,8 @@ public class AccessoryBagOverlay {
}
}
- Utils.drawStringCenteredScaledMaxWidth("Total Stats",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Total Stats",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -291,7 +319,8 @@ public class AccessoryBagOverlay {
}
}
- Utils.drawStringCenteredScaledMaxWidth("Reforge Stats",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Reforge Stats",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -334,7 +363,8 @@ public class AccessoryBagOverlay {
if (duplicates == null) {
JsonObject misc = Constants.MISC;
if (misc == null) {
- Utils.drawStringCenteredScaledMaxWidth("Duplicates: ERROR",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Duplicates: ERROR",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -346,7 +376,8 @@ public class AccessoryBagOverlay {
}
JsonElement talisman_upgrades_element = misc.get("talisman_upgrades");
if (talisman_upgrades_element == null) {
- Utils.drawStringCenteredScaledMaxWidth("Duplicates: ERROR",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Duplicates: ERROR",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -388,7 +419,8 @@ public class AccessoryBagOverlay {
}
}
if (duplicates.isEmpty()) {
- Utils.drawStringCenteredScaledMaxWidth("No Duplicates",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "No Duplicates",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -397,7 +429,8 @@ public class AccessoryBagOverlay {
new Color(80, 80, 80).getRGB()
);
} else {
- Utils.drawStringCenteredScaledMaxWidth("Duplicates: " + duplicates.size(),
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Duplicates: " + duplicates.size(),
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -432,7 +465,8 @@ public class AccessoryBagOverlay {
if (missing == null) {
JsonObject misc = Constants.MISC;
if (misc == null) {
- Utils.drawStringCenteredScaledMaxWidth("Duplicates: ERROR",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Duplicates: ERROR",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -444,7 +478,8 @@ public class AccessoryBagOverlay {
}
JsonElement talisman_upgrades_element = misc.get("talisman_upgrades");
if (talisman_upgrades_element == null) {
- Utils.drawStringCenteredScaledMaxWidth("Duplicates: ERROR",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Duplicates: ERROR",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -519,7 +554,8 @@ public class AccessoryBagOverlay {
}
}
if (missing.isEmpty()) {
- Utils.drawStringCenteredScaledMaxWidth("No Missing",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "No Missing",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -528,7 +564,8 @@ public class AccessoryBagOverlay {
new Color(80, 80, 80).getRGB()
);
} else {
- Utils.drawStringCenteredScaledMaxWidth("Missing: " + missing.size(),
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Missing: " + missing.size(),
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -653,7 +690,8 @@ public class AccessoryBagOverlay {
private static int mainWeapon = 1;
public static void renderOptimizerOverlay(int x, int y) {
- Utils.drawStringCenteredScaledMaxWidth("Optimizer",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Optimizer",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 12,
@@ -686,7 +724,8 @@ public class AccessoryBagOverlay {
dark
);
- Utils.drawStringCenteredScaledMaxWidth("Force 100% CC",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Force 100% CC",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 27,
@@ -698,7 +737,8 @@ public class AccessoryBagOverlay {
Minecraft.getMinecraft().fontRendererObj, x + 20, y + 37,
true, 30, new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth((forceCC ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO",
+ Utils.drawStringCenteredScaledMaxWidth(
+ (forceCC ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO",
Minecraft.getMinecraft().fontRendererObj,
x + 60,
y + 37,
@@ -707,7 +747,8 @@ public class AccessoryBagOverlay {
new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth("Force 100% ATKSPEED",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Force 100% ATKSPEED",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 47,
@@ -715,7 +756,8 @@ public class AccessoryBagOverlay {
70,
new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth((forceAS ? EnumChatFormatting.GREEN : EnumChatFormatting.GRAY) + "YES",
+ Utils.drawStringCenteredScaledMaxWidth(
+ (forceAS ? EnumChatFormatting.GREEN : EnumChatFormatting.GRAY) + "YES",
Minecraft.getMinecraft().fontRendererObj,
x + 20,
y + 57,
@@ -723,7 +765,8 @@ public class AccessoryBagOverlay {
30,
new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth((forceAS ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO",
+ Utils.drawStringCenteredScaledMaxWidth(
+ (forceAS ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO",
Minecraft.getMinecraft().fontRendererObj,
x + 60,
y + 57,
@@ -732,7 +775,8 @@ public class AccessoryBagOverlay {
new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth("Use God Potion",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Use God Potion",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 67,
@@ -740,7 +784,8 @@ public class AccessoryBagOverlay {
70,
new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth((useGodPot ? EnumChatFormatting.GREEN : EnumChatFormatting.GRAY) + "YES",
+ Utils.drawStringCenteredScaledMaxWidth(
+ (useGodPot ? EnumChatFormatting.GREEN : EnumChatFormatting.GRAY) + "YES",
Minecraft.getMinecraft().fontRendererObj,
x + 20,
y + 77,
@@ -748,7 +793,8 @@ public class AccessoryBagOverlay {
30,
new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth((useGodPot ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO",
+ Utils.drawStringCenteredScaledMaxWidth(
+ (useGodPot ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO",
Minecraft.getMinecraft().fontRendererObj,
x + 60,
y + 77,
@@ -757,7 +803,8 @@ public class AccessoryBagOverlay {
new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth("Use God Potion",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Use God Potion",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 87,
@@ -774,7 +821,8 @@ public class AccessoryBagOverlay {
true, 30, new Color(80, 80, 80).getRGB()
);
- Utils.drawStringCenteredScaledMaxWidth("Main Weapon",
+ Utils.drawStringCenteredScaledMaxWidth(
+ "Main Weapon",
Minecraft.getMinecraft().fontRendererObj,
x + 40,
y + 107,
@@ -836,7 +884,8 @@ public class AccessoryBagOverlay {
GuiChest eventGui = (GuiChest) Minecraft.getMinecraft().currentScreen;
ContainerChest cc = (ContainerChest) eventGui.inventorySlots;
String containerName = cc.getLowerChestInventory().getDisplayName().getUnformattedText();
- if (containerName.trim().startsWith("Accessory Bag") && !containerName.contains("Thaumaturgy") && !containerName.contains("Upgrades")) {
+ if (containerName.trim().startsWith("Accessory Bag") && !containerName.contains("Thaumaturgy") &&
+ !containerName.contains("Upgrades")) {
inAccessoryBag = true;
try {
int xSize = (int) Utils.getField(GuiContainer.class, eventGui, "xSize", "field_146999_f");
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java
index 06cf28e1..64396905 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.gson.JsonArray;
@@ -36,7 +55,12 @@ import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
import java.io.File;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java
index 42340259..8ba3a98a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.common.collect.Lists;
@@ -39,7 +58,12 @@ import org.lwjgl.opengl.GL11;
import org.lwjgl.util.glu.Project;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Objects;
+import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -946,7 +970,7 @@ public class GuiCustomEnchant extends Gui {
GlStateManager.pushMatrix();
GlStateManager.translate(guiLeft + 102 - 8, guiTop + 191 - (inventoryStartIndex / 9 * 18 + 89), 0);
Slot slot = cc.getSlot(inventoryStartIndex + i);
- ((AccessorGuiContainer)chest).doDrawSlot(slot);
+ ((AccessorGuiContainer) chest).doDrawSlot(slot);
GlStateManager.popMatrix();
if (mouseX >= itemX && mouseX < itemX + 18 &&
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java
index 2ed708e9..31713189 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java
@@ -1,13 +1,34 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
-import com.google.gson.*;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonParseException;
+import com.google.gson.JsonParser;
+import com.google.gson.JsonPrimitive;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
import io.github.moulberry.notenoughupdates.core.util.lerp.LerpingInteger;
import io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField;
import io.github.moulberry.notenoughupdates.options.NEUConfig;
-import io.github.moulberry.notenoughupdates.util.Constants;
import io.github.moulberry.notenoughupdates.util.Utils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java
index d65a18b0..40e12e35 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.gson.JsonArray;
@@ -22,7 +41,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.ResourceLocation;
-import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java
index 0645ede7..7d541296 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java
index 129e25e7..69343e99 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.common.collect.ImmutableList;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java
index d34988f6..dcb1344c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java
index e2381503..ed8d5d92 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.common.reflect.TypeToken;
@@ -17,14 +36,26 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
import java.lang.reflect.Type;
import java.nio.charset.StandardCharsets;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.time.Instant;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.TreeMap;
import java.util.stream.Collectors;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
@@ -347,7 +378,7 @@ public class GuiPriceGraph extends GuiScreen {
itemData = new ItemData(
new TreeMap<>(itemData.get().entrySet().stream()
.filter(e -> e.getKey() > System.currentTimeMillis() / 1000 -
- (mode == 0 ? 3600 : mode == 1 ? 86400 : 604800))
+ (mode == 0 ? 3600 : mode == 1 ? 86400 : 604800))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))),
itemData.isBz()
);
@@ -428,7 +459,12 @@ public class GuiPriceGraph extends GuiScreen {
}
}
- private static void addOrUpdateItemPriceInfo(Map.Entry<String, JsonElement> item, HashMap<String, ItemData> prices, long timestamp, boolean bazaar) {
+ private static void addOrUpdateItemPriceInfo(
+ Map.Entry<String, JsonElement> item,
+ HashMap<String, ItemData> prices,
+ long timestamp,
+ boolean bazaar
+ ) {
String itemName = item.getKey();
ItemData existingItemData = null;
if (prices.containsKey(itemName)) {
@@ -456,7 +492,8 @@ public class GuiPriceGraph extends GuiScreen {
BzData bzData = new BzData(
item.getValue().getAsJsonObject().get("curr_buy").getAsFloat(),
- item.getValue().getAsJsonObject().get("curr_sell").getAsFloat());
+ item.getValue().getAsJsonObject().get("curr_sell").getAsFloat()
+ );
if (existingItemData != null) {
existingItemData.bz.put(timestamp, bzData);
@@ -485,7 +522,8 @@ public class GuiPriceGraph extends GuiScreen {
else
trimmed.ah = new TreeMap<>();
int zones = NotEnoughUpdates.INSTANCE.config.ahGraph.graphZones;
- Long[] dataArray = !itemData.isBz() ? itemData.ah.keySet().toArray(new Long[0]) : itemData.bz.keySet().toArray(new Long[0]);
+ Long[] dataArray =
+ !itemData.isBz() ? itemData.ah.keySet().toArray(new Long[0]) : itemData.bz.keySet().toArray(new Long[0]);
int prev = 0;
for (int i = 0; i < zones; i++) {
long lowest = (long) map(i, 0, zones, first, last);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java
index 3932c9d5..0abf3f11 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/KatSitterOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/KatSitterOverlay.java
index 5a763411..b22ff11f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/KatSitterOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/KatSitterOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.gson.JsonObject;
@@ -62,12 +81,23 @@ public class KatSitterOverlay {
int currentWidth = font.getStringWidth(currentText);
String upgradedText = "Upgraded pet level: " + upgradedLevel;
int upgradedWidth = font.getStringWidth(upgradedText);
- int left = ((AccessorGuiContainer)gui).getGuiLeft() - 30 - (upgradedLevel == null ? Math.max(upgradedWidth, currentWidth) : currentWidth);
+ int left = ((AccessorGuiContainer) gui).getGuiLeft() - 30 - (upgradedLevel == null ? Math.max(
+ upgradedWidth,
+ currentWidth
+ ) : currentWidth);
GlStateManager.disableLighting();
GlStateManager.color(1F, 1F, 1F, 1F);
- Utils.drawStringScaled(currentText, font, left, ((AccessorGuiContainer)gui).getGuiTop() + 25, false, 0xFFD700, 1F);
+ Utils.drawStringScaled(currentText, font, left, ((AccessorGuiContainer) gui).getGuiTop() + 25, false, 0xFFD700, 1F);
if (upgradedLevel != null)
- Utils.drawStringScaled(upgradedText, font, left, ((AccessorGuiContainer)gui).getGuiTop() + 45, false, 0xFFD700, 1F);
+ Utils.drawStringScaled(
+ upgradedText,
+ font,
+ left,
+ ((AccessorGuiContainer) gui).getGuiTop() + 45,
+ false,
+ 0xFFD700,
+ 1F
+ );
}
public String nextRarity(String currentRarity) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/NEUOverlayPlacements.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/NEUOverlayPlacements.java
index f95302ef..ac96f527 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/NEUOverlayPlacements.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/NEUOverlayPlacements.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java
index e5e0ff5c..98efa381 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/StorageOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/TradeWindow.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/TradeWindow.java
index 1f47e6ee..086b6e06 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/TradeWindow.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/TradeWindow.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui;
import com.google.gson.JsonObject;
@@ -560,7 +579,12 @@ public class TradeWindow {
int y = 104 + 18 * (index / 9);
if (index < 9) y = 180;
- ((AccessorGuiContainer)chest).doDrawSlot(new Slot(Minecraft.getMinecraft().thePlayer.inventory, index, guiLeft + x, guiTop + y));
+ ((AccessorGuiContainer) chest).doDrawSlot(new Slot(
+ Minecraft.getMinecraft().thePlayer.inventory,
+ index,
+ guiLeft + x,
+ guiTop + y
+ ));
int col = 0x80ffffff;
if (SlotLocking.getInstance().isSlotIndexLocked(index)) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java
index 938f3f98..6a2602f8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui.tutorials;
public class NeuConfigTutorial extends TutorialBase {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java
index 24c6bb7f..c0a5d8c8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui.tutorials;
import net.minecraft.client.Minecraft;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java
index 34167b3f..27172ed8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscgui.tutorials;
import com.google.gson.JsonArray;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityAgeable.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityAgeable.java
index e41c12eb..d30cb9b3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityAgeable.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityAgeable.java
@@ -1,14 +1,31 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.entity.EntityAgeable;
-import net.minecraft.inventory.Slot;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
-import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(EntityAgeable.class)
public interface AccessorEntityAgeable {
- @Accessor(value = "growingAge")
- void setGrowingAgeDirect(int newValue);
+ @Accessor(value = "growingAge")
+ void setGrowingAgeDirect(int newValue);
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityArmorStand.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityArmorStand.java
index b6a3ca6e..50bbe135 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityArmorStand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorEntityArmorStand.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.entity.item.EntityArmorStand;
@@ -6,7 +25,7 @@ import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(EntityArmorStand.class)
public interface AccessorEntityArmorStand {
- @Invoker(value = "setSmall")
- void setSmallDirect(boolean isSmall);
+ @Invoker(value = "setSmall")
+ void setSmallDirect(boolean isSmall);
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiContainer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiContainer.java
index 3966317b..a12cd9c8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiContainer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiContainer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.client.gui.inventory.GuiContainer;
@@ -9,25 +28,25 @@ import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(GuiContainer.class)
public interface AccessorGuiContainer {
- @Invoker("getSlotAtPosition")
- Slot doGetSlotAtPosition(int x, int y);
+ @Invoker("getSlotAtPosition")
+ Slot doGetSlotAtPosition(int x, int y);
- @Invoker("drawSlot")
- void doDrawSlot(Slot slot);
+ @Invoker("drawSlot")
+ void doDrawSlot(Slot slot);
- @Invoker("isMouseOverSlot")
- boolean doIsMouseOverSlot(Slot slot, int x, int y);
+ @Invoker("isMouseOverSlot")
+ boolean doIsMouseOverSlot(Slot slot, int x, int y);
- @Accessor("guiLeft")
- int getGuiLeft();
+ @Accessor("guiLeft")
+ int getGuiLeft();
- @Accessor("guiTop")
- int getGuiTop();
+ @Accessor("guiTop")
+ int getGuiTop();
- @Accessor("xSize")
- int getXSize();
+ @Accessor("xSize")
+ int getXSize();
- @Accessor("ySize")
- int getYSize();
+ @Accessor("ySize")
+ int getYSize();
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiEditSign.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiEditSign.java
index ea945d5d..d1cd7069 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiEditSign.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiEditSign.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.client.gui.inventory.GuiEditSign;
@@ -7,6 +26,6 @@ import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(GuiEditSign.class)
public interface AccessorGuiEditSign {
- @Accessor("tileSign")
- TileEntitySign getTileSign();
+ @Accessor("tileSign")
+ TileEntitySign getTileSign();
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiPlayerTabOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiPlayerTabOverlay.java
index 530e3013..0189e2fc 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiPlayerTabOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorGuiPlayerTabOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.client.gui.GuiPlayerTabOverlay;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorMinecraft.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorMinecraft.java
index 0277a18b..6d8c941c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorMinecraft.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/AccessorMinecraft.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.client.Minecraft;
@@ -9,6 +28,6 @@ import java.util.List;
@Mixin(Minecraft.class)
public interface AccessorMinecraft {
- @Accessor(value = "defaultResourcePacks")
- List<IResourcePack> onGetDefaultResourcePacks();
+ @Accessor(value = "defaultResourcePacks")
+ List<IResourcePack> onGetDefaultResourcePacks();
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinAbstractClientPlayer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinAbstractClientPlayer.java
index 5c81c758..685528e0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinAbstractClientPlayer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinAbstractClientPlayer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.NPCRetexturing;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinContainer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinContainer.java
index 80d79712..53643fb0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinContainer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinContainer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.EnchantingSolvers;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEffectRenderer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEffectRenderer.java
index 8d0b291a..451fff3a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEffectRenderer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEffectRenderer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.CustomItemEffects;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntity.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntity.java
index 86995647..39951ba4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntity.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntity.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.entity.Entity;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityAgeable.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityAgeable.java
index 801b9041..d9b60a13 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityAgeable.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityAgeable.java
@@ -1,9 +1,27 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.entity.EntityAgeable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.gen.Accessor;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityHorse.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityHorse.java
index fe88922e..50eb15ba 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityHorse.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityHorse.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.entity.passive.EntityHorse;
@@ -8,10 +27,10 @@ import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(EntityHorse.class)
public class MixinEntityHorse {
- @Redirect(method = "updateHorseSlots", at = @At(value = "FIELD", target = "Lnet/minecraft/world/World;isRemote:Z"))
- public boolean onUpdateHorseSlots(World instance) {
- if (instance == null)
- return true;
- return instance.isRemote;
- }
+ @Redirect(method = "updateHorseSlots", at = @At(value = "FIELD", target = "Lnet/minecraft/world/World;isRemote:Z"))
+ public boolean onUpdateHorseSlots(World instance) {
+ if (instance == null)
+ return true;
+ return instance.isRemote;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayer.java
index 280e964e..573b2ad5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.cosmetics.CapeManager;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayerSP.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayerSP.java
index 573eac22..765ed372 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayerSP.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityPlayerSP.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.SlotLocking;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityRenderer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityRenderer.java
index ab448660..12ff1cb4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityRenderer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntityRenderer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.CustomItemEffects;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntitySkeleton.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntitySkeleton.java
index 54fe53f3..49c7ccb2 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntitySkeleton.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinEntitySkeleton.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import net.minecraft.entity.monster.EntitySkeleton;
@@ -8,10 +27,10 @@ import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(EntitySkeleton.class)
public class MixinEntitySkeleton {
- @Redirect(method = "setCurrentItemOrArmor", at = @At(value = "FIELD", target = "Lnet/minecraft/world/World;isRemote:Z"))
- public boolean onSetCurrentItemOrArmor(World instance) {
- if (instance == null)
- return true;
- return instance.isRemote;
- }
+ @Redirect(method = "setCurrentItemOrArmor", at = @At(value = "FIELD", target = "Lnet/minecraft/world/World;isRemote:Z"))
+ public boolean onSetCurrentItemOrArmor(World instance) {
+ if (instance == null)
+ return true;
+ return instance.isRemote;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiChest.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiChest.java
index c0d5627d..1b6b5c61 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiChest.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiChest.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.BetterContainers;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiContainer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiContainer.java
index 9f7d8528..e3741ac7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiContainer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiContainer.java
@@ -1,9 +1,33 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NEUOverlay;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
import io.github.moulberry.notenoughupdates.listener.RenderListener;
-import io.github.moulberry.notenoughupdates.miscfeatures.*;
+import io.github.moulberry.notenoughupdates.miscfeatures.AuctionBINWarning;
+import io.github.moulberry.notenoughupdates.miscfeatures.AuctionSortModeWarning;
+import io.github.moulberry.notenoughupdates.miscfeatures.BetterContainers;
+import io.github.moulberry.notenoughupdates.miscfeatures.EnchantingSolvers;
+import io.github.moulberry.notenoughupdates.miscfeatures.PetInfoOverlay;
+import io.github.moulberry.notenoughupdates.miscfeatures.SlotLocking;
import io.github.moulberry.notenoughupdates.miscgui.GuiCustomEnchant;
import io.github.moulberry.notenoughupdates.miscgui.StorageOverlay;
import io.github.moulberry.notenoughupdates.util.Utils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiIngame.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiIngame.java
index 7f7f25c8..3856e2d5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiIngame.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiIngame.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiInventory.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiInventory.java
index 7b225d50..bd712ec7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiInventory.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiInventory.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiScreen.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiScreen.java
index eac2b2d5..b978b433 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiScreen.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiScreen.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.util.SBInfo;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryEffectRenderer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryEffectRenderer.java
index fb5707fe..dbcb260d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryEffectRenderer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryEffectRenderer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryPlayer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryPlayer.java
index 345b5171..de117002 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryPlayer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinInventoryPlayer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.SlotLocking;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemCameraTransforms.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemCameraTransforms.java
index da2b2e08..bbe0f842 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemCameraTransforms.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemCameraTransforms.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.CustomSkulls;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemRenderer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemRenderer.java
index d691b79f..c2739ad8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemRenderer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemRenderer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscgui.InventoryStorageSelector;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemStack.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemStack.java
index 25109704..83379a18 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemStack.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinItemStack.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.ItemCustomizeManager;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerArmorBase.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerArmorBase.java
index a085c5d1..773e7ebe 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerArmorBase.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerArmorBase.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.core.ChromaColour;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerCustomHead.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerCustomHead.java
index a2785ec7..90101696 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerCustomHead.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinLayerCustomHead.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import com.mojang.authlib.GameProfile;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMinecraft.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMinecraft.java
index 8708afd8..abc9d8c6 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMinecraft.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMinecraft.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.SlotLocking;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java
index ff71ad1e..a89893b9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.listener.RenderListener;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java
index f7baffd6..abc8c2a2 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java
@@ -1,13 +1,43 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
-import io.github.moulberry.notenoughupdates.miscfeatures.*;
+import io.github.moulberry.notenoughupdates.miscfeatures.CrystalWishingCompassSolver;
+import io.github.moulberry.notenoughupdates.miscfeatures.CustomItemEffects;
+import io.github.moulberry.notenoughupdates.miscfeatures.EnchantingSolvers;
+import io.github.moulberry.notenoughupdates.miscfeatures.FishingHelper;
+import io.github.moulberry.notenoughupdates.miscfeatures.ItemCooldowns;
+import io.github.moulberry.notenoughupdates.miscfeatures.MiningStuff;
+import io.github.moulberry.notenoughupdates.miscfeatures.StorageManager;
import io.github.moulberry.notenoughupdates.util.SBInfo;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.Packet;
import net.minecraft.network.play.client.C0EPacketClickWindow;
-import net.minecraft.network.play.server.*;
+import net.minecraft.network.play.server.S23PacketBlockChange;
+import net.minecraft.network.play.server.S2DPacketOpenWindow;
+import net.minecraft.network.play.server.S2EPacketCloseWindow;
+import net.minecraft.network.play.server.S2FPacketSetSlot;
+import net.minecraft.network.play.server.S30PacketWindowItems;
+import net.minecraft.network.play.server.S47PacketPlayerListHeaderFooter;
import net.minecraft.util.EnumParticleTypes;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@@ -47,7 +77,8 @@ public class MixinNetHandlerPlayClient {
double xCoord, double yCoord, double zCoord,
double xOffset, double yOffset, double zOffset, int[] params
) {
- CrystalWishingCompassSolver.getInstance().onSpawnParticle(particleTypes,
+ CrystalWishingCompassSolver.getInstance().onSpawnParticle(
+ particleTypes,
xCoord,
yCoord,
zCoord
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinPlayerControllerMP.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinPlayerControllerMP.java
index b4481a73..fc8fee02 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinPlayerControllerMP.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinPlayerControllerMP.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.events.OnBlockBreakSoundEffect;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRender.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRender.java
index 14aad887..db35fcb9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRender.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRender.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderFish.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderFish.java
index 9e989311..ca40c5e7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderFish.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderFish.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -178,4 +197,4 @@ public abstract class MixinRenderFish extends Render<EntityFishHook> {
private static double mathLerp(double var1, double var2, double var3) {
return var2 + var1 * (var3 - var2);
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderGlobal.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderGlobal.java
index fc3347bf..30c6b36e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderGlobal.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderGlobal.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.cosmetics.CapeManager;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderItem.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderItem.java
index 6c432ce3..4f193c98 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderItem.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderItem.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NEUOverlay;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderList.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderList.java
index 8c1cc247..e7782bcd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderList.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderList.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.dungeons.DungeonBlocks;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRendererLivingEntity.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRendererLivingEntity.java
index 16c6c99c..5503c8cf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRendererLivingEntity.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRendererLivingEntity.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTextureManager.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTextureManager.java
index de6d1537..d8a48ecd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTextureManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTextureManager.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.ItemCustomizeManager;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySkullRenderer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySkullRenderer.java
index 71750fec..0b70f790 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySkullRenderer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySkullRenderer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import com.mojang.authlib.GameProfile;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySpecialRenderer.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySpecialRenderer.java
index f93608b1..2f342614 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySpecialRenderer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinTileEntitySpecialRenderer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinVboRenderList.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinVboRenderList.java
index 73cb19d3..22448944 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinVboRenderList.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinVboRenderList.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.dungeons.DungeonBlocks;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorld.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorld.java
index 86073984..b738359a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorld.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorld.java
@@ -1,8 +1,27 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
-import io.github.moulberry.notenoughupdates.miscfeatures.customblockzones.CustomBiomes;
import io.github.moulberry.notenoughupdates.miscfeatures.CustomItemEffects;
+import io.github.moulberry.notenoughupdates.miscfeatures.customblockzones.CustomBiomes;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorldClient.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorldClient.java
index b20ff8fd..84e6da86 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorldClient.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinWorldClient.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.mixins;
import io.github.moulberry.notenoughupdates.miscfeatures.FishingHelper;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
index d9cc77e3..237a76ca 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java
index 43c04698..17bc57e9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java b/src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java
index 5b3188d6..8e0e4c11 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.customtypes;
public enum NEUDebugFlag {
@@ -8,5 +27,5 @@ public enum NEUDebugFlag {
public static final String FLAG_LIST =
"METAL - Metal Detector Solver\n" +
- "WISHING - Wishing Compass Solver";
+ "WISHING - Wishing Compass Solver";
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java
index ad96f744..ce931392 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java
@@ -1,7 +1,31 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorColour;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorKeybind;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import org.lwjgl.input.Keyboard;
public class AHGraph {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHTweaks.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHTweaks.java
index c4651b02..7c8446b0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHTweaks.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHTweaks.java
@@ -1,7 +1,30 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
public class AHTweaks {
@ConfigOption(
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java
index 5e1d58c1..b87db1d6 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java
index 6121e189..3fc72db5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java
index cd2fb53f..fe593f56 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java
index edfd2276..60d8e5ef 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java
index 03465db7..8e211bd6 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java
index d1d36e9a..1c825cdf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java
@@ -1,7 +1,34 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorColour;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorFSR;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
public class Dungeons {
@ConfigOption(
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
index e9add7b4..7a49f7c2 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
@@ -1,7 +1,30 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
public class Enchanting {
@ConfigOption(
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java
index 9d1367b0..e02413f7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java
index 60058280..8216c892 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java
index 6826302a..685aeb98 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java
index 9298623b..7cf56c96 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java
@@ -1,8 +1,35 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorColour;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java
index db154c24..c83f370f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java
@@ -1,7 +1,30 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorColour;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
public class Itemlist {
@Expose
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
index 462fbd92..42316592 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
@@ -1,8 +1,30 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
public class LocationEdit {
@Expose
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java
index 697cabf3..2f31261d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java
@@ -1,8 +1,34 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java
index a04a51f9..c0f4e8c9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java
index 616e8188..e56da32f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java
@@ -1,8 +1,33 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import java.util.ArrayList;
import java.util.Arrays;
@@ -166,13 +191,13 @@ public class MiscOverlays {
@Expose
@ConfigOption(
- name = "Daily Heavy Pearl Display",
- desc = "Change the way the daily heavy pearl displays\n" +
- "Only when ready, When very Soon, When soon, When kinda soon or always."
+ name = "Daily Heavy Pearl Display",
+ desc = "Change the way the daily heavy pearl displays\n" +
+ "Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
- values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
+ values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int dailyHeavyPearlDisplay = 0;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java
index 25efd693..44f3454a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/NeuAuctionHouse.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java
index bcdee28a..353cd36d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java
index 9cba8202..353c4e08 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java
@@ -1,8 +1,31 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java
index 04fe6e6b..5d3b6532 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java
@@ -1,7 +1,30 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorFSR;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
index acdfbe54..54e17fcf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
@@ -1,8 +1,36 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorFSR;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorKeybind;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import org.lwjgl.input.Keyboard;
import java.util.ArrayList;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlayerOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlayerOverlay.java
index 220b992b..927d00e5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlayerOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlayerOverlay.java
@@ -1,8 +1,32 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
import io.github.moulberry.notenoughupdates.core.config.Position;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDraggableList;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorFSR;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java
index c86708bb..22286808 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java
@@ -1,7 +1,30 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorFSR;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorKeybind;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import org.lwjgl.input.Keyboard;
public class SlotLocking {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java
index bdc9ee1b..e43fa5cf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java
@@ -1,7 +1,34 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorColour;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorFSR;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorKeybind;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
import org.lwjgl.input.Keyboard;
public class StorageGUI {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java
index 741b57e5..7d2f4fc4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java
@@ -1,7 +1,32 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
-import io.github.moulberry.notenoughupdates.core.config.annotations.*;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider;
+import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
public class Toolbar {
@Expose
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java
index 79a107b7..d1660e68 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java
index d6f0808f..d2b4e0bb 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.options.seperateSections;
import com.google.gson.annotations.Expose;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java
index f36c0958..a493d201 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import com.google.common.base.Splitter;
@@ -25,7 +44,11 @@ import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
@@ -36,7 +59,8 @@ public class AuctionSearchOverlay {
private static final ResourceLocation SEARCH_OVERLAY_TEXTURE_TAB_COMPLETED = new ResourceLocation(
"notenoughupdates:auc_search/ah_search_overlay_tab_completed.png");
private static final ResourceLocation STAR = new ResourceLocation("notenoughupdates:auc_search/star.png");
- private static final ResourceLocation MASTER_STAR = new ResourceLocation("notenoughupdates:auc_search/master_star.png");
+ private static final ResourceLocation MASTER_STAR =
+ new ResourceLocation("notenoughupdates:auc_search/master_star.png");
private static final ResourceLocation STAR_BOARD = new ResourceLocation("notenoughupdates:auc_search/star_board.png");
private static final GuiElementTextField textField = new GuiElementTextField("", 200, 20, 0);
@@ -135,7 +159,12 @@ public class AuctionSearchOverlay {
if (selectedStars < 6) Gui.drawRect(width / 2 + 106, topY + 42, width / 2 + 115, topY + 51, 0xffffffff);
if (selectedStars < 6) Gui.drawRect(width / 2 + 107, topY + 43, width / 2 + 114, topY + 50, 0xff000000);
if (atLeast && selectedStars < 6) Gui.drawRect(width / 2 + 108, topY + 44, width / 2 + 113, topY + 49, 0xffffffff);
- if (selectedStars < 6) Minecraft.getMinecraft().fontRendererObj.drawString("At Least?", width / 2 + 117, topY + 43, 0xffffff);
+ if (selectedStars < 6) Minecraft.getMinecraft().fontRendererObj.drawString(
+ "At Least?",
+ width / 2 + 117,
+ topY + 43,
+ 0xffffff
+ );
Minecraft.getMinecraft().fontRendererObj.drawString("Enter Query:", width / 2 - 100, topY - 10, 0xdddddd, true);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/BonemerangOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/BonemerangOverlay.java
index aa8a15ce..e8447699 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/BonemerangOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/BonemerangOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -14,7 +33,11 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.Vec3;
import org.lwjgl.util.vector.Vector3f;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
import java.util.function.Supplier;
public class BonemerangOverlay extends TextOverlay {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java
index 6d46dfd6..250be27d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -255,4 +274,4 @@ public class CombatSkillOverlay
if (overlayStrings != null && overlayStrings.isEmpty()) overlayStrings = null;
}
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/CrystalHollowOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/CrystalHollowOverlay.java
index ea190323..aae5d028 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/CrystalHollowOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/CrystalHollowOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -16,7 +35,10 @@ import net.minecraft.util.EnumChatFormatting;
import org.lwjgl.util.vector.Vector2f;
import java.text.DecimalFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.function.Supplier;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -79,11 +101,14 @@ public class CrystalHollowOverlay extends TextOverlay {
Matcher hotmCrystalNotPlacedMatcher = hotmCrystalNotPlacedPattern.matcher(cleanLine);
Matcher hotmCrystalNotFoundMatcher = hotmCrystalNotFoundPattern.matcher(cleanLine);
Matcher hotmCrystalPlacedMatcher = hotmCrystalPlacedPattern.matcher(cleanLine);
- if (hotmCrystalNotFoundMatcher.matches() && perProfileConfig.crystals.containsKey(hotmCrystalNotFoundMatcher.group("crystal"))) {
+ if (hotmCrystalNotFoundMatcher.matches() &&
+ perProfileConfig.crystals.containsKey(hotmCrystalNotFoundMatcher.group("crystal"))) {
perProfileConfig.crystals.put(hotmCrystalNotFoundMatcher.group("crystal"), 0);
- } else if (hotmCrystalNotPlacedMatcher.matches() && perProfileConfig.crystals.containsKey(hotmCrystalNotPlacedMatcher.group("crystal"))) {
+ } else if (hotmCrystalNotPlacedMatcher.matches() && perProfileConfig.crystals.containsKey(
+ hotmCrystalNotPlacedMatcher.group("crystal"))) {
perProfileConfig.crystals.put(hotmCrystalNotPlacedMatcher.group("crystal"), 1);
- } else if (hotmCrystalPlacedMatcher.matches() && perProfileConfig.crystals.containsKey(hotmCrystalPlacedMatcher.group("crystal"))) {
+ } else if (hotmCrystalPlacedMatcher.matches() &&
+ perProfileConfig.crystals.containsKey(hotmCrystalPlacedMatcher.group("crystal"))) {
perProfileConfig.crystals.put(hotmCrystalPlacedMatcher.group("crystal"), 2);
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingOverlay.java
index bbab59cb..970c74ab 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/FishingSkillOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/FishingSkillOverlay.java
index 6f7b21d8..717ff944 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/FishingSkillOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/FishingSkillOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -402,4 +421,4 @@ public class FishingSkillOverlay
if (overlayStrings != null && overlayStrings.isEmpty()) overlayStrings = null;
}
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/FuelBar.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/FuelBar.java
index fa2db8b5..d180efcf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/FuelBar.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/FuelBar.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningOverlay.java
index 96864391..5dda0d85 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import com.google.common.collect.ComparisonChain;
@@ -26,12 +45,24 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.lwjgl.util.vector.Vector2f;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
import java.util.function.Supplier;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import static net.minecraft.util.EnumChatFormatting.*;
+import static net.minecraft.util.EnumChatFormatting.BLUE;
+import static net.minecraft.util.EnumChatFormatting.BOLD;
+import static net.minecraft.util.EnumChatFormatting.DARK_AQUA;
+import static net.minecraft.util.EnumChatFormatting.GOLD;
+import static net.minecraft.util.EnumChatFormatting.GREEN;
+import static net.minecraft.util.EnumChatFormatting.RED;
+import static net.minecraft.util.EnumChatFormatting.RESET;
+import static net.minecraft.util.EnumChatFormatting.YELLOW;
public class MiningOverlay extends TextOverlay {
public MiningOverlay(
@@ -219,7 +250,7 @@ public class MiningOverlay extends TextOverlay {
// Get commission and forge info even if the overlay isn't going to be rendered since it is used elsewhere
//thanks to "Pure Genie#7250" for helping with this (makes tita alert and waypoints work without mine overlay)
- if(SBInfo.getInstance().getLocation() == null) return;
+ if (SBInfo.getInstance().getLocation() == null) return;
if (SBInfo.getInstance().getLocation().equals("mining_3") ||
SBInfo.getInstance().getLocation().equals("crystal_hollows")) {
commissionProgress.clear();
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningSkillOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningSkillOverlay.java
index fb7cdab5..a20b1d27 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningSkillOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningSkillOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -358,4 +377,4 @@ public class MiningSkillOverlay
if (overlayStrings != null && overlayStrings.isEmpty()) overlayStrings = null;
}
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/OverlayManager.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/OverlayManager.java
index 8c25594e..c1a1c848 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/OverlayManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/OverlayManager.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import com.google.common.collect.Lists;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/RancherBootOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/RancherBootOverlay.java
index 9661812f..2a30f6f1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/RancherBootOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/RancherBootOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.core.GuiElementTextField;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/SlayerOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/SlayerOverlay.java
index e2b22b82..00e13016 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/SlayerOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/SlayerOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -8,7 +27,11 @@ import net.minecraft.client.Minecraft;
import net.minecraft.util.EnumChatFormatting;
import java.text.NumberFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
import java.util.function.Supplier;
public class SlayerOverlay extends TextOverlay {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlay.java
index 5fe066f2..f8e02fef 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.core.config.Position;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlayStyle.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlayStyle.java
index 4a3a2b73..2ccc3ace 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlayStyle.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/TextOverlayStyle.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
public enum TextOverlayStyle {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java
index 0454044f..5510023c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.overlays;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -805,6 +824,7 @@ public class TimersOverlay extends TextOverlay {
public static int beforePearls = -1;
public static int afterPearls = -1;
public static int availablePearls = -1;
+
public static int heavyPearlCount() {
int heavyPearls = 0;
@@ -827,12 +847,12 @@ public class TimersOverlay extends TextOverlay {
}
public static void processActionBar(String msg) {
- if(SBInfo.getInstance().location.equals("Belly of the Beast")) {
+ if (SBInfo.getInstance().location.equals("Belly of the Beast")) {
try {
msg = Utils.cleanColour(msg);
- msg = msg.substring(msg.indexOf("Pearls Collected: ")+18);
- availablePearls = Integer.parseInt(msg.substring(msg.indexOf("/")+1));
- } catch(Exception e) {
+ msg = msg.substring(msg.indexOf("Pearls Collected: ") + 18);
+ availablePearls = Integer.parseInt(msg.substring(msg.indexOf("/") + 1));
+ } catch (Exception e) {
e.printStackTrace();
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/BingoPage.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/BingoPage.java
index 0d03f297..dfcbb007 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/BingoPage.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/BingoPage.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.profileviewer;
import com.google.gson.JsonArray;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java
index ee73f66f..ba3b97f8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.profileviewer;
import com.google.common.base.Splitter;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/Panorama.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/Panorama.java
index a2d297f5..ed7eb55d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/Panorama.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/Panorama.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.profileviewer;
import io.github.moulberry.notenoughupdates.util.TexLoc;
@@ -27,7 +46,6 @@ public class Panorama {
private static int lastWidth = 0;
private static int lastHeight = 0;
-
private static final HashMap<String, ResourceLocation[]> panoramasMap = new HashMap<>();
public static synchronized ResourceLocation[] getPanoramasForLocation(String location, String identifier) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java
index 6535a99a..4865830c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.profileviewer;
import com.google.gson.JsonArray;
@@ -247,6 +266,7 @@ public class PlayerStats {
return 0;
}
}
+
private static float hotmFortune(JsonObject profile, JsonObject skillInfo) {
int miningLevelFortune =
(int) (4 * (float) Math.floor(Utils.getElementAsFloat(Utils.getElement(skillInfo, "level_skill_mining"), 0)));
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
index 95acb7d8..5ed84b03 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.profileviewer;
import com.google.gson.JsonArray;
@@ -239,10 +258,13 @@ public class ProfileViewer {
);
put("INK_SACK", Utils.createItemStack(Items.dye, EnumChatFormatting.AQUA + "Ink Sack"));
put("SPONGE", Utils.createItemStack(Item.getItemFromBlock(Blocks.sponge), EnumChatFormatting.AQUA + "Sponge"));
- put("MAGMA_FISH",
- Utils.createSkull(EnumChatFormatting.AQUA + "Magmafish",
- "5c53195c-5b98-3476-9731-c32647b22723",
- "ewogICJ0aW1lc3RhbXAiIDogMTY0MjQ4ODA3MDY2NiwKICAicHJvZmlsZUlkIiA6ICIzNDkxZjJiOTdjMDE0MWE2OTM2YjFjMjJhMmEwMGZiNyIsCiAgInByb2ZpbGVOYW1lIiA6ICJKZXNzc3N1aGgiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjU2YjU5NTViMjk1NTIyYzk2ODk0ODE5NjBjMDFhOTkyY2ExYzc3NTRjZjRlZTMxM2M4ZGQwYzM1NmQzMzVmIgogICAgfQogIH0KfQ")
+ put(
+ "MAGMA_FISH",
+ Utils.createSkull(
+ EnumChatFormatting.AQUA + "Magmafish",
+ "5c53195c-5b98-3476-9731-c32647b22723",
+ "ewogICJ0aW1lc3RhbXAiIDogMTY0MjQ4ODA3MDY2NiwKICAicHJvZmlsZUlkIiA6ICIzNDkxZjJiOTdjMDE0MWE2OTM2YjFjMjJhMmEwMGZiNyIsCiAgInByb2ZpbGVOYW1lIiA6ICJKZXNzc3N1aGgiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjU2YjU5NTViMjk1NTIyYzk2ODk0ODE5NjBjMDFhOTkyY2ExYzc3NTRjZjRlZTMxM2M4ZGQwYzM1NmQzMzVmIgogICAgfQogIH0KfQ"
+ )
);
}};
private static final AtomicBoolean updatingResourceCollection = new AtomicBoolean(false);
@@ -1287,7 +1309,8 @@ public class ProfileViewer {
}
}
for (JsonObject current_member_info : coopMembers) {
- if (!current_member_info.has("crafted_generators") || !current_member_info.get("crafted_generators").isJsonArray()) continue;
+ if (!current_member_info.has("crafted_generators") ||
+ !current_member_info.get("crafted_generators").isJsonArray()) continue;
JsonArray crafted_generators = Utils.getElement(current_member_info, "crafted_generators").getAsJsonArray();
for (int j = 0; j < crafted_generators.size(); j++) {
String unlocked = crafted_generators.get(j).getAsString();
@@ -1365,7 +1388,7 @@ public class ProfileViewer {
}
public PlayerStats.Stats getStats(String profileId) {
- if(stats.get(profileId) != null) return stats.get(profileId);
+ if (stats.get(profileId) != null) return stats.get(profileId);
JsonObject profileInfo = getProfileInformation(profileId);
if (profileInfo == null) {
return null;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingOverlay.java
index 45675945..004ea372 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingOverlay.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import io.github.moulberry.notenoughupdates.NEUManager;
@@ -50,10 +69,10 @@ public class CraftingOverlay {
) {
forEachSlot(chest, (recipeIngredient, slot) -> {
if (Utils.isWithinRect(
- mouseX, mouseY,
- slot.xDisplayPosition + ((AccessorGuiContainer) gui).getGuiLeft(),
- slot.yDisplayPosition + ((AccessorGuiContainer) gui).getGuiTop(),
- 16, 16
+ mouseX, mouseY,
+ slot.xDisplayPosition + ((AccessorGuiContainer) gui).getGuiLeft(),
+ slot.yDisplayPosition + ((AccessorGuiContainer) gui).getGuiTop(),
+ 16, 16
))
block.accept(recipeIngredient, slot);
});
@@ -81,9 +100,9 @@ public class CraftingOverlay {
if (currentRecipe.getCraftText() != null) {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
fontRenderer.drawStringWithShadow(
- currentRecipe.getCraftText(),
- Utils.peekGuiScale().getScaledWidth() / 2f - fontRenderer.getStringWidth(currentRecipe.getCraftText()) / 2f,
- ((AccessorGuiContainer) guiChest).getGuiTop() - 15f, 0x808080
+ currentRecipe.getCraftText(),
+ Utils.peekGuiScale().getScaledWidth() / 2f - fontRenderer.getStringWidth(currentRecipe.getCraftText()) / 2f,
+ ((AccessorGuiContainer) guiChest).getGuiTop() - 15f, 0x808080
);
}
renderTooltip(guiChest, chest);
@@ -141,8 +160,8 @@ public class CraftingOverlay {
}
private void drawItemStack(GuiChest gui, Slot slot, ItemStack item) {
- int slotX = slot.xDisplayPosition + ((AccessorGuiContainer)gui).getGuiLeft();
- int slotY = slot.yDisplayPosition + ((AccessorGuiContainer)gui).getGuiTop();
+ int slotX = slot.xDisplayPosition + ((AccessorGuiContainer) gui).getGuiLeft();
+ int slotY = slot.yDisplayPosition + ((AccessorGuiContainer) gui).getGuiTop();
Gui.drawRect(slotX, slotY, slotX + 16, slotY + 16, 0x64ff0000);
if (item != null)
Utils.drawItemStack(item, slotX, slotY);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingRecipe.java
index 79f349fa..a642187b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingRecipe.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/CraftingRecipe.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.common.collect.Sets;
@@ -17,135 +36,136 @@ import java.util.Set;
public class CraftingRecipe implements NeuRecipe {
- public static final ResourceLocation BACKGROUND = new ResourceLocation("notenoughupdates","textures/gui/crafting_table_tall.png");
-
- private static final int EXTRA_STRING_X = 132;
- private static final int EXTRA_STRING_Y = 50;
-
- private final NEUManager manager;
- private final Ingredient[] inputs;
- private final String extraText;
- private final Ingredient outputIngredient;
- private List<RecipeSlot> slots;
-
- public CraftingRecipe(NEUManager manager, Ingredient[] inputs, Ingredient output, String extra) {
- this.manager = manager;
- this.inputs = inputs;
- this.outputIngredient = output;
- this.extraText = extra;
- if (inputs.length != 9)
- throw new IllegalArgumentException("Cannot construct crafting recipe with non standard crafting grid size");
- }
-
- @Override
- public Set<Ingredient> getIngredients() {
- Set<Ingredient> ingredients = Sets.newHashSet(inputs);
- ingredients.remove(null);
- return ingredients;
- }
-
- @Override
- public RecipeType getType() {
- return RecipeType.CRAFTING;
- }
-
- @Override
- public boolean hasVariableCost() {
- return false;
- }
-
- @Override
- public Set<Ingredient> getOutputs() {
- return Collections.singleton(getOutput());
- }
-
- public Ingredient getOutput() {
- return outputIngredient;
- }
-
- public Ingredient[] getInputs() {
- return inputs;
- }
-
-
- @Override
- public List<RecipeSlot> getSlots() {
- if (slots != null) return slots;
- slots = new ArrayList<>();
- for (int x = 0; x < 3; x++) {
- for (int y = 0; y < 3; y++) {
- Ingredient input = inputs[x + y * 3];
- if (input == null) continue;
- ItemStack item = input.getItemStack();
- if (item == null) continue;
- slots.add(new RecipeSlot(30 + x * GuiItemRecipe.SLOT_SPACING, 48 + y * GuiItemRecipe.SLOT_SPACING, item));
- }
- }
- slots.add(new RecipeSlot(124, 66, outputIngredient.getItemStack()));
- return slots;
- }
-
- public String getCraftText() {
- return extraText;
- }
-
- @Override
- public ResourceLocation getBackground() {
- return BACKGROUND;
- }
-
- @Override
- public void drawExtraInfo(GuiItemRecipe gui, int mouseX, int mouseY) {
- FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
-
- String craftingText = getCraftText();
- if (craftingText != null)
- Utils.drawStringCenteredScaledMaxWidth(craftingText, fontRenderer,
- gui.guiLeft + EXTRA_STRING_X, gui.guiTop + EXTRA_STRING_Y, false, 75, 0x404040);
- }
-
- @Override
- public JsonObject serialize() {
- JsonObject object = new JsonObject();
- object.addProperty("type", "crafting");
- object.addProperty("count", outputIngredient.getCount());
- object.addProperty("overrideOutputId", outputIngredient.getInternalItemId());
- for (int i = 0; i < 9; i++) {
- Ingredient ingredient = inputs[i];
- if (ingredient == null) continue;
- String[] x = {"1", "2", "3"};
- String[] y = {"A", "B", "C"};
- String name = x[i / 3] + y[i % 3];
- object.addProperty(name, ingredient.serialize());
- }
- if(extraText != null)
- object.addProperty("crafttext", extraText);
- return object;
- }
-
- public static CraftingRecipe parseCraftingRecipe(NEUManager manager, JsonObject recipe, JsonObject outputItem) {
- Ingredient[] craftMatrix = new Ingredient[9];
-
- String[] x = {"1", "2", "3"};
- String[] y = {"A", "B", "C"};
- for (int i = 0; i < 9; i++) {
- String name = y[i / 3] + x[i % 3];
- if (!recipe.has(name)) continue;
- String item = recipe.get(name).getAsString();
- if (item == null || item.isEmpty()) continue;
- craftMatrix[i] = new Ingredient(manager, item);
- }
- int resultCount = 1;
- if (recipe.has("count"))
- resultCount = recipe.get("count").getAsInt();
- String extra = null;
- if (outputItem.has("crafttext"))
- extra = outputItem.get("crafttext").getAsString();
- if (recipe.has("crafttext"))
- extra = recipe.get("crafttext").getAsString();
- String outputItemId = outputItem.get("internalname").getAsString();
- if (recipe.has("overrideOutputId"))
- outputItemId = recipe.get("overrideOutputId").getAsString();
- return new CraftingRecipe(manager, craftMatrix, new Ingredient(manager, outputItemId, resultCount), extra);
- }
+ public static final ResourceLocation BACKGROUND = new ResourceLocation("notenoughupdates",
+ "textures/gui/crafting_table_tall.png");
+
+ private static final int EXTRA_STRING_X = 132;
+ private static final int EXTRA_STRING_Y = 50;
+
+ private final NEUManager manager;
+ private final Ingredient[] inputs;
+ private final String extraText;
+ private final Ingredient outputIngredient;
+ private List<RecipeSlot> slots;
+
+ public CraftingRecipe(NEUManager manager, Ingredient[] inputs, Ingredient output, String extra) {
+ this.manager = manager;
+ this.inputs = inputs;
+ this.outputIngredient = output;
+ this.extraText = extra;
+ if (inputs.length != 9)
+ throw new IllegalArgumentException("Cannot construct crafting recipe with non standard crafting grid size");
+ }
+
+ @Override
+ public Set<Ingredient> getIngredients() {
+ Set<Ingredient> ingredients = Sets.newHashSet(inputs);
+ ingredients.remove(null);
+ return ingredients;
+ }
+
+ @Override
+ public RecipeType getType() {
+ return RecipeType.CRAFTING;
+ }
+
+ @Override
+ public boolean hasVariableCost() {
+ return false;
+ }
+
+ @Override
+ public Set<Ingredient> getOutputs() {
+ return Collections.singleton(getOutput());
+ }
+
+ public Ingredient getOutput() {
+ return outputIngredient;
+ }
+
+ public Ingredient[] getInputs() {
+ return inputs;
+ }
+
+ @Override
+ public List<RecipeSlot> getSlots() {
+ if (slots != null) return slots;
+ slots = new ArrayList<>();
+ for (int x = 0; x < 3; x++) {
+ for (int y = 0; y < 3; y++) {
+ Ingredient input = inputs[x + y * 3];
+ if (input == null) continue;
+ ItemStack item = input.getItemStack();
+ if (item == null) continue;
+ slots.add(new RecipeSlot(30 + x * GuiItemRecipe.SLOT_SPACING, 48 + y * GuiItemRecipe.SLOT_SPACING, item));
+ }
+ }
+ slots.add(new RecipeSlot(124, 66, outputIngredient.getItemStack()));
+ return slots;
+ }
+
+ public String getCraftText() {
+ return extraText;
+ }
+
+ @Override
+ public ResourceLocation getBackground() {
+ return BACKGROUND;
+ }
+
+ @Override
+ public void drawExtraInfo(GuiItemRecipe gui, int mouseX, int mouseY) {
+ FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
+
+ String craftingText = getCraftText();
+ if (craftingText != null)
+ Utils.drawStringCenteredScaledMaxWidth(craftingText, fontRenderer,
+ gui.guiLeft + EXTRA_STRING_X, gui.guiTop + EXTRA_STRING_Y, false, 75, 0x404040
+ );
+ }
+
+ @Override
+ public JsonObject serialize() {
+ JsonObject object = new JsonObject();
+ object.addProperty("type", "crafting");
+ object.addProperty("count", outputIngredient.getCount());
+ object.addProperty("overrideOutputId", outputIngredient.getInternalItemId());
+ for (int i = 0; i < 9; i++) {
+ Ingredient ingredient = inputs[i];
+ if (ingredient == null) continue;
+ String[] x = {"1", "2", "3"};
+ String[] y = {"A", "B", "C"};
+ String name = x[i / 3] + y[i % 3];
+ object.addProperty(name, ingredient.serialize());
+ }
+ if (extraText != null)
+ object.addProperty("crafttext", extraText);
+ return object;
+ }
+
+ public static CraftingRecipe parseCraftingRecipe(NEUManager manager, JsonObject recipe, JsonObject outputItem) {
+ Ingredient[] craftMatrix = new Ingredient[9];
+
+ String[] x = {"1", "2", "3"};
+ String[] y = {"A", "B", "C"};
+ for (int i = 0; i < 9; i++) {
+ String name = y[i / 3] + x[i % 3];
+ if (!recipe.has(name)) continue;
+ String item = recipe.get(name).getAsString();
+ if (item == null || item.isEmpty()) continue;
+ craftMatrix[i] = new Ingredient(manager, item);
+ }
+ int resultCount = 1;
+ if (recipe.has("count"))
+ resultCount = recipe.get("count").getAsInt();
+ String extra = null;
+ if (outputItem.has("crafttext"))
+ extra = outputItem.get("crafttext").getAsString();
+ if (recipe.has("crafttext"))
+ extra = recipe.get("crafttext").getAsString();
+ String outputItemId = outputItem.get("internalname").getAsString();
+ if (recipe.has("overrideOutputId"))
+ outputItemId = recipe.get("overrideOutputId").getAsString();
+ return new CraftingRecipe(manager, craftMatrix, new Ingredient(manager, outputItemId, resultCount), extra);
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/ForgeRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/ForgeRecipe.java
index 7847b0b4..47eb0d11 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/ForgeRecipe.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/ForgeRecipe.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.common.collect.Sets;
@@ -15,216 +34,256 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
public class ForgeRecipe implements NeuRecipe {
- private static final ResourceLocation BACKGROUND = new ResourceLocation("notenoughupdates", "textures/gui/forge_recipe_tall.png");
-
- private static final int SLOT_IMAGE_U = 176;
- private static final int SLOT_IMAGE_V = 0;
- private static final int SLOT_IMAGE_SIZE = 18;
- private static final int SLOT_PADDING = 1;
- private static final int EXTRA_INFO_MAX_WIDTH = 75;
- public static final int EXTRA_INFO_X = 132;
- public static final int EXTRA_INFO_Y = 55;
-
- public enum ForgeType {
- REFINING, ITEM_FORGING
- }
-
- private final NEUManager manager;
- private final List<Ingredient> inputs;
- private final Ingredient output;
- private final int hotmLevel;
- private final int timeInSeconds; // TODO: quick forge
- private List<RecipeSlot> slots;
-
- public ForgeRecipe(NEUManager manager, List<Ingredient> inputs, Ingredient output, int durationInSeconds, int hotmLevel) {
- this.manager = manager;
- this.inputs = inputs;
- this.output = output;
- this.hotmLevel = hotmLevel;
- this.timeInSeconds = durationInSeconds;
- }
-
- public List<Ingredient> getInputs() {
- return inputs;
- }
-
- public Ingredient getOutput() {
- return output;
- }
-
- public int getHotmLevel() {
- return hotmLevel;
- }
-
- public int getTimeInSeconds() {
- return timeInSeconds;
- }
-
- @Override
- public ResourceLocation getBackground() {
- return BACKGROUND;
- }
-
- @Override
- public RecipeType getType() {
- return RecipeType.FORGE;
- }
-
- @Override
- public Set<Ingredient> getIngredients() {
- return Sets.newHashSet(inputs);
- }
-
- @Override
- public boolean hasVariableCost() {
- return false;
- }
-
- @Override
- public Set<Ingredient> getOutputs() {
- return Collections.singleton(output);
- }
-
- @Override
- public List<RecipeSlot> getSlots() {
- if (slots != null) return slots;
- slots = new ArrayList<>();
- for (int i = 0; i < inputs.size(); i++) {
- Ingredient input = inputs.get(i);
- ItemStack itemStack = input.getItemStack();
- if (itemStack == null) continue;
- int[] slotCoordinates = getSlotCoordinates(i, inputs.size());
- slots.add(new RecipeSlot(slotCoordinates[0], slotCoordinates[1], itemStack));
- }
- slots.add(new RecipeSlot(124, 66, output.getItemStack()));
- return slots;
- }
-
- @Override
- public void drawExtraBackground(GuiItemRecipe gui, int mouseX, int mouseY) {
- Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND);
- for (int i = 0; i < inputs.size(); i++) {
- int[] slotCoordinates = getSlotCoordinates(i, inputs.size());
- gui.drawTexturedModalRect(
- gui.guiLeft + slotCoordinates[0] - SLOT_PADDING, gui.guiTop + slotCoordinates[1] - SLOT_PADDING,
- SLOT_IMAGE_U, SLOT_IMAGE_V,
- SLOT_IMAGE_SIZE, SLOT_IMAGE_SIZE);
- }
- }
-
- @Override
- public void drawExtraInfo(GuiItemRecipe gui, int mouseX, int mouseY) {
- FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
- if (timeInSeconds > 0)
- Utils.drawStringCenteredScaledMaxWidth(formatDuration(timeInSeconds), fontRenderer, gui.guiLeft + EXTRA_INFO_X, gui.guiTop + EXTRA_INFO_Y, false, EXTRA_INFO_MAX_WIDTH, 0xff00ff);
- }
-
- @Override
- public void drawHoverInformation(GuiItemRecipe gui, int mouseX, int mouseY) {
- manager.hotm.getInformationOnCurrentProfile().ifPresent(hotmTree -> {
- if (timeInSeconds > 0 && gui.isWithinRect(
- mouseX, mouseY,
- gui.guiLeft + EXTRA_INFO_X - EXTRA_INFO_MAX_WIDTH / 2,
- gui.guiTop + EXTRA_INFO_Y - 8,
- EXTRA_INFO_MAX_WIDTH, 16
- )) {
- int qf = hotmTree.getLevel("forge_time");
- int reducedTime = getReducedTime(qf);
- if (qf > 0) {
-
- Utils.drawHoveringText(Arrays.asList(EnumChatFormatting.YELLOW + formatDuration(reducedTime) + " with Quick Forge (Level " + qf + ")"), mouseX, mouseY, gui.width, gui.height, 500, Minecraft.getMinecraft().fontRendererObj);
- }
- }
- });
- }
-
- public int getReducedTime(int quickForgeUpgradeLevel) {
- return HotmInformation.getQuickForgeMultiplier(quickForgeUpgradeLevel) * timeInSeconds / 1000;
- }
-
- @Override
- public JsonObject serialize() {
- JsonObject object = new JsonObject();
- JsonArray ingredients = new JsonArray();
- for (Ingredient input : inputs) {
- ingredients.add(new JsonPrimitive(input.serialize()));
- }
- object.addProperty("type", "forge");
- object.add("inputs", ingredients);
- object.addProperty("count", output.getCount());
- object.addProperty("overrideOutputId", output.getInternalItemId());
- if (hotmLevel >= 0)
- object.addProperty("hotmLevel", hotmLevel);
- if (timeInSeconds >= 0)
- object.addProperty("duration", timeInSeconds);
- return object;
- }
-
- static ForgeRecipe parseForgeRecipe(NEUManager manager, JsonObject recipe, JsonObject output) {
- List<Ingredient> ingredients = new ArrayList<>();
- for (JsonElement element : recipe.getAsJsonArray("inputs")) {
- String ingredientString = element.getAsString();
- ingredients.add(new Ingredient(manager, ingredientString));
- }
- String internalItemId = output.get("internalname").getAsString();
- if (recipe.has("overrideOutputId"))
- internalItemId = recipe.get("overrideOutputId").getAsString();
- int resultCount = 1;
- if (recipe.has("count")) {
- resultCount = recipe.get("count").getAsInt();
- }
- int duration = -1;
- if (recipe.has("duration")) {
- duration = recipe.get("duration").getAsInt();
- }
- int hotmLevel = -1;
- if (recipe.has("hotmLevel")) {
- hotmLevel = recipe.get("hotmLevel").getAsInt();
- }
- return new ForgeRecipe(manager, ingredients, new Ingredient(manager, internalItemId, resultCount), duration, hotmLevel);
- }
-
- private static final int RECIPE_CENTER_X = 49;
- private static final int RECIPE_CENTER_Y = 74;
- private static final int SLOT_DISTANCE_FROM_CENTER = 30;
- private static final int RECIPE_FALLBACK_X = 20;
- private static final int RECIPE_FALLBACK_Y = 15;
-
- static int[] getSlotCoordinates(int slotNumber, int totalSlotCount) {
- if (totalSlotCount > 8) {
- return new int[]{
- RECIPE_FALLBACK_X + (slotNumber % 4) * GuiItemRecipe.SLOT_SPACING,
- RECIPE_FALLBACK_Y + (slotNumber / 4) * GuiItemRecipe.SLOT_SPACING,
- };
- }
- if (totalSlotCount == 1) {
- return new int[]{
- RECIPE_CENTER_X - GuiItemRecipe.SLOT_SIZE / 2,
- RECIPE_CENTER_Y - GuiItemRecipe.SLOT_SIZE / 2
- };
- }
- double rad = Math.PI * 2 * slotNumber / totalSlotCount;
- int x = (int) (Math.cos(rad) * SLOT_DISTANCE_FROM_CENTER);
- int y = (int) (Math.sin(rad) * SLOT_DISTANCE_FROM_CENTER);
- return new int[]{RECIPE_CENTER_X + x - GuiItemRecipe.SLOT_SIZE / 2, RECIPE_CENTER_Y + y - GuiItemRecipe.SLOT_SIZE / 2};
- }
-
- static String formatDuration(int seconds) {
- int minutes = seconds / 60;
- seconds %= 60;
- int hours = minutes / 60;
- minutes %= 60;
- int days = hours / 24;
- hours %= 24;
- StringBuilder sB = new StringBuilder();
- if (days != 0) sB.append(days).append("d ");
- if (hours != 0) sB.append(hours).append("h ");
- if (minutes != 0) sB.append(minutes).append("m ");
- if (seconds != 0) sB.append(seconds).append("s ");
- return sB.substring(0, sB.length() - 1);
- }
+ private static final ResourceLocation BACKGROUND = new ResourceLocation(
+ "notenoughupdates",
+ "textures/gui/forge_recipe_tall.png"
+ );
+
+ private static final int SLOT_IMAGE_U = 176;
+ private static final int SLOT_IMAGE_V = 0;
+ private static final int SLOT_IMAGE_SIZE = 18;
+ private static final int SLOT_PADDING = 1;
+ private static final int EXTRA_INFO_MAX_WIDTH = 75;
+ public static final int EXTRA_INFO_X = 132;
+ public static final int EXTRA_INFO_Y = 55;
+
+ public enum ForgeType {
+ REFINING, ITEM_FORGING
+ }
+
+ private final NEUManager manager;
+ private final List<Ingredient> inputs;
+ private final Ingredient output;
+ private final int hotmLevel;
+ private final int timeInSeconds; // TODO: quick forge
+ private List<RecipeSlot> slots;
+
+ public ForgeRecipe(
+ NEUManager manager,
+ List<Ingredient> inputs,
+ Ingredient output,
+ int durationInSeconds,
+ int hotmLevel
+ ) {
+ this.manager = manager;
+ this.inputs = inputs;
+ this.output = output;
+ this.hotmLevel = hotmLevel;
+ this.timeInSeconds = durationInSeconds;
+ }
+
+ public List<Ingredient> getInputs() {
+ return inputs;
+ }
+
+ public Ingredient getOutput() {
+ return output;
+ }
+
+ public int getHotmLevel() {
+ return hotmLevel;
+ }
+
+ public int getTimeInSeconds() {
+ return timeInSeconds;
+ }
+
+ @Override
+ public ResourceLocation getBackground() {
+ return BACKGROUND;
+ }
+
+ @Override
+ public RecipeType getType() {
+ return RecipeType.FORGE;
+ }
+
+ @Override
+ public Set<Ingredient> getIngredients() {
+ return Sets.newHashSet(inputs);
+ }
+
+ @Override
+ public boolean hasVariableCost() {
+ return false;
+ }
+
+ @Override
+ public Set<Ingredient> getOutputs() {
+ return Collections.singleton(output);
+ }
+
+ @Override
+ public List<RecipeSlot> getSlots() {
+ if (slots != null) return slots;
+ slots = new ArrayList<>();
+ for (int i = 0; i < inputs.size(); i++) {
+ Ingredient input = inputs.get(i);
+ ItemStack itemStack = input.getItemStack();
+ if (itemStack == null) continue;
+ int[] slotCoordinates = getSlotCoordinates(i, inputs.size());
+ slots.add(new RecipeSlot(slotCoordinates[0], slotCoordinates[1], itemStack));
+ }
+ slots.add(new RecipeSlot(124, 66, output.getItemStack()));
+ return slots;
+ }
+
+ @Override
+ public void drawExtraBackground(GuiItemRecipe gui, int mouseX, int mouseY) {
+ Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND);
+ for (int i = 0; i < inputs.size(); i++) {
+ int[] slotCoordinates = getSlotCoordinates(i, inputs.size());
+ gui.drawTexturedModalRect(
+ gui.guiLeft + slotCoordinates[0] - SLOT_PADDING, gui.guiTop + slotCoordinates[1] - SLOT_PADDING,
+ SLOT_IMAGE_U, SLOT_IMAGE_V,
+ SLOT_IMAGE_SIZE, SLOT_IMAGE_SIZE
+ );
+ }
+ }
+
+ @Override
+ public void drawExtraInfo(GuiItemRecipe gui, int mouseX, int mouseY) {
+ FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
+ if (timeInSeconds > 0)
+ Utils.drawStringCenteredScaledMaxWidth(
+ formatDuration(timeInSeconds),
+ fontRenderer,
+ gui.guiLeft + EXTRA_INFO_X,
+ gui.guiTop + EXTRA_INFO_Y,
+ false,
+ EXTRA_INFO_MAX_WIDTH,
+ 0xff00ff
+ );
+ }
+
+ @Override
+ public void drawHoverInformation(GuiItemRecipe gui, int mouseX, int mouseY) {
+ manager.hotm.getInformationOnCurrentProfile().ifPresent(hotmTree -> {
+ if (timeInSeconds > 0 && gui.isWithinRect(
+ mouseX, mouseY,
+ gui.guiLeft + EXTRA_INFO_X - EXTRA_INFO_MAX_WIDTH / 2,
+ gui.guiTop + EXTRA_INFO_Y - 8,
+ EXTRA_INFO_MAX_WIDTH, 16
+ )) {
+ int qf = hotmTree.getLevel("forge_time");
+ int reducedTime = getReducedTime(qf);
+ if (qf > 0) {
+
+ Utils.drawHoveringText(
+ Arrays.asList(
+ EnumChatFormatting.YELLOW + formatDuration(reducedTime) + " with Quick Forge (Level " + qf + ")"),
+ mouseX,
+ mouseY,
+ gui.width,
+ gui.height,
+ 500,
+ Minecraft.getMinecraft().fontRendererObj
+ );
+ }
+ }
+ });
+ }
+
+ public int getReducedTime(int quickForgeUpgradeLevel) {
+ return HotmInformation.getQuickForgeMultiplier(quickForgeUpgradeLevel) * timeInSeconds / 1000;
+ }
+
+ @Override
+ public JsonObject serialize() {
+ JsonObject object = new JsonObject();
+ JsonArray ingredients = new JsonArray();
+ for (Ingredient input : inputs) {
+ ingredients.add(new JsonPrimitive(input.serialize()));
+ }
+ object.addProperty("type", "forge");
+ object.add("inputs", ingredients);
+ object.addProperty("count", output.getCount());
+ object.addProperty("overrideOutputId", output.getInternalItemId());
+ if (hotmLevel >= 0)
+ object.addProperty("hotmLevel", hotmLevel);
+ if (timeInSeconds >= 0)
+ object.addProperty("duration", timeInSeconds);
+ return object;
+ }
+
+ static ForgeRecipe parseForgeRecipe(NEUManager manager, JsonObject recipe, JsonObject output) {
+ List<Ingredient> ingredients = new ArrayList<>();
+ for (JsonElement element : recipe.getAsJsonArray("inputs")) {
+ String ingredientString = element.getAsString();
+ ingredients.add(new Ingredient(manager, ingredientString));
+ }
+ String internalItemId = output.get("internalname").getAsString();
+ if (recipe.has("overrideOutputId"))
+ internalItemId = recipe.get("overrideOutputId").getAsString();
+ int resultCount = 1;
+ if (recipe.has("count")) {
+ resultCount = recipe.get("count").getAsInt();
+ }
+ int duration = -1;
+ if (recipe.has("duration")) {
+ duration = recipe.get("duration").getAsInt();
+ }
+ int hotmLevel = -1;
+ if (recipe.has("hotmLevel")) {
+ hotmLevel = recipe.get("hotmLevel").getAsInt();
+ }
+ return new ForgeRecipe(
+ manager,
+ ingredients,
+ new Ingredient(manager, internalItemId, resultCount),
+ duration,
+ hotmLevel
+ );
+ }
+
+ private static final int RECIPE_CENTER_X = 49;
+ private static final int RECIPE_CENTER_Y = 74;
+ private static final int SLOT_DISTANCE_FROM_CENTER = 30;
+ private static final int RECIPE_FALLBACK_X = 20;
+ private static final int RECIPE_FALLBACK_Y = 15;
+
+ static int[] getSlotCoordinates(int slotNumber, int totalSlotCount) {
+ if (totalSlotCount > 8) {
+ return new int[]{
+ RECIPE_FALLBACK_X + (slotNumber % 4) * GuiItemRecipe.SLOT_SPACING,
+ RECIPE_FALLBACK_Y + (slotNumber / 4) * GuiItemRecipe.SLOT_SPACING,
+ };
+ }
+ if (totalSlotCount == 1) {
+ return new int[]{
+ RECIPE_CENTER_X - GuiItemRecipe.SLOT_SIZE / 2,
+ RECIPE_CENTER_Y - GuiItemRecipe.SLOT_SIZE / 2
+ };
+ }
+ double rad = Math.PI * 2 * slotNumber / totalSlotCount;
+ int x = (int) (Math.cos(rad) * SLOT_DISTANCE_FROM_CENTER);
+ int y = (int) (Math.sin(rad) * SLOT_DISTANCE_FROM_CENTER);
+ return new int[]{
+ RECIPE_CENTER_X + x - GuiItemRecipe.SLOT_SIZE / 2,
+ RECIPE_CENTER_Y + y - GuiItemRecipe.SLOT_SIZE / 2
+ };
+ }
+
+ static String formatDuration(int seconds) {
+ int minutes = seconds / 60;
+ seconds %= 60;
+ int hours = minutes / 60;
+ minutes %= 60;
+ int days = hours / 24;
+ hours %= 24;
+ StringBuilder sB = new StringBuilder();
+ if (days != 0) sB.append(days).append("d ");
+ if (hours != 0) sB.append(hours).append("h ");
+ if (minutes != 0) sB.append(minutes).append("m ");
+ if (seconds != 0) sB.append(seconds).append("s ");
+ return sB.substring(0, sB.length() - 1);
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/Ingredient.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/Ingredient.java
index c4928605..c973f8c0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/Ingredient.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/Ingredient.java
@@ -1,10 +1,27 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.gson.JsonObject;
import io.github.moulberry.notenoughupdates.NEUManager;
import io.github.moulberry.notenoughupdates.util.ItemUtils;
-import io.github.moulberry.notenoughupdates.util.Utils;
-import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import java.util.HashMap;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java
index 778f156f..235ba3ce 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.common.collect.Sets;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java
index a65bfec2..0d891071 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.common.collect.Sets;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java
index 04945cc5..a0090050 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeGenerator.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeGenerator.java
index 3e3b06b1..d63ea42c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeGenerator.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeGenerator.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.gson.JsonArray;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeSlot.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeSlot.java
index 61f8ef27..489485e4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeSlot.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeSlot.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import io.github.moulberry.notenoughupdates.miscgui.GuiItemRecipe;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java
index 023b20eb..de9c869f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.gson.JsonObject;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java
index 10eb96a5..9bb79604 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.recipes;
import com.google.common.collect.Sets;
@@ -17,134 +36,151 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.util.ResourceLocation;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
public class VillagerTradeRecipe implements NeuRecipe {
- public static final int COST_SLOT_X = 52;
- public static final int COST_SLOT_Y = 66;
- public static final int RESULT_SLOT_Y = 66;
- public static final int RESULT_SLOT_X = 124;
-
- private static class Holder { // This holder object exists to defer initialization to first access
- private static final GameProfile DREAM_PROFILE = new GameProfile(UUID.fromString("ec70bcaf-702f-4bb8-b48d-276fa52a780c"), "Dream");
- private static final EntityLivingBase DEMO_DREAM = new AbstractClientPlayer(null, DREAM_PROFILE) {
- @Override
- protected NetworkPlayerInfo getPlayerInfo() {
- return new NetworkPlayerInfo(DREAM_PROFILE) {
- @Override
- public ResourceLocation getLocationSkin() {
- return new ResourceLocation("notenoughupdates", "dreamskin.png");
- }
- };
- }
- };
- private static final EntityLivingBase DEMO_VILLAGER = new EntityVillager(null);
-
- private static boolean isAprilFirst() {
- Calendar cal = Calendar.getInstance();
- return cal.get(Calendar.DAY_OF_MONTH) == 1 && cal.get(Calendar.MONTH) == Calendar.APRIL;
- }
-
- private static final EntityLivingBase DEMO_ENTITY = isAprilFirst() ? DEMO_DREAM : DEMO_VILLAGER;
-
- }
-
- private final static ResourceLocation BACKGROUND = new ResourceLocation("notenoughupdates", "textures/gui/villager_recipe_tall.png");
-
- private final Ingredient result;
- private final Ingredient cost;
- private final int minCost, maxCost;
-
- public VillagerTradeRecipe(Ingredient result, Ingredient cost, int minCost, int maxCost) {
- this.result = result;
- this.cost = cost;
- this.minCost = minCost;
- this.maxCost = maxCost;
- }
-
- public VillagerTradeRecipe(Ingredient result, Ingredient cost) {
- this(result, cost, -1, -1);
- }
-
- public boolean hasVariableCost() {
- return minCost != -1 && maxCost != -1;
- }
-
- @Override
- public RecipeType getType() {
- return RecipeType.TRADE;
- }
-
- @Override
- public Set<Ingredient> getIngredients() {
- return Sets.newHashSet(cost);
- }
-
- @Override
- public Set<Ingredient> getOutputs() {
- return Sets.newHashSet(result);
- }
-
- @Override
- public List<RecipeSlot> getSlots() {
- return Arrays.asList(
- new RecipeSlot(COST_SLOT_X, COST_SLOT_Y, cost.getItemStack()),
- new RecipeSlot(RESULT_SLOT_X, RESULT_SLOT_Y, result.getItemStack())
- );
- }
-
- @Override
- public boolean shouldUseForCraftCost() {
- return false;
- }
-
- @Override
- public boolean isAvailable() {
- return SBInfo.getInstance().getCurrentMode() == SBInfo.Gamemode.STRANDED || NotEnoughUpdates.INSTANCE.config.hidden.dev;
- }
-
- @Override
- public void drawExtraInfo(GuiItemRecipe gui, int mouseX, int mouseY) {
- if (hasVariableCost()) {
- FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
- Utils.drawStringCenteredScaledMaxWidth(
- minCost + " - " + maxCost, fontRenderer,
- gui.guiLeft + 50, gui.guiTop + 90, false, 75, 0xff00ff);
-
- }
- }
-
- @Override
- public void drawExtraBackground(GuiItemRecipe gui, int mouseX, int mouseY) {
- GuiInventory.drawEntityOnScreen(gui.guiLeft + 90, gui.guiTop + 100, 30, gui.guiLeft - mouseX + 110, gui.guiTop + 60 - mouseY, Holder.DEMO_ENTITY);
- }
-
- @Override
- public JsonObject serialize() {
- JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty("type", "trade");
- jsonObject.addProperty("result", result.serialize());
- jsonObject.addProperty("cost", cost.serialize());
- if (minCost > 0)
- jsonObject.addProperty("min", minCost);
- if (maxCost > 0)
- jsonObject.addProperty("max", maxCost);
- return jsonObject;
- }
-
- @Override
- public ResourceLocation getBackground() {
- return BACKGROUND;
- }
-
- public static VillagerTradeRecipe parseStaticRecipe(NEUManager manager, JsonObject recipe, JsonObject result) {
- return new VillagerTradeRecipe(
- new Ingredient(manager, recipe.get("result").getAsString()),
- new Ingredient(manager, recipe.get("cost").getAsString()),
- recipe.has("min") ? recipe.get("min").getAsInt() : -1,
- recipe.has("max") ? recipe.get("max").getAsInt() : -1
- );
- }
+ public static final int COST_SLOT_X = 52;
+ public static final int COST_SLOT_Y = 66;
+ public static final int RESULT_SLOT_Y = 66;
+ public static final int RESULT_SLOT_X = 124;
+
+ private static class Holder { // This holder object exists to defer initialization to first access
+ private static final GameProfile DREAM_PROFILE = new GameProfile(UUID.fromString(
+ "ec70bcaf-702f-4bb8-b48d-276fa52a780c"), "Dream");
+ private static final EntityLivingBase DEMO_DREAM = new AbstractClientPlayer(null, DREAM_PROFILE) {
+ @Override
+ protected NetworkPlayerInfo getPlayerInfo() {
+ return new NetworkPlayerInfo(DREAM_PROFILE) {
+ @Override
+ public ResourceLocation getLocationSkin() {
+ return new ResourceLocation("notenoughupdates", "dreamskin.png");
+ }
+ };
+ }
+ };
+ private static final EntityLivingBase DEMO_VILLAGER = new EntityVillager(null);
+
+ private static boolean isAprilFirst() {
+ Calendar cal = Calendar.getInstance();
+ return cal.get(Calendar.DAY_OF_MONTH) == 1 && cal.get(Calendar.MONTH) == Calendar.APRIL;
+ }
+
+ private static final EntityLivingBase DEMO_ENTITY = isAprilFirst() ? DEMO_DREAM : DEMO_VILLAGER;
+
+ }
+
+ private final static ResourceLocation BACKGROUND = new ResourceLocation(
+ "notenoughupdates",
+ "textures/gui/villager_recipe_tall.png"
+ );
+
+ private final Ingredient result;
+ private final Ingredient cost;
+ private final int minCost, maxCost;
+
+ public VillagerTradeRecipe(Ingredient result, Ingredient cost, int minCost, int maxCost) {
+ this.result = result;
+ this.cost = cost;
+ this.minCost = minCost;
+ this.maxCost = maxCost;
+ }
+
+ public VillagerTradeRecipe(Ingredient result, Ingredient cost) {
+ this(result, cost, -1, -1);
+ }
+
+ public boolean hasVariableCost() {
+ return minCost != -1 && maxCost != -1;
+ }
+
+ @Override
+ public RecipeType getType() {
+ return RecipeType.TRADE;
+ }
+
+ @Override
+ public Set<Ingredient> getIngredients() {
+ return Sets.newHashSet(cost);
+ }
+
+ @Override
+ public Set<Ingredient> getOutputs() {
+ return Sets.newHashSet(result);
+ }
+
+ @Override
+ public List<RecipeSlot> getSlots() {
+ return Arrays.asList(
+ new RecipeSlot(COST_SLOT_X, COST_SLOT_Y, cost.getItemStack()),
+ new RecipeSlot(RESULT_SLOT_X, RESULT_SLOT_Y, result.getItemStack())
+ );
+ }
+
+ @Override
+ public boolean shouldUseForCraftCost() {
+ return false;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return SBInfo.getInstance().getCurrentMode() == SBInfo.Gamemode.STRANDED ||
+ NotEnoughUpdates.INSTANCE.config.hidden.dev;
+ }
+
+ @Override
+ public void drawExtraInfo(GuiItemRecipe gui, int mouseX, int mouseY) {
+ if (hasVariableCost()) {
+ FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
+ Utils.drawStringCenteredScaledMaxWidth(
+ minCost + " - " + maxCost, fontRenderer,
+ gui.guiLeft + 50, gui.guiTop + 90, false, 75, 0xff00ff
+ );
+
+ }
+ }
+
+ @Override
+ public void drawExtraBackground(GuiItemRecipe gui, int mouseX, int mouseY) {
+ GuiInventory.drawEntityOnScreen(
+ gui.guiLeft + 90,
+ gui.guiTop + 100,
+ 30,
+ gui.guiLeft - mouseX + 110,
+ gui.guiTop + 60 - mouseY,
+ Holder.DEMO_ENTITY
+ );
+ }
+
+ @Override
+ public JsonObject serialize() {
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("type", "trade");
+ jsonObject.addProperty("result", result.serialize());
+ jsonObject.addProperty("cost", cost.serialize());
+ if (minCost > 0)
+ jsonObject.addProperty("min", minCost);
+ if (maxCost > 0)
+ jsonObject.addProperty("max", maxCost);
+ return jsonObject;
+ }
+
+ @Override
+ public ResourceLocation getBackground() {
+ return BACKGROUND;
+ }
+
+ public static VillagerTradeRecipe parseStaticRecipe(NEUManager manager, JsonObject recipe, JsonObject result) {
+ return new VillagerTradeRecipe(
+ new Ingredient(manager, recipe.get("result").getAsString()),
+ new Ingredient(manager, recipe.get("cost").getAsString()),
+ recipe.has("min") ? recipe.get("min").getAsInt() : -1,
+ recipe.has("max") ? recipe.get("max").getAsInt() : -1
+ );
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/AllowEmptyHTMLTag.java b/src/main/java/io/github/moulberry/notenoughupdates/util/AllowEmptyHTMLTag.java
index b7fc55e4..5c223605 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/AllowEmptyHTMLTag.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/AllowEmptyHTMLTag.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import info.bliki.htmlcleaner.TagNode;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
index 4c421f3e..3230714a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.gson.Gson;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Debouncer.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Debouncer.java
index 15808a29..ec076a77 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/Debouncer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Debouncer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
/**
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/DiscordMarkdownBuilder.java b/src/main/java/io/github/moulberry/notenoughupdates/util/DiscordMarkdownBuilder.java
index 1c78f924..3c6c5f3d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/DiscordMarkdownBuilder.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/DiscordMarkdownBuilder.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
public class DiscordMarkdownBuilder {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/GuiTextures.java b/src/main/java/io/github/moulberry/notenoughupdates/util/GuiTextures.java
index ba57537e..3ead5a56 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/GuiTextures.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/GuiTextures.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import net.minecraft.util.ResourceLocation;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/HastebinUploader.java b/src/main/java/io/github/moulberry/notenoughupdates/util/HastebinUploader.java
index 9cbad402..27993510 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/HastebinUploader.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/HastebinUploader.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.gson.Gson;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/HotmInformation.java b/src/main/java/io/github/moulberry/notenoughupdates/util/HotmInformation.java
index 800c025a..5d7bfa6d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/HotmInformation.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/HotmInformation.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.gson.JsonArray;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java b/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java
index 937a0ab8..3e38fd2e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.gson.Gson;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java
index 729e68bd..6abcc33d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java
index 5ee1dda1..2e2977cc 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.gson.JsonArray;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java b/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java
index a034fa8d..e2bfa711 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/LerpingFloat.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
public class LerpingFloat {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/NEUDebugLogger.java b/src/main/java/io/github/moulberry/notenoughupdates/util/NEUDebugLogger.java
index 827a3e97..230b8ae5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/NEUDebugLogger.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/NEUDebugLogger.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -6,8 +25,6 @@ import net.minecraft.client.Minecraft;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
-import java.util.Collections;
-import java.util.EnumSet;
import java.util.function.Consumer;
public class NEUDebugLogger {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/NEUResourceManager.java b/src/main/java/io/github/moulberry/notenoughupdates/util/NEUResourceManager.java
index 3ef40567..af681f2d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/NEUResourceManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/NEUResourceManager.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import net.minecraft.client.resources.IResource;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/NotificationHandler.java b/src/main/java/io/github/moulberry/notenoughupdates/util/NotificationHandler.java
index 492c1dd7..c64fdb56 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/NotificationHandler.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/NotificationHandler.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import io.github.moulberry.notenoughupdates.core.util.render.RenderUtils;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/ProfileApiSyncer.java b/src/main/java/io/github/moulberry/notenoughupdates/util/ProfileApiSyncer.java
index 439ad571..b90e8087 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/ProfileApiSyncer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/ProfileApiSyncer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/RequestFocusListener.java b/src/main/java/io/github/moulberry/notenoughupdates/util/RequestFocusListener.java
index 3df5d9f1..092c8564 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/RequestFocusListener.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/RequestFocusListener.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import javax.swing.*;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/ReverseWorldRenderer.java b/src/main/java/io/github/moulberry/notenoughupdates/util/ReverseWorldRenderer.java
index c517bd08..634c94b6 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/ReverseWorldRenderer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/ReverseWorldRenderer.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.common.primitives.Floats;
@@ -9,10 +28,13 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.logging.log4j.LogManager;
-import java.nio.*;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.FloatBuffer;
+import java.nio.IntBuffer;
+import java.nio.ShortBuffer;
import java.util.Arrays;
import java.util.BitSet;
-import java.util.Comparator;
@SideOnly(Side.CLIENT)
public class ReverseWorldRenderer {
@@ -564,4 +586,4 @@ public class ReverseWorldRenderer {
return this.stateVertexFormat;
}
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/SBInfo.java b/src/main/java/io/github/moulberry/notenoughupdates/util/SBInfo.java
index 6519d547..9419be4f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/SBInfo.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/SBInfo.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.common.reflect.TypeToken;
@@ -37,7 +56,12 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -369,7 +393,9 @@ public class SBInfo {
for (String line : lines) {
if (line.contains("⏣")) {
String l = Utils.cleanColour(line).replaceAll("[^A-Za-z0-9() ]", "").trim();
- if(!l.equals(location)) { new ScoreboardLocationChangeListener(location, l); }
+ if (!l.equals(location)) {
+ new ScoreboardLocationChangeListener(location, l);
+ }
location = l;
break;
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/SkytilsCompat.java b/src/main/java/io/github/moulberry/notenoughupdates/util/SkytilsCompat.java
index 5bc5d13c..97c11fe2 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/SkytilsCompat.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/SkytilsCompat.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import net.minecraft.item.ItemStack;
@@ -6,7 +25,6 @@ import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-
public class SkytilsCompat {
// Defer static initialization
private static class Holder {
@@ -49,7 +67,7 @@ public class SkytilsCompat {
);
isSkytilsFullyPresent = true;
} catch (ClassNotFoundException | NoSuchMethodException | NoSuchFieldException | IllegalAccessException |
- InvocationTargetException e) {
+ InvocationTargetException e) {
System.err.println("Failed to get Skytils class even tho Skytils mod is present. This is (probably) a NEU bug");
e.printStackTrace();
}
@@ -64,6 +82,7 @@ public class SkytilsCompat {
public static boolean isSkytilsPresent() {
return Holder.isSkytilsPresent;
}
+
public static void renderSkytilsRarity(ItemStack stack, int x, int y) {
renderSkytilsRarity(stack, x, y, false);
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java b/src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java
index 27a40565..e3318e3c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import java.awt.*;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/TexLoc.java b/src/main/java/io/github/moulberry/notenoughupdates/util/TexLoc.java
index b38db88f..bcce86bb 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/TexLoc.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/TexLoc.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import org.lwjgl.input.Keyboard;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java
index 4f420de1..b6447706 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.common.base.Splitter;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/XPInformation.java b/src/main/java/io/github/moulberry/notenoughupdates/util/XPInformation.java
index aef2490e..158f9917 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/XPInformation.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/XPInformation.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.util;
import com.google.common.base.Splitter;
diff --git a/src/main/resources/assets/notenoughupdates/dream.json b/src/main/resources/assets/notenoughupdates/dream.json
index 6f27e89e..9dda86c6 100644
--- a/src/main/resources/assets/notenoughupdates/dream.json
+++ b/src/main/resources/assets/notenoughupdates/dream.json
@@ -1,49 +1,49 @@
{
"entity": "Player",
"modifiers": [
- {
- "type": "playerdata",
- "skin": "notenoughupdates:dreamskin.png"
- },
- {
- "type": "riding",
- "entity": "ArmorStand",
- "modifiers": [
- {
- "type": "age",
- "baby": true
- },
- {
- "type": "riding",
- "entity": "Zombie",
- "modifiers": [
- {
- "type": "equipment",
- "hand": "BOW",
- "feet": "DIAMOND_BOOTS"
- },
- {
- "type": "age",
- "baby": true
- },
- {
- "type": "riding",
- "entity": "Sheep",
- "modifiers": [
- {
- "type": "age",
- "baby": true
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "equipment",
- "hand": "DIAMOND_SWORD",
- "feet": "DIAMOND_BOOTS"
- }
+ {
+ "type": "playerdata",
+ "skin": "notenoughupdates:dreamskin.png"
+ },
+ {
+ "type": "riding",
+ "entity": "ArmorStand",
+ "modifiers": [
+ {
+ "type": "age",
+ "baby": true
+ },
+ {
+ "type": "riding",
+ "entity": "Zombie",
+ "modifiers": [
+ {
+ "type": "equipment",
+ "hand": "BOW",
+ "feet": "DIAMOND_BOOTS"
+ },
+ {
+ "type": "age",
+ "baby": true
+ },
+ {
+ "type": "riding",
+ "entity": "Sheep",
+ "modifiers": [
+ {
+ "type": "age",
+ "baby": true
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "equipment",
+ "hand": "DIAMOND_SWORD",
+ "feet": "DIAMOND_BOOTS"
+ }
]
}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json
index b2625fc5..b21bf2b8 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.21
-} \ No newline at end of file
+ "radiusSq": 0.21
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json
index 8c12699d..42f0d5e6 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.22
-} \ No newline at end of file
+ "radiusSq": 0.22
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json
index 23e86d67..860548cf 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.25
-} \ No newline at end of file
+ "radiusSq": 0.25
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json
index 8c12699d..42f0d5e6 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 0.22
-} \ No newline at end of file
+ "radiusSq": 0.22
+}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json
index 9576ae4f..69245cb7 100644
--- a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json
@@ -1,3 +1,3 @@
{
- "radiusSq": 1
-} \ No newline at end of file
+ "radiusSq": 1
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-1.json
index 5b97e666..981f0029 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-1.json
@@ -1 +1,8 @@
-{"8:7":true,"9:7":true,"9:1":true,"7:8":true,"2:0":true,"8:3":true} \ No newline at end of file
+{
+ "8:7": true,
+ "9:7": true,
+ "9:1": true,
+ "7:8": true,
+ "2:0": true,
+ "8:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-2.json
index ec49e91c..05e5c008 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-2.json
@@ -1 +1,16 @@
-{"12:11":189,"14:9":true,"15:7":true,"9:15":true,"13:10":188,"10:10":185,"7:13":184,"15:8":true,"14:8":true,"8:12":184,"1:14":true,"14:10":189,"13:11":189,"4:12":true} \ No newline at end of file
+{
+ "12:11": 189,
+ "14:9": true,
+ "15:7": true,
+ "9:15": true,
+ "13:10": 188,
+ "10:10": 185,
+ "7:13": 184,
+ "15:8": true,
+ "14:8": true,
+ "8:12": 184,
+ "1:14": true,
+ "14:10": 189,
+ "13:11": 189,
+ "4:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-3.json
index 70660f8d..1763c9aa 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-3.json
@@ -1 +1,14 @@
-{"1:5":true,"0:6":true,"0:4":true,"1:6":[177,178],"1:4":true,"0:7":[177,179]} \ No newline at end of file
+{
+ "1:5": true,
+ "0:6": true,
+ "0:4": true,
+ "1:6": [
+ 177,
+ 178
+ ],
+ "1:4": true,
+ "0:7": [
+ 177,
+ 179
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-4.json
index 16206a50..1956eeb5 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-4.json
@@ -1 +1,36 @@
-{"6:0":true,"1:11":[199,201],"10:4":true,"10:3":true,"7:2":true,"2:9":true,"10:2":true,"0:10":[199,217],"3:12":199,"2:8":true,"7:0":true,"6:2":true,"2:11":true,"15:4":true,"2:12":[169,200],"15:3":true,"6:1":true,"15:2":true,"2:14":[169,172],"15:13":true,"2:10":true,"7:1":true} \ No newline at end of file
+{
+ "6:0": true,
+ "1:11": [
+ 199,
+ 201
+ ],
+ "10:4": true,
+ "10:3": true,
+ "7:2": true,
+ "2:9": true,
+ "10:2": true,
+ "0:10": [
+ 199,
+ 217
+ ],
+ "3:12": 199,
+ "2:8": true,
+ "7:0": true,
+ "6:2": true,
+ "2:11": true,
+ "15:4": true,
+ "2:12": [
+ 169,
+ 200
+ ],
+ "15:3": true,
+ "6:1": true,
+ "15:2": true,
+ "2:14": [
+ 169,
+ 172
+ ],
+ "15:13": true,
+ "2:10": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-5.json
index 897faaee..7f1786f9 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-5.json
@@ -1 +1,12 @@
-{"7:15":true,"6:13":true,"7:13":231,"6:14":true,"6:12":true,"6:15":true,"8:15":true,"7:0":true,"8:0":true,"5:13":true} \ No newline at end of file
+{
+ "7:15": true,
+ "6:13": true,
+ "7:13": 231,
+ "6:14": true,
+ "6:12": true,
+ "6:15": true,
+ "8:15": true,
+ "7:0": true,
+ "8:0": true,
+ "5:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-6.json
index ef35b97d..99a4c6e4 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-6.json
@@ -1 +1,31 @@
-{"12:1":200,"11:5":true,"12:5":true,"11:1":200,"10:12":true,"11:8":true,"12:8":true,"10:10":true,"4:1":true,"11:9":true,"10:0":true,"9:10":true,"5:1":true,"3:2":200,"11:7":true,"12:7":true,"11:0":201,"12:6":true,"10:9":true,"12:0":201,"9:9":true,"13:1":true,"4:2":200,"11:4":true,"9:11":true,"10:5":true,"5:0":true,"10:11":true,"8:15":true} \ No newline at end of file
+{
+ "12:1": 200,
+ "11:5": true,
+ "12:5": true,
+ "11:1": 200,
+ "10:12": true,
+ "11:8": true,
+ "12:8": true,
+ "10:10": true,
+ "4:1": true,
+ "11:9": true,
+ "10:0": true,
+ "9:10": true,
+ "5:1": true,
+ "3:2": 200,
+ "11:7": true,
+ "12:7": true,
+ "11:0": 201,
+ "12:6": true,
+ "10:9": true,
+ "12:0": 201,
+ "9:9": true,
+ "13:1": true,
+ "4:2": 200,
+ "11:4": true,
+ "9:11": true,
+ "10:5": true,
+ "5:0": true,
+ "10:11": true,
+ "8:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-7.json
index d23b3f4b..8c286333 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_-7.json
@@ -1 +1,7 @@
-{"11:15":[202,203],"10:15":true} \ No newline at end of file
+{
+ "11:15": [
+ 202,
+ 203
+ ],
+ "10:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_0.json
index 99a12616..a794f893 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_0.json
@@ -1 +1,27 @@
-{"14:14":true,"4:14":true,"3:13":true,"13:13":true,"10:14":true,"0:13":true,"15:14":true,"11:13":true,"12:13":true,"2:14":true,"1:13":true,"12:14":true,"2:13":true,"1:14":true,"7:13":true,"11:14":true,"15:13":true,"13:14":true,"10:13":true,"5:13":true,"0:14":true,"3:14":true,"14:13":true,"9:13":true,"4:13":true} \ No newline at end of file
+{
+ "14:14": true,
+ "4:14": true,
+ "3:13": true,
+ "13:13": true,
+ "10:14": true,
+ "0:13": true,
+ "15:14": true,
+ "11:13": true,
+ "12:13": true,
+ "2:14": true,
+ "1:13": true,
+ "12:14": true,
+ "2:13": true,
+ "1:14": true,
+ "7:13": true,
+ "11:14": true,
+ "15:13": true,
+ "13:14": true,
+ "10:13": true,
+ "5:13": true,
+ "0:14": true,
+ "3:14": true,
+ "14:13": true,
+ "9:13": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_3.json
index 857daba9..8d8fb9d1 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_3.json
@@ -1 +1,101 @@
-{"9:14":true,"2:7":[171,194],"8:8":true,"7:12":[174,176],"10:14":true,"11:11":true,"10:12":true,"6:13":175,"2:9":true,"9:15":184,"9:12":true,"3:6":170,"10:15":true,"7:14":176,"8:7":true,"5:5":true,"7:13":175,"2:8":[192,194],"9:10":true,"4:5":true,"6:14":true,"10:13":true,"8:9":true,"7:10":172,"6:12":176,"1:7":171,"9:13":true,"8:13":174,"2:12":true,"7:7":true,"9:9":true,"8:10":171,"7:9":172,"3:5":true,"0:11":true,"9:7":true,"2:14":true,"7:8":true,"8:12":173,"4:6":true,"2:13":true,"5:6":true,"6:7":true,"8:14":175,"9:8":true,"3:13":true,"1:5":171,"0:13":true,"6:6":true,"8:5":true,"5:7":true,"8:11":172,"4:7":171,"9:6":true,"3:12":true,"0:15":true,"0:12":true,"2:5":[171,192],"0:14":true,"3:14":true,"7:6":true,"4:14":true,"1:6":170,"11:10":true,"6:5":true,"5:14":true,"11:13":true,"5:12":176,"8:6":true,"4:12":true,"3:7":171,"9:11":[173,190],"10:11":true,"11:14":true,"11:12":true,"5:13":true,"7:5":true,"11:15":true,"7:11":173,"4:13":true,"2:6":[170,193]} \ No newline at end of file
+{
+ "9:14": true,
+ "2:7": [
+ 171,
+ 194
+ ],
+ "8:8": true,
+ "7:12": [
+ 174,
+ 176
+ ],
+ "10:14": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": 175,
+ "2:9": true,
+ "9:15": 184,
+ "9:12": true,
+ "3:6": 170,
+ "10:15": true,
+ "7:14": 176,
+ "8:7": true,
+ "5:5": true,
+ "7:13": 175,
+ "2:8": [
+ 192,
+ 194
+ ],
+ "9:10": true,
+ "4:5": true,
+ "6:14": true,
+ "10:13": true,
+ "8:9": true,
+ "7:10": 172,
+ "6:12": 176,
+ "1:7": 171,
+ "9:13": true,
+ "8:13": 174,
+ "2:12": true,
+ "7:7": true,
+ "9:9": true,
+ "8:10": 171,
+ "7:9": 172,
+ "3:5": true,
+ "0:11": true,
+ "9:7": true,
+ "2:14": true,
+ "7:8": true,
+ "8:12": 173,
+ "4:6": true,
+ "2:13": true,
+ "5:6": true,
+ "6:7": true,
+ "8:14": 175,
+ "9:8": true,
+ "3:13": true,
+ "1:5": 171,
+ "0:13": true,
+ "6:6": true,
+ "8:5": true,
+ "5:7": true,
+ "8:11": 172,
+ "4:7": 171,
+ "9:6": true,
+ "3:12": true,
+ "0:15": true,
+ "0:12": true,
+ "2:5": [
+ 171,
+ 192
+ ],
+ "0:14": true,
+ "3:14": true,
+ "7:6": true,
+ "4:14": true,
+ "1:6": 170,
+ "11:10": true,
+ "6:5": true,
+ "5:14": true,
+ "11:13": true,
+ "5:12": 176,
+ "8:6": true,
+ "4:12": true,
+ "3:7": 171,
+ "9:11": [
+ 173,
+ 190
+ ],
+ "10:11": true,
+ "11:14": true,
+ "11:12": true,
+ "5:13": true,
+ "7:5": true,
+ "11:15": true,
+ "7:11": 173,
+ "4:13": true,
+ "2:6": [
+ 170,
+ 193
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_4.json
index 31878b3e..39157aec 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_4.json
@@ -1 +1,95 @@
-{"1:1":true,"11:5":true,"3:0":true,"0:6":true,"0:0":true,"8:1":171,"3:6":true,"5:5":true,"0:2":true,"4:5":true,"3:2":true,"3:4":true,"0:3":true,"3:3":true,"0:4":true,"2:1":true,"11:0":true,"4:3":true,"5:4":true,"5:3":true,"6:1":true,"4:4":true,"3:5":true,"4:2":true,"0:11":true,"5:2":true,"0:5":true,"11:4":true,"9:1":[171,187],"4:6":true,"5:0":true,"10:1":true,"5:6":true,"11:3":true,"4:0":true,"11:2":true,"7:1":true,"9:3":171,"6:0":true,"10:4":true,"10:3":true,"1:5":true,"7:2":true,"6:6":true,"11:1":true,"9:4":171,"8:5":true,"7:4":true,"9:2":171,"10:2":true,"0:10":true,"7:3":true,"9:6":true,"4:1":true,"6:4":true,"10:0":true,"5:1":true,"9:0":[171,185],"6:3":true,"7:0":171,"2:5":true,"6:2":true,"7:6":true,"1:6":true,"6:5":true,"2:2":true,"0:8":true,"1:0":true,"2:4":true,"8:0":171,"0:1":true,"8:6":true,"3:1":true,"2:3":true,"10:5":true,"1:3":true,"9:5":true,"8:2":171,"1:4":true,"0:7":true,"2:0":true,"8:4":true,"1:2":true,"7:5":true,"8:3":true,"0:9":true,"2:6":true} \ No newline at end of file
+{
+ "1:1": true,
+ "11:5": true,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "8:1": 171,
+ "3:6": true,
+ "5:5": true,
+ "0:2": true,
+ "4:5": true,
+ "3:2": true,
+ "3:4": true,
+ "0:3": true,
+ "3:3": true,
+ "0:4": true,
+ "2:1": true,
+ "11:0": true,
+ "4:3": true,
+ "5:4": true,
+ "5:3": true,
+ "6:1": true,
+ "4:4": true,
+ "3:5": true,
+ "4:2": true,
+ "0:11": true,
+ "5:2": true,
+ "0:5": true,
+ "11:4": true,
+ "9:1": [
+ 171,
+ 187
+ ],
+ "4:6": true,
+ "5:0": true,
+ "10:1": true,
+ "5:6": true,
+ "11:3": true,
+ "4:0": true,
+ "11:2": true,
+ "7:1": true,
+ "9:3": 171,
+ "6:0": true,
+ "10:4": true,
+ "10:3": true,
+ "1:5": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": true,
+ "9:4": 171,
+ "8:5": true,
+ "7:4": true,
+ "9:2": 171,
+ "10:2": true,
+ "0:10": true,
+ "7:3": true,
+ "9:6": true,
+ "4:1": true,
+ "6:4": true,
+ "10:0": true,
+ "5:1": true,
+ "9:0": [
+ 171,
+ 185
+ ],
+ "6:3": true,
+ "7:0": 171,
+ "2:5": true,
+ "6:2": true,
+ "7:6": true,
+ "1:6": true,
+ "6:5": true,
+ "2:2": true,
+ "0:8": true,
+ "1:0": true,
+ "2:4": true,
+ "8:0": 171,
+ "0:1": true,
+ "8:6": true,
+ "3:1": true,
+ "2:3": true,
+ "10:5": true,
+ "1:3": true,
+ "9:5": true,
+ "8:2": 171,
+ "1:4": true,
+ "0:7": true,
+ "2:0": true,
+ "8:4": true,
+ "1:2": true,
+ "7:5": true,
+ "8:3": true,
+ "0:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_6.json
index 35cdf158..7520ac2c 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_6.json
@@ -1 +1,219 @@
-{"8:8":true,"6:10":true,"13:13":true,"3:0":true,"3:6":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"3:2":true,"13:14":true,"3:4":true,"8:9":true,"7:10":true,"3:3":true,"0:4":true,"14:14":true,"4:3":true,"5:4":true,"2:12":true,"7:7":true,"5:3":true,"2:15":true,"15:14":true,"9:9":true,"4:4":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"13:1":[152,153],"4:2":true,"15:15":true,"14:12":true,"9:7":true,"5:2":true,"2:14":true,"1:13":true,"0:5":true,"2:13":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:0":true,"5:6":true,"4:0":true,"15:13":true,"1:15":true,"6:7":true,"1:12":true,"9:8":true,"14:13":true,"3:13":true,"1:5":true,"0:13":true,"13:0":true,"14:11":true,"4:1":true,"3:12":true,"0:15":true,"5:1":true,"3:15":true,"0:12":true,"15:11":true,"2:5":true,"0:14":true,"3:14":true,"4:14":true,"1:6":true,"5:14":[159,175],"2:2":true,"5:12":true,"2:4":true,"13:11":true,"4:15":162,"4:12":[162,164],"3:1":true,"5:15":[160,161],"2:3":true,"15:0":[150,151],"1:3":true,"1:4":true,"14:0":true,"2:0":true,"2:6":true,"12:11":true,"9:14":true,"2:7":true,"7:12":true,"10:14":true,"7:15":[165,202],"11:11":true,"10:12":true,"2:9":true,"9:12":true,"8:1":true,"10:15":true,"1:8":true,"7:13":true,"2:8":true,"6:14":[165,173],"10:13":true,"6:12":true,"1:7":true,"6:15":[157,159],"9:13":true,"11:0":true,"8:13":true,"1:10":true,"12:0":true,"6:1":true,"11:4":155,"9:1":true,"8:12":true,"10:1":true,"11:3":[154,156],"12:2":[154,156],"11:2":157,"7:1":true,"12:1":[154,156],"9:3":true,"6:0":true,"10:4":true,"5:9":true,"10:3":156,"7:2":true,"6:6":true,"4:9":true,"11:1":157,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"8:11":true,"4:7":true,"10:2":true,"7:3":true,"9:6":true,"6:4":true,"10:0":true,"10:6":true,"9:0":true,"6:3":true,"7:0":true,"5:8":true,"6:2":true,"7:6":true,"4:8":true,"6:5":true,"3:8":true,"6:11":true,"11:13":true,"8:0":true,"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"3:9":true,"12:12":true,"11:15":true,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "3:0": true,
+ "3:6": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "13:14": true,
+ "3:4": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": true,
+ "0:4": true,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "15:14": true,
+ "9:9": true,
+ "4:4": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": [
+ 152,
+ 153
+ ],
+ "4:2": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "5:2": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "15:13": true,
+ "1:15": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "3:13": true,
+ "1:5": true,
+ "0:13": true,
+ "13:0": true,
+ "14:11": true,
+ "4:1": true,
+ "3:12": true,
+ "0:15": true,
+ "5:1": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "2:5": true,
+ "0:14": true,
+ "3:14": true,
+ "4:14": true,
+ "1:6": true,
+ "5:14": [
+ 159,
+ 175
+ ],
+ "2:2": true,
+ "5:12": true,
+ "2:4": true,
+ "13:11": true,
+ "4:15": 162,
+ "4:12": [
+ 162,
+ 164
+ ],
+ "3:1": true,
+ "5:15": [
+ 160,
+ 161
+ ],
+ "2:3": true,
+ "15:0": [
+ 150,
+ 151
+ ],
+ "1:3": true,
+ "1:4": true,
+ "14:0": true,
+ "2:0": true,
+ "2:6": true,
+ "12:11": true,
+ "9:14": true,
+ "2:7": true,
+ "7:12": true,
+ "10:14": true,
+ "7:15": [
+ 165,
+ 202
+ ],
+ "11:11": true,
+ "10:12": true,
+ "2:9": true,
+ "9:12": true,
+ "8:1": true,
+ "10:15": true,
+ "1:8": true,
+ "7:13": true,
+ "2:8": true,
+ "6:14": [
+ 165,
+ 173
+ ],
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "6:15": [
+ 157,
+ 159
+ ],
+ "9:13": true,
+ "11:0": true,
+ "8:13": true,
+ "1:10": true,
+ "12:0": true,
+ "6:1": true,
+ "11:4": 155,
+ "9:1": true,
+ "8:12": true,
+ "10:1": true,
+ "11:3": [
+ 154,
+ 156
+ ],
+ "12:2": [
+ 154,
+ 156
+ ],
+ "11:2": 157,
+ "7:1": true,
+ "12:1": [
+ 154,
+ 156
+ ],
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": 156,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": 157,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "7:3": true,
+ "9:6": true,
+ "6:4": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "6:5": true,
+ "3:8": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": true,
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_7.json
index 5bfc81a7..a9da93d7 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_7.json
@@ -1 +1,244 @@
-{"1:1":true,"6:10":true,"13:13":true,"3:0":true,"0:6":true,"0:0":true,"3:6":true,"14:1":true,"13:15":true,"10:10":true,"5:5":true,"4:11":true,"0:2":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"3:2":true,"15:1":true,"13:14":true,"3:4":true,"0:3":true,"8:9":true,"2:1":true,"14:14":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"15:14":true,"9:9":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"13:1":true,"4:2":true,"15:15":true,"14:12":true,"9:7":true,"3:11":true,"5:2":true,"0:5":true,"7:8":true,"4:6":true,"5:0":true,"5:6":true,"4:0":true,"15:13":true,"10:8":true,"6:7":true,"9:8":true,"14:13":true,"1:11":true,"1:5":true,"11:8":true,"13:6":true,"13:0":true,"12:8":true,"14:11":true,"4:1":true,"3:12":true,"11:9":true,"15:5":true,"14:5":true,"5:1":true,"15:11":true,"12:9":true,"11:7":true,"2:5":true,"13:4":true,"12:7":true,"2:11":true,"15:4":true,"14:3":true,"1:6":true,"11:10":true,"12:10":true,"2:2":true,"15:3":true,"1:0":true,"14:4":true,"5:12":true,"2:4":true,"14:2":true,"13:11":true,"0:1":true,"15:2":true,"4:12":true,"3:1":true,"13:5":true,"15:0":true,"14:6":true,"1:3":true,"1:4":true,"15:6":true,"14:0":true,"2:0":true,"5:13":true,"1:2":true,"4:13":171,"2:6":true,"15:9":true,"12:11":true,"9:14":true,"11:5":true,"2:7":true,"7:12":true,"12:5":true,"10:14":true,"7:15":[158,170],"14:9":true,"11:11":true,"10:12":true,"6:13":true,"2:9":true,"15:7":true,"9:15":true,"14:7":true,"9:12":true,"8:1":[155,157],"13:10":true,"10:15":true,"7:14":true,"1:8":true,"7:13":true,"2:8":true,"6:14":[157,158],"1:9":true,"15:8":true,"10:13":true,"6:12":true,"1:7":true,"14:8":true,"9:13":true,"11:0":true,"12:6":true,"8:13":true,"13:8":true,"12:0":true,"6:1":true,"12:3":true,"11:4":true,"9:1":[162,202],"15:10":true,"14:10":true,"13:7":true,"12:4":true,"11:3":[172,202],"8:15":true,"2:10":true,"11:2":[180,195],"8:14":true,"13:9":true,"7:1":true,"12:1":[148,151],"9:3":true,"6:0":true,"10:4":true,"10:3":true,"7:2":true,"6:6":true,"4:9":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"8:11":true,"4:7":true,"10:2":[162,202],"0:10":true,"7:3":true,"6:4":true,"6:3":true,"7:0":true,"5:8":true,"6:2":true,"7:6":true,"4:8":true,"6:5":true,"3:8":true,"0:8":true,"6:11":true,"11:13":true,"8:0":[162,202],"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":true,"0:7":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"3:9":true,"12:12":true,"11:15":true,"8:3":true,"0:9":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "6:10": true,
+ "13:13": true,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "3:6": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "2:1": true,
+ "14:14": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "15:14": true,
+ "9:9": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "0:5": true,
+ "7:8": true,
+ "4:6": true,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "15:13": true,
+ "10:8": true,
+ "6:7": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "1:5": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "12:8": true,
+ "14:11": true,
+ "4:1": true,
+ "3:12": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "15:11": true,
+ "12:9": true,
+ "11:7": true,
+ "2:5": true,
+ "13:4": true,
+ "12:7": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "2:2": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "5:12": true,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "0:1": true,
+ "15:2": true,
+ "4:12": true,
+ "3:1": true,
+ "13:5": true,
+ "15:0": true,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": true,
+ "5:13": true,
+ "1:2": true,
+ "4:13": 171,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "2:7": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": [
+ 158,
+ 170
+ ],
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": [
+ 155,
+ 157
+ ],
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "7:13": true,
+ "2:8": true,
+ "6:14": [
+ 157,
+ 158
+ ],
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "14:8": true,
+ "9:13": true,
+ "11:0": true,
+ "12:6": true,
+ "8:13": true,
+ "13:8": true,
+ "12:0": true,
+ "6:1": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": [
+ 162,
+ 202
+ ],
+ "15:10": true,
+ "14:10": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": [
+ 172,
+ 202
+ ],
+ "8:15": true,
+ "2:10": true,
+ "11:2": [
+ 180,
+ 195
+ ],
+ "8:14": true,
+ "13:9": true,
+ "7:1": true,
+ "12:1": [
+ 148,
+ 151
+ ],
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "10:3": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": [
+ 162,
+ 202
+ ],
+ "0:10": true,
+ "7:3": true,
+ "6:4": true,
+ "6:3": true,
+ "7:0": true,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "6:5": true,
+ "3:8": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": [
+ 162,
+ 202
+ ],
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": true,
+ "0:7": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_8.json
index d6f006c3..d419dc47 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-10_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-10_8.json
@@ -1 +1,89 @@
-{"15:9":true,"12:11":true,"11:5":true,"13:13":true,"12:5":true,"14:9":true,"15:7":true,"14:7":true,"14:1":true,"13:15":true,"10:10":true,"13:12":true,"15:1":true,"15:8":true,"14:8":true,"11:0":true,"14:14":true,"12:6":true,"10:9":true,"13:8":true,"15:14":true,"12:0":true,"11:6":true,"10:7":true,"15:12":true,"14:15":true,"13:1":true,"15:15":true,"14:12":true,"9:7":151,"12:3":true,"11:4":true,"9:1":true,"15:10":true,"14:10":true,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"15:13":true,"12:2":true,"10:8":true,"11:2":true,"13:9":true,"14:13":true,"12:1":true,"10:3":true,"11:1":true,"11:8":true,"13:6":true,"13:0":true,"10:2":true,"12:8":true,"14:11":true,"13:2":true,"9:6":151,"11:9":true,"15:5":true,"10:0":true,"14:5":true,"10:6":true,"15:11":true,"12:9":true,"9:0":true,"13:3":true,"11:7":true,"13:4":true,"15:4":true,"14:3":true,"11:10":true,"12:10":true,"15:3":true,"14:4":true,"8:0":[158,170],"14:2":true,"13:11":true,"15:2":true,"13:5":true,"15:0":true,"14:6":true,"15:6":true,"14:0":true,"12:15":true,"12:12":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "11:5": true,
+ "13:13": true,
+ "12:5": true,
+ "14:9": true,
+ "15:7": true,
+ "14:7": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "13:12": true,
+ "15:1": true,
+ "15:8": true,
+ "14:8": true,
+ "11:0": true,
+ "14:14": true,
+ "12:6": true,
+ "10:9": true,
+ "13:8": true,
+ "15:14": true,
+ "12:0": true,
+ "11:6": true,
+ "10:7": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": 151,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "15:13": true,
+ "12:2": true,
+ "10:8": true,
+ "11:2": true,
+ "13:9": true,
+ "14:13": true,
+ "12:1": true,
+ "10:3": true,
+ "11:1": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "10:2": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "9:6": 151,
+ "11:9": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "15:11": true,
+ "12:9": true,
+ "9:0": true,
+ "13:3": true,
+ "11:7": true,
+ "13:4": true,
+ "15:4": true,
+ "14:3": true,
+ "11:10": true,
+ "12:10": true,
+ "15:3": true,
+ "14:4": true,
+ "8:0": [
+ 158,
+ 170
+ ],
+ "14:2": true,
+ "13:11": true,
+ "15:2": true,
+ "13:5": true,
+ "15:0": true,
+ "14:6": true,
+ "15:6": true,
+ "14:0": true,
+ "12:15": true,
+ "12:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-3.json
index 352ead0c..ed4788e9 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-3.json
@@ -1 +1,188 @@
-{"12:11":true,"9:14":true,"11:5":true,"2:7":true,"8:8":true,"7:12":true,"6:10":true,"12:5":true,"10:14":true,"7:15":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"2:9":true,"9:15":true,"0:6":true,"14:7":true,"9:12":true,"3:6":true,"13:10":true,"10:15":true,"7:14":true,"1:8":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"7:13":true,"2:8":true,"5:11":true,"4:5":true,"13:12":true,"6:14":true,"1:9":true,"15:8":true,"10:13":true,"3:4":true,"6:12":true,"3:3":true,"1:7":true,"6:15":true,"9:13":true,"12:6":true,"4:3":true,"8:13":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"1:10":true,"13:8":true,"11:6":true,"4:4":true,"10:7":true,"6:8":true,"3:5":true,"13:1":181,"0:11":true,"9:7":true,"3:11":true,"2:14":true,"1:13":true,"0:5":true,"12:3":true,"11:4":true,"8:12":true,"6:9":true,"4:6":true,"2:13":true,"14:10":true,"10:1":179,"5:6":true,"13:7":true,"12:4":true,"11:3":true,"8:15":true,"12:2":true,"2:10":true,"1:15":true,"10:8":true,"11:2":true,"8:14":true,"1:12":true,"13:9":true,"9:8":true,"12:1":[180,181],"9:3":true,"10:4":true,"3:13":true,"5:9":true,"10:3":true,"1:5":true,"0:13":true,"7:2":true,"6:6":true,"4:9":true,"11:1":180,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"11:8":true,"7:4":true,"13:6":true,"9:2":true,"4:7":true,"10:2":true,"0:10":true,"12:8":true,"7:3":true,"14:11":true,"13:2":true,"9:6":true,"3:12":true,"0:15":true,"11:9":true,"6:4":true,"14:5":true,"10:6":true,"3:15":true,"12:9":true,"6:3":true,"13:3":true,"11:7":true,"2:5":true,"0:14":true,"5:8":true,"13:4":true,"12:7":true,"3:14":true,"6:2":true,"7:6":true,"4:8":true,"2:11":true,"15:4":true,"14:3":true,"4:14":true,"1:6":true,"11:10":true,"6:5":true,"3:8":true,"12:10":true,"5:14":true,"0:8":true,"15:3":true,"6:11":true,"14:4":true,"11:13":true,"5:12":true,"2:4":true,"14:2":true,"13:11":true,"4:15":true,"15:2":true,"8:6":true,"4:12":true,"13:5":true,"12:13":true,"5:15":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":true,"0:7":true,"11:12":true,"8:4":true,"5:13":true,"7:5":true,"3:9":true,"12:12":true,"11:15":true,"8:3":true,"0:9":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "2:7": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "9:15": true,
+ "0:6": true,
+ "14:7": true,
+ "9:12": true,
+ "3:6": true,
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "7:13": true,
+ "2:8": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "6:14": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "3:4": true,
+ "6:12": true,
+ "3:3": true,
+ "1:7": true,
+ "6:15": true,
+ "9:13": true,
+ "12:6": true,
+ "4:3": true,
+ "8:13": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "1:10": true,
+ "13:8": true,
+ "11:6": true,
+ "4:4": true,
+ "10:7": true,
+ "6:8": true,
+ "3:5": true,
+ "13:1": 181,
+ "0:11": true,
+ "9:7": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "12:3": true,
+ "11:4": true,
+ "8:12": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "14:10": true,
+ "10:1": 179,
+ "5:6": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "12:2": true,
+ "2:10": true,
+ "1:15": true,
+ "10:8": true,
+ "11:2": true,
+ "8:14": true,
+ "1:12": true,
+ "13:9": true,
+ "9:8": true,
+ "12:1": [
+ 180,
+ 181
+ ],
+ "9:3": true,
+ "10:4": true,
+ "3:13": true,
+ "5:9": true,
+ "10:3": true,
+ "1:5": true,
+ "0:13": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": 180,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "11:8": true,
+ "7:4": true,
+ "13:6": true,
+ "9:2": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "12:8": true,
+ "7:3": true,
+ "14:11": true,
+ "13:2": true,
+ "9:6": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "6:4": true,
+ "14:5": true,
+ "10:6": true,
+ "3:15": true,
+ "12:9": true,
+ "6:3": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "5:8": true,
+ "13:4": true,
+ "12:7": true,
+ "3:14": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "1:6": true,
+ "11:10": true,
+ "6:5": true,
+ "3:8": true,
+ "12:10": true,
+ "5:14": true,
+ "0:8": true,
+ "15:3": true,
+ "6:11": true,
+ "14:4": true,
+ "11:13": true,
+ "5:12": true,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": true,
+ "15:2": true,
+ "8:6": true,
+ "4:12": true,
+ "13:5": true,
+ "12:13": true,
+ "5:15": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": true,
+ "0:7": true,
+ "11:12": true,
+ "8:4": true,
+ "5:13": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-4.json
index 643d735d..3988841a 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-4.json
@@ -1 +1,20 @@
-{"15:9":true,"12:6":true,"14:9":true,"11:6":true,"11:8":199,"15:7":true,"13:6":true,"14:7":true,"12:8":true,"10:5":true,"15:10":[199,217],"10:6":true,"13:7":true,"12:7":true,"13:9":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:6": true,
+ "14:9": true,
+ "11:6": true,
+ "11:8": 199,
+ "15:7": true,
+ "13:6": true,
+ "14:7": true,
+ "12:8": true,
+ "10:5": true,
+ "15:10": [
+ 199,
+ 217
+ ],
+ "10:6": true,
+ "13:7": true,
+ "12:7": true,
+ "13:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-5.json
index b7fc8ac8..3de191fa 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-5.json
@@ -1 +1,25 @@
-{"10:4":true,"12:5":true,"7:15":true,"9:4":true,"5:12":213,"4:12":[211,212],"7:14":true,"11:4":true,"10:5":true,"10:6":true,"12:4":true,"6:14":[214,216],"5:13":[211,216],"6:15":215} \ No newline at end of file
+{
+ "10:4": true,
+ "12:5": true,
+ "7:15": true,
+ "9:4": true,
+ "5:12": 213,
+ "4:12": [
+ 211,
+ 212
+ ],
+ "7:14": true,
+ "11:4": true,
+ "10:5": true,
+ "10:6": true,
+ "12:4": true,
+ "6:14": [
+ 214,
+ 216
+ ],
+ "5:13": [
+ 211,
+ 216
+ ],
+ "6:15": 215
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-6.json
index e79a0352..84cd9a00 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_-6.json
@@ -1 +1,11 @@
-{"12:6":[203,205],"8:13":[213,214],"8:12":212} \ No newline at end of file
+{
+ "12:6": [
+ 203,
+ 205
+ ],
+ "8:13": [
+ 213,
+ 214
+ ],
+ "8:12": 212
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_2.json
index 4d8c42a8..99a82999 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_2.json
@@ -1 +1,23 @@
-{"11:10":161,"13:13":159,"11:11":[160,161],"11:8":156,"9:2":true,"12:13":[160,161],"9:1":true,"11:9":167,"10:0":true,"10:1":true,"9:0":true,"12:12":[159,161]} \ No newline at end of file
+{
+ "11:10": 161,
+ "13:13": 159,
+ "11:11": [
+ 160,
+ 161
+ ],
+ "11:8": 156,
+ "9:2": true,
+ "12:13": [
+ 160,
+ 161
+ ],
+ "9:1": true,
+ "11:9": 167,
+ "10:0": true,
+ "10:1": true,
+ "9:0": true,
+ "12:12": [
+ 159,
+ 161
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_5.json
index b605be36..31bc4325 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_5.json
@@ -1 +1,29 @@
-{"12:1":true,"9:14":[164,165],"11:5":true,"12:5":true,"7:15":true,"11:1":true,"14:1":true,"15:5":true,"14:5":true,"15:1":true,"10:13":[163,165],"6:15":true,"11:13":true,"13:1":true,"13:5":true,"10:5":true,"9:5":true,"8:15":166,"11:12":true,"8:14":true,"7:1":175} \ No newline at end of file
+{
+ "12:1": true,
+ "9:14": [
+ 164,
+ 165
+ ],
+ "11:5": true,
+ "12:5": true,
+ "7:15": true,
+ "11:1": true,
+ "14:1": true,
+ "15:5": true,
+ "14:5": true,
+ "15:1": true,
+ "10:13": [
+ 163,
+ 165
+ ],
+ "6:15": true,
+ "11:13": true,
+ "13:1": true,
+ "13:5": true,
+ "10:5": true,
+ "9:5": true,
+ "8:15": 166,
+ "11:12": true,
+ "8:14": true,
+ "7:1": 175
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_6.json
index 22ad94f8..dd61311b 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_6.json
@@ -1 +1,85 @@
-{"12:11":true,"8:8":true,"13:13":true,"11:11":true,"10:12":true,"13:15":true,"10:10":true,"8:7":true,"5:5":167,"9:10":true,"4:5":true,"13:12":true,"13:14":true,"8:9":true,"7:10":true,"14:14":true,"5:4":true,"7:7":true,"5:3":true,"15:14":true,"9:9":true,"6:1":true,"4:4":true,"8:10":true,"7:9":true,"6:8":true,"15:12":true,"14:15":true,"15:15":true,"14:12":true,"5:2":true,"7:8":true,"6:9":[163,166],"4:6":true,"5:6":[166,167],"15:13":true,"6:7":true,"9:8":true,"7:1":true,"14:13":true,"6:0":true,"7:2":true,"6:6":true,"5:7":[165,166],"7:4":true,"9:2":true,"8:11":165,"4:7":true,"7:3":true,"14:11":true,"6:4":true,"6:3":true,"7:0":true,"5:8":[163,165],"6:2":true,"7:6":true,"11:10":true,"6:5":true,"12:10":true,"11:13":true,"13:11":true,"12:13":true,"12:14":true,"9:11":true,"10:11":true,"8:2":true,"11:12":true,"8:4":true,"7:5":true,"12:12":true,"8:3":true} \ No newline at end of file
+{
+ "12:11": true,
+ "8:8": true,
+ "13:13": true,
+ "11:11": true,
+ "10:12": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": 167,
+ "9:10": true,
+ "4:5": true,
+ "13:12": true,
+ "13:14": true,
+ "8:9": true,
+ "7:10": true,
+ "14:14": true,
+ "5:4": true,
+ "7:7": true,
+ "5:3": true,
+ "15:14": true,
+ "9:9": true,
+ "6:1": true,
+ "4:4": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "15:12": true,
+ "14:15": true,
+ "15:15": true,
+ "14:12": true,
+ "5:2": true,
+ "7:8": true,
+ "6:9": [
+ 163,
+ 166
+ ],
+ "4:6": true,
+ "5:6": [
+ 166,
+ 167
+ ],
+ "15:13": true,
+ "6:7": true,
+ "9:8": true,
+ "7:1": true,
+ "14:13": true,
+ "6:0": true,
+ "7:2": true,
+ "6:6": true,
+ "5:7": [
+ 165,
+ 166
+ ],
+ "7:4": true,
+ "9:2": true,
+ "8:11": 165,
+ "4:7": true,
+ "7:3": true,
+ "14:11": true,
+ "6:4": true,
+ "6:3": true,
+ "7:0": true,
+ "5:8": [
+ 163,
+ 165
+ ],
+ "6:2": true,
+ "7:6": true,
+ "11:10": true,
+ "6:5": true,
+ "12:10": true,
+ "11:13": true,
+ "13:11": true,
+ "12:13": true,
+ "12:14": true,
+ "9:11": true,
+ "10:11": true,
+ "8:2": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "12:12": true,
+ "8:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_7.json
index 6b724e4e..feb2ef05 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-11_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-11_7.json
@@ -1 +1,15 @@
-{"15:9":true,"14:9":true,"15:7":true,"13:6":true,"14:7":true,"13:5":true,"15:0":true,"14:6":true,"15:5":true,"15:6":true,"14:0":true,"15:8":true,"14:8":true} \ No newline at end of file
+{
+ "15:9": true,
+ "14:9": true,
+ "15:7": true,
+ "13:6": true,
+ "14:7": true,
+ "13:5": true,
+ "15:0": true,
+ "14:6": true,
+ "15:5": true,
+ "15:6": true,
+ "14:0": true,
+ "15:8": true,
+ "14:8": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_0.json
index 2734cb56..bd0f39ea 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_0.json
@@ -1 +1,58 @@
-{"12:1":true,"9:3":true,"1:11":true,"11:5":true,"10:4":true,"12:5":true,"10:3":true,"11:1":true,"15:7":true,"13:6":true,"9:2":true,"13:0":true,"14:7":true,"8:1":true,"10:2":true,"14:1":true,"13:2":true,"15:5":true,"10:0":true,"14:5":true,"15:1":true,"9:0":true,"7:0":true,"13:3":true,"0:14":145,"13:4":true,"15:4":true,"11:0":true,"14:3":true,"12:6":true,"2:12":true,"15:3":true,"12:0":true,"14:4":true,"8:0":true,"14:2":true,"13:1":true,"0:11":true,"15:2":true,"13:5":true,"15:0":true,"14:6":true,"12:3":true,"11:4":true,"9:1":true,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"8:2":true,"15:6":true,"14:0":true,"12:2":true,"11:2":true,"1:12":true,"7:1":true} \ No newline at end of file
+{
+ "12:1": true,
+ "9:3": true,
+ "1:11": true,
+ "11:5": true,
+ "10:4": true,
+ "12:5": true,
+ "10:3": true,
+ "11:1": true,
+ "15:7": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": true,
+ "14:7": true,
+ "8:1": true,
+ "10:2": true,
+ "14:1": true,
+ "13:2": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "15:1": true,
+ "9:0": true,
+ "7:0": true,
+ "13:3": true,
+ "0:14": 145,
+ "13:4": true,
+ "15:4": true,
+ "11:0": true,
+ "14:3": true,
+ "12:6": true,
+ "2:12": true,
+ "15:3": true,
+ "12:0": true,
+ "14:4": true,
+ "8:0": true,
+ "14:2": true,
+ "13:1": true,
+ "0:11": true,
+ "15:2": true,
+ "13:5": true,
+ "15:0": true,
+ "14:6": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:2": true,
+ "15:6": true,
+ "14:0": true,
+ "12:2": true,
+ "11:2": true,
+ "1:12": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_1.json
index a52bf506..7f7300c1 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_1.json
@@ -1 +1,66 @@
-{"1:1":146,"10:10":true,"9:10":true,"3:2":146,"2:1":145,"4:3":145,"2:12":[143,144],"2:15":161,"9:9":true,"4:2":145,"15:15":true,"5:2":145,"2:14":136,"1:13":[137,139],"2:13":142,"1:14":136,"5:0":[167,169],"4:0":[168,169],"1:12":[140,146],"6:0":[166,167],"3:13":[143,146],"0:13":137,"4:1":145,"0:12":[143,147],"5:14":[144,145],"2:2":146,"3:1":145,"12:13":true,"12:14":true,"9:11":true,"11:14":true,"1:2":true,"11:15":true,"4:13":[144,146]} \ No newline at end of file
+{
+ "1:1": 146,
+ "10:10": true,
+ "9:10": true,
+ "3:2": 146,
+ "2:1": 145,
+ "4:3": 145,
+ "2:12": [
+ 143,
+ 144
+ ],
+ "2:15": 161,
+ "9:9": true,
+ "4:2": 145,
+ "15:15": true,
+ "5:2": 145,
+ "2:14": 136,
+ "1:13": [
+ 137,
+ 139
+ ],
+ "2:13": 142,
+ "1:14": 136,
+ "5:0": [
+ 167,
+ 169
+ ],
+ "4:0": [
+ 168,
+ 169
+ ],
+ "1:12": [
+ 140,
+ 146
+ ],
+ "6:0": [
+ 166,
+ 167
+ ],
+ "3:13": [
+ 143,
+ 146
+ ],
+ "0:13": 137,
+ "4:1": 145,
+ "0:12": [
+ 143,
+ 147
+ ],
+ "5:14": [
+ 144,
+ 145
+ ],
+ "2:2": 146,
+ "3:1": 145,
+ "12:13": true,
+ "12:14": true,
+ "9:11": true,
+ "11:14": true,
+ "1:2": true,
+ "11:15": true,
+ "4:13": [
+ 144,
+ 146
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_10.json
index aa6db439..3c099835 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_10.json
@@ -1 +1,51 @@
-{"11:5":true,"14:1":true,"13:15":true,"1:7":127,"11:0":true,"5:3":127,"15:14":true,"12:0":true,"4:4":127,"3:5":127,"14:15":true,"13:1":true,"15:15":true,"12:3":true,"11:4":true,"2:13":true,"5:0":207,"14:10":true,"12:4":true,"11:3":true,"4:0":127,"11:2":true,"13:9":true,"12:1":true,"6:0":207,"10:4":true,"10:3":true,"13:0":true,"10:2":true,"12:8":true,"7:3":true,"13:2":true,"10:6":true,"5:1":127,"3:15":true,"15:11":true,"11:7":127,"3:14":true,"6:2":127,"15:4":127,"14:3":true,"0:8":127,"15:3":127,"14:2":true,"15:2":127,"9:5":true,"14:0":127,"8:4":true,"2:6":127} \ No newline at end of file
+{
+ "11:5": true,
+ "14:1": true,
+ "13:15": true,
+ "1:7": 127,
+ "11:0": true,
+ "5:3": 127,
+ "15:14": true,
+ "12:0": true,
+ "4:4": 127,
+ "3:5": 127,
+ "14:15": true,
+ "13:1": true,
+ "15:15": true,
+ "12:3": true,
+ "11:4": true,
+ "2:13": true,
+ "5:0": 207,
+ "14:10": true,
+ "12:4": true,
+ "11:3": true,
+ "4:0": 127,
+ "11:2": true,
+ "13:9": true,
+ "12:1": true,
+ "6:0": 207,
+ "10:4": true,
+ "10:3": true,
+ "13:0": true,
+ "10:2": true,
+ "12:8": true,
+ "7:3": true,
+ "13:2": true,
+ "10:6": true,
+ "5:1": 127,
+ "3:15": true,
+ "15:11": true,
+ "11:7": 127,
+ "3:14": true,
+ "6:2": 127,
+ "15:4": 127,
+ "14:3": true,
+ "0:8": 127,
+ "15:3": 127,
+ "14:2": true,
+ "15:2": 127,
+ "9:5": true,
+ "14:0": 127,
+ "8:4": true,
+ "2:6": 127
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_11.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_11.json
index d3691eee..bac1f70b 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_11.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_11.json
@@ -1 +1,67 @@
-{"12:1":true,"1:1":true,"11:5":true,"10:4":true,"2:7":115,"12:5":true,"11:1":true,"3:0":true,"13:0":true,"8:1":true,"3:6":true,"14:1":true,"13:2":true,"8:7":true,"9:6":true,"4:1":true,"0:2":true,"14:5":true,"10:6":true,"5:1":true,"4:5":true,"15:1":true,"13:3":true,"3:4":true,"2:5":true,"13:4":true,"3:3":true,"2:1":true,"15:4":true,"14:3":true,"12:6":true,"7:7":true,"2:2":true,"15:3":true,"6:1":true,"14:4":true,"11:6":true,"4:4":true,"10:7":true,"3:5":true,"2:4":true,"14:2":true,"13:1":true,"0:1":true,"9:7":true,"3:1":true,"13:5":true,"2:3":true,"12:3":true,"11:4":true,"10:5":true,"15:0":true,"9:1":true,"4:6":true,"3:7":true,"1:3":true,"10:1":true,"9:5":true,"12:4":true,"14:0":true,"2:0":true,"12:2":true,"1:2":true,"6:7":true,"7:1":true} \ No newline at end of file
+{
+ "12:1": true,
+ "1:1": true,
+ "11:5": true,
+ "10:4": true,
+ "2:7": 115,
+ "12:5": true,
+ "11:1": true,
+ "3:0": true,
+ "13:0": true,
+ "8:1": true,
+ "3:6": true,
+ "14:1": true,
+ "13:2": true,
+ "8:7": true,
+ "9:6": true,
+ "4:1": true,
+ "0:2": true,
+ "14:5": true,
+ "10:6": true,
+ "5:1": true,
+ "4:5": true,
+ "15:1": true,
+ "13:3": true,
+ "3:4": true,
+ "2:5": true,
+ "13:4": true,
+ "3:3": true,
+ "2:1": true,
+ "15:4": true,
+ "14:3": true,
+ "12:6": true,
+ "7:7": true,
+ "2:2": true,
+ "15:3": true,
+ "6:1": true,
+ "14:4": true,
+ "11:6": true,
+ "4:4": true,
+ "10:7": true,
+ "3:5": true,
+ "2:4": true,
+ "14:2": true,
+ "13:1": true,
+ "0:1": true,
+ "9:7": true,
+ "3:1": true,
+ "13:5": true,
+ "2:3": true,
+ "12:3": true,
+ "11:4": true,
+ "10:5": true,
+ "15:0": true,
+ "9:1": true,
+ "4:6": true,
+ "3:7": true,
+ "1:3": true,
+ "10:1": true,
+ "9:5": true,
+ "12:4": true,
+ "14:0": true,
+ "2:0": true,
+ "12:2": true,
+ "1:2": true,
+ "6:7": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_3.json
index 4fb265b7..8aaf3ecd 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_3.json
@@ -1 +1,16 @@
-{"7:13":true,"4:14":true,"7:12":true,"7:15":true,"0:7":true,"15:14":true,"5:12":true,"14:15":true,"4:15":true,"6:12":true,"15:15":true,"4:12":true,"7:14":true,"4:13":true} \ No newline at end of file
+{
+ "7:13": true,
+ "4:14": true,
+ "7:12": true,
+ "7:15": true,
+ "0:7": true,
+ "15:14": true,
+ "5:12": true,
+ "14:15": true,
+ "4:15": true,
+ "6:12": true,
+ "15:15": true,
+ "4:12": true,
+ "7:14": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_7.json
index e53a59df..bdceed93 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_7.json
@@ -1 +1,24 @@
-{"9:14":true,"6:0":true,"10:9":true,"10:14":true,"15:14":true,"9:9":true,"10:12":true,"14:15":true,"9:15":true,"15:15":true,"9:12":true,"10:15":true,"10:10":true,"9:11":true,"5:0":true,"10:11":true,"9:10":true,"4:0":true,"7:0":true,"10:13":true,"9:8":true,"9:13":true} \ No newline at end of file
+{
+ "9:14": true,
+ "6:0": true,
+ "10:9": true,
+ "10:14": true,
+ "15:14": true,
+ "9:9": true,
+ "10:12": true,
+ "14:15": true,
+ "9:15": true,
+ "15:15": true,
+ "9:12": true,
+ "10:15": true,
+ "10:10": true,
+ "9:11": true,
+ "5:0": true,
+ "10:11": true,
+ "9:10": true,
+ "4:0": true,
+ "7:0": true,
+ "10:13": true,
+ "9:8": true,
+ "9:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_8.json
index 4d1cb0dc..bc37be21 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_8.json
@@ -1 +1,40 @@
-{"12:11":true,"1:11":true,"3:13":true,"13:13":true,"6:13":true,"13:0":true,"14:11":true,"14:1":true,"13:15":true,"7:13":true,"15:11":true,"15:1":true,"9:0":true,"1:9":true,"15:8":true,"10:13":true,"14:8":true,"9:13":true,"8:13":true,"1:10":true,"13:8":true,"0:8":130,"11:13":true,"14:15":true,"13:11":true,"15:15":true,"15:2":true,"12:13":true,"1:13":true,"15:0":true,"2:13":true,"14:0":true,"15:13":true,"12:15":true,"5:13":true,"1:15":true,"14:13":true,"4:13":true} \ No newline at end of file
+{
+ "12:11": true,
+ "1:11": true,
+ "3:13": true,
+ "13:13": true,
+ "6:13": true,
+ "13:0": true,
+ "14:11": true,
+ "14:1": true,
+ "13:15": true,
+ "7:13": true,
+ "15:11": true,
+ "15:1": true,
+ "9:0": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "14:8": true,
+ "9:13": true,
+ "8:13": true,
+ "1:10": true,
+ "13:8": true,
+ "0:8": 130,
+ "11:13": true,
+ "14:15": true,
+ "13:11": true,
+ "15:15": true,
+ "15:2": true,
+ "12:13": true,
+ "1:13": true,
+ "15:0": true,
+ "2:13": true,
+ "14:0": true,
+ "15:13": true,
+ "12:15": true,
+ "5:13": true,
+ "1:15": true,
+ "14:13": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_9.json
index 1bd9898c..6352e1c4 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-1_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-1_9.json
@@ -1 +1,41 @@
-{"12:11":true,"9:14":213,"1:1":true,"10:14":214,"13:15":true,"10:10":127,"0:2":true,"7:13":true,"6:14":true,"1:9":true,"13:14":127,"10:13":215,"9:13":214,"14:14":127,"15:14":true,"15:12":127,"14:15":127,"3:11":127,"8:12":true,"13:7":127,"15:13":true,"2:10":true,"14:13":true,"12:8":127,"11:9":127,"15:5":127,"5:14":true,"0:8":127,"1:0":true,"4:12":true,"5:15":[127,208],"14:6":127,"9:11":127,"11:14":true,"12:15":true,"5:13":127} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": 213,
+ "1:1": true,
+ "10:14": 214,
+ "13:15": true,
+ "10:10": 127,
+ "0:2": true,
+ "7:13": true,
+ "6:14": true,
+ "1:9": true,
+ "13:14": 127,
+ "10:13": 215,
+ "9:13": 214,
+ "14:14": 127,
+ "15:14": true,
+ "15:12": 127,
+ "14:15": 127,
+ "3:11": 127,
+ "8:12": true,
+ "13:7": 127,
+ "15:13": true,
+ "2:10": true,
+ "14:13": true,
+ "12:8": 127,
+ "11:9": 127,
+ "15:5": 127,
+ "5:14": true,
+ "0:8": 127,
+ "1:0": true,
+ "4:12": true,
+ "5:15": [
+ 127,
+ 208
+ ],
+ "14:6": 127,
+ "9:11": 127,
+ "11:14": true,
+ "12:15": true,
+ "5:13": 127
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-2.json
index 7ead9273..e4e3ff1e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-2.json
@@ -1 +1,26 @@
-{"15:4":true,"11:0":true,"11:5":true,"12:5":true,"15:3":true,"8:5":true,"8:0":true,"15:2":true,"13:0":true,"13:5":true,"10:2":true,"15:0":true,"10:5":true,"15:5":true,"10:0":true,"14:5":true,"9:5":true,"11:3":true,"8:2":true,"15:1":true,"13:3":true,"8:4":true,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "15:4": true,
+ "11:0": true,
+ "11:5": true,
+ "12:5": true,
+ "15:3": true,
+ "8:5": true,
+ "8:0": true,
+ "15:2": true,
+ "13:0": true,
+ "13:5": true,
+ "10:2": true,
+ "15:0": true,
+ "10:5": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "9:5": true,
+ "11:3": true,
+ "8:2": true,
+ "15:1": true,
+ "13:3": true,
+ "8:4": true,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-3.json
index a278b911..ce28df65 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-3.json
@@ -1 +1,108 @@
-{"15:9":true,"1:1":true,"11:5":true,"8:8":true,"14:9":true,"15:7":true,"3:0":170,"0:6":true,"0:0":true,"14:7":true,"8:1":true,"3:6":true,"13:10":true,"14:1":true,"8:7":true,"5:5":true,"0:2":true,"4:5":true,"15:1":true,"15:8":true,"14:8":true,"2:1":true,"11:0":true,"4:3":170,"5:4":true,"5:3":true,"13:8":true,"15:14":true,"10:7":true,"3:5":true,"15:12":true,"13:1":true,"4:2":170,"15:15":true,"9:7":true,"5:2":true,"12:3":true,"11:4":true,"9:1":true,"4:6":true,"15:10":true,"5:0":true,"14:10":true,"10:1":true,"5:6":true,"13:7":true,"11:3":true,"4:0":170,"10:8":true,"11:2":true,"13:9":true,"9:8":true,"9:3":true,"10:4":true,"10:3":true,"1:5":true,"11:1":true,"9:4":true,"8:5":true,"13:6":true,"9:2":true,"13:0":true,"10:2":true,"13:2":true,"9:6":true,"4:1":170,"15:5":true,"10:0":true,"14:5":true,"10:6":true,"5:1":170,"9:0":true,"13:3":true,"13:4":true,"15:4":true,"14:3":true,"1:6":[151,169],"15:3":true,"1:0":true,"14:4":true,"8:0":true,"14:2":true,"13:11":true,"0:1":true,"15:2":true,"8:6":true,"3:1":170,"13:5":true,"15:0":true,"14:6":true,"10:5":true,"9:5":true,"8:2":true,"15:6":true,"14:0":true,"2:0":170,"11:12":true,"8:4":true,"8:3":true,"2:6":[151,169]} \ No newline at end of file
+{
+ "15:9": true,
+ "1:1": true,
+ "11:5": true,
+ "8:8": true,
+ "14:9": true,
+ "15:7": true,
+ "3:0": 170,
+ "0:6": true,
+ "0:0": true,
+ "14:7": true,
+ "8:1": true,
+ "3:6": true,
+ "13:10": true,
+ "14:1": true,
+ "8:7": true,
+ "5:5": true,
+ "0:2": true,
+ "4:5": true,
+ "15:1": true,
+ "15:8": true,
+ "14:8": true,
+ "2:1": true,
+ "11:0": true,
+ "4:3": 170,
+ "5:4": true,
+ "5:3": true,
+ "13:8": true,
+ "15:14": true,
+ "10:7": true,
+ "3:5": true,
+ "15:12": true,
+ "13:1": true,
+ "4:2": 170,
+ "15:15": true,
+ "9:7": true,
+ "5:2": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "4:6": true,
+ "15:10": true,
+ "5:0": true,
+ "14:10": true,
+ "10:1": true,
+ "5:6": true,
+ "13:7": true,
+ "11:3": true,
+ "4:0": 170,
+ "10:8": true,
+ "11:2": true,
+ "13:9": true,
+ "9:8": true,
+ "9:3": true,
+ "10:4": true,
+ "10:3": true,
+ "1:5": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": true,
+ "10:2": true,
+ "13:2": true,
+ "9:6": true,
+ "4:1": 170,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "5:1": 170,
+ "9:0": true,
+ "13:3": true,
+ "13:4": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": [
+ 151,
+ 169
+ ],
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "8:0": true,
+ "14:2": true,
+ "13:11": true,
+ "0:1": true,
+ "15:2": true,
+ "8:6": true,
+ "3:1": 170,
+ "13:5": true,
+ "15:0": true,
+ "14:6": true,
+ "10:5": true,
+ "9:5": true,
+ "8:2": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": 170,
+ "11:12": true,
+ "8:4": true,
+ "8:3": true,
+ "2:6": [
+ 151,
+ 169
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-4.json
index 384c6db4..5c22c130 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-4.json
@@ -1 +1,205 @@
-{"1:1":170,"8:8":true,"6:10":true,"13:13":true,"3:6":true,"14:1":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"0:2":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"3:2":true,"15:1":true,"13:14":true,"3:4":true,"0:3":true,"8:9":true,"3:3":true,"0:4":true,"2:1":170,"14:14":true,"4:3":true,"5:4":true,"2:12":true,"10:9":true,"5:3":true,"2:15":170,"15:14":true,"9:9":true,"4:4":true,"10:7":true,"8:10":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"13:1":true,"4:2":true,"0:11":true,"15:15":true,"14:12":true,"9:7":true,"3:11":true,"5:2":true,"2:14":170,"1:13":170,"6:9":true,"4:6":true,"2:13":true,"1:14":170,"5:0":170,"5:6":true,"4:0":170,"15:13":true,"1:15":170,"10:8":true,"1:12":true,"9:8":true,"14:13":true,"1:11":true,"3:13":true,"1:5":true,"11:8":true,"13:6":true,"13:0":true,"14:11":true,"13:2":true,"4:1":170,"3:12":true,"11:9":true,"15:5":true,"14:5":true,"5:1":170,"3:15":170,"15:11":true,"13:3":true,"11:7":true,"2:5":true,"13:4":true,"3:14":170,"2:11":true,"15:4":true,"14:3":true,"4:14":true,"1:6":true,"11:10":true,"5:14":true,"2:2":true,"15:3":true,"14:4":true,"5:12":true,"2:4":true,"14:2":true,"13:11":true,"4:15":170,"15:2":true,"4:12":true,"3:1":170,"13:5":true,"5:15":true,"2:3":true,"15:0":true,"14:6":true,"1:3":true,"1:4":true,"15:6":true,"14:0":true,"5:13":true,"1:2":170,"4:13":true,"2:6":true,"15:9":true,"9:14":true,"11:5":true,"2:7":true,"10:14":true,"14:9":true,"11:11":true,"10:12":true,"2:9":true,"15:7":true,"9:15":true,"14:7":true,"9:12":true,"8:1":170,"13:10":true,"10:15":true,"1:8":true,"2:8":true,"1:9":true,"15:8":true,"10:13":true,"6:12":true,"1:7":true,"14:8":true,"9:13":true,"8:13":true,"1:10":true,"13:8":true,"11:6":true,"11:4":true,"9:1":true,"8:12":true,"15:10":true,"14:10":true,"10:1":true,"13:7":true,"11:3":true,"8:15":true,"2:10":true,"11:2":true,"8:14":true,"13:9":true,"12:1":true,"9:3":true,"10:4":true,"5:9":true,"10:3":true,"4:9":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"9:2":true,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"9:6":true,"10:0":true,"10:6":true,"9:0":true,"5:8":true,"4:8":true,"3:8":true,"6:11":true,"11:13":true,"8:0":[170,212],"8:6":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":true,"11:12":true,"8:4":true,"3:9":true,"11:15":true,"8:3":true,"0:9":true} \ No newline at end of file
+{
+ "1:1": 170,
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "3:6": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "3:3": true,
+ "0:4": true,
+ "2:1": 170,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "5:3": true,
+ "2:15": 170,
+ "15:14": true,
+ "9:9": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "2:14": 170,
+ "1:13": 170,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "1:14": 170,
+ "5:0": 170,
+ "5:6": true,
+ "4:0": 170,
+ "15:13": true,
+ "1:15": 170,
+ "10:8": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "14:11": true,
+ "13:2": true,
+ "4:1": 170,
+ "3:12": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": 170,
+ "3:15": 170,
+ "15:11": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "13:4": true,
+ "3:14": 170,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "1:6": true,
+ "11:10": true,
+ "5:14": true,
+ "2:2": true,
+ "15:3": true,
+ "14:4": true,
+ "5:12": true,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": 170,
+ "15:2": true,
+ "4:12": true,
+ "3:1": 170,
+ "13:5": true,
+ "5:15": true,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": true,
+ "14:0": true,
+ "5:13": true,
+ "1:2": 170,
+ "4:13": true,
+ "2:6": true,
+ "15:9": true,
+ "9:14": true,
+ "11:5": true,
+ "2:7": true,
+ "10:14": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "2:9": true,
+ "15:7": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": 170,
+ "13:10": true,
+ "10:15": true,
+ "1:8": true,
+ "2:8": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "14:8": true,
+ "9:13": true,
+ "8:13": true,
+ "1:10": true,
+ "13:8": true,
+ "11:6": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "13:7": true,
+ "11:3": true,
+ "8:15": true,
+ "2:10": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": true,
+ "12:1": true,
+ "9:3": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "4:9": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "9:6": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": true,
+ "5:8": true,
+ "4:8": true,
+ "3:8": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": [
+ 170,
+ 212
+ ],
+ "8:6": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": true,
+ "11:12": true,
+ "8:4": true,
+ "3:9": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-5.json
index f5fe8895..036f035b 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-5.json
@@ -1 +1,172 @@
-{"15:9":true,"1:1":true,"2:7":true,"13:13":true,"12:5":true,"10:14":170,"14:9":true,"15:7":true,"3:0":true,"9:15":true,"0:0":true,"14:7":true,"9:12":true,"8:1":true,"3:6":true,"13:10":true,"10:15":[170,207],"1:8":true,"14:1":true,"13:15":true,"8:7":true,"5:5":true,"0:2":true,"2:8":true,"9:10":true,"4:5":true,"13:12":true,"3:2":true,"15:1":true,"15:8":true,"13:14":true,"3:4":true,"0:3":true,"8:9":true,"3:3":true,"1:7":true,"0:4":true,"14:8":true,"2:1":true,"11:0":true,"14:14":true,"4:3":true,"8:13":true,"5:4":true,"5:3":true,"13:8":true,"12:0":true,"15:14":true,"4:4":true,"10:7":true,"8:10":true,"3:5":true,"15:12":true,"14:15":true,"13:1":true,"4:2":true,"15:15":true,"14:12":true,"9:7":true,"5:2":true,"2:14":[151,168],"11:4":true,"9:1":true,"8:12":true,"4:6":true,"1:14":[151,168],"15:10":true,"5:0":true,"14:10":true,"10:1":true,"5:6":true,"13:7":true,"8:15":true,"4:0":true,"15:13":true,"10:8":true,"13:9":true,"14:13":true,"6:0":true,"9:3":true,"10:4":true,"10:3":true,"1:5":true,"9:4":true,"8:5":true,"5:7":true,"13:6":true,"9:2":true,"13:0":true,"4:7":true,"10:2":true,"14:11":true,"13:2":true,"9:6":true,"4:1":true,"15:5":true,"10:0":true,"14:5":true,"10:6":true,"5:1":true,"15:11":true,"9:0":true,"7:0":true,"13:3":true,"2:5":true,"0:14":[154,165],"5:8":true,"13:4":true,"3:14":[151,169],"6:2":true,"4:8":true,"15:4":true,"14:3":true,"4:14":[151,169],"1:6":true,"3:8":true,"5:14":[151,169],"2:2":true,"0:8":true,"15:3":true,"1:0":true,"14:4":true,"2:4":true,"8:0":true,"14:2":true,"13:11":true,"4:15":170,"15:2":true,"8:6":true,"3:1":true,"13:5":true,"5:15":170,"2:3":true,"15:0":true,"14:6":true,"10:5":true,"3:7":true,"1:3":true,"9:5":true,"11:14":true,"8:2":true,"1:4":true,"15:6":true,"14:0":true,"2:0":true,"8:4":true,"1:2":true,"8:3":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "1:1": true,
+ "2:7": true,
+ "13:13": true,
+ "12:5": true,
+ "10:14": 170,
+ "14:9": true,
+ "15:7": true,
+ "3:0": true,
+ "9:15": true,
+ "0:0": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "3:6": true,
+ "13:10": true,
+ "10:15": [
+ 170,
+ 207
+ ],
+ "1:8": true,
+ "14:1": true,
+ "13:15": true,
+ "8:7": true,
+ "5:5": true,
+ "0:2": true,
+ "2:8": true,
+ "9:10": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "15:8": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "3:3": true,
+ "1:7": true,
+ "0:4": true,
+ "14:8": true,
+ "2:1": true,
+ "11:0": true,
+ "14:14": true,
+ "4:3": true,
+ "8:13": true,
+ "5:4": true,
+ "5:3": true,
+ "13:8": true,
+ "12:0": true,
+ "15:14": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "5:2": true,
+ "2:14": [
+ 151,
+ 168
+ ],
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "4:6": true,
+ "1:14": [
+ 151,
+ 168
+ ],
+ "15:10": true,
+ "5:0": true,
+ "14:10": true,
+ "10:1": true,
+ "5:6": true,
+ "13:7": true,
+ "8:15": true,
+ "4:0": true,
+ "15:13": true,
+ "10:8": true,
+ "13:9": true,
+ "14:13": true,
+ "6:0": true,
+ "9:3": true,
+ "10:4": true,
+ "10:3": true,
+ "1:5": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": true,
+ "4:7": true,
+ "10:2": true,
+ "14:11": true,
+ "13:2": true,
+ "9:6": true,
+ "4:1": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "5:1": true,
+ "15:11": true,
+ "9:0": true,
+ "7:0": true,
+ "13:3": true,
+ "2:5": true,
+ "0:14": [
+ 154,
+ 165
+ ],
+ "5:8": true,
+ "13:4": true,
+ "3:14": [
+ 151,
+ 169
+ ],
+ "6:2": true,
+ "4:8": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": [
+ 151,
+ 169
+ ],
+ "1:6": true,
+ "3:8": true,
+ "5:14": [
+ 151,
+ 169
+ ],
+ "2:2": true,
+ "0:8": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "2:4": true,
+ "8:0": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": 170,
+ "15:2": true,
+ "8:6": true,
+ "3:1": true,
+ "13:5": true,
+ "5:15": 170,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "10:5": true,
+ "3:7": true,
+ "1:3": true,
+ "9:5": true,
+ "11:14": true,
+ "8:2": true,
+ "1:4": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": true,
+ "8:4": true,
+ "1:2": true,
+ "8:3": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-7.json
index 0b2eacc6..2ddd3045 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_-7.json
@@ -1 +1,86 @@
-{"15:9":true,"12:11":true,"9:14":true,"13:13":true,"12:5":true,"10:14":true,"14:9":true,"11:11":true,"10:12":true,"11:8":true,"13:6":true,"9:15":true,"14:7":true,"9:12":true,"8:11":true,"8:1":true,"13:10":true,"10:15":true,"12:8":true,"14:11":true,"13:15":true,"10:10":true,"11:9":true,"15:5":true,"14:5":true,"9:10":true,"13:12":true,"15:11":true,"12:9":true,"15:8":true,"13:14":true,"11:7":true,"10:13":true,"8:9":true,"13:4":true,"12:7":true,"14:8":true,"9:13":true,"15:4":true,"14:3":true,"14:14":true,"12:6":true,"8:13":true,"10:9":true,"12:10":true,"13:8":true,"15:3":true,"15:14":true,"9:9":true,"14:4":true,"11:6":true,"10:7":true,"8:10":true,"15:12":true,"14:15":true,"13:11":true,"15:2":true,"15:15":true,"14:12":true,"13:5":true,"14:6":true,"12:14":true,"9:11":true,"8:12":true,"15:10":true,"14:10":true,"10:11":true,"13:7":true,"8:15":true,"15:6":true,"15:13":[155,215],"12:15":true,"11:12":true,"10:8":true,"12:12":true,"11:15":true,"8:14":true,"8:3":true,"13:9":true,"9:8":true,"14:13":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "13:13": true,
+ "12:5": true,
+ "10:14": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "11:8": true,
+ "13:6": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:11": true,
+ "8:1": true,
+ "13:10": true,
+ "10:15": true,
+ "12:8": true,
+ "14:11": true,
+ "13:15": true,
+ "10:10": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "9:10": true,
+ "13:12": true,
+ "15:11": true,
+ "12:9": true,
+ "15:8": true,
+ "13:14": true,
+ "11:7": true,
+ "10:13": true,
+ "8:9": true,
+ "13:4": true,
+ "12:7": true,
+ "14:8": true,
+ "9:13": true,
+ "15:4": true,
+ "14:3": true,
+ "14:14": true,
+ "12:6": true,
+ "8:13": true,
+ "10:9": true,
+ "12:10": true,
+ "13:8": true,
+ "15:3": true,
+ "15:14": true,
+ "9:9": true,
+ "14:4": true,
+ "11:6": true,
+ "10:7": true,
+ "8:10": true,
+ "15:12": true,
+ "14:15": true,
+ "13:11": true,
+ "15:2": true,
+ "15:15": true,
+ "14:12": true,
+ "13:5": true,
+ "14:6": true,
+ "12:14": true,
+ "9:11": true,
+ "8:12": true,
+ "15:10": true,
+ "14:10": true,
+ "10:11": true,
+ "13:7": true,
+ "8:15": true,
+ "15:6": true,
+ "15:13": [
+ 155,
+ 215
+ ],
+ "12:15": true,
+ "11:12": true,
+ "10:8": true,
+ "12:12": true,
+ "11:15": true,
+ "8:14": true,
+ "8:3": true,
+ "13:9": true,
+ "9:8": true,
+ "14:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_0.json
index ef608932..5f8b086a 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_0.json
@@ -1 +1,61 @@
-{"12:11":147,"13:13":[148,149],"11:11":148,"2:9":[155,239],"2:8":154,"1:9":[154,239],"13:14":148,"14:14":147,"1:10":238,"15:14":146,"15:12":243,"14:15":[148,149],"14:12":145,"2:14":[175,176],"1:14":[174,175],"15:13":145,"2:10":238,"14:13":146,"1:11":237,"4:9":240,"5:7":153,"3:10":[238,239],"0:10":153,"9:6":152,"15:11":true,"3:14":[175,176],"2:11":[236,237],"4:14":175,"0:8":true,"3:9":240,"12:12":148,"0:9":153} \ No newline at end of file
+{
+ "12:11": 147,
+ "13:13": [
+ 148,
+ 149
+ ],
+ "11:11": 148,
+ "2:9": [
+ 155,
+ 239
+ ],
+ "2:8": 154,
+ "1:9": [
+ 154,
+ 239
+ ],
+ "13:14": 148,
+ "14:14": 147,
+ "1:10": 238,
+ "15:14": 146,
+ "15:12": 243,
+ "14:15": [
+ 148,
+ 149
+ ],
+ "14:12": 145,
+ "2:14": [
+ 175,
+ 176
+ ],
+ "1:14": [
+ 174,
+ 175
+ ],
+ "15:13": 145,
+ "2:10": 238,
+ "14:13": 146,
+ "1:11": 237,
+ "4:9": 240,
+ "5:7": 153,
+ "3:10": [
+ 238,
+ 239
+ ],
+ "0:10": 153,
+ "9:6": 152,
+ "15:11": true,
+ "3:14": [
+ 175,
+ 176
+ ],
+ "2:11": [
+ 236,
+ 237
+ ],
+ "4:14": 175,
+ "0:8": true,
+ "3:9": 240,
+ "12:12": 148,
+ "0:9": 153
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_10.json
index 2f50b994..51e98b28 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_10.json
@@ -1 +1,59 @@
-{"15:9":127,"6:13":true,"9:12":true,"8:1":true,"14:1":127,"7:13":true,"6:12":true,"2:12":true,"6:1":true,"13:1":127,"5:2":true,"1:13":[170,171],"12:3":127,"11:4":127,"9:1":true,"8:12":true,"2:13":169,"14:10":127,"11:3":127,"12:2":127,"11:2":true,"7:1":true,"9:3":true,"3:13":true,"10:3":true,"7:2":true,"9:2":true,"13:0":127,"10:2":true,"13:2":127,"3:12":true,"0:12":[129,133],"9:0":true,"7:0":127,"3:14":[145,173],"6:2":true,"4:14":[145,174],"5:14":true,"5:12":true,"8:0":true,"15:0":127,"8:2":true,"14:0":127,"5:13":true,"8:3":true} \ No newline at end of file
+{
+ "15:9": 127,
+ "6:13": true,
+ "9:12": true,
+ "8:1": true,
+ "14:1": 127,
+ "7:13": true,
+ "6:12": true,
+ "2:12": true,
+ "6:1": true,
+ "13:1": 127,
+ "5:2": true,
+ "1:13": [
+ 170,
+ 171
+ ],
+ "12:3": 127,
+ "11:4": 127,
+ "9:1": true,
+ "8:12": true,
+ "2:13": 169,
+ "14:10": 127,
+ "11:3": 127,
+ "12:2": 127,
+ "11:2": true,
+ "7:1": true,
+ "9:3": true,
+ "3:13": true,
+ "10:3": true,
+ "7:2": true,
+ "9:2": true,
+ "13:0": 127,
+ "10:2": true,
+ "13:2": 127,
+ "3:12": true,
+ "0:12": [
+ 129,
+ 133
+ ],
+ "9:0": true,
+ "7:0": 127,
+ "3:14": [
+ 145,
+ 173
+ ],
+ "6:2": true,
+ "4:14": [
+ 145,
+ 174
+ ],
+ "5:14": true,
+ "5:12": true,
+ "8:0": true,
+ "15:0": 127,
+ "8:2": true,
+ "14:0": 127,
+ "5:13": true,
+ "8:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_11.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_11.json
index 2b5520cf..5bae7eda 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_11.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_11.json
@@ -1 +1,17 @@
-{"15:4":true,"12:1":true,"15:3":true,"11:1":true,"8:0":true,"13:1":true,"15:2":true,"4:7":true,"15:0":true,"14:1":true,"15:5":true,"10:0":true,"15:6":true,"15:1":true,"9:0":true} \ No newline at end of file
+{
+ "15:4": true,
+ "12:1": true,
+ "15:3": true,
+ "11:1": true,
+ "8:0": true,
+ "13:1": true,
+ "15:2": true,
+ "4:7": true,
+ "15:0": true,
+ "14:1": true,
+ "15:5": true,
+ "10:0": true,
+ "15:6": true,
+ "15:1": true,
+ "9:0": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_3.json
index 1f44a377..a6a343e8 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_3.json
@@ -1 +1,3 @@
-{"0:3":true} \ No newline at end of file
+{
+ "0:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_4.json
index 50c8d9d0..030dac50 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_4.json
@@ -1 +1,193 @@
-{"15:9":true,"1:1":true,"2:7":true,"8:8":true,"7:12":true,"14:9":true,"10:12":true,"6:13":true,"2:9":true,"15:7":true,"9:15":true,"0:6":[129,148],"14:7":true,"9:12":true,"3:6":true,"1:8":true,"13:15":true,"0:2":true,"14:1":true,"10:10":true,"8:7":true,"4:11":true,"7:13":true,"2:8":true,"9:10":true,"5:11":true,"3:2":true,"1:9":true,"15:8":true,"10:13":true,"0:3":true,"8:9":true,"6:12":true,"1:7":true,"0:4":[129,132],"14:8":true,"9:13":true,"12:6":true,"4:3":[111,177],"8:13":true,"5:4":[173,179],"2:12":true,"10:9":true,"7:7":true,"5:3":[111,179],"1:10":true,"13:8":true,"15:14":true,"9:9":true,"11:6":true,"4:4":[176,177],"10:7":true,"8:10":true,"7:9":true,"13:1":233,"4:2":true,"0:11":true,"15:15":true,"9:7":true,"3:11":true,"5:2":true,"1:13":true,"0:5":[129,132],"12:3":233,"11:4":true,"8:12":true,"7:8":true,"6:9":true,"4:6":true,"2:13":true,"5:6":true,"8:15":true,"13:7":true,"12:4":true,"12:2":234,"2:10":true,"10:8":true,"6:7":true,"1:12":true,"13:9":true,"9:8":true,"9:3":126,"1:11":true,"10:4":[129,132],"3:13":true,"10:3":[129,132],"0:13":true,"7:2":[129,132],"6:6":true,"4:9":true,"9:4":true,"5:7":true,"3:10":true,"11:8":true,"13:6":true,"9:2":[129,132],"8:11":true,"4:7":true,"10:2":[129,132],"0:10":true,"12:8":true,"13:2":true,"9:6":true,"3:12":true,"11:9":true,"15:5":true,"14:5":true,"10:6":true,"0:12":true,"12:9":true,"13:3":true,"11:7":true,"13:4":true,"12:7":true,"6:2":true,"7:6":true,"4:8":true,"2:11":true,"15:4":true,"14:3":true,"1:6":true,"3:8":true,"0:8":true,"15:3":true,"6:11":true,"14:4":true,"5:12":true,"14:2":true,"0:1":true,"15:2":true,"8:6":true,"4:12":true,"13:5":true,"14:6":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"8:2":[129,132],"0:7":true,"15:6":true,"12:15":true,"5:13":true,"3:9":true,"11:15":true,"0:9":true,"7:11":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "1:1": true,
+ "2:7": true,
+ "8:8": true,
+ "7:12": true,
+ "14:9": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "9:15": true,
+ "0:6": [
+ 129,
+ 148
+ ],
+ "14:7": true,
+ "9:12": true,
+ "3:6": true,
+ "1:8": true,
+ "13:15": true,
+ "0:2": true,
+ "14:1": true,
+ "10:10": true,
+ "8:7": true,
+ "4:11": true,
+ "7:13": true,
+ "2:8": true,
+ "9:10": true,
+ "5:11": true,
+ "3:2": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "0:3": true,
+ "8:9": true,
+ "6:12": true,
+ "1:7": true,
+ "0:4": [
+ 129,
+ 132
+ ],
+ "14:8": true,
+ "9:13": true,
+ "12:6": true,
+ "4:3": [
+ 111,
+ 177
+ ],
+ "8:13": true,
+ "5:4": [
+ 173,
+ 179
+ ],
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": [
+ 111,
+ 179
+ ],
+ "1:10": true,
+ "13:8": true,
+ "15:14": true,
+ "9:9": true,
+ "11:6": true,
+ "4:4": [
+ 176,
+ 177
+ ],
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "13:1": 233,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "1:13": true,
+ "0:5": [
+ 129,
+ 132
+ ],
+ "12:3": 233,
+ "11:4": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "5:6": true,
+ "8:15": true,
+ "13:7": true,
+ "12:4": true,
+ "12:2": 234,
+ "2:10": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "13:9": true,
+ "9:8": true,
+ "9:3": 126,
+ "1:11": true,
+ "10:4": [
+ 129,
+ 132
+ ],
+ "3:13": true,
+ "10:3": [
+ 129,
+ 132
+ ],
+ "0:13": true,
+ "7:2": [
+ 129,
+ 132
+ ],
+ "6:6": true,
+ "4:9": true,
+ "9:4": true,
+ "5:7": true,
+ "3:10": true,
+ "11:8": true,
+ "13:6": true,
+ "9:2": [
+ 129,
+ 132
+ ],
+ "8:11": true,
+ "4:7": true,
+ "10:2": [
+ 129,
+ 132
+ ],
+ "0:10": true,
+ "12:8": true,
+ "13:2": true,
+ "9:6": true,
+ "3:12": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "10:6": true,
+ "0:12": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "13:4": true,
+ "12:7": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": true,
+ "3:8": true,
+ "0:8": true,
+ "15:3": true,
+ "6:11": true,
+ "14:4": true,
+ "5:12": true,
+ "14:2": true,
+ "0:1": true,
+ "15:2": true,
+ "8:6": true,
+ "4:12": true,
+ "13:5": true,
+ "14:6": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "8:2": [
+ 129,
+ 132
+ ],
+ "0:7": true,
+ "15:6": true,
+ "12:15": true,
+ "5:13": true,
+ "3:9": true,
+ "11:15": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_6.json
index 5a4f9d06..d5fffea6 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_6.json
@@ -1 +1,220 @@
-{"15:9":true,"1:1":[129,144],"11:5":true,"6:10":[129,132],"12:5":true,"14:9":true,"15:7":true,"3:0":[141,143],"0:6":[129,148],"0:0":true,"14:7":true,"8:1":true,"3:6":true,"13:10":true,"10:10":true,"5:5":[139,140],"0:2":true,"9:10":true,"4:5":[139,140],"3:2":[141,143],"15:8":true,"3:4":true,"0:3":true,"7:10":[129,132],"3:3":true,"0:4":[129,148],"14:8":true,"2:1":[129,144],"12:6":true,"4:3":[139,140],"10:9":true,"13:8":true,"9:9":true,"6:1":true,"11:6":true,"4:4":[139,140],"10:7":true,"8:10":true,"3:5":true,"4:2":[111,140],"0:11":[129,152],"9:7":true,"5:2":[111,120],"0:5":[129,148],"12:3":true,"11:4":true,"9:1":true,"4:6":true,"15:10":true,"5:0":true,"14:10":true,"10:1":true,"5:6":141,"13:7":true,"12:4":true,"11:3":true,"4:0":[141,143],"10:8":true,"13:9":true,"9:8":true,"7:1":true,"9:3":true,"6:0":true,"1:11":true,"10:4":true,"5:9":[111,179],"10:3":true,"1:5":144,"6:6":[141,168],"4:9":[111,177],"9:4":true,"8:5":true,"3:10":true,"7:4":true,"13:6":true,"9:2":true,"10:2":true,"0:10":[129,132],"7:3":true,"9:6":true,"4:1":[129,140],"15:5":true,"10:0":true,"14:5":true,"10:6":true,"5:1":true,"9:0":true,"6:3":true,"7:0":true,"13:3":true,"2:5":144,"5:8":[173,179],"13:4":true,"7:6":true,"4:8":true,"15:4":true,"14:3":true,"1:6":144,"6:5":[139,168],"2:2":144,"0:8":[129,132],"15:3":true,"1:0":true,"14:4":true,"2:4":144,"8:0":true,"0:1":true,"8:6":true,"3:1":[129,143],"13:5":true,"2:3":144,"14:6":true,"10:5":true,"5:10":[129,132],"1:3":144,"9:5":true,"4:10":[129,132],"8:2":true,"1:4":144,"0:7":[129,132],"15:6":true,"2:0":144,"8:4":true,"1:2":144,"7:5":true,"8:3":true,"0:9":[108,132],"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "1:1": [
+ 129,
+ 144
+ ],
+ "11:5": true,
+ "6:10": [
+ 129,
+ 132
+ ],
+ "12:5": true,
+ "14:9": true,
+ "15:7": true,
+ "3:0": [
+ 141,
+ 143
+ ],
+ "0:6": [
+ 129,
+ 148
+ ],
+ "0:0": true,
+ "14:7": true,
+ "8:1": true,
+ "3:6": true,
+ "13:10": true,
+ "10:10": true,
+ "5:5": [
+ 139,
+ 140
+ ],
+ "0:2": true,
+ "9:10": true,
+ "4:5": [
+ 139,
+ 140
+ ],
+ "3:2": [
+ 141,
+ 143
+ ],
+ "15:8": true,
+ "3:4": true,
+ "0:3": true,
+ "7:10": [
+ 129,
+ 132
+ ],
+ "3:3": true,
+ "0:4": [
+ 129,
+ 148
+ ],
+ "14:8": true,
+ "2:1": [
+ 129,
+ 144
+ ],
+ "12:6": true,
+ "4:3": [
+ 139,
+ 140
+ ],
+ "10:9": true,
+ "13:8": true,
+ "9:9": true,
+ "6:1": true,
+ "11:6": true,
+ "4:4": [
+ 139,
+ 140
+ ],
+ "10:7": true,
+ "8:10": true,
+ "3:5": true,
+ "4:2": [
+ 111,
+ 140
+ ],
+ "0:11": [
+ 129,
+ 152
+ ],
+ "9:7": true,
+ "5:2": [
+ 111,
+ 120
+ ],
+ "0:5": [
+ 129,
+ 148
+ ],
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "4:6": true,
+ "15:10": true,
+ "5:0": true,
+ "14:10": true,
+ "10:1": true,
+ "5:6": 141,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "4:0": [
+ 141,
+ 143
+ ],
+ "10:8": true,
+ "13:9": true,
+ "9:8": true,
+ "7:1": true,
+ "9:3": true,
+ "6:0": true,
+ "1:11": true,
+ "10:4": true,
+ "5:9": [
+ 111,
+ 179
+ ],
+ "10:3": true,
+ "1:5": 144,
+ "6:6": [
+ 141,
+ 168
+ ],
+ "4:9": [
+ 111,
+ 177
+ ],
+ "9:4": true,
+ "8:5": true,
+ "3:10": true,
+ "7:4": true,
+ "13:6": true,
+ "9:2": true,
+ "10:2": true,
+ "0:10": [
+ 129,
+ 132
+ ],
+ "7:3": true,
+ "9:6": true,
+ "4:1": [
+ 129,
+ 140
+ ],
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "5:1": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "13:3": true,
+ "2:5": 144,
+ "5:8": [
+ 173,
+ 179
+ ],
+ "13:4": true,
+ "7:6": true,
+ "4:8": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": 144,
+ "6:5": [
+ 139,
+ 168
+ ],
+ "2:2": 144,
+ "0:8": [
+ 129,
+ 132
+ ],
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "2:4": 144,
+ "8:0": true,
+ "0:1": true,
+ "8:6": true,
+ "3:1": [
+ 129,
+ 143
+ ],
+ "13:5": true,
+ "2:3": 144,
+ "14:6": true,
+ "10:5": true,
+ "5:10": [
+ 129,
+ 132
+ ],
+ "1:3": 144,
+ "9:5": true,
+ "4:10": [
+ 129,
+ 132
+ ],
+ "8:2": true,
+ "1:4": 144,
+ "0:7": [
+ 129,
+ 132
+ ],
+ "15:6": true,
+ "2:0": 144,
+ "8:4": true,
+ "1:2": 144,
+ "7:5": true,
+ "8:3": true,
+ "0:9": [
+ 108,
+ 132
+ ],
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_7.json
index cc177949..8522ddbe 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_7.json
@@ -1 +1,10 @@
-{"0:15":true,"0:3":232,"2:1":233,"2:2":true,"2:4":true,"2:3":true,"1:3":true,"1:2":true} \ No newline at end of file
+{
+ "0:15": true,
+ "0:3": 232,
+ "2:1": 233,
+ "2:2": true,
+ "2:4": true,
+ "2:3": true,
+ "1:3": true,
+ "1:2": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_8.json
index 3e21e3c3..032a1fb4 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_8.json
@@ -1 +1,48 @@
-{"15:9":true,"3:13":true,"7:15":true,"6:13":true,"9:15":true,"8:11":true,"10:15":true,"12:8":130,"1:8":true,"4:1":true,"4:11":true,"11:9":true,"7:13":true,"2:8":true,"5:11":true,"3:15":true,"15:8":[129,131],"10:13":true,"6:15":true,"14:8":[130,131],"9:13":true,"8:13":true,"13:8":[130,131],"0:8":true,"6:11":true,"11:13":true,"4:15":true,"5:15":true,"9:11":true,"10:11":true,"8:15":true,"5:13":true,"3:9":true,"11:15":true,"0:9":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "15:9": true,
+ "3:13": true,
+ "7:15": true,
+ "6:13": true,
+ "9:15": true,
+ "8:11": true,
+ "10:15": true,
+ "12:8": 130,
+ "1:8": true,
+ "4:1": true,
+ "4:11": true,
+ "11:9": true,
+ "7:13": true,
+ "2:8": true,
+ "5:11": true,
+ "3:15": true,
+ "15:8": [
+ 129,
+ 131
+ ],
+ "10:13": true,
+ "6:15": true,
+ "14:8": [
+ 130,
+ 131
+ ],
+ "9:13": true,
+ "8:13": true,
+ "13:8": [
+ 130,
+ 131
+ ],
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "4:15": true,
+ "5:15": true,
+ "9:11": true,
+ "10:11": true,
+ "8:15": true,
+ "5:13": true,
+ "3:9": true,
+ "11:15": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_9.json
index 2e8e27c8..4670975e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-2_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-2_9.json
@@ -1 +1,47 @@
-{"15:9":[211,214],"9:14":true,"10:14":true,"2:2":true,"11:1":true,"11:13":true,"15:12":206,"15:7":[127,216],"14:2":true,"14:15":127,"9:15":true,"0:1":true,"15:15":[202,203],"15:2":true,"3:1":true,"12:13":true,"14:6":true,"13:2":true,"13:15":127,"12:14":true,"0:2":true,"15:10":209,"11:14":true,"8:15":true,"15:11":true,"15:1":true,"15:8":[214,215],"13:14":true,"12:2":true,"11:12":true,"10:13":true,"1:2":true,"14:8":214} \ No newline at end of file
+{
+ "15:9": [
+ 211,
+ 214
+ ],
+ "9:14": true,
+ "10:14": true,
+ "2:2": true,
+ "11:1": true,
+ "11:13": true,
+ "15:12": 206,
+ "15:7": [
+ 127,
+ 216
+ ],
+ "14:2": true,
+ "14:15": 127,
+ "9:15": true,
+ "0:1": true,
+ "15:15": [
+ 202,
+ 203
+ ],
+ "15:2": true,
+ "3:1": true,
+ "12:13": true,
+ "14:6": true,
+ "13:2": true,
+ "13:15": 127,
+ "12:14": true,
+ "0:2": true,
+ "15:10": 209,
+ "11:14": true,
+ "8:15": true,
+ "15:11": true,
+ "15:1": true,
+ "15:8": [
+ 214,
+ 215
+ ],
+ "13:14": true,
+ "12:2": true,
+ "11:12": true,
+ "10:13": true,
+ "1:2": true,
+ "14:8": 214
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-3.json
index 442b6330..81b28ef2 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-3.json
@@ -1 +1,12 @@
-{"13:0":[152,166],"13:2":[152,166],"13:3":true,"8:0":true} \ No newline at end of file
+{
+ "13:0": [
+ 152,
+ 166
+ ],
+ "13:2": [
+ 152,
+ 166
+ ],
+ "13:3": true,
+ "8:0": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-4.json
index f30eae4d..64b7be65 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-4.json
@@ -1 +1,33 @@
-{"11:11":234,"8:1":[205,206],"13:15":[153,166],"5:5":208,"13:12":[153,166],"13:8":true,"13:1":true,"13:9":true,"7:2":206,"13:2":[152,166],"13:4":true,"11:10":true,"12:10":true,"13:11":[152,166],"13:5":true,"10:11":true} \ No newline at end of file
+{
+ "11:11": 234,
+ "8:1": [
+ 205,
+ 206
+ ],
+ "13:15": [
+ 153,
+ 166
+ ],
+ "5:5": 208,
+ "13:12": [
+ 153,
+ 166
+ ],
+ "13:8": true,
+ "13:1": true,
+ "13:9": true,
+ "7:2": 206,
+ "13:2": [
+ 152,
+ 166
+ ],
+ "13:4": true,
+ "11:10": true,
+ "12:10": true,
+ "13:11": [
+ 152,
+ 166
+ ],
+ "13:5": true,
+ "10:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-5.json
index 1817d7ae..a4f4b826 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_-5.json
@@ -1 +1,35 @@
-{"14:9":true,"10:12":199,"13:0":true,"8:11":187,"13:2":true,"10:10":[187,191],"10:13":[171,203],"13:4":true,"9:13":[171,202],"11:10":[187,188],"8:13":201,"13:1":true,"13:5":true,"15:0":true,"9:11":[187,189],"14:10":true,"14:0":true,"11:12":true} \ No newline at end of file
+{
+ "14:9": true,
+ "10:12": 199,
+ "13:0": true,
+ "8:11": 187,
+ "13:2": true,
+ "10:10": [
+ 187,
+ 191
+ ],
+ "10:13": [
+ 171,
+ 203
+ ],
+ "13:4": true,
+ "9:13": [
+ 171,
+ 202
+ ],
+ "11:10": [
+ 187,
+ 188
+ ],
+ "8:13": 201,
+ "13:1": true,
+ "13:5": true,
+ "15:0": true,
+ "9:11": [
+ 187,
+ 189
+ ],
+ "14:10": true,
+ "14:0": true,
+ "11:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_0.json
index c6a5087f..5ef00bba 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_0.json
@@ -1 +1,83 @@
-{"2:7":232,"8:8":232,"7:12":true,"6:10":true,"2:9":[231,232],"0:6":true,"3:6":231,"1:8":true,"8:7":232,"2:8":[231,232],"5:11":true,"13:12":true,"1:9":true,"15:8":true,"8:9":true,"6:12":true,"1:7":true,"2:12":true,"7:7":true,"1:10":true,"8:10":true,"6:8":true,"15:12":153,"0:11":true,"14:12":true,"3:11":232,"8:12":true,"4:6":231,"15:10":152,"5:6":true,"15:13":154,"2:10":true,"6:7":true,"1:12":true,"14:13":154,"1:11":true,"5:9":true,"6:6":true,"4:9":true,"5:7":true,"3:10":true,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"3:12":231,"15:11":153,"5:8":true,"7:6":true,"4:8":true,"2:11":true,"1:6":true,"3:8":[231,232],"0:8":true,"6:11":true,"5:12":true,"8:6":231,"4:12":231,"5:10":true,"3:7":232,"4:10":[231,232],"0:7":true,"3:9":[231,232],"0:9":true,"7:11":true,"2:6":231} \ No newline at end of file
+{
+ "2:7": 232,
+ "8:8": 232,
+ "7:12": true,
+ "6:10": true,
+ "2:9": [
+ 231,
+ 232
+ ],
+ "0:6": true,
+ "3:6": 231,
+ "1:8": true,
+ "8:7": 232,
+ "2:8": [
+ 231,
+ 232
+ ],
+ "5:11": true,
+ "13:12": true,
+ "1:9": true,
+ "15:8": true,
+ "8:9": true,
+ "6:12": true,
+ "1:7": true,
+ "2:12": true,
+ "7:7": true,
+ "1:10": true,
+ "8:10": true,
+ "6:8": true,
+ "15:12": 153,
+ "0:11": true,
+ "14:12": true,
+ "3:11": 232,
+ "8:12": true,
+ "4:6": 231,
+ "15:10": 152,
+ "5:6": true,
+ "15:13": 154,
+ "2:10": true,
+ "6:7": true,
+ "1:12": true,
+ "14:13": 154,
+ "1:11": true,
+ "5:9": true,
+ "6:6": true,
+ "4:9": true,
+ "5:7": true,
+ "3:10": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "3:12": 231,
+ "15:11": 153,
+ "5:8": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "1:6": true,
+ "3:8": [
+ 231,
+ 232
+ ],
+ "0:8": true,
+ "6:11": true,
+ "5:12": true,
+ "8:6": 231,
+ "4:12": 231,
+ "5:10": true,
+ "3:7": 232,
+ "4:10": [
+ 231,
+ 232
+ ],
+ "0:7": true,
+ "3:9": [
+ 231,
+ 232
+ ],
+ "0:9": true,
+ "7:11": true,
+ "2:6": 231
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_1.json
index ad608523..93f45ca0 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_1.json
@@ -1 +1,86 @@
-{"11:5":[192,193],"12:5":[188,189],"8:7":185,"4:11":204,"2:12":[159,183],"7:7":[200,201],"11:6":[189,192],"10:7":[190,191],"9:7":186,"3:11":183,"2:14":185,"12:3":193,"11:4":195,"6:9":202,"4:6":179,"2:13":184,"1:14":[184,185],"12:4":[188,193],"1:15":185,"10:8":191,"11:2":221,"10:4":196,"5:9":203,"10:3":[220,221],"4:9":[182,183],"8:5":201,"3:10":182,"4:7":true,"9:6":[184,185],"3:12":184,"13:3":[191,192],"0:14":207,"4:8":[181,182],"14:3":190,"14:2":191,"15:2":true,"8:6":200,"10:5":185,"5:10":203,"4:10":[183,204],"8:4":162,"7:5":162} \ No newline at end of file
+{
+ "11:5": [
+ 192,
+ 193
+ ],
+ "12:5": [
+ 188,
+ 189
+ ],
+ "8:7": 185,
+ "4:11": 204,
+ "2:12": [
+ 159,
+ 183
+ ],
+ "7:7": [
+ 200,
+ 201
+ ],
+ "11:6": [
+ 189,
+ 192
+ ],
+ "10:7": [
+ 190,
+ 191
+ ],
+ "9:7": 186,
+ "3:11": 183,
+ "2:14": 185,
+ "12:3": 193,
+ "11:4": 195,
+ "6:9": 202,
+ "4:6": 179,
+ "2:13": 184,
+ "1:14": [
+ 184,
+ 185
+ ],
+ "12:4": [
+ 188,
+ 193
+ ],
+ "1:15": 185,
+ "10:8": 191,
+ "11:2": 221,
+ "10:4": 196,
+ "5:9": 203,
+ "10:3": [
+ 220,
+ 221
+ ],
+ "4:9": [
+ 182,
+ 183
+ ],
+ "8:5": 201,
+ "3:10": 182,
+ "4:7": true,
+ "9:6": [
+ 184,
+ 185
+ ],
+ "3:12": 184,
+ "13:3": [
+ 191,
+ 192
+ ],
+ "0:14": 207,
+ "4:8": [
+ 181,
+ 182
+ ],
+ "14:3": 190,
+ "14:2": 191,
+ "15:2": true,
+ "8:6": 200,
+ "10:5": 185,
+ "5:10": 203,
+ "4:10": [
+ 183,
+ 204
+ ],
+ "8:4": 162,
+ "7:5": 162
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_11.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_11.json
index 4b6bb9b4..b61ddcbe 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_11.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_11.json
@@ -1 +1,4 @@
-{"8:0":true,"12:0":true} \ No newline at end of file
+{
+ "8:0": true,
+ "12:0": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_2.json
index c8568d98..c34866aa 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_2.json
@@ -1 +1,6 @@
-{"0:0":185,"1:0":185,"0:1":186,"2:0":185} \ No newline at end of file
+{
+ "0:0": 185,
+ "1:0": 185,
+ "0:1": 186,
+ "2:0": 185
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_4.json
index 004f6226..086843da 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_4.json
@@ -1 +1,167 @@
-{"15:9":true,"12:11":true,"2:7":true,"8:8":true,"7:12":true,"6:10":true,"13:13":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"2:9":true,"15:7":true,"0:6":true,"14:7":true,"9:12":true,"3:6":true,"13:10":true,"1:8":true,"14:1":216,"8:7":true,"0:2":true,"7:13":true,"2:8":true,"13:12":true,"3:2":true,"15:1":[130,151],"1:9":true,"15:8":true,"10:13":true,"3:4":true,"0:3":true,"8:9":true,"7:10":true,"6:12":true,"3:3":true,"1:7":true,"0:4":true,"14:8":true,"9:13":true,"12:6":141,"8:13":true,"10:9":true,"7:7":true,"13:8":true,"9:9":true,"11:6":141,"10:7":[139,168],"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:12":true,"9:7":true,"0:5":true,"12:3":[111,177],"11:4":[173,179],"8:12":true,"7:8":true,"6:9":true,"4:6":true,"15:10":true,"14:10":true,"5:6":true,"13:7":true,"12:4":[173,177],"11:3":true,"15:13":true,"12:2":true,"6:7":true,"11:2":true,"13:9":true,"9:8":true,"14:13":true,"10:4":true,"5:9":true,"1:5":true,"7:2":true,"6:6":true,"4:9":true,"5:7":true,"7:4":true,"13:6":[141,143],"9:2":true,"8:11":true,"4:7":true,"10:2":true,"12:8":true,"7:3":true,"14:11":true,"13:2":[129,132],"9:6":true,"6:4":true,"10:6":[141,216],"15:11":true,"12:9":true,"6:3":true,"11:7":[139,140],"2:5":true,"5:8":true,"13:4":true,"12:7":true,"6:2":true,"7:6":true,"4:8":true,"1:6":true,"11:10":true,"6:5":true,"3:8":true,"12:10":true,"2:2":true,"0:8":true,"6:11":true,"11:13":true,"2:4":true,"13:11":true,"8:6":true,"12:13":true,"2:3":true,"14:6":144,"9:11":true,"3:7":true,"1:3":true,"10:11":true,"9:5":true,"8:2":true,"1:4":true,"0:7":true,"15:6":true,"11:12":true,"1:2":true,"7:5":true,"3:9":true,"12:12":true,"0:9":true,"7:11":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "2:7": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "13:13": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "0:6": true,
+ "14:7": true,
+ "9:12": true,
+ "3:6": true,
+ "13:10": true,
+ "1:8": true,
+ "14:1": 216,
+ "8:7": true,
+ "0:2": true,
+ "7:13": true,
+ "2:8": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": [
+ 130,
+ 151
+ ],
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "3:3": true,
+ "1:7": true,
+ "0:4": true,
+ "14:8": true,
+ "9:13": true,
+ "12:6": 141,
+ "8:13": true,
+ "10:9": true,
+ "7:7": true,
+ "13:8": true,
+ "9:9": true,
+ "11:6": 141,
+ "10:7": [
+ 139,
+ 168
+ ],
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:12": true,
+ "9:7": true,
+ "0:5": true,
+ "12:3": [
+ 111,
+ 177
+ ],
+ "11:4": [
+ 173,
+ 179
+ ],
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "15:10": true,
+ "14:10": true,
+ "5:6": true,
+ "13:7": true,
+ "12:4": [
+ 173,
+ 177
+ ],
+ "11:3": true,
+ "15:13": true,
+ "12:2": true,
+ "6:7": true,
+ "11:2": true,
+ "13:9": true,
+ "9:8": true,
+ "14:13": true,
+ "10:4": true,
+ "5:9": true,
+ "1:5": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "5:7": true,
+ "7:4": true,
+ "13:6": [
+ 141,
+ 143
+ ],
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "12:8": true,
+ "7:3": true,
+ "14:11": true,
+ "13:2": [
+ 129,
+ 132
+ ],
+ "9:6": true,
+ "6:4": true,
+ "10:6": [
+ 141,
+ 216
+ ],
+ "15:11": true,
+ "12:9": true,
+ "6:3": true,
+ "11:7": [
+ 139,
+ 140
+ ],
+ "2:5": true,
+ "5:8": true,
+ "13:4": true,
+ "12:7": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "1:6": true,
+ "11:10": true,
+ "6:5": true,
+ "3:8": true,
+ "12:10": true,
+ "2:2": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "2:4": true,
+ "13:11": true,
+ "8:6": true,
+ "12:13": true,
+ "2:3": true,
+ "14:6": 144,
+ "9:11": true,
+ "3:7": true,
+ "1:3": true,
+ "10:11": true,
+ "9:5": true,
+ "8:2": true,
+ "1:4": true,
+ "0:7": true,
+ "15:6": true,
+ "11:12": true,
+ "1:2": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "0:9": true,
+ "7:11": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_5.json
index 1174ffa7..db267e0a 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_5.json
@@ -1 +1,71 @@
-{"10:4":true,"7:12":true,"7:15":true,"9:4":true,"10:12":true,"3:10":true,"11:8":true,"2:9":true,"13:6":true,"9:15":true,"0:0":true,"9:12":true,"10:2":true,"10:15":true,"12:8":true,"13:15":true,"10:10":true,"4:11":true,"4:1":true,"3:12":true,"10:0":true,"5:11":true,"5:1":true,"3:2":true,"0:12":[221,227],"9:0":true,"6:3":true,"15:8":true,"6:12":true,"0:4":true,"6:15":true,"14:8":true,"2:1":true,"2:11":[217,222],"15:4":true,"2:12":true,"0:8":true,"6:11":true,"6:1":true,"14:4":true,"5:12":true,"14:15":true,"4:2":true,"15:15":true,"3:11":true,"3:1":true,"5:2":true,"14:6":true,"11:4":true,"6:9":true,"8:12":true,"5:10":true,"10:11":true,"10:1":true,"4:10":true,"12:4":true,"8:15":true,"15:6":true,"12:15":true,"10:8":true,"11:15":true,"1:12":224,"9:8":true} \ No newline at end of file
+{
+ "10:4": true,
+ "7:12": true,
+ "7:15": true,
+ "9:4": true,
+ "10:12": true,
+ "3:10": true,
+ "11:8": true,
+ "2:9": true,
+ "13:6": true,
+ "9:15": true,
+ "0:0": true,
+ "9:12": true,
+ "10:2": true,
+ "10:15": true,
+ "12:8": true,
+ "13:15": true,
+ "10:10": true,
+ "4:11": true,
+ "4:1": true,
+ "3:12": true,
+ "10:0": true,
+ "5:11": true,
+ "5:1": true,
+ "3:2": true,
+ "0:12": [
+ 221,
+ 227
+ ],
+ "9:0": true,
+ "6:3": true,
+ "15:8": true,
+ "6:12": true,
+ "0:4": true,
+ "6:15": true,
+ "14:8": true,
+ "2:1": true,
+ "2:11": [
+ 217,
+ 222
+ ],
+ "15:4": true,
+ "2:12": true,
+ "0:8": true,
+ "6:11": true,
+ "6:1": true,
+ "14:4": true,
+ "5:12": true,
+ "14:15": true,
+ "4:2": true,
+ "15:15": true,
+ "3:11": true,
+ "3:1": true,
+ "5:2": true,
+ "14:6": true,
+ "11:4": true,
+ "6:9": true,
+ "8:12": true,
+ "5:10": true,
+ "10:11": true,
+ "10:1": true,
+ "4:10": true,
+ "12:4": true,
+ "8:15": true,
+ "15:6": true,
+ "12:15": true,
+ "10:8": true,
+ "11:15": true,
+ "1:12": 224,
+ "9:8": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_6.json
index 19d48785..a0f17d70 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_6.json
@@ -1 +1,133 @@
-{"11:5":true,"2:7":true,"6:10":true,"12:5":true,"11:11":true,"2:9":true,"0:6":true,"8:1":true,"3:6":true,"13:10":true,"1:8":true,"14:1":true,"10:10":true,"5:5":true,"2:8":true,"9:10":true,"4:5":true,"15:1":true,"1:9":true,"3:4":true,"0:3":true,"7:10":true,"3:3":true,"1:7":true,"0:4":true,"11:0":true,"12:6":true,"4:3":true,"5:4":true,"7:7":true,"5:3":true,"1:10":true,"13:8":true,"12:0":true,"6:1":true,"11:6":true,"4:4":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"13:1":true,"0:5":true,"12:3":true,"9:1":true,"7:8":true,"6:9":true,"4:6":true,"10:1":true,"5:6":true,"12:4":true,"12:2":true,"2:10":true,"6:7":true,"11:2":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:3":true,"1:5":true,"7:2":true,"6:6":true,"11:1":true,"9:4":true,"8:5":true,"3:10":true,"11:8":true,"7:4":true,"13:6":true,"13:0":true,"0:10":true,"12:8":true,"7:3":true,"13:2":true,"9:6":true,"11:9":true,"6:4":true,"15:5":true,"10:0":true,"14:5":true,"10:6":true,"15:11":[130,151],"12:9":true,"9:0":true,"6:3":true,"7:0":true,"13:3":true,"2:5":true,"13:4":true,"6:2":true,"7:6":true,"15:4":true,"14:3":true,"1:6":true,"11:10":true,"6:5":true,"3:8":true,"12:10":true,"0:8":true,"15:3":true,"14:4":true,"2:4":true,"8:0":true,"14:2":true,"4:15":true,"15:2":true,"8:6":true,"13:5":true,"5:15":222,"2:3":true,"15:0":true,"14:6":true,"10:5":true,"3:7":true,"1:3":true,"9:5":true,"8:2":true,"1:4":true,"0:7":true,"15:6":true,"14:0":true,"8:4":true,"7:5":true,"3:9":true,"8:3":true,"0:9":true,"2:6":true} \ No newline at end of file
+{
+ "11:5": true,
+ "2:7": true,
+ "6:10": true,
+ "12:5": true,
+ "11:11": true,
+ "2:9": true,
+ "0:6": true,
+ "8:1": true,
+ "3:6": true,
+ "13:10": true,
+ "1:8": true,
+ "14:1": true,
+ "10:10": true,
+ "5:5": true,
+ "2:8": true,
+ "9:10": true,
+ "4:5": true,
+ "15:1": true,
+ "1:9": true,
+ "3:4": true,
+ "0:3": true,
+ "7:10": true,
+ "3:3": true,
+ "1:7": true,
+ "0:4": true,
+ "11:0": true,
+ "12:6": true,
+ "4:3": true,
+ "5:4": true,
+ "7:7": true,
+ "5:3": true,
+ "1:10": true,
+ "13:8": true,
+ "12:0": true,
+ "6:1": true,
+ "11:6": true,
+ "4:4": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "13:1": true,
+ "0:5": true,
+ "12:3": true,
+ "9:1": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "10:1": true,
+ "5:6": true,
+ "12:4": true,
+ "12:2": true,
+ "2:10": true,
+ "6:7": true,
+ "11:2": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:3": true,
+ "1:5": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "3:10": true,
+ "11:8": true,
+ "7:4": true,
+ "13:6": true,
+ "13:0": true,
+ "0:10": true,
+ "12:8": true,
+ "7:3": true,
+ "13:2": true,
+ "9:6": true,
+ "11:9": true,
+ "6:4": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "15:11": [
+ 130,
+ 151
+ ],
+ "12:9": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "13:3": true,
+ "2:5": true,
+ "13:4": true,
+ "6:2": true,
+ "7:6": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": true,
+ "11:10": true,
+ "6:5": true,
+ "3:8": true,
+ "12:10": true,
+ "0:8": true,
+ "15:3": true,
+ "14:4": true,
+ "2:4": true,
+ "8:0": true,
+ "14:2": true,
+ "4:15": true,
+ "15:2": true,
+ "8:6": true,
+ "13:5": true,
+ "5:15": 222,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "10:5": true,
+ "3:7": true,
+ "1:3": true,
+ "9:5": true,
+ "8:2": true,
+ "1:4": true,
+ "0:7": true,
+ "15:6": true,
+ "14:0": true,
+ "8:4": true,
+ "7:5": true,
+ "3:9": true,
+ "8:3": true,
+ "0:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_7.json
index 16de57fc..93cf5660 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_7.json
@@ -1 +1,4 @@
-{"14:15":true,"15:15":true} \ No newline at end of file
+{
+ "14:15": true,
+ "15:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_8.json
index ff34c0ae..6bf7f26c 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_8.json
@@ -1 +1,36 @@
-{"9:14":157,"10:14":[157,158],"7:15":153,"13:10":true,"3:15":153,"15:1":true,"15:8":true,"3:4":true,"0:3":true,"0:14":[152,154],"6:15":[153,154],"14:8":true,"10:9":156,"2:15":[151,177],"5:15":153,"2:3":true,"15:0":true,"1:3":true,"1:14":177,"11:14":true,"1:15":true,"13:9":true} \ No newline at end of file
+{
+ "9:14": 157,
+ "10:14": [
+ 157,
+ 158
+ ],
+ "7:15": 153,
+ "13:10": true,
+ "3:15": 153,
+ "15:1": true,
+ "15:8": true,
+ "3:4": true,
+ "0:3": true,
+ "0:14": [
+ 152,
+ 154
+ ],
+ "6:15": [
+ 153,
+ 154
+ ],
+ "14:8": true,
+ "10:9": 156,
+ "2:15": [
+ 151,
+ 177
+ ],
+ "5:15": 153,
+ "2:3": true,
+ "15:0": true,
+ "1:3": true,
+ "1:14": 177,
+ "11:14": true,
+ "1:15": true,
+ "13:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_9.json
index 022335ab..9c1516a2 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-3_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-3_9.json
@@ -1 +1,24 @@
-{"1:1":[142,145],"3:0":true,"9:2":true,"0:0":true,"8:1":true,"7:3":true,"3:2":true,"2:1":true,"5:3":true,"2:2":141,"1:0":true,"14:2":true,"15:2":true,"5:0":true,"10:1":true,"8:2":true,"4:0":true,"2:0":true,"8:3":true} \ No newline at end of file
+{
+ "1:1": [
+ 142,
+ 145
+ ],
+ "3:0": true,
+ "9:2": true,
+ "0:0": true,
+ "8:1": true,
+ "7:3": true,
+ "3:2": true,
+ "2:1": true,
+ "5:3": true,
+ "2:2": 141,
+ "1:0": true,
+ "14:2": true,
+ "15:2": true,
+ "5:0": true,
+ "10:1": true,
+ "8:2": true,
+ "4:0": true,
+ "2:0": true,
+ "8:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-1.json
index cebe97d4..11ba2b08 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-1.json
@@ -1 +1,50 @@
-{"0:6":[145,202],"0:0":true,"1:8":true,"0:2":[198,202],"15:8":true,"0:3":[198,202],"0:4":[143,202],"14:8":true,"0:11":true,"0:5":[198,202],"0:13":[198,202],"0:10":true,"0:15":true,"0:12":true,"7:0":[141,142],"0:14":[202,240],"1:6":true,"0:8":true,"0:1":true,"0:7":[198,202],"0:9":true} \ No newline at end of file
+{
+ "0:6": [
+ 145,
+ 202
+ ],
+ "0:0": true,
+ "1:8": true,
+ "0:2": [
+ 198,
+ 202
+ ],
+ "15:8": true,
+ "0:3": [
+ 198,
+ 202
+ ],
+ "0:4": [
+ 143,
+ 202
+ ],
+ "14:8": true,
+ "0:11": true,
+ "0:5": [
+ 198,
+ 202
+ ],
+ "0:13": [
+ 198,
+ 202
+ ],
+ "0:10": true,
+ "0:15": true,
+ "0:12": true,
+ "7:0": [
+ 141,
+ 142
+ ],
+ "0:14": [
+ 202,
+ 240
+ ],
+ "1:6": true,
+ "0:8": true,
+ "0:1": true,
+ "0:7": [
+ 198,
+ 202
+ ],
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-5.json
index e7de5fa3..879e632f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-5.json
@@ -1 +1,20 @@
-{"2:7":true,"7:15":209,"3:6":214,"3:4":215,"2:5":215,"1:7":164,"6:15":208,"1:6":[163,164],"3:8":214,"3:5":214,"2:4":216,"2:3":216,"3:7":214,"3:9":true,"2:6":true} \ No newline at end of file
+{
+ "2:7": true,
+ "7:15": 209,
+ "3:6": 214,
+ "3:4": 215,
+ "2:5": 215,
+ "1:7": 164,
+ "6:15": 208,
+ "1:6": [
+ 163,
+ 164
+ ],
+ "3:8": 214,
+ "3:5": 214,
+ "2:4": 216,
+ "2:3": 216,
+ "3:7": 214,
+ "3:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-6.json
index 63ccec79..5e345adf 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_-6.json
@@ -1 +1,21 @@
-{"3:12":true,"4:3":true,"5:0":true,"2:12":true,"5:1":true,"5:6":true,"4:5":true,"0:12":[220,226],"4:9":true,"5:7":true,"5:8":true,"1:12":[219,226],"5:2":true} \ No newline at end of file
+{
+ "3:12": true,
+ "4:3": true,
+ "5:0": true,
+ "2:12": true,
+ "5:1": true,
+ "5:6": true,
+ "4:5": true,
+ "0:12": [
+ 220,
+ 226
+ ],
+ "4:9": true,
+ "5:7": true,
+ "5:8": true,
+ "1:12": [
+ 219,
+ 226
+ ],
+ "5:2": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_0.json
index fac56be4..74ee4eb5 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_0.json
@@ -1 +1,102 @@
-{"15:9":true,"2:7":true,"8:8":true,"7:12":true,"6:10":true,"14:9":true,"2:9":true,"15:7":true,"0:6":true,"0:0":true,"14:7":true,"9:12":true,"3:6":true,"13:10":true,"1:8":true,"10:10":true,"8:7":232,"0:2":true,"2:8":true,"9:10":true,"1:9":true,"15:8":true,"0:3":true,"8:9":true,"7:10":true,"6:12":true,"1:7":true,"0:4":true,"14:8":true,"12:6":true,"10:9":true,"7:7":232,"1:10":true,"13:8":true,"9:9":true,"11:6":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"0:11":true,"9:7":true,"0:5":true,"8:12":true,"7:8":true,"6:9":true,"4:6":231,"15:10":true,"14:10":true,"5:6":231,"13:7":true,"2:10":true,"10:8":true,"6:7":232,"13:9":true,"9:8":true,"5:9":true,"0:13":true,"6:6":231,"4:9":true,"5:7":true,"3:10":true,"11:8":true,"13:6":true,"4:7":true,"0:10":true,"12:8":true,"14:11":true,"9:6":231,"0:15":true,"11:9":true,"10:6":true,"0:12":true,"15:11":true,"12:9":true,"11:7":true,"2:5":true,"0:14":true,"5:8":true,"12:7":true,"7:6":231,"4:8":true,"1:6":true,"11:10":true,"3:8":true,"12:10":true,"0:8":true,"0:1":true,"8:6":231,"14:6":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"4:10":true,"0:7":true,"15:6":true,"3:9":true,"0:9":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "2:7": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "14:9": true,
+ "2:9": true,
+ "15:7": true,
+ "0:6": true,
+ "0:0": true,
+ "14:7": true,
+ "9:12": true,
+ "3:6": true,
+ "13:10": true,
+ "1:8": true,
+ "10:10": true,
+ "8:7": 232,
+ "0:2": true,
+ "2:8": true,
+ "9:10": true,
+ "1:9": true,
+ "15:8": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "1:7": true,
+ "0:4": true,
+ "14:8": true,
+ "12:6": true,
+ "10:9": true,
+ "7:7": 232,
+ "1:10": true,
+ "13:8": true,
+ "9:9": true,
+ "11:6": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "0:11": true,
+ "9:7": true,
+ "0:5": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": 231,
+ "15:10": true,
+ "14:10": true,
+ "5:6": 231,
+ "13:7": true,
+ "2:10": true,
+ "10:8": true,
+ "6:7": 232,
+ "13:9": true,
+ "9:8": true,
+ "5:9": true,
+ "0:13": true,
+ "6:6": 231,
+ "4:9": true,
+ "5:7": true,
+ "3:10": true,
+ "11:8": true,
+ "13:6": true,
+ "4:7": true,
+ "0:10": true,
+ "12:8": true,
+ "14:11": true,
+ "9:6": 231,
+ "0:15": true,
+ "11:9": true,
+ "10:6": true,
+ "0:12": true,
+ "15:11": true,
+ "12:9": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "5:8": true,
+ "12:7": true,
+ "7:6": 231,
+ "4:8": true,
+ "1:6": true,
+ "11:10": true,
+ "3:8": true,
+ "12:10": true,
+ "0:8": true,
+ "0:1": true,
+ "8:6": 231,
+ "14:6": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "4:10": true,
+ "0:7": true,
+ "15:6": true,
+ "3:9": true,
+ "0:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_1.json
index c1c640ba..2ee90774 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_1.json
@@ -1 +1,28 @@
-{"2:7":true,"0:13":true,"5:7":true,"0:6":true,"0:0":true,"0:10":true,"0:2":true,"0:15":true,"0:12":true,"3:4":true,"0:3":true,"0:14":true,"3:3":true,"0:4":true,"5:4":true,"5:3":true,"14:15":true,"0:11":true,"0:1":true,"2:3":true,"0:5":true,"3:7":true,"1:14":true,"5:6":true,"0:7":true,"0:9":true} \ No newline at end of file
+{
+ "2:7": true,
+ "0:13": true,
+ "5:7": true,
+ "0:6": true,
+ "0:0": true,
+ "0:10": true,
+ "0:2": true,
+ "0:15": true,
+ "0:12": true,
+ "3:4": true,
+ "0:3": true,
+ "0:14": true,
+ "3:3": true,
+ "0:4": true,
+ "5:4": true,
+ "5:3": true,
+ "14:15": true,
+ "0:11": true,
+ "0:1": true,
+ "2:3": true,
+ "0:5": true,
+ "3:7": true,
+ "1:14": true,
+ "5:6": true,
+ "0:7": true,
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_10.json
index f21789f0..7195ab3e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_10.json
@@ -1 +1,199 @@
-{"15:9":119,"12:11":true,"1:1":true,"11:5":119,"2:7":true,"8:8":true,"6:10":true,"13:13":true,"12:5":119,"14:9":120,"11:11":true,"10:12":true,"2:9":117,"15:7":119,"3:0":true,"0:6":true,"0:0":true,"14:7":119,"3:6":true,"13:10":true,"1:8":true,"10:10":true,"8:7":true,"5:5":120,"0:2":true,"2:8":true,"9:10":true,"4:5":true,"13:12":true,"3:2":true,"1:9":true,"15:8":119,"3:4":true,"0:3":true,"8:9":true,"7:10":true,"3:3":true,"1:7":true,"14:8":119,"2:1":true,"12:6":119,"4:3":true,"5:4":true,"10:9":true,"7:7":true,"5:3":true,"1:10":true,"13:8":120,"9:9":true,"6:1":true,"11:6":119,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"4:2":true,"0:11":true,"14:12":true,"9:7":true,"5:2":[121,139],"0:5":true,"11:4":118,"7:8":true,"6:9":true,"4:6":[120,161],"2:13":true,"1:14":true,"15:10":120,"5:0":true,"14:10":true,"5:6":120,"13:7":119,"12:4":[117,118],"11:3":true,"4:0":true,"15:13":true,"10:8":true,"6:7":true,"13:9":true,"9:8":true,"7:1":true,"14:13":true,"9:3":118,"6:0":true,"1:11":true,"10:4":119,"5:9":true,"10:3":[116,118],"1:5":true,"0:13":true,"7:2":true,"6:6":true,"4:9":119,"9:4":119,"8:5":true,"5:7":true,"11:8":true,"7:4":120,"13:6":119,"8:11":true,"4:7":120,"0:10":true,"12:8":120,"7:3":[120,163],"14:11":true,"9:6":true,"4:1":true,"0:15":true,"11:9":true,"6:4":true,"15:5":true,"14:5":118,"10:6":119,"5:1":true,"0:12":true,"15:11":120,"12:9":true,"6:3":[120,141],"11:7":120,"2:5":true,"0:14":true,"5:8":true,"13:4":true,"12:7":119,"6:2":true,"7:6":true,"4:8":120,"15:4":true,"1:6":true,"11:10":true,"6:5":120,"3:8":120,"12:10":true,"2:2":true,"0:8":true,"15:3":true,"1:0":true,"14:4":true,"2:4":true,"13:11":true,"0:1":true,"8:6":true,"3:1":true,"13:5":118,"12:13":true,"2:3":true,"14:6":118,"10:5":119,"9:11":true,"3:7":[120,161],"1:3":true,"10:11":true,"9:5":true,"8:2":true,"1:4":true,"0:7":true,"15:6":[118,161],"2:0":true,"11:12":true,"8:4":119,"1:2":true,"7:5":120,"3:9":[118,119],"12:12":true,"8:3":119,"0:9":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": 119,
+ "12:11": true,
+ "1:1": true,
+ "11:5": 119,
+ "2:7": true,
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "12:5": 119,
+ "14:9": 120,
+ "11:11": true,
+ "10:12": true,
+ "2:9": 117,
+ "15:7": 119,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "14:7": 119,
+ "3:6": true,
+ "13:10": true,
+ "1:8": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": 120,
+ "0:2": true,
+ "2:8": true,
+ "9:10": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "1:9": true,
+ "15:8": 119,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": true,
+ "1:7": true,
+ "14:8": 119,
+ "2:1": true,
+ "12:6": 119,
+ "4:3": true,
+ "5:4": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "1:10": true,
+ "13:8": 120,
+ "9:9": true,
+ "6:1": true,
+ "11:6": 119,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "4:2": true,
+ "0:11": true,
+ "14:12": true,
+ "9:7": true,
+ "5:2": [
+ 121,
+ 139
+ ],
+ "0:5": true,
+ "11:4": 118,
+ "7:8": true,
+ "6:9": true,
+ "4:6": [
+ 120,
+ 161
+ ],
+ "2:13": true,
+ "1:14": true,
+ "15:10": 120,
+ "5:0": true,
+ "14:10": true,
+ "5:6": 120,
+ "13:7": 119,
+ "12:4": [
+ 117,
+ 118
+ ],
+ "11:3": true,
+ "4:0": true,
+ "15:13": true,
+ "10:8": true,
+ "6:7": true,
+ "13:9": true,
+ "9:8": true,
+ "7:1": true,
+ "14:13": true,
+ "9:3": 118,
+ "6:0": true,
+ "1:11": true,
+ "10:4": 119,
+ "5:9": true,
+ "10:3": [
+ 116,
+ 118
+ ],
+ "1:5": true,
+ "0:13": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": 119,
+ "9:4": 119,
+ "8:5": true,
+ "5:7": true,
+ "11:8": true,
+ "7:4": 120,
+ "13:6": 119,
+ "8:11": true,
+ "4:7": 120,
+ "0:10": true,
+ "12:8": 120,
+ "7:3": [
+ 120,
+ 163
+ ],
+ "14:11": true,
+ "9:6": true,
+ "4:1": true,
+ "0:15": true,
+ "11:9": true,
+ "6:4": true,
+ "15:5": true,
+ "14:5": 118,
+ "10:6": 119,
+ "5:1": true,
+ "0:12": true,
+ "15:11": 120,
+ "12:9": true,
+ "6:3": [
+ 120,
+ 141
+ ],
+ "11:7": 120,
+ "2:5": true,
+ "0:14": true,
+ "5:8": true,
+ "13:4": true,
+ "12:7": 119,
+ "6:2": true,
+ "7:6": true,
+ "4:8": 120,
+ "15:4": true,
+ "1:6": true,
+ "11:10": true,
+ "6:5": 120,
+ "3:8": 120,
+ "12:10": true,
+ "2:2": true,
+ "0:8": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "2:4": true,
+ "13:11": true,
+ "0:1": true,
+ "8:6": true,
+ "3:1": true,
+ "13:5": 118,
+ "12:13": true,
+ "2:3": true,
+ "14:6": 118,
+ "10:5": 119,
+ "9:11": true,
+ "3:7": [
+ 120,
+ 161
+ ],
+ "1:3": true,
+ "10:11": true,
+ "9:5": true,
+ "8:2": true,
+ "1:4": true,
+ "0:7": true,
+ "15:6": [
+ 118,
+ 161
+ ],
+ "2:0": true,
+ "11:12": true,
+ "8:4": 119,
+ "1:2": true,
+ "7:5": 120,
+ "3:9": [
+ 118,
+ 119
+ ],
+ "12:12": true,
+ "8:3": 119,
+ "0:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_11.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_11.json
index 94a5299b..442a1304 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_11.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_11.json
@@ -1 +1,13 @@
-{"0:2":[156,158],"0:3":true,"0:1":[157,158],"0:0":true,"0:4":true} \ No newline at end of file
+{
+ "0:2": [
+ 156,
+ 158
+ ],
+ "0:3": true,
+ "0:1": [
+ 157,
+ 158
+ ],
+ "0:0": true,
+ "0:4": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_2.json
index 2663a92a..b3c7f83d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_2.json
@@ -1 +1,21 @@
-{"12:1":true,"10:4":[189,190],"13:0":true,"0:0":true,"0:2":true,"0:3":true,"0:4":true,"7:7":194,"6:5":true,"14:2":187,"13:1":true,"0:1":true,"0:5":true,"14:0":true,"7:5":true,"6:7":true} \ No newline at end of file
+{
+ "12:1": true,
+ "10:4": [
+ 189,
+ 190
+ ],
+ "13:0": true,
+ "0:0": true,
+ "0:2": true,
+ "0:3": true,
+ "0:4": true,
+ "7:7": 194,
+ "6:5": true,
+ "14:2": 187,
+ "13:1": true,
+ "0:1": true,
+ "0:5": true,
+ "14:0": true,
+ "7:5": true,
+ "6:7": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_3.json
index 06368a6b..26198543 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_3.json
@@ -1 +1,37 @@
-{"9:14":true,"10:12":true,"9:15":true,"9:12":true,"9:13":true,"11:0":[150,151],"12:0":176,"12:3":true,"10:1":[155,156],"11:3":true,"12:1":156,"9:3":[175,176],"11:1":[156,176],"9:4":177,"9:2":175,"10:2":176,"0:10":true,"12:13":true,"12:14":true,"12:15":true,"11:12":true,"12:12":true,"0:9":true} \ No newline at end of file
+{
+ "9:14": true,
+ "10:12": true,
+ "9:15": true,
+ "9:12": true,
+ "9:13": true,
+ "11:0": [
+ 150,
+ 151
+ ],
+ "12:0": 176,
+ "12:3": true,
+ "10:1": [
+ 155,
+ 156
+ ],
+ "11:3": true,
+ "12:1": 156,
+ "9:3": [
+ 175,
+ 176
+ ],
+ "11:1": [
+ 156,
+ 176
+ ],
+ "9:4": 177,
+ "9:2": 175,
+ "10:2": 176,
+ "0:10": true,
+ "12:13": true,
+ "12:14": true,
+ "12:15": true,
+ "11:12": true,
+ "12:12": true,
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_4.json
index baade365..521c4837 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_4.json
@@ -1 +1,11 @@
-{"7:13":true,"0:4":138,"12:0":true,"0:5":139,"9:1":true,"10:1":true,"12:1":true,"11:1":true,"9:0":true} \ No newline at end of file
+{
+ "7:13": true,
+ "0:4": 138,
+ "12:0": true,
+ "0:5": 139,
+ "9:1": true,
+ "10:1": true,
+ "12:1": true,
+ "11:1": true,
+ "9:0": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_5.json
index 43d11448..93ee3533 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_5.json
@@ -1 +1,14 @@
-{"13:3":152,"13:4":true,"14:8":true,"14:3":[138,140],"13:8":true,"15:3":139,"12:0":183,"14:4":true,"12:3":true} \ No newline at end of file
+{
+ "13:3": 152,
+ "13:4": true,
+ "14:8": true,
+ "14:3": [
+ 138,
+ 140
+ ],
+ "13:8": true,
+ "15:3": 139,
+ "12:0": 183,
+ "14:4": true,
+ "12:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_6.json
index 08674183..eeb113d8 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_6.json
@@ -1 +1,25 @@
-{"12:11":true,"9:14":true,"11:11":true,"9:15":true,"9:12":true,"9:13":true,"2:12":true,"0:11":true,"1:13":true,"2:13":true,"1:12":true,"1:11":true,"3:13":true,"0:13":true,"0:10":true,"0:12":true,"0:1":true,"12:13":true,"9:11":true,"12:14":true,"10:11":true,"12:15":true,"12:12":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "11:11": true,
+ "9:15": true,
+ "9:12": true,
+ "9:13": true,
+ "2:12": true,
+ "0:11": true,
+ "1:13": true,
+ "2:13": true,
+ "1:12": true,
+ "1:11": true,
+ "3:13": true,
+ "0:13": true,
+ "0:10": true,
+ "0:12": true,
+ "0:1": true,
+ "12:13": true,
+ "9:11": true,
+ "12:14": true,
+ "10:11": true,
+ "12:15": true,
+ "12:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_7.json
index 82769773..2df26e51 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_7.json
@@ -1 +1,15 @@
-{"1:1":true,"0:2":true,"10:0":true,"9:0":true,"14:8":true,"2:1":true,"11:0":true,"2:2":197,"13:8":true,"12:0":true,"1:0":true,"0:1":true,"2:0":true} \ No newline at end of file
+{
+ "1:1": true,
+ "0:2": true,
+ "10:0": true,
+ "9:0": true,
+ "14:8": true,
+ "2:1": true,
+ "11:0": true,
+ "2:2": 197,
+ "13:8": true,
+ "12:0": true,
+ "1:0": true,
+ "0:1": true,
+ "2:0": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_8.json
index 6980d16e..059a2de6 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_8.json
@@ -1 +1,76 @@
-{"2:7":true,"8:8":true,"3:6":183,"8:7":137,"0:2":[162,171],"9:10":[157,184],"4:5":162,"13:12":181,"3:4":163,"0:3":[162,172],"8:9":[133,158],"10:9":[132,133],"7:7":183,"9:9":[133,183],"8:10":157,"7:9":133,"6:8":true,"3:5":161,"14:12":[153,180],"5:6":160,"15:13":153,"10:8":[134,182],"6:7":[160,184],"9:8":[135,182],"4:7":true,"11:9":133,"13:3":true,"5:8":true,"14:3":true,"11:10":157,"15:3":true,"2:4":[161,165],"0:1":true,"3:7":true,"1:3":[162,171],"1:4":160,"3:9":true,"2:6":true} \ No newline at end of file
+{
+ "2:7": true,
+ "8:8": true,
+ "3:6": 183,
+ "8:7": 137,
+ "0:2": [
+ 162,
+ 171
+ ],
+ "9:10": [
+ 157,
+ 184
+ ],
+ "4:5": 162,
+ "13:12": 181,
+ "3:4": 163,
+ "0:3": [
+ 162,
+ 172
+ ],
+ "8:9": [
+ 133,
+ 158
+ ],
+ "10:9": [
+ 132,
+ 133
+ ],
+ "7:7": 183,
+ "9:9": [
+ 133,
+ 183
+ ],
+ "8:10": 157,
+ "7:9": 133,
+ "6:8": true,
+ "3:5": 161,
+ "14:12": [
+ 153,
+ 180
+ ],
+ "5:6": 160,
+ "15:13": 153,
+ "10:8": [
+ 134,
+ 182
+ ],
+ "6:7": [
+ 160,
+ 184
+ ],
+ "9:8": [
+ 135,
+ 182
+ ],
+ "4:7": true,
+ "11:9": 133,
+ "13:3": true,
+ "5:8": true,
+ "14:3": true,
+ "11:10": 157,
+ "15:3": true,
+ "2:4": [
+ 161,
+ 165
+ ],
+ "0:1": true,
+ "3:7": true,
+ "1:3": [
+ 162,
+ 171
+ ],
+ "1:4": 160,
+ "3:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_9.json
index 9f64e883..8dd2259d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-4_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-4_9.json
@@ -1 +1,42 @@
-{"1:11":true,"3:13":true,"0:13":true,"3:10":true,"2:9":true,"0:6":true,"0:10":true,"4:11":true,"3:12":true,"0:15":true,"2:8":true,"0:12":true,"1:9":true,"0:14":true,"3:14":true,"2:11":true,"4:14":true,"2:12":true,"5:14":true,"1:10":true,"0:8":true,"4:15":true,"0:11":true,"4:12":true,"3:11":true,"2:14":true,"1:13":true,"0:5":true,"15:0":true,"2:13":true,"1:14":true,"4:10":true,"0:7":true,"5:13":true,"2:10":true,"1:15":true,"3:9":true,"1:12":true,"0:9":true,"4:13":true} \ No newline at end of file
+{
+ "1:11": true,
+ "3:13": true,
+ "0:13": true,
+ "3:10": true,
+ "2:9": true,
+ "0:6": true,
+ "0:10": true,
+ "4:11": true,
+ "3:12": true,
+ "0:15": true,
+ "2:8": true,
+ "0:12": true,
+ "1:9": true,
+ "0:14": true,
+ "3:14": true,
+ "2:11": true,
+ "4:14": true,
+ "2:12": true,
+ "5:14": true,
+ "1:10": true,
+ "0:8": true,
+ "4:15": true,
+ "0:11": true,
+ "4:12": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "15:0": true,
+ "2:13": true,
+ "1:14": true,
+ "4:10": true,
+ "0:7": true,
+ "5:13": true,
+ "2:10": true,
+ "1:15": true,
+ "3:9": true,
+ "1:12": true,
+ "0:9": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-1.json
index fe872f4b..ad2dba34 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-1.json
@@ -1 +1,56 @@
-{"12:11":true,"12:5":true,"14:1":true,"15:1":true,"14:14":true,"12:6":true,"15:14":240,"12:0":202,"14:15":true,"14:12":[183,186],"12:3":true,"12:4":true,"15:13":198,"12:2":[198,202],"14:13":[144,189],"12:1":[198,202],"11:8":true,"12:8":true,"14:11":[182,183],"12:9":true,"12:7":true,"14:3":[182,183],"12:10":true,"14:2":[183,186],"12:13":true,"15:0":true,"12:14":true,"14:0":[146,192],"12:15":true,"12:12":true} \ No newline at end of file
+{
+ "12:11": true,
+ "12:5": true,
+ "14:1": true,
+ "15:1": true,
+ "14:14": true,
+ "12:6": true,
+ "15:14": 240,
+ "12:0": 202,
+ "14:15": true,
+ "14:12": [
+ 183,
+ 186
+ ],
+ "12:3": true,
+ "12:4": true,
+ "15:13": 198,
+ "12:2": [
+ 198,
+ 202
+ ],
+ "14:13": [
+ 144,
+ 189
+ ],
+ "12:1": [
+ 198,
+ 202
+ ],
+ "11:8": true,
+ "12:8": true,
+ "14:11": [
+ 182,
+ 183
+ ],
+ "12:9": true,
+ "12:7": true,
+ "14:3": [
+ 182,
+ 183
+ ],
+ "12:10": true,
+ "14:2": [
+ 183,
+ 186
+ ],
+ "12:13": true,
+ "15:0": true,
+ "12:14": true,
+ "14:0": [
+ 146,
+ 192
+ ],
+ "12:15": true,
+ "12:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-2.json
index 4ba1b08a..f45f2e4f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-2.json
@@ -1 +1,53 @@
-{"15:9":true,"12:11":202,"12:1":true,"12:5":true,"14:9":true,"14:7":[182,183],"12:8":true,"14:11":[155,198],"12:9":true,"12:7":true,"14:8":[183,186],"14:14":[148,198],"12:6":true,"12:10":true,"12:0":true,"14:15":[147,198],"15:15":true,"14:12":[152,198],"12:13":true,"12:14":true,"12:3":true,"14:10":[156,198],"12:4":true,"12:15":202,"12:2":true,"12:12":202,"14:13":[150,198]} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": 202,
+ "12:1": true,
+ "12:5": true,
+ "14:9": true,
+ "14:7": [
+ 182,
+ 183
+ ],
+ "12:8": true,
+ "14:11": [
+ 155,
+ 198
+ ],
+ "12:9": true,
+ "12:7": true,
+ "14:8": [
+ 183,
+ 186
+ ],
+ "14:14": [
+ 148,
+ 198
+ ],
+ "12:6": true,
+ "12:10": true,
+ "12:0": true,
+ "14:15": [
+ 147,
+ 198
+ ],
+ "15:15": true,
+ "14:12": [
+ 152,
+ 198
+ ],
+ "12:13": true,
+ "12:14": true,
+ "12:3": true,
+ "14:10": [
+ 156,
+ 198
+ ],
+ "12:4": true,
+ "12:15": 202,
+ "12:2": true,
+ "12:12": 202,
+ "14:13": [
+ 150,
+ 198
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-3.json
index d86589b5..d3194487 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-3.json
@@ -1 +1,50 @@
-{"12:11":true,"12:1":true,"12:5":true,"14:9":true,"14:7":true,"12:8":true,"14:11":true,"15:5":true,"14:5":true,"12:9":true,"12:7":true,"14:8":true,"14:14":[183,186],"14:3":[182,183],"12:6":true,"12:10":true,"12:0":true,"14:4":[183,186],"14:15":[182,183],"14:12":true,"12:13":true,"14:6":true,"12:14":true,"12:3":[198,202],"14:10":true,"12:4":true,"12:15":true,"12:2":[198,202],"12:12":true,"14:13":true} \ No newline at end of file
+{
+ "12:11": true,
+ "12:1": true,
+ "12:5": true,
+ "14:9": true,
+ "14:7": true,
+ "12:8": true,
+ "14:11": true,
+ "15:5": true,
+ "14:5": true,
+ "12:9": true,
+ "12:7": true,
+ "14:8": true,
+ "14:14": [
+ 183,
+ 186
+ ],
+ "14:3": [
+ 182,
+ 183
+ ],
+ "12:6": true,
+ "12:10": true,
+ "12:0": true,
+ "14:4": [
+ 183,
+ 186
+ ],
+ "14:15": [
+ 182,
+ 183
+ ],
+ "14:12": true,
+ "12:13": true,
+ "14:6": true,
+ "12:14": true,
+ "12:3": [
+ 198,
+ 202
+ ],
+ "14:10": true,
+ "12:4": true,
+ "12:15": true,
+ "12:2": [
+ 198,
+ 202
+ ],
+ "12:12": true,
+ "14:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-4.json
index 72b3a2bf..ccc6a675 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-4.json
@@ -1 +1,143 @@
-{"15:9":220,"12:11":true,"7:12":220,"13:13":220,"14:9":[164,193],"11:11":222,"10:12":222,"3:0":[201,202],"0:0":true,"14:7":[164,192],"9:12":[214,222],"13:10":222,"10:10":222,"7:13":[219,220],"9:10":true,"4:5":177,"13:12":222,"10:13":219,"3:4":[201,202],"7:10":220,"0:4":204,"14:8":true,"9:13":true,"5:4":[177,203],"10:9":219,"9:9":220,"4:4":[201,202],"8:10":true,"7:9":[219,220],"3:5":[175,177],"15:12":222,"0:11":true,"14:12":true,"1:13":true,"0:5":176,"8:12":222,"15:10":222,"14:10":[162,222],"15:13":220,"1:12":true,"13:9":220,"1:5":178,"8:11":222,"14:11":[162,222],"14:5":[172,188],"0:12":true,"15:11":222,"12:9":219,"6:3":177,"13:3":184,"2:5":[176,178],"3:14":true,"15:4":[182,184],"11:10":222,"12:10":222,"15:3":175,"1:0":true,"14:4":[173,184],"2:4":[202,203],"13:11":222,"12:13":[198,219],"14:6":[167,191],"12:14":[198,202],"9:11":222,"10:11":222,"1:4":[203,204],"15:6":190,"2:0":[202,203],"12:15":true,"11:12":222,"12:12":[198,222],"0:9":true} \ No newline at end of file
+{
+ "15:9": 220,
+ "12:11": true,
+ "7:12": 220,
+ "13:13": 220,
+ "14:9": [
+ 164,
+ 193
+ ],
+ "11:11": 222,
+ "10:12": 222,
+ "3:0": [
+ 201,
+ 202
+ ],
+ "0:0": true,
+ "14:7": [
+ 164,
+ 192
+ ],
+ "9:12": [
+ 214,
+ 222
+ ],
+ "13:10": 222,
+ "10:10": 222,
+ "7:13": [
+ 219,
+ 220
+ ],
+ "9:10": true,
+ "4:5": 177,
+ "13:12": 222,
+ "10:13": 219,
+ "3:4": [
+ 201,
+ 202
+ ],
+ "7:10": 220,
+ "0:4": 204,
+ "14:8": true,
+ "9:13": true,
+ "5:4": [
+ 177,
+ 203
+ ],
+ "10:9": 219,
+ "9:9": 220,
+ "4:4": [
+ 201,
+ 202
+ ],
+ "8:10": true,
+ "7:9": [
+ 219,
+ 220
+ ],
+ "3:5": [
+ 175,
+ 177
+ ],
+ "15:12": 222,
+ "0:11": true,
+ "14:12": true,
+ "1:13": true,
+ "0:5": 176,
+ "8:12": 222,
+ "15:10": 222,
+ "14:10": [
+ 162,
+ 222
+ ],
+ "15:13": 220,
+ "1:12": true,
+ "13:9": 220,
+ "1:5": 178,
+ "8:11": 222,
+ "14:11": [
+ 162,
+ 222
+ ],
+ "14:5": [
+ 172,
+ 188
+ ],
+ "0:12": true,
+ "15:11": 222,
+ "12:9": 219,
+ "6:3": 177,
+ "13:3": 184,
+ "2:5": [
+ 176,
+ 178
+ ],
+ "3:14": true,
+ "15:4": [
+ 182,
+ 184
+ ],
+ "11:10": 222,
+ "12:10": 222,
+ "15:3": 175,
+ "1:0": true,
+ "14:4": [
+ 173,
+ 184
+ ],
+ "2:4": [
+ 202,
+ 203
+ ],
+ "13:11": 222,
+ "12:13": [
+ 198,
+ 219
+ ],
+ "14:6": [
+ 167,
+ 191
+ ],
+ "12:14": [
+ 198,
+ 202
+ ],
+ "9:11": 222,
+ "10:11": 222,
+ "1:4": [
+ 203,
+ 204
+ ],
+ "15:6": 190,
+ "2:0": [
+ 202,
+ 203
+ ],
+ "12:15": true,
+ "11:12": 222,
+ "12:12": [
+ 198,
+ 222
+ ],
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-5.json
index 39e0ea2a..8d791b4b 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-5.json
@@ -1 +1,6 @@
-{"3:0":true,"10:5":true,"5:0":true,"4:0":true} \ No newline at end of file
+{
+ "3:0": true,
+ "10:5": true,
+ "5:0": true,
+ "4:0": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-6.json
index 20dc2658..b4ec815d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_-6.json
@@ -1 +1,64 @@
-{"11:5":true,"7:12":true,"4:9":true,"11:1":true,"10:12":true,"11:8":true,"3:0":true,"13:6":true,"13:0":true,"9:12":true,"3:6":true,"13:10":230,"12:8":true,"13:2":true,"11:9":true,"4:5":true,"13:12":true,"3:2":true,"13:3":true,"11:7":true,"6:12":true,"13:4":true,"12:7":true,"6:15":true,"11:0":true,"12:6":true,"4:3":true,"11:10":true,"3:8":[214,225],"12:10":true,"13:8":true,"12:0":true,"11:6":true,"15:12":[219,227],"13:1":true,"14:12":[219,227],"3:1":true,"13:5":true,"12:3":true,"11:4":true,"8:12":true,"3:7":[214,226],"13:7":true,"12:4":true,"11:3":true,"12:2":true,"11:12":true,"12:12":true,"11:2":true,"13:9":230} \ No newline at end of file
+{
+ "11:5": true,
+ "7:12": true,
+ "4:9": true,
+ "11:1": true,
+ "10:12": true,
+ "11:8": true,
+ "3:0": true,
+ "13:6": true,
+ "13:0": true,
+ "9:12": true,
+ "3:6": true,
+ "13:10": 230,
+ "12:8": true,
+ "13:2": true,
+ "11:9": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "13:3": true,
+ "11:7": true,
+ "6:12": true,
+ "13:4": true,
+ "12:7": true,
+ "6:15": true,
+ "11:0": true,
+ "12:6": true,
+ "4:3": true,
+ "11:10": true,
+ "3:8": [
+ 214,
+ 225
+ ],
+ "12:10": true,
+ "13:8": true,
+ "12:0": true,
+ "11:6": true,
+ "15:12": [
+ 219,
+ 227
+ ],
+ "13:1": true,
+ "14:12": [
+ 219,
+ 227
+ ],
+ "3:1": true,
+ "13:5": true,
+ "12:3": true,
+ "11:4": true,
+ "8:12": true,
+ "3:7": [
+ 214,
+ 226
+ ],
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "12:2": true,
+ "11:12": true,
+ "12:12": true,
+ "11:2": true,
+ "13:9": 230
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_0.json
index 1a304ed3..03400aad 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_0.json
@@ -1 +1,102 @@
-{"15:9":true,"12:1":true,"12:11":true,"8:8":true,"6:10":true,"5:9":true,"12:5":true,"0:13":true,"14:9":true,"6:6":true,"4:9":true,"5:7":true,"11:8":true,"2:9":true,"15:7":true,"13:6":true,"14:7":[150,232],"4:7":true,"13:10":true,"12:8":true,"1:8":true,"14:11":true,"14:1":true,"8:7":true,"9:6":true,"11:9":true,"14:5":true,"10:6":true,"5:11":true,"3:15":true,"12:9":true,"1:9":true,"15:8":true,"11:7":true,"0:14":true,"8:9":true,"5:8":true,"12:7":true,"14:8":true,"7:6":true,"4:8":true,"14:14":true,"14:3":true,"12:6":true,"10:9":true,"7:7":true,"12:10":true,"13:8":true,"0:8":true,"12:0":true,"9:9":true,"14:4":true,"11:6":true,"10:7":true,"7:9":true,"6:8":true,"5:12":true,"14:15":[150,183],"14:2":true,"14:12":true,"9:7":true,"8:6":true,"12:13":true,"2:14":true,"1:13":true,"12:14":true,"12:3":true,"14:6":[140,231],"7:8":true,"6:9":true,"5:10":true,"4:6":true,"2:13":true,"1:14":true,"15:10":true,"14:10":true,"5:6":true,"4:10":true,"13:7":true,"12:4":true,"15:6":true,"14:0":true,"12:2":true,"12:15":true,"10:8":true,"6:7":true,"3:9":true,"12:12":true,"13:9":true,"9:8":true,"14:13":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:1": true,
+ "12:11": true,
+ "8:8": true,
+ "6:10": true,
+ "5:9": true,
+ "12:5": true,
+ "0:13": true,
+ "14:9": true,
+ "6:6": true,
+ "4:9": true,
+ "5:7": true,
+ "11:8": true,
+ "2:9": true,
+ "15:7": true,
+ "13:6": true,
+ "14:7": [
+ 150,
+ 232
+ ],
+ "4:7": true,
+ "13:10": true,
+ "12:8": true,
+ "1:8": true,
+ "14:11": true,
+ "14:1": true,
+ "8:7": true,
+ "9:6": true,
+ "11:9": true,
+ "14:5": true,
+ "10:6": true,
+ "5:11": true,
+ "3:15": true,
+ "12:9": true,
+ "1:9": true,
+ "15:8": true,
+ "11:7": true,
+ "0:14": true,
+ "8:9": true,
+ "5:8": true,
+ "12:7": true,
+ "14:8": true,
+ "7:6": true,
+ "4:8": true,
+ "14:14": true,
+ "14:3": true,
+ "12:6": true,
+ "10:9": true,
+ "7:7": true,
+ "12:10": true,
+ "13:8": true,
+ "0:8": true,
+ "12:0": true,
+ "9:9": true,
+ "14:4": true,
+ "11:6": true,
+ "10:7": true,
+ "7:9": true,
+ "6:8": true,
+ "5:12": true,
+ "14:15": [
+ 150,
+ 183
+ ],
+ "14:2": true,
+ "14:12": true,
+ "9:7": true,
+ "8:6": true,
+ "12:13": true,
+ "2:14": true,
+ "1:13": true,
+ "12:14": true,
+ "12:3": true,
+ "14:6": [
+ 140,
+ 231
+ ],
+ "7:8": true,
+ "6:9": true,
+ "5:10": true,
+ "4:6": true,
+ "2:13": true,
+ "1:14": true,
+ "15:10": true,
+ "14:10": true,
+ "5:6": true,
+ "4:10": true,
+ "13:7": true,
+ "12:4": true,
+ "15:6": true,
+ "14:0": true,
+ "12:2": true,
+ "12:15": true,
+ "10:8": true,
+ "6:7": true,
+ "3:9": true,
+ "12:12": true,
+ "13:9": true,
+ "9:8": true,
+ "14:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_1.json
index 9811e723..4d3f3779 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_1.json
@@ -1 +1,58 @@
-{"14:3":true,"12:1":true,"9:3":true,"1:1":true,"10:3":true,"2:15":true,"1:5":true,"15:3":true,"14:9":true,"12:0":true,"1:0":true,"14:4":true,"9:4":true,"2:4":true,"3:0":true,"14:2":true,"13:0":true,"0:0":true,"14:7":true,"3:1":true,"0:5":true,"7:3":true,"15:0":true,"14:11":[182,183],"14:6":true,"14:1":true,"12:3":true,"12:14":true,"0:15":true,"14:10":[183,186],"14:5":true,"3:15":true,"3:2":true,"1:4":true,"15:1":true,"14:0":[138,202],"2:0":true,"13:3":true,"12:2":true,"2:5":true,"1:15":true,"1:2":true,"12:7":true,"12:12":true,"3:3":true,"0:4":true,"14:8":true} \ No newline at end of file
+{
+ "14:3": true,
+ "12:1": true,
+ "9:3": true,
+ "1:1": true,
+ "10:3": true,
+ "2:15": true,
+ "1:5": true,
+ "15:3": true,
+ "14:9": true,
+ "12:0": true,
+ "1:0": true,
+ "14:4": true,
+ "9:4": true,
+ "2:4": true,
+ "3:0": true,
+ "14:2": true,
+ "13:0": true,
+ "0:0": true,
+ "14:7": true,
+ "3:1": true,
+ "0:5": true,
+ "7:3": true,
+ "15:0": true,
+ "14:11": [
+ 182,
+ 183
+ ],
+ "14:6": true,
+ "14:1": true,
+ "12:3": true,
+ "12:14": true,
+ "0:15": true,
+ "14:10": [
+ 183,
+ 186
+ ],
+ "14:5": true,
+ "3:15": true,
+ "3:2": true,
+ "1:4": true,
+ "15:1": true,
+ "14:0": [
+ 138,
+ 202
+ ],
+ "2:0": true,
+ "13:3": true,
+ "12:2": true,
+ "2:5": true,
+ "1:15": true,
+ "1:2": true,
+ "12:7": true,
+ "12:12": true,
+ "3:3": true,
+ "0:4": true,
+ "14:8": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_10.json
index abef05f3..3bcb1c7c 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_10.json
@@ -1 +1,176 @@
-{"12:11":true,"9:14":true,"1:1":true,"11:5":true,"2:7":true,"6:10":true,"13:13":true,"12:5":true,"11:11":true,"6:13":true,"2:9":true,"15:7":true,"3:0":true,"9:15":true,"0:6":true,"0:0":true,"14:7":true,"3:6":true,"7:14":true,"1:8":true,"14:1":true,"13:15":true,"8:7":true,"5:5":true,"4:11":true,"0:2":true,"7:13":true,"2:8":true,"5:11":true,"4:5":true,"13:12":true,"3:2":true,"15:1":true,"6:14":true,"1:9":true,"15:8":true,"13:14":true,"3:4":true,"0:3":true,"7:10":true,"6:12":true,"3:3":true,"1:7":true,"0:4":[150,180],"6:15":true,"2:1":true,"14:14":true,"4:3":true,"8:13":true,"5:4":true,"2:12":true,"2:15":true,"1:10":true,"15:14":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"14:15":true,"13:1":true,"4:2":true,"0:11":true,"15:15":true,"3:11":true,"2:14":true,"1:13":true,"0:5":true,"11:4":true,"7:8":true,"6:9":true,"4:6":true,"2:13":true,"1:14":true,"5:0":true,"5:6":true,"8:15":true,"4:0":true,"15:13":true,"2:10":true,"1:15":true,"6:7":true,"8:14":true,"1:12":true,"7:1":true,"14:13":true,"6:0":true,"1:11":true,"10:4":true,"3:13":true,"5:9":true,"1:5":[150,176],"0:13":true,"6:6":true,"4:9":true,"8:5":true,"5:7":true,"13:6":true,"13:0":true,"8:11":true,"4:7":true,"0:10":true,"13:2":true,"4:1":true,"3:12":true,"0:15":true,"6:4":true,"15:5":true,"14:5":true,"5:1":true,"3:15":true,"0:12":true,"15:11":true,"7:0":true,"13:3":true,"2:5":true,"0:14":true,"5:8":true,"3:14":true,"7:6":true,"4:8":true,"2:11":true,"15:4":true,"14:3":true,"4:14":true,"1:6":true,"6:5":true,"5:14":true,"2:2":true,"0:8":true,"15:3":true,"1:0":true,"14:4":true,"11:13":true,"5:12":true,"2:4":true,"14:2":true,"4:15":true,"0:1":true,"15:2":true,"8:6":true,"4:12":true,"3:1":true,"13:5":true,"5:15":true,"2:3":true,"15:0":true,"12:14":true,"10:5":true,"5:10":true,"3:7":true,"1:3":150,"9:5":true,"4:10":true,"1:4":true,"0:7":true,"15:6":true,"14:0":true,"2:0":true,"12:15":true,"5:13":true,"1:2":true,"7:5":true,"3:9":true,"12:12":true,"0:9":true,"7:11":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "1:1": true,
+ "11:5": true,
+ "2:7": true,
+ "6:10": true,
+ "13:13": true,
+ "12:5": true,
+ "11:11": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "3:0": true,
+ "9:15": true,
+ "0:6": true,
+ "0:0": true,
+ "14:7": true,
+ "3:6": true,
+ "7:14": true,
+ "1:8": true,
+ "14:1": true,
+ "13:15": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "7:13": true,
+ "2:8": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "6:14": true,
+ "1:9": true,
+ "15:8": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "7:10": true,
+ "6:12": true,
+ "3:3": true,
+ "1:7": true,
+ "0:4": [
+ 150,
+ 180
+ ],
+ "6:15": true,
+ "2:1": true,
+ "14:14": true,
+ "4:3": true,
+ "8:13": true,
+ "5:4": true,
+ "2:12": true,
+ "2:15": true,
+ "1:10": true,
+ "15:14": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "11:4": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "1:14": true,
+ "5:0": true,
+ "5:6": true,
+ "8:15": true,
+ "4:0": true,
+ "15:13": true,
+ "2:10": true,
+ "1:15": true,
+ "6:7": true,
+ "8:14": true,
+ "1:12": true,
+ "7:1": true,
+ "14:13": true,
+ "6:0": true,
+ "1:11": true,
+ "10:4": true,
+ "3:13": true,
+ "5:9": true,
+ "1:5": [
+ 150,
+ 176
+ ],
+ "0:13": true,
+ "6:6": true,
+ "4:9": true,
+ "8:5": true,
+ "5:7": true,
+ "13:6": true,
+ "13:0": true,
+ "8:11": true,
+ "4:7": true,
+ "0:10": true,
+ "13:2": true,
+ "4:1": true,
+ "3:12": true,
+ "0:15": true,
+ "6:4": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "7:0": true,
+ "13:3": true,
+ "2:5": true,
+ "0:14": true,
+ "5:8": true,
+ "3:14": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "1:6": true,
+ "6:5": true,
+ "5:14": true,
+ "2:2": true,
+ "0:8": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "11:13": true,
+ "5:12": true,
+ "2:4": true,
+ "14:2": true,
+ "4:15": true,
+ "0:1": true,
+ "15:2": true,
+ "8:6": true,
+ "4:12": true,
+ "3:1": true,
+ "13:5": true,
+ "5:15": true,
+ "2:3": true,
+ "15:0": true,
+ "12:14": true,
+ "10:5": true,
+ "5:10": true,
+ "3:7": true,
+ "1:3": 150,
+ "9:5": true,
+ "4:10": true,
+ "1:4": true,
+ "0:7": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": true,
+ "12:15": true,
+ "5:13": true,
+ "1:2": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_2.json
index f2f501c9..976d30de 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_2.json
@@ -1 +1,40 @@
-{"14:3":[151,198],"4:3":true,"5:4":true,"6:5":true,"12:0":true,"14:4":[151,198],"4:4":[155,200],"8:5":true,"4:2":true,"14:7":true,"14:6":true,"13:2":true,"5:5":true,"4:6":true,"4:1":true,"6:4":true,"14:5":true,"4:5":[198,200],"4:0":true,"12:2":true,"7:5":true,"3:3":[154,155],"14:8":true} \ No newline at end of file
+{
+ "14:3": [
+ 151,
+ 198
+ ],
+ "4:3": true,
+ "5:4": true,
+ "6:5": true,
+ "12:0": true,
+ "14:4": [
+ 151,
+ 198
+ ],
+ "4:4": [
+ 155,
+ 200
+ ],
+ "8:5": true,
+ "4:2": true,
+ "14:7": true,
+ "14:6": true,
+ "13:2": true,
+ "5:5": true,
+ "4:6": true,
+ "4:1": true,
+ "6:4": true,
+ "14:5": true,
+ "4:5": [
+ 198,
+ 200
+ ],
+ "4:0": true,
+ "12:2": true,
+ "7:5": true,
+ "3:3": [
+ 154,
+ 155
+ ],
+ "14:8": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_4.json
index 3ff8084e..3c775a74 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_4.json
@@ -1 +1,10 @@
-{"15:9":true,"14:3":152,"13:8":166,"14:9":166,"15:10":167,"15:8":166,"13:9":166,"14:8":166} \ No newline at end of file
+{
+ "15:9": true,
+ "14:3": 152,
+ "13:8": 166,
+ "14:9": 166,
+ "15:10": 167,
+ "15:8": 166,
+ "13:9": 166,
+ "14:8": 166
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_6.json
index 6e5a9552..92a6e8ef 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_6.json
@@ -1 +1,4 @@
-{"3:10":158,"15:1":149} \ No newline at end of file
+{
+ "3:10": 158,
+ "15:1": 149
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_7.json
index 803a589b..b6239079 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_7.json
@@ -1 +1,32 @@
-{"3:13":true,"0:13":true,"7:15":true,"9:15":true,"10:15":true,"7:14":true,"3:12":true,"0:15":true,"3:15":true,"0:12":true,"6:14":true,"0:14":true,"3:14":true,"6:15":true,"2:11":true,"4:14":true,"2:12":true,"5:14":true,"2:15":true,"4:15":true,"4:12":true,"5:15":true,"2:14":true,"1:13":true,"2:13":true,"1:14":true,"8:15":true,"1:15":true,"1:12":true,"4:13":true} \ No newline at end of file
+{
+ "3:13": true,
+ "0:13": true,
+ "7:15": true,
+ "9:15": true,
+ "10:15": true,
+ "7:14": true,
+ "3:12": true,
+ "0:15": true,
+ "3:15": true,
+ "0:12": true,
+ "6:14": true,
+ "0:14": true,
+ "3:14": true,
+ "6:15": true,
+ "2:11": true,
+ "4:14": true,
+ "2:12": true,
+ "5:14": true,
+ "2:15": true,
+ "4:15": true,
+ "4:12": true,
+ "5:15": true,
+ "2:14": true,
+ "1:13": true,
+ "2:13": true,
+ "1:14": true,
+ "8:15": true,
+ "1:15": true,
+ "1:12": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_8.json
index 3271d484..244c8eb7 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_8.json
@@ -1 +1,183 @@
-{"1:1":true,"2:7":173,"6:10":true,"7:15":true,"6:13":129,"2:9":167,"15:7":true,"3:0":true,"9:15":true,"0:0":true,"14:7":true,"8:1":true,"3:6":true,"10:15":true,"7:14":true,"1:8":[169,173],"14:1":true,"10:10":true,"4:11":130,"0:2":true,"7:13":true,"2:8":[129,174],"5:11":129,"4:5":true,"3:2":true,"6:14":true,"1:9":[168,175],"3:4":true,"0:3":true,"7:10":true,"6:12":true,"3:3":true,"1:7":172,"0:4":true,"6:15":true,"2:1":true,"11:0":true,"12:6":true,"4:3":true,"5:4":true,"2:12":131,"5:3":true,"2:15":[131,151],"1:10":132,"12:0":true,"6:1":true,"4:4":true,"7:9":true,"13:1":true,"4:2":true,"0:11":true,"3:11":131,"5:2":true,"2:14":true,"1:13":true,"0:5":170,"12:3":true,"9:1":true,"6:9":true,"4:6":true,"2:13":true,"1:14":true,"5:0":true,"10:1":true,"5:6":true,"8:15":true,"4:0":true,"12:2":true,"1:15":[131,150],"10:8":true,"11:2":true,"12:1":true,"6:0":true,"10:4":true,"3:13":[131,149],"1:5":true,"0:13":true,"7:2":true,"6:6":true,"11:1":true,"9:4":true,"3:10":130,"7:4":true,"13:6":true,"9:2":true,"13:0":true,"10:2":true,"0:10":133,"13:2":true,"4:1":true,"3:12":131,"0:15":[130,150],"6:4":true,"10:0":true,"14:5":182,"5:1":true,"0:12":true,"9:0":true,"6:3":true,"7:0":true,"13:3":true,"11:7":true,"0:14":true,"3:14":[131,150],"6:2":true,"7:6":true,"2:11":132,"14:3":174,"4:14":131,"11:10":150,"3:8":true,"5:14":true,"2:2":true,"0:8":true,"15:3":[172,173],"1:0":true,"5:12":[130,144],"2:4":true,"8:0":true,"14:2":true,"4:15":true,"0:1":true,"15:2":true,"4:12":130,"3:1":true,"13:5":181,"5:15":131,"2:3":true,"10:5":true,"5:10":true,"3:7":true,"1:3":true,"4:10":128,"8:2":true,"1:4":true,"0:7":130,"15:6":true,"2:0":true,"5:13":130,"1:2":true,"7:5":true,"3:9":true,"11:15":125,"8:3":true,"0:9":132,"7:11":true,"4:13":[131,143],"2:6":true} \ No newline at end of file
+{
+ "1:1": true,
+ "2:7": 173,
+ "6:10": true,
+ "7:15": true,
+ "6:13": 129,
+ "2:9": 167,
+ "15:7": true,
+ "3:0": true,
+ "9:15": true,
+ "0:0": true,
+ "14:7": true,
+ "8:1": true,
+ "3:6": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": [
+ 169,
+ 173
+ ],
+ "14:1": true,
+ "10:10": true,
+ "4:11": 130,
+ "0:2": true,
+ "7:13": true,
+ "2:8": [
+ 129,
+ 174
+ ],
+ "5:11": 129,
+ "4:5": true,
+ "3:2": true,
+ "6:14": true,
+ "1:9": [
+ 168,
+ 175
+ ],
+ "3:4": true,
+ "0:3": true,
+ "7:10": true,
+ "6:12": true,
+ "3:3": true,
+ "1:7": 172,
+ "0:4": true,
+ "6:15": true,
+ "2:1": true,
+ "11:0": true,
+ "12:6": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": 131,
+ "5:3": true,
+ "2:15": [
+ 131,
+ 151
+ ],
+ "1:10": 132,
+ "12:0": true,
+ "6:1": true,
+ "4:4": true,
+ "7:9": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "3:11": 131,
+ "5:2": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": 170,
+ "12:3": true,
+ "9:1": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "1:14": true,
+ "5:0": true,
+ "10:1": true,
+ "5:6": true,
+ "8:15": true,
+ "4:0": true,
+ "12:2": true,
+ "1:15": [
+ 131,
+ 150
+ ],
+ "10:8": true,
+ "11:2": true,
+ "12:1": true,
+ "6:0": true,
+ "10:4": true,
+ "3:13": [
+ 131,
+ 149
+ ],
+ "1:5": true,
+ "0:13": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": true,
+ "9:4": true,
+ "3:10": 130,
+ "7:4": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": true,
+ "10:2": true,
+ "0:10": 133,
+ "13:2": true,
+ "4:1": true,
+ "3:12": 131,
+ "0:15": [
+ 130,
+ 150
+ ],
+ "6:4": true,
+ "10:0": true,
+ "14:5": 182,
+ "5:1": true,
+ "0:12": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "13:3": true,
+ "11:7": true,
+ "0:14": true,
+ "3:14": [
+ 131,
+ 150
+ ],
+ "6:2": true,
+ "7:6": true,
+ "2:11": 132,
+ "14:3": 174,
+ "4:14": 131,
+ "11:10": 150,
+ "3:8": true,
+ "5:14": true,
+ "2:2": true,
+ "0:8": true,
+ "15:3": [
+ 172,
+ 173
+ ],
+ "1:0": true,
+ "5:12": [
+ 130,
+ 144
+ ],
+ "2:4": true,
+ "8:0": true,
+ "14:2": true,
+ "4:15": true,
+ "0:1": true,
+ "15:2": true,
+ "4:12": 130,
+ "3:1": true,
+ "13:5": 181,
+ "5:15": 131,
+ "2:3": true,
+ "10:5": true,
+ "5:10": true,
+ "3:7": true,
+ "1:3": true,
+ "4:10": 128,
+ "8:2": true,
+ "1:4": true,
+ "0:7": 130,
+ "15:6": true,
+ "2:0": true,
+ "5:13": 130,
+ "1:2": true,
+ "7:5": true,
+ "3:9": true,
+ "11:15": 125,
+ "8:3": true,
+ "0:9": 132,
+ "7:11": true,
+ "4:13": [
+ 131,
+ 143
+ ],
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_9.json
index cee24520..0b058a28 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-5_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-5_9.json
@@ -1 +1,229 @@
-{"1:1":true,"8:8":true,"6:10":true,"13:13":true,"0:6":true,"0:0":true,"3:6":true,"13:15":true,"10:10":true,"8:7":true,"4:11":true,"0:2":true,"9:10":true,"5:11":true,"13:12":true,"3:2":[123,124],"13:14":true,"3:4":123,"0:3":true,"8:9":true,"7:10":true,"3:3":[123,124],"0:4":true,"2:1":128,"14:14":true,"4:3":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"15:14":true,"9:9":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"4:2":true,"0:11":true,"15:15":true,"14:12":true,"9:7":true,"3:11":true,"5:2":true,"2:14":true,"1:13":true,"0:5":true,"2:13":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:0":true,"5:6":true,"4:0":true,"15:13":true,"1:15":true,"10:8":true,"6:7":true,"1:12":true,"9:8":true,"14:13":true,"1:11":true,"3:13":true,"1:5":true,"0:13":true,"11:8":true,"13:6":true,"12:8":true,"14:11":true,"13:2":true,"4:1":true,"3:12":true,"0:15":true,"11:9":true,"15:5":true,"14:5":true,"5:1":true,"3:15":true,"0:12":true,"15:11":true,"12:9":true,"11:7":true,"2:5":true,"0:14":true,"13:4":true,"12:7":true,"3:14":true,"2:11":true,"4:14":true,"1:6":true,"11:10":true,"12:10":true,"5:14":true,"2:2":124,"1:0":true,"14:4":true,"5:12":true,"2:4":true,"13:11":true,"4:12":true,"3:1":129,"13:5":true,"2:3":true,"14:6":true,"1:3":true,"1:4":true,"15:6":true,"5:13":true,"1:2":true,"4:13":true,"2:6":true,"15:9":true,"12:11":true,"11:5":true,"2:7":true,"7:12":true,"12:5":true,"7:15":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"2:9":true,"15:7":true,"14:7":true,"9:12":true,"8:1":true,"13:10":true,"1:8":true,"2:8":true,"6:14":true,"1:9":true,"15:8":true,"10:13":true,"6:12":true,"1:7":true,"6:15":true,"14:8":true,"12:6":true,"1:10":true,"13:8":true,"6:1":true,"11:6":true,"11:4":true,"9:1":true,"8:12":true,"12:3":true,"15:10":true,"14:10":true,"13:7":true,"11:3":true,"12:2":true,"2:10":true,"11:2":true,"8:14":true,"13:9":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:4":true,"5:9":true,"10:3":true,"7:2":true,"6:6":true,"4:9":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"7:3":true,"9:6":true,"10:0":true,"10:6":true,"9:0":127,"6:3":true,"7:0":true,"5:8":true,"6:2":true,"7:6":true,"4:8":true,"6:5":true,"3:8":true,"0:8":true,"6:11":true,"11:13":true,"8:0":128,"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":true,"0:7":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"3:9":true,"12:12":true,"8:3":true,"0:9":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "0:6": true,
+ "0:0": true,
+ "3:6": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "13:12": true,
+ "3:2": [
+ 123,
+ 124
+ ],
+ "13:14": true,
+ "3:4": 123,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": [
+ 123,
+ 124
+ ],
+ "0:4": true,
+ "2:1": 128,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "15:14": true,
+ "9:9": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "0:13": true,
+ "11:8": true,
+ "13:6": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "4:1": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "12:9": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "13:4": true,
+ "12:7": true,
+ "3:14": true,
+ "2:11": true,
+ "4:14": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "5:14": true,
+ "2:2": 124,
+ "1:0": true,
+ "14:4": true,
+ "5:12": true,
+ "2:4": true,
+ "13:11": true,
+ "4:12": true,
+ "3:1": 129,
+ "13:5": true,
+ "2:3": true,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": true,
+ "5:13": true,
+ "1:2": true,
+ "4:13": true,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "11:5": true,
+ "2:7": true,
+ "7:12": true,
+ "12:5": true,
+ "7:15": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "13:10": true,
+ "1:8": true,
+ "2:8": true,
+ "6:14": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "6:15": true,
+ "14:8": true,
+ "12:6": true,
+ "1:10": true,
+ "13:8": true,
+ "6:1": true,
+ "11:6": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "12:3": true,
+ "15:10": true,
+ "14:10": true,
+ "13:7": true,
+ "11:3": true,
+ "12:2": true,
+ "2:10": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "7:3": true,
+ "9:6": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": 127,
+ "6:3": true,
+ "7:0": true,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "6:5": true,
+ "3:8": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": 128,
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": true,
+ "0:7": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "8:3": true,
+ "0:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-3.json
index ee4eb238..b06d77d3 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-3.json
@@ -1 +1,22 @@
-{"1:6":true,"5:4":true,"2:7":[174,218],"7:2":true,"0:1":true,"8:1":true,"3:6":true,"2:3":true,"0:5":true,"4:1":true,"0:2":true,"5:0":true,"4:5":true,"3:2":true,"1:4":true,"9:0":true,"6:3":true} \ No newline at end of file
+{
+ "1:6": true,
+ "5:4": true,
+ "2:7": [
+ 174,
+ 218
+ ],
+ "7:2": true,
+ "0:1": true,
+ "8:1": true,
+ "3:6": true,
+ "2:3": true,
+ "0:5": true,
+ "4:1": true,
+ "0:2": true,
+ "5:0": true,
+ "4:5": true,
+ "3:2": true,
+ "1:4": true,
+ "9:0": true,
+ "6:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-4.json
index d839a5ae..0bac7ab9 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-4.json
@@ -1 +1,106 @@
-{"1:1":true,"12:5":true,"3:0":true,"0:0":true,"14:7":true,"9:12":true,"8:1":true,"10:15":true,"7:14":true,"14:1":true,"0:2":true,"13:12":true,"3:2":true,"1:9":true,"15:8":[175,218],"0:3":true,"3:3":true,"0:4":true,"6:15":true,"2:1":true,"11:0":true,"4:3":true,"8:13":true,"5:4":true,"5:3":true,"1:10":true,"13:8":[175,217],"12:0":true,"15:12":true,"4:2":true,"0:11":true,"5:2":true,"1:13":true,"11:4":true,"15:10":true,"5:0":204,"13:7":true,"12:4":true,"1:12":true,"6:0":[203,204],"1:11":true,"10:4":[202,203],"10:3":true,"0:13":true,"9:4":[201,202],"7:4":true,"13:6":true,"9:2":218,"0:10":true,"14:11":true,"4:1":true,"6:4":true,"10:0":true,"5:1":161,"0:12":true,"12:9":true,"9:0":true,"6:3":true,"7:0":[202,218],"13:3":true,"13:4":true,"12:7":true,"14:3":true,"11:10":true,"1:0":true,"8:0":[201,202],"14:2":true,"0:1":true,"8:6":true,"3:1":true,"12:13":true,"1:3":true,"10:11":true,"11:14":true,"1:4":true,"2:0":true,"8:4":[201,202],"1:2":true,"7:5":true,"0:9":true} \ No newline at end of file
+{
+ "1:1": true,
+ "12:5": true,
+ "3:0": true,
+ "0:0": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "10:15": true,
+ "7:14": true,
+ "14:1": true,
+ "0:2": true,
+ "13:12": true,
+ "3:2": true,
+ "1:9": true,
+ "15:8": [
+ 175,
+ 218
+ ],
+ "0:3": true,
+ "3:3": true,
+ "0:4": true,
+ "6:15": true,
+ "2:1": true,
+ "11:0": true,
+ "4:3": true,
+ "8:13": true,
+ "5:4": true,
+ "5:3": true,
+ "1:10": true,
+ "13:8": [
+ 175,
+ 217
+ ],
+ "12:0": true,
+ "15:12": true,
+ "4:2": true,
+ "0:11": true,
+ "5:2": true,
+ "1:13": true,
+ "11:4": true,
+ "15:10": true,
+ "5:0": 204,
+ "13:7": true,
+ "12:4": true,
+ "1:12": true,
+ "6:0": [
+ 203,
+ 204
+ ],
+ "1:11": true,
+ "10:4": [
+ 202,
+ 203
+ ],
+ "10:3": true,
+ "0:13": true,
+ "9:4": [
+ 201,
+ 202
+ ],
+ "7:4": true,
+ "13:6": true,
+ "9:2": 218,
+ "0:10": true,
+ "14:11": true,
+ "4:1": true,
+ "6:4": true,
+ "10:0": true,
+ "5:1": 161,
+ "0:12": true,
+ "12:9": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": [
+ 202,
+ 218
+ ],
+ "13:3": true,
+ "13:4": true,
+ "12:7": true,
+ "14:3": true,
+ "11:10": true,
+ "1:0": true,
+ "8:0": [
+ 201,
+ 202
+ ],
+ "14:2": true,
+ "0:1": true,
+ "8:6": true,
+ "3:1": true,
+ "12:13": true,
+ "1:3": true,
+ "10:11": true,
+ "11:14": true,
+ "1:4": true,
+ "2:0": true,
+ "8:4": [
+ 201,
+ 202
+ ],
+ "1:2": true,
+ "7:5": true,
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-5.json
index 998fbd6c..302a2cfe 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-5.json
@@ -1 +1,102 @@
-{"1:1":true,"8:8":true,"6:10":true,"0:6":true,"0:0":true,"1:8":177,"4:11":true,"0:2":177,"5:11":true,"1:9":177,"3:4":[208,209],"8:9":true,"1:7":true,"6:15":217,"5:3":209,"2:15":true,"1:10":[177,218],"12:0":209,"9:9":true,"7:9":true,"15:12":235,"0:11":177,"3:11":[237,238],"9:1":[210,212],"7:8":true,"6:9":true,"1:14":true,"10:1":[211,212],"6:7":224,"6:0":true,"1:11":[177,237],"1:5":true,"0:13":true,"7:2":[210,211],"11:1":[209,213],"13:0":[209,210],"0:10":177,"3:12":218,"5:1":[196,198],"2:5":true,"0:14":true,"6:2":210,"2:11":[218,237],"5:14":217,"0:8":177,"6:11":true,"1:0":true,"0:1":177,"5:10":true,"4:10":236,"8:2":true,"0:7":true,"14:0":[211,212],"2:0":true,"1:2":177,"0:9":[177,218],"7:11":true,"4:13":[217,218]} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": true,
+ "6:10": true,
+ "0:6": true,
+ "0:0": true,
+ "1:8": 177,
+ "4:11": true,
+ "0:2": 177,
+ "5:11": true,
+ "1:9": 177,
+ "3:4": [
+ 208,
+ 209
+ ],
+ "8:9": true,
+ "1:7": true,
+ "6:15": 217,
+ "5:3": 209,
+ "2:15": true,
+ "1:10": [
+ 177,
+ 218
+ ],
+ "12:0": 209,
+ "9:9": true,
+ "7:9": true,
+ "15:12": 235,
+ "0:11": 177,
+ "3:11": [
+ 237,
+ 238
+ ],
+ "9:1": [
+ 210,
+ 212
+ ],
+ "7:8": true,
+ "6:9": true,
+ "1:14": true,
+ "10:1": [
+ 211,
+ 212
+ ],
+ "6:7": 224,
+ "6:0": true,
+ "1:11": [
+ 177,
+ 237
+ ],
+ "1:5": true,
+ "0:13": true,
+ "7:2": [
+ 210,
+ 211
+ ],
+ "11:1": [
+ 209,
+ 213
+ ],
+ "13:0": [
+ 209,
+ 210
+ ],
+ "0:10": 177,
+ "3:12": 218,
+ "5:1": [
+ 196,
+ 198
+ ],
+ "2:5": true,
+ "0:14": true,
+ "6:2": 210,
+ "2:11": [
+ 218,
+ 237
+ ],
+ "5:14": 217,
+ "0:8": 177,
+ "6:11": true,
+ "1:0": true,
+ "0:1": 177,
+ "5:10": true,
+ "4:10": 236,
+ "8:2": true,
+ "0:7": true,
+ "14:0": [
+ 211,
+ 212
+ ],
+ "2:0": true,
+ "1:2": 177,
+ "0:9": [
+ 177,
+ 218
+ ],
+ "7:11": true,
+ "4:13": [
+ 217,
+ 218
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-6.json
index 32fc9d93..a9d5b23b 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_-6.json
@@ -1 +1,21 @@
-{"1:6":true,"1:5":true,"0:8":true,"14:15":[209,210],"0:6":true,"0:5":true,"12:8":183,"1:8":true,"1:14":true,"0:15":true,"0:7":true,"1:9":true,"1:15":true,"0:14":true,"1:7":true,"0:9":true} \ No newline at end of file
+{
+ "1:6": true,
+ "1:5": true,
+ "0:8": true,
+ "14:15": [
+ 209,
+ 210
+ ],
+ "0:6": true,
+ "0:5": true,
+ "12:8": 183,
+ "1:8": true,
+ "1:14": true,
+ "0:15": true,
+ "0:7": true,
+ "1:9": true,
+ "1:15": true,
+ "0:14": true,
+ "1:7": true,
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_0.json
index f4ef8dc2..55039193 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_0.json
@@ -1 +1,35 @@
-{"3:13":true,"13:13":true,"10:14":true,"0:13":190,"6:13":true,"7:14":true,"7:13":true,"3:15":true,"6:14":true,"13:14":true,"10:13":true,"0:14":190,"3:14":true,"9:13":true,"14:14":true,"4:14":true,"8:13":true,"5:14":true,"15:14":true,"11:13":true,"12:13":true,"5:15":true,"2:14":190,"1:13":true,"12:14":true,"2:13":true,"1:14":190,"11:14":true,"15:13":true,"5:13":true,"8:14":true,"14:13":true,"4:13":true} \ No newline at end of file
+{
+ "3:13": true,
+ "13:13": true,
+ "10:14": true,
+ "0:13": 190,
+ "6:13": true,
+ "7:14": true,
+ "7:13": true,
+ "3:15": true,
+ "6:14": true,
+ "13:14": true,
+ "10:13": true,
+ "0:14": 190,
+ "3:14": true,
+ "9:13": true,
+ "14:14": true,
+ "4:14": true,
+ "8:13": true,
+ "5:14": true,
+ "15:14": true,
+ "11:13": true,
+ "12:13": true,
+ "5:15": true,
+ "2:14": 190,
+ "1:13": true,
+ "12:14": true,
+ "2:13": true,
+ "1:14": 190,
+ "11:14": true,
+ "15:13": true,
+ "5:13": true,
+ "8:14": true,
+ "14:13": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_1.json
index 7e4d2f51..3c4e65c8 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_1.json
@@ -1 +1,98 @@
-{"1:1":true,"11:5":true,"12:5":true,"3:0":true,"0:0":[190,192],"10:15":true,"1:8":true,"13:15":[198,200],"5:5":true,"2:8":true,"4:5":true,"3:2":true,"15:1":true,"1:9":true,"3:4":true,"0:4":true,"11:0":true,"5:4":true,"12:0":true,"6:1":true,"4:4":true,"3:5":true,"14:15":[198,200],"13:1":true,"15:15":[198,200],"5:2":true,"0:5":true,"11:4":true,"9:1":true,"5:0":true,"12:4":true,"4:0":true,"11:2":true,"7:1":true,"6:0":true,"10:4":true,"1:5":true,"7:2":true,"11:1":true,"8:5":true,"7:4":true,"9:2":true,"13:0":true,"0:10":true,"13:2":true,"6:4":true,"15:5":true,"10:0":true,"14:5":true,"5:1":true,"9:0":true,"7:0":true,"2:5":true,"13:4":true,"4:8":true,"15:4":true,"6:5":true,"3:8":true,"0:8":true,"1:0":[190,192],"14:4":true,"2:4":true,"8:0":true,"15:2":true,"3:1":true,"13:5":true,"15:0":true,"10:5":true,"9:5":true,"1:4":true,"0:7":true,"14:0":true,"2:0":[190,192],"12:15":true,"8:4":true,"1:2":true,"7:5":true,"11:15":true} \ No newline at end of file
+{
+ "1:1": true,
+ "11:5": true,
+ "12:5": true,
+ "3:0": true,
+ "0:0": [
+ 190,
+ 192
+ ],
+ "10:15": true,
+ "1:8": true,
+ "13:15": [
+ 198,
+ 200
+ ],
+ "5:5": true,
+ "2:8": true,
+ "4:5": true,
+ "3:2": true,
+ "15:1": true,
+ "1:9": true,
+ "3:4": true,
+ "0:4": true,
+ "11:0": true,
+ "5:4": true,
+ "12:0": true,
+ "6:1": true,
+ "4:4": true,
+ "3:5": true,
+ "14:15": [
+ 198,
+ 200
+ ],
+ "13:1": true,
+ "15:15": [
+ 198,
+ 200
+ ],
+ "5:2": true,
+ "0:5": true,
+ "11:4": true,
+ "9:1": true,
+ "5:0": true,
+ "12:4": true,
+ "4:0": true,
+ "11:2": true,
+ "7:1": true,
+ "6:0": true,
+ "10:4": true,
+ "1:5": true,
+ "7:2": true,
+ "11:1": true,
+ "8:5": true,
+ "7:4": true,
+ "9:2": true,
+ "13:0": true,
+ "0:10": true,
+ "13:2": true,
+ "6:4": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "5:1": true,
+ "9:0": true,
+ "7:0": true,
+ "2:5": true,
+ "13:4": true,
+ "4:8": true,
+ "15:4": true,
+ "6:5": true,
+ "3:8": true,
+ "0:8": true,
+ "1:0": [
+ 190,
+ 192
+ ],
+ "14:4": true,
+ "2:4": true,
+ "8:0": true,
+ "15:2": true,
+ "3:1": true,
+ "13:5": true,
+ "15:0": true,
+ "10:5": true,
+ "9:5": true,
+ "1:4": true,
+ "0:7": true,
+ "14:0": true,
+ "2:0": [
+ 190,
+ 192
+ ],
+ "12:15": true,
+ "8:4": true,
+ "1:2": true,
+ "7:5": true,
+ "11:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_2.json
index f01a6ff5..5da29662 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_2.json
@@ -1 +1,19 @@
-{"8:5":true,"8:1":true,"0:15":true,"15:5":176,"8:6":true,"8:2":[198,200],"8:4":[198,200],"8:3":[198,200]} \ No newline at end of file
+{
+ "8:5": true,
+ "8:1": true,
+ "0:15": true,
+ "15:5": 176,
+ "8:6": true,
+ "8:2": [
+ 198,
+ 200
+ ],
+ "8:4": [
+ 198,
+ 200
+ ],
+ "8:3": [
+ 198,
+ 200
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_4.json
index cba2dea8..90cca4a3 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_4.json
@@ -1 +1,141 @@
-{"1:1":true,"8:8":true,"7:12":true,"6:10":true,"10:14":true,"7:15":[147,148],"10:12":true,"6:13":147,"3:0":true,"9:15":true,"0:0":true,"8:1":true,"3:6":true,"10:15":true,"7:14":true,"10:10":true,"8:7":true,"5:5":true,"7:13":true,"9:10":true,"5:11":true,"4:5":true,"3:2":true,"6:14":147,"10:13":true,"3:4":true,"8:9":true,"7:10":true,"6:12":true,"3:3":true,"6:15":[147,148],"2:1":true,"4:3":true,"8:13":true,"5:4":true,"7:7":true,"5:3":true,"2:15":142,"9:9":true,"6:1":true,"4:4":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"4:2":true,"9:7":true,"5:2":true,"8:12":true,"7:8":true,"6:9":true,"4:6":true,"5:0":true,"5:6":true,"8:15":true,"4:0":true,"6:7":true,"8:14":true,"9:8":true,"7:1":true,"6:0":true,"3:13":143,"5:9":true,"7:2":true,"6:6":true,"4:9":true,"8:5":true,"5:7":true,"3:10":145,"7:4":true,"8:11":true,"4:7":true,"7:3":true,"4:1":true,"3:12":144,"6:4":true,"5:1":true,"3:15":[142,145],"6:3":true,"7:0":true,"2:5":true,"5:8":true,"3:14":142,"6:2":true,"7:6":true,"4:8":true,"4:14":[143,146],"6:5":true,"3:8":true,"5:14":147,"2:2":true,"6:11":true,"1:0":true,"5:12":147,"2:4":true,"4:15":[142,148],"8:6":true,"4:12":[145,146],"3:1":true,"5:15":[147,148],"2:3":true,"5:10":true,"3:7":true,"4:10":[146,147],"8:2":true,"2:0":true,"8:4":true,"5:13":147,"1:2":true,"7:5":true,"3:9":145,"11:15":true,"8:3":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "10:14": true,
+ "7:15": [
+ 147,
+ 148
+ ],
+ "10:12": true,
+ "6:13": 147,
+ "3:0": true,
+ "9:15": true,
+ "0:0": true,
+ "8:1": true,
+ "3:6": true,
+ "10:15": true,
+ "7:14": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "7:13": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "3:2": true,
+ "6:14": 147,
+ "10:13": true,
+ "3:4": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "3:3": true,
+ "6:15": [
+ 147,
+ 148
+ ],
+ "2:1": true,
+ "4:3": true,
+ "8:13": true,
+ "5:4": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": 142,
+ "9:9": true,
+ "6:1": true,
+ "4:4": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "4:2": true,
+ "9:7": true,
+ "5:2": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "5:0": true,
+ "5:6": true,
+ "8:15": true,
+ "4:0": true,
+ "6:7": true,
+ "8:14": true,
+ "9:8": true,
+ "7:1": true,
+ "6:0": true,
+ "3:13": 143,
+ "5:9": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": 145,
+ "7:4": true,
+ "8:11": true,
+ "4:7": true,
+ "7:3": true,
+ "4:1": true,
+ "3:12": 144,
+ "6:4": true,
+ "5:1": true,
+ "3:15": [
+ 142,
+ 145
+ ],
+ "6:3": true,
+ "7:0": true,
+ "2:5": true,
+ "5:8": true,
+ "3:14": 142,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "4:14": [
+ 143,
+ 146
+ ],
+ "6:5": true,
+ "3:8": true,
+ "5:14": 147,
+ "2:2": true,
+ "6:11": true,
+ "1:0": true,
+ "5:12": 147,
+ "2:4": true,
+ "4:15": [
+ 142,
+ 148
+ ],
+ "8:6": true,
+ "4:12": [
+ 145,
+ 146
+ ],
+ "3:1": true,
+ "5:15": [
+ 147,
+ 148
+ ],
+ "2:3": true,
+ "5:10": true,
+ "3:7": true,
+ "4:10": [
+ 146,
+ 147
+ ],
+ "8:2": true,
+ "2:0": true,
+ "8:4": true,
+ "5:13": 147,
+ "1:2": true,
+ "7:5": true,
+ "3:9": 145,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_5.json
index 46aeccfe..030b4d97 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_5.json
@@ -1 +1,178 @@
-{"9:14":true,"1:1":true,"11:5":true,"2:7":true,"8:8":true,"7:12":true,"6:10":true,"12:5":true,"10:14":true,"7:15":true,"10:12":true,"6:13":true,"2:9":true,"9:15":true,"9:12":true,"8:1":147,"3:6":145,"10:15":true,"7:14":true,"10:10":true,"8:7":true,"5:5":147,"4:11":147,"7:13":true,"2:8":true,"9:10":true,"5:11":true,"4:5":[145,146],"6:14":true,"10:13":true,"3:4":143,"8:9":true,"7:10":true,"6:12":true,"6:15":true,"9:13":true,"12:6":true,"4:3":[144,146],"8:13":true,"5:4":147,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"1:10":true,"9:9":true,"6:1":147,"11:6":true,"4:4":[144,146],"10:7":true,"8:10":true,"7:9":true,"6:8":147,"3:5":144,"4:2":[144,146],"9:7":true,"5:2":147,"2:14":146,"0:5":true,"4:6":146,"12:3":true,"11:4":true,"9:1":true,"8:12":true,"7:8":true,"6:9":true,"2:13":[145,147],"5:0":147,"10:1":true,"5:6":147,"8:15":true,"13:7":true,"12:4":true,"11:3":true,"4:0":[143,146],"2:10":true,"10:8":true,"6:7":147,"11:2":true,"8:14":true,"9:8":true,"7:1":147,"9:3":true,"6:0":147,"10:4":true,"3:13":147,"5:9":147,"10:3":true,"1:5":true,"7:2":147,"6:6":147,"4:9":147,"11:1":true,"9:4":true,"8:5":true,"5:7":147,"3:10":true,"11:8":true,"7:4":147,"13:6":true,"9:2":true,"8:11":true,"4:7":146,"10:2":true,"12:8":true,"7:3":147,"9:6":true,"4:1":[145,146],"6:4":147,"10:0":true,"10:6":true,"5:1":147,"3:15":true,"9:0":true,"6:3":true,"7:0":147,"11:7":true,"5:8":147,"3:14":true,"6:2":147,"7:6":true,"4:8":147,"2:11":true,"4:14":true,"6:5":147,"3:8":true,"5:14":true,"6:11":true,"5:12":true,"8:0":true,"4:15":true,"0:1":true,"8:6":true,"4:12":147,"5:15":true,"13:5":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"9:5":true,"4:10":147,"11:14":true,"8:2":true,"11:12":true,"8:4":true,"5:13":true,"7:5":147,"3:9":true,"11:15":true,"8:3":147,"7:11":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "9:14": true,
+ "1:1": true,
+ "11:5": true,
+ "2:7": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "9:15": true,
+ "9:12": true,
+ "8:1": 147,
+ "3:6": 145,
+ "10:15": true,
+ "7:14": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": 147,
+ "4:11": 147,
+ "7:13": true,
+ "2:8": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": [
+ 145,
+ 146
+ ],
+ "6:14": true,
+ "10:13": true,
+ "3:4": 143,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "6:15": true,
+ "9:13": true,
+ "12:6": true,
+ "4:3": [
+ 144,
+ 146
+ ],
+ "8:13": true,
+ "5:4": 147,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "1:10": true,
+ "9:9": true,
+ "6:1": 147,
+ "11:6": true,
+ "4:4": [
+ 144,
+ 146
+ ],
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": 147,
+ "3:5": 144,
+ "4:2": [
+ 144,
+ 146
+ ],
+ "9:7": true,
+ "5:2": 147,
+ "2:14": 146,
+ "0:5": true,
+ "4:6": 146,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "2:13": [
+ 145,
+ 147
+ ],
+ "5:0": 147,
+ "10:1": true,
+ "5:6": 147,
+ "8:15": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "4:0": [
+ 143,
+ 146
+ ],
+ "2:10": true,
+ "10:8": true,
+ "6:7": 147,
+ "11:2": true,
+ "8:14": true,
+ "9:8": true,
+ "7:1": 147,
+ "9:3": true,
+ "6:0": 147,
+ "10:4": true,
+ "3:13": 147,
+ "5:9": 147,
+ "10:3": true,
+ "1:5": true,
+ "7:2": 147,
+ "6:6": 147,
+ "4:9": 147,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": 147,
+ "3:10": true,
+ "11:8": true,
+ "7:4": 147,
+ "13:6": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": 146,
+ "10:2": true,
+ "12:8": true,
+ "7:3": 147,
+ "9:6": true,
+ "4:1": [
+ 145,
+ 146
+ ],
+ "6:4": 147,
+ "10:0": true,
+ "10:6": true,
+ "5:1": 147,
+ "3:15": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": 147,
+ "11:7": true,
+ "5:8": 147,
+ "3:14": true,
+ "6:2": 147,
+ "7:6": true,
+ "4:8": 147,
+ "2:11": true,
+ "4:14": true,
+ "6:5": 147,
+ "3:8": true,
+ "5:14": true,
+ "6:11": true,
+ "5:12": true,
+ "8:0": true,
+ "4:15": true,
+ "0:1": true,
+ "8:6": true,
+ "4:12": 147,
+ "5:15": true,
+ "13:5": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "9:5": true,
+ "4:10": 147,
+ "11:14": true,
+ "8:2": true,
+ "11:12": true,
+ "8:4": true,
+ "5:13": true,
+ "7:5": 147,
+ "3:9": true,
+ "11:15": true,
+ "8:3": 147,
+ "7:11": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_6.json
index 303f3022..9eac7411 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_6.json
@@ -1 +1,114 @@
-{"1:1":true,"2:7":true,"6:10":true,"2:9":true,"3:0":true,"8:1":true,"3:6":true,"5:5":true,"4:11":true,"2:8":true,"5:11":true,"4:5":true,"3:2":true,"1:9":true,"13:14":148,"3:4":true,"7:10":true,"6:12":true,"3:3":true,"6:15":true,"2:1":true,"4:3":true,"5:4":true,"2:12":true,"7:7":true,"5:3":true,"6:1":true,"4:4":true,"7:9":true,"6:8":true,"3:5":true,"4:2":true,"3:11":true,"5:2":true,"2:14":148,"9:1":true,"7:8":true,"6:9":true,"4:6":true,"5:0":true,"5:6":true,"4:0":true,"2:10":true,"6:7":true,"7:1":true,"9:3":true,"6:0":true,"3:13":true,"5:9":true,"7:2":true,"6:6":true,"4:9":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"4:7":true,"7:3":true,"4:1":true,"3:12":true,"6:4":true,"10:0":true,"5:1":true,"3:15":[170,171],"9:0":true,"6:3":true,"7:0":true,"2:5":true,"5:8":true,"3:14":[147,170],"6:2":true,"7:6":true,"4:8":true,"2:11":true,"4:14":true,"6:5":true,"3:8":true,"5:14":true,"2:2":true,"6:11":true,"1:0":true,"5:12":true,"2:4":true,"8:0":true,"4:15":true,"8:6":true,"4:12":true,"3:1":true,"5:15":true,"2:3":true,"5:10":true,"3:7":true,"1:3":true,"8:2":true,"1:4":true,"2:0":true,"8:4":true,"5:13":true,"1:2":true,"7:5":true,"3:9":true,"8:3":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "1:1": true,
+ "2:7": true,
+ "6:10": true,
+ "2:9": true,
+ "3:0": true,
+ "8:1": true,
+ "3:6": true,
+ "5:5": true,
+ "4:11": true,
+ "2:8": true,
+ "5:11": true,
+ "4:5": true,
+ "3:2": true,
+ "1:9": true,
+ "13:14": 148,
+ "3:4": true,
+ "7:10": true,
+ "6:12": true,
+ "3:3": true,
+ "6:15": true,
+ "2:1": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "7:7": true,
+ "5:3": true,
+ "6:1": true,
+ "4:4": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "4:2": true,
+ "3:11": true,
+ "5:2": true,
+ "2:14": 148,
+ "9:1": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "2:10": true,
+ "6:7": true,
+ "7:1": true,
+ "9:3": true,
+ "6:0": true,
+ "3:13": true,
+ "5:9": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "4:7": true,
+ "7:3": true,
+ "4:1": true,
+ "3:12": true,
+ "6:4": true,
+ "10:0": true,
+ "5:1": true,
+ "3:15": [
+ 170,
+ 171
+ ],
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "2:5": true,
+ "5:8": true,
+ "3:14": [
+ 147,
+ 170
+ ],
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "4:14": true,
+ "6:5": true,
+ "3:8": true,
+ "5:14": true,
+ "2:2": true,
+ "6:11": true,
+ "1:0": true,
+ "5:12": true,
+ "2:4": true,
+ "8:0": true,
+ "4:15": true,
+ "8:6": true,
+ "4:12": true,
+ "3:1": true,
+ "5:15": true,
+ "2:3": true,
+ "5:10": true,
+ "3:7": true,
+ "1:3": true,
+ "8:2": true,
+ "1:4": true,
+ "2:0": true,
+ "8:4": true,
+ "5:13": true,
+ "1:2": true,
+ "7:5": true,
+ "3:9": true,
+ "8:3": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_7.json
index 645ca655..81ba0e3a 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_7.json
@@ -1 +1,136 @@
-{"9:14":true,"1:1":148,"8:8":true,"7:12":true,"6:10":true,"13:13":true,"10:14":true,"7:15":true,"10:12":true,"6:13":true,"2:9":true,"3:0":[148,171],"9:15":true,"9:12":true,"3:6":true,"10:15":true,"7:14":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"7:13":true,"2:8":true,"9:10":true,"5:11":true,"4:5":true,"3:2":true,"6:14":true,"1:9":true,"13:14":true,"10:13":true,"8:9":true,"7:10":true,"6:12":true,"3:3":true,"6:15":true,"9:13":true,"2:1":148,"14:14":true,"4:3":true,"8:13":true,"5:4":true,"2:12":true,"7:7":true,"5:3":true,"15:14":true,"9:9":true,"6:1":true,"4:4":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"14:15":true,"4:2":true,"15:15":true,"9:7":true,"3:11":true,"5:2":true,"8:12":true,"7:8":true,"6:9":true,"4:6":true,"2:13":true,"5:0":true,"5:6":true,"8:15":true,"4:0":true,"15:13":true,"2:10":true,"6:7":true,"8:14":true,"9:8":true,"14:13":true,"6:0":true,"3:13":true,"5:9":true,"6:6":true,"4:9":true,"5:7":true,"3:10":true,"7:4":true,"8:11":true,"4:7":true,"7:3":true,"4:1":true,"3:12":true,"6:4":true,"5:1":true,"6:3":true,"2:5":true,"5:8":true,"3:14":true,"6:2":true,"7:6":true,"4:8":true,"2:11":true,"4:14":true,"6:5":true,"3:8":true,"5:14":true,"2:2":148,"6:11":true,"11:13":true,"5:12":true,"4:15":true,"8:6":true,"4:12":true,"3:1":true,"12:13":true,"5:15":true,"2:3":true,"12:14":true,"9:11":true,"5:10":true,"3:7":true,"1:3":148,"10:11":true,"4:10":true,"11:14":true,"2:0":148,"11:12":true,"5:13":true,"1:2":148,"7:5":true,"3:9":true,"11:15":true,"7:11":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "9:14": true,
+ "1:1": 148,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "13:13": true,
+ "10:14": true,
+ "7:15": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "3:0": [
+ 148,
+ 171
+ ],
+ "9:15": true,
+ "9:12": true,
+ "3:6": true,
+ "10:15": true,
+ "7:14": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "7:13": true,
+ "2:8": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "3:2": true,
+ "6:14": true,
+ "1:9": true,
+ "13:14": true,
+ "10:13": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "3:3": true,
+ "6:15": true,
+ "9:13": true,
+ "2:1": 148,
+ "14:14": true,
+ "4:3": true,
+ "8:13": true,
+ "5:4": true,
+ "2:12": true,
+ "7:7": true,
+ "5:3": true,
+ "15:14": true,
+ "9:9": true,
+ "6:1": true,
+ "4:4": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "14:15": true,
+ "4:2": true,
+ "15:15": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "5:0": true,
+ "5:6": true,
+ "8:15": true,
+ "4:0": true,
+ "15:13": true,
+ "2:10": true,
+ "6:7": true,
+ "8:14": true,
+ "9:8": true,
+ "14:13": true,
+ "6:0": true,
+ "3:13": true,
+ "5:9": true,
+ "6:6": true,
+ "4:9": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "8:11": true,
+ "4:7": true,
+ "7:3": true,
+ "4:1": true,
+ "3:12": true,
+ "6:4": true,
+ "5:1": true,
+ "6:3": true,
+ "2:5": true,
+ "5:8": true,
+ "3:14": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "4:14": true,
+ "6:5": true,
+ "3:8": true,
+ "5:14": true,
+ "2:2": 148,
+ "6:11": true,
+ "11:13": true,
+ "5:12": true,
+ "4:15": true,
+ "8:6": true,
+ "4:12": true,
+ "3:1": true,
+ "12:13": true,
+ "5:15": true,
+ "2:3": true,
+ "12:14": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "1:3": 148,
+ "10:11": true,
+ "4:10": true,
+ "11:14": true,
+ "2:0": 148,
+ "11:12": true,
+ "5:13": true,
+ "1:2": 148,
+ "7:5": true,
+ "3:9": true,
+ "11:15": true,
+ "7:11": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_8.json
index c412285b..741c9bfe 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_8.json
@@ -1 +1,262 @@
-{"6:10":true,"13:15":true,"14:1":true,"10:10":true,"8:7":true,"4:11":true,"9:10":true,"5:11":true,"13:12":[131,172],"15:1":true,"8:9":true,"7:10":true,"2:12":true,"10:9":true,"7:7":true,"2:15":[138,152],"15:14":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"14:15":true,"13:1":true,"0:11":true,"15:15":[131,149],"14:12":true,"9:7":true,"3:11":true,"2:14":[138,150],"1:13":[138,151],"2:13":[138,150],"1:14":[138,150],"5:0":true,"5:6":true,"4:0":true,"15:13":true,"1:15":[138,152],"10:8":true,"6:7":true,"1:12":true,"9:8":true,"1:11":true,"3:13":true,"11:8":true,"13:6":true,"13:0":true,"12:8":true,"14:11":true,"13:2":[134,168],"3:12":true,"0:15":[138,152],"11:9":true,"14:5":[133,135],"5:1":true,"3:15":[138,150],"0:12":true,"15:11":true,"12:9":true,"13:3":true,"11:7":true,"0:14":151,"13:4":true,"12:7":true,"3:14":[137,149],"2:11":true,"4:14":true,"11:10":true,"12:10":true,"5:14":true,"15:3":169,"14:4":[133,134],"5:12":true,"14:2":true,"13:11":133,"4:15":[137,173],"15:2":true,"4:12":true,"13:5":true,"5:15":[137,173],"15:0":true,"14:6":true,"15:6":true,"14:0":true,"5:13":true,"4:13":true,"15:9":true,"12:11":133,"9:14":[133,173],"11:5":true,"7:12":true,"12:5":true,"10:14":[168,173],"7:15":[136,173],"14:9":133,"11:11":true,"10:12":true,"6:13":true,"2:9":true,"15:7":true,"9:15":true,"14:7":true,"9:12":true,"8:1":true,"10:15":true,"13:10":true,"7:14":true,"7:13":true,"6:14":true,"15:8":true,"10:13":true,"6:15":[137,173],"14:8":true,"9:13":true,"11:0":true,"12:6":true,"8:13":true,"1:10":true,"13:8":true,"12:0":true,"6:1":true,"11:6":true,"12:3":true,"11:4":true,"9:1":true,"8:12":true,"15:10":133,"14:10":133,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"8:15":true,"12:2":[136,139],"2:10":true,"11:2":true,"8:14":[135,170],"13:9":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:4":true,"5:9":true,"10:3":true,"7:2":true,"6:6":true,"4:9":true,"11:1":[136,167],"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"8:11":true,"10:2":true,"0:10":true,"7:3":true,"9:6":true,"6:4":true,"10:0":true,"10:6":true,"9:0":true,"6:3":true,"7:0":true,"5:8":true,"6:2":true,"7:6":true,"4:8":true,"6:5":true,"11:13":[132,174],"8:0":true,"8:6":true,"10:5":true,"9:11":true,"5:10":true,"10:11":true,"9:5":true,"4:10":true,"8:2":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"3:9":true,"12:12":132,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "6:10": true,
+ "13:15": true,
+ "14:1": true,
+ "10:10": true,
+ "8:7": true,
+ "4:11": true,
+ "9:10": true,
+ "5:11": true,
+ "13:12": [
+ 131,
+ 172
+ ],
+ "15:1": true,
+ "8:9": true,
+ "7:10": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "2:15": [
+ 138,
+ 152
+ ],
+ "15:14": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "14:15": true,
+ "13:1": true,
+ "0:11": true,
+ "15:15": [
+ 131,
+ 149
+ ],
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "2:14": [
+ 138,
+ 150
+ ],
+ "1:13": [
+ 138,
+ 151
+ ],
+ "2:13": [
+ 138,
+ 150
+ ],
+ "1:14": [
+ 138,
+ 150
+ ],
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "15:13": true,
+ "1:15": [
+ 138,
+ 152
+ ],
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "1:11": true,
+ "3:13": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": [
+ 134,
+ 168
+ ],
+ "3:12": true,
+ "0:15": [
+ 138,
+ 152
+ ],
+ "11:9": true,
+ "14:5": [
+ 133,
+ 135
+ ],
+ "5:1": true,
+ "3:15": [
+ 138,
+ 150
+ ],
+ "0:12": true,
+ "15:11": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "0:14": 151,
+ "13:4": true,
+ "12:7": true,
+ "3:14": [
+ 137,
+ 149
+ ],
+ "2:11": true,
+ "4:14": true,
+ "11:10": true,
+ "12:10": true,
+ "5:14": true,
+ "15:3": 169,
+ "14:4": [
+ 133,
+ 134
+ ],
+ "5:12": true,
+ "14:2": true,
+ "13:11": 133,
+ "4:15": [
+ 137,
+ 173
+ ],
+ "15:2": true,
+ "4:12": true,
+ "13:5": true,
+ "5:15": [
+ 137,
+ 173
+ ],
+ "15:0": true,
+ "14:6": true,
+ "15:6": true,
+ "14:0": true,
+ "5:13": true,
+ "4:13": true,
+ "15:9": true,
+ "12:11": 133,
+ "9:14": [
+ 133,
+ 173
+ ],
+ "11:5": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": [
+ 168,
+ 173
+ ],
+ "7:15": [
+ 136,
+ 173
+ ],
+ "14:9": 133,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "10:15": true,
+ "13:10": true,
+ "7:14": true,
+ "7:13": true,
+ "6:14": true,
+ "15:8": true,
+ "10:13": true,
+ "6:15": [
+ 137,
+ 173
+ ],
+ "14:8": true,
+ "9:13": true,
+ "11:0": true,
+ "12:6": true,
+ "8:13": true,
+ "1:10": true,
+ "13:8": true,
+ "12:0": true,
+ "6:1": true,
+ "11:6": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "15:10": 133,
+ "14:10": 133,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "12:2": [
+ 136,
+ 139
+ ],
+ "2:10": true,
+ "11:2": true,
+ "8:14": [
+ 135,
+ 170
+ ],
+ "13:9": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": [
+ 136,
+ 167
+ ],
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "10:2": true,
+ "0:10": true,
+ "7:3": true,
+ "9:6": true,
+ "6:4": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "6:5": true,
+ "11:13": [
+ 132,
+ 174
+ ],
+ "8:0": true,
+ "8:6": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "8:2": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": 132,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_9.json
index e0ccf216..7d316b72 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-6_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-6_9.json
@@ -1 +1,256 @@
-{"1:1":138,"8:8":true,"6:10":true,"13:13":true,"0:6":true,"3:6":true,"14:1":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"0:2":[138,181],"9:10":true,"5:11":true,"4:5":true,"13:12":true,"3:2":true,"15:1":true,"13:14":true,"3:4":true,"0:3":true,"8:9":true,"7:10":true,"3:3":true,"0:4":true,"2:1":138,"14:14":true,"4:3":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"15:14":true,"9:9":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"13:1":true,"4:2":true,"15:15":true,"14:12":true,"9:7":true,"3:11":true,"5:2":true,"0:5":true,"4:6":true,"7:8":true,"6:9":true,"2:13":true,"5:0":[138,173],"5:6":true,"4:0":149,"15:13":true,"1:15":true,"10:8":true,"6:7":true,"1:12":true,"9:8":true,"14:13":true,"1:11":true,"3:13":true,"1:5":true,"11:8":true,"13:6":true,"12:8":true,"14:11":true,"13:2":true,"4:1":true,"3:12":true,"0:15":true,"11:9":true,"15:5":true,"14:5":true,"5:1":true,"15:11":true,"12:9":true,"13:3":true,"11:7":true,"2:5":true,"0:14":true,"13:4":true,"12:7":true,"2:11":true,"15:4":true,"14:3":true,"4:14":true,"1:6":true,"11:10":true,"12:10":true,"5:14":true,"2:2":[138,183],"15:3":true,"1:0":138,"14:4":true,"5:12":true,"2:4":true,"14:2":true,"13:11":true,"4:15":true,"0:1":138,"15:2":true,"4:12":true,"3:1":[138,173],"13:5":true,"5:15":true,"2:3":true,"15:0":true,"14:6":true,"1:3":true,"1:4":true,"15:6":true,"14:0":true,"2:0":138,"5:13":true,"1:2":[138,182],"4:13":true,"2:6":true,"15:9":true,"12:11":true,"9:14":true,"11:5":true,"2:7":true,"7:12":true,"12:5":true,"10:14":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"2:9":true,"15:7":true,"9:15":true,"14:7":true,"9:12":true,"8:1":true,"13:10":true,"10:15":true,"1:8":true,"2:8":true,"6:14":true,"1:9":true,"15:8":true,"10:13":true,"6:12":true,"1:7":true,"6:15":true,"14:8":true,"9:13":true,"12:6":true,"8:13":[132,148],"1:10":true,"13:8":true,"6:1":true,"11:6":true,"12:3":true,"11:4":true,"9:1":true,"8:12":true,"15:10":true,"14:10":true,"13:7":true,"12:4":true,"11:3":true,"8:15":true,"12:2":true,"2:10":true,"11:2":true,"8:14":true,"13:9":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:4":true,"5:9":true,"10:3":true,"7:2":true,"6:6":true,"4:9":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"7:3":true,"9:6":true,"6:4":true,"10:6":true,"9:0":true,"6:3":true,"7:0":true,"5:8":true,"6:2":true,"7:6":true,"4:8":true,"6:5":true,"3:8":true,"0:8":true,"6:11":true,"11:13":true,"8:0":true,"8:6":true,"12:13":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"8:2":true,"0:7":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"3:9":true,"12:12":true,"11:15":true,"8:3":true,"0:9":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": 138,
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "0:6": true,
+ "3:6": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": [
+ 138,
+ 181
+ ],
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": true,
+ "0:4": true,
+ "2:1": 138,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "15:14": true,
+ "9:9": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "0:5": true,
+ "4:6": true,
+ "7:8": true,
+ "6:9": true,
+ "2:13": true,
+ "5:0": [
+ 138,
+ 173
+ ],
+ "5:6": true,
+ "4:0": 149,
+ "15:13": true,
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "11:8": true,
+ "13:6": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "4:1": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "15:11": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "13:4": true,
+ "12:7": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "5:14": true,
+ "2:2": [
+ 138,
+ 183
+ ],
+ "15:3": true,
+ "1:0": 138,
+ "14:4": true,
+ "5:12": true,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": true,
+ "0:1": 138,
+ "15:2": true,
+ "4:12": true,
+ "3:1": [
+ 138,
+ 173
+ ],
+ "13:5": true,
+ "5:15": true,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": 138,
+ "5:13": true,
+ "1:2": [
+ 138,
+ 182
+ ],
+ "4:13": true,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "2:7": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "13:10": true,
+ "10:15": true,
+ "1:8": true,
+ "2:8": true,
+ "6:14": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "6:15": true,
+ "14:8": true,
+ "9:13": true,
+ "12:6": true,
+ "8:13": [
+ 132,
+ 148
+ ],
+ "1:10": true,
+ "13:8": true,
+ "6:1": true,
+ "11:6": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "15:10": true,
+ "14:10": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "12:2": true,
+ "2:10": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "7:3": true,
+ "9:6": true,
+ "6:4": true,
+ "10:6": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "6:5": true,
+ "3:8": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": true,
+ "8:6": true,
+ "12:13": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "8:2": true,
+ "0:7": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-1.json
index 6b55f55d..fe8dced2 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-1.json
@@ -1 +1,139 @@
-{"12:11":true,"11:5":171,"8:8":true,"12:5":[171,175],"7:15":true,"6:13":true,"9:15":true,"14:7":true,"8:1":true,"13:10":true,"10:15":true,"10:10":true,"8:7":true,"0:2":true,"9:10":true,"13:14":true,"8:9":true,"6:15":true,"14:8":224,"11:0":171,"14:14":true,"12:6":171,"10:9":true,"7:7":true,"13:8":true,"15:14":true,"12:0":true,"9:9":true,"6:1":true,"11:6":171,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"15:12":[216,222],"0:11":[152,153],"15:15":true,"9:7":true,"12:3":[171,175],"11:4":171,"9:1":171,"7:8":true,"6:9":true,"15:10":[216,222],"14:10":[216,222],"10:1":171,"13:7":true,"12:4":171,"11:3":171,"8:15":true,"15:13":true,"12:2":171,"10:8":true,"6:7":true,"11:2":171,"9:8":true,"7:1":171,"12:1":[171,175],"9:3":171,"6:0":171,"10:4":true,"10:3":171,"7:2":true,"6:6":true,"11:1":171,"9:4":171,"8:5":true,"11:8":true,"7:4":true,"9:2":true,"10:2":171,"12:8":true,"7:3":true,"9:6":true,"11:9":true,"6:4":true,"10:0":171,"10:6":171,"0:12":true,"15:11":[216,222],"12:9":true,"9:0":171,"6:3":true,"7:0":171,"11:7":171,"12:7":[171,223],"6:2":true,"7:6":true,"15:4":true,"11:10":true,"6:5":true,"12:10":true,"6:11":true,"14:4":true,"8:0":true,"0:1":true,"8:6":true,"12:13":true,"14:6":true,"12:14":true,"10:5":171,"9:5":171,"11:14":true,"8:2":171,"12:15":true,"8:4":true,"1:2":true,"7:5":true,"11:15":true,"8:3":true} \ No newline at end of file
+{
+ "12:11": true,
+ "11:5": 171,
+ "8:8": true,
+ "12:5": [
+ 171,
+ 175
+ ],
+ "7:15": true,
+ "6:13": true,
+ "9:15": true,
+ "14:7": true,
+ "8:1": true,
+ "13:10": true,
+ "10:15": true,
+ "10:10": true,
+ "8:7": true,
+ "0:2": true,
+ "9:10": true,
+ "13:14": true,
+ "8:9": true,
+ "6:15": true,
+ "14:8": 224,
+ "11:0": 171,
+ "14:14": true,
+ "12:6": 171,
+ "10:9": true,
+ "7:7": true,
+ "13:8": true,
+ "15:14": true,
+ "12:0": true,
+ "9:9": true,
+ "6:1": true,
+ "11:6": 171,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "15:12": [
+ 216,
+ 222
+ ],
+ "0:11": [
+ 152,
+ 153
+ ],
+ "15:15": true,
+ "9:7": true,
+ "12:3": [
+ 171,
+ 175
+ ],
+ "11:4": 171,
+ "9:1": 171,
+ "7:8": true,
+ "6:9": true,
+ "15:10": [
+ 216,
+ 222
+ ],
+ "14:10": [
+ 216,
+ 222
+ ],
+ "10:1": 171,
+ "13:7": true,
+ "12:4": 171,
+ "11:3": 171,
+ "8:15": true,
+ "15:13": true,
+ "12:2": 171,
+ "10:8": true,
+ "6:7": true,
+ "11:2": 171,
+ "9:8": true,
+ "7:1": 171,
+ "12:1": [
+ 171,
+ 175
+ ],
+ "9:3": 171,
+ "6:0": 171,
+ "10:4": true,
+ "10:3": 171,
+ "7:2": true,
+ "6:6": true,
+ "11:1": 171,
+ "9:4": 171,
+ "8:5": true,
+ "11:8": true,
+ "7:4": true,
+ "9:2": true,
+ "10:2": 171,
+ "12:8": true,
+ "7:3": true,
+ "9:6": true,
+ "11:9": true,
+ "6:4": true,
+ "10:0": 171,
+ "10:6": 171,
+ "0:12": true,
+ "15:11": [
+ 216,
+ 222
+ ],
+ "12:9": true,
+ "9:0": 171,
+ "6:3": true,
+ "7:0": 171,
+ "11:7": 171,
+ "12:7": [
+ 171,
+ 223
+ ],
+ "6:2": true,
+ "7:6": true,
+ "15:4": true,
+ "11:10": true,
+ "6:5": true,
+ "12:10": true,
+ "6:11": true,
+ "14:4": true,
+ "8:0": true,
+ "0:1": true,
+ "8:6": true,
+ "12:13": true,
+ "14:6": true,
+ "12:14": true,
+ "10:5": 171,
+ "9:5": 171,
+ "11:14": true,
+ "8:2": 171,
+ "12:15": true,
+ "8:4": true,
+ "1:2": true,
+ "7:5": true,
+ "11:15": true,
+ "8:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-2.json
index a1729354..0c07f450 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-2.json
@@ -1 +1,149 @@
-{"12:11":[171,175],"9:14":true,"11:5":true,"8:8":171,"7:12":171,"6:10":171,"12:5":true,"10:14":true,"7:15":true,"11:11":171,"10:12":true,"6:13":true,"9:15":171,"9:12":true,"8:1":true,"10:15":171,"7:14":true,"10:10":171,"8:7":171,"7:13":171,"9:10":171,"6:14":true,"10:13":true,"8:9":171,"7:10":171,"6:12":171,"6:15":[171,175],"9:13":true,"11:0":true,"12:6":true,"8:13":171,"10:9":171,"7:7":171,"12:0":true,"9:9":171,"6:1":[169,175],"11:6":true,"10:7":171,"8:10":171,"7:9":171,"6:8":171,"9:7":171,"12:3":true,"11:4":true,"9:1":true,"8:12":171,"7:8":171,"6:9":[171,175],"14:10":true,"10:1":true,"12:4":true,"11:3":true,"8:15":171,"12:2":true,"10:8":171,"6:7":[171,175],"11:2":true,"8:14":171,"9:8":171,"7:1":169,"12:1":true,"9:3":true,"6:0":168,"10:4":true,"10:3":true,"7:2":170,"6:6":171,"11:1":true,"9:4":171,"8:5":171,"11:8":171,"7:4":171,"9:2":true,"8:11":171,"10:2":true,"12:8":true,"7:3":171,"9:6":171,"11:9":171,"6:4":171,"10:0":true,"10:6":171,"15:11":true,"12:9":[171,175],"9:0":true,"6:3":[171,175],"7:0":true,"11:7":true,"12:7":true,"6:2":170,"7:6":171,"11:10":171,"6:5":[171,175],"12:10":171,"6:11":[171,175],"11:13":true,"8:0":true,"8:6":171,"12:13":[171,175],"12:14":171,"10:5":true,"9:11":171,"10:11":171,"9:5":171,"11:14":true,"8:2":170,"12:15":[171,175],"11:12":171,"8:4":171,"7:5":171,"12:12":171,"11:15":true,"8:3":171,"7:11":171} \ No newline at end of file
+{
+ "12:11": [
+ 171,
+ 175
+ ],
+ "9:14": true,
+ "11:5": true,
+ "8:8": 171,
+ "7:12": 171,
+ "6:10": 171,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": 171,
+ "10:12": true,
+ "6:13": true,
+ "9:15": 171,
+ "9:12": true,
+ "8:1": true,
+ "10:15": 171,
+ "7:14": true,
+ "10:10": 171,
+ "8:7": 171,
+ "7:13": 171,
+ "9:10": 171,
+ "6:14": true,
+ "10:13": true,
+ "8:9": 171,
+ "7:10": 171,
+ "6:12": 171,
+ "6:15": [
+ 171,
+ 175
+ ],
+ "9:13": true,
+ "11:0": true,
+ "12:6": true,
+ "8:13": 171,
+ "10:9": 171,
+ "7:7": 171,
+ "12:0": true,
+ "9:9": 171,
+ "6:1": [
+ 169,
+ 175
+ ],
+ "11:6": true,
+ "10:7": 171,
+ "8:10": 171,
+ "7:9": 171,
+ "6:8": 171,
+ "9:7": 171,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": 171,
+ "7:8": 171,
+ "6:9": [
+ 171,
+ 175
+ ],
+ "14:10": true,
+ "10:1": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": 171,
+ "12:2": true,
+ "10:8": 171,
+ "6:7": [
+ 171,
+ 175
+ ],
+ "11:2": true,
+ "8:14": 171,
+ "9:8": 171,
+ "7:1": 169,
+ "12:1": true,
+ "9:3": true,
+ "6:0": 168,
+ "10:4": true,
+ "10:3": true,
+ "7:2": 170,
+ "6:6": 171,
+ "11:1": true,
+ "9:4": 171,
+ "8:5": 171,
+ "11:8": 171,
+ "7:4": 171,
+ "9:2": true,
+ "8:11": 171,
+ "10:2": true,
+ "12:8": true,
+ "7:3": 171,
+ "9:6": 171,
+ "11:9": 171,
+ "6:4": 171,
+ "10:0": true,
+ "10:6": 171,
+ "15:11": true,
+ "12:9": [
+ 171,
+ 175
+ ],
+ "9:0": true,
+ "6:3": [
+ 171,
+ 175
+ ],
+ "7:0": true,
+ "11:7": true,
+ "12:7": true,
+ "6:2": 170,
+ "7:6": 171,
+ "11:10": 171,
+ "6:5": [
+ 171,
+ 175
+ ],
+ "12:10": 171,
+ "6:11": [
+ 171,
+ 175
+ ],
+ "11:13": true,
+ "8:0": true,
+ "8:6": 171,
+ "12:13": [
+ 171,
+ 175
+ ],
+ "12:14": 171,
+ "10:5": true,
+ "9:11": 171,
+ "10:11": 171,
+ "9:5": 171,
+ "11:14": true,
+ "8:2": 170,
+ "12:15": [
+ 171,
+ 175
+ ],
+ "11:12": 171,
+ "8:4": 171,
+ "7:5": 171,
+ "12:12": 171,
+ "11:15": true,
+ "8:3": 171,
+ "7:11": 171
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-3.json
index c16c3f4a..9505661b 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-3.json
@@ -1 +1,71 @@
-{"15:9":true,"12:11":true,"5:9":true,"0:13":195,"7:15":true,"4:9":true,"3:10":[192,193],"6:13":true,"2:9":true,"9:15":true,"14:7":true,"10:15":true,"11:9":true,"15:5":true,"3:15":true,"3:2":true,"15:1":true,"12:9":true,"0:14":195,"5:8":true,"6:15":[168,175],"14:8":true,"4:8":true,"2:11":true,"2:1":true,"15:4":true,"4:14":true,"2:12":[190,194],"3:8":true,"5:14":true,"2:2":true,"13:8":true,"9:9":true,"6:11":true,"7:9":true,"15:2":true,"3:1":true,"3:11":[190,192],"12:13":true,"1:13":[194,195],"12:14":true,"6:9":true,"4:10":true,"8:15":true,"12:15":true,"5:13":true,"2:10":159,"3:9":true,"11:15":true,"1:12":[192,193],"13:9":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "5:9": true,
+ "0:13": 195,
+ "7:15": true,
+ "4:9": true,
+ "3:10": [
+ 192,
+ 193
+ ],
+ "6:13": true,
+ "2:9": true,
+ "9:15": true,
+ "14:7": true,
+ "10:15": true,
+ "11:9": true,
+ "15:5": true,
+ "3:15": true,
+ "3:2": true,
+ "15:1": true,
+ "12:9": true,
+ "0:14": 195,
+ "5:8": true,
+ "6:15": [
+ 168,
+ 175
+ ],
+ "14:8": true,
+ "4:8": true,
+ "2:11": true,
+ "2:1": true,
+ "15:4": true,
+ "4:14": true,
+ "2:12": [
+ 190,
+ 194
+ ],
+ "3:8": true,
+ "5:14": true,
+ "2:2": true,
+ "13:8": true,
+ "9:9": true,
+ "6:11": true,
+ "7:9": true,
+ "15:2": true,
+ "3:1": true,
+ "3:11": [
+ 190,
+ 192
+ ],
+ "12:13": true,
+ "1:13": [
+ 194,
+ 195
+ ],
+ "12:14": true,
+ "6:9": true,
+ "4:10": true,
+ "8:15": true,
+ "12:15": true,
+ "5:13": true,
+ "2:10": 159,
+ "3:9": true,
+ "11:15": true,
+ "1:12": [
+ 192,
+ 193
+ ],
+ "13:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-4.json
index 87e54c02..28e49cd7 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-4.json
@@ -1 +1,61 @@
-{"15:9":true,"9:14":true,"1:11":true,"3:13":true,"2:7":true,"7:12":true,"4:9":true,"3:10":true,"2:9":true,"13:0":true,"10:15":true,"3:12":true,"6:4":true,"15:5":true,"5:1":164,"15:11":true,"15:1":true,"6:3":true,"1:9":true,"15:8":true,"0:14":203,"13:4":true,"3:14":[177,201],"6:2":true,"2:11":true,"15:4":true,"1:6":true,"8:13":true,"2:12":true,"3:8":true,"5:3":true,"1:10":true,"15:14":true,"15:3":true,"6:11":true,"14:4":true,"3:5":true,"15:12":true,"15:2":true,"3:11":true,"5:2":164,"2:14":202,"1:13":true,"0:5":true,"15:0":true,"5:10":true,"2:13":true,"15:10":true,"12:4":true,"14:0":true,"15:13":true,"5:13":199,"2:10":true,"3:9":true,"1:12":true,"4:13":200} \ No newline at end of file
+{
+ "15:9": true,
+ "9:14": true,
+ "1:11": true,
+ "3:13": true,
+ "2:7": true,
+ "7:12": true,
+ "4:9": true,
+ "3:10": true,
+ "2:9": true,
+ "13:0": true,
+ "10:15": true,
+ "3:12": true,
+ "6:4": true,
+ "15:5": true,
+ "5:1": 164,
+ "15:11": true,
+ "15:1": true,
+ "6:3": true,
+ "1:9": true,
+ "15:8": true,
+ "0:14": 203,
+ "13:4": true,
+ "3:14": [
+ 177,
+ 201
+ ],
+ "6:2": true,
+ "2:11": true,
+ "15:4": true,
+ "1:6": true,
+ "8:13": true,
+ "2:12": true,
+ "3:8": true,
+ "5:3": true,
+ "1:10": true,
+ "15:14": true,
+ "15:3": true,
+ "6:11": true,
+ "14:4": true,
+ "3:5": true,
+ "15:12": true,
+ "15:2": true,
+ "3:11": true,
+ "5:2": 164,
+ "2:14": 202,
+ "1:13": true,
+ "0:5": true,
+ "15:0": true,
+ "5:10": true,
+ "2:13": true,
+ "15:10": true,
+ "12:4": true,
+ "14:0": true,
+ "15:13": true,
+ "5:13": 199,
+ "2:10": true,
+ "3:9": true,
+ "1:12": true,
+ "4:13": 200
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-5.json
index 38a94887..01f4756c 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-5.json
@@ -1 +1,72 @@
-{"15:9":177,"1:1":true,"2:7":true,"13:13":true,"11:11":199,"15:7":true,"3:0":true,"0:0":true,"14:7":[208,212],"3:6":177,"13:10":171,"1:8":177,"2:8":177,"13:12":true,"3:2":true,"15:1":true,"15:8":177,"3:3":true,"1:7":true,"2:1":true,"15:14":true,"10:7":[167,169],"7:9":[206,207],"15:12":true,"15:15":true,"14:12":true,"9:7":true,"15:10":177,"13:7":208,"15:13":true,"10:8":170,"14:13":true,"11:8":[170,208],"12:8":[207,209],"14:11":163,"15:11":[171,177],"3:8":true,"2:2":true,"15:3":177,"1:0":true,"8:0":true,"13:11":163,"15:2":true,"3:1":true,"15:0":177,"3:7":true,"15:6":[177,210],"2:0":true,"12:12":true} \ No newline at end of file
+{
+ "15:9": 177,
+ "1:1": true,
+ "2:7": true,
+ "13:13": true,
+ "11:11": 199,
+ "15:7": true,
+ "3:0": true,
+ "0:0": true,
+ "14:7": [
+ 208,
+ 212
+ ],
+ "3:6": 177,
+ "13:10": 171,
+ "1:8": 177,
+ "2:8": 177,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "15:8": 177,
+ "3:3": true,
+ "1:7": true,
+ "2:1": true,
+ "15:14": true,
+ "10:7": [
+ 167,
+ 169
+ ],
+ "7:9": [
+ 206,
+ 207
+ ],
+ "15:12": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "15:10": 177,
+ "13:7": 208,
+ "15:13": true,
+ "10:8": 170,
+ "14:13": true,
+ "11:8": [
+ 170,
+ 208
+ ],
+ "12:8": [
+ 207,
+ 209
+ ],
+ "14:11": 163,
+ "15:11": [
+ 171,
+ 177
+ ],
+ "3:8": true,
+ "2:2": true,
+ "15:3": 177,
+ "1:0": true,
+ "8:0": true,
+ "13:11": 163,
+ "15:2": true,
+ "3:1": true,
+ "15:0": 177,
+ "3:7": true,
+ "15:6": [
+ 177,
+ 210
+ ],
+ "2:0": true,
+ "12:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-6.json
index 19ba134e..06cf2b55 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_-6.json
@@ -1 +1,36 @@
-{"15:9":true,"3:13":true,"2:7":true,"1:5":true,"3:10":true,"2:9":177,"15:7":true,"3:6":true,"1:8":true,"2:8":true,"15:5":true,"3:15":true,"1:9":true,"15:8":true,"3:4":true,"2:5":true,"3:14":true,"1:7":true,"15:4":true,"1:6":true,"3:8":true,"2:15":true,"15:14":true,"3:5":true,"15:15":true,"2:14":true,"3:7":true,"1:14":true,"15:10":true,"15:6":true,"15:13":true,"1:15":true,"3:9":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "3:13": true,
+ "2:7": true,
+ "1:5": true,
+ "3:10": true,
+ "2:9": 177,
+ "15:7": true,
+ "3:6": true,
+ "1:8": true,
+ "2:8": true,
+ "15:5": true,
+ "3:15": true,
+ "1:9": true,
+ "15:8": true,
+ "3:4": true,
+ "2:5": true,
+ "3:14": true,
+ "1:7": true,
+ "15:4": true,
+ "1:6": true,
+ "3:8": true,
+ "2:15": true,
+ "15:14": true,
+ "3:5": true,
+ "15:15": true,
+ "2:14": true,
+ "3:7": true,
+ "1:14": true,
+ "15:10": true,
+ "15:6": true,
+ "15:13": true,
+ "1:15": true,
+ "3:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_0.json
index 102e124f..f8f28b67 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_0.json
@@ -1 +1,152 @@
-{"12:11":true,"9:14":true,"11:5":true,"8:8":true,"7:12":true,"6:10":true,"13:13":[190,192],"12:5":true,"10:14":true,"7:15":true,"11:11":true,"10:12":171,"6:13":[171,190],"9:15":true,"9:12":171,"8:1":true,"10:15":true,"7:14":[171,190],"10:10":true,"8:7":true,"7:13":[171,192],"9:10":true,"6:14":[171,190],"13:14":true,"10:13":true,"8:9":true,"7:10":true,"6:12":true,"6:15":true,"9:13":[171,192],"11:0":true,"8:13":[171,190],"10:9":true,"7:7":true,"15:14":190,"9:9":true,"6:1":true,"11:6":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"9:7":true,"2:14":true,"1:13":true,"2:13":true,"12:3":true,"11:4":true,"9:1":true,"8:12":171,"7:8":true,"6:9":true,"1:14":true,"10:1":true,"11:3":true,"8:15":true,"15:13":[190,192],"10:8":true,"6:7":true,"11:2":true,"8:14":true,"9:8":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:4":true,"3:13":true,"10:3":true,"0:13":true,"7:2":true,"6:6":true,"11:1":true,"9:4":true,"8:5":true,"11:8":true,"7:4":true,"9:2":true,"8:11":true,"10:2":true,"7:3":true,"9:6":true,"11:9":true,"6:4":true,"10:0":true,"10:6":true,"12:9":true,"9:0":true,"6:3":true,"7:0":true,"11:7":true,"0:14":true,"12:7":true,"6:2":true,"7:6":true,"4:14":190,"11:10":true,"6:5":true,"5:14":190,"6:11":true,"11:13":[171,192],"8:0":true,"8:6":true,"12:13":[175,190],"12:14":true,"9:11":true,"10:5":true,"10:11":true,"9:5":true,"11:14":true,"8:2":true,"12:15":true,"11:12":171,"8:4":true,"5:13":true,"7:5":true,"11:15":true,"8:3":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "13:13": [
+ 190,
+ 192
+ ],
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "10:12": 171,
+ "6:13": [
+ 171,
+ 190
+ ],
+ "9:15": true,
+ "9:12": 171,
+ "8:1": true,
+ "10:15": true,
+ "7:14": [
+ 171,
+ 190
+ ],
+ "10:10": true,
+ "8:7": true,
+ "7:13": [
+ 171,
+ 192
+ ],
+ "9:10": true,
+ "6:14": [
+ 171,
+ 190
+ ],
+ "13:14": true,
+ "10:13": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "6:15": true,
+ "9:13": [
+ 171,
+ 192
+ ],
+ "11:0": true,
+ "8:13": [
+ 171,
+ 190
+ ],
+ "10:9": true,
+ "7:7": true,
+ "15:14": 190,
+ "9:9": true,
+ "6:1": true,
+ "11:6": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "9:7": true,
+ "2:14": true,
+ "1:13": true,
+ "2:13": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": 171,
+ "7:8": true,
+ "6:9": true,
+ "1:14": true,
+ "10:1": true,
+ "11:3": true,
+ "8:15": true,
+ "15:13": [
+ 190,
+ 192
+ ],
+ "10:8": true,
+ "6:7": true,
+ "11:2": true,
+ "8:14": true,
+ "9:8": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "3:13": true,
+ "10:3": true,
+ "0:13": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "11:8": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "10:2": true,
+ "7:3": true,
+ "9:6": true,
+ "11:9": true,
+ "6:4": true,
+ "10:0": true,
+ "10:6": true,
+ "12:9": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "11:7": true,
+ "0:14": true,
+ "12:7": true,
+ "6:2": true,
+ "7:6": true,
+ "4:14": 190,
+ "11:10": true,
+ "6:5": true,
+ "5:14": 190,
+ "6:11": true,
+ "11:13": [
+ 171,
+ 192
+ ],
+ "8:0": true,
+ "8:6": true,
+ "12:13": [
+ 175,
+ 190
+ ],
+ "12:14": true,
+ "9:11": true,
+ "10:5": true,
+ "10:11": true,
+ "9:5": true,
+ "11:14": true,
+ "8:2": true,
+ "12:15": true,
+ "11:12": 171,
+ "8:4": true,
+ "5:13": true,
+ "7:5": true,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_1.json
index 4574dc7f..ce03478f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_1.json
@@ -1 +1,167 @@
-{"12:11":true,"1:1":192,"11:5":true,"8:8":true,"6:10":true,"12:5":true,"7:15":true,"6:13":true,"3:0":true,"9:15":true,"0:0":true,"8:1":171,"10:15":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"9:10":true,"4:5":true,"3:2":192,"15:1":192,"8:9":true,"7:10":true,"0:4":190,"6:15":true,"11:0":true,"12:6":true,"5:4":true,"10:9":true,"7:7":true,"12:0":true,"9:9":true,"6:1":[171,175],"11:6":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"14:15":true,"13:1":192,"9:7":true,"5:2":192,"0:5":true,"12:3":true,"11:4":true,"9:1":[171,192],"7:8":true,"6:9":true,"5:0":true,"10:1":171,"12:4":true,"11:3":true,"8:15":true,"4:0":true,"10:8":true,"6:7":true,"11:2":true,"9:8":true,"7:1":[171,192],"12:1":175,"9:3":true,"6:0":[171,192],"10:4":true,"10:3":true,"1:5":true,"7:2":true,"6:6":true,"11:1":[171,192],"9:4":true,"8:5":true,"11:8":true,"7:4":true,"9:2":true,"13:0":true,"10:2":true,"12:8":true,"7:3":true,"13:2":192,"9:6":true,"11:9":true,"6:4":true,"15:5":true,"10:0":[171,192],"10:6":true,"5:1":192,"3:15":true,"12:9":true,"9:0":[171,192],"6:3":true,"7:0":[171,192],"11:7":true,"2:5":true,"13:4":true,"12:7":true,"6:2":171,"7:6":true,"15:4":true,"11:10":true,"6:5":true,"12:10":true,"6:11":true,"1:0":[190,192],"2:4":true,"8:0":[171,192],"4:15":true,"15:2":192,"8:6":true,"3:1":true,"13:5":true,"12:13":true,"5:15":true,"15:0":[190,192],"10:5":true,"9:5":true,"8:2":true,"1:4":190,"14:0":[190,192],"2:0":[190,192],"12:15":true,"8:4":true,"1:2":192,"7:5":true,"11:15":true,"8:3":true} \ No newline at end of file
+{
+ "12:11": true,
+ "1:1": 192,
+ "11:5": true,
+ "8:8": true,
+ "6:10": true,
+ "12:5": true,
+ "7:15": true,
+ "6:13": true,
+ "3:0": true,
+ "9:15": true,
+ "0:0": true,
+ "8:1": 171,
+ "10:15": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "9:10": true,
+ "4:5": true,
+ "3:2": 192,
+ "15:1": 192,
+ "8:9": true,
+ "7:10": true,
+ "0:4": 190,
+ "6:15": true,
+ "11:0": true,
+ "12:6": true,
+ "5:4": true,
+ "10:9": true,
+ "7:7": true,
+ "12:0": true,
+ "9:9": true,
+ "6:1": [
+ 171,
+ 175
+ ],
+ "11:6": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "14:15": true,
+ "13:1": 192,
+ "9:7": true,
+ "5:2": 192,
+ "0:5": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": [
+ 171,
+ 192
+ ],
+ "7:8": true,
+ "6:9": true,
+ "5:0": true,
+ "10:1": 171,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "4:0": true,
+ "10:8": true,
+ "6:7": true,
+ "11:2": true,
+ "9:8": true,
+ "7:1": [
+ 171,
+ 192
+ ],
+ "12:1": 175,
+ "9:3": true,
+ "6:0": [
+ 171,
+ 192
+ ],
+ "10:4": true,
+ "10:3": true,
+ "1:5": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": [
+ 171,
+ 192
+ ],
+ "9:4": true,
+ "8:5": true,
+ "11:8": true,
+ "7:4": true,
+ "9:2": true,
+ "13:0": true,
+ "10:2": true,
+ "12:8": true,
+ "7:3": true,
+ "13:2": 192,
+ "9:6": true,
+ "11:9": true,
+ "6:4": true,
+ "15:5": true,
+ "10:0": [
+ 171,
+ 192
+ ],
+ "10:6": true,
+ "5:1": 192,
+ "3:15": true,
+ "12:9": true,
+ "9:0": [
+ 171,
+ 192
+ ],
+ "6:3": true,
+ "7:0": [
+ 171,
+ 192
+ ],
+ "11:7": true,
+ "2:5": true,
+ "13:4": true,
+ "12:7": true,
+ "6:2": 171,
+ "7:6": true,
+ "15:4": true,
+ "11:10": true,
+ "6:5": true,
+ "12:10": true,
+ "6:11": true,
+ "1:0": [
+ 190,
+ 192
+ ],
+ "2:4": true,
+ "8:0": [
+ 171,
+ 192
+ ],
+ "4:15": true,
+ "15:2": 192,
+ "8:6": true,
+ "3:1": true,
+ "13:5": true,
+ "12:13": true,
+ "5:15": true,
+ "15:0": [
+ 190,
+ 192
+ ],
+ "10:5": true,
+ "9:5": true,
+ "8:2": true,
+ "1:4": 190,
+ "14:0": [
+ 190,
+ 192
+ ],
+ "2:0": [
+ 190,
+ 192
+ ],
+ "12:15": true,
+ "8:4": true,
+ "1:2": 192,
+ "7:5": true,
+ "11:15": true,
+ "8:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_2.json
index 3736f0b1..c1959b3c 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_2.json
@@ -1 +1,100 @@
-{"12:11":true,"9:14":true,"7:12":true,"13:13":true,"12:5":true,"10:14":true,"7:15":true,"10:12":true,"6:13":true,"3:0":true,"9:15":true,"9:12":true,"10:15":true,"7:14":true,"1:8":true,"14:1":true,"13:15":true,"4:11":true,"7:13":true,"5:11":true,"6:14":true,"1:9":true,"13:14":true,"10:13":true,"6:12":true,"1:7":true,"6:15":true,"9:13":true,"14:14":true,"8:13":true,"2:12":true,"2:15":true,"1:10":true,"15:14":true,"6:1":true,"14:15":true,"13:1":true,"0:11":true,"15:15":true,"3:11":true,"2:14":true,"1:13":true,"12:3":true,"8:12":true,"6:9":true,"2:13":true,"1:14":true,"8:15":true,"2:10":true,"1:15":true,"6:7":true,"8:14":true,"1:12":true,"12:1":true,"1:11":true,"3:13":true,"5:9":true,"0:13":true,"4:9":true,"3:10":true,"0:10":true,"4:1":true,"3:12":true,"5:1":true,"3:15":true,"0:12":true,"12:9":true,"6:3":true,"0:14":true,"12:7":true,"3:14":true,"4:8":true,"2:11":true,"4:14":true,"6:5":true,"3:8":true,"5:14":true,"0:8":true,"6:11":true,"11:13":true,"5:12":true,"4:15":true,"4:12":true,"3:1":true,"12:13":true,"5:15":true,"12:14":true,"5:10":true,"4:10":true,"11:14":true,"0:7":true,"12:15":true,"11:12":true,"5:13":true,"3:9":true,"0:9":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "7:12": true,
+ "13:13": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "10:12": true,
+ "6:13": true,
+ "3:0": true,
+ "9:15": true,
+ "9:12": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "14:1": true,
+ "13:15": true,
+ "4:11": true,
+ "7:13": true,
+ "5:11": true,
+ "6:14": true,
+ "1:9": true,
+ "13:14": true,
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "6:15": true,
+ "9:13": true,
+ "14:14": true,
+ "8:13": true,
+ "2:12": true,
+ "2:15": true,
+ "1:10": true,
+ "15:14": true,
+ "6:1": true,
+ "14:15": true,
+ "13:1": true,
+ "0:11": true,
+ "15:15": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "12:3": true,
+ "8:12": true,
+ "6:9": true,
+ "2:13": true,
+ "1:14": true,
+ "8:15": true,
+ "2:10": true,
+ "1:15": true,
+ "6:7": true,
+ "8:14": true,
+ "1:12": true,
+ "12:1": true,
+ "1:11": true,
+ "3:13": true,
+ "5:9": true,
+ "0:13": true,
+ "4:9": true,
+ "3:10": true,
+ "0:10": true,
+ "4:1": true,
+ "3:12": true,
+ "5:1": true,
+ "3:15": true,
+ "0:12": true,
+ "12:9": true,
+ "6:3": true,
+ "0:14": true,
+ "12:7": true,
+ "3:14": true,
+ "4:8": true,
+ "2:11": true,
+ "4:14": true,
+ "6:5": true,
+ "3:8": true,
+ "5:14": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "5:12": true,
+ "4:15": true,
+ "4:12": true,
+ "3:1": true,
+ "12:13": true,
+ "5:15": true,
+ "12:14": true,
+ "5:10": true,
+ "4:10": true,
+ "11:14": true,
+ "0:7": true,
+ "12:15": true,
+ "11:12": true,
+ "5:13": true,
+ "3:9": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_3.json
index aed53373..2266b3ad 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_3.json
@@ -1 +1,122 @@
-{"15:9":true,"12:11":true,"9:14":true,"11:5":true,"7:12":true,"6:10":true,"12:5":true,"10:14":true,"7:15":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"15:7":true,"3:0":true,"9:15":true,"14:7":true,"9:12":true,"8:1":true,"10:15":true,"7:14":true,"14:1":true,"10:10":true,"7:13":true,"9:10":true,"15:1":true,"6:14":true,"15:8":true,"10:13":true,"8:9":true,"7:10":171,"6:12":true,"6:15":true,"14:8":true,"9:13":true,"8:13":true,"13:8":true,"12:0":true,"6:1":true,"8:10":171,"7:9":171,"6:8":true,"15:12":true,"13:1":true,"12:3":true,"11:4":true,"9:1":true,"8:12":true,"7:8":true,"6:9":[171,175],"15:10":true,"5:0":true,"14:10":true,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"8:15":true,"4:0":true,"15:13":true,"12:2":true,"6:7":true,"11:2":true,"8:14":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:3":true,"6:6":true,"11:1":true,"13:6":true,"9:2":true,"13:0":true,"8:11":true,"10:2":true,"13:2":true,"4:1":true,"15:5":true,"14:5":true,"5:1":true,"3:15":true,"15:11":true,"12:9":true,"6:3":true,"13:3":true,"13:4":true,"12:7":true,"15:4":true,"14:3":true,"4:14":true,"6:5":true,"12:10":true,"15:3":true,"6:11":true,"14:4":true,"11:13":true,"14:2":true,"15:2":true,"13:5":true,"12:13":true,"15:0":true,"14:6":true,"12:14":true,"9:11":true,"10:11":true,"11:14":true,"8:2":true,"15:6":true,"14:0":true,"12:15":true,"11:12":true,"5:13":true,"12:12":true,"11:15":true,"0:9":true,"7:11":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "7:12": true,
+ "6:10": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "15:7": true,
+ "3:0": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "10:15": true,
+ "7:14": true,
+ "14:1": true,
+ "10:10": true,
+ "7:13": true,
+ "9:10": true,
+ "15:1": true,
+ "6:14": true,
+ "15:8": true,
+ "10:13": true,
+ "8:9": true,
+ "7:10": 171,
+ "6:12": true,
+ "6:15": true,
+ "14:8": true,
+ "9:13": true,
+ "8:13": true,
+ "13:8": true,
+ "12:0": true,
+ "6:1": true,
+ "8:10": 171,
+ "7:9": 171,
+ "6:8": true,
+ "15:12": true,
+ "13:1": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": [
+ 171,
+ 175
+ ],
+ "15:10": true,
+ "5:0": true,
+ "14:10": true,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "4:0": true,
+ "15:13": true,
+ "12:2": true,
+ "6:7": true,
+ "11:2": true,
+ "8:14": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:3": true,
+ "6:6": true,
+ "11:1": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": true,
+ "8:11": true,
+ "10:2": true,
+ "13:2": true,
+ "4:1": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "3:15": true,
+ "15:11": true,
+ "12:9": true,
+ "6:3": true,
+ "13:3": true,
+ "13:4": true,
+ "12:7": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "6:5": true,
+ "12:10": true,
+ "15:3": true,
+ "6:11": true,
+ "14:4": true,
+ "11:13": true,
+ "14:2": true,
+ "15:2": true,
+ "13:5": true,
+ "12:13": true,
+ "15:0": true,
+ "14:6": true,
+ "12:14": true,
+ "9:11": true,
+ "10:11": true,
+ "11:14": true,
+ "8:2": true,
+ "15:6": true,
+ "14:0": true,
+ "12:15": true,
+ "11:12": true,
+ "5:13": true,
+ "12:12": true,
+ "11:15": true,
+ "0:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_4.json
index 0dc13427..f52dabff 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_4.json
@@ -1 +1,33 @@
-{"11:0":true,"9:3":true,"5:4":true,"6:5":true,"5:3":true,"7:2":true,"12:0":true,"6:1":true,"11:1":true,"7:4":true,"8:0":true,"9:2":true,"8:1":true,"10:2":true,"5:2":true,"7:3":true,"9:1":true,"5:5":true,"6:4":true,"10:0":true,"10:1":true,"5:1":true,"8:2":true,"9:0":true,"6:3":true,"7:0":true,"8:4":true,"7:5":true,"8:3":true,"6:2":true,"7:1":true} \ No newline at end of file
+{
+ "11:0": true,
+ "9:3": true,
+ "5:4": true,
+ "6:5": true,
+ "5:3": true,
+ "7:2": true,
+ "12:0": true,
+ "6:1": true,
+ "11:1": true,
+ "7:4": true,
+ "8:0": true,
+ "9:2": true,
+ "8:1": true,
+ "10:2": true,
+ "5:2": true,
+ "7:3": true,
+ "9:1": true,
+ "5:5": true,
+ "6:4": true,
+ "10:0": true,
+ "10:1": true,
+ "5:1": true,
+ "8:2": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "8:4": true,
+ "7:5": true,
+ "8:3": true,
+ "6:2": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_8.json
index 25cbedf1..e554d428 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_8.json
@@ -1 +1,217 @@
-{"12:11":true,"9:14":true,"11:5":true,"2:7":[148,153],"8:8":true,"7:12":true,"6:10":true,"13:13":true,"10:14":true,"7:15":[136,153],"11:11":true,"10:12":true,"6:13":true,"2:9":true,"9:15":true,"0:6":[155,156],"9:12":true,"3:6":150,"10:15":true,"7:14":true,"1:8":true,"13:15":[138,153],"10:10":true,"8:7":true,"4:11":true,"7:13":true,"2:8":true,"9:10":true,"5:11":true,"4:5":151,"13:12":true,"6:14":true,"1:9":true,"13:14":[138,152],"10:13":true,"3:4":[145,146],"8:9":true,"7:10":true,"6:12":true,"3:3":[144,147],"1:7":[154,156],"0:4":153,"6:15":[134,156],"9:13":true,"14:14":[138,152],"8:13":true,"2:12":true,"7:7":true,"2:15":[135,161],"15:14":[138,152],"9:9":true,"8:10":true,"7:9":true,"6:8":true,"3:5":[146,149],"15:12":true,"14:15":[138,153],"15:15":[138,153],"14:12":true,"9:7":true,"2:14":true,"1:13":true,"0:5":154,"2:13":true,"12:3":145,"11:4":[145,147],"8:12":true,"7:8":true,"6:9":true,"1:14":true,"12:4":true,"8:15":[138,153],"15:13":[138,151],"1:15":[134,161],"6:7":true,"8:14":true,"1:12":true,"14:13":[138,152],"3:13":true,"5:9":true,"0:13":true,"6:6":true,"4:9":true,"5:7":true,"3:10":true,"7:4":181,"8:11":true,"4:7":true,"14:11":true,"9:6":true,"3:12":true,"0:15":[135,175],"10:6":true,"3:15":true,"0:12":true,"15:11":true,"2:5":true,"0:14":true,"5:8":true,"3:14":true,"4:8":true,"4:14":true,"1:6":[153,154],"11:10":true,"3:8":true,"12:10":true,"5:14":true,"0:8":157,"6:11":true,"11:13":true,"5:12":true,"13:11":true,"4:15":true,"8:6":true,"4:12":true,"12:13":true,"5:15":[133,159],"12:14":152,"10:5":true,"9:11":true,"3:7":true,"5:10":true,"10:11":true,"4:10":true,"11:14":true,"0:7":157,"12:15":[138,153],"11:12":true,"5:13":true,"3:9":true,"12:12":true,"11:15":[138,153],"8:3":181,"0:9":true,"7:11":true,"4:13":true,"2:6":[148,149]} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "2:7": [
+ 148,
+ 153
+ ],
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "13:13": true,
+ "10:14": true,
+ "7:15": [
+ 136,
+ 153
+ ],
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "9:15": true,
+ "0:6": [
+ 155,
+ 156
+ ],
+ "9:12": true,
+ "3:6": 150,
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "13:15": [
+ 138,
+ 153
+ ],
+ "10:10": true,
+ "8:7": true,
+ "4:11": true,
+ "7:13": true,
+ "2:8": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": 151,
+ "13:12": true,
+ "6:14": true,
+ "1:9": true,
+ "13:14": [
+ 138,
+ 152
+ ],
+ "10:13": true,
+ "3:4": [
+ 145,
+ 146
+ ],
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "3:3": [
+ 144,
+ 147
+ ],
+ "1:7": [
+ 154,
+ 156
+ ],
+ "0:4": 153,
+ "6:15": [
+ 134,
+ 156
+ ],
+ "9:13": true,
+ "14:14": [
+ 138,
+ 152
+ ],
+ "8:13": true,
+ "2:12": true,
+ "7:7": true,
+ "2:15": [
+ 135,
+ 161
+ ],
+ "15:14": [
+ 138,
+ 152
+ ],
+ "9:9": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": [
+ 146,
+ 149
+ ],
+ "15:12": true,
+ "14:15": [
+ 138,
+ 153
+ ],
+ "15:15": [
+ 138,
+ 153
+ ],
+ "14:12": true,
+ "9:7": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": 154,
+ "2:13": true,
+ "12:3": 145,
+ "11:4": [
+ 145,
+ 147
+ ],
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "1:14": true,
+ "12:4": true,
+ "8:15": [
+ 138,
+ 153
+ ],
+ "15:13": [
+ 138,
+ 151
+ ],
+ "1:15": [
+ 134,
+ 161
+ ],
+ "6:7": true,
+ "8:14": true,
+ "1:12": true,
+ "14:13": [
+ 138,
+ 152
+ ],
+ "3:13": true,
+ "5:9": true,
+ "0:13": true,
+ "6:6": true,
+ "4:9": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": 181,
+ "8:11": true,
+ "4:7": true,
+ "14:11": true,
+ "9:6": true,
+ "3:12": true,
+ "0:15": [
+ 135,
+ 175
+ ],
+ "10:6": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "2:5": true,
+ "0:14": true,
+ "5:8": true,
+ "3:14": true,
+ "4:8": true,
+ "4:14": true,
+ "1:6": [
+ 153,
+ 154
+ ],
+ "11:10": true,
+ "3:8": true,
+ "12:10": true,
+ "5:14": true,
+ "0:8": 157,
+ "6:11": true,
+ "11:13": true,
+ "5:12": true,
+ "13:11": true,
+ "4:15": true,
+ "8:6": true,
+ "4:12": true,
+ "12:13": true,
+ "5:15": [
+ 133,
+ 159
+ ],
+ "12:14": 152,
+ "10:5": true,
+ "9:11": true,
+ "3:7": true,
+ "5:10": true,
+ "10:11": true,
+ "4:10": true,
+ "11:14": true,
+ "0:7": 157,
+ "12:15": [
+ 138,
+ 153
+ ],
+ "11:12": true,
+ "5:13": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": [
+ 138,
+ 153
+ ],
+ "8:3": 181,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true,
+ "2:6": [
+ 148,
+ 149
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_9.json
index 0bd4fdd5..970d3fc8 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-7_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-7_9.json
@@ -1 +1,316 @@
-{"1:1":[137,158],"8:8":true,"6:10":true,"13:13":true,"3:0":[135,158],"0:6":true,"0:0":[135,157],"3:6":true,"14:1":138,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"0:2":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"3:2":158,"15:1":138,"13:14":true,"3:4":[144,157],"0:3":true,"8:9":true,"7:10":true,"3:3":[144,158],"0:4":true,"2:1":[138,142],"14:14":true,"4:3":[144,157],"5:4":[144,157],"2:12":true,"10:9":true,"7:7":true,"5:3":[144,157],"2:15":true,"15:14":true,"9:9":true,"4:4":[144,157],"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"13:1":138,"4:2":[144,158],"0:11":true,"15:15":true,"14:12":true,"9:7":true,"3:11":true,"5:2":[144,157],"2:14":true,"1:13":true,"0:5":true,"2:13":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:0":true,"5:6":true,"4:0":true,"1:15":true,"10:8":true,"1:12":true,"9:8":true,"14:13":true,"1:11":true,"3:13":true,"1:5":true,"0:13":true,"11:8":true,"13:6":true,"13:0":138,"13:2":[138,179],"4:1":[139,157],"3:12":true,"0:15":true,"11:9":true,"15:5":true,"14:5":true,"5:1":true,"3:15":true,"0:12":true,"12:9":true,"13:3":true,"11:7":true,"2:5":true,"0:14":true,"13:4":true,"3:14":true,"2:11":true,"15:4":true,"14:3":true,"4:14":true,"1:6":true,"11:10":true,"12:10":true,"5:14":true,"15:3":true,"1:0":[136,157],"14:4":true,"5:12":true,"2:4":true,"14:2":138,"13:11":true,"4:15":true,"0:1":true,"15:2":[138,182],"4:12":true,"3:1":[139,158],"13:5":true,"5:15":true,"2:3":[144,158],"15:0":138,"14:6":true,"1:3":true,"1:4":true,"15:6":true,"14:0":138,"2:0":[140,158],"5:13":true,"1:2":[140,158],"4:13":true,"2:6":true,"15:9":true,"12:11":true,"9:14":true,"11:5":true,"2:7":true,"7:12":true,"12:5":true,"10:14":true,"7:15":true,"11:11":true,"10:12":true,"6:13":true,"2:9":true,"15:7":true,"9:15":true,"14:7":true,"9:12":true,"8:1":true,"13:10":true,"10:15":true,"7:14":true,"1:8":true,"7:13":true,"2:8":true,"6:14":true,"1:9":true,"15:8":true,"10:13":true,"6:12":true,"1:7":true,"6:15":true,"9:13":true,"11:0":true,"12:6":true,"8:13":true,"1:10":true,"6:1":140,"11:6":true,"11:4":true,"9:1":138,"8:12":true,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"8:15":true,"12:2":[168,178],"2:10":true,"11:2":[138,177],"8:14":true,"13:9":true,"7:1":true,"12:1":true,"9:3":140,"6:0":true,"10:4":true,"5:9":true,"10:3":true,"7:2":141,"6:6":true,"4:9":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":143,"9:2":139,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"7:3":[142,155],"9:6":true,"6:4":144,"10:6":true,"6:3":[142,156],"5:8":true,"6:2":[141,143],"7:6":true,"4:8":true,"6:5":true,"3:8":true,"0:8":true,"6:11":true,"11:13":true,"8:0":151,"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":140,"0:7":true,"12:15":true,"11:12":true,"8:4":142,"7:5":true,"3:9":true,"12:12":true,"11:15":true,"8:3":141,"0:9":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": [
+ 137,
+ 158
+ ],
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "3:0": [
+ 135,
+ 158
+ ],
+ "0:6": true,
+ "0:0": [
+ 135,
+ 157
+ ],
+ "3:6": true,
+ "14:1": 138,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": 158,
+ "15:1": 138,
+ "13:14": true,
+ "3:4": [
+ 144,
+ 157
+ ],
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": [
+ 144,
+ 158
+ ],
+ "0:4": true,
+ "2:1": [
+ 138,
+ 142
+ ],
+ "14:14": true,
+ "4:3": [
+ 144,
+ 157
+ ],
+ "5:4": [
+ 144,
+ 157
+ ],
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": [
+ 144,
+ 157
+ ],
+ "2:15": true,
+ "15:14": true,
+ "9:9": true,
+ "4:4": [
+ 144,
+ 157
+ ],
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": 138,
+ "4:2": [
+ 144,
+ 158
+ ],
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": [
+ 144,
+ 157
+ ],
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "1:15": true,
+ "10:8": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "0:13": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": 138,
+ "13:2": [
+ 138,
+ 179
+ ],
+ "4:1": [
+ 139,
+ 157
+ ],
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "3:15": true,
+ "0:12": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "13:4": true,
+ "3:14": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "5:14": true,
+ "15:3": true,
+ "1:0": [
+ 136,
+ 157
+ ],
+ "14:4": true,
+ "5:12": true,
+ "2:4": true,
+ "14:2": 138,
+ "13:11": true,
+ "4:15": true,
+ "0:1": true,
+ "15:2": [
+ 138,
+ 182
+ ],
+ "4:12": true,
+ "3:1": [
+ 139,
+ 158
+ ],
+ "13:5": true,
+ "5:15": true,
+ "2:3": [
+ 144,
+ 158
+ ],
+ "15:0": 138,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": true,
+ "14:0": 138,
+ "2:0": [
+ 140,
+ 158
+ ],
+ "5:13": true,
+ "1:2": [
+ 140,
+ 158
+ ],
+ "4:13": true,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "2:7": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "7:13": true,
+ "2:8": true,
+ "6:14": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "6:15": true,
+ "9:13": true,
+ "11:0": true,
+ "12:6": true,
+ "8:13": true,
+ "1:10": true,
+ "6:1": 140,
+ "11:6": true,
+ "11:4": true,
+ "9:1": 138,
+ "8:12": true,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "12:2": [
+ 168,
+ 178
+ ],
+ "2:10": true,
+ "11:2": [
+ 138,
+ 177
+ ],
+ "8:14": true,
+ "13:9": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": 140,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": 141,
+ "6:6": true,
+ "4:9": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": 143,
+ "9:2": 139,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "7:3": [
+ 142,
+ 155
+ ],
+ "9:6": true,
+ "6:4": 144,
+ "10:6": true,
+ "6:3": [
+ 142,
+ 156
+ ],
+ "5:8": true,
+ "6:2": [
+ 141,
+ 143
+ ],
+ "7:6": true,
+ "4:8": true,
+ "6:5": true,
+ "3:8": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": 151,
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": 140,
+ "0:7": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": 142,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": 141,
+ "0:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-1.json
index cd9b9487..7ab9b6cb 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-1.json
@@ -1 +1,31 @@
-{"10:3":[164,165],"11:1":164,"13:0":true,"10:2":160,"14:1":true,"13:2":true,"10:0":160,"15:1":true,"11:0":164,"12:0":217,"10:7":[178,179],"15:12":[153,154],"15:2":true,"10:1":160,"11:3":[164,165],"14:0":true,"11:2":165} \ No newline at end of file
+{
+ "10:3": [
+ 164,
+ 165
+ ],
+ "11:1": 164,
+ "13:0": true,
+ "10:2": 160,
+ "14:1": true,
+ "13:2": true,
+ "10:0": 160,
+ "15:1": true,
+ "11:0": 164,
+ "12:0": 217,
+ "10:7": [
+ 178,
+ 179
+ ],
+ "15:12": [
+ 153,
+ 154
+ ],
+ "15:2": true,
+ "10:1": 160,
+ "11:3": [
+ 164,
+ 165
+ ],
+ "14:0": true,
+ "11:2": 165
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-2.json
index e1b6709c..f9dfb020 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-2.json
@@ -1 +1,25 @@
-{"11:5":164,"11:11":true,"11:6":164,"3:5":true,"0:5":167,"12:3":149,"11:4":165,"11:3":true,"4:0":true,"12:1":158,"11:1":true,"11:8":true,"11:9":true,"10:6":160,"9:0":true,"11:7":165,"11:10":true,"11:13":true,"10:5":true,"11:14":true,"12:15":216,"11:12":true,"11:15":165} \ No newline at end of file
+{
+ "11:5": 164,
+ "11:11": true,
+ "11:6": 164,
+ "3:5": true,
+ "0:5": 167,
+ "12:3": 149,
+ "11:4": 165,
+ "11:3": true,
+ "4:0": true,
+ "12:1": 158,
+ "11:1": true,
+ "11:8": true,
+ "11:9": true,
+ "10:6": 160,
+ "9:0": true,
+ "11:7": 165,
+ "11:10": true,
+ "11:13": true,
+ "10:5": true,
+ "11:14": true,
+ "12:15": 216,
+ "11:12": true,
+ "11:15": 165
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-3.json
index 65b6d476..87cd0f65 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-3.json
@@ -1 +1,34 @@
-{"9:15":true,"13:14":164,"2:15":true,"15:14":196,"15:12":[166,167],"2:14":184,"1:13":184,"1:14":[170,185],"8:15":182,"2:10":183,"1:15":185,"14:13":[165,166],"0:13":185,"9:6":true,"0:15":[170,185],"0:14":[169,185],"14:3":true} \ No newline at end of file
+{
+ "9:15": true,
+ "13:14": 164,
+ "2:15": true,
+ "15:14": 196,
+ "15:12": [
+ 166,
+ 167
+ ],
+ "2:14": 184,
+ "1:13": 184,
+ "1:14": [
+ 170,
+ 185
+ ],
+ "8:15": 182,
+ "2:10": 183,
+ "1:15": 185,
+ "14:13": [
+ 165,
+ 166
+ ],
+ "0:13": 185,
+ "9:6": true,
+ "0:15": [
+ 170,
+ 185
+ ],
+ "0:14": [
+ 169,
+ 185
+ ],
+ "14:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-4.json
index aee1ef41..d984881a 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-4.json
@@ -1 +1,30 @@
-{"6:10":[204,233],"5:11":204,"7:10":true,"6:12":true,"6:9":204,"14:13":true,"12:1":217,"9:3":205,"7:2":true,"7:4":[212,213],"7:3":[206,214],"13:2":true,"9:0":210,"15:4":true,"14:3":true,"6:11":true,"8:2":212,"8:4":true,"8:3":true} \ No newline at end of file
+{
+ "6:10": [
+ 204,
+ 233
+ ],
+ "5:11": 204,
+ "7:10": true,
+ "6:12": true,
+ "6:9": 204,
+ "14:13": true,
+ "12:1": 217,
+ "9:3": 205,
+ "7:2": true,
+ "7:4": [
+ 212,
+ 213
+ ],
+ "7:3": [
+ 206,
+ 214
+ ],
+ "13:2": true,
+ "9:0": 210,
+ "15:4": true,
+ "14:3": true,
+ "6:11": true,
+ "8:2": 212,
+ "8:4": true,
+ "8:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-5.json
index 50f3e00b..44379810 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-5.json
@@ -1 +1,21 @@
-{"2:7":true,"6:6":true,"0:6":171,"3:6":true,"10:15":211,"4:5":180,"15:8":true,"1:7":true,"7:6":true,"1:6":170,"6:5":181,"4:6":true,"3:7":true,"11:14":[211,212],"0:7":182,"2:6":true} \ No newline at end of file
+{
+ "2:7": true,
+ "6:6": true,
+ "0:6": 171,
+ "3:6": true,
+ "10:15": 211,
+ "4:5": 180,
+ "15:8": true,
+ "1:7": true,
+ "7:6": true,
+ "1:6": 170,
+ "6:5": 181,
+ "4:6": true,
+ "3:7": true,
+ "11:14": [
+ 211,
+ 212
+ ],
+ "0:7": 182,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-6.json
index 6dd850a8..8b25f421 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_-6.json
@@ -1 +1,5 @@
-{"12:6":true,"11:6":191,"10:6":192} \ No newline at end of file
+{
+ "12:6": true,
+ "11:6": 191,
+ "10:6": 192
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_0.json
index 4041bf83..1c778a7d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_0.json
@@ -1 +1,61 @@
-{"14:14":true,"9:14":true,"1:11":true,"3:13":[159,209],"2:12":true,"3:8":true,"13:13":true,"10:14":true,"2:15":true,"1:10":true,"0:13":true,"15:14":true,"11:13":true,"3:5":true,"3:10":true,"6:13":true,"8:0":true,"3:6":true,"3:11":[150,209],"12:13":true,"2:14":true,"1:13":true,"7:14":true,"12:14":true,"3:7":true,"3:12":[150,209],"2:13":true,"1:14":true,"7:13":true,"11:14":true,"3:15":[163,210],"6:14":true,"15:13":true,"13:14":true,"10:13":true,"5:13":true,"3:4":true,"2:10":true,"1:15":true,"0:14":true,"3:9":true,"3:14":true,"1:12":true,"14:13":true,"9:13":true,"4:13":true,"2:11":true} \ No newline at end of file
+{
+ "14:14": true,
+ "9:14": true,
+ "1:11": true,
+ "3:13": [
+ 159,
+ 209
+ ],
+ "2:12": true,
+ "3:8": true,
+ "13:13": true,
+ "10:14": true,
+ "2:15": true,
+ "1:10": true,
+ "0:13": true,
+ "15:14": true,
+ "11:13": true,
+ "3:5": true,
+ "3:10": true,
+ "6:13": true,
+ "8:0": true,
+ "3:6": true,
+ "3:11": [
+ 150,
+ 209
+ ],
+ "12:13": true,
+ "2:14": true,
+ "1:13": true,
+ "7:14": true,
+ "12:14": true,
+ "3:7": true,
+ "3:12": [
+ 150,
+ 209
+ ],
+ "2:13": true,
+ "1:14": true,
+ "7:13": true,
+ "11:14": true,
+ "3:15": [
+ 163,
+ 210
+ ],
+ "6:14": true,
+ "15:13": true,
+ "13:14": true,
+ "10:13": true,
+ "5:13": true,
+ "3:4": true,
+ "2:10": true,
+ "1:15": true,
+ "0:14": true,
+ "3:9": true,
+ "3:14": true,
+ "1:12": true,
+ "14:13": true,
+ "9:13": true,
+ "4:13": true,
+ "2:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_1.json
index 7d15d4b4..72b5e29c 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_1.json
@@ -1 +1,106 @@
-{"6:0":true,"1:1":true,"11:5":true,"10:4":true,"3:13":true,"2:7":true,"12:5":true,"1:5":true,"7:2":true,"11:1":true,"9:4":true,"3:10":true,"7:4":true,"3:0":[160,210],"9:2":true,"13:0":true,"0:0":true,"3:6":[150,205],"1:8":true,"13:2":true,"5:5":true,"3:12":true,"0:2":true,"6:4":true,"2:8":true,"15:5":true,"10:0":true,"14:5":true,"5:1":true,"4:5":true,"3:2":[168,210],"15:1":true,"9:0":true,"7:0":true,"3:4":true,"2:5":true,"13:4":true,"3:14":true,"3:3":[163,210],"1:7":true,"0:4":true,"2:1":true,"15:4":true,"11:0":true,"14:3":true,"1:6":true,"6:5":true,"3:8":true,"2:2":true,"12:0":true,"1:0":true,"14:4":true,"3:5":[159,205],"2:4":true,"8:0":true,"13:1":true,"0:1":true,"15:2":192,"3:11":true,"3:1":[167,210],"13:5":true,"5:2":true,"2:3":true,"0:5":true,"15:0":true,"11:4":true,"10:5":true,"9:1":true,"3:7":[150,205],"1:3":true,"5:0":true,"9:5":true,"12:4":true,"1:4":true,"14:0":true,"4:0":true,"2:0":true,"1:2":true,"7:5":true,"3:9":true,"11:2":true,"7:1":true,"2:6":true} \ No newline at end of file
+{
+ "6:0": true,
+ "1:1": true,
+ "11:5": true,
+ "10:4": true,
+ "3:13": true,
+ "2:7": true,
+ "12:5": true,
+ "1:5": true,
+ "7:2": true,
+ "11:1": true,
+ "9:4": true,
+ "3:10": true,
+ "7:4": true,
+ "3:0": [
+ 160,
+ 210
+ ],
+ "9:2": true,
+ "13:0": true,
+ "0:0": true,
+ "3:6": [
+ 150,
+ 205
+ ],
+ "1:8": true,
+ "13:2": true,
+ "5:5": true,
+ "3:12": true,
+ "0:2": true,
+ "6:4": true,
+ "2:8": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "5:1": true,
+ "4:5": true,
+ "3:2": [
+ 168,
+ 210
+ ],
+ "15:1": true,
+ "9:0": true,
+ "7:0": true,
+ "3:4": true,
+ "2:5": true,
+ "13:4": true,
+ "3:14": true,
+ "3:3": [
+ 163,
+ 210
+ ],
+ "1:7": true,
+ "0:4": true,
+ "2:1": true,
+ "15:4": true,
+ "11:0": true,
+ "14:3": true,
+ "1:6": true,
+ "6:5": true,
+ "3:8": true,
+ "2:2": true,
+ "12:0": true,
+ "1:0": true,
+ "14:4": true,
+ "3:5": [
+ 159,
+ 205
+ ],
+ "2:4": true,
+ "8:0": true,
+ "13:1": true,
+ "0:1": true,
+ "15:2": 192,
+ "3:11": true,
+ "3:1": [
+ 167,
+ 210
+ ],
+ "13:5": true,
+ "5:2": true,
+ "2:3": true,
+ "0:5": true,
+ "15:0": true,
+ "11:4": true,
+ "10:5": true,
+ "9:1": true,
+ "3:7": [
+ 150,
+ 205
+ ],
+ "1:3": true,
+ "5:0": true,
+ "9:5": true,
+ "12:4": true,
+ "1:4": true,
+ "14:0": true,
+ "4:0": true,
+ "2:0": true,
+ "1:2": true,
+ "7:5": true,
+ "3:9": true,
+ "11:2": true,
+ "7:1": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_2.json
index 1024acf2..a1ab3fb3 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_2.json
@@ -1 +1,110 @@
-{"15:9":true,"12:11":true,"2:7":true,"8:8":true,"7:12":true,"6:10":true,"13:13":true,"14:9":true,"11:11":true,"10:12":true,"2:9":true,"15:7":true,"14:7":true,"9:12":true,"13:10":true,"1:8":true,"10:10":true,"8:7":true,"4:11":true,"2:8":true,"9:10":true,"5:11":true,"1:9":true,"15:8":true,"8:9":true,"7:10":true,"6:12":true,"1:7":true,"14:8":true,"14:14":true,"12:6":true,"2:12":true,"10:9":true,"7:7":true,"1:10":true,"13:8":true,"15:14":true,"9:9":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"15:12":true,"14:12":true,"9:7":true,"3:11":true,"8:12":true,"7:8":true,"6:9":true,"4:6":true,"2:13":true,"15:10":true,"14:10":true,"5:6":true,"13:7":true,"15:13":true,"2:10":true,"10:8":true,"6:7":true,"13:9":true,"9:8":true,"14:13":true,"3:13":true,"5:9":true,"6:6":true,"4:9":true,"5:7":true,"3:10":true,"11:8":true,"13:6":true,"8:11":true,"12:8":true,"14:11":true,"9:6":true,"3:12":true,"11:9":true,"10:6":true,"15:11":true,"12:9":true,"11:7":true,"5:8":true,"12:7":true,"7:6":true,"4:8":true,"2:11":true,"11:10":true,"3:8":true,"12:10":true,"0:8":true,"6:11":true,"11:13":true,"5:12":true,"13:11":true,"8:6":true,"4:12":true,"12:13":true,"14:6":true,"5:10":true,"9:11":true,"3:7":true,"10:11":true,"4:10":true,"15:6":true,"3:9":true,"12:12":true,"0:9":179,"7:11":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "2:7": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "13:13": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "2:9": true,
+ "15:7": true,
+ "14:7": true,
+ "9:12": true,
+ "13:10": true,
+ "1:8": true,
+ "10:10": true,
+ "8:7": true,
+ "4:11": true,
+ "2:8": true,
+ "9:10": true,
+ "5:11": true,
+ "1:9": true,
+ "15:8": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "1:7": true,
+ "14:8": true,
+ "14:14": true,
+ "12:6": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "1:10": true,
+ "13:8": true,
+ "15:14": true,
+ "9:9": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "15:12": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "15:10": true,
+ "14:10": true,
+ "5:6": true,
+ "13:7": true,
+ "15:13": true,
+ "2:10": true,
+ "10:8": true,
+ "6:7": true,
+ "13:9": true,
+ "9:8": true,
+ "14:13": true,
+ "3:13": true,
+ "5:9": true,
+ "6:6": true,
+ "4:9": true,
+ "5:7": true,
+ "3:10": true,
+ "11:8": true,
+ "13:6": true,
+ "8:11": true,
+ "12:8": true,
+ "14:11": true,
+ "9:6": true,
+ "3:12": true,
+ "11:9": true,
+ "10:6": true,
+ "15:11": true,
+ "12:9": true,
+ "11:7": true,
+ "5:8": true,
+ "12:7": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "11:10": true,
+ "3:8": true,
+ "12:10": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "5:12": true,
+ "13:11": true,
+ "8:6": true,
+ "4:12": true,
+ "12:13": true,
+ "14:6": true,
+ "5:10": true,
+ "9:11": true,
+ "3:7": true,
+ "10:11": true,
+ "4:10": true,
+ "15:6": true,
+ "3:9": true,
+ "12:12": true,
+ "0:9": 179,
+ "7:11": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_3.json
index a3278b89..d250466e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_3.json
@@ -1 +1,42 @@
-{"15:9":true,"14:9":true,"9:10":true,"4:5":169,"3:2":true,"15:8":[198,199],"3:4":[169,170],"3:3":true,"14:8":[198,199],"2:1":173,"10:9":true,"13:8":199,"4:4":true,"8:10":true,"4:2":true,"5:2":174,"12:3":true,"12:2":true,"11:2":[186,187],"13:9":true,"10:2":186,"4:1":[173,174],"13:3":true,"3:1":173,"10:11":true} \ No newline at end of file
+{
+ "15:9": true,
+ "14:9": true,
+ "9:10": true,
+ "4:5": 169,
+ "3:2": true,
+ "15:8": [
+ 198,
+ 199
+ ],
+ "3:4": [
+ 169,
+ 170
+ ],
+ "3:3": true,
+ "14:8": [
+ 198,
+ 199
+ ],
+ "2:1": 173,
+ "10:9": true,
+ "13:8": 199,
+ "4:4": true,
+ "8:10": true,
+ "4:2": true,
+ "5:2": 174,
+ "12:3": true,
+ "12:2": true,
+ "11:2": [
+ 186,
+ 187
+ ],
+ "13:9": true,
+ "10:2": 186,
+ "4:1": [
+ 173,
+ 174
+ ],
+ "13:3": true,
+ "3:1": 173,
+ "10:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_4.json
index 789747c8..232e64b6 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_4.json
@@ -1 +1,82 @@
-{"9:3":true,"6:0":true,"1:1":true,"11:5":true,"10:4":true,"10:3":true,"1:5":true,"7:2":true,"6:6":true,"11:1":true,"9:4":true,"8:5":true,"7:4":true,"3:0":true,"9:2":true,"0:6":true,"0:0":true,"8:1":true,"3:6":true,"10:2":true,"7:3":true,"9:6":true,"5:5":true,"4:1":true,"0:2":true,"6:4":true,"5:1":true,"4:5":true,"3:2":true,"9:0":true,"6:3":true,"7:0":true,"3:4":true,"2:5":true,"0:3":true,"3:3":true,"0:4":true,"6:2":true,"7:6":true,"2:1":true,"4:3":true,"1:6":true,"5:4":true,"6:5":true,"5:3":true,"2:2":true,"6:1":true,"1:0":true,"4:4":true,"3:5":true,"2:4":true,"8:0":true,"4:2":true,"0:1":true,"8:6":true,"3:1":true,"5:2":true,"2:3":true,"0:5":true,"11:4":true,"10:5":true,"9:1":true,"4:6":true,"1:3":true,"5:0":true,"10:1":true,"9:5":true,"5:6":true,"11:3":true,"8:2":true,"1:4":true,"4:0":true,"2:0":true,"8:4":true,"1:2":true,"7:5":true,"11:2":true,"8:3":true,"7:1":true,"2:6":true} \ No newline at end of file
+{
+ "9:3": true,
+ "6:0": true,
+ "1:1": true,
+ "11:5": true,
+ "10:4": true,
+ "10:3": true,
+ "1:5": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "7:4": true,
+ "3:0": true,
+ "9:2": true,
+ "0:6": true,
+ "0:0": true,
+ "8:1": true,
+ "3:6": true,
+ "10:2": true,
+ "7:3": true,
+ "9:6": true,
+ "5:5": true,
+ "4:1": true,
+ "0:2": true,
+ "6:4": true,
+ "5:1": true,
+ "4:5": true,
+ "3:2": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "3:4": true,
+ "2:5": true,
+ "0:3": true,
+ "3:3": true,
+ "0:4": true,
+ "6:2": true,
+ "7:6": true,
+ "2:1": true,
+ "4:3": true,
+ "1:6": true,
+ "5:4": true,
+ "6:5": true,
+ "5:3": true,
+ "2:2": true,
+ "6:1": true,
+ "1:0": true,
+ "4:4": true,
+ "3:5": true,
+ "2:4": true,
+ "8:0": true,
+ "4:2": true,
+ "0:1": true,
+ "8:6": true,
+ "3:1": true,
+ "5:2": true,
+ "2:3": true,
+ "0:5": true,
+ "11:4": true,
+ "10:5": true,
+ "9:1": true,
+ "4:6": true,
+ "1:3": true,
+ "5:0": true,
+ "10:1": true,
+ "9:5": true,
+ "5:6": true,
+ "11:3": true,
+ "8:2": true,
+ "1:4": true,
+ "4:0": true,
+ "2:0": true,
+ "8:4": true,
+ "1:2": true,
+ "7:5": true,
+ "11:2": true,
+ "8:3": true,
+ "7:1": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_5.json
index e9b7db0b..8e06143e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_5.json
@@ -1 +1,41 @@
-{"12:1":true,"1:1":true,"11:5":202,"12:5":true,"1:5":true,"11:1":true,"8:5":true,"8:1":true,"10:2":true,"14:1":true,"5:5":true,"4:1":true,"0:2":true,"15:5":true,"14:5":true,"5:1":true,"4:5":true,"15:1":true,"2:5":true,"0:3":true,"0:4":true,"2:1":true,"6:5":true,"6:1":true,"3:5":true,"13:1":true,"0:1":true,"3:1":true,"13:5":true,"0:5":true,"10:5":[198,202],"9:1":true,"10:1":true,"9:5":true,"7:5":true,"7:1":true} \ No newline at end of file
+{
+ "12:1": true,
+ "1:1": true,
+ "11:5": 202,
+ "12:5": true,
+ "1:5": true,
+ "11:1": true,
+ "8:5": true,
+ "8:1": true,
+ "10:2": true,
+ "14:1": true,
+ "5:5": true,
+ "4:1": true,
+ "0:2": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "4:5": true,
+ "15:1": true,
+ "2:5": true,
+ "0:3": true,
+ "0:4": true,
+ "2:1": true,
+ "6:5": true,
+ "6:1": true,
+ "3:5": true,
+ "13:1": true,
+ "0:1": true,
+ "3:1": true,
+ "13:5": true,
+ "0:5": true,
+ "10:5": [
+ 198,
+ 202
+ ],
+ "9:1": true,
+ "10:1": true,
+ "9:5": true,
+ "7:5": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_6.json
index e47f1f03..29c4dc07 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_6.json
@@ -1 +1,31 @@
-{"3:13":[146,147],"0:13":true,"14:1":true,"4:11":true,"3:12":true,"0:15":true,"5:11":[144,145],"0:12":true,"0:14":true,"4:12":[145,146],"2:14":[147,148],"2:13":true,"1:14":true,"1:15":[148,149]} \ No newline at end of file
+{
+ "3:13": [
+ 146,
+ 147
+ ],
+ "0:13": true,
+ "14:1": true,
+ "4:11": true,
+ "3:12": true,
+ "0:15": true,
+ "5:11": [
+ 144,
+ 145
+ ],
+ "0:12": true,
+ "0:14": true,
+ "4:12": [
+ 145,
+ 146
+ ],
+ "2:14": [
+ 147,
+ 148
+ ],
+ "2:13": true,
+ "1:14": true,
+ "1:15": [
+ 148,
+ 149
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_7.json
index 3154cd03..d3cf2923 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_7.json
@@ -1 +1,85 @@
-{"7:15":true,"2:9":158,"0:6":[157,159],"0:0":true,"3:6":true,"7:14":true,"13:15":152,"5:5":true,"0:2":true,"4:5":true,"13:12":true,"6:14":true,"1:9":true,"3:4":149,"0:3":151,"1:7":146,"6:15":true,"5:4":true,"2:12":true,"2:15":true,"1:10":true,"4:4":true,"3:5":true,"15:12":222,"0:11":true,"14:12":true,"2:14":true,"1:13":true,"0:5":157,"4:6":true,"2:13":true,"1:14":true,"5:6":true,"2:10":true,"1:15":true,"1:12":true,"3:13":true,"0:13":true,"6:6":true,"7:4":true,"0:10":true,"7:3":true,"3:12":true,"0:15":[151,159],"6:4":true,"3:15":true,"0:12":true,"2:5":149,"0:14":true,"3:14":true,"6:2":156,"7:6":true,"4:14":true,"1:6":[147,149],"6:5":true,"5:14":true,"0:8":[147,160],"4:15":true,"0:1":true,"8:6":true,"4:12":true,"0:7":[147,159],"5:13":true,"1:2":true,"12:12":true,"0:9":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "7:15": true,
+ "2:9": 158,
+ "0:6": [
+ 157,
+ 159
+ ],
+ "0:0": true,
+ "3:6": true,
+ "7:14": true,
+ "13:15": 152,
+ "5:5": true,
+ "0:2": true,
+ "4:5": true,
+ "13:12": true,
+ "6:14": true,
+ "1:9": true,
+ "3:4": 149,
+ "0:3": 151,
+ "1:7": 146,
+ "6:15": true,
+ "5:4": true,
+ "2:12": true,
+ "2:15": true,
+ "1:10": true,
+ "4:4": true,
+ "3:5": true,
+ "15:12": 222,
+ "0:11": true,
+ "14:12": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": 157,
+ "4:6": true,
+ "2:13": true,
+ "1:14": true,
+ "5:6": true,
+ "2:10": true,
+ "1:15": true,
+ "1:12": true,
+ "3:13": true,
+ "0:13": true,
+ "6:6": true,
+ "7:4": true,
+ "0:10": true,
+ "7:3": true,
+ "3:12": true,
+ "0:15": [
+ 151,
+ 159
+ ],
+ "6:4": true,
+ "3:15": true,
+ "0:12": true,
+ "2:5": 149,
+ "0:14": true,
+ "3:14": true,
+ "6:2": 156,
+ "7:6": true,
+ "4:14": true,
+ "1:6": [
+ 147,
+ 149
+ ],
+ "6:5": true,
+ "5:14": true,
+ "0:8": [
+ 147,
+ 160
+ ],
+ "4:15": true,
+ "0:1": true,
+ "8:6": true,
+ "4:12": true,
+ "0:7": [
+ 147,
+ 159
+ ],
+ "5:13": true,
+ "1:2": true,
+ "12:12": true,
+ "0:9": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_8.json
index 575f6f03..4863ca14 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_8.json
@@ -1 +1,265 @@
-{"13:13":[172,173],"3:0":true,"0:6":[149,155],"0:0":[153,159],"14:1":true,"13:15":true,"4:11":true,"0:2":true,"5:11":true,"13:12":172,"3:2":[153,155],"13:14":true,"0:3":true,"0:4":[149,154],"2:1":[153,154],"14:14":174,"4:3":true,"5:4":[152,153],"2:12":true,"5:3":[154,155],"2:15":true,"15:14":157,"15:12":true,"14:15":true,"13:1":154,"4:2":[156,158],"0:11":true,"15:15":[136,175],"2:14":true,"1:13":true,"0:5":[149,154],"1:14":true,"4:0":true,"15:13":true,"1:15":true,"10:8":166,"1:12":true,"1:11":true,"3:13":true,"0:13":true,"13:6":157,"13:0":true,"12:8":153,"13:2":true,"4:1":true,"3:12":true,"0:15":true,"11:9":167,"14:5":157,"3:15":true,"0:12":true,"12:9":[168,169],"0:14":true,"13:4":157,"12:7":[154,156],"3:14":true,"2:11":true,"15:4":154,"14:3":155,"4:14":true,"11:10":167,"12:10":[169,170],"5:14":true,"15:3":153,"1:0":153,"5:12":true,"14:2":155,"13:11":[153,171],"4:15":true,"0:1":[154,156],"4:12":true,"3:1":[155,158],"13:5":157,"5:15":true,"15:0":true,"14:6":157,"15:6":157,"2:0":true,"5:13":true,"4:13":true,"15:9":true,"12:11":[153,170],"9:14":true,"11:5":156,"12:5":157,"10:14":true,"7:15":true,"14:9":157,"11:11":[151,152],"10:12":[149,153],"6:13":true,"15:7":157,"9:15":true,"14:7":157,"9:12":true,"8:1":true,"13:10":152,"10:15":true,"7:14":true,"7:13":true,"6:14":true,"15:8":157,"10:13":true,"6:12":true,"6:15":true,"14:8":157,"9:13":true,"12:6":157,"8:13":true,"1:10":true,"13:8":[154,156],"6:1":true,"11:6":[153,156],"12:3":true,"11:4":157,"9:1":true,"8:12":true,"15:10":true,"14:10":[153,156],"13:7":157,"12:4":157,"11:3":true,"8:15":true,"11:2":true,"8:14":true,"13:9":[153,156],"7:1":true,"9:3":true,"6:0":true,"10:4":157,"10:3":true,"9:4":156,"8:5":true,"7:4":[153,156],"9:2":true,"10:2":true,"0:10":[149,182],"7:3":true,"6:4":[152,155],"10:6":[153,154],"6:3":156,"7:0":true,"0:8":[149,157],"6:11":true,"11:13":155,"8:0":true,"12:13":155,"12:14":true,"10:5":[155,156],"5:10":183,"9:5":true,"11:14":true,"0:7":[148,155],"12:15":true,"11:12":[150,154],"8:4":[155,157],"7:5":true,"12:12":154,"11:15":true,"8:3":158,"0:9":[151,157]} \ No newline at end of file
+{
+ "13:13": [
+ 172,
+ 173
+ ],
+ "3:0": true,
+ "0:6": [
+ 149,
+ 155
+ ],
+ "0:0": [
+ 153,
+ 159
+ ],
+ "14:1": true,
+ "13:15": true,
+ "4:11": true,
+ "0:2": true,
+ "5:11": true,
+ "13:12": 172,
+ "3:2": [
+ 153,
+ 155
+ ],
+ "13:14": true,
+ "0:3": true,
+ "0:4": [
+ 149,
+ 154
+ ],
+ "2:1": [
+ 153,
+ 154
+ ],
+ "14:14": 174,
+ "4:3": true,
+ "5:4": [
+ 152,
+ 153
+ ],
+ "2:12": true,
+ "5:3": [
+ 154,
+ 155
+ ],
+ "2:15": true,
+ "15:14": 157,
+ "15:12": true,
+ "14:15": true,
+ "13:1": 154,
+ "4:2": [
+ 156,
+ 158
+ ],
+ "0:11": true,
+ "15:15": [
+ 136,
+ 175
+ ],
+ "2:14": true,
+ "1:13": true,
+ "0:5": [
+ 149,
+ 154
+ ],
+ "1:14": true,
+ "4:0": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": 166,
+ "1:12": true,
+ "1:11": true,
+ "3:13": true,
+ "0:13": true,
+ "13:6": 157,
+ "13:0": true,
+ "12:8": 153,
+ "13:2": true,
+ "4:1": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": 167,
+ "14:5": 157,
+ "3:15": true,
+ "0:12": true,
+ "12:9": [
+ 168,
+ 169
+ ],
+ "0:14": true,
+ "13:4": 157,
+ "12:7": [
+ 154,
+ 156
+ ],
+ "3:14": true,
+ "2:11": true,
+ "15:4": 154,
+ "14:3": 155,
+ "4:14": true,
+ "11:10": 167,
+ "12:10": [
+ 169,
+ 170
+ ],
+ "5:14": true,
+ "15:3": 153,
+ "1:0": 153,
+ "5:12": true,
+ "14:2": 155,
+ "13:11": [
+ 153,
+ 171
+ ],
+ "4:15": true,
+ "0:1": [
+ 154,
+ 156
+ ],
+ "4:12": true,
+ "3:1": [
+ 155,
+ 158
+ ],
+ "13:5": 157,
+ "5:15": true,
+ "15:0": true,
+ "14:6": 157,
+ "15:6": 157,
+ "2:0": true,
+ "5:13": true,
+ "4:13": true,
+ "15:9": true,
+ "12:11": [
+ 153,
+ 170
+ ],
+ "9:14": true,
+ "11:5": 156,
+ "12:5": 157,
+ "10:14": true,
+ "7:15": true,
+ "14:9": 157,
+ "11:11": [
+ 151,
+ 152
+ ],
+ "10:12": [
+ 149,
+ 153
+ ],
+ "6:13": true,
+ "15:7": 157,
+ "9:15": true,
+ "14:7": 157,
+ "9:12": true,
+ "8:1": true,
+ "13:10": 152,
+ "10:15": true,
+ "7:14": true,
+ "7:13": true,
+ "6:14": true,
+ "15:8": 157,
+ "10:13": true,
+ "6:12": true,
+ "6:15": true,
+ "14:8": 157,
+ "9:13": true,
+ "12:6": 157,
+ "8:13": true,
+ "1:10": true,
+ "13:8": [
+ 154,
+ 156
+ ],
+ "6:1": true,
+ "11:6": [
+ 153,
+ 156
+ ],
+ "12:3": true,
+ "11:4": 157,
+ "9:1": true,
+ "8:12": true,
+ "15:10": true,
+ "14:10": [
+ 153,
+ 156
+ ],
+ "13:7": 157,
+ "12:4": 157,
+ "11:3": true,
+ "8:15": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": [
+ 153,
+ 156
+ ],
+ "7:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": 157,
+ "10:3": true,
+ "9:4": 156,
+ "8:5": true,
+ "7:4": [
+ 153,
+ 156
+ ],
+ "9:2": true,
+ "10:2": true,
+ "0:10": [
+ 149,
+ 182
+ ],
+ "7:3": true,
+ "6:4": [
+ 152,
+ 155
+ ],
+ "10:6": [
+ 153,
+ 154
+ ],
+ "6:3": 156,
+ "7:0": true,
+ "0:8": [
+ 149,
+ 157
+ ],
+ "6:11": true,
+ "11:13": 155,
+ "8:0": true,
+ "12:13": 155,
+ "12:14": true,
+ "10:5": [
+ 155,
+ 156
+ ],
+ "5:10": 183,
+ "9:5": true,
+ "11:14": true,
+ "0:7": [
+ 148,
+ 155
+ ],
+ "12:15": true,
+ "11:12": [
+ 150,
+ 154
+ ],
+ "8:4": [
+ 155,
+ 157
+ ],
+ "7:5": true,
+ "12:12": 154,
+ "11:15": true,
+ "8:3": 158,
+ "0:9": [
+ 151,
+ 157
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_9.json
index 9990588f..65c19273 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-8_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-8_9.json
@@ -1 +1,213 @@
-{"1:1":true,"13:13":true,"3:0":true,"0:6":[171,173],"0:0":true,"3:6":174,"14:1":true,"10:10":[152,154],"8:7":true,"5:5":177,"0:2":true,"9:10":154,"4:5":176,"13:12":true,"3:2":true,"15:1":true,"3:4":true,"0:3":true,"8:9":154,"7:10":156,"3:3":true,"0:4":true,"2:1":true,"14:14":true,"4:3":true,"5:4":true,"10:9":152,"7:7":true,"5:3":true,"15:14":true,"9:9":153,"4:4":true,"10:7":true,"8:10":155,"7:9":155,"3:5":175,"15:12":true,"14:15":true,"13:1":true,"4:2":true,"15:15":true,"14:12":true,"9:7":true,"5:2":true,"0:5":[171,175],"7:8":154,"4:6":175,"5:0":true,"5:6":176,"4:0":true,"15:13":true,"10:8":true,"6:7":[175,176],"14:13":true,"1:5":[170,173],"11:8":true,"13:6":true,"13:0":true,"12:8":true,"14:11":true,"13:2":true,"4:1":true,"11:9":[137,142],"15:5":true,"14:5":true,"5:1":true,"15:11":true,"12:9":true,"13:3":true,"11:7":true,"2:5":174,"13:4":true,"12:7":true,"15:4":true,"14:3":true,"11:10":true,"12:10":true,"2:2":true,"15:3":true,"1:0":true,"14:4":true,"2:4":true,"14:2":true,"13:11":true,"0:1":true,"15:2":true,"3:1":true,"13:5":true,"2:3":true,"15:0":true,"14:6":true,"1:3":true,"1:4":true,"15:6":true,"14:0":true,"2:0":true,"1:2":true,"2:6":173,"15:9":true,"12:11":true,"9:14":true,"11:5":true,"7:12":true,"12:5":true,"10:14":true,"14:9":true,"11:11":true,"10:12":true,"15:7":true,"14:7":true,"9:12":true,"8:1":true,"13:10":true,"10:15":true,"7:13":155,"15:8":true,"10:13":true,"14:8":true,"9:13":true,"11:0":true,"12:6":true,"8:13":true,"13:8":true,"12:0":true,"6:1":true,"11:6":true,"12:3":true,"11:4":true,"9:1":true,"8:12":true,"15:10":true,"14:10":true,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"12:2":true,"11:2":true,"13:9":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:4":true,"10:3":true,"7:2":true,"6:6":177,"11:1":true,"9:4":true,"8:5":true,"5:7":[174,175],"7:4":true,"9:2":true,"8:11":true,"4:7":[173,174],"10:2":true,"7:3":true,"9:6":true,"6:4":true,"10:0":true,"10:6":true,"9:0":true,"6:3":true,"7:0":true,"6:2":true,"7:6":true,"6:5":true,"11:13":true,"8:0":true,"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"3:7":173,"10:11":true,"9:5":true,"11:14":true,"8:2":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"12:12":true,"11:15":true,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "13:13": true,
+ "3:0": true,
+ "0:6": [
+ 171,
+ 173
+ ],
+ "0:0": true,
+ "3:6": 174,
+ "14:1": true,
+ "10:10": [
+ 152,
+ 154
+ ],
+ "8:7": true,
+ "5:5": 177,
+ "0:2": true,
+ "9:10": 154,
+ "4:5": 176,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": 154,
+ "7:10": 156,
+ "3:3": true,
+ "0:4": true,
+ "2:1": true,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "10:9": 152,
+ "7:7": true,
+ "5:3": true,
+ "15:14": true,
+ "9:9": 153,
+ "4:4": true,
+ "10:7": true,
+ "8:10": 155,
+ "7:9": 155,
+ "3:5": 175,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "5:2": true,
+ "0:5": [
+ 171,
+ 175
+ ],
+ "7:8": 154,
+ "4:6": 175,
+ "5:0": true,
+ "5:6": 176,
+ "4:0": true,
+ "15:13": true,
+ "10:8": true,
+ "6:7": [
+ 175,
+ 176
+ ],
+ "14:13": true,
+ "1:5": [
+ 170,
+ 173
+ ],
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "4:1": true,
+ "11:9": [
+ 137,
+ 142
+ ],
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "15:11": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": 174,
+ "13:4": true,
+ "12:7": true,
+ "15:4": true,
+ "14:3": true,
+ "11:10": true,
+ "12:10": true,
+ "2:2": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "0:1": true,
+ "15:2": true,
+ "3:1": true,
+ "13:5": true,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": true,
+ "1:2": true,
+ "2:6": 173,
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "15:7": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "13:10": true,
+ "10:15": true,
+ "7:13": 155,
+ "15:8": true,
+ "10:13": true,
+ "14:8": true,
+ "9:13": true,
+ "11:0": true,
+ "12:6": true,
+ "8:13": true,
+ "13:8": true,
+ "12:0": true,
+ "6:1": true,
+ "11:6": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "12:2": true,
+ "11:2": true,
+ "13:9": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "10:3": true,
+ "7:2": true,
+ "6:6": 177,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": [
+ 174,
+ 175
+ ],
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": [
+ 173,
+ 174
+ ],
+ "10:2": true,
+ "7:3": true,
+ "9:6": true,
+ "6:4": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "6:2": true,
+ "7:6": true,
+ "6:5": true,
+ "11:13": true,
+ "8:0": true,
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "3:7": 173,
+ "10:11": true,
+ "9:5": true,
+ "11:14": true,
+ "8:2": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-1.json
index d31fa63e..3b14a2de 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-1.json
@@ -1 +1,20 @@
-{"11:5":true,"8:5":true,"0:6":197,"7:14":[165,168],"10:6":true,"6:14":[166,167],"11:6":true,"10:7":true,"9:7":true,"5:15":166,"0:5":196,"8:14":true} \ No newline at end of file
+{
+ "11:5": true,
+ "8:5": true,
+ "0:6": 197,
+ "7:14": [
+ 165,
+ 168
+ ],
+ "10:6": true,
+ "6:14": [
+ 166,
+ 167
+ ],
+ "11:6": true,
+ "10:7": true,
+ "9:7": true,
+ "5:15": 166,
+ "0:5": 196,
+ "8:14": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-2.json
index aca1f76c..3f60da15 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-2.json
@@ -1 +1,36 @@
-{"0:6":true,"0:0":[168,212],"14:1":[169,170],"0:2":true,"3:4":true,"5:3":true,"13:1":169,"10:1":211,"10:3":211,"13:0":168,"10:2":211,"13:2":true,"15:5":true,"2:5":true,"14:3":168,"1:0":168,"14:2":169,"0:1":[167,216],"15:0":[169,170],"15:6":true,"14:0":168,"1:2":216} \ No newline at end of file
+{
+ "0:6": true,
+ "0:0": [
+ 168,
+ 212
+ ],
+ "14:1": [
+ 169,
+ 170
+ ],
+ "0:2": true,
+ "3:4": true,
+ "5:3": true,
+ "13:1": 169,
+ "10:1": 211,
+ "10:3": 211,
+ "13:0": 168,
+ "10:2": 211,
+ "13:2": true,
+ "15:5": true,
+ "2:5": true,
+ "14:3": 168,
+ "1:0": 168,
+ "14:2": 169,
+ "0:1": [
+ 167,
+ 216
+ ],
+ "15:0": [
+ 169,
+ 170
+ ],
+ "15:6": true,
+ "14:0": 168,
+ "1:2": 216
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-3.json
index 9a2f6ba9..84181f40 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-3.json
@@ -1 +1,31 @@
-{"12:5":true,"10:12":true,"10:13":true,"12:6":true,"15:14":185,"14:15":168,"15:15":169,"3:11":169,"12:4":210,"13:6":201,"13:2":211,"15:5":201,"14:5":201,"13:3":[210,211],"11:7":208,"13:4":[201,211],"12:7":201,"14:3":201,"14:4":true,"14:2":212,"13:5":201,"14:6":201,"10:11":true} \ No newline at end of file
+{
+ "12:5": true,
+ "10:12": true,
+ "10:13": true,
+ "12:6": true,
+ "15:14": 185,
+ "14:15": 168,
+ "15:15": 169,
+ "3:11": 169,
+ "12:4": 210,
+ "13:6": 201,
+ "13:2": 211,
+ "15:5": 201,
+ "14:5": 201,
+ "13:3": [
+ 210,
+ 211
+ ],
+ "11:7": 208,
+ "13:4": [
+ 201,
+ 211
+ ],
+ "12:7": 201,
+ "14:3": 201,
+ "14:4": true,
+ "14:2": 212,
+ "13:5": 201,
+ "14:6": 201,
+ "10:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-4.json
index 3994b683..146a0bba 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-4.json
@@ -1 +1,23 @@
-{"7:7":true,"5:9":true,"10:3":true,"0:13":true,"6:6":true,"4:9":true,"6:8":true,"5:7":true,"5:12":true,"7:8":true,"5:10":true,"1:3":true,"0:2":true,"5:11":true,"1:4":true,"0:12":true,"0:14":true,"1:2":true,"6:7":true,"5:8":true,"0:4":true} \ No newline at end of file
+{
+ "7:7": true,
+ "5:9": true,
+ "10:3": true,
+ "0:13": true,
+ "6:6": true,
+ "4:9": true,
+ "6:8": true,
+ "5:7": true,
+ "5:12": true,
+ "7:8": true,
+ "5:10": true,
+ "1:3": true,
+ "0:2": true,
+ "5:11": true,
+ "1:4": true,
+ "0:12": true,
+ "0:14": true,
+ "1:2": true,
+ "6:7": true,
+ "5:8": true,
+ "0:4": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-5.json
index 8cf4d4b1..ead7e176 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-5.json
@@ -1 +1,49 @@
-{"8:8":true,"6:6":true,"5:7":true,"0:0":188,"12:8":[172,173],"0:2":true,"10:10":[222,223],"14:5":[200,201],"9:10":224,"8:9":true,"5:8":true,"2:11":true,"15:4":[201,202],"2:12":true,"10:9":223,"7:7":true,"2:15":true,"9:9":true,"14:4":200,"8:10":true,"7:9":true,"6:8":true,"0:1":true,"2:14":true,"14:6":[200,201],"9:11":224,"7:8":true,"2:13":true,"10:11":223,"5:6":true,"13:7":172,"6:7":true} \ No newline at end of file
+{
+ "8:8": true,
+ "6:6": true,
+ "5:7": true,
+ "0:0": 188,
+ "12:8": [
+ 172,
+ 173
+ ],
+ "0:2": true,
+ "10:10": [
+ 222,
+ 223
+ ],
+ "14:5": [
+ 200,
+ 201
+ ],
+ "9:10": 224,
+ "8:9": true,
+ "5:8": true,
+ "2:11": true,
+ "15:4": [
+ 201,
+ 202
+ ],
+ "2:12": true,
+ "10:9": 223,
+ "7:7": true,
+ "2:15": true,
+ "9:9": true,
+ "14:4": 200,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "0:1": true,
+ "2:14": true,
+ "14:6": [
+ 200,
+ 201
+ ],
+ "9:11": 224,
+ "7:8": true,
+ "2:13": true,
+ "10:11": 223,
+ "5:6": true,
+ "13:7": 172,
+ "6:7": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-6.json
index 69ff3534..2bb76172 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_-6.json
@@ -1 +1,22 @@
-{"7:12":true,"0:2":201,"3:4":true,"0:3":[201,216],"6:12":true,"3:14":226,"7:6":true,"4:14":226,"5:14":true,"4:4":true,"2:4":true,"2:3":201,"1:3":201,"1:4":true,"5:13":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "7:12": true,
+ "0:2": 201,
+ "3:4": true,
+ "0:3": [
+ 201,
+ 216
+ ],
+ "6:12": true,
+ "3:14": 226,
+ "7:6": true,
+ "4:14": 226,
+ "5:14": true,
+ "4:4": true,
+ "2:4": true,
+ "2:3": 201,
+ "1:3": 201,
+ "1:4": true,
+ "5:13": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_0.json
index 5d27980e..405d0278 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_0.json
@@ -1 +1,29 @@
-{"12:1":true,"9:14":true,"8:13":true,"3:13":true,"0:13":true,"13:13":true,"10:14":true,"5:14":true,"12:0":true,"14:4":true,"11:1":true,"11:13":true,"6:13":true,"1:13":true,"7:14":true,"12:3":true,"7:13":true,"6:14":true,"15:13":true,"0:14":true,"12:2":true,"10:13":true,"5:13":true,"13:4":true,"11:2":true,"8:14":true,"9:13":true} \ No newline at end of file
+{
+ "12:1": true,
+ "9:14": true,
+ "8:13": true,
+ "3:13": true,
+ "0:13": true,
+ "13:13": true,
+ "10:14": true,
+ "5:14": true,
+ "12:0": true,
+ "14:4": true,
+ "11:1": true,
+ "11:13": true,
+ "6:13": true,
+ "1:13": true,
+ "7:14": true,
+ "12:3": true,
+ "7:13": true,
+ "6:14": true,
+ "15:13": true,
+ "0:14": true,
+ "12:2": true,
+ "10:13": true,
+ "5:13": true,
+ "13:4": true,
+ "11:2": true,
+ "8:14": true,
+ "9:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_2.json
index f2607f0a..a73a600d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_2.json
@@ -1 +1,23 @@
-{"11:0":true,"15:9":true,"12:1":true,"12:11":true,"6:10":true,"13:13":[177,179],"12:10":true,"14:9":true,"12:0":true,"6:11":true,"11:1":true,"13:10":true,"12:8":true,"15:8":true,"12:2":true,"13:9":true,"14:8":true,"14:13":178} \ No newline at end of file
+{
+ "11:0": true,
+ "15:9": true,
+ "12:1": true,
+ "12:11": true,
+ "6:10": true,
+ "13:13": [
+ 177,
+ 179
+ ],
+ "12:10": true,
+ "14:9": true,
+ "12:0": true,
+ "6:11": true,
+ "11:1": true,
+ "13:10": true,
+ "12:8": true,
+ "15:8": true,
+ "12:2": true,
+ "13:9": true,
+ "14:8": true,
+ "14:13": 178
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_3.json
index 1ccf4ded..aee761df 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_3.json
@@ -1 +1,6 @@
-{"10:7":true,"9:7":true,"10:6":true,"10:8":true} \ No newline at end of file
+{
+ "10:7": true,
+ "9:7": true,
+ "10:6": true,
+ "10:8": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_4.json
index 4471b7ad..66948398 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_4.json
@@ -1 +1,84 @@
-{"12:1":true,"9:3":true,"11:5":true,"10:4":true,"12:5":true,"10:3":true,"7:2":true,"11:1":true,"9:4":true,"8:5":true,"7:4":true,"13:6":true,"9:2":true,"13:0":true,"8:1":true,"10:2":true,"7:3":true,"14:1":true,"13:2":true,"9:6":true,"5:5":true,"6:4":true,"15:5":true,"10:0":true,"14:5":true,"10:6":true,"5:1":true,"15:1":true,"9:0":true,"6:3":true,"7:0":true,"0:3":true,"13:3":true,"13:4":true,"6:2":true,"7:6":true,"15:4":true,"11:0":true,"14:3":true,"12:6":true,"5:4":true,"6:5":true,"5:3":true,"15:3":true,"12:0":true,"6:1":true,"14:4":true,"11:6":true,"8:0":true,"14:2":true,"13:1":true,"0:1":[174,175],"15:2":true,"8:6":true,"13:5":true,"5:2":true,"0:5":[174,175],"15:0":true,"14:6":true,"12:3":true,"11:4":true,"10:5":true,"9:1":true,"10:1":true,"9:5":true,"12:4":true,"11:3":true,"8:2":true,"15:6":true,"14:0":true,"12:2":true,"8:4":true,"7:5":true,"11:2":true,"8:3":true,"7:1":true} \ No newline at end of file
+{
+ "12:1": true,
+ "9:3": true,
+ "11:5": true,
+ "10:4": true,
+ "12:5": true,
+ "10:3": true,
+ "7:2": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "7:4": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": true,
+ "8:1": true,
+ "10:2": true,
+ "7:3": true,
+ "14:1": true,
+ "13:2": true,
+ "9:6": true,
+ "5:5": true,
+ "6:4": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "5:1": true,
+ "15:1": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "0:3": true,
+ "13:3": true,
+ "13:4": true,
+ "6:2": true,
+ "7:6": true,
+ "15:4": true,
+ "11:0": true,
+ "14:3": true,
+ "12:6": true,
+ "5:4": true,
+ "6:5": true,
+ "5:3": true,
+ "15:3": true,
+ "12:0": true,
+ "6:1": true,
+ "14:4": true,
+ "11:6": true,
+ "8:0": true,
+ "14:2": true,
+ "13:1": true,
+ "0:1": [
+ 174,
+ 175
+ ],
+ "15:2": true,
+ "8:6": true,
+ "13:5": true,
+ "5:2": true,
+ "0:5": [
+ 174,
+ 175
+ ],
+ "15:0": true,
+ "14:6": true,
+ "12:3": true,
+ "11:4": true,
+ "10:5": true,
+ "9:1": true,
+ "10:1": true,
+ "9:5": true,
+ "12:4": true,
+ "11:3": true,
+ "8:2": true,
+ "15:6": true,
+ "14:0": true,
+ "12:2": true,
+ "8:4": true,
+ "7:5": true,
+ "11:2": true,
+ "8:3": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_7.json
index 771280f8..822d27e8 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_7.json
@@ -1 +1,292 @@
-{"1:1":true,"8:8":true,"6:10":true,"13:13":true,"3:0":true,"0:6":true,"0:0":true,"3:6":true,"14:1":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"0:2":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"3:2":true,"15:1":true,"3:4":true,"0:3":true,"8:9":true,"7:10":true,"3:3":true,"0:4":true,"2:1":true,"4:3":true,"5:4":true,"2:12":[152,154],"10:9":true,"7:7":true,"5:3":true,"15:14":[154,155],"9:9":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"13:1":true,"4:2":true,"0:11":true,"14:12":true,"9:7":true,"3:11":[154,173],"5:2":true,"1:13":true,"0:5":true,"2:13":[149,151],"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:0":true,"5:6":true,"4:0":true,"15:13":true,"1:15":true,"10:8":true,"6:7":true,"1:12":true,"9:8":true,"14:13":true,"1:11":true,"3:13":true,"1:5":true,"0:13":true,"11:8":true,"13:6":true,"13:0":true,"12:8":true,"14:11":true,"13:2":true,"4:1":true,"3:12":[150,175],"0:15":true,"11:9":true,"14:5":true,"5:1":true,"3:15":true,"0:12":true,"15:11":true,"12:9":true,"13:3":true,"11:7":true,"2:5":true,"0:14":true,"13:4":true,"12:7":true,"3:14":[164,175],"2:11":155,"15:4":true,"14:3":true,"1:6":true,"11:10":true,"12:10":true,"2:2":true,"15:3":true,"1:0":true,"14:4":true,"5:12":[147,152],"2:4":true,"14:2":true,"13:11":true,"0:1":true,"15:2":true,"4:12":[148,152],"3:1":true,"13:5":true,"2:3":true,"15:0":true,"14:6":true,"1:3":true,"1:4":true,"15:6":150,"14:0":true,"2:0":true,"5:13":147,"1:2":true,"2:6":true,"15:9":true,"12:11":true,"9:14":152,"11:5":true,"2:7":true,"7:12":true,"12:5":true,"10:14":151,"7:15":[149,151],"14:9":true,"11:11":true,"10:12":151,"6:13":[148,149],"2:9":true,"15:7":[148,157],"9:15":152,"14:7":true,"9:12":151,"8:1":true,"13:10":true,"10:15":152,"7:14":[148,151],"1:8":true,"7:13":true,"2:8":true,"6:14":[146,147],"1:9":[155,202],"15:8":true,"10:13":151,"6:12":true,"1:7":true,"6:15":[146,148],"14:8":true,"9:13":true,"12:6":true,"8:13":true,"1:10":true,"13:8":true,"6:1":true,"11:6":true,"12:3":true,"11:4":true,"8:12":true,"15:10":true,"14:10":true,"13:7":true,"12:4":true,"11:3":true,"8:15":152,"12:2":true,"2:10":[155,192],"11:2":true,"8:14":152,"13:9":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:4":true,"5:9":true,"10:3":true,"7:2":true,"4:9":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"7:3":true,"9:6":true,"10:6":true,"6:3":true,"7:0":true,"5:8":true,"6:2":true,"7:6":true,"4:8":true,"3:8":true,"0:8":[156,202],"6:11":true,"11:13":[149,150],"8:6":true,"12:13":[147,148],"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":true,"0:7":true,"11:12":150,"8:4":true,"7:5":true,"3:9":true,"12:12":true,"11:15":true,"8:3":true,"0:9":[156,194],"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "3:6": true,
+ "14:1": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": true,
+ "0:4": true,
+ "2:1": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": [
+ 152,
+ 154
+ ],
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "15:14": [
+ 154,
+ 155
+ ],
+ "9:9": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": [
+ 154,
+ 173
+ ],
+ "5:2": true,
+ "1:13": true,
+ "0:5": true,
+ "2:13": [
+ 149,
+ 151
+ ],
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "0:13": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "4:1": true,
+ "3:12": [
+ 150,
+ 175
+ ],
+ "0:15": true,
+ "11:9": true,
+ "14:5": true,
+ "5:1": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "13:4": true,
+ "12:7": true,
+ "3:14": [
+ 164,
+ 175
+ ],
+ "2:11": 155,
+ "15:4": true,
+ "14:3": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "2:2": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "5:12": [
+ 147,
+ 152
+ ],
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "0:1": true,
+ "15:2": true,
+ "4:12": [
+ 148,
+ 152
+ ],
+ "3:1": true,
+ "13:5": true,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": 150,
+ "14:0": true,
+ "2:0": true,
+ "5:13": 147,
+ "1:2": true,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "9:14": 152,
+ "11:5": true,
+ "2:7": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": 151,
+ "7:15": [
+ 149,
+ 151
+ ],
+ "14:9": true,
+ "11:11": true,
+ "10:12": 151,
+ "6:13": [
+ 148,
+ 149
+ ],
+ "2:9": true,
+ "15:7": [
+ 148,
+ 157
+ ],
+ "9:15": 152,
+ "14:7": true,
+ "9:12": 151,
+ "8:1": true,
+ "13:10": true,
+ "10:15": 152,
+ "7:14": [
+ 148,
+ 151
+ ],
+ "1:8": true,
+ "7:13": true,
+ "2:8": true,
+ "6:14": [
+ 146,
+ 147
+ ],
+ "1:9": [
+ 155,
+ 202
+ ],
+ "15:8": true,
+ "10:13": 151,
+ "6:12": true,
+ "1:7": true,
+ "6:15": [
+ 146,
+ 148
+ ],
+ "14:8": true,
+ "9:13": true,
+ "12:6": true,
+ "8:13": true,
+ "1:10": true,
+ "13:8": true,
+ "6:1": true,
+ "11:6": true,
+ "12:3": true,
+ "11:4": true,
+ "8:12": true,
+ "15:10": true,
+ "14:10": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": 152,
+ "12:2": true,
+ "2:10": [
+ 155,
+ 192
+ ],
+ "11:2": true,
+ "8:14": 152,
+ "13:9": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": true,
+ "4:9": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "7:3": true,
+ "9:6": true,
+ "10:6": true,
+ "6:3": true,
+ "7:0": true,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "3:8": true,
+ "0:8": [
+ 156,
+ 202
+ ],
+ "6:11": true,
+ "11:13": [
+ 149,
+ 150
+ ],
+ "8:6": true,
+ "12:13": [
+ 147,
+ 148
+ ],
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": true,
+ "0:7": true,
+ "11:12": 150,
+ "8:4": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": [
+ 156,
+ 194
+ ],
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_8.json
index d412a806..dec30d93 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_8.json
@@ -1 +1,279 @@
-{"1:1":true,"8:8":true,"6:10":true,"13:13":true,"3:0":true,"0:6":true,"0:0":true,"3:6":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"0:2":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"3:2":true,"13:14":true,"3:4":true,"0:3":true,"8:9":true,"7:10":true,"3:3":true,"0:4":true,"2:1":true,"14:14":true,"4:3":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"15:14":true,"9:9":true,"4:4":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"4:2":true,"0:11":true,"15:15":true,"14:12":true,"9:7":true,"3:11":true,"5:2":true,"2:14":true,"1:13":true,"0:5":true,"2:13":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:0":true,"5:6":true,"15:13":true,"1:15":true,"10:8":true,"6:7":true,"1:12":true,"9:8":true,"14:13":true,"1:11":true,"3:13":true,"1:5":true,"0:13":true,"11:8":true,"13:6":155,"12:8":true,"14:11":true,"4:1":true,"3:12":true,"0:15":true,"11:9":true,"14:5":[151,152],"5:1":true,"3:15":true,"0:12":true,"15:11":true,"12:9":true,"13:3":[152,153],"11:7":true,"2:5":true,"0:14":true,"13:4":[149,153],"12:7":true,"2:11":true,"4:14":true,"1:6":true,"11:10":true,"12:10":true,"5:14":true,"2:2":true,"1:0":true,"5:12":true,"2:4":true,"13:11":true,"4:15":true,"0:1":true,"4:12":true,"3:1":true,"13:5":[147,154],"5:15":true,"2:3":true,"14:6":[148,154],"1:3":true,"1:4":true,"2:0":true,"5:13":true,"4:13":true,"2:6":true,"15:9":true,"12:11":true,"9:14":true,"2:7":true,"7:12":true,"12:5":155,"10:14":true,"7:15":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"2:9":true,"15:7":[150,154],"9:15":true,"14:7":[148,155],"9:12":true,"8:1":152,"13:10":true,"10:15":true,"7:14":true,"1:8":true,"7:13":true,"2:8":true,"6:14":true,"1:9":true,"15:8":[150,155],"10:13":true,"6:12":true,"1:7":true,"6:15":true,"14:8":true,"9:13":true,"11:0":[146,151],"12:6":true,"8:13":true,"1:10":true,"6:1":true,"11:6":true,"11:4":154,"9:1":153,"8:12":true,"12:3":[147,154],"15:10":true,"14:10":true,"10:1":153,"12:4":[146,154],"11:3":[146,154],"8:15":true,"12:2":[149,153],"2:10":true,"11:2":[147,153],"8:14":true,"13:9":true,"7:1":152,"9:3":true,"6:0":[148,151],"10:4":true,"5:9":true,"10:3":154,"7:2":true,"6:6":true,"4:9":true,"11:1":[148,152],"9:4":true,"5:7":true,"3:10":true,"7:4":true,"9:2":153,"8:11":true,"4:7":true,"10:2":153,"0:10":true,"7:3":true,"9:6":true,"6:4":true,"10:0":152,"10:6":true,"9:0":152,"6:3":true,"7:0":152,"5:8":true,"6:2":true,"7:6":true,"4:8":true,"3:8":true,"0:8":true,"6:11":true,"11:13":true,"8:0":152,"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":true,"0:7":true,"12:15":true,"11:12":true,"8:4":true,"3:9":true,"12:12":true,"11:15":true,"8:3":true,"0:9":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "3:6": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": true,
+ "0:4": true,
+ "2:1": true,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "15:14": true,
+ "9:9": true,
+ "4:4": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:0": true,
+ "5:6": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "0:13": true,
+ "11:8": true,
+ "13:6": 155,
+ "12:8": true,
+ "14:11": true,
+ "4:1": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "14:5": [
+ 151,
+ 152
+ ],
+ "5:1": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "12:9": true,
+ "13:3": [
+ 152,
+ 153
+ ],
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "13:4": [
+ 149,
+ 153
+ ],
+ "12:7": true,
+ "2:11": true,
+ "4:14": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "5:14": true,
+ "2:2": true,
+ "1:0": true,
+ "5:12": true,
+ "2:4": true,
+ "13:11": true,
+ "4:15": true,
+ "0:1": true,
+ "4:12": true,
+ "3:1": true,
+ "13:5": [
+ 147,
+ 154
+ ],
+ "5:15": true,
+ "2:3": true,
+ "14:6": [
+ 148,
+ 154
+ ],
+ "1:3": true,
+ "1:4": true,
+ "2:0": true,
+ "5:13": true,
+ "4:13": true,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "2:7": true,
+ "7:12": true,
+ "12:5": 155,
+ "10:14": true,
+ "7:15": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": [
+ 150,
+ 154
+ ],
+ "9:15": true,
+ "14:7": [
+ 148,
+ 155
+ ],
+ "9:12": true,
+ "8:1": 152,
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "7:13": true,
+ "2:8": true,
+ "6:14": true,
+ "1:9": true,
+ "15:8": [
+ 150,
+ 155
+ ],
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "6:15": true,
+ "14:8": true,
+ "9:13": true,
+ "11:0": [
+ 146,
+ 151
+ ],
+ "12:6": true,
+ "8:13": true,
+ "1:10": true,
+ "6:1": true,
+ "11:6": true,
+ "11:4": 154,
+ "9:1": 153,
+ "8:12": true,
+ "12:3": [
+ 147,
+ 154
+ ],
+ "15:10": true,
+ "14:10": true,
+ "10:1": 153,
+ "12:4": [
+ 146,
+ 154
+ ],
+ "11:3": [
+ 146,
+ 154
+ ],
+ "8:15": true,
+ "12:2": [
+ 149,
+ 153
+ ],
+ "2:10": true,
+ "11:2": [
+ 147,
+ 153
+ ],
+ "8:14": true,
+ "13:9": true,
+ "7:1": 152,
+ "9:3": true,
+ "6:0": [
+ 148,
+ 151
+ ],
+ "10:4": true,
+ "5:9": true,
+ "10:3": 154,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": [
+ 148,
+ 152
+ ],
+ "9:4": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": 153,
+ "8:11": true,
+ "4:7": true,
+ "10:2": 153,
+ "0:10": true,
+ "7:3": true,
+ "9:6": true,
+ "6:4": true,
+ "10:0": 152,
+ "10:6": true,
+ "9:0": 152,
+ "6:3": true,
+ "7:0": 152,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "3:8": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": 152,
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": true,
+ "0:7": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_9.json
index 27bc3ed4..e59d8282 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/-9_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/-9_9.json
@@ -1 +1,74 @@
-{"12:1":true,"9:3":true,"11:5":true,"10:4":true,"12:5":true,"10:3":true,"7:2":true,"11:1":true,"7:4":149,"9:2":true,"13:0":true,"0:0":true,"8:1":true,"10:2":true,"7:3":true,"14:1":true,"13:2":true,"4:1":true,"15:5":true,"10:0":true,"14:5":true,"5:1":true,"3:2":true,"15:1":true,"9:0":true,"6:3":true,"7:0":true,"13:3":true,"13:4":true,"6:2":true,"2:1":true,"15:4":true,"11:0":true,"14:3":true,"12:6":153,"5:3":true,"15:3":true,"12:0":true,"6:1":true,"1:0":true,"14:4":true,"8:0":true,"14:2":true,"13:1":true,"4:2":true,"15:2":true,"3:1":true,"13:5":true,"5:2":true,"15:0":true,"12:3":true,"11:4":true,"10:5":[151,152],"9:1":true,"10:1":true,"12:4":true,"11:3":true,"8:2":true,"14:0":true,"4:0":true,"2:0":true,"12:2":true,"8:4":[150,151],"11:2":true,"8:3":true,"7:1":true} \ No newline at end of file
+{
+ "12:1": true,
+ "9:3": true,
+ "11:5": true,
+ "10:4": true,
+ "12:5": true,
+ "10:3": true,
+ "7:2": true,
+ "11:1": true,
+ "7:4": 149,
+ "9:2": true,
+ "13:0": true,
+ "0:0": true,
+ "8:1": true,
+ "10:2": true,
+ "7:3": true,
+ "14:1": true,
+ "13:2": true,
+ "4:1": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "5:1": true,
+ "3:2": true,
+ "15:1": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "13:3": true,
+ "13:4": true,
+ "6:2": true,
+ "2:1": true,
+ "15:4": true,
+ "11:0": true,
+ "14:3": true,
+ "12:6": 153,
+ "5:3": true,
+ "15:3": true,
+ "12:0": true,
+ "6:1": true,
+ "1:0": true,
+ "14:4": true,
+ "8:0": true,
+ "14:2": true,
+ "13:1": true,
+ "4:2": true,
+ "15:2": true,
+ "3:1": true,
+ "13:5": true,
+ "5:2": true,
+ "15:0": true,
+ "12:3": true,
+ "11:4": true,
+ "10:5": [
+ 151,
+ 152
+ ],
+ "9:1": true,
+ "10:1": true,
+ "12:4": true,
+ "11:3": true,
+ "8:2": true,
+ "14:0": true,
+ "4:0": true,
+ "2:0": true,
+ "12:2": true,
+ "8:4": [
+ 150,
+ 151
+ ],
+ "11:2": true,
+ "8:3": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/0_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/0_0.json
index a30cb4a9..58bf1e76 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/0_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/0_0.json
@@ -1 +1,72 @@
-{"6:0":true,"1:1":true,"2:7":true,"1:5":true,"7:2":true,"3:0":true,"0:6":true,"0:0":true,"13:0":true,"8:1":true,"3:6":true,"7:3":true,"5:5":true,"4:1":true,"0:2":true,"6:4":true,"10:0":true,"5:1":true,"4:5":true,"3:2":true,"9:0":true,"6:3":true,"7:0":true,"3:4":true,"2:5":true,"0:3":true,"3:3":true,"1:7":true,"0:4":true,"6:2":true,"2:1":true,"11:0":true,"4:3":true,"1:6":true,"5:4":true,"5:3":true,"2:2":true,"12:0":true,"6:1":true,"1:0":true,"4:4":true,"3:5":true,"2:4":true,"8:0":true,"14:15":true,"4:2":true,"0:1":true,"15:15":[146,233],"3:1":true,"5:2":true,"2:3":true,"0:5":true,"15:0":true,"9:1":true,"4:6":true,"3:7":true,"1:3":true,"5:0":true,"8:2":true,"1:4":true,"0:7":true,"14:0":true,"4:0":true,"2:0":true,"1:2":true,"7:1":true,"2:6":true} \ No newline at end of file
+{
+ "6:0": true,
+ "1:1": true,
+ "2:7": true,
+ "1:5": true,
+ "7:2": true,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "13:0": true,
+ "8:1": true,
+ "3:6": true,
+ "7:3": true,
+ "5:5": true,
+ "4:1": true,
+ "0:2": true,
+ "6:4": true,
+ "10:0": true,
+ "5:1": true,
+ "4:5": true,
+ "3:2": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "3:4": true,
+ "2:5": true,
+ "0:3": true,
+ "3:3": true,
+ "1:7": true,
+ "0:4": true,
+ "6:2": true,
+ "2:1": true,
+ "11:0": true,
+ "4:3": true,
+ "1:6": true,
+ "5:4": true,
+ "5:3": true,
+ "2:2": true,
+ "12:0": true,
+ "6:1": true,
+ "1:0": true,
+ "4:4": true,
+ "3:5": true,
+ "2:4": true,
+ "8:0": true,
+ "14:15": true,
+ "4:2": true,
+ "0:1": true,
+ "15:15": [
+ 146,
+ 233
+ ],
+ "3:1": true,
+ "5:2": true,
+ "2:3": true,
+ "0:5": true,
+ "15:0": true,
+ "9:1": true,
+ "4:6": true,
+ "3:7": true,
+ "1:3": true,
+ "5:0": true,
+ "8:2": true,
+ "1:4": true,
+ "0:7": true,
+ "14:0": true,
+ "4:0": true,
+ "2:0": true,
+ "1:2": true,
+ "7:1": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/0_10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/0_10.json
index 27c8872f..5c459232 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/0_10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/0_10.json
@@ -1 +1,59 @@
-{"9:3":127,"6:0":true,"1:11":true,"11:5":true,"3:13":true,"12:5":[205,207],"0:13":true,"6:6":true,"11:1":127,"5:7":true,"15:7":true,"3:0":true,"10:2":true,"4:1":127,"3:12":true,"0:2":127,"3:2":true,"0:12":true,"0:3":127,"0:14":true,"0:4":127,"4:8":true,"2:1":127,"12:6":202,"2:2":127,"12:0":127,"11:6":202,"4:12":[113,114],"3:1":127,"13:5":127,"2:3":127,"1:13":true,"0:5":127,"14:6":true,"11:4":true,"2:13":true,"1:3":127,"5:0":true,"12:4":[127,208],"11:3":127,"1:4":127,"4:0":true,"2:0":true,"8:4":true,"2:10":true,"1:2":127,"7:5":true,"3:9":true} \ No newline at end of file
+{
+ "9:3": 127,
+ "6:0": true,
+ "1:11": true,
+ "11:5": true,
+ "3:13": true,
+ "12:5": [
+ 205,
+ 207
+ ],
+ "0:13": true,
+ "6:6": true,
+ "11:1": 127,
+ "5:7": true,
+ "15:7": true,
+ "3:0": true,
+ "10:2": true,
+ "4:1": 127,
+ "3:12": true,
+ "0:2": 127,
+ "3:2": true,
+ "0:12": true,
+ "0:3": 127,
+ "0:14": true,
+ "0:4": 127,
+ "4:8": true,
+ "2:1": 127,
+ "12:6": 202,
+ "2:2": 127,
+ "12:0": 127,
+ "11:6": 202,
+ "4:12": [
+ 113,
+ 114
+ ],
+ "3:1": 127,
+ "13:5": 127,
+ "2:3": 127,
+ "1:13": true,
+ "0:5": 127,
+ "14:6": true,
+ "11:4": true,
+ "2:13": true,
+ "1:3": 127,
+ "5:0": true,
+ "12:4": [
+ 127,
+ 208
+ ],
+ "11:3": 127,
+ "1:4": 127,
+ "4:0": true,
+ "2:0": true,
+ "8:4": true,
+ "2:10": true,
+ "1:2": 127,
+ "7:5": true,
+ "3:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/0_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/0_3.json
index c490d54b..e5302331 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/0_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/0_3.json
@@ -1 +1,21 @@
-{"9:14":true,"2:15":true,"0:13":true,"10:12":true,"9:15":true,"9:12":true,"10:15":true,"12:13":true,"12:14":true,"1:14":true,"0:15":true,"12:15":true,"11:12":true,"1:15":true,"0:14":true,"11:15":true,"12:12":true,"9:8":true,"9:13":true} \ No newline at end of file
+{
+ "9:14": true,
+ "2:15": true,
+ "0:13": true,
+ "10:12": true,
+ "9:15": true,
+ "9:12": true,
+ "10:15": true,
+ "12:13": true,
+ "12:14": true,
+ "1:14": true,
+ "0:15": true,
+ "12:15": true,
+ "11:12": true,
+ "1:15": true,
+ "0:14": true,
+ "11:15": true,
+ "12:12": true,
+ "9:8": true,
+ "9:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/0_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/0_7.json
index 519dafcc..8ca05ce1 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/0_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/0_7.json
@@ -1 +1,31 @@
-{"7:12":true,"6:10":true,"0:13":127,"7:15":true,"6:13":true,"7:14":true,"0:15":true,"7:13":true,"10:0":true,"9:0":true,"6:14":true,"0:14":true,"7:10":true,"6:12":true,"6:15":true,"11:0":true,"2:15":127,"12:0":true,"6:11":true,"7:9":true,"0:1":true,"7:8":[117,120],"6:9":true,"1:14":127,"1:15":127,"7:11":true} \ No newline at end of file
+{
+ "7:12": true,
+ "6:10": true,
+ "0:13": 127,
+ "7:15": true,
+ "6:13": true,
+ "7:14": true,
+ "0:15": true,
+ "7:13": true,
+ "10:0": true,
+ "9:0": true,
+ "6:14": true,
+ "0:14": true,
+ "7:10": true,
+ "6:12": true,
+ "6:15": true,
+ "11:0": true,
+ "2:15": 127,
+ "12:0": true,
+ "6:11": true,
+ "7:9": true,
+ "0:1": true,
+ "7:8": [
+ 117,
+ 120
+ ],
+ "6:9": true,
+ "1:14": 127,
+ "1:15": 127,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/0_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/0_8.json
index 83229162..a4dfb68b 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/0_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/0_8.json
@@ -1 +1,45 @@
-{"15:9":true,"1:11":true,"1:1":true,"3:13":true,"13:13":true,"0:13":true,"6:13":true,"3:0":127,"4:11":true,"0:15":true,"0:2":true,"7:13":true,"3:15":true,"0:12":true,"15:11":true,"7:0":true,"10:13":true,"0:14":true,"0:3":true,"9:13":true,"2:11":true,"2:1":127,"8:13":true,"2:15":true,"0:8":true,"1:0":127,"11:13":true,"4:15":true,"0:11":true,"0:1":true,"15:15":true,"3:11":true,"12:13":true,"1:13":true,"2:13":true,"15:10":true,"15:13":true,"2:0":127,"5:13":true,"1:15":true,"1:2":true,"14:13":true,"4:13":true} \ No newline at end of file
+{
+ "15:9": true,
+ "1:11": true,
+ "1:1": true,
+ "3:13": true,
+ "13:13": true,
+ "0:13": true,
+ "6:13": true,
+ "3:0": 127,
+ "4:11": true,
+ "0:15": true,
+ "0:2": true,
+ "7:13": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "7:0": true,
+ "10:13": true,
+ "0:14": true,
+ "0:3": true,
+ "9:13": true,
+ "2:11": true,
+ "2:1": 127,
+ "8:13": true,
+ "2:15": true,
+ "0:8": true,
+ "1:0": 127,
+ "11:13": true,
+ "4:15": true,
+ "0:11": true,
+ "0:1": true,
+ "15:15": true,
+ "3:11": true,
+ "12:13": true,
+ "1:13": true,
+ "2:13": true,
+ "15:10": true,
+ "15:13": true,
+ "2:0": 127,
+ "5:13": true,
+ "1:15": true,
+ "1:2": true,
+ "14:13": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/0_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/0_9.json
index 7dfe7b5f..bc399186 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/0_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/0_9.json
@@ -1 +1,52 @@
-{"15:9":127,"6:10":127,"10:14":127,"7:15":[115,116],"6:13":117,"9:15":116,"7:14":117,"15:1":true,"6:14":true,"6:12":117,"0:4":true,"6:15":116,"9:13":true,"2:15":true,"0:11":127,"2:14":true,"1:13":true,"8:12":127,"2:13":true,"1:14":true,"14:10":true,"8:15":[115,117],"1:12":127,"5:9":127,"1:5":true,"0:13":true,"14:11":true,"3:15":true,"0:12":127,"0:14":true,"3:14":true,"4:8":127,"11:13":127,"5:12":117,"13:11":true,"4:15":true,"5:15":true,"15:0":true,"3:7":true,"5:13":117,"12:12":true,"11:15":true,"7:11":127,"2:6":true} \ No newline at end of file
+{
+ "15:9": 127,
+ "6:10": 127,
+ "10:14": 127,
+ "7:15": [
+ 115,
+ 116
+ ],
+ "6:13": 117,
+ "9:15": 116,
+ "7:14": 117,
+ "15:1": true,
+ "6:14": true,
+ "6:12": 117,
+ "0:4": true,
+ "6:15": 116,
+ "9:13": true,
+ "2:15": true,
+ "0:11": 127,
+ "2:14": true,
+ "1:13": true,
+ "8:12": 127,
+ "2:13": true,
+ "1:14": true,
+ "14:10": true,
+ "8:15": [
+ 115,
+ 117
+ ],
+ "1:12": 127,
+ "5:9": 127,
+ "1:5": true,
+ "0:13": true,
+ "14:11": true,
+ "3:15": true,
+ "0:12": 127,
+ "0:14": true,
+ "3:14": true,
+ "4:8": 127,
+ "11:13": 127,
+ "5:12": 117,
+ "13:11": true,
+ "4:15": true,
+ "5:15": true,
+ "15:0": true,
+ "3:7": true,
+ "5:13": 117,
+ "12:12": true,
+ "11:15": true,
+ "7:11": 127,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/10_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/10_1.json
index e31b7d9f..b8dde378 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/10_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/10_1.json
@@ -1 +1,202 @@
-{"15:9":true,"9:14":true,"11:5":[167,169],"2:7":true,"8:8":true,"7:12":true,"6:10":true,"12:5":[167,171],"10:14":true,"7:15":true,"14:9":true,"10:12":true,"6:13":true,"2:9":true,"15:7":167,"9:15":true,"0:6":[151,154],"14:7":168,"9:12":true,"10:15":true,"7:14":true,"1:8":true,"4:11":true,"7:13":true,"2:8":true,"9:10":true,"5:11":true,"6:14":true,"1:9":true,"15:8":true,"10:13":true,"8:9":true,"7:10":true,"6:12":true,"1:7":true,"0:4":[156,157],"6:15":true,"14:8":true,"9:13":true,"2:1":true,"12:6":true,"8:13":true,"2:12":true,"10:9":true,"7:7":true,"2:15":true,"1:10":true,"13:8":true,"9:9":true,"11:6":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"0:11":true,"9:7":true,"3:11":true,"2:14":true,"1:13":true,"0:5":[154,190],"11:4":170,"8:12":true,"7:8":true,"6:9":true,"2:13":true,"1:14":true,"15:10":true,"13:7":true,"8:15":true,"2:10":true,"1:15":true,"10:8":true,"6:7":true,"8:14":true,"1:12":true,"13:9":true,"9:8":true,"1:11":true,"3:13":true,"5:9":true,"1:5":[151,189],"0:13":true,"4:9":true,"5:7":true,"3:10":true,"11:8":true,"13:6":170,"8:11":true,"4:7":true,"0:10":true,"12:8":true,"9:6":true,"3:12":true,"0:15":true,"11:9":true,"15:5":168,"14:5":169,"10:6":true,"3:15":true,"0:12":true,"11:7":true,"2:5":[151,226],"0:14":true,"5:8":true,"13:4":[166,167],"12:7":true,"3:14":true,"4:8":true,"2:11":true,"15:4":[164,165],"4:14":true,"1:6":150,"3:8":true,"5:14":true,"2:2":[187,221],"0:8":154,"6:11":true,"14:4":[165,169],"5:12":true,"2:4":[152,222],"4:15":true,"8:6":true,"4:12":true,"13:5":[167,170],"5:15":true,"2:3":[187,222],"14:6":169,"10:5":[168,170],"9:11":true,"5:10":true,"3:7":true,"1:3":156,"9:5":true,"4:10":true,"11:14":true,"1:4":[154,155],"0:7":[151,154],"15:6":168,"12:15":true,"5:13":true,"3:9":true,"11:15":true,"0:9":true,"7:11":true,"4:13":true,"2:6":[192,223]} \ No newline at end of file
+{
+ "15:9": true,
+ "9:14": true,
+ "11:5": [
+ 167,
+ 169
+ ],
+ "2:7": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "12:5": [
+ 167,
+ 171
+ ],
+ "10:14": true,
+ "7:15": true,
+ "14:9": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": 167,
+ "9:15": true,
+ "0:6": [
+ 151,
+ 154
+ ],
+ "14:7": 168,
+ "9:12": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "4:11": true,
+ "7:13": true,
+ "2:8": true,
+ "9:10": true,
+ "5:11": true,
+ "6:14": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "1:7": true,
+ "0:4": [
+ 156,
+ 157
+ ],
+ "6:15": true,
+ "14:8": true,
+ "9:13": true,
+ "2:1": true,
+ "12:6": true,
+ "8:13": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "2:15": true,
+ "1:10": true,
+ "13:8": true,
+ "9:9": true,
+ "11:6": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "0:11": true,
+ "9:7": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": [
+ 154,
+ 190
+ ],
+ "11:4": 170,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "2:13": true,
+ "1:14": true,
+ "15:10": true,
+ "13:7": true,
+ "8:15": true,
+ "2:10": true,
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "8:14": true,
+ "1:12": true,
+ "13:9": true,
+ "9:8": true,
+ "1:11": true,
+ "3:13": true,
+ "5:9": true,
+ "1:5": [
+ 151,
+ 189
+ ],
+ "0:13": true,
+ "4:9": true,
+ "5:7": true,
+ "3:10": true,
+ "11:8": true,
+ "13:6": 170,
+ "8:11": true,
+ "4:7": true,
+ "0:10": true,
+ "12:8": true,
+ "9:6": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "15:5": 168,
+ "14:5": 169,
+ "10:6": true,
+ "3:15": true,
+ "0:12": true,
+ "11:7": true,
+ "2:5": [
+ 151,
+ 226
+ ],
+ "0:14": true,
+ "5:8": true,
+ "13:4": [
+ 166,
+ 167
+ ],
+ "12:7": true,
+ "3:14": true,
+ "4:8": true,
+ "2:11": true,
+ "15:4": [
+ 164,
+ 165
+ ],
+ "4:14": true,
+ "1:6": 150,
+ "3:8": true,
+ "5:14": true,
+ "2:2": [
+ 187,
+ 221
+ ],
+ "0:8": 154,
+ "6:11": true,
+ "14:4": [
+ 165,
+ 169
+ ],
+ "5:12": true,
+ "2:4": [
+ 152,
+ 222
+ ],
+ "4:15": true,
+ "8:6": true,
+ "4:12": true,
+ "13:5": [
+ 167,
+ 170
+ ],
+ "5:15": true,
+ "2:3": [
+ 187,
+ 222
+ ],
+ "14:6": 169,
+ "10:5": [
+ 168,
+ 170
+ ],
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "1:3": 156,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "1:4": [
+ 154,
+ 155
+ ],
+ "0:7": [
+ 151,
+ 154
+ ],
+ "15:6": 168,
+ "12:15": true,
+ "5:13": true,
+ "3:9": true,
+ "11:15": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true,
+ "2:6": [
+ 192,
+ 223
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/10_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/10_3.json
index 9c96f830..98cae537 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/10_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/10_3.json
@@ -1 +1,215 @@
-{"8:8":true,"6:10":true,"13:13":true,"0:6":true,"3:6":true,"14:1":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"0:2":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"15:1":true,"13:14":[161,163],"3:4":true,"0:3":true,"8:9":true,"7:10":true,"3:3":true,"0:4":true,"2:1":true,"14:14":true,"4:3":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"15:14":true,"9:9":true,"4:4":true,"10:7":true,"3:5":true,"15:12":true,"14:15":160,"13:1":true,"0:11":true,"15:15":true,"14:12":true,"9:7":true,"3:11":true,"2:14":true,"1:13":true,"0:5":true,"2:13":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:6":true,"15:13":true,"1:15":true,"10:8":true,"1:12":true,"9:8":true,"14:13":true,"1:11":true,"3:13":true,"1:5":true,"0:13":true,"11:8":true,"13:6":true,"13:0":true,"12:8":true,"14:11":true,"13:2":true,"3:12":true,"0:15":true,"11:9":true,"14:5":true,"3:15":true,"0:12":true,"15:11":true,"12:9":true,"13:3":true,"11:7":true,"2:5":true,"0:14":true,"13:4":true,"12:7":true,"2:11":true,"14:3":true,"1:6":true,"11:10":true,"12:10":true,"2:2":true,"15:3":true,"14:4":true,"2:4":true,"14:2":true,"13:11":true,"4:15":true,"15:2":true,"4:12":true,"13:5":true,"5:15":true,"2:3":true,"15:0":true,"14:6":true,"1:4":true,"15:6":true,"14:0":true,"5:13":153,"4:13":true,"2:6":true,"15:9":true,"12:11":true,"2:7":true,"7:12":[149,150],"12:5":true,"14:9":true,"11:11":true,"10:12":true,"2:9":true,"15:7":true,"14:7":true,"9:12":[150,151],"13:10":true,"1:8":true,"2:8":true,"1:9":true,"15:8":true,"6:12":[148,149],"1:7":true,"14:8":true,"11:0":true,"1:10":true,"13:8":true,"12:0":true,"11:4":true,"9:1":true,"8:12":[149,151],"12:3":true,"15:10":true,"14:10":true,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"12:2":true,"2:10":true,"11:2":true,"13:9":true,"12:1":true,"5:9":true,"10:3":true,"6:6":true,"4:9":true,"11:1":true,"8:5":true,"3:10":true,"7:4":true,"9:2":true,"8:11":148,"10:2":true,"0:10":true,"9:6":true,"6:4":true,"10:0":true,"10:6":true,"9:0":true,"6:3":true,"5:8":true,"7:6":true,"4:8":true,"6:5":true,"3:8":true,"0:8":true,"6:11":147,"11:13":[161,163],"8:0":true,"8:6":true,"12:13":true,"12:14":[161,162],"9:11":true,"5:10":true,"10:11":true,"4:10":true,"0:7":true,"11:12":true,"7:5":true,"3:9":true,"12:12":true,"0:9":true,"7:11":[147,148]} \ No newline at end of file
+{
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "0:6": true,
+ "3:6": true,
+ "14:1": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "15:1": true,
+ "13:14": [
+ 161,
+ 163
+ ],
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": true,
+ "0:4": true,
+ "2:1": true,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "15:14": true,
+ "9:9": true,
+ "4:4": true,
+ "10:7": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": 160,
+ "13:1": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:6": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "0:13": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "14:5": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "13:4": true,
+ "12:7": true,
+ "2:11": true,
+ "14:3": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "2:2": true,
+ "15:3": true,
+ "14:4": true,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": true,
+ "15:2": true,
+ "4:12": true,
+ "13:5": true,
+ "5:15": true,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "1:4": true,
+ "15:6": true,
+ "14:0": true,
+ "5:13": 153,
+ "4:13": true,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "2:7": true,
+ "7:12": [
+ 149,
+ 150
+ ],
+ "12:5": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "2:9": true,
+ "15:7": true,
+ "14:7": true,
+ "9:12": [
+ 150,
+ 151
+ ],
+ "13:10": true,
+ "1:8": true,
+ "2:8": true,
+ "1:9": true,
+ "15:8": true,
+ "6:12": [
+ 148,
+ 149
+ ],
+ "1:7": true,
+ "14:8": true,
+ "11:0": true,
+ "1:10": true,
+ "13:8": true,
+ "12:0": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": [
+ 149,
+ 151
+ ],
+ "12:3": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "12:2": true,
+ "2:10": true,
+ "11:2": true,
+ "13:9": true,
+ "12:1": true,
+ "5:9": true,
+ "10:3": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": true,
+ "8:5": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": 148,
+ "10:2": true,
+ "0:10": true,
+ "9:6": true,
+ "6:4": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": true,
+ "6:3": true,
+ "5:8": true,
+ "7:6": true,
+ "4:8": true,
+ "6:5": true,
+ "3:8": true,
+ "0:8": true,
+ "6:11": 147,
+ "11:13": [
+ 161,
+ 163
+ ],
+ "8:0": true,
+ "8:6": true,
+ "12:13": true,
+ "12:14": [
+ 161,
+ 162
+ ],
+ "9:11": true,
+ "5:10": true,
+ "10:11": true,
+ "4:10": true,
+ "0:7": true,
+ "11:12": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "0:9": true,
+ "7:11": [
+ 147,
+ 148
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/10_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/10_4.json
index d59a6e28..967958bf 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/10_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/10_4.json
@@ -1 +1,47 @@
-{"12:11":true,"9:14":true,"10:14":true,"0:13":true,"10:12":156,"6:13":true,"3:0":true,"9:15":true,"0:0":true,"13:10":true,"7:14":true,"0:15":true,"7:13":true,"3:15":true,"6:14":true,"10:13":true,"0:14":true,"3:14":true,"6:15":true,"9:13":true,"4:14":true,"8:13":true,"5:14":true,"2:15":true,"1:0":true,"11:13":true,"13:11":true,"4:15":true,"0:1":true,"5:15":true,"2:14":true,"1:13":true,"15:0":true,"2:13":true,"1:14":true,"5:0":true,"14:0":160,"4:0":true,"2:0":true,"11:12":true,"5:13":true,"1:15":true,"12:12":true,"8:14":true,"4:13":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "10:14": true,
+ "0:13": true,
+ "10:12": 156,
+ "6:13": true,
+ "3:0": true,
+ "9:15": true,
+ "0:0": true,
+ "13:10": true,
+ "7:14": true,
+ "0:15": true,
+ "7:13": true,
+ "3:15": true,
+ "6:14": true,
+ "10:13": true,
+ "0:14": true,
+ "3:14": true,
+ "6:15": true,
+ "9:13": true,
+ "4:14": true,
+ "8:13": true,
+ "5:14": true,
+ "2:15": true,
+ "1:0": true,
+ "11:13": true,
+ "13:11": true,
+ "4:15": true,
+ "0:1": true,
+ "5:15": true,
+ "2:14": true,
+ "1:13": true,
+ "15:0": true,
+ "2:13": true,
+ "1:14": true,
+ "5:0": true,
+ "14:0": 160,
+ "4:0": true,
+ "2:0": true,
+ "11:12": true,
+ "5:13": true,
+ "1:15": true,
+ "12:12": true,
+ "8:14": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/10_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/10_5.json
index 44c446c1..075087ce 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/10_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/10_5.json
@@ -1 +1,96 @@
-{"1:1":true,"1:11":[170,189],"10:4":156,"2:7":true,"1:5":true,"0:13":[161,170],"4:9":[158,160],"3:10":[158,161],"2:9":true,"3:0":true,"0:6":true,"0:0":true,"0:10":true,"13:2":154,"3:12":true,"0:2":true,"0:15":true,"2:8":true,"0:12":[170,171],"15:1":true,"2:5":true,"0:3":true,"0:14":true,"5:8":158,"2:1":true,"2:11":[158,226],"2:12":[159,222],"7:7":[156,158],"2:2":true,"2:15":true,"0:8":true,"1:0":true,"6:8":[156,158],"2:4":true,"14:2":153,"0:1":true,"0:11":[171,190],"8:6":[156,158],"3:1":true,"2:14":true,"2:3":true,"1:13":true,"0:5":true,"2:13":true,"1:14":true,"5:0":true,"11:3":155,"1:4":true,"4:0":true,"2:0":true,"2:10":[192,223],"1:2":true,"1:15":true,"1:12":[160,169],"2:6":true} \ No newline at end of file
+{
+ "1:1": true,
+ "1:11": [
+ 170,
+ 189
+ ],
+ "10:4": 156,
+ "2:7": true,
+ "1:5": true,
+ "0:13": [
+ 161,
+ 170
+ ],
+ "4:9": [
+ 158,
+ 160
+ ],
+ "3:10": [
+ 158,
+ 161
+ ],
+ "2:9": true,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "0:10": true,
+ "13:2": 154,
+ "3:12": true,
+ "0:2": true,
+ "0:15": true,
+ "2:8": true,
+ "0:12": [
+ 170,
+ 171
+ ],
+ "15:1": true,
+ "2:5": true,
+ "0:3": true,
+ "0:14": true,
+ "5:8": 158,
+ "2:1": true,
+ "2:11": [
+ 158,
+ 226
+ ],
+ "2:12": [
+ 159,
+ 222
+ ],
+ "7:7": [
+ 156,
+ 158
+ ],
+ "2:2": true,
+ "2:15": true,
+ "0:8": true,
+ "1:0": true,
+ "6:8": [
+ 156,
+ 158
+ ],
+ "2:4": true,
+ "14:2": 153,
+ "0:1": true,
+ "0:11": [
+ 171,
+ 190
+ ],
+ "8:6": [
+ 156,
+ 158
+ ],
+ "3:1": true,
+ "2:14": true,
+ "2:3": true,
+ "1:13": true,
+ "0:5": true,
+ "2:13": true,
+ "1:14": true,
+ "5:0": true,
+ "11:3": 155,
+ "1:4": true,
+ "4:0": true,
+ "2:0": true,
+ "2:10": [
+ 192,
+ 223
+ ],
+ "1:2": true,
+ "1:15": true,
+ "1:12": [
+ 160,
+ 169
+ ],
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/11_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/11_1.json
index 0540c5c2..225a6e2d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/11_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/11_1.json
@@ -1 +1,72 @@
-{"4:14":true,"1:11":true,"1:6":true,"3:13":true,"2:7":[162,166],"6:10":true,"5:9":158,"3:8":161,"5:14":true,"1:10":true,"1:5":true,"0:8":[166,167],"4:9":true,"5:12":true,"3:10":163,"6:13":true,"2:9":[164,166],"4:15":true,"0:6":167,"4:7":true,"4:12":[162,164],"3:6":true,"3:11":167,"1:8":true,"5:10":[157,161],"4:11":[162,163],"3:7":true,"3:12":165,"2:8":165,"5:11":true,"4:10":[162,164],"3:15":true,"1:4":true,"0:7":167,"1:9":166,"5:13":true,"2:10":true,"6:12":true,"3:9":[163,164],"1:12":true,"1:7":166,"0:4":true,"0:9":true,"4:8":true,"4:13":true,"2:6":162} \ No newline at end of file
+{
+ "4:14": true,
+ "1:11": true,
+ "1:6": true,
+ "3:13": true,
+ "2:7": [
+ 162,
+ 166
+ ],
+ "6:10": true,
+ "5:9": 158,
+ "3:8": 161,
+ "5:14": true,
+ "1:10": true,
+ "1:5": true,
+ "0:8": [
+ 166,
+ 167
+ ],
+ "4:9": true,
+ "5:12": true,
+ "3:10": 163,
+ "6:13": true,
+ "2:9": [
+ 164,
+ 166
+ ],
+ "4:15": true,
+ "0:6": 167,
+ "4:7": true,
+ "4:12": [
+ 162,
+ 164
+ ],
+ "3:6": true,
+ "3:11": 167,
+ "1:8": true,
+ "5:10": [
+ 157,
+ 161
+ ],
+ "4:11": [
+ 162,
+ 163
+ ],
+ "3:7": true,
+ "3:12": 165,
+ "2:8": 165,
+ "5:11": true,
+ "4:10": [
+ 162,
+ 164
+ ],
+ "3:15": true,
+ "1:4": true,
+ "0:7": 167,
+ "1:9": 166,
+ "5:13": true,
+ "2:10": true,
+ "6:12": true,
+ "3:9": [
+ 163,
+ 164
+ ],
+ "1:12": true,
+ "1:7": 166,
+ "0:4": true,
+ "0:9": true,
+ "4:8": true,
+ "4:13": true,
+ "2:6": 162
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/11_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/11_3.json
index ccf6e685..b60a43f7 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/11_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/11_3.json
@@ -1 +1,60 @@
-{"1:11":true,"0:13":true,"6:6":true,"4:9":true,"5:7":true,"3:10":true,"2:9":true,"0:0":true,"4:7":true,"3:6":true,"0:10":true,"1:8":true,"5:5":true,"4:1":true,"0:15":true,"6:4":true,"2:8":true,"5:1":true,"4:5":true,"0:12":true,"6:3":true,"1:9":true,"0:14":true,"7:6":true,"4:8":true,"2:11":true,"4:3":true,"5:4":true,"7:7":true,"6:5":true,"3:8":true,"5:3":true,"1:10":true,"0:8":true,"6:1":[156,158],"4:4":true,"6:8":true,"4:2":true,"0:11":true,"3:1":true,"5:2":true,"4:6":true,"3:7":true,"5:0":[155,164],"5:6":true,"0:7":true,"4:0":166,"2:10":true,"6:7":true,"3:9":true,"1:12":true,"0:9":true} \ No newline at end of file
+{
+ "1:11": true,
+ "0:13": true,
+ "6:6": true,
+ "4:9": true,
+ "5:7": true,
+ "3:10": true,
+ "2:9": true,
+ "0:0": true,
+ "4:7": true,
+ "3:6": true,
+ "0:10": true,
+ "1:8": true,
+ "5:5": true,
+ "4:1": true,
+ "0:15": true,
+ "6:4": true,
+ "2:8": true,
+ "5:1": true,
+ "4:5": true,
+ "0:12": true,
+ "6:3": true,
+ "1:9": true,
+ "0:14": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "4:3": true,
+ "5:4": true,
+ "7:7": true,
+ "6:5": true,
+ "3:8": true,
+ "5:3": true,
+ "1:10": true,
+ "0:8": true,
+ "6:1": [
+ 156,
+ 158
+ ],
+ "4:4": true,
+ "6:8": true,
+ "4:2": true,
+ "0:11": true,
+ "3:1": true,
+ "5:2": true,
+ "4:6": true,
+ "3:7": true,
+ "5:0": [
+ 155,
+ 164
+ ],
+ "5:6": true,
+ "0:7": true,
+ "4:0": 166,
+ "2:10": true,
+ "6:7": true,
+ "3:9": true,
+ "1:12": true,
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/11_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/11_4.json
index b1c880dc..ee4dac0f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/11_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/11_4.json
@@ -1 +1,17 @@
-{"2:15":true,"1:5":true,"4:9":true,"5:7":true,"0:1":true,"0:0":true,"0:5":true,"1:3":true,"0:2":true,"5:6":true,"1:4":true,"1:2":true,"0:3":true,"5:8":true,"4:8":true} \ No newline at end of file
+{
+ "2:15": true,
+ "1:5": true,
+ "4:9": true,
+ "5:7": true,
+ "0:1": true,
+ "0:0": true,
+ "0:5": true,
+ "1:3": true,
+ "0:2": true,
+ "5:6": true,
+ "1:4": true,
+ "1:2": true,
+ "0:3": true,
+ "5:8": true,
+ "4:8": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/1_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/1_-1.json
index 07c13c50..5f3ff028 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/1_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/1_-1.json
@@ -1 +1,119 @@
-{"7:12":196,"13:13":198,"7:15":[189,196],"10:12":199,"6:13":true,"9:15":[188,198],"9:12":198,"8:1":true,"10:15":[187,199],"14:1":[200,201],"13:15":198,"7:13":[189,196],"13:12":[198,202],"13:14":true,"10:13":[187,199],"8:9":173,"6:12":true,"6:15":true,"9:13":[188,198],"14:14":true,"8:13":[189,197],"2:12":true,"2:15":true,"15:14":196,"8:10":[172,174],"7:9":true,"15:12":[196,201],"14:15":true,"15:15":196,"14:12":[197,201],"1:13":true,"9:1":233,"8:12":197,"2:13":true,"8:15":[189,197],"15:13":196,"1:15":true,"1:12":true,"14:13":197,"9:3":147,"10:4":148,"3:13":true,"0:13":true,"8:5":true,"11:8":167,"13:0":153,"13:2":152,"3:12":true,"0:15":true,"3:15":true,"0:12":true,"13:3":157,"11:7":167,"12:7":166,"11:13":[186,199],"5:12":true,"4:15":true,"15:2":200,"4:12":true,"12:13":[185,199],"5:15":true,"11:14":226,"8:2":true,"14:0":198,"12:15":true,"11:12":true,"8:4":true,"5:13":true,"12:12":true,"11:15":true,"8:3":true,"4:13":true} \ No newline at end of file
+{
+ "7:12": 196,
+ "13:13": 198,
+ "7:15": [
+ 189,
+ 196
+ ],
+ "10:12": 199,
+ "6:13": true,
+ "9:15": [
+ 188,
+ 198
+ ],
+ "9:12": 198,
+ "8:1": true,
+ "10:15": [
+ 187,
+ 199
+ ],
+ "14:1": [
+ 200,
+ 201
+ ],
+ "13:15": 198,
+ "7:13": [
+ 189,
+ 196
+ ],
+ "13:12": [
+ 198,
+ 202
+ ],
+ "13:14": true,
+ "10:13": [
+ 187,
+ 199
+ ],
+ "8:9": 173,
+ "6:12": true,
+ "6:15": true,
+ "9:13": [
+ 188,
+ 198
+ ],
+ "14:14": true,
+ "8:13": [
+ 189,
+ 197
+ ],
+ "2:12": true,
+ "2:15": true,
+ "15:14": 196,
+ "8:10": [
+ 172,
+ 174
+ ],
+ "7:9": true,
+ "15:12": [
+ 196,
+ 201
+ ],
+ "14:15": true,
+ "15:15": 196,
+ "14:12": [
+ 197,
+ 201
+ ],
+ "1:13": true,
+ "9:1": 233,
+ "8:12": 197,
+ "2:13": true,
+ "8:15": [
+ 189,
+ 197
+ ],
+ "15:13": 196,
+ "1:15": true,
+ "1:12": true,
+ "14:13": 197,
+ "9:3": 147,
+ "10:4": 148,
+ "3:13": true,
+ "0:13": true,
+ "8:5": true,
+ "11:8": 167,
+ "13:0": 153,
+ "13:2": 152,
+ "3:12": true,
+ "0:15": true,
+ "3:15": true,
+ "0:12": true,
+ "13:3": 157,
+ "11:7": 167,
+ "12:7": 166,
+ "11:13": [
+ 186,
+ 199
+ ],
+ "5:12": true,
+ "4:15": true,
+ "15:2": 200,
+ "4:12": true,
+ "12:13": [
+ 185,
+ 199
+ ],
+ "5:15": true,
+ "11:14": 226,
+ "8:2": true,
+ "14:0": 198,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "5:13": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/1_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/1_-2.json
index f84a02d8..fbe1c1b7 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/1_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/1_-2.json
@@ -1 +1,36 @@
-{"3:0":true,"0:0":true,"8:1":234,"0:2":true,"3:3":true,"0:4":true,"4:3":true,"5:3":[177,178],"3:5":true,"9:7":192,"0:5":true,"5:0":true,"6:7":233,"9:8":[191,192],"1:5":true,"7:4":174,"4:7":true,"7:0":[195,223],"2:5":true,"4:8":true,"1:0":true,"1:3":true,"8:4":true,"3:9":true,"11:15":224} \ No newline at end of file
+{
+ "3:0": true,
+ "0:0": true,
+ "8:1": 234,
+ "0:2": true,
+ "3:3": true,
+ "0:4": true,
+ "4:3": true,
+ "5:3": [
+ 177,
+ 178
+ ],
+ "3:5": true,
+ "9:7": 192,
+ "0:5": true,
+ "5:0": true,
+ "6:7": 233,
+ "9:8": [
+ 191,
+ 192
+ ],
+ "1:5": true,
+ "7:4": 174,
+ "4:7": true,
+ "7:0": [
+ 195,
+ 223
+ ],
+ "2:5": true,
+ "4:8": true,
+ "1:0": true,
+ "1:3": true,
+ "8:4": true,
+ "3:9": true,
+ "11:15": 224
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/1_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/1_-3.json
index 2585400c..9499a2e1 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/1_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/1_-3.json
@@ -1 +1,151 @@
-{"9:14":[179,221],"1:1":true,"11:5":true,"2:7":true,"8:8":true,"6:10":true,"12:5":true,"10:14":[179,222],"2:9":true,"3:0":true,"0:6":true,"0:0":true,"8:1":true,"3:6":true,"7:14":true,"1:8":true,"14:1":true,"8:7":true,"5:5":true,"2:8":true,"4:5":true,"3:2":true,"15:1":true,"1:9":true,"13:14":true,"3:4":true,"8:9":true,"3:3":true,"1:7":true,"2:1":true,"11:0":true,"14:14":true,"12:6":true,"4:3":true,"7:7":true,"15:14":true,"12:0":true,"6:1":true,"11:6":true,"8:10":true,"6:8":true,"3:5":true,"13:1":true,"0:11":true,"5:2":true,"0:5":true,"12:3":true,"11:4":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:6":true,"12:4":true,"11:3":true,"12:2":true,"2:10":true,"6:7":true,"11:2":true,"8:14":[179,220],"1:12":true,"7:1":true,"12:1":true,"6:0":true,"5:9":true,"1:5":true,"7:2":true,"6:6":true,"4:9":true,"11:1":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"13:6":true,"13:0":true,"8:11":true,"4:7":true,"0:10":true,"7:3":true,"13:2":true,"6:4":true,"15:5":true,"14:5":true,"0:12":true,"6:3":true,"7:0":true,"13:3":true,"2:5":true,"0:14":true,"5:8":true,"13:4":true,"6:2":true,"7:6":true,"4:8":true,"15:4":true,"14:3":true,"1:6":true,"6:5":true,"3:8":true,"2:2":true,"0:8":true,"15:3":true,"1:0":true,"14:4":true,"2:4":true,"8:0":true,"14:2":true,"15:2":true,"8:6":true,"3:1":true,"13:5":true,"2:3":true,"15:0":true,"14:6":true,"12:14":[184,224],"5:10":true,"3:7":true,"1:3":true,"4:10":true,"11:14":[184,223],"8:2":true,"1:4":true,"0:7":true,"15:6":true,"14:0":true,"2:0":true,"8:4":true,"1:2":true,"7:5":true,"3:9":true,"8:3":true,"0:9":true,"2:6":true} \ No newline at end of file
+{
+ "9:14": [
+ 179,
+ 221
+ ],
+ "1:1": true,
+ "11:5": true,
+ "2:7": true,
+ "8:8": true,
+ "6:10": true,
+ "12:5": true,
+ "10:14": [
+ 179,
+ 222
+ ],
+ "2:9": true,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "8:1": true,
+ "3:6": true,
+ "7:14": true,
+ "1:8": true,
+ "14:1": true,
+ "8:7": true,
+ "5:5": true,
+ "2:8": true,
+ "4:5": true,
+ "3:2": true,
+ "15:1": true,
+ "1:9": true,
+ "13:14": true,
+ "3:4": true,
+ "8:9": true,
+ "3:3": true,
+ "1:7": true,
+ "2:1": true,
+ "11:0": true,
+ "14:14": true,
+ "12:6": true,
+ "4:3": true,
+ "7:7": true,
+ "15:14": true,
+ "12:0": true,
+ "6:1": true,
+ "11:6": true,
+ "8:10": true,
+ "6:8": true,
+ "3:5": true,
+ "13:1": true,
+ "0:11": true,
+ "5:2": true,
+ "0:5": true,
+ "12:3": true,
+ "11:4": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:6": true,
+ "12:4": true,
+ "11:3": true,
+ "12:2": true,
+ "2:10": true,
+ "6:7": true,
+ "11:2": true,
+ "8:14": [
+ 179,
+ 220
+ ],
+ "1:12": true,
+ "7:1": true,
+ "12:1": true,
+ "6:0": true,
+ "5:9": true,
+ "1:5": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "13:6": true,
+ "13:0": true,
+ "8:11": true,
+ "4:7": true,
+ "0:10": true,
+ "7:3": true,
+ "13:2": true,
+ "6:4": true,
+ "15:5": true,
+ "14:5": true,
+ "0:12": true,
+ "6:3": true,
+ "7:0": true,
+ "13:3": true,
+ "2:5": true,
+ "0:14": true,
+ "5:8": true,
+ "13:4": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": true,
+ "6:5": true,
+ "3:8": true,
+ "2:2": true,
+ "0:8": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "2:4": true,
+ "8:0": true,
+ "14:2": true,
+ "15:2": true,
+ "8:6": true,
+ "3:1": true,
+ "13:5": true,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "12:14": [
+ 184,
+ 224
+ ],
+ "5:10": true,
+ "3:7": true,
+ "1:3": true,
+ "4:10": true,
+ "11:14": [
+ 184,
+ 223
+ ],
+ "8:2": true,
+ "1:4": true,
+ "0:7": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": true,
+ "8:4": true,
+ "1:2": true,
+ "7:5": true,
+ "3:9": true,
+ "8:3": true,
+ "0:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/1_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/1_0.json
index e9baac3c..82bb1ab6 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/1_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/1_0.json
@@ -1 +1,89 @@
-{"3:0":true,"0:0":true,"13:10":214,"4:11":[146,151],"5:11":150,"11:0":[199,226],"12:0":[199,226],"3:11":145,"2:14":148,"1:13":145,"2:13":[145,149],"9:1":[174,175],"1:14":148,"15:10":213,"5:0":true,"14:10":[213,214],"4:0":true,"1:15":147,"6:0":true,"3:13":[149,150],"4:9":146,"3:10":145,"13:0":[198,226],"10:2":173,"3:12":145,"0:15":147,"10:0":[175,200],"9:0":[175,199],"7:0":[196,197],"1:0":true,"8:0":[197,198],"4:12":[146,150],"15:0":[196,202],"5:10":[147,152],"4:10":[146,147],"8:2":143,"14:0":true,"2:0":true,"4:13":149} \ No newline at end of file
+{
+ "3:0": true,
+ "0:0": true,
+ "13:10": 214,
+ "4:11": [
+ 146,
+ 151
+ ],
+ "5:11": 150,
+ "11:0": [
+ 199,
+ 226
+ ],
+ "12:0": [
+ 199,
+ 226
+ ],
+ "3:11": 145,
+ "2:14": 148,
+ "1:13": 145,
+ "2:13": [
+ 145,
+ 149
+ ],
+ "9:1": [
+ 174,
+ 175
+ ],
+ "1:14": 148,
+ "15:10": 213,
+ "5:0": true,
+ "14:10": [
+ 213,
+ 214
+ ],
+ "4:0": true,
+ "1:15": 147,
+ "6:0": true,
+ "3:13": [
+ 149,
+ 150
+ ],
+ "4:9": 146,
+ "3:10": 145,
+ "13:0": [
+ 198,
+ 226
+ ],
+ "10:2": 173,
+ "3:12": 145,
+ "0:15": 147,
+ "10:0": [
+ 175,
+ 200
+ ],
+ "9:0": [
+ 175,
+ 199
+ ],
+ "7:0": [
+ 196,
+ 197
+ ],
+ "1:0": true,
+ "8:0": [
+ 197,
+ 198
+ ],
+ "4:12": [
+ 146,
+ 150
+ ],
+ "15:0": [
+ 196,
+ 202
+ ],
+ "5:10": [
+ 147,
+ 152
+ ],
+ "4:10": [
+ 146,
+ 147
+ ],
+ "8:2": 143,
+ "14:0": true,
+ "2:0": true,
+ "4:13": 149
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/1_10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/1_10.json
index 1c619aa1..15873317 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/1_10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/1_10.json
@@ -1 +1,90 @@
-{"11:5":true,"7:12":true,"13:13":true,"12:5":true,"10:12":true,"3:0":true,"8:1":true,"14:1":true,"13:12":true,"3:2":127,"15:1":true,"1:9":true,"15:8":true,"13:14":true,"10:13":true,"14:8":true,"9:13":true,"2:1":true,"12:6":true,"4:3":127,"5:4":true,"5:3":true,"13:8":true,"11:6":true,"10:7":true,"13:1":true,"4:2":[127,202],"14:12":true,"9:7":true,"5:2":true,"9:1":true,"8:12":true,"13:7":true,"12:4":true,"15:13":true,"12:2":true,"2:10":127,"10:8":true,"11:2":true,"7:1":true,"14:13":true,"12:1":true,"10:4":true,"10:3":true,"7:2":true,"11:8":true,"13:6":true,"9:2":true,"10:2":true,"12:8":true,"13:2":true,"9:6":true,"15:5":true,"14:5":true,"10:6":true,"5:1":201,"9:0":true,"6:3":127,"7:0":true,"13:3":true,"11:7":true,"13:4":true,"12:7":true,"6:2":127,"7:6":true,"15:4":true,"0:8":true,"15:3":true,"1:0":127,"14:4":true,"11:13":true,"8:0":true,"14:2":true,"15:2":true,"8:6":true,"3:1":true,"14:6":true,"12:14":true,"10:5":true,"9:5":true,"11:14":true,"15:6":true,"14:0":true,"2:0":true,"11:12":true} \ No newline at end of file
+{
+ "11:5": true,
+ "7:12": true,
+ "13:13": true,
+ "12:5": true,
+ "10:12": true,
+ "3:0": true,
+ "8:1": true,
+ "14:1": true,
+ "13:12": true,
+ "3:2": 127,
+ "15:1": true,
+ "1:9": true,
+ "15:8": true,
+ "13:14": true,
+ "10:13": true,
+ "14:8": true,
+ "9:13": true,
+ "2:1": true,
+ "12:6": true,
+ "4:3": 127,
+ "5:4": true,
+ "5:3": true,
+ "13:8": true,
+ "11:6": true,
+ "10:7": true,
+ "13:1": true,
+ "4:2": [
+ 127,
+ 202
+ ],
+ "14:12": true,
+ "9:7": true,
+ "5:2": true,
+ "9:1": true,
+ "8:12": true,
+ "13:7": true,
+ "12:4": true,
+ "15:13": true,
+ "12:2": true,
+ "2:10": 127,
+ "10:8": true,
+ "11:2": true,
+ "7:1": true,
+ "14:13": true,
+ "12:1": true,
+ "10:4": true,
+ "10:3": true,
+ "7:2": true,
+ "11:8": true,
+ "13:6": true,
+ "9:2": true,
+ "10:2": true,
+ "12:8": true,
+ "13:2": true,
+ "9:6": true,
+ "15:5": true,
+ "14:5": true,
+ "10:6": true,
+ "5:1": 201,
+ "9:0": true,
+ "6:3": 127,
+ "7:0": true,
+ "13:3": true,
+ "11:7": true,
+ "13:4": true,
+ "12:7": true,
+ "6:2": 127,
+ "7:6": true,
+ "15:4": true,
+ "0:8": true,
+ "15:3": true,
+ "1:0": 127,
+ "14:4": true,
+ "11:13": true,
+ "8:0": true,
+ "14:2": true,
+ "15:2": true,
+ "8:6": true,
+ "3:1": true,
+ "14:6": true,
+ "12:14": true,
+ "10:5": true,
+ "9:5": true,
+ "11:14": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": true,
+ "11:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/1_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/1_7.json
index 8c280ebc..a961528d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/1_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/1_7.json
@@ -1 +1,7 @@
-{"13:15":true,"10:14":true,"12:15":true,"11:15":true,"10:15":true} \ No newline at end of file
+{
+ "13:15": true,
+ "10:14": true,
+ "12:15": true,
+ "11:15": true,
+ "10:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/1_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/1_8.json
index 84dcdb8b..646a75b5 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/1_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/1_8.json
@@ -1 +1,44 @@
-{"12:1":true,"12:11":true,"5:9":true,"13:13":true,"7:15":true,"11:1":true,"11:11":true,"6:13":true,"9:15":true,"13:0":true,"8:11":true,"10:15":true,"1:8":true,"13:15":true,"7:13":true,"2:8":true,"10:0":true,"15:8":true,"10:13":true,"6:15":true,"14:8":true,"4:8":true,"9:13":true,"11:0":true,"8:13":true,"3:8":true,"0:8":true,"12:0":true,"6:11":true,"11:13":true,"5:15":true,"12:13":true,"9:1":true,"9:11":true,"10:1":true,"10:11":true,"8:15":true,"12:15":true,"5:13":true,"11:15":true,"13:9":true,"7:11":true} \ No newline at end of file
+{
+ "12:1": true,
+ "12:11": true,
+ "5:9": true,
+ "13:13": true,
+ "7:15": true,
+ "11:1": true,
+ "11:11": true,
+ "6:13": true,
+ "9:15": true,
+ "13:0": true,
+ "8:11": true,
+ "10:15": true,
+ "1:8": true,
+ "13:15": true,
+ "7:13": true,
+ "2:8": true,
+ "10:0": true,
+ "15:8": true,
+ "10:13": true,
+ "6:15": true,
+ "14:8": true,
+ "4:8": true,
+ "9:13": true,
+ "11:0": true,
+ "8:13": true,
+ "3:8": true,
+ "0:8": true,
+ "12:0": true,
+ "6:11": true,
+ "11:13": true,
+ "5:15": true,
+ "12:13": true,
+ "9:1": true,
+ "9:11": true,
+ "10:1": true,
+ "10:11": true,
+ "8:15": true,
+ "12:15": true,
+ "5:13": true,
+ "11:15": true,
+ "13:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/1_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/1_9.json
index 2b778aa2..e84aa3ad 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/1_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/1_9.json
@@ -1 +1,96 @@
-{"15:9":true,"8:8":true,"13:13":true,"7:15":127,"14:9":true,"6:13":127,"15:7":true,"7:14":127,"10:10":true,"8:7":true,"5:5":true,"0:2":true,"9:10":true,"4:5":true,"13:12":true,"3:2":true,"6:14":127,"15:8":true,"13:14":true,"3:4":true,"8:9":true,"7:10":[117,118],"1:7":true,"0:4":true,"14:8":true,"14:14":true,"10:9":true,"7:7":true,"2:15":true,"13:8":true,"15:14":true,"9:9":true,"8:10":true,"7:9":119,"6:8":120,"3:5":true,"15:12":true,"13:1":true,"4:2":true,"15:15":true,"7:8":true,"15:10":true,"14:10":true,"5:6":true,"8:15":true,"15:13":true,"6:7":true,"1:12":[116,117],"13:9":true,"14:13":true,"6:6":true,"5:7":true,"8:11":117,"12:8":true,"14:11":true,"11:9":true,"5:1":true,"3:15":true,"0:12":[117,118],"12:9":true,"3:14":true,"7:6":true,"4:14":true,"11:10":true,"6:5":true,"5:14":127,"2:2":true,"0:8":true,"15:3":true,"11:13":true,"5:12":true,"2:4":true,"14:2":true,"13:11":true,"15:2":true,"12:13":true,"12:14":true,"9:11":true,"1:4":true,"15:6":true,"5:13":true,"1:2":true,"11:15":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "8:8": true,
+ "13:13": true,
+ "7:15": 127,
+ "14:9": true,
+ "6:13": 127,
+ "15:7": true,
+ "7:14": 127,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "0:2": true,
+ "9:10": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "6:14": 127,
+ "15:8": true,
+ "13:14": true,
+ "3:4": true,
+ "8:9": true,
+ "7:10": [
+ 117,
+ 118
+ ],
+ "1:7": true,
+ "0:4": true,
+ "14:8": true,
+ "14:14": true,
+ "10:9": true,
+ "7:7": true,
+ "2:15": true,
+ "13:8": true,
+ "15:14": true,
+ "9:9": true,
+ "8:10": true,
+ "7:9": 119,
+ "6:8": 120,
+ "3:5": true,
+ "15:12": true,
+ "13:1": true,
+ "4:2": true,
+ "15:15": true,
+ "7:8": true,
+ "15:10": true,
+ "14:10": true,
+ "5:6": true,
+ "8:15": true,
+ "15:13": true,
+ "6:7": true,
+ "1:12": [
+ 116,
+ 117
+ ],
+ "13:9": true,
+ "14:13": true,
+ "6:6": true,
+ "5:7": true,
+ "8:11": 117,
+ "12:8": true,
+ "14:11": true,
+ "11:9": true,
+ "5:1": true,
+ "3:15": true,
+ "0:12": [
+ 117,
+ 118
+ ],
+ "12:9": true,
+ "3:14": true,
+ "7:6": true,
+ "4:14": true,
+ "11:10": true,
+ "6:5": true,
+ "5:14": 127,
+ "2:2": true,
+ "0:8": true,
+ "15:3": true,
+ "11:13": true,
+ "5:12": true,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "15:2": true,
+ "12:13": true,
+ "12:14": true,
+ "9:11": true,
+ "1:4": true,
+ "15:6": true,
+ "5:13": true,
+ "1:2": true,
+ "11:15": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-1.json
index 70315fcb..d8d42d25 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-1.json
@@ -1 +1,18 @@
-{"10:12":true,"9:12":true,"13:12":true,"11:0":196,"9:9":true,"0:11":205,"10:8":true,"9:8":true,"1:11":205,"8:11":true,"14:11":true,"10:0":197,"15:11":true,"11:12":true,"12:12":true,"7:11":true} \ No newline at end of file
+{
+ "10:12": true,
+ "9:12": true,
+ "13:12": true,
+ "11:0": 196,
+ "9:9": true,
+ "0:11": 205,
+ "10:8": true,
+ "9:8": true,
+ "1:11": 205,
+ "8:11": true,
+ "14:11": true,
+ "10:0": 197,
+ "15:11": true,
+ "11:12": true,
+ "12:12": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-2.json
index ea803f53..511a2a33 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-2.json
@@ -1 +1,48 @@
-{"12:11":233,"13:13":true,"6:13":true,"13:0":true,"13:10":234,"14:11":true,"14:1":true,"15:5":[174,175],"13:12":true,"15:1":true,"6:12":227,"15:4":[173,174],"15:3":[173,174],"9:9":[213,215],"11:6":[211,213],"10:7":[211,212],"8:10":214,"13:11":true,"13:1":true,"14:12":true,"12:13":true,"15:0":true,"15:6":[174,175],"14:0":true,"12:12":234} \ No newline at end of file
+{
+ "12:11": 233,
+ "13:13": true,
+ "6:13": true,
+ "13:0": true,
+ "13:10": 234,
+ "14:11": true,
+ "14:1": true,
+ "15:5": [
+ 174,
+ 175
+ ],
+ "13:12": true,
+ "15:1": true,
+ "6:12": 227,
+ "15:4": [
+ 173,
+ 174
+ ],
+ "15:3": [
+ 173,
+ 174
+ ],
+ "9:9": [
+ 213,
+ 215
+ ],
+ "11:6": [
+ 211,
+ 213
+ ],
+ "10:7": [
+ 211,
+ 212
+ ],
+ "8:10": 214,
+ "13:11": true,
+ "13:1": true,
+ "14:12": true,
+ "12:13": true,
+ "15:0": true,
+ "15:6": [
+ 174,
+ 175
+ ],
+ "14:0": true,
+ "12:12": 234
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-4.json
index 06c33ad1..9a9539b0 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-4.json
@@ -1 +1,71 @@
-{"9:14":true,"7:12":true,"5:9":true,"13:13":true,"4:9":true,"11:1":true,"9:4":true,"7:4":true,"9:12":true,"0:10":true,"7:14":true,"9:6":true,"4:1":true,"3:12":true,"0:2":true,"7:13":true,"6:4":true,"9:10":true,"5:1":true,"13:12":true,"3:15":true,"3:2":true,"9:0":true,"6:14":true,"6:3":true,"7:0":true,"3:4":true,"0:3":true,"7:10":true,"5:8":true,"0:4":true,"6:15":true,"6:2":true,"7:6":true,"4:8":true,"9:13":true,"11:0":true,"4:14":true,"4:3":true,"5:4":true,"7:7":true,"3:8":true,"5:14":true,"5:3":true,"9:9":true,"4:4":true,"7:9":true,"3:5":true,"4:15":true,"4:2":true,"0:11":true,"9:7":true,"3:1":true,"3:11":true,"5:15":true,"5:2":true,"9:11":true,"9:1":true,"7:8":true,"6:9":true,"5:10":true,"9:5":true,"4:10":true,"7:5":true,"3:9":true,"0:9":true,"9:8":true,"7:11":true,"7:1":true} \ No newline at end of file
+{
+ "9:14": true,
+ "7:12": true,
+ "5:9": true,
+ "13:13": true,
+ "4:9": true,
+ "11:1": true,
+ "9:4": true,
+ "7:4": true,
+ "9:12": true,
+ "0:10": true,
+ "7:14": true,
+ "9:6": true,
+ "4:1": true,
+ "3:12": true,
+ "0:2": true,
+ "7:13": true,
+ "6:4": true,
+ "9:10": true,
+ "5:1": true,
+ "13:12": true,
+ "3:15": true,
+ "3:2": true,
+ "9:0": true,
+ "6:14": true,
+ "6:3": true,
+ "7:0": true,
+ "3:4": true,
+ "0:3": true,
+ "7:10": true,
+ "5:8": true,
+ "0:4": true,
+ "6:15": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "9:13": true,
+ "11:0": true,
+ "4:14": true,
+ "4:3": true,
+ "5:4": true,
+ "7:7": true,
+ "3:8": true,
+ "5:14": true,
+ "5:3": true,
+ "9:9": true,
+ "4:4": true,
+ "7:9": true,
+ "3:5": true,
+ "4:15": true,
+ "4:2": true,
+ "0:11": true,
+ "9:7": true,
+ "3:1": true,
+ "3:11": true,
+ "5:15": true,
+ "5:2": true,
+ "9:11": true,
+ "9:1": true,
+ "7:8": true,
+ "6:9": true,
+ "5:10": true,
+ "9:5": true,
+ "4:10": true,
+ "7:5": true,
+ "3:9": true,
+ "0:9": true,
+ "9:8": true,
+ "7:11": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-5.json
index b7f553d7..2390fe19 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-5.json
@@ -1 +1,60 @@
-{"9:14":true,"7:12":true,"6:10":true,"5:9":true,"12:5":true,"7:15":true,"4:9":true,"11:11":true,"11:8":true,"6:13":true,"9:15":true,"9:12":true,"4:7":true,"7:14":true,"4:11":true,"0:2":true,"11:9":true,"7:13":true,"9:10":true,"5:11":true,"3:2":true,"9:0":true,"3:4":true,"0:3":true,"0:14":true,"7:10":true,"6:12":true,"5:8":true,"0:4":true,"4:8":true,"9:13":true,"11:10":true,"5:4":true,"0:8":true,"6:11":true,"4:4":true,"11:13":true,"7:9":true,"6:8":true,"5:12":true,"3:5":true,"2:4":true,"0:1":true,"4:12":true,"3:1":true,"9:11":true,"7:8":true,"6:9":true,"5:10":true,"4:10":true,"11:14":true,"1:4":true,"11:12":true,"5:13":true,"11:15":true,"7:11":true,"7:1":true,"4:13":true} \ No newline at end of file
+{
+ "9:14": true,
+ "7:12": true,
+ "6:10": true,
+ "5:9": true,
+ "12:5": true,
+ "7:15": true,
+ "4:9": true,
+ "11:11": true,
+ "11:8": true,
+ "6:13": true,
+ "9:15": true,
+ "9:12": true,
+ "4:7": true,
+ "7:14": true,
+ "4:11": true,
+ "0:2": true,
+ "11:9": true,
+ "7:13": true,
+ "9:10": true,
+ "5:11": true,
+ "3:2": true,
+ "9:0": true,
+ "3:4": true,
+ "0:3": true,
+ "0:14": true,
+ "7:10": true,
+ "6:12": true,
+ "5:8": true,
+ "0:4": true,
+ "4:8": true,
+ "9:13": true,
+ "11:10": true,
+ "5:4": true,
+ "0:8": true,
+ "6:11": true,
+ "4:4": true,
+ "11:13": true,
+ "7:9": true,
+ "6:8": true,
+ "5:12": true,
+ "3:5": true,
+ "2:4": true,
+ "0:1": true,
+ "4:12": true,
+ "3:1": true,
+ "9:11": true,
+ "7:8": true,
+ "6:9": true,
+ "5:10": true,
+ "4:10": true,
+ "11:14": true,
+ "1:4": true,
+ "11:12": true,
+ "5:13": true,
+ "11:15": true,
+ "7:11": true,
+ "7:1": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-7.json
index 175d154e..c1e5c107 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_-7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_-7.json
@@ -1 +1,40 @@
-{"12:11":true,"1:11":true,"2:7":true,"2:12":true,"13:13":true,"1:10":true,"13:8":true,"10:7":true,"5:7":true,"13:11":true,"9:7":true,"4:7":true,"13:10":true,"12:13":true,"10:15":true,"5:15":true,"1:13":true,"1:8":true,"13:15":true,"8:7":true,"2:13":true,"1:14":true,"0:15":true,"11:9":true,"13:12":true,"13:7":true,"3:15":true,"1:9":true,"13:14":true,"1:15":true,"6:7":true,"3:9":true,"12:7":true,"12:12":true,"1:12":true,"1:7":true,"13:9":true,"2:11":true} \ No newline at end of file
+{
+ "12:11": true,
+ "1:11": true,
+ "2:7": true,
+ "2:12": true,
+ "13:13": true,
+ "1:10": true,
+ "13:8": true,
+ "10:7": true,
+ "5:7": true,
+ "13:11": true,
+ "9:7": true,
+ "4:7": true,
+ "13:10": true,
+ "12:13": true,
+ "10:15": true,
+ "5:15": true,
+ "1:13": true,
+ "1:8": true,
+ "13:15": true,
+ "8:7": true,
+ "2:13": true,
+ "1:14": true,
+ "0:15": true,
+ "11:9": true,
+ "13:12": true,
+ "13:7": true,
+ "3:15": true,
+ "1:9": true,
+ "13:14": true,
+ "1:15": true,
+ "6:7": true,
+ "3:9": true,
+ "12:7": true,
+ "12:12": true,
+ "1:12": true,
+ "1:7": true,
+ "13:9": true,
+ "2:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_0.json
index 046b2dbc..e6bb771d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_0.json
@@ -1 +1,87 @@
-{"1:1":true,"3:0":[196,202],"0:0":[193,203],"8:1":205,"14:1":205,"15:1":205,"11:0":[157,202],"5:4":true,"7:7":true,"12:0":[141,202],"4:4":true,"9:1":159,"5:0":true,"4:0":true,"12:2":true,"11:2":true,"7:1":205,"6:0":true,"7:2":[154,158],"6:6":true,"11:1":156,"13:0":[141,202],"10:2":true,"13:2":[157,159],"6:4":true,"10:0":[142,202],"9:0":[143,202],"6:3":true,"7:0":[152,202],"6:2":157,"1:0":true,"8:0":[150,202],"14:2":158,"0:1":true,"15:0":[198,202],"11:14":214,"14:0":[198,202],"2:0":[196,202],"12:15":true,"11:15":[212,213]} \ No newline at end of file
+{
+ "1:1": true,
+ "3:0": [
+ 196,
+ 202
+ ],
+ "0:0": [
+ 193,
+ 203
+ ],
+ "8:1": 205,
+ "14:1": 205,
+ "15:1": 205,
+ "11:0": [
+ 157,
+ 202
+ ],
+ "5:4": true,
+ "7:7": true,
+ "12:0": [
+ 141,
+ 202
+ ],
+ "4:4": true,
+ "9:1": 159,
+ "5:0": true,
+ "4:0": true,
+ "12:2": true,
+ "11:2": true,
+ "7:1": 205,
+ "6:0": true,
+ "7:2": [
+ 154,
+ 158
+ ],
+ "6:6": true,
+ "11:1": 156,
+ "13:0": [
+ 141,
+ 202
+ ],
+ "10:2": true,
+ "13:2": [
+ 157,
+ 159
+ ],
+ "6:4": true,
+ "10:0": [
+ 142,
+ 202
+ ],
+ "9:0": [
+ 143,
+ 202
+ ],
+ "6:3": true,
+ "7:0": [
+ 152,
+ 202
+ ],
+ "6:2": 157,
+ "1:0": true,
+ "8:0": [
+ 150,
+ 202
+ ],
+ "14:2": 158,
+ "0:1": true,
+ "15:0": [
+ 198,
+ 202
+ ],
+ "11:14": 214,
+ "14:0": [
+ 198,
+ 202
+ ],
+ "2:0": [
+ 196,
+ 202
+ ],
+ "12:15": true,
+ "11:15": [
+ 212,
+ 213
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_10.json
index 59e038d9..18003fa5 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_10.json
@@ -1 +1,278 @@
-{"1:1":true,"8:8":[139,141],"6:10":true,"13:13":true,"0:0":true,"3:6":true,"14:1":true,"13:15":true,"8:7":true,"5:5":154,"4:11":[165,166],"0:2":true,"5:11":[134,176],"13:12":true,"3:2":182,"15:1":true,"13:14":true,"0:3":true,"8:9":true,"7:10":true,"0:4":true,"2:1":true,"14:14":true,"5:4":154,"10:9":true,"7:7":true,"5:3":155,"15:14":true,"9:9":141,"10:7":true,"8:10":true,"7:9":true,"3:5":[169,173],"15:12":true,"14:15":true,"13:1":true,"15:15":true,"14:12":true,"9:7":true,"0:5":true,"7:8":true,"6:9":[134,135],"15:13":true,"10:8":true,"6:7":true,"1:12":true,"9:8":true,"14:13":true,"1:5":true,"11:8":true,"13:6":[168,169],"13:0":true,"12:8":true,"14:11":true,"11:9":true,"15:5":[146,173],"14:5":[144,174],"0:12":true,"15:11":true,"12:9":true,"13:3":true,"2:5":true,"13:4":true,"15:4":[147,149],"14:3":true,"4:14":146,"11:10":true,"12:10":true,"5:14":true,"2:2":183,"1:0":true,"5:12":[134,176],"2:4":true,"14:2":true,"13:11":true,"0:1":true,"15:2":true,"4:12":[132,165],"13:5":[145,173],"2:3":[180,183],"15:0":true,"14:6":[168,169],"1:3":true,"1:4":true,"15:6":[168,172],"14:0":true,"2:0":true,"5:13":[167,176],"1:2":true,"4:13":[164,166],"2:6":true,"15:9":true,"12:11":true,"11:5":true,"2:7":true,"12:5":[148,170],"14:9":true,"11:11":true,"6:13":[169,174],"2:9":true,"13:10":true,"10:15":true,"1:8":true,"2:8":true,"15:8":true,"6:12":[140,174],"1:7":true,"14:8":158,"13:8":true,"6:1":156,"12:3":true,"11:4":[139,170],"15:10":true,"14:10":true,"10:1":[171,178],"12:4":[142,174],"11:3":[135,176],"12:2":true,"11:2":[131,178],"13:9":true,"7:1":[154,155],"12:1":true,"10:4":[134,138],"5:9":[170,174],"10:3":[131,173],"6:6":true,"4:9":[166,176],"11:1":[169,170],"9:4":132,"8:5":true,"7:4":true,"4:7":[168,169],"10:2":[174,176],"6:4":true,"10:0":[174,178],"10:6":true,"6:3":true,"7:0":true,"6:2":true,"7:6":true,"4:8":[167,175],"6:5":true,"3:8":true,"0:8":true,"6:11":[136,172],"11:13":true,"8:6":true,"12:13":true,"3:7":true,"12:14":true,"10:5":true,"5:10":[168,176],"9:5":true,"4:10":[166,177],"11:14":true,"12:15":true,"11:12":true,"7:5":true,"3:9":true,"12:12":true,"11:15":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": [
+ 139,
+ 141
+ ],
+ "6:10": true,
+ "13:13": true,
+ "0:0": true,
+ "3:6": true,
+ "14:1": true,
+ "13:15": true,
+ "8:7": true,
+ "5:5": 154,
+ "4:11": [
+ 165,
+ 166
+ ],
+ "0:2": true,
+ "5:11": [
+ 134,
+ 176
+ ],
+ "13:12": true,
+ "3:2": 182,
+ "15:1": true,
+ "13:14": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "0:4": true,
+ "2:1": true,
+ "14:14": true,
+ "5:4": 154,
+ "10:9": true,
+ "7:7": true,
+ "5:3": 155,
+ "15:14": true,
+ "9:9": 141,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "3:5": [
+ 169,
+ 173
+ ],
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "0:5": true,
+ "7:8": true,
+ "6:9": [
+ 134,
+ 135
+ ],
+ "15:13": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:5": true,
+ "11:8": true,
+ "13:6": [
+ 168,
+ 169
+ ],
+ "13:0": true,
+ "12:8": true,
+ "14:11": true,
+ "11:9": true,
+ "15:5": [
+ 146,
+ 173
+ ],
+ "14:5": [
+ 144,
+ 174
+ ],
+ "0:12": true,
+ "15:11": true,
+ "12:9": true,
+ "13:3": true,
+ "2:5": true,
+ "13:4": true,
+ "15:4": [
+ 147,
+ 149
+ ],
+ "14:3": true,
+ "4:14": 146,
+ "11:10": true,
+ "12:10": true,
+ "5:14": true,
+ "2:2": 183,
+ "1:0": true,
+ "5:12": [
+ 134,
+ 176
+ ],
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "0:1": true,
+ "15:2": true,
+ "4:12": [
+ 132,
+ 165
+ ],
+ "13:5": [
+ 145,
+ 173
+ ],
+ "2:3": [
+ 180,
+ 183
+ ],
+ "15:0": true,
+ "14:6": [
+ 168,
+ 169
+ ],
+ "1:3": true,
+ "1:4": true,
+ "15:6": [
+ 168,
+ 172
+ ],
+ "14:0": true,
+ "2:0": true,
+ "5:13": [
+ 167,
+ 176
+ ],
+ "1:2": true,
+ "4:13": [
+ 164,
+ 166
+ ],
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "11:5": true,
+ "2:7": true,
+ "12:5": [
+ 148,
+ 170
+ ],
+ "14:9": true,
+ "11:11": true,
+ "6:13": [
+ 169,
+ 174
+ ],
+ "2:9": true,
+ "13:10": true,
+ "10:15": true,
+ "1:8": true,
+ "2:8": true,
+ "15:8": true,
+ "6:12": [
+ 140,
+ 174
+ ],
+ "1:7": true,
+ "14:8": 158,
+ "13:8": true,
+ "6:1": 156,
+ "12:3": true,
+ "11:4": [
+ 139,
+ 170
+ ],
+ "15:10": true,
+ "14:10": true,
+ "10:1": [
+ 171,
+ 178
+ ],
+ "12:4": [
+ 142,
+ 174
+ ],
+ "11:3": [
+ 135,
+ 176
+ ],
+ "12:2": true,
+ "11:2": [
+ 131,
+ 178
+ ],
+ "13:9": true,
+ "7:1": [
+ 154,
+ 155
+ ],
+ "12:1": true,
+ "10:4": [
+ 134,
+ 138
+ ],
+ "5:9": [
+ 170,
+ 174
+ ],
+ "10:3": [
+ 131,
+ 173
+ ],
+ "6:6": true,
+ "4:9": [
+ 166,
+ 176
+ ],
+ "11:1": [
+ 169,
+ 170
+ ],
+ "9:4": 132,
+ "8:5": true,
+ "7:4": true,
+ "4:7": [
+ 168,
+ 169
+ ],
+ "10:2": [
+ 174,
+ 176
+ ],
+ "6:4": true,
+ "10:0": [
+ 174,
+ 178
+ ],
+ "10:6": true,
+ "6:3": true,
+ "7:0": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": [
+ 167,
+ 175
+ ],
+ "6:5": true,
+ "3:8": true,
+ "0:8": true,
+ "6:11": [
+ 136,
+ 172
+ ],
+ "11:13": true,
+ "8:6": true,
+ "12:13": true,
+ "3:7": true,
+ "12:14": true,
+ "10:5": true,
+ "5:10": [
+ 168,
+ 176
+ ],
+ "9:5": true,
+ "4:10": [
+ 166,
+ 177
+ ],
+ "11:14": true,
+ "12:15": true,
+ "11:12": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_3.json
index 86d84cb3..e0fb583d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_3.json
@@ -1 +1,3 @@
-{"1:4":true} \ No newline at end of file
+{
+ "1:4": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_4.json
index 182d0153..3f26cae9 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_4.json
@@ -1 +1,145 @@
-{"15:9":true,"1:1":true,"2:7":true,"8:8":true,"7:12":true,"14:9":true,"10:12":true,"6:13":true,"2:9":true,"15:7":true,"0:6":true,"14:7":true,"9:12":true,"3:6":true,"1:8":true,"10:10":true,"8:7":true,"4:11":true,"7:13":true,"2:8":true,"9:10":true,"5:11":true,"3:2":true,"1:9":true,"15:8":true,"10:13":true,"3:4":true,"0:3":true,"8:9":true,"6:12":true,"1:7":true,"14:8":true,"9:13":true,"12:6":true,"4:3":true,"8:13":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"1:10":true,"13:8":true,"9:9":true,"11:6":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"4:2":true,"0:11":true,"9:7":true,"3:11":true,"5:2":true,"1:13":true,"8:12":true,"7:8":true,"6:9":true,"4:6":true,"2:13":true,"5:6":true,"13:7":true,"2:10":true,"10:8":true,"6:7":true,"1:12":true,"13:9":true,"9:8":true,"9:3":true,"1:11":true,"10:4":true,"3:13":true,"10:3":true,"0:13":true,"7:2":true,"6:6":true,"4:9":true,"9:4":true,"5:7":true,"3:10":true,"11:8":true,"13:6":true,"9:2":true,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"12:8":true,"13:2":true,"9:6":true,"3:12":true,"11:9":true,"15:5":true,"14:5":true,"10:6":true,"0:12":true,"12:9":true,"13:3":true,"11:7":true,"13:4":true,"12:7":true,"6:2":true,"7:6":true,"4:8":true,"2:11":true,"15:4":true,"14:3":true,"1:6":true,"3:8":true,"0:8":true,"15:3":true,"6:11":true,"14:4":true,"5:12":true,"14:2":[154,157],"0:1":true,"15:2":[154,157],"8:6":true,"4:12":true,"13:5":true,"14:6":true,"9:11":true,"5:10":true,"10:5":true,"3:7":true,"10:11":true,"9:5":true,"4:10":true,"8:2":true,"0:7":true,"15:6":true,"5:13":true,"3:9":true,"0:9":true,"7:11":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "1:1": true,
+ "2:7": true,
+ "8:8": true,
+ "7:12": true,
+ "14:9": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "15:7": true,
+ "0:6": true,
+ "14:7": true,
+ "9:12": true,
+ "3:6": true,
+ "1:8": true,
+ "10:10": true,
+ "8:7": true,
+ "4:11": true,
+ "7:13": true,
+ "2:8": true,
+ "9:10": true,
+ "5:11": true,
+ "3:2": true,
+ "1:9": true,
+ "15:8": true,
+ "10:13": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "6:12": true,
+ "1:7": true,
+ "14:8": true,
+ "9:13": true,
+ "12:6": true,
+ "4:3": true,
+ "8:13": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "1:10": true,
+ "13:8": true,
+ "9:9": true,
+ "11:6": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "4:2": true,
+ "0:11": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "1:13": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "5:6": true,
+ "13:7": true,
+ "2:10": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "13:9": true,
+ "9:8": true,
+ "9:3": true,
+ "1:11": true,
+ "10:4": true,
+ "3:13": true,
+ "10:3": true,
+ "0:13": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "9:4": true,
+ "5:7": true,
+ "3:10": true,
+ "11:8": true,
+ "13:6": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "12:8": true,
+ "13:2": true,
+ "9:6": true,
+ "3:12": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "10:6": true,
+ "0:12": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "13:4": true,
+ "12:7": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": true,
+ "3:8": true,
+ "0:8": true,
+ "15:3": true,
+ "6:11": true,
+ "14:4": true,
+ "5:12": true,
+ "14:2": [
+ 154,
+ 157
+ ],
+ "0:1": true,
+ "15:2": [
+ 154,
+ 157
+ ],
+ "8:6": true,
+ "4:12": true,
+ "13:5": true,
+ "14:6": true,
+ "9:11": true,
+ "5:10": true,
+ "10:5": true,
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "8:2": true,
+ "0:7": true,
+ "15:6": true,
+ "5:13": true,
+ "3:9": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_6.json
index 458177bc..71567b5a 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_6.json
@@ -1 +1,132 @@
-{"15:9":true,"1:1":true,"11:5":true,"6:10":true,"12:5":true,"14:9":true,"15:7":true,"3:0":true,"0:6":true,"0:0":true,"14:7":true,"8:1":true,"3:6":true,"13:10":true,"10:10":true,"5:5":true,"0:2":true,"9:10":true,"5:11":true,"4:5":true,"3:2":true,"15:8":true,"3:4":true,"0:3":true,"7:10":true,"3:3":true,"0:4":true,"6:15":true,"14:8":true,"2:1":true,"12:6":true,"4:3":true,"10:9":true,"13:8":true,"9:9":true,"6:1":true,"11:6":true,"4:4":true,"10:7":true,"8:10":true,"3:5":true,"4:2":true,"0:11":true,"9:7":true,"5:2":true,"0:5":true,"12:3":true,"11:4":true,"9:1":true,"4:6":true,"15:10":true,"5:0":true,"14:10":true,"10:1":true,"5:6":true,"13:7":true,"12:4":true,"11:3":true,"4:0":true,"10:8":true,"13:9":true,"9:8":true,"7:1":true,"9:3":true,"6:0":true,"1:11":true,"10:4":true,"5:9":true,"10:3":true,"1:5":true,"6:6":true,"4:9":true,"9:4":true,"8:5":true,"3:10":true,"7:4":true,"13:6":true,"9:2":true,"10:2":true,"7:3":true,"9:6":true,"4:1":true,"15:5":true,"10:0":true,"14:5":true,"10:6":true,"5:1":true,"9:0":true,"6:3":true,"7:0":true,"13:3":true,"2:5":true,"5:8":true,"13:4":true,"7:6":true,"4:8":true,"15:4":true,"14:3":true,"1:6":true,"6:5":true,"3:8":true,"2:2":true,"15:3":true,"1:0":true,"14:4":true,"5:12":true,"2:4":true,"8:0":true,"0:1":true,"8:6":true,"3:1":true,"13:5":true,"2:3":true,"14:6":true,"10:5":true,"5:10":true,"1:3":true,"9:5":true,"4:10":true,"8:2":true,"1:4":true,"15:6":true,"2:0":true,"8:4":true,"5:13":true,"1:2":true,"7:5":true,"8:3":true,"0:9":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": true,
+ "1:1": true,
+ "11:5": true,
+ "6:10": true,
+ "12:5": true,
+ "14:9": true,
+ "15:7": true,
+ "3:0": true,
+ "0:6": true,
+ "0:0": true,
+ "14:7": true,
+ "8:1": true,
+ "3:6": true,
+ "13:10": true,
+ "10:10": true,
+ "5:5": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "3:2": true,
+ "15:8": true,
+ "3:4": true,
+ "0:3": true,
+ "7:10": true,
+ "3:3": true,
+ "0:4": true,
+ "6:15": true,
+ "14:8": true,
+ "2:1": true,
+ "12:6": true,
+ "4:3": true,
+ "10:9": true,
+ "13:8": true,
+ "9:9": true,
+ "6:1": true,
+ "11:6": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "3:5": true,
+ "4:2": true,
+ "0:11": true,
+ "9:7": true,
+ "5:2": true,
+ "0:5": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "4:6": true,
+ "15:10": true,
+ "5:0": true,
+ "14:10": true,
+ "10:1": true,
+ "5:6": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "4:0": true,
+ "10:8": true,
+ "13:9": true,
+ "9:8": true,
+ "7:1": true,
+ "9:3": true,
+ "6:0": true,
+ "1:11": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "1:5": true,
+ "6:6": true,
+ "4:9": true,
+ "9:4": true,
+ "8:5": true,
+ "3:10": true,
+ "7:4": true,
+ "13:6": true,
+ "9:2": true,
+ "10:2": true,
+ "7:3": true,
+ "9:6": true,
+ "4:1": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "5:1": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "13:3": true,
+ "2:5": true,
+ "5:8": true,
+ "13:4": true,
+ "7:6": true,
+ "4:8": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": true,
+ "6:5": true,
+ "3:8": true,
+ "2:2": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "5:12": true,
+ "2:4": true,
+ "8:0": true,
+ "0:1": true,
+ "8:6": true,
+ "3:1": true,
+ "13:5": true,
+ "2:3": true,
+ "14:6": true,
+ "10:5": true,
+ "5:10": true,
+ "1:3": true,
+ "9:5": true,
+ "4:10": true,
+ "8:2": true,
+ "1:4": true,
+ "15:6": true,
+ "2:0": true,
+ "8:4": true,
+ "5:13": true,
+ "1:2": true,
+ "7:5": true,
+ "8:3": true,
+ "0:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_7.json
index 3b0bf529..2c97d46a 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_7.json
@@ -1 +1,3 @@
-{"4:12":true} \ No newline at end of file
+{
+ "4:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_8.json
index 56f5e08c..706c7308 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_8.json
@@ -1 +1,103 @@
-{"12:11":true,"6:10":[142,201],"7:15":[155,156],"11:11":true,"10:12":true,"9:15":153,"9:12":true,"10:15":[149,154],"13:10":119,"1:8":true,"13:15":[149,153],"4:11":[150,151],"2:8":true,"9:10":120,"13:14":[142,189],"10:13":true,"6:15":[132,160],"9:13":true,"14:14":true,"8:13":true,"15:14":[150,151],"7:9":200,"15:12":[143,190],"14:15":[151,152],"14:12":[142,189],"6:9":true,"15:10":true,"14:10":119,"15:13":true,"9:8":172,"14:13":[142,190],"13:6":[176,177],"3:15":[153,161],"15:11":[142,190],"0:8":true,"13:11":true,"4:15":[133,162],"5:15":[132,161],"12:14":true,"9:11":true,"10:11":true,"12:15":[141,189],"11:12":true,"11:15":[141,188]} \ No newline at end of file
+{
+ "12:11": true,
+ "6:10": [
+ 142,
+ 201
+ ],
+ "7:15": [
+ 155,
+ 156
+ ],
+ "11:11": true,
+ "10:12": true,
+ "9:15": 153,
+ "9:12": true,
+ "10:15": [
+ 149,
+ 154
+ ],
+ "13:10": 119,
+ "1:8": true,
+ "13:15": [
+ 149,
+ 153
+ ],
+ "4:11": [
+ 150,
+ 151
+ ],
+ "2:8": true,
+ "9:10": 120,
+ "13:14": [
+ 142,
+ 189
+ ],
+ "10:13": true,
+ "6:15": [
+ 132,
+ 160
+ ],
+ "9:13": true,
+ "14:14": true,
+ "8:13": true,
+ "15:14": [
+ 150,
+ 151
+ ],
+ "7:9": 200,
+ "15:12": [
+ 143,
+ 190
+ ],
+ "14:15": [
+ 151,
+ 152
+ ],
+ "14:12": [
+ 142,
+ 189
+ ],
+ "6:9": true,
+ "15:10": true,
+ "14:10": 119,
+ "15:13": true,
+ "9:8": 172,
+ "14:13": [
+ 142,
+ 190
+ ],
+ "13:6": [
+ 176,
+ 177
+ ],
+ "3:15": [
+ 153,
+ 161
+ ],
+ "15:11": [
+ 142,
+ 190
+ ],
+ "0:8": true,
+ "13:11": true,
+ "4:15": [
+ 133,
+ 162
+ ],
+ "5:15": [
+ 132,
+ 161
+ ],
+ "12:14": true,
+ "9:11": true,
+ "10:11": true,
+ "12:15": [
+ 141,
+ 189
+ ],
+ "11:12": true,
+ "11:15": [
+ 141,
+ 188
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/2_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/2_9.json
index b1c8feb6..0019a44d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/2_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/2_9.json
@@ -1 +1,265 @@
-{"8:8":true,"6:10":true,"13:13":185,"0:6":true,"14:1":191,"13:15":184,"10:10":true,"8:7":true,"5:5":[157,158],"0:2":true,"9:10":true,"13:12":true,"15:1":192,"13:14":185,"0:3":true,"8:9":true,"7:10":true,"0:4":true,"2:1":true,"14:14":184,"4:3":158,"5:4":158,"2:12":true,"10:9":true,"7:7":true,"2:15":true,"15:14":[141,183],"9:9":true,"10:7":true,"8:10":true,"7:9":true,"6:8":158,"3:5":177,"15:12":[132,186],"14:15":[134,183],"13:1":[152,153],"4:2":158,"0:11":true,"15:15":true,"14:12":[152,187],"9:7":true,"3:11":182,"2:14":182,"1:13":true,"2:13":true,"7:8":true,"6:9":true,"1:14":true,"5:0":[132,133],"5:6":158,"4:0":133,"15:13":184,"1:15":true,"10:8":true,"6:7":true,"1:12":true,"9:8":true,"14:13":186,"1:11":true,"1:5":true,"0:13":true,"11:8":true,"13:6":true,"13:0":[150,190],"12:8":true,"14:11":188,"13:2":true,"3:12":182,"11:9":true,"15:5":true,"14:5":true,"0:12":true,"15:11":[132,188],"12:9":true,"13:3":true,"11:7":true,"2:5":true,"0:14":true,"13:4":true,"12:7":true,"2:11":true,"15:4":true,"1:6":true,"11:10":true,"12:10":true,"2:2":true,"15:3":192,"14:4":true,"2:4":true,"14:2":192,"13:11":true,"15:2":192,"3:1":158,"13:5":true,"2:3":[174,183],"15:0":192,"14:6":true,"1:3":true,"1:4":true,"15:6":true,"14:0":[152,191],"1:2":true,"2:6":true,"15:9":190,"12:11":true,"11:5":true,"2:7":true,"7:12":true,"12:5":true,"10:14":[174,175],"7:15":[155,157],"14:9":191,"11:11":true,"10:12":true,"2:9":true,"9:12":[154,182],"13:10":true,"10:15":[174,176],"7:14":true,"7:13":true,"2:8":true,"15:8":190,"10:13":true,"6:12":160,"1:7":true,"14:8":191,"9:13":[153,181],"11:0":[141,188],"12:6":true,"8:13":true,"1:10":true,"13:8":true,"12:0":[147,149],"6:1":[132,133],"11:6":true,"11:4":true,"8:12":true,"12:3":true,"15:10":189,"14:10":[132,189],"13:7":true,"12:4":true,"11:3":true,"8:15":154,"12:2":true,"2:10":true,"11:2":true,"8:14":true,"13:9":true,"12:1":[149,151],"10:4":184,"6:6":true,"11:1":[144,189],"3:10":[181,183],"8:11":true,"9:6":true,"10:6":true,"7:6":true,"3:8":[180,182],"0:8":true,"6:11":true,"11:13":[172,185],"12:13":185,"12:14":185,"10:5":true,"9:11":[155,182],"3:7":[179,180],"10:11":true,"11:14":[171,172],"0:7":true,"12:15":184,"11:12":true,"3:9":[181,183],"12:12":true,"0:9":true,"7:11":true} \ No newline at end of file
+{
+ "8:8": true,
+ "6:10": true,
+ "13:13": 185,
+ "0:6": true,
+ "14:1": 191,
+ "13:15": 184,
+ "10:10": true,
+ "8:7": true,
+ "5:5": [
+ 157,
+ 158
+ ],
+ "0:2": true,
+ "9:10": true,
+ "13:12": true,
+ "15:1": 192,
+ "13:14": 185,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "0:4": true,
+ "2:1": true,
+ "14:14": 184,
+ "4:3": 158,
+ "5:4": 158,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "2:15": true,
+ "15:14": [
+ 141,
+ 183
+ ],
+ "9:9": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": 158,
+ "3:5": 177,
+ "15:12": [
+ 132,
+ 186
+ ],
+ "14:15": [
+ 134,
+ 183
+ ],
+ "13:1": [
+ 152,
+ 153
+ ],
+ "4:2": 158,
+ "0:11": true,
+ "15:15": true,
+ "14:12": [
+ 152,
+ 187
+ ],
+ "9:7": true,
+ "3:11": 182,
+ "2:14": 182,
+ "1:13": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "1:14": true,
+ "5:0": [
+ 132,
+ 133
+ ],
+ "5:6": 158,
+ "4:0": 133,
+ "15:13": 184,
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": 186,
+ "1:11": true,
+ "1:5": true,
+ "0:13": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": [
+ 150,
+ 190
+ ],
+ "12:8": true,
+ "14:11": 188,
+ "13:2": true,
+ "3:12": 182,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "0:12": true,
+ "15:11": [
+ 132,
+ 188
+ ],
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "13:4": true,
+ "12:7": true,
+ "2:11": true,
+ "15:4": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "2:2": true,
+ "15:3": 192,
+ "14:4": true,
+ "2:4": true,
+ "14:2": 192,
+ "13:11": true,
+ "15:2": 192,
+ "3:1": 158,
+ "13:5": true,
+ "2:3": [
+ 174,
+ 183
+ ],
+ "15:0": 192,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": true,
+ "14:0": [
+ 152,
+ 191
+ ],
+ "1:2": true,
+ "2:6": true,
+ "15:9": 190,
+ "12:11": true,
+ "11:5": true,
+ "2:7": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": [
+ 174,
+ 175
+ ],
+ "7:15": [
+ 155,
+ 157
+ ],
+ "14:9": 191,
+ "11:11": true,
+ "10:12": true,
+ "2:9": true,
+ "9:12": [
+ 154,
+ 182
+ ],
+ "13:10": true,
+ "10:15": [
+ 174,
+ 176
+ ],
+ "7:14": true,
+ "7:13": true,
+ "2:8": true,
+ "15:8": 190,
+ "10:13": true,
+ "6:12": 160,
+ "1:7": true,
+ "14:8": 191,
+ "9:13": [
+ 153,
+ 181
+ ],
+ "11:0": [
+ 141,
+ 188
+ ],
+ "12:6": true,
+ "8:13": true,
+ "1:10": true,
+ "13:8": true,
+ "12:0": [
+ 147,
+ 149
+ ],
+ "6:1": [
+ 132,
+ 133
+ ],
+ "11:6": true,
+ "11:4": true,
+ "8:12": true,
+ "12:3": true,
+ "15:10": 189,
+ "14:10": [
+ 132,
+ 189
+ ],
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": 154,
+ "12:2": true,
+ "2:10": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": true,
+ "12:1": [
+ 149,
+ 151
+ ],
+ "10:4": 184,
+ "6:6": true,
+ "11:1": [
+ 144,
+ 189
+ ],
+ "3:10": [
+ 181,
+ 183
+ ],
+ "8:11": true,
+ "9:6": true,
+ "10:6": true,
+ "7:6": true,
+ "3:8": [
+ 180,
+ 182
+ ],
+ "0:8": true,
+ "6:11": true,
+ "11:13": [
+ 172,
+ 185
+ ],
+ "12:13": 185,
+ "12:14": 185,
+ "10:5": true,
+ "9:11": [
+ 155,
+ 182
+ ],
+ "3:7": [
+ 179,
+ 180
+ ],
+ "10:11": true,
+ "11:14": [
+ 171,
+ 172
+ ],
+ "0:7": true,
+ "12:15": 184,
+ "11:12": true,
+ "3:9": [
+ 181,
+ 183
+ ],
+ "12:12": true,
+ "0:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-1.json
index d4457364..1935090e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-1.json
@@ -1 +1,27 @@
-{"15:4":true,"15:9":true,"2:12":true,"7:12":true,"15:3":true,"6:11":true,"10:12":true,"15:12":true,"13:11":true,"15:2":true,"14:12":true,"14:7":true,"9:12":true,"4:12":true,"14:6":true,"8:12":true,"3:12":true,"15:10":true,"5:11":true,"0:12":true,"15:11":true,"15:8":true,"11:12":true,"1:12":true,"14:8":true} \ No newline at end of file
+{
+ "15:4": true,
+ "15:9": true,
+ "2:12": true,
+ "7:12": true,
+ "15:3": true,
+ "6:11": true,
+ "10:12": true,
+ "15:12": true,
+ "13:11": true,
+ "15:2": true,
+ "14:12": true,
+ "14:7": true,
+ "9:12": true,
+ "4:12": true,
+ "14:6": true,
+ "8:12": true,
+ "3:12": true,
+ "15:10": true,
+ "5:11": true,
+ "0:12": true,
+ "15:11": true,
+ "15:8": true,
+ "11:12": true,
+ "1:12": true,
+ "14:8": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-10.json
index b6c9743e..cac50614 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-10.json
@@ -1 +1,5 @@
-{"5:12":true,"4:12":true,"3:11":true} \ No newline at end of file
+{
+ "5:12": true,
+ "4:12": true,
+ "3:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-3.json
index 5b792a9b..2bff09f0 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-3.json
@@ -1 +1,30 @@
-{"15:4":true,"14:3":203,"4:14":true,"4:3":true,"12:5":true,"5:14":true,"2:15":true,"7:15":true,"4:9":true,"14:4":true,"4:4":true,"5:12":true,"6:13":true,"4:15":true,"4:2":true,"5:15":true,"5:10":true,"0:15":true,"5:11":true,"3:15":true,"6:14":true,"5:13":true,"1:15":true,"0:14":true,"6:12":true,"13:4":true,"3:14":true,"6:15":true} \ No newline at end of file
+{
+ "15:4": true,
+ "14:3": 203,
+ "4:14": true,
+ "4:3": true,
+ "12:5": true,
+ "5:14": true,
+ "2:15": true,
+ "7:15": true,
+ "4:9": true,
+ "14:4": true,
+ "4:4": true,
+ "5:12": true,
+ "6:13": true,
+ "4:15": true,
+ "4:2": true,
+ "5:15": true,
+ "5:10": true,
+ "0:15": true,
+ "5:11": true,
+ "3:15": true,
+ "6:14": true,
+ "5:13": true,
+ "1:15": true,
+ "0:14": true,
+ "6:12": true,
+ "13:4": true,
+ "3:14": true,
+ "6:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-4.json
index 2cee3332..29e72fe4 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-4.json
@@ -1 +1,19 @@
-{"5:9":true,"4:9":true,"2:9":true,"4:7":true,"0:10":true,"4:11":true,"10:0":182,"5:11":true,"7:0":true,"5:8":true,"4:8":true,"3:8":true,"6:9":true,"5:10":true,"4:10":true,"3:9":true,"7:1":true} \ No newline at end of file
+{
+ "5:9": true,
+ "4:9": true,
+ "2:9": true,
+ "4:7": true,
+ "0:10": true,
+ "4:11": true,
+ "10:0": 182,
+ "5:11": true,
+ "7:0": true,
+ "5:8": true,
+ "4:8": true,
+ "3:8": true,
+ "6:9": true,
+ "5:10": true,
+ "4:10": true,
+ "3:9": true,
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-5.json
index 09062bf7..0cf9c03f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-5.json
@@ -1 +1,34 @@
-{"11:5":true,"10:4":true,"10:3":[185,186],"10:14":true,"6:6":187,"10:12":true,"3:0":true,"10:15":true,"10:2":[183,185],"5:5":186,"10:6":true,"10:13":true,"4:3":true,"6:5":187,"5:3":181,"9:7":true,"11:4":true,"10:5":[186,187],"11:3":[183,184],"6:7":187} \ No newline at end of file
+{
+ "11:5": true,
+ "10:4": true,
+ "10:3": [
+ 185,
+ 186
+ ],
+ "10:14": true,
+ "6:6": 187,
+ "10:12": true,
+ "3:0": true,
+ "10:15": true,
+ "10:2": [
+ 183,
+ 185
+ ],
+ "5:5": 186,
+ "10:6": true,
+ "10:13": true,
+ "4:3": true,
+ "6:5": 187,
+ "5:3": 181,
+ "9:7": true,
+ "11:4": true,
+ "10:5": [
+ 186,
+ 187
+ ],
+ "11:3": [
+ 183,
+ 184
+ ],
+ "6:7": 187
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-6.json
index eb9d426f..cab1d428 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_-6.json
@@ -1 +1,58 @@
-{"12:11":true,"1:1":[188,189],"7:12":true,"6:13":true,"2:9":true,"0:6":true,"13:10":true,"7:14":true,"1:8":true,"0:2":true,"7:13":true,"2:8":true,"5:11":true,"6:14":true,"1:9":true,"0:3":true,"6:12":true,"0:4":true,"2:1":[187,188],"8:13":true,"10:7":214,"0:5":true,"8:14":188,"1:5":true,"9:4":217,"3:10":true,"4:1":185,"3:12":true,"5:14":true,"2:2":[189,190],"0:8":true,"6:11":true,"5:12":true,"13:11":true,"0:1":true,"3:1":[185,186],"5:15":true,"1:3":true,"4:10":true,"1:4":true,"0:7":true,"5:13":true,"1:2":true,"7:11":true} \ No newline at end of file
+{
+ "12:11": true,
+ "1:1": [
+ 188,
+ 189
+ ],
+ "7:12": true,
+ "6:13": true,
+ "2:9": true,
+ "0:6": true,
+ "13:10": true,
+ "7:14": true,
+ "1:8": true,
+ "0:2": true,
+ "7:13": true,
+ "2:8": true,
+ "5:11": true,
+ "6:14": true,
+ "1:9": true,
+ "0:3": true,
+ "6:12": true,
+ "0:4": true,
+ "2:1": [
+ 187,
+ 188
+ ],
+ "8:13": true,
+ "10:7": 214,
+ "0:5": true,
+ "8:14": 188,
+ "1:5": true,
+ "9:4": 217,
+ "3:10": true,
+ "4:1": 185,
+ "3:12": true,
+ "5:14": true,
+ "2:2": [
+ 189,
+ 190
+ ],
+ "0:8": true,
+ "6:11": true,
+ "5:12": true,
+ "13:11": true,
+ "0:1": true,
+ "3:1": [
+ 185,
+ 186
+ ],
+ "5:15": true,
+ "1:3": true,
+ "4:10": true,
+ "1:4": true,
+ "0:7": true,
+ "5:13": true,
+ "1:2": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_0.json
index 0d735233..1ac48101 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_0.json
@@ -1 +1,55 @@
-{"7:12":true,"3:0":true,"0:0":[198,202],"8:7":146,"11:0":true,"2:12":true,"7:7":[146,147],"12:0":true,"6:1":true,"3:5":[151,153],"15:12":222,"13:1":205,"0:11":true,"5:0":true,"5:6":[149,150],"4:0":true,"1:12":225,"6:0":true,"12:1":true,"1:11":true,"0:13":224,"6:6":149,"13:0":true,"8:11":true,"0:10":true,"10:0":true,"5:1":true,"9:0":true,"7:0":true,"2:11":true,"1:0":true,"8:0":true,"15:0":[198,202],"14:0":[198,202],"2:0":true} \ No newline at end of file
+{
+ "7:12": true,
+ "3:0": true,
+ "0:0": [
+ 198,
+ 202
+ ],
+ "8:7": 146,
+ "11:0": true,
+ "2:12": true,
+ "7:7": [
+ 146,
+ 147
+ ],
+ "12:0": true,
+ "6:1": true,
+ "3:5": [
+ 151,
+ 153
+ ],
+ "15:12": 222,
+ "13:1": 205,
+ "0:11": true,
+ "5:0": true,
+ "5:6": [
+ 149,
+ 150
+ ],
+ "4:0": true,
+ "1:12": 225,
+ "6:0": true,
+ "12:1": true,
+ "1:11": true,
+ "0:13": 224,
+ "6:6": 149,
+ "13:0": true,
+ "8:11": true,
+ "0:10": true,
+ "10:0": true,
+ "5:1": true,
+ "9:0": true,
+ "7:0": true,
+ "2:11": true,
+ "1:0": true,
+ "8:0": true,
+ "15:0": [
+ 198,
+ 202
+ ],
+ "14:0": [
+ 198,
+ 202
+ ],
+ "2:0": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_11.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_11.json
index 051878c9..07a9fcf6 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_11.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_11.json
@@ -1 +1,47 @@
-{"11:0":152,"12:11":true,"9:3":true,"9:14":true,"6:0":152,"1:1":true,"1:11":true,"1:10":true,"9:9":true,"1:0":true,"11:11":true,"9:4":true,"3:0":153,"13:11":true,"9:15":true,"9:2":true,"0:1":true,"0:0":true,"9:7":true,"9:12":true,"3:1":152,"14:11":true,"9:1":true,"9:6":true,"4:1":152,"1:3":true,"0:2":true,"5:0":153,"10:11":true,"9:5":true,"9:10":true,"5:1":true,"15:11":true,"9:0":true,"4:0":153,"2:0":true,"0:3":true,"1:12":true,"0:4":true,"9:8":true,"9:13":true,"2:1":[150,152]} \ No newline at end of file
+{
+ "11:0": 152,
+ "12:11": true,
+ "9:3": true,
+ "9:14": true,
+ "6:0": 152,
+ "1:1": true,
+ "1:11": true,
+ "1:10": true,
+ "9:9": true,
+ "1:0": true,
+ "11:11": true,
+ "9:4": true,
+ "3:0": 153,
+ "13:11": true,
+ "9:15": true,
+ "9:2": true,
+ "0:1": true,
+ "0:0": true,
+ "9:7": true,
+ "9:12": true,
+ "3:1": 152,
+ "14:11": true,
+ "9:1": true,
+ "9:6": true,
+ "4:1": 152,
+ "1:3": true,
+ "0:2": true,
+ "5:0": 153,
+ "10:11": true,
+ "9:5": true,
+ "9:10": true,
+ "5:1": true,
+ "15:11": true,
+ "9:0": true,
+ "4:0": 153,
+ "2:0": true,
+ "0:3": true,
+ "1:12": true,
+ "0:4": true,
+ "9:8": true,
+ "9:13": true,
+ "2:1": [
+ 150,
+ 152
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_3.json
index dfd5cdf8..8cde17ab 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_3.json
@@ -1 +1,22 @@
-{"7:12":true,"7:2":true,"7:15":true,"7:4":true,"7:3":true,"7:14":true,"14:1":true,"7:13":true,"2:5":true,"6:12":true,"4:14":true,"6:1":true,"5:12":true,"3:5":true,"14:2":true,"4:15":true,"4:12":true,"8:2":true,"7:1":true,"4:13":true} \ No newline at end of file
+{
+ "7:12": true,
+ "7:2": true,
+ "7:15": true,
+ "7:4": true,
+ "7:3": true,
+ "7:14": true,
+ "14:1": true,
+ "7:13": true,
+ "2:5": true,
+ "6:12": true,
+ "4:14": true,
+ "6:1": true,
+ "5:12": true,
+ "3:5": true,
+ "14:2": true,
+ "4:15": true,
+ "4:12": true,
+ "8:2": true,
+ "7:1": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_4.json
index f6207f88..e99a3f13 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_4.json
@@ -1 +1,52 @@
-{"6:0":true,"0:6":true,"4:1":true,"0:2":true,"5:1":true,"7:0":true,"0:3":true,"7:10":[167,168],"6:12":172,"0:4":true,"6:15":[173,174],"0:8":true,"9:9":[166,167],"6:11":[166,170],"6:1":true,"10:7":167,"8:10":[164,167],"5:15":[174,176],"0:5":true,"5:0":true,"0:7":true,"4:0":true,"10:8":[166,167],"0:9":true,"7:11":[165,166],"7:1":true} \ No newline at end of file
+{
+ "6:0": true,
+ "0:6": true,
+ "4:1": true,
+ "0:2": true,
+ "5:1": true,
+ "7:0": true,
+ "0:3": true,
+ "7:10": [
+ 167,
+ 168
+ ],
+ "6:12": 172,
+ "0:4": true,
+ "6:15": [
+ 173,
+ 174
+ ],
+ "0:8": true,
+ "9:9": [
+ 166,
+ 167
+ ],
+ "6:11": [
+ 166,
+ 170
+ ],
+ "6:1": true,
+ "10:7": 167,
+ "8:10": [
+ 164,
+ 167
+ ],
+ "5:15": [
+ 174,
+ 176
+ ],
+ "0:5": true,
+ "5:0": true,
+ "0:7": true,
+ "4:0": true,
+ "10:8": [
+ 166,
+ 167
+ ],
+ "0:9": true,
+ "7:11": [
+ 165,
+ 166
+ ],
+ "7:1": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_5.json
index ded0da87..2703053d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_5.json
@@ -1 +1,19 @@
-{"5:11":true,"4:10":true,"7:15":[138,171],"8:15":[140,171],"6:14":true,"5:12":true,"6:13":true,"5:13":true,"6:12":true,"6:15":true,"7:14":171} \ No newline at end of file
+{
+ "5:11": true,
+ "4:10": true,
+ "7:15": [
+ 138,
+ 171
+ ],
+ "8:15": [
+ 140,
+ 171
+ ],
+ "6:14": true,
+ "5:12": true,
+ "6:13": true,
+ "5:13": true,
+ "6:12": true,
+ "6:15": true,
+ "7:14": 171
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_6.json
index e283ddec..02d5d9bb 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_6.json
@@ -1 +1,79 @@
-{"8:8":true,"7:12":true,"10:14":true,"7:15":true,"10:12":true,"9:15":true,"0:6":true,"9:12":true,"8:1":181,"13:10":[171,172],"10:15":true,"7:14":true,"4:11":true,"7:13":true,"5:11":true,"0:3":true,"8:9":true,"0:4":true,"6:15":true,"8:13":true,"15:14":170,"9:9":true,"15:12":172,"14:12":171,"9:7":true,"0:5":true,"8:12":true,"7:8":true,"15:13":171,"9:8":true,"7:2":183,"8:5":true,"8:11":true,"0:10":true,"7:3":true,"14:11":[170,171],"9:6":[189,190],"12:9":[170,171],"7:0":170,"7:6":true,"4:14":true,"0:8":true,"6:11":true,"4:15":true,"8:6":true,"4:12":true,"5:15":true,"10:11":196,"9:5":[187,188],"8:2":169,"0:7":true,"12:15":194,"8:4":186,"7:5":true,"11:15":true,"8:3":[183,185],"0:9":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "8:8": true,
+ "7:12": true,
+ "10:14": true,
+ "7:15": true,
+ "10:12": true,
+ "9:15": true,
+ "0:6": true,
+ "9:12": true,
+ "8:1": 181,
+ "13:10": [
+ 171,
+ 172
+ ],
+ "10:15": true,
+ "7:14": true,
+ "4:11": true,
+ "7:13": true,
+ "5:11": true,
+ "0:3": true,
+ "8:9": true,
+ "0:4": true,
+ "6:15": true,
+ "8:13": true,
+ "15:14": 170,
+ "9:9": true,
+ "15:12": 172,
+ "14:12": 171,
+ "9:7": true,
+ "0:5": true,
+ "8:12": true,
+ "7:8": true,
+ "15:13": 171,
+ "9:8": true,
+ "7:2": 183,
+ "8:5": true,
+ "8:11": true,
+ "0:10": true,
+ "7:3": true,
+ "14:11": [
+ 170,
+ 171
+ ],
+ "9:6": [
+ 189,
+ 190
+ ],
+ "12:9": [
+ 170,
+ 171
+ ],
+ "7:0": 170,
+ "7:6": true,
+ "4:14": true,
+ "0:8": true,
+ "6:11": true,
+ "4:15": true,
+ "8:6": true,
+ "4:12": true,
+ "5:15": true,
+ "10:11": 196,
+ "9:5": [
+ 187,
+ 188
+ ],
+ "8:2": 169,
+ "0:7": true,
+ "12:15": 194,
+ "8:4": 186,
+ "7:5": true,
+ "11:15": true,
+ "8:3": [
+ 183,
+ 185
+ ],
+ "0:9": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/3_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/3_7.json
index 208d6c92..beb2731e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/3_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/3_7.json
@@ -1 +1,16 @@
-{"6:0":true,"7:15":true,"12:0":true,"12:13":true,"10:15":true,"12:14":true,"10:0":true,"5:0":true,"10:1":true,"11:14":true,"4:0":true,"7:0":true,"11:2":true,"6:15":true} \ No newline at end of file
+{
+ "6:0": true,
+ "7:15": true,
+ "12:0": true,
+ "12:13": true,
+ "10:15": true,
+ "12:14": true,
+ "10:0": true,
+ "5:0": true,
+ "10:1": true,
+ "11:14": true,
+ "4:0": true,
+ "7:0": true,
+ "11:2": true,
+ "6:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/4_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/4_-1.json
index 24c0a054..57fcf162 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/4_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/4_-1.json
@@ -1 +1,49 @@
-{"1:1":true,"11:11":true,"3:0":true,"4:11":205,"0:2":true,"9:10":225,"3:2":true,"2:1":true,"2:15":true,"8:10":225,"0:11":true,"3:11":205,"2:14":true,"1:13":[164,166],"4:6":true,"1:14":165,"5:0":true,"5:6":true,"4:0":true,"1:12":[198,201],"5:7":true,"8:11":225,"4:7":true,"0:10":true,"4:1":true,"3:15":true,"0:12":[165,202],"5:8":true,"3:14":true,"4:8":true,"2:2":true,"0:1":true,"3:1":true,"9:11":224,"10:11":true,"2:0":true,"1:2":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "11:11": true,
+ "3:0": true,
+ "4:11": 205,
+ "0:2": true,
+ "9:10": 225,
+ "3:2": true,
+ "2:1": true,
+ "2:15": true,
+ "8:10": 225,
+ "0:11": true,
+ "3:11": 205,
+ "2:14": true,
+ "1:13": [
+ 164,
+ 166
+ ],
+ "4:6": true,
+ "1:14": 165,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "1:12": [
+ 198,
+ 201
+ ],
+ "5:7": true,
+ "8:11": 225,
+ "4:7": true,
+ "0:10": true,
+ "4:1": true,
+ "3:15": true,
+ "0:12": [
+ 165,
+ 202
+ ],
+ "5:8": true,
+ "3:14": true,
+ "4:8": true,
+ "2:2": true,
+ "0:1": true,
+ "3:1": true,
+ "9:11": 224,
+ "10:11": true,
+ "2:0": true,
+ "1:2": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/4_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/4_-2.json
index eb8125af..520d0e1f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/4_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/4_-2.json
@@ -1 +1,8 @@
-{"15:7":true,"14:7":true,"3:15":true,"0:4":212,"2:15":true,"12:12":true} \ No newline at end of file
+{
+ "15:7": true,
+ "14:7": true,
+ "3:15": true,
+ "0:4": 212,
+ "2:15": true,
+ "12:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/4_-8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/4_-8.json
index e604dcb9..76bfe654 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/4_-8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/4_-8.json
@@ -1 +1,69 @@
-{"15:9":true,"12:11":true,"13:13":true,"10:14":true,"14:9":true,"11:11":true,"10:12":true,"3:0":226,"14:7":true,"9:12":true,"13:10":true,"13:15":true,"10:10":true,"13:12":true,"15:1":210,"15:8":true,"13:14":true,"10:13":true,"14:8":true,"9:13":true,"14:14":true,"12:6":true,"13:8":true,"15:14":true,"15:12":true,"14:15":true,"15:15":true,"14:12":true,"15:10":true,"14:10":true,"13:7":true,"15:13":true,"13:9":true,"14:13":true,"11:8":true,"13:6":true,"12:8":true,"14:11":true,"11:9":true,"15:5":true,"10:0":221,"14:5":true,"15:11":true,"12:9":true,"13:4":true,"12:7":true,"15:4":true,"14:3":true,"11:10":true,"12:10":true,"15:3":true,"14:4":true,"11:13":true,"14:2":210,"13:11":true,"15:2":211,"13:5":true,"12:13":true,"14:6":true,"12:14":true,"10:11":true,"11:14":true,"15:6":true,"12:15":true,"11:12":true,"12:12":true,"11:15":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "13:13": true,
+ "10:14": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "3:0": 226,
+ "14:7": true,
+ "9:12": true,
+ "13:10": true,
+ "13:15": true,
+ "10:10": true,
+ "13:12": true,
+ "15:1": 210,
+ "15:8": true,
+ "13:14": true,
+ "10:13": true,
+ "14:8": true,
+ "9:13": true,
+ "14:14": true,
+ "12:6": true,
+ "13:8": true,
+ "15:14": true,
+ "15:12": true,
+ "14:15": true,
+ "15:15": true,
+ "14:12": true,
+ "15:10": true,
+ "14:10": true,
+ "13:7": true,
+ "15:13": true,
+ "13:9": true,
+ "14:13": true,
+ "11:8": true,
+ "13:6": true,
+ "12:8": true,
+ "14:11": true,
+ "11:9": true,
+ "15:5": true,
+ "10:0": 221,
+ "14:5": true,
+ "15:11": true,
+ "12:9": true,
+ "13:4": true,
+ "12:7": true,
+ "15:4": true,
+ "14:3": true,
+ "11:10": true,
+ "12:10": true,
+ "15:3": true,
+ "14:4": true,
+ "11:13": true,
+ "14:2": 210,
+ "13:11": true,
+ "15:2": 211,
+ "13:5": true,
+ "12:13": true,
+ "14:6": true,
+ "12:14": true,
+ "10:11": true,
+ "11:14": true,
+ "15:6": true,
+ "12:15": true,
+ "11:12": true,
+ "12:12": true,
+ "11:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/4_-9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/4_-9.json
index a4276076..ded6312e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/4_-9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/4_-9.json
@@ -1 +1,4 @@
-{"0:12":true,"1:12":true} \ No newline at end of file
+{
+ "0:12": true,
+ "1:12": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/4_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/4_0.json
index f9d3a234..2e59477c 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/4_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/4_0.json
@@ -1 +1,129 @@
-{"6:10":[212,214],"13:13":true,"7:15":true,"15:7":true,"3:0":[161,202],"0:0":[198,202],"8:1":true,"7:14":true,"5:5":true,"7:13":true,"13:12":true,"7:10":true,"6:15":true,"11:0":[158,204],"4:3":165,"5:4":true,"12:0":[159,199],"4:2":[164,165],"0:11":202,"15:15":true,"9:1":169,"5:0":[198,202],"10:1":168,"12:4":true,"8:15":true,"4:0":[198,202],"12:2":166,"2:10":203,"11:2":167,"8:14":true,"9:3":169,"6:0":[198,202],"1:11":203,"10:3":168,"7:2":true,"11:1":167,"7:4":true,"9:2":169,"13:0":[160,198],"10:2":168,"7:3":true,"13:2":159,"4:1":205,"6:4":true,"15:5":[159,160],"10:0":[198,204],"14:5":159,"9:0":[198,202],"6:3":true,"7:0":[198,202],"13:3":true,"13:4":true,"6:2":true,"2:11":204,"15:4":[159,161],"14:3":true,"6:5":true,"15:3":[158,160],"1:0":true,"14:4":true,"8:0":[198,202],"14:2":160,"15:2":true,"3:1":[162,205],"13:5":true,"14:6":158,"8:2":true,"15:6":true,"2:0":true,"12:15":true,"7:5":168,"3:9":true,"8:3":true} \ No newline at end of file
+{
+ "6:10": [
+ 212,
+ 214
+ ],
+ "13:13": true,
+ "7:15": true,
+ "15:7": true,
+ "3:0": [
+ 161,
+ 202
+ ],
+ "0:0": [
+ 198,
+ 202
+ ],
+ "8:1": true,
+ "7:14": true,
+ "5:5": true,
+ "7:13": true,
+ "13:12": true,
+ "7:10": true,
+ "6:15": true,
+ "11:0": [
+ 158,
+ 204
+ ],
+ "4:3": 165,
+ "5:4": true,
+ "12:0": [
+ 159,
+ 199
+ ],
+ "4:2": [
+ 164,
+ 165
+ ],
+ "0:11": 202,
+ "15:15": true,
+ "9:1": 169,
+ "5:0": [
+ 198,
+ 202
+ ],
+ "10:1": 168,
+ "12:4": true,
+ "8:15": true,
+ "4:0": [
+ 198,
+ 202
+ ],
+ "12:2": 166,
+ "2:10": 203,
+ "11:2": 167,
+ "8:14": true,
+ "9:3": 169,
+ "6:0": [
+ 198,
+ 202
+ ],
+ "1:11": 203,
+ "10:3": 168,
+ "7:2": true,
+ "11:1": 167,
+ "7:4": true,
+ "9:2": 169,
+ "13:0": [
+ 160,
+ 198
+ ],
+ "10:2": 168,
+ "7:3": true,
+ "13:2": 159,
+ "4:1": 205,
+ "6:4": true,
+ "15:5": [
+ 159,
+ 160
+ ],
+ "10:0": [
+ 198,
+ 204
+ ],
+ "14:5": 159,
+ "9:0": [
+ 198,
+ 202
+ ],
+ "6:3": true,
+ "7:0": [
+ 198,
+ 202
+ ],
+ "13:3": true,
+ "13:4": true,
+ "6:2": true,
+ "2:11": 204,
+ "15:4": [
+ 159,
+ 161
+ ],
+ "14:3": true,
+ "6:5": true,
+ "15:3": [
+ 158,
+ 160
+ ],
+ "1:0": true,
+ "14:4": true,
+ "8:0": [
+ 198,
+ 202
+ ],
+ "14:2": 160,
+ "15:2": true,
+ "3:1": [
+ 162,
+ 205
+ ],
+ "13:5": true,
+ "14:6": 158,
+ "8:2": true,
+ "15:6": true,
+ "2:0": true,
+ "12:15": true,
+ "7:5": 168,
+ "3:9": true,
+ "8:3": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/4_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/4_6.json
index 5dd48953..b283ecd9 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/4_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/4_6.json
@@ -1 +1,61 @@
-{"9:14":true,"8:8":true,"7:12":true,"10:14":true,"7:15":true,"11:11":true,"10:12":true,"6:13":true,"15:7":true,"9:15":true,"9:12":true,"10:15":true,"7:14":true,"13:15":true,"10:10":true,"7:13":true,"9:10":true,"15:1":true,"6:14":true,"10:13":true,"8:9":true,"7:10":true,"6:15":true,"9:13":true,"8:13":true,"10:9":true,"2:15":175,"9:9":true,"8:10":true,"7:9":true,"9:7":true,"8:12":true,"8:15":true,"2:10":150,"1:15":190,"10:8":true,"8:14":true,"8:5":true,"11:8":true,"8:11":true,"12:8":true,"9:6":true,"3:12":158,"11:9":true,"15:5":true,"15:4":true,"11:10":true,"15:3":true,"11:13":true,"15:2":true,"8:6":true,"15:0":true,"9:11":true,"10:11":true,"11:14":true,"15:6":true,"12:15":true,"11:12":true,"11:15":true} \ No newline at end of file
+{
+ "9:14": true,
+ "8:8": true,
+ "7:12": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "15:7": true,
+ "9:15": true,
+ "9:12": true,
+ "10:15": true,
+ "7:14": true,
+ "13:15": true,
+ "10:10": true,
+ "7:13": true,
+ "9:10": true,
+ "15:1": true,
+ "6:14": true,
+ "10:13": true,
+ "8:9": true,
+ "7:10": true,
+ "6:15": true,
+ "9:13": true,
+ "8:13": true,
+ "10:9": true,
+ "2:15": 175,
+ "9:9": true,
+ "8:10": true,
+ "7:9": true,
+ "9:7": true,
+ "8:12": true,
+ "8:15": true,
+ "2:10": 150,
+ "1:15": 190,
+ "10:8": true,
+ "8:14": true,
+ "8:5": true,
+ "11:8": true,
+ "8:11": true,
+ "12:8": true,
+ "9:6": true,
+ "3:12": 158,
+ "11:9": true,
+ "15:5": true,
+ "15:4": true,
+ "11:10": true,
+ "15:3": true,
+ "11:13": true,
+ "15:2": true,
+ "8:6": true,
+ "15:0": true,
+ "9:11": true,
+ "10:11": true,
+ "11:14": true,
+ "15:6": true,
+ "12:15": true,
+ "11:12": true,
+ "11:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/5_-5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/5_-5.json
index 07d74c09..5abb4b54 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/5_-5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/5_-5.json
@@ -1 +1,7 @@
-{"9:12":210,"8:15":[205,206]} \ No newline at end of file
+{
+ "9:12": 210,
+ "8:15": [
+ 205,
+ 206
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/5_-6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/5_-6.json
index 9d96fa2f..81d36f69 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/5_-6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/5_-6.json
@@ -1 +1,8 @@
-{"15:4":217,"15:5":216,"15:3":218,"15:6":true,"15:8":true,"15:7":true} \ No newline at end of file
+{
+ "15:4": 217,
+ "15:5": 216,
+ "15:3": 218,
+ "15:6": true,
+ "15:8": true,
+ "15:7": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/5_-8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/5_-8.json
index 7854cd61..b18293dd 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/5_-8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/5_-8.json
@@ -1 +1,102 @@
-{"1:1":true,"7:12":true,"6:10":true,"7:15":true,"2:9":true,"0:6":true,"3:6":true,"7:14":true,"1:8":true,"5:5":true,"4:11":true,"0:2":212,"7:13":true,"2:8":true,"5:11":true,"4:5":true,"3:2":212,"6:14":true,"1:9":true,"3:4":true,"0:3":true,"7:10":true,"6:12":true,"3:3":212,"0:4":true,"6:15":true,"4:3":212,"8:13":212,"5:4":212,"2:12":true,"5:3":212,"2:15":true,"1:10":true,"4:4":true,"7:9":true,"6:8":true,"3:5":true,"0:11":true,"3:11":true,"2:14":true,"1:13":true,"0:5":true,"8:12":222,"7:8":true,"6:9":true,"4:6":true,"2:13":true,"1:14":true,"5:6":true,"8:15":true,"2:10":true,"1:15":true,"8:14":true,"1:12":true,"1:11":true,"3:13":true,"5:9":true,"1:5":true,"0:13":true,"6:6":true,"4:9":true,"3:10":true,"0:10":true,"3:12":true,"0:15":true,"6:4":212,"3:15":true,"0:12":true,"2:5":true,"0:14":true,"5:8":true,"3:14":true,"4:8":true,"2:11":true,"4:14":true,"1:6":true,"6:5":true,"3:8":true,"5:14":true,"2:2":212,"0:8":true,"6:11":true,"5:12":true,"2:4":true,"4:15":true,"0:1":211,"4:12":true,"5:15":true,"2:3":true,"5:10":true,"1:3":true,"4:10":true,"1:4":true,"5:13":true,"1:2":212,"3:9":true,"0:9":true,"7:11":true,"4:13":true,"2:6":true} \ No newline at end of file
+{
+ "1:1": true,
+ "7:12": true,
+ "6:10": true,
+ "7:15": true,
+ "2:9": true,
+ "0:6": true,
+ "3:6": true,
+ "7:14": true,
+ "1:8": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": 212,
+ "7:13": true,
+ "2:8": true,
+ "5:11": true,
+ "4:5": true,
+ "3:2": 212,
+ "6:14": true,
+ "1:9": true,
+ "3:4": true,
+ "0:3": true,
+ "7:10": true,
+ "6:12": true,
+ "3:3": 212,
+ "0:4": true,
+ "6:15": true,
+ "4:3": 212,
+ "8:13": 212,
+ "5:4": 212,
+ "2:12": true,
+ "5:3": 212,
+ "2:15": true,
+ "1:10": true,
+ "4:4": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "0:11": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "8:12": 222,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "1:14": true,
+ "5:6": true,
+ "8:15": true,
+ "2:10": true,
+ "1:15": true,
+ "8:14": true,
+ "1:12": true,
+ "1:11": true,
+ "3:13": true,
+ "5:9": true,
+ "1:5": true,
+ "0:13": true,
+ "6:6": true,
+ "4:9": true,
+ "3:10": true,
+ "0:10": true,
+ "3:12": true,
+ "0:15": true,
+ "6:4": 212,
+ "3:15": true,
+ "0:12": true,
+ "2:5": true,
+ "0:14": true,
+ "5:8": true,
+ "3:14": true,
+ "4:8": true,
+ "2:11": true,
+ "4:14": true,
+ "1:6": true,
+ "6:5": true,
+ "3:8": true,
+ "5:14": true,
+ "2:2": 212,
+ "0:8": true,
+ "6:11": true,
+ "5:12": true,
+ "2:4": true,
+ "4:15": true,
+ "0:1": 211,
+ "4:12": true,
+ "5:15": true,
+ "2:3": true,
+ "5:10": true,
+ "1:3": true,
+ "4:10": true,
+ "1:4": true,
+ "5:13": true,
+ "1:2": 212,
+ "3:9": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/5_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/5_0.json
index 53a6fea3..cfa532fa 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/5_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/5_0.json
@@ -1 +1,10 @@
-{"1:1":true,"7:3":198,"6:3":[196,197],"13:14":193,"5:3":196} \ No newline at end of file
+{
+ "1:1": true,
+ "7:3": 198,
+ "6:3": [
+ 196,
+ 197
+ ],
+ "13:14": 193,
+ "5:3": 196
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/5_10.json b/src/main/resources/assets/notenoughupdates/dwarven_data/5_10.json
index deaaa360..c87f7fa3 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/5_10.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/5_10.json
@@ -1 +1,161 @@
-{"9:14":true,"1:1":[153,171],"11:5":true,"2:7":true,"7:12":true,"6:10":true,"12:5":true,"10:14":true,"10:12":true,"6:13":true,"2:9":true,"3:0":[168,169],"0:6":true,"0:0":true,"9:12":true,"3:6":[171,227],"7:14":true,"14:1":true,"10:10":true,"5:5":true,"0:2":[151,173],"7:13":true,"9:10":true,"4:5":true,"6:14":true,"1:9":true,"10:13":true,"0:3":true,"8:9":true,"7:10":true,"6:12":true,"1:7":true,"9:13":true,"12:6":true,"8:13":true,"2:12":true,"10:9":true,"1:10":true,"12:0":true,"9:9":true,"11:6":true,"8:10":true,"7:9":true,"3:5":true,"13:1":true,"0:11":true,"3:11":true,"2:14":true,"1:13":true,"0:5":true,"12:3":true,"11:4":true,"8:12":true,"6:9":true,"4:6":[171,227],"2:13":true,"1:14":true,"5:0":[169,170],"5:6":[165,227],"12:4":true,"4:0":[168,170],"12:2":true,"2:10":true,"8:14":true,"1:12":true,"12:1":true,"1:11":true,"10:4":true,"3:13":true,"1:5":true,"0:13":true,"6:6":[164,227],"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"13:6":true,"13:0":true,"8:11":true,"4:7":true,"0:10":true,"7:3":true,"13:2":true,"9:6":true,"3:12":true,"14:5":true,"10:6":true,"0:12":true,"13:3":true,"2:5":[172,201],"0:14":true,"13:4":true,"3:14":true,"7:6":[164,227],"2:11":true,"15:4":true,"1:6":true,"6:5":true,"2:2":true,"6:11":true,"1:0":152,"14:4":true,"14:2":true,"0:1":[152,172],"8:6":true,"13:5":true,"14:6":true,"10:5":true,"3:7":true,"9:11":true,"1:3":true,"10:11":true,"9:5":true,"1:4":true,"14:0":true,"2:0":168,"1:2":172,"7:5":true,"3:9":true,"0:9":true,"7:11":true,"2:6":true} \ No newline at end of file
+{
+ "9:14": true,
+ "1:1": [
+ 153,
+ 171
+ ],
+ "11:5": true,
+ "2:7": true,
+ "7:12": true,
+ "6:10": true,
+ "12:5": true,
+ "10:14": true,
+ "10:12": true,
+ "6:13": true,
+ "2:9": true,
+ "3:0": [
+ 168,
+ 169
+ ],
+ "0:6": true,
+ "0:0": true,
+ "9:12": true,
+ "3:6": [
+ 171,
+ 227
+ ],
+ "7:14": true,
+ "14:1": true,
+ "10:10": true,
+ "5:5": true,
+ "0:2": [
+ 151,
+ 173
+ ],
+ "7:13": true,
+ "9:10": true,
+ "4:5": true,
+ "6:14": true,
+ "1:9": true,
+ "10:13": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "1:7": true,
+ "9:13": true,
+ "12:6": true,
+ "8:13": true,
+ "2:12": true,
+ "10:9": true,
+ "1:10": true,
+ "12:0": true,
+ "9:9": true,
+ "11:6": true,
+ "8:10": true,
+ "7:9": true,
+ "3:5": true,
+ "13:1": true,
+ "0:11": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "12:3": true,
+ "11:4": true,
+ "8:12": true,
+ "6:9": true,
+ "4:6": [
+ 171,
+ 227
+ ],
+ "2:13": true,
+ "1:14": true,
+ "5:0": [
+ 169,
+ 170
+ ],
+ "5:6": [
+ 165,
+ 227
+ ],
+ "12:4": true,
+ "4:0": [
+ 168,
+ 170
+ ],
+ "12:2": true,
+ "2:10": true,
+ "8:14": true,
+ "1:12": true,
+ "12:1": true,
+ "1:11": true,
+ "10:4": true,
+ "3:13": true,
+ "1:5": true,
+ "0:13": true,
+ "6:6": [
+ 164,
+ 227
+ ],
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "13:6": true,
+ "13:0": true,
+ "8:11": true,
+ "4:7": true,
+ "0:10": true,
+ "7:3": true,
+ "13:2": true,
+ "9:6": true,
+ "3:12": true,
+ "14:5": true,
+ "10:6": true,
+ "0:12": true,
+ "13:3": true,
+ "2:5": [
+ 172,
+ 201
+ ],
+ "0:14": true,
+ "13:4": true,
+ "3:14": true,
+ "7:6": [
+ 164,
+ 227
+ ],
+ "2:11": true,
+ "15:4": true,
+ "1:6": true,
+ "6:5": true,
+ "2:2": true,
+ "6:11": true,
+ "1:0": 152,
+ "14:4": true,
+ "14:2": true,
+ "0:1": [
+ 152,
+ 172
+ ],
+ "8:6": true,
+ "13:5": true,
+ "14:6": true,
+ "10:5": true,
+ "3:7": true,
+ "9:11": true,
+ "1:3": true,
+ "10:11": true,
+ "9:5": true,
+ "1:4": true,
+ "14:0": true,
+ "2:0": 168,
+ "1:2": 172,
+ "7:5": true,
+ "3:9": true,
+ "0:9": true,
+ "7:11": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/5_7.json b/src/main/resources/assets/notenoughupdates/dwarven_data/5_7.json
index 85efb804..14670145 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/5_7.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/5_7.json
@@ -1 +1,227 @@
-{"12:11":true,"9:14":true,"1:1":true,"11:5":true,"2:7":[122,123],"7:12":true,"6:10":true,"13:13":true,"12:5":true,"10:14":true,"7:15":true,"14:9":true,"11:11":true,"10:12":true,"2:9":true,"3:0":true,"9:15":true,"0:6":true,"0:0":true,"14:7":true,"9:12":true,"3:6":true,"13:10":true,"10:15":true,"7:14":true,"1:8":[120,173],"14:1":true,"13:15":true,"10:10":true,"4:11":true,"0:2":true,"7:13":true,"2:8":[119,171],"9:10":true,"5:11":[170,171],"4:5":true,"13:12":true,"15:1":true,"1:9":[174,175],"13:14":true,"10:13":true,"3:4":true,"0:3":true,"8:9":true,"7:10":true,"1:7":122,"0:4":true,"14:8":true,"9:13":true,"11:0":true,"14:14":true,"12:6":true,"8:13":true,"10:9":true,"5:3":true,"2:15":[175,177],"1:10":true,"13:8":true,"15:14":true,"9:9":true,"11:6":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"0:11":true,"15:15":true,"14:12":true,"2:14":true,"0:5":true,"12:3":true,"11:4":true,"8:12":true,"7:8":true,"6:9":true,"4:6":true,"2:13":true,"15:10":true,"14:10":true,"10:1":true,"5:6":true,"13:7":true,"12:4":true,"8:15":true,"15:13":true,"12:2":true,"8:14":true,"13:9":true,"7:1":true,"14:13":true,"12:1":true,"1:11":true,"3:13":true,"5:9":126,"1:5":[122,123],"11:1":true,"5:7":true,"11:8":true,"13:6":true,"8:11":true,"4:7":true,"0:10":true,"12:8":true,"14:11":true,"13:2":true,"3:12":true,"11:9":true,"10:0":true,"15:11":true,"12:9":true,"9:0":true,"13:3":true,"11:7":true,"2:5":true,"5:8":true,"13:4":true,"12:7":true,"3:14":176,"6:2":true,"4:8":true,"15:4":true,"14:3":true,"4:14":[172,175],"1:6":[122,123],"11:10":true,"3:8":[118,122],"12:10":true,"5:14":[165,171],"0:8":[174,175],"15:3":true,"6:11":true,"1:0":true,"11:13":true,"5:12":[169,172],"2:4":true,"8:0":true,"14:2":true,"13:11":true,"4:15":[164,174],"0:1":true,"15:2":true,"4:12":true,"13:5":true,"12:13":true,"5:15":true,"15:0":true,"14:6":true,"12:14":true,"9:11":true,"3:7":true,"1:3":true,"4:10":171,"11:14":true,"1:4":true,"0:7":[121,172],"14:0":true,"2:0":true,"12:15":true,"11:12":true,"5:13":[167,173],"3:9":[171,172],"12:12":true,"11:15":true,"0:9":[176,177],"7:11":true,"4:13":174,"2:6":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "1:1": true,
+ "11:5": true,
+ "2:7": [
+ 122,
+ 123
+ ],
+ "7:12": true,
+ "6:10": true,
+ "13:13": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "2:9": true,
+ "3:0": true,
+ "9:15": true,
+ "0:6": true,
+ "0:0": true,
+ "14:7": true,
+ "9:12": true,
+ "3:6": true,
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": [
+ 120,
+ 173
+ ],
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "4:11": true,
+ "0:2": true,
+ "7:13": true,
+ "2:8": [
+ 119,
+ 171
+ ],
+ "9:10": true,
+ "5:11": [
+ 170,
+ 171
+ ],
+ "4:5": true,
+ "13:12": true,
+ "15:1": true,
+ "1:9": [
+ 174,
+ 175
+ ],
+ "13:14": true,
+ "10:13": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "1:7": 122,
+ "0:4": true,
+ "14:8": true,
+ "9:13": true,
+ "11:0": true,
+ "14:14": true,
+ "12:6": true,
+ "8:13": true,
+ "10:9": true,
+ "5:3": true,
+ "2:15": [
+ 175,
+ 177
+ ],
+ "1:10": true,
+ "13:8": true,
+ "15:14": true,
+ "9:9": true,
+ "11:6": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "2:14": true,
+ "0:5": true,
+ "12:3": true,
+ "11:4": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "2:13": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "5:6": true,
+ "13:7": true,
+ "12:4": true,
+ "8:15": true,
+ "15:13": true,
+ "12:2": true,
+ "8:14": true,
+ "13:9": true,
+ "7:1": true,
+ "14:13": true,
+ "12:1": true,
+ "1:11": true,
+ "3:13": true,
+ "5:9": 126,
+ "1:5": [
+ 122,
+ 123
+ ],
+ "11:1": true,
+ "5:7": true,
+ "11:8": true,
+ "13:6": true,
+ "8:11": true,
+ "4:7": true,
+ "0:10": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "3:12": true,
+ "11:9": true,
+ "10:0": true,
+ "15:11": true,
+ "12:9": true,
+ "9:0": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "5:8": true,
+ "13:4": true,
+ "12:7": true,
+ "3:14": 176,
+ "6:2": true,
+ "4:8": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": [
+ 172,
+ 175
+ ],
+ "1:6": [
+ 122,
+ 123
+ ],
+ "11:10": true,
+ "3:8": [
+ 118,
+ 122
+ ],
+ "12:10": true,
+ "5:14": [
+ 165,
+ 171
+ ],
+ "0:8": [
+ 174,
+ 175
+ ],
+ "15:3": true,
+ "6:11": true,
+ "1:0": true,
+ "11:13": true,
+ "5:12": [
+ 169,
+ 172
+ ],
+ "2:4": true,
+ "8:0": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": [
+ 164,
+ 174
+ ],
+ "0:1": true,
+ "15:2": true,
+ "4:12": true,
+ "13:5": true,
+ "12:13": true,
+ "5:15": true,
+ "15:0": true,
+ "14:6": true,
+ "12:14": true,
+ "9:11": true,
+ "3:7": true,
+ "1:3": true,
+ "4:10": 171,
+ "11:14": true,
+ "1:4": true,
+ "0:7": [
+ 121,
+ 172
+ ],
+ "14:0": true,
+ "2:0": true,
+ "12:15": true,
+ "11:12": true,
+ "5:13": [
+ 167,
+ 173
+ ],
+ "3:9": [
+ 171,
+ 172
+ ],
+ "12:12": true,
+ "11:15": true,
+ "0:9": [
+ 176,
+ 177
+ ],
+ "7:11": true,
+ "4:13": 174,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/5_8.json b/src/main/resources/assets/notenoughupdates/dwarven_data/5_8.json
index 0a576965..e6c41903 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/5_8.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/5_8.json
@@ -1 +1,157 @@
-{"15:9":true,"12:11":true,"9:14":true,"8:8":true,"7:12":true,"6:10":true,"13:13":true,"12:5":true,"10:14":true,"7:15":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"9:15":true,"14:7":true,"9:12":true,"8:1":true,"13:10":true,"10:15":true,"7:14":true,"14:1":true,"10:10":true,"8:7":true,"7:13":true,"9:10":true,"5:11":true,"13:12":true,"15:1":true,"6:14":true,"15:8":true,"13:14":true,"10:13":true,"8:9":true,"7:10":true,"6:12":true,"6:15":true,"14:8":true,"9:13":true,"2:1":true,"14:14":true,"12:6":true,"10:9":true,"7:7":true,"2:15":true,"13:8":true,"12:0":true,"9:9":true,"11:6":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"13:1":true,"9:7":true,"12:3":true,"11:4":true,"9:1":true,"7:8":true,"6:9":true,"15:10":true,"14:10":true,"10:1":true,"5:6":true,"13:7":true,"11:3":true,"4:0":[162,169],"12:2":true,"10:8":true,"6:7":true,"11:2":true,"13:9":true,"9:8":true,"14:13":true,"12:1":true,"9:3":true,"10:4":true,"5:9":true,"10:3":true,"6:6":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"11:8":true,"13:6":true,"9:2":true,"13:0":true,"8:11":true,"10:2":true,"12:8":true,"14:11":true,"13:2":true,"9:6":true,"4:1":[160,167],"11:9":true,"15:5":true,"10:0":true,"14:5":true,"10:6":true,"3:15":true,"15:11":true,"12:9":true,"9:0":true,"13:3":true,"11:7":true,"5:8":true,"12:7":true,"7:6":true,"15:4":true,"14:3":true,"11:10":true,"6:5":true,"12:10":true,"15:3":true,"6:11":true,"14:4":true,"11:13":true,"5:12":true,"8:0":true,"4:15":true,"14:2":true,"13:11":true,"15:2":true,"8:6":true,"5:15":true,"13:5":true,"12:13":true,"15:0":true,"14:6":true,"12:14":true,"10:5":true,"9:11":true,"5:10":true,"10:11":true,"9:5":true,"11:14":true,"8:2":true,"15:6":true,"14:0":true,"2:0":true,"12:15":true,"11:12":true,"5:13":true,"7:5":true,"12:12":true,"11:15":true,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "13:13": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "14:1": true,
+ "10:10": true,
+ "8:7": true,
+ "7:13": true,
+ "9:10": true,
+ "5:11": true,
+ "13:12": true,
+ "15:1": true,
+ "6:14": true,
+ "15:8": true,
+ "13:14": true,
+ "10:13": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "6:15": true,
+ "14:8": true,
+ "9:13": true,
+ "2:1": true,
+ "14:14": true,
+ "12:6": true,
+ "10:9": true,
+ "7:7": true,
+ "2:15": true,
+ "13:8": true,
+ "12:0": true,
+ "9:9": true,
+ "11:6": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "13:1": true,
+ "9:7": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "7:8": true,
+ "6:9": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "5:6": true,
+ "13:7": true,
+ "11:3": true,
+ "4:0": [
+ 162,
+ 169
+ ],
+ "12:2": true,
+ "10:8": true,
+ "6:7": true,
+ "11:2": true,
+ "13:9": true,
+ "9:8": true,
+ "14:13": true,
+ "12:1": true,
+ "9:3": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "6:6": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "11:8": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": true,
+ "8:11": true,
+ "10:2": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "9:6": true,
+ "4:1": [
+ 160,
+ 167
+ ],
+ "11:9": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "3:15": true,
+ "15:11": true,
+ "12:9": true,
+ "9:0": true,
+ "13:3": true,
+ "11:7": true,
+ "5:8": true,
+ "12:7": true,
+ "7:6": true,
+ "15:4": true,
+ "14:3": true,
+ "11:10": true,
+ "6:5": true,
+ "12:10": true,
+ "15:3": true,
+ "6:11": true,
+ "14:4": true,
+ "11:13": true,
+ "5:12": true,
+ "8:0": true,
+ "4:15": true,
+ "14:2": true,
+ "13:11": true,
+ "15:2": true,
+ "8:6": true,
+ "5:15": true,
+ "13:5": true,
+ "12:13": true,
+ "15:0": true,
+ "14:6": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "10:11": true,
+ "9:5": true,
+ "11:14": true,
+ "8:2": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": true,
+ "12:15": true,
+ "11:12": true,
+ "5:13": true,
+ "7:5": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/5_9.json b/src/main/resources/assets/notenoughupdates/dwarven_data/5_9.json
index cd6ee4fd..da6f35d7 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/5_9.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/5_9.json
@@ -1 +1,197 @@
-{"12:11":true,"11:5":true,"2:7":true,"8:8":true,"7:12":[156,193],"6:10":true,"13:13":true,"12:5":true,"14:9":true,"10:12":true,"2:9":true,"15:7":true,"0:6":true,"14:7":true,"9:12":true,"3:6":true,"13:10":true,"1:8":true,"14:1":true,"13:15":true,"8:7":true,"5:5":true,"4:11":[154,170],"7:13":[157,193],"2:8":true,"9:10":true,"5:11":[156,158],"4:5":true,"13:12":true,"3:2":true,"15:1":true,"1:9":true,"15:8":true,"13:14":true,"3:4":true,"0:3":true,"8:9":true,"7:10":[154,161],"3:3":true,"1:7":true,"0:4":true,"14:8":true,"11:0":true,"14:14":true,"12:6":true,"4:3":true,"2:12":true,"10:9":true,"7:7":true,"2:15":155,"1:10":true,"13:8":true,"12:0":true,"11:6":true,"4:4":true,"10:7":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"13:1":true,"4:2":true,"0:11":true,"14:12":true,"9:7":true,"3:11":true,"2:14":[151,153],"1:13":true,"0:5":true,"2:13":true,"12:3":true,"11:4":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"10:1":true,"5:6":true,"13:7":true,"12:4":true,"11:3":true,"12:2":true,"2:10":true,"1:15":true,"10:8":true,"6:7":true,"11:2":true,"8:14":true,"1:12":true,"13:9":true,"9:8":true,"12:1":true,"9:3":true,"1:11":true,"5:9":true,"10:3":true,"1:5":true,"0:13":true,"4:9":true,"11:1":true,"5:7":true,"3:10":true,"11:8":true,"7:4":true,"13:6":true,"8:11":193,"4:7":true,"0:10":true,"12:8":true,"13:2":true,"3:12":true,"0:15":true,"11:9":true,"15:5":true,"10:0":true,"14:5":true,"0:12":true,"12:9":true,"13:3":true,"11:7":true,"2:5":true,"0:14":true,"5:8":true,"13:4":true,"12:7":true,"3:14":155,"7:6":true,"4:8":true,"2:11":true,"15:4":true,"14:3":true,"1:6":true,"3:8":true,"12:10":true,"0:8":true,"15:3":true,"14:4":true,"11:13":true,"5:12":157,"2:4":true,"14:2":true,"13:11":true,"15:2":true,"4:12":[155,156],"13:5":true,"12:13":true,"2:3":true,"14:6":true,"12:14":true,"3:7":true,"5:10":[155,160],"1:3":true,"4:10":true,"1:4":true,"0:7":true,"15:6":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"3:9":true,"12:12":true,"8:3":true,"0:9":true,"7:11":[155,160],"4:13":157,"2:6":true} \ No newline at end of file
+{
+ "12:11": true,
+ "11:5": true,
+ "2:7": true,
+ "8:8": true,
+ "7:12": [
+ 156,
+ 193
+ ],
+ "6:10": true,
+ "13:13": true,
+ "12:5": true,
+ "14:9": true,
+ "10:12": true,
+ "2:9": true,
+ "15:7": true,
+ "0:6": true,
+ "14:7": true,
+ "9:12": true,
+ "3:6": true,
+ "13:10": true,
+ "1:8": true,
+ "14:1": true,
+ "13:15": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": [
+ 154,
+ 170
+ ],
+ "7:13": [
+ 157,
+ 193
+ ],
+ "2:8": true,
+ "9:10": true,
+ "5:11": [
+ 156,
+ 158
+ ],
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "1:9": true,
+ "15:8": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": [
+ 154,
+ 161
+ ],
+ "3:3": true,
+ "1:7": true,
+ "0:4": true,
+ "14:8": true,
+ "11:0": true,
+ "14:14": true,
+ "12:6": true,
+ "4:3": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "2:15": 155,
+ "1:10": true,
+ "13:8": true,
+ "12:0": true,
+ "11:6": true,
+ "4:4": true,
+ "10:7": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "2:14": [
+ 151,
+ 153
+ ],
+ "1:13": true,
+ "0:5": true,
+ "2:13": true,
+ "12:3": true,
+ "11:4": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "10:1": true,
+ "5:6": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "12:2": true,
+ "2:10": true,
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "11:2": true,
+ "8:14": true,
+ "1:12": true,
+ "13:9": true,
+ "9:8": true,
+ "12:1": true,
+ "9:3": true,
+ "1:11": true,
+ "5:9": true,
+ "10:3": true,
+ "1:5": true,
+ "0:13": true,
+ "4:9": true,
+ "11:1": true,
+ "5:7": true,
+ "3:10": true,
+ "11:8": true,
+ "7:4": true,
+ "13:6": true,
+ "8:11": 193,
+ "4:7": true,
+ "0:10": true,
+ "12:8": true,
+ "13:2": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "0:12": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": true,
+ "5:8": true,
+ "13:4": true,
+ "12:7": true,
+ "3:14": 155,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "1:6": true,
+ "3:8": true,
+ "12:10": true,
+ "0:8": true,
+ "15:3": true,
+ "14:4": true,
+ "11:13": true,
+ "5:12": 157,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "15:2": true,
+ "4:12": [
+ 155,
+ 156
+ ],
+ "13:5": true,
+ "12:13": true,
+ "2:3": true,
+ "14:6": true,
+ "12:14": true,
+ "3:7": true,
+ "5:10": [
+ 155,
+ 160
+ ],
+ "1:3": true,
+ "4:10": true,
+ "1:4": true,
+ "0:7": true,
+ "15:6": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "3:9": true,
+ "12:12": true,
+ "8:3": true,
+ "0:9": true,
+ "7:11": [
+ 155,
+ 160
+ ],
+ "4:13": 157,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/6_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/6_-3.json
index ea179d82..9afd8d50 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/6_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/6_-3.json
@@ -1 +1,12 @@
-{"10:14":[203,205],"13:15":true,"14:15":204,"12:14":222,"12:15":true,"5:13":208,"4:13":208} \ No newline at end of file
+{
+ "10:14": [
+ 203,
+ 205
+ ],
+ "13:15": true,
+ "14:15": 204,
+ "12:14": 222,
+ "12:15": true,
+ "5:13": 208,
+ "4:13": 208
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/6_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/6_0.json
index 57d53e17..138ea888 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/6_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/6_0.json
@@ -1 +1,65 @@
-{"9:14":true,"7:12":true,"13:13":true,"10:14":true,"7:15":true,"11:11":true,"10:12":true,"6:13":true,"13:6":true,"9:15":true,"9:12":true,"8:11":true,"13:10":true,"10:15":true,"7:14":true,"13:15":true,"10:10":true,"11:9":true,"7:13":true,"10:6":true,"13:12":true,"6:14":true,"13:14":true,"11:7":true,"10:13":true,"6:12":true,"6:15":true,"9:13":true,"14:14":true,"4:14":[188,224],"8:13":true,"10:9":true,"13:8":true,"15:14":true,"6:11":true,"11:13":true,"10:7":true,"14:15":true,"13:11":true,"4:15":true,"15:15":true,"10:5":[212,213],"9:11":true,"8:12":true,"9:5":true,"13:7":true,"11:14":true,"8:15":true,"11:12":true,"11:15":true,"8:14":true,"13:9":true,"7:11":true,"4:13":[188,223]} \ No newline at end of file
+{
+ "9:14": true,
+ "7:12": true,
+ "13:13": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "13:6": true,
+ "9:15": true,
+ "9:12": true,
+ "8:11": true,
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "13:15": true,
+ "10:10": true,
+ "11:9": true,
+ "7:13": true,
+ "10:6": true,
+ "13:12": true,
+ "6:14": true,
+ "13:14": true,
+ "11:7": true,
+ "10:13": true,
+ "6:12": true,
+ "6:15": true,
+ "9:13": true,
+ "14:14": true,
+ "4:14": [
+ 188,
+ 224
+ ],
+ "8:13": true,
+ "10:9": true,
+ "13:8": true,
+ "15:14": true,
+ "6:11": true,
+ "11:13": true,
+ "10:7": true,
+ "14:15": true,
+ "13:11": true,
+ "4:15": true,
+ "15:15": true,
+ "10:5": [
+ 212,
+ 213
+ ],
+ "9:11": true,
+ "8:12": true,
+ "9:5": true,
+ "13:7": true,
+ "11:14": true,
+ "8:15": true,
+ "11:12": true,
+ "11:15": true,
+ "8:14": true,
+ "13:9": true,
+ "7:11": true,
+ "4:13": [
+ 188,
+ 223
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/6_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/6_1.json
index 106e74e5..66594b9d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/6_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/6_1.json
@@ -1 +1,233 @@
-{"12:11":171,"9:14":true,"11:5":true,"8:8":true,"7:12":true,"6:10":true,"13:13":[182,186],"10:14":236,"7:15":true,"11:11":[172,237],"10:12":true,"6:13":true,"9:15":235,"0:6":true,"9:12":true,"8:1":true,"13:10":[170,186],"10:15":235,"7:14":true,"14:1":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"0:2":[187,221],"7:13":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"15:1":true,"6:14":true,"13:14":true,"10:13":[172,236],"0:3":[187,222],"8:9":true,"7:10":true,"6:12":true,"0:4":[189,222],"6:15":true,"9:13":true,"11:0":true,"14:14":true,"4:3":true,"8:13":true,"10:9":true,"7:7":true,"13:8":[182,186],"15:14":true,"9:9":true,"6:1":true,"11:6":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"15:12":true,"14:15":true,"13:1":true,"4:2":true,"0:11":true,"15:15":true,"14:12":true,"9:7":true,"0:5":[192,226],"11:4":true,"9:1":true,"8:12":true,"7:8":true,"6:9":true,"4:6":true,"15:10":true,"14:10":true,"10:1":true,"13:7":true,"11:3":true,"8:15":true,"4:0":true,"15:13":true,"10:8":true,"6:7":true,"11:2":true,"8:14":true,"13:9":[182,186],"9:8":true,"7:1":true,"14:13":true,"9:3":true,"6:0":true,"1:11":true,"10:4":true,"10:3":true,"1:5":true,"0:13":true,"7:2":true,"6:6":true,"4:9":true,"11:1":true,"9:4":true,"8:5":true,"11:8":true,"7:4":true,"13:6":true,"9:2":true,"13:0":true,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"12:8":true,"7:3":true,"14:11":true,"13:2":true,"9:6":true,"4:1":true,"0:15":[187,221],"11:9":true,"6:4":true,"15:5":true,"10:0":true,"14:5":true,"10:6":true,"0:12":true,"15:11":true,"12:9":true,"9:0":true,"6:3":true,"7:0":true,"13:3":true,"11:7":true,"2:5":true,"0:14":[187,221],"13:4":true,"6:2":true,"7:6":true,"4:8":true,"2:11":true,"15:4":true,"14:3":true,"4:14":true,"11:10":true,"6:5":true,"12:10":[171,172],"0:8":true,"15:3":true,"6:11":true,"14:4":true,"11:13":true,"8:0":true,"14:2":true,"13:11":true,"4:15":true,"0:1":[187,221],"15:2":true,"8:6":true,"4:12":true,"13:5":true,"12:13":true,"15:0":true,"14:6":true,"12:14":true,"10:5":true,"9:11":true,"10:11":true,"9:5":true,"4:10":true,"11:14":[236,251],"8:2":true,"0:7":true,"15:6":true,"14:0":true,"12:15":true,"11:12":[171,251],"8:4":true,"7:5":true,"12:12":true,"11:15":true,"8:3":true,"0:9":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "12:11": 171,
+ "9:14": true,
+ "11:5": true,
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "13:13": [
+ 182,
+ 186
+ ],
+ "10:14": 236,
+ "7:15": true,
+ "11:11": [
+ 172,
+ 237
+ ],
+ "10:12": true,
+ "6:13": true,
+ "9:15": 235,
+ "0:6": true,
+ "9:12": true,
+ "8:1": true,
+ "13:10": [
+ 170,
+ 186
+ ],
+ "10:15": 235,
+ "7:14": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": [
+ 187,
+ 221
+ ],
+ "7:13": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "15:1": true,
+ "6:14": true,
+ "13:14": true,
+ "10:13": [
+ 172,
+ 236
+ ],
+ "0:3": [
+ 187,
+ 222
+ ],
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "0:4": [
+ 189,
+ 222
+ ],
+ "6:15": true,
+ "9:13": true,
+ "11:0": true,
+ "14:14": true,
+ "4:3": true,
+ "8:13": true,
+ "10:9": true,
+ "7:7": true,
+ "13:8": [
+ 182,
+ 186
+ ],
+ "15:14": true,
+ "9:9": true,
+ "6:1": true,
+ "11:6": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "0:5": [
+ 192,
+ 226
+ ],
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "13:7": true,
+ "11:3": true,
+ "8:15": true,
+ "4:0": true,
+ "15:13": true,
+ "10:8": true,
+ "6:7": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": [
+ 182,
+ 186
+ ],
+ "9:8": true,
+ "7:1": true,
+ "14:13": true,
+ "9:3": true,
+ "6:0": true,
+ "1:11": true,
+ "10:4": true,
+ "10:3": true,
+ "1:5": true,
+ "0:13": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "11:8": true,
+ "7:4": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "12:8": true,
+ "7:3": true,
+ "14:11": true,
+ "13:2": true,
+ "9:6": true,
+ "4:1": true,
+ "0:15": [
+ 187,
+ 221
+ ],
+ "11:9": true,
+ "6:4": true,
+ "15:5": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "0:12": true,
+ "15:11": true,
+ "12:9": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "0:14": [
+ 187,
+ 221
+ ],
+ "13:4": true,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "11:10": true,
+ "6:5": true,
+ "12:10": [
+ 171,
+ 172
+ ],
+ "0:8": true,
+ "15:3": true,
+ "6:11": true,
+ "14:4": true,
+ "11:13": true,
+ "8:0": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": true,
+ "0:1": [
+ 187,
+ 221
+ ],
+ "15:2": true,
+ "8:6": true,
+ "4:12": true,
+ "13:5": true,
+ "12:13": true,
+ "15:0": true,
+ "14:6": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": [
+ 236,
+ 251
+ ],
+ "8:2": true,
+ "0:7": true,
+ "15:6": true,
+ "14:0": true,
+ "12:15": true,
+ "11:12": [
+ 171,
+ 251
+ ],
+ "8:4": true,
+ "7:5": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/6_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/6_2.json
index 0c4de502..17a53bab 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/6_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/6_2.json
@@ -1 +1,184 @@
-{"12:11":true,"9:14":[168,232],"11:5":true,"7:12":true,"13:13":true,"12:5":true,"10:14":[168,232],"7:15":233,"11:11":true,"10:12":true,"6:13":true,"9:15":233,"0:0":[149,155],"9:12":true,"8:1":233,"13:10":true,"10:15":[168,233],"7:14":232,"14:1":true,"13:15":true,"10:10":true,"7:13":true,"9:10":true,"13:12":true,"15:1":true,"6:14":true,"13:14":true,"10:13":[165,231],"8:9":true,"7:10":true,"6:12":true,"6:15":true,"9:13":[169,231],"11:0":[234,252],"14:14":true,"12:6":true,"4:3":true,"8:13":[169,231],"5:4":true,"10:9":true,"13:8":true,"15:14":254,"12:0":true,"9:9":true,"6:1":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"14:15":true,"13:1":true,"4:2":true,"15:15":true,"12:3":true,"11:4":true,"9:1":233,"8:12":true,"6:9":true,"10:1":[159,233],"13:7":true,"12:4":true,"11:3":true,"8:15":true,"4:0":true,"12:2":true,"10:8":true,"11:2":true,"8:14":232,"13:9":true,"9:8":true,"7:1":true,"12:1":true,"9:3":231,"6:0":true,"10:4":true,"10:3":true,"7:2":true,"11:1":true,"9:4":true,"8:5":[189,190],"7:4":true,"13:6":true,"9:2":232,"13:0":true,"8:11":true,"10:2":232,"12:8":true,"7:3":231,"13:2":true,"9:6":true,"4:1":true,"11:9":true,"6:4":true,"10:0":[234,240],"10:6":true,"12:9":true,"9:0":[234,240],"6:3":true,"7:0":true,"13:3":true,"11:7":true,"13:4":true,"12:7":true,"6:2":true,"14:3":true,"4:14":[188,224],"6:5":true,"12:10":true,"6:11":true,"14:4":true,"11:13":true,"8:0":true,"14:2":true,"13:11":true,"4:15":true,"15:2":true,"13:5":true,"15:0":true,"10:5":true,"9:11":true,"5:10":true,"10:11":true,"9:5":189,"11:14":true,"8:2":[158,232],"1:4":true,"14:0":true,"11:12":true,"8:4":[228,230],"7:5":true,"11:15":true,"8:3":231,"7:11":true,"4:13":[188,223]} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": [
+ 168,
+ 232
+ ],
+ "11:5": true,
+ "7:12": true,
+ "13:13": true,
+ "12:5": true,
+ "10:14": [
+ 168,
+ 232
+ ],
+ "7:15": 233,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "9:15": 233,
+ "0:0": [
+ 149,
+ 155
+ ],
+ "9:12": true,
+ "8:1": 233,
+ "13:10": true,
+ "10:15": [
+ 168,
+ 233
+ ],
+ "7:14": 232,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "7:13": true,
+ "9:10": true,
+ "13:12": true,
+ "15:1": true,
+ "6:14": true,
+ "13:14": true,
+ "10:13": [
+ 165,
+ 231
+ ],
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "6:15": true,
+ "9:13": [
+ 169,
+ 231
+ ],
+ "11:0": [
+ 234,
+ 252
+ ],
+ "14:14": true,
+ "12:6": true,
+ "4:3": true,
+ "8:13": [
+ 169,
+ 231
+ ],
+ "5:4": true,
+ "10:9": true,
+ "13:8": true,
+ "15:14": 254,
+ "12:0": true,
+ "9:9": true,
+ "6:1": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "15:15": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": 233,
+ "8:12": true,
+ "6:9": true,
+ "10:1": [
+ 159,
+ 233
+ ],
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "4:0": true,
+ "12:2": true,
+ "10:8": true,
+ "11:2": true,
+ "8:14": 232,
+ "13:9": true,
+ "9:8": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": 231,
+ "6:0": true,
+ "10:4": true,
+ "10:3": true,
+ "7:2": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": [
+ 189,
+ 190
+ ],
+ "7:4": true,
+ "13:6": true,
+ "9:2": 232,
+ "13:0": true,
+ "8:11": true,
+ "10:2": 232,
+ "12:8": true,
+ "7:3": 231,
+ "13:2": true,
+ "9:6": true,
+ "4:1": true,
+ "11:9": true,
+ "6:4": true,
+ "10:0": [
+ 234,
+ 240
+ ],
+ "10:6": true,
+ "12:9": true,
+ "9:0": [
+ 234,
+ 240
+ ],
+ "6:3": true,
+ "7:0": true,
+ "13:3": true,
+ "11:7": true,
+ "13:4": true,
+ "12:7": true,
+ "6:2": true,
+ "14:3": true,
+ "4:14": [
+ 188,
+ 224
+ ],
+ "6:5": true,
+ "12:10": true,
+ "6:11": true,
+ "14:4": true,
+ "11:13": true,
+ "8:0": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": true,
+ "15:2": true,
+ "13:5": true,
+ "15:0": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "10:11": true,
+ "9:5": 189,
+ "11:14": true,
+ "8:2": [
+ 158,
+ 232
+ ],
+ "1:4": true,
+ "14:0": true,
+ "11:12": true,
+ "8:4": [
+ 228,
+ 230
+ ],
+ "7:5": true,
+ "11:15": true,
+ "8:3": 231,
+ "7:11": true,
+ "4:13": [
+ 188,
+ 223
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/6_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/6_3.json
index bb5f8edd..c20fc48e 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/6_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/6_3.json
@@ -1 +1,236 @@
-{"15:9":[160,162],"9:14":true,"11:5":[165,237],"8:8":true,"7:12":true,"6:10":true,"13:13":true,"12:5":[164,165],"10:14":true,"7:15":true,"14:9":[161,164],"11:11":true,"10:12":true,"6:13":true,"9:15":true,"0:6":true,"9:12":true,"8:1":[188,235],"13:10":true,"10:15":true,"7:14":true,"14:1":true,"13:15":true,"10:10":true,"8:7":true,"4:11":true,"0:2":true,"7:13":true,"9:10":true,"4:5":true,"13:12":true,"15:1":254,"6:14":true,"13:14":true,"10:13":true,"0:3":true,"8:9":true,"7:10":true,"6:12":true,"0:4":true,"6:15":true,"14:8":[162,163],"9:13":true,"11:0":true,"14:14":true,"12:6":[163,164],"4:3":true,"8:13":true,"10:9":true,"7:7":true,"13:8":[162,186],"15:14":true,"12:0":true,"9:9":true,"6:1":true,"11:6":[164,237],"4:4":true,"10:7":236,"8:10":true,"7:9":true,"6:8":true,"15:12":true,"14:15":true,"13:1":true,"4:2":true,"0:11":true,"15:15":true,"14:12":true,"9:7":true,"0:5":true,"12:3":true,"11:4":[165,251],"9:1":true,"8:12":true,"7:8":true,"6:9":true,"4:6":true,"15:10":[163,254],"14:10":true,"10:1":235,"13:7":[163,186],"12:4":165,"11:3":[165,252],"8:15":true,"4:0":true,"15:13":true,"12:2":true,"10:8":true,"6:7":true,"11:2":true,"8:14":true,"13:9":true,"9:8":true,"7:1":true,"14:13":true,"12:1":true,"9:3":236,"6:0":true,"10:4":[188,236],"10:3":[188,236],"0:13":true,"7:2":true,"6:6":true,"4:9":true,"11:1":true,"9:4":true,"8:5":true,"11:8":true,"7:4":true,"13:6":[165,186],"9:2":236,"13:0":true,"8:11":true,"4:7":true,"10:2":236,"0:10":true,"7:3":true,"14:11":true,"13:2":true,"9:6":true,"4:1":true,"0:15":true,"11:9":true,"6:4":true,"15:5":254,"10:0":[168,234],"14:5":true,"10:6":true,"0:12":true,"15:11":true,"9:0":234,"6:3":true,"7:0":234,"13:3":[167,186],"11:7":true,"0:14":true,"13:4":true,"12:7":162,"6:2":true,"7:6":true,"4:8":true,"15:4":254,"14:3":254,"4:14":true,"11:10":true,"6:5":true,"0:8":true,"15:3":254,"6:11":true,"14:4":254,"11:13":true,"8:0":true,"14:2":254,"13:11":true,"4:15":true,"0:1":true,"15:2":254,"8:6":true,"4:12":true,"13:5":true,"15:0":true,"14:6":true,"10:5":true,"9:11":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":236,"0:7":true,"15:6":true,"14:0":true,"11:12":true,"8:4":true,"7:5":true,"11:15":true,"8:3":true,"0:9":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "15:9": [
+ 160,
+ 162
+ ],
+ "9:14": true,
+ "11:5": [
+ 165,
+ 237
+ ],
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "13:13": true,
+ "12:5": [
+ 164,
+ 165
+ ],
+ "10:14": true,
+ "7:15": true,
+ "14:9": [
+ 161,
+ 164
+ ],
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "9:15": true,
+ "0:6": true,
+ "9:12": true,
+ "8:1": [
+ 188,
+ 235
+ ],
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "4:11": true,
+ "0:2": true,
+ "7:13": true,
+ "9:10": true,
+ "4:5": true,
+ "13:12": true,
+ "15:1": 254,
+ "6:14": true,
+ "13:14": true,
+ "10:13": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "6:12": true,
+ "0:4": true,
+ "6:15": true,
+ "14:8": [
+ 162,
+ 163
+ ],
+ "9:13": true,
+ "11:0": true,
+ "14:14": true,
+ "12:6": [
+ 163,
+ 164
+ ],
+ "4:3": true,
+ "8:13": true,
+ "10:9": true,
+ "7:7": true,
+ "13:8": [
+ 162,
+ 186
+ ],
+ "15:14": true,
+ "12:0": true,
+ "9:9": true,
+ "6:1": true,
+ "11:6": [
+ 164,
+ 237
+ ],
+ "4:4": true,
+ "10:7": 236,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "0:5": true,
+ "12:3": true,
+ "11:4": [
+ 165,
+ 251
+ ],
+ "9:1": true,
+ "8:12": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "15:10": [
+ 163,
+ 254
+ ],
+ "14:10": true,
+ "10:1": 235,
+ "13:7": [
+ 163,
+ 186
+ ],
+ "12:4": 165,
+ "11:3": [
+ 165,
+ 252
+ ],
+ "8:15": true,
+ "4:0": true,
+ "15:13": true,
+ "12:2": true,
+ "10:8": true,
+ "6:7": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": true,
+ "9:8": true,
+ "7:1": true,
+ "14:13": true,
+ "12:1": true,
+ "9:3": 236,
+ "6:0": true,
+ "10:4": [
+ 188,
+ 236
+ ],
+ "10:3": [
+ 188,
+ 236
+ ],
+ "0:13": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "11:8": true,
+ "7:4": true,
+ "13:6": [
+ 165,
+ 186
+ ],
+ "9:2": 236,
+ "13:0": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": 236,
+ "0:10": true,
+ "7:3": true,
+ "14:11": true,
+ "13:2": true,
+ "9:6": true,
+ "4:1": true,
+ "0:15": true,
+ "11:9": true,
+ "6:4": true,
+ "15:5": 254,
+ "10:0": [
+ 168,
+ 234
+ ],
+ "14:5": true,
+ "10:6": true,
+ "0:12": true,
+ "15:11": true,
+ "9:0": 234,
+ "6:3": true,
+ "7:0": 234,
+ "13:3": [
+ 167,
+ 186
+ ],
+ "11:7": true,
+ "0:14": true,
+ "13:4": true,
+ "12:7": 162,
+ "6:2": true,
+ "7:6": true,
+ "4:8": true,
+ "15:4": 254,
+ "14:3": 254,
+ "4:14": true,
+ "11:10": true,
+ "6:5": true,
+ "0:8": true,
+ "15:3": 254,
+ "6:11": true,
+ "14:4": 254,
+ "11:13": true,
+ "8:0": true,
+ "14:2": 254,
+ "13:11": true,
+ "4:15": true,
+ "0:1": true,
+ "15:2": 254,
+ "8:6": true,
+ "4:12": true,
+ "13:5": true,
+ "15:0": true,
+ "14:6": true,
+ "10:5": true,
+ "9:11": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": 236,
+ "0:7": true,
+ "15:6": true,
+ "14:0": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/6_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/6_5.json
index 5df021c3..e318a13a 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/6_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/6_5.json
@@ -1 +1,303 @@
-{"8:8":[161,236],"6:10":true,"13:13":[182,186],"0:6":true,"14:1":true,"13:15":true,"10:10":236,"8:7":[164,236],"5:5":true,"4:11":true,"0:2":true,"9:10":236,"5:11":true,"4:5":true,"13:12":true,"15:1":true,"13:14":[182,186],"0:3":true,"8:9":[162,236],"7:10":236,"0:4":true,"14:14":true,"4:3":true,"2:12":true,"10:9":236,"7:7":true,"2:15":true,"15:14":true,"9:9":236,"4:4":true,"10:7":236,"8:10":236,"7:9":[163,236],"6:8":true,"15:12":254,"14:15":true,"13:1":true,"4:2":true,"0:11":true,"15:15":true,"14:12":254,"9:7":236,"3:11":true,"2:14":true,"1:13":true,"0:5":true,"2:13":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"4:0":true,"15:13":true,"1:15":true,"10:8":236,"6:7":true,"9:8":[160,236],"14:13":254,"1:11":true,"3:13":true,"1:5":true,"0:13":true,"11:8":[236,251],"13:6":[182,186],"13:0":true,"12:8":182,"14:11":true,"13:2":[166,186],"4:1":true,"3:12":true,"0:15":true,"11:9":[236,251],"15:5":254,"14:5":254,"3:15":true,"0:12":true,"15:11":254,"12:9":true,"13:3":[182,186],"11:7":[236,251],"2:5":true,"0:14":true,"13:4":[182,186],"12:7":true,"3:14":true,"2:11":true,"15:4":254,"14:3":254,"4:14":true,"11:10":true,"12:10":true,"5:14":true,"15:3":254,"14:4":254,"14:2":[166,254],"13:11":true,"4:15":[129,227],"0:1":true,"15:2":[165,254],"4:12":true,"13:5":[182,186],"15:0":true,"14:6":254,"15:6":true,"14:0":true,"5:13":[124,128],"4:13":true,"12:11":true,"9:14":236,"11:5":[236,237],"7:12":true,"12:5":182,"10:14":236,"7:15":235,"11:11":true,"10:12":236,"6:13":true,"9:15":235,"9:12":236,"8:1":true,"13:10":true,"10:15":235,"7:14":true,"7:13":true,"6:14":true,"10:13":236,"6:12":236,"6:15":true,"9:13":236,"11:0":true,"12:6":[153,182],"8:13":[126,236],"13:8":true,"6:1":true,"11:6":[236,237],"11:4":[166,251],"9:1":true,"8:12":236,"15:10":254,"14:10":254,"10:1":true,"13:7":true,"12:4":182,"11:3":[166,252],"8:15":true,"12:2":[166,168],"11:2":true,"8:14":[127,236],"13:9":true,"7:1":true,"9:3":true,"6:0":true,"10:4":true,"5:9":true,"10:3":true,"7:2":true,"6:6":true,"4:9":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"8:11":true,"4:7":true,"10:2":true,"0:10":true,"7:3":true,"9:6":[165,236],"6:4":true,"10:0":true,"10:6":236,"9:0":true,"6:3":true,"7:0":true,"6:2":true,"7:6":236,"4:8":true,"6:5":true,"0:8":true,"6:11":true,"11:13":[236,252],"8:0":true,"8:6":true,"12:13":182,"12:14":182,"10:5":[166,236],"9:11":236,"10:11":true,"9:5":true,"4:10":true,"11:14":[236,251],"8:2":true,"0:7":true,"12:15":182,"11:12":true,"8:4":true,"7:5":true,"12:12":182,"11:15":[235,237],"8:3":true,"0:9":true,"7:11":236} \ No newline at end of file
+{
+ "8:8": [
+ 161,
+ 236
+ ],
+ "6:10": true,
+ "13:13": [
+ 182,
+ 186
+ ],
+ "0:6": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": 236,
+ "8:7": [
+ 164,
+ 236
+ ],
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": 236,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "15:1": true,
+ "13:14": [
+ 182,
+ 186
+ ],
+ "0:3": true,
+ "8:9": [
+ 162,
+ 236
+ ],
+ "7:10": 236,
+ "0:4": true,
+ "14:14": true,
+ "4:3": true,
+ "2:12": true,
+ "10:9": 236,
+ "7:7": true,
+ "2:15": true,
+ "15:14": true,
+ "9:9": 236,
+ "4:4": true,
+ "10:7": 236,
+ "8:10": 236,
+ "7:9": [
+ 163,
+ 236
+ ],
+ "6:8": true,
+ "15:12": 254,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": 254,
+ "9:7": 236,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "4:0": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": 236,
+ "6:7": true,
+ "9:8": [
+ 160,
+ 236
+ ],
+ "14:13": 254,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "0:13": true,
+ "11:8": [
+ 236,
+ 251
+ ],
+ "13:6": [
+ 182,
+ 186
+ ],
+ "13:0": true,
+ "12:8": 182,
+ "14:11": true,
+ "13:2": [
+ 166,
+ 186
+ ],
+ "4:1": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": [
+ 236,
+ 251
+ ],
+ "15:5": 254,
+ "14:5": 254,
+ "3:15": true,
+ "0:12": true,
+ "15:11": 254,
+ "12:9": true,
+ "13:3": [
+ 182,
+ 186
+ ],
+ "11:7": [
+ 236,
+ 251
+ ],
+ "2:5": true,
+ "0:14": true,
+ "13:4": [
+ 182,
+ 186
+ ],
+ "12:7": true,
+ "3:14": true,
+ "2:11": true,
+ "15:4": 254,
+ "14:3": 254,
+ "4:14": true,
+ "11:10": true,
+ "12:10": true,
+ "5:14": true,
+ "15:3": 254,
+ "14:4": 254,
+ "14:2": [
+ 166,
+ 254
+ ],
+ "13:11": true,
+ "4:15": [
+ 129,
+ 227
+ ],
+ "0:1": true,
+ "15:2": [
+ 165,
+ 254
+ ],
+ "4:12": true,
+ "13:5": [
+ 182,
+ 186
+ ],
+ "15:0": true,
+ "14:6": 254,
+ "15:6": true,
+ "14:0": true,
+ "5:13": [
+ 124,
+ 128
+ ],
+ "4:13": true,
+ "12:11": true,
+ "9:14": 236,
+ "11:5": [
+ 236,
+ 237
+ ],
+ "7:12": true,
+ "12:5": 182,
+ "10:14": 236,
+ "7:15": 235,
+ "11:11": true,
+ "10:12": 236,
+ "6:13": true,
+ "9:15": 235,
+ "9:12": 236,
+ "8:1": true,
+ "13:10": true,
+ "10:15": 235,
+ "7:14": true,
+ "7:13": true,
+ "6:14": true,
+ "10:13": 236,
+ "6:12": 236,
+ "6:15": true,
+ "9:13": 236,
+ "11:0": true,
+ "12:6": [
+ 153,
+ 182
+ ],
+ "8:13": [
+ 126,
+ 236
+ ],
+ "13:8": true,
+ "6:1": true,
+ "11:6": [
+ 236,
+ 237
+ ],
+ "11:4": [
+ 166,
+ 251
+ ],
+ "9:1": true,
+ "8:12": 236,
+ "15:10": 254,
+ "14:10": 254,
+ "10:1": true,
+ "13:7": true,
+ "12:4": 182,
+ "11:3": [
+ 166,
+ 252
+ ],
+ "8:15": true,
+ "12:2": [
+ 166,
+ 168
+ ],
+ "11:2": true,
+ "8:14": [
+ 127,
+ 236
+ ],
+ "13:9": true,
+ "7:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": true,
+ "6:6": true,
+ "4:9": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": true,
+ "7:3": true,
+ "9:6": [
+ 165,
+ 236
+ ],
+ "6:4": true,
+ "10:0": true,
+ "10:6": 236,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "6:2": true,
+ "7:6": 236,
+ "4:8": true,
+ "6:5": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": [
+ 236,
+ 252
+ ],
+ "8:0": true,
+ "8:6": true,
+ "12:13": 182,
+ "12:14": 182,
+ "10:5": [
+ 166,
+ 236
+ ],
+ "9:11": 236,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": [
+ 236,
+ 251
+ ],
+ "8:2": true,
+ "0:7": true,
+ "12:15": 182,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "12:12": 182,
+ "11:15": [
+ 235,
+ 237
+ ],
+ "8:3": true,
+ "0:9": true,
+ "7:11": 236
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/6_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/6_6.json
index 23298771..efbef311 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/6_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/6_6.json
@@ -1 +1,298 @@
-{"15:9":[116,232],"12:11":true,"1:1":true,"11:5":true,"2:7":true,"8:8":123,"6:10":125,"7:15":true,"14:9":118,"11:11":true,"2:9":true,"15:7":[116,184],"3:0":true,"9:15":true,"0:0":true,"14:7":[109,184],"8:1":233,"3:6":true,"10:15":true,"1:8":true,"14:1":true,"13:15":true,"8:7":[118,165],"5:5":[112,113],"4:11":true,"0:2":true,"2:8":true,"5:11":true,"4:5":112,"3:2":123,"15:1":true,"1:9":true,"15:8":true,"0:3":true,"8:9":124,"7:10":125,"6:12":true,"1:7":true,"6:15":true,"14:8":true,"2:1":true,"11:0":[234,237],"12:6":[111,115],"4:3":[188,223],"5:4":111,"10:9":[122,123],"7:7":true,"2:15":true,"1:10":true,"13:8":119,"12:0":true,"9:9":[123,124],"6:1":233,"11:6":[112,120],"4:4":111,"10:7":[116,189],"7:9":124,"6:8":[120,123],"14:15":true,"13:1":true,"4:2":[171,224],"0:11":true,"15:15":true,"9:7":[117,121],"11:4":true,"9:1":233,"7:8":123,"6:9":[123,124],"4:6":113,"15:10":[117,118],"14:10":[118,119],"10:1":true,"5:6":[113,117],"13:7":[114,184],"11:3":true,"8:15":true,"4:0":[174,226],"2:10":true,"1:15":true,"10:8":[121,166],"6:7":[117,120],"11:2":true,"1:12":true,"13:9":120,"9:8":[122,164],"7:1":233,"9:3":true,"6:0":234,"1:11":true,"10:4":true,"5:9":[121,122],"10:3":true,"0:13":true,"7:2":232,"6:6":116,"4:9":119,"11:1":true,"9:4":true,"8:5":true,"5:7":[117,121],"3:10":true,"11:8":[120,167],"7:4":true,"13:6":[110,182],"9:2":true,"13:0":true,"4:7":118,"10:2":true,"0:10":true,"12:8":[120,166],"7:3":[110,231],"14:11":true,"13:2":true,"9:6":true,"4:1":[123,225],"3:12":true,"11:9":122,"6:4":[111,230],"10:0":234,"10:6":true,"3:15":true,"0:12":true,"15:11":true,"12:9":[120,121],"9:0":234,"6:3":[110,231],"7:0":234,"13:3":true,"11:7":[116,120],"5:8":[118,122],"13:4":true,"12:7":[114,120],"6:2":232,"7:6":true,"4:8":true,"2:11":true,"6:5":[112,190],"3:8":true,"2:2":true,"0:8":true,"1:0":true,"5:12":true,"8:0":234,"14:2":true,"13:11":true,"4:15":true,"0:1":true,"15:2":true,"8:6":true,"4:12":true,"3:1":true,"13:5":true,"5:15":true,"2:3":true,"15:0":true,"10:5":true,"9:11":true,"5:10":true,"3:7":true,"1:3":true,"10:11":true,"9:5":true,"4:10":true,"8:2":232,"14:0":true,"2:0":true,"12:15":true,"8:4":true,"5:13":true,"1:2":true,"7:5":[115,190],"3:9":true,"11:15":true,"8:3":[109,231],"0:9":true,"2:6":true} \ No newline at end of file
+{
+ "15:9": [
+ 116,
+ 232
+ ],
+ "12:11": true,
+ "1:1": true,
+ "11:5": true,
+ "2:7": true,
+ "8:8": 123,
+ "6:10": 125,
+ "7:15": true,
+ "14:9": 118,
+ "11:11": true,
+ "2:9": true,
+ "15:7": [
+ 116,
+ 184
+ ],
+ "3:0": true,
+ "9:15": true,
+ "0:0": true,
+ "14:7": [
+ 109,
+ 184
+ ],
+ "8:1": 233,
+ "3:6": true,
+ "10:15": true,
+ "1:8": true,
+ "14:1": true,
+ "13:15": true,
+ "8:7": [
+ 118,
+ 165
+ ],
+ "5:5": [
+ 112,
+ 113
+ ],
+ "4:11": true,
+ "0:2": true,
+ "2:8": true,
+ "5:11": true,
+ "4:5": 112,
+ "3:2": 123,
+ "15:1": true,
+ "1:9": true,
+ "15:8": true,
+ "0:3": true,
+ "8:9": 124,
+ "7:10": 125,
+ "6:12": true,
+ "1:7": true,
+ "6:15": true,
+ "14:8": true,
+ "2:1": true,
+ "11:0": [
+ 234,
+ 237
+ ],
+ "12:6": [
+ 111,
+ 115
+ ],
+ "4:3": [
+ 188,
+ 223
+ ],
+ "5:4": 111,
+ "10:9": [
+ 122,
+ 123
+ ],
+ "7:7": true,
+ "2:15": true,
+ "1:10": true,
+ "13:8": 119,
+ "12:0": true,
+ "9:9": [
+ 123,
+ 124
+ ],
+ "6:1": 233,
+ "11:6": [
+ 112,
+ 120
+ ],
+ "4:4": 111,
+ "10:7": [
+ 116,
+ 189
+ ],
+ "7:9": 124,
+ "6:8": [
+ 120,
+ 123
+ ],
+ "14:15": true,
+ "13:1": true,
+ "4:2": [
+ 171,
+ 224
+ ],
+ "0:11": true,
+ "15:15": true,
+ "9:7": [
+ 117,
+ 121
+ ],
+ "11:4": true,
+ "9:1": 233,
+ "7:8": 123,
+ "6:9": [
+ 123,
+ 124
+ ],
+ "4:6": 113,
+ "15:10": [
+ 117,
+ 118
+ ],
+ "14:10": [
+ 118,
+ 119
+ ],
+ "10:1": true,
+ "5:6": [
+ 113,
+ 117
+ ],
+ "13:7": [
+ 114,
+ 184
+ ],
+ "11:3": true,
+ "8:15": true,
+ "4:0": [
+ 174,
+ 226
+ ],
+ "2:10": true,
+ "1:15": true,
+ "10:8": [
+ 121,
+ 166
+ ],
+ "6:7": [
+ 117,
+ 120
+ ],
+ "11:2": true,
+ "1:12": true,
+ "13:9": 120,
+ "9:8": [
+ 122,
+ 164
+ ],
+ "7:1": 233,
+ "9:3": true,
+ "6:0": 234,
+ "1:11": true,
+ "10:4": true,
+ "5:9": [
+ 121,
+ 122
+ ],
+ "10:3": true,
+ "0:13": true,
+ "7:2": 232,
+ "6:6": 116,
+ "4:9": 119,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": [
+ 117,
+ 121
+ ],
+ "3:10": true,
+ "11:8": [
+ 120,
+ 167
+ ],
+ "7:4": true,
+ "13:6": [
+ 110,
+ 182
+ ],
+ "9:2": true,
+ "13:0": true,
+ "4:7": 118,
+ "10:2": true,
+ "0:10": true,
+ "12:8": [
+ 120,
+ 166
+ ],
+ "7:3": [
+ 110,
+ 231
+ ],
+ "14:11": true,
+ "13:2": true,
+ "9:6": true,
+ "4:1": [
+ 123,
+ 225
+ ],
+ "3:12": true,
+ "11:9": 122,
+ "6:4": [
+ 111,
+ 230
+ ],
+ "10:0": 234,
+ "10:6": true,
+ "3:15": true,
+ "0:12": true,
+ "15:11": true,
+ "12:9": [
+ 120,
+ 121
+ ],
+ "9:0": 234,
+ "6:3": [
+ 110,
+ 231
+ ],
+ "7:0": 234,
+ "13:3": true,
+ "11:7": [
+ 116,
+ 120
+ ],
+ "5:8": [
+ 118,
+ 122
+ ],
+ "13:4": true,
+ "12:7": [
+ 114,
+ 120
+ ],
+ "6:2": 232,
+ "7:6": true,
+ "4:8": true,
+ "2:11": true,
+ "6:5": [
+ 112,
+ 190
+ ],
+ "3:8": true,
+ "2:2": true,
+ "0:8": true,
+ "1:0": true,
+ "5:12": true,
+ "8:0": 234,
+ "14:2": true,
+ "13:11": true,
+ "4:15": true,
+ "0:1": true,
+ "15:2": true,
+ "8:6": true,
+ "4:12": true,
+ "3:1": true,
+ "13:5": true,
+ "5:15": true,
+ "2:3": true,
+ "15:0": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "3:7": true,
+ "1:3": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "8:2": 232,
+ "14:0": true,
+ "2:0": true,
+ "12:15": true,
+ "8:4": true,
+ "5:13": true,
+ "1:2": true,
+ "7:5": [
+ 115,
+ 190
+ ],
+ "3:9": true,
+ "11:15": true,
+ "8:3": [
+ 109,
+ 231
+ ],
+ "0:9": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_-1.json
index 96e0e727..beb62e5f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_-1.json
@@ -1 +1,4 @@
-{"12:1":true,"9:0":233} \ No newline at end of file
+{
+ "12:1": true,
+ "9:0": 233
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_-2.json
index 3200d788..471796ed 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_-2.json
@@ -1 +1,22 @@
-{"14:1":true,"4:11":true,"15:1":true,"0:3":true,"0:4":true,"12:0":true,"13:1":true,"0:5":true,"12:2":228,"1:5":true,"11:1":228,"15:4":true,"15:3":true,"5:12":true,"14:2":true,"15:2":true,"15:0":true,"4:10":true,"5:13":true,"2:6":true} \ No newline at end of file
+{
+ "14:1": true,
+ "4:11": true,
+ "15:1": true,
+ "0:3": true,
+ "0:4": true,
+ "12:0": true,
+ "13:1": true,
+ "0:5": true,
+ "12:2": 228,
+ "1:5": true,
+ "11:1": 228,
+ "15:4": true,
+ "15:3": true,
+ "5:12": true,
+ "14:2": true,
+ "15:2": true,
+ "15:0": true,
+ "4:10": true,
+ "5:13": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_-3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_-3.json
index 5d043173..3e1ceb41 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_-3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_-3.json
@@ -1 +1,28 @@
-{"11:11":true,"15:7":true,"12:8":222,"11:9":222,"15:11":true,"15:8":true,"10:9":[222,223],"12:10":true,"15:14":true,"9:9":[222,223],"11:13":true,"15:12":true,"15:15":true,"12:13":true,"15:10":true,"15:6":true,"15:13":true,"12:15":true,"12:12":true,"11:15":true} \ No newline at end of file
+{
+ "11:11": true,
+ "15:7": true,
+ "12:8": 222,
+ "11:9": 222,
+ "15:11": true,
+ "15:8": true,
+ "10:9": [
+ 222,
+ 223
+ ],
+ "12:10": true,
+ "15:14": true,
+ "9:9": [
+ 222,
+ 223
+ ],
+ "11:13": true,
+ "15:12": true,
+ "15:15": true,
+ "12:13": true,
+ "15:10": true,
+ "15:6": true,
+ "15:13": true,
+ "12:15": true,
+ "12:12": true,
+ "11:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_0.json
index eda3d134..91d97e1c 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_0.json
@@ -1 +1,24 @@
-{"9:14":true,"10:14":true,"7:15":true,"9:15":true,"10:15":true,"7:14":true,"13:15":true,"13:14":true,"14:14":true,"15:14":true,"15:15":true,"1:14":true,"8:15":true,"1:15":true,"8:14":true,"9:6":true,"0:15":true,"0:14":true,"12:14":true,"11:14":true,"12:15":true,"11:15":true} \ No newline at end of file
+{
+ "9:14": true,
+ "10:14": true,
+ "7:15": true,
+ "9:15": true,
+ "10:15": true,
+ "7:14": true,
+ "13:15": true,
+ "13:14": true,
+ "14:14": true,
+ "15:14": true,
+ "15:15": true,
+ "1:14": true,
+ "8:15": true,
+ "1:15": true,
+ "8:14": true,
+ "9:6": true,
+ "0:15": true,
+ "0:14": true,
+ "12:14": true,
+ "11:14": true,
+ "12:15": true,
+ "11:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_1.json
index f0ae8c33..984bdc75 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_1.json
@@ -1 +1,115 @@
-{"12:11":true,"9:14":true,"1:1":true,"11:5":true,"8:8":254,"7:12":true,"13:13":true,"12:5":true,"10:14":true,"7:15":true,"11:11":true,"9:15":true,"0:6":true,"0:0":true,"8:1":true,"10:15":true,"7:14":true,"10:10":true,"0:2":true,"7:13":true,"15:1":true,"0:3":true,"0:4":true,"9:13":true,"11:0":true,"14:14":true,"12:6":true,"8:13":true,"10:9":true,"1:10":true,"15:14":true,"12:0":true,"9:9":true,"11:6":[181,254],"10:7":true,"0:11":true,"15:15":true,"9:7":true,"1:13":true,"0:5":true,"1:14":true,"9:1":true,"11:4":true,"8:12":true,"10:1":true,"12:4":true,"11:3":true,"8:15":true,"15:13":true,"1:15":true,"10:8":254,"8:14":true,"1:12":true,"9:8":254,"7:1":true,"14:13":true,"9:3":true,"1:11":true,"1:5":true,"0:13":true,"7:2":true,"11:1":true,"11:8":[183,254],"7:4":true,"9:2":true,"13:0":true,"10:2":true,"0:10":true,"12:8":true,"7:3":true,"0:15":true,"11:9":true,"10:0":true,"10:6":254,"0:12":true,"12:9":true,"9:0":true,"7:0":true,"13:3":true,"11:7":true,"0:14":true,"12:7":254,"14:3":true,"1:6":true,"11:10":true,"12:10":true,"15:3":true,"1:0":true,"11:13":true,"8:0":true,"14:2":true,"0:1":true,"15:2":true,"15:0":true,"1:3":true,"11:14":true,"8:2":true,"1:4":true,"14:0":true,"11:12":true,"8:4":true,"1:2":true,"7:5":254,"12:12":true,"11:15":true,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "1:1": true,
+ "11:5": true,
+ "8:8": 254,
+ "7:12": true,
+ "13:13": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "9:15": true,
+ "0:6": true,
+ "0:0": true,
+ "8:1": true,
+ "10:15": true,
+ "7:14": true,
+ "10:10": true,
+ "0:2": true,
+ "7:13": true,
+ "15:1": true,
+ "0:3": true,
+ "0:4": true,
+ "9:13": true,
+ "11:0": true,
+ "14:14": true,
+ "12:6": true,
+ "8:13": true,
+ "10:9": true,
+ "1:10": true,
+ "15:14": true,
+ "12:0": true,
+ "9:9": true,
+ "11:6": [
+ 181,
+ 254
+ ],
+ "10:7": true,
+ "0:11": true,
+ "15:15": true,
+ "9:7": true,
+ "1:13": true,
+ "0:5": true,
+ "1:14": true,
+ "9:1": true,
+ "11:4": true,
+ "8:12": true,
+ "10:1": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": 254,
+ "8:14": true,
+ "1:12": true,
+ "9:8": 254,
+ "7:1": true,
+ "14:13": true,
+ "9:3": true,
+ "1:11": true,
+ "1:5": true,
+ "0:13": true,
+ "7:2": true,
+ "11:1": true,
+ "11:8": [
+ 183,
+ 254
+ ],
+ "7:4": true,
+ "9:2": true,
+ "13:0": true,
+ "10:2": true,
+ "0:10": true,
+ "12:8": true,
+ "7:3": true,
+ "0:15": true,
+ "11:9": true,
+ "10:0": true,
+ "10:6": 254,
+ "0:12": true,
+ "12:9": true,
+ "9:0": true,
+ "7:0": true,
+ "13:3": true,
+ "11:7": true,
+ "0:14": true,
+ "12:7": 254,
+ "14:3": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "15:3": true,
+ "1:0": true,
+ "11:13": true,
+ "8:0": true,
+ "14:2": true,
+ "0:1": true,
+ "15:2": true,
+ "15:0": true,
+ "1:3": true,
+ "11:14": true,
+ "8:2": true,
+ "1:4": true,
+ "14:0": true,
+ "11:12": true,
+ "8:4": true,
+ "1:2": true,
+ "7:5": 254,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_2.json
index 98887d05..daccb954 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_2.json
@@ -1 +1,66 @@
-{"9:14":true,"1:1":true,"11:5":true,"10:14":true,"7:15":254,"11:11":true,"9:15":254,"0:0":true,"8:1":true,"10:15":true,"7:14":254,"13:15":true,"0:2":true,"15:1":true,"13:14":true,"11:0":true,"14:14":true,"15:14":true,"12:0":true,"11:6":true,"13:1":true,"15:15":true,"11:4":true,"9:1":true,"1:14":254,"10:1":true,"11:3":true,"8:15":254,"12:2":true,"1:15":true,"11:2":true,"8:14":254,"7:1":true,"12:1":true,"7:2":true,"11:1":true,"11:8":true,"9:2":true,"13:0":true,"10:2":true,"13:2":true,"0:15":true,"11:9":true,"10:0":true,"9:0":true,"7:0":true,"11:7":true,"0:14":254,"11:10":true,"1:0":true,"11:13":true,"8:0":true,"14:2":true,"0:1":true,"15:2":true,"12:14":true,"15:0":true,"11:14":true,"8:2":true,"14:0":true,"12:15":true,"11:12":true,"1:2":true,"11:15":true} \ No newline at end of file
+{
+ "9:14": true,
+ "1:1": true,
+ "11:5": true,
+ "10:14": true,
+ "7:15": 254,
+ "11:11": true,
+ "9:15": 254,
+ "0:0": true,
+ "8:1": true,
+ "10:15": true,
+ "7:14": 254,
+ "13:15": true,
+ "0:2": true,
+ "15:1": true,
+ "13:14": true,
+ "11:0": true,
+ "14:14": true,
+ "15:14": true,
+ "12:0": true,
+ "11:6": true,
+ "13:1": true,
+ "15:15": true,
+ "11:4": true,
+ "9:1": true,
+ "1:14": 254,
+ "10:1": true,
+ "11:3": true,
+ "8:15": 254,
+ "12:2": true,
+ "1:15": true,
+ "11:2": true,
+ "8:14": 254,
+ "7:1": true,
+ "12:1": true,
+ "7:2": true,
+ "11:1": true,
+ "11:8": true,
+ "9:2": true,
+ "13:0": true,
+ "10:2": true,
+ "13:2": true,
+ "0:15": true,
+ "11:9": true,
+ "10:0": true,
+ "9:0": true,
+ "7:0": true,
+ "11:7": true,
+ "0:14": 254,
+ "11:10": true,
+ "1:0": true,
+ "11:13": true,
+ "8:0": true,
+ "14:2": true,
+ "0:1": true,
+ "15:2": true,
+ "12:14": true,
+ "15:0": true,
+ "11:14": true,
+ "8:2": true,
+ "14:0": true,
+ "12:15": true,
+ "11:12": true,
+ "1:2": true,
+ "11:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_3.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_3.json
index c58be254..8dfb29e5 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_3.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_3.json
@@ -1 +1,135 @@
-{"12:11":true,"9:14":true,"1:1":254,"11:5":true,"8:8":true,"7:12":true,"13:13":true,"12:5":true,"10:14":true,"7:15":true,"11:11":true,"9:15":true,"0:6":true,"0:0":254,"8:1":true,"10:15":true,"7:14":true,"10:10":true,"0:2":254,"7:13":true,"15:1":true,"0:3":true,"0:4":254,"9:13":true,"11:0":[181,254],"14:14":true,"12:6":true,"8:13":true,"10:9":true,"2:15":155,"1:10":true,"15:14":true,"12:0":true,"9:9":true,"11:6":true,"10:7":true,"13:1":true,"0:11":254,"15:15":true,"9:7":true,"2:14":[155,156],"1:13":[157,254],"0:5":254,"11:4":true,"9:1":true,"8:12":true,"1:14":254,"10:1":true,"12:4":true,"11:3":true,"8:15":true,"15:13":true,"1:15":true,"10:8":true,"11:2":[183,184],"8:14":true,"1:12":[158,254],"9:8":true,"7:1":true,"14:13":true,"9:3":254,"1:11":[159,254],"1:5":254,"0:13":254,"7:2":true,"11:1":[182,254],"11:8":true,"7:4":254,"9:2":254,"10:2":254,"0:10":[160,254],"12:8":true,"7:3":254,"0:15":true,"11:9":true,"10:0":254,"10:6":true,"0:12":254,"12:9":true,"9:0":254,"7:0":254,"13:3":true,"11:7":true,"0:14":254,"12:7":true,"14:3":true,"1:6":254,"11:10":true,"12:10":true,"15:3":true,"1:0":254,"11:13":true,"8:0":254,"14:2":true,"0:1":254,"15:2":true,"15:0":true,"1:3":true,"11:14":true,"8:2":254,"1:4":true,"11:12":true,"8:4":true,"1:2":true,"7:5":true,"12:12":true,"11:15":true,"8:3":254,"7:11":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "1:1": 254,
+ "11:5": true,
+ "8:8": true,
+ "7:12": true,
+ "13:13": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "9:15": true,
+ "0:6": true,
+ "0:0": 254,
+ "8:1": true,
+ "10:15": true,
+ "7:14": true,
+ "10:10": true,
+ "0:2": 254,
+ "7:13": true,
+ "15:1": true,
+ "0:3": true,
+ "0:4": 254,
+ "9:13": true,
+ "11:0": [
+ 181,
+ 254
+ ],
+ "14:14": true,
+ "12:6": true,
+ "8:13": true,
+ "10:9": true,
+ "2:15": 155,
+ "1:10": true,
+ "15:14": true,
+ "12:0": true,
+ "9:9": true,
+ "11:6": true,
+ "10:7": true,
+ "13:1": true,
+ "0:11": 254,
+ "15:15": true,
+ "9:7": true,
+ "2:14": [
+ 155,
+ 156
+ ],
+ "1:13": [
+ 157,
+ 254
+ ],
+ "0:5": 254,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "1:14": 254,
+ "10:1": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": true,
+ "11:2": [
+ 183,
+ 184
+ ],
+ "8:14": true,
+ "1:12": [
+ 158,
+ 254
+ ],
+ "9:8": true,
+ "7:1": true,
+ "14:13": true,
+ "9:3": 254,
+ "1:11": [
+ 159,
+ 254
+ ],
+ "1:5": 254,
+ "0:13": 254,
+ "7:2": true,
+ "11:1": [
+ 182,
+ 254
+ ],
+ "11:8": true,
+ "7:4": 254,
+ "9:2": 254,
+ "10:2": 254,
+ "0:10": [
+ 160,
+ 254
+ ],
+ "12:8": true,
+ "7:3": 254,
+ "0:15": true,
+ "11:9": true,
+ "10:0": 254,
+ "10:6": true,
+ "0:12": 254,
+ "12:9": true,
+ "9:0": 254,
+ "7:0": 254,
+ "13:3": true,
+ "11:7": true,
+ "0:14": 254,
+ "12:7": true,
+ "14:3": true,
+ "1:6": 254,
+ "11:10": true,
+ "12:10": true,
+ "15:3": true,
+ "1:0": 254,
+ "11:13": true,
+ "8:0": 254,
+ "14:2": true,
+ "0:1": 254,
+ "15:2": true,
+ "15:0": true,
+ "1:3": true,
+ "11:14": true,
+ "8:2": 254,
+ "1:4": true,
+ "11:12": true,
+ "8:4": true,
+ "1:2": true,
+ "7:5": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": 254,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_4.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_4.json
index c3b7ea88..9c649007 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_4.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_4.json
@@ -1 +1,122 @@
-{"9:14":true,"1:1":true,"11:5":true,"8:8":true,"10:14":true,"7:15":true,"11:11":true,"10:12":true,"2:9":true,"9:15":true,"0:6":true,"0:0":true,"9:12":true,"8:1":true,"10:15":true,"7:14":true,"1:8":true,"13:15":true,"10:10":true,"0:2":true,"9:10":true,"15:1":true,"1:9":true,"13:14":true,"10:13":true,"9:13":true,"11:0":true,"14:14":true,"4:3":true,"8:13":true,"2:12":true,"10:9":true,"5:3":true,"1:10":true,"15:14":true,"12:0":true,"9:9":true,"11:6":true,"10:7":true,"14:15":true,"13:1":true,"0:11":true,"15:15":true,"9:7":true,"3:11":true,"2:14":true,"1:13":true,"0:5":true,"11:4":true,"9:1":true,"8:12":true,"2:13":true,"1:14":true,"10:1":true,"12:4":true,"11:3":true,"8:15":true,"12:2":true,"2:10":true,"1:15":true,"10:8":true,"11:2":true,"8:14":true,"1:12":true,"9:8":true,"7:1":true,"12:1":true,"1:11":true,"10:3":true,"0:13":true,"7:2":true,"11:1":true,"9:4":true,"3:10":true,"11:8":true,"9:2":true,"13:0":true,"10:2":true,"0:10":true,"7:3":true,"13:2":true,"3:12":true,"0:15":true,"11:9":true,"10:0":true,"0:12":true,"9:0":true,"7:0":true,"13:3":true,"11:7":true,"0:14":true,"2:11":true,"15:4":true,"14:3":true,"11:10":true,"0:8":true,"15:3":true,"1:0":true,"14:4":true,"11:13":true,"8:0":true,"14:2":true,"0:1":true,"15:2":true,"15:0":true,"12:14":true,"9:11":true,"10:11":true,"11:14":true,"8:2":true,"0:7":true,"14:0":true,"2:0":true,"12:15":true,"11:12":true,"8:4":true,"1:2":true,"11:15":true,"8:3":true,"0:9":true} \ No newline at end of file
+{
+ "9:14": true,
+ "1:1": true,
+ "11:5": true,
+ "8:8": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "10:12": true,
+ "2:9": true,
+ "9:15": true,
+ "0:6": true,
+ "0:0": true,
+ "9:12": true,
+ "8:1": true,
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "13:15": true,
+ "10:10": true,
+ "0:2": true,
+ "9:10": true,
+ "15:1": true,
+ "1:9": true,
+ "13:14": true,
+ "10:13": true,
+ "9:13": true,
+ "11:0": true,
+ "14:14": true,
+ "4:3": true,
+ "8:13": true,
+ "2:12": true,
+ "10:9": true,
+ "5:3": true,
+ "1:10": true,
+ "15:14": true,
+ "12:0": true,
+ "9:9": true,
+ "11:6": true,
+ "10:7": true,
+ "14:15": true,
+ "13:1": true,
+ "0:11": true,
+ "15:15": true,
+ "9:7": true,
+ "3:11": true,
+ "2:14": true,
+ "1:13": true,
+ "0:5": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "2:13": true,
+ "1:14": true,
+ "10:1": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "12:2": true,
+ "2:10": true,
+ "1:15": true,
+ "10:8": true,
+ "11:2": true,
+ "8:14": true,
+ "1:12": true,
+ "9:8": true,
+ "7:1": true,
+ "12:1": true,
+ "1:11": true,
+ "10:3": true,
+ "0:13": true,
+ "7:2": true,
+ "11:1": true,
+ "9:4": true,
+ "3:10": true,
+ "11:8": true,
+ "9:2": true,
+ "13:0": true,
+ "10:2": true,
+ "0:10": true,
+ "7:3": true,
+ "13:2": true,
+ "3:12": true,
+ "0:15": true,
+ "11:9": true,
+ "10:0": true,
+ "0:12": true,
+ "9:0": true,
+ "7:0": true,
+ "13:3": true,
+ "11:7": true,
+ "0:14": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "11:10": true,
+ "0:8": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "11:13": true,
+ "8:0": true,
+ "14:2": true,
+ "0:1": true,
+ "15:2": true,
+ "15:0": true,
+ "12:14": true,
+ "9:11": true,
+ "10:11": true,
+ "11:14": true,
+ "8:2": true,
+ "0:7": true,
+ "14:0": true,
+ "2:0": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "1:2": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_5.json
index 106d07c3..898cca1f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_5.json
@@ -1 +1,120 @@
-{"12:11":true,"9:14":true,"1:1":true,"11:5":[182,254],"8:8":true,"7:12":254,"13:13":true,"12:5":true,"10:14":true,"7:15":true,"11:11":true,"9:15":true,"0:6":true,"0:0":true,"8:1":254,"10:15":true,"7:14":true,"10:10":true,"0:2":254,"7:13":true,"15:1":true,"0:3":254,"0:4":254,"9:13":true,"11:0":true,"14:14":true,"12:6":true,"8:13":true,"10:9":true,"1:10":254,"15:14":true,"12:0":true,"9:9":254,"11:6":true,"10:7":true,"0:11":254,"15:15":true,"9:7":true,"1:13":true,"0:5":254,"11:4":[181,182],"9:1":254,"8:12":true,"1:14":true,"10:1":254,"12:4":true,"11:3":true,"8:15":true,"15:13":true,"1:15":true,"10:8":true,"11:2":[156,165],"8:14":true,"1:12":true,"9:8":254,"7:1":254,"14:13":true,"9:3":254,"1:11":true,"1:5":254,"0:13":true,"7:2":254,"11:1":[156,254],"11:8":true,"7:4":254,"9:2":254,"10:2":254,"0:10":254,"12:8":true,"7:3":254,"0:15":true,"11:9":true,"10:0":true,"10:6":true,"0:12":254,"12:9":true,"9:0":254,"7:0":254,"13:3":true,"11:7":true,"0:14":true,"12:7":true,"14:3":true,"1:6":true,"11:10":true,"12:10":true,"15:3":true,"1:0":true,"11:13":true,"8:0":254,"14:2":true,"0:1":true,"15:2":true,"15:0":true,"1:3":254,"11:14":true,"8:2":254,"1:4":true,"11:12":true,"8:4":254,"1:2":254,"7:5":254,"12:12":true,"11:15":true,"8:3":254,"7:11":true} \ No newline at end of file
+{
+ "12:11": true,
+ "9:14": true,
+ "1:1": true,
+ "11:5": [
+ 182,
+ 254
+ ],
+ "8:8": true,
+ "7:12": 254,
+ "13:13": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "9:15": true,
+ "0:6": true,
+ "0:0": true,
+ "8:1": 254,
+ "10:15": true,
+ "7:14": true,
+ "10:10": true,
+ "0:2": 254,
+ "7:13": true,
+ "15:1": true,
+ "0:3": 254,
+ "0:4": 254,
+ "9:13": true,
+ "11:0": true,
+ "14:14": true,
+ "12:6": true,
+ "8:13": true,
+ "10:9": true,
+ "1:10": 254,
+ "15:14": true,
+ "12:0": true,
+ "9:9": 254,
+ "11:6": true,
+ "10:7": true,
+ "0:11": 254,
+ "15:15": true,
+ "9:7": true,
+ "1:13": true,
+ "0:5": 254,
+ "11:4": [
+ 181,
+ 182
+ ],
+ "9:1": 254,
+ "8:12": true,
+ "1:14": true,
+ "10:1": 254,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "15:13": true,
+ "1:15": true,
+ "10:8": true,
+ "11:2": [
+ 156,
+ 165
+ ],
+ "8:14": true,
+ "1:12": true,
+ "9:8": 254,
+ "7:1": 254,
+ "14:13": true,
+ "9:3": 254,
+ "1:11": true,
+ "1:5": 254,
+ "0:13": true,
+ "7:2": 254,
+ "11:1": [
+ 156,
+ 254
+ ],
+ "11:8": true,
+ "7:4": 254,
+ "9:2": 254,
+ "10:2": 254,
+ "0:10": 254,
+ "12:8": true,
+ "7:3": 254,
+ "0:15": true,
+ "11:9": true,
+ "10:0": true,
+ "10:6": true,
+ "0:12": 254,
+ "12:9": true,
+ "9:0": 254,
+ "7:0": 254,
+ "13:3": true,
+ "11:7": true,
+ "0:14": true,
+ "12:7": true,
+ "14:3": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "15:3": true,
+ "1:0": true,
+ "11:13": true,
+ "8:0": 254,
+ "14:2": true,
+ "0:1": true,
+ "15:2": true,
+ "15:0": true,
+ "1:3": 254,
+ "11:14": true,
+ "8:2": 254,
+ "1:4": true,
+ "11:12": true,
+ "8:4": 254,
+ "1:2": 254,
+ "7:5": 254,
+ "12:12": true,
+ "11:15": true,
+ "8:3": 254,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/7_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/7_6.json
index 6b6caa51..54740b3d 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/7_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/7_6.json
@@ -1 +1,179 @@
-{"15:9":true,"12:11":true,"1:1":true,"11:5":true,"2:7":true,"13:13":true,"7:15":[187,223],"14:9":true,"11:11":true,"2:9":[112,236],"15:7":true,"9:15":true,"0:0":true,"14:7":true,"8:1":true,"13:10":true,"10:15":true,"1:8":114,"13:15":true,"10:10":true,"8:7":true,"4:11":[189,221],"0:2":true,"5:11":[192,219],"13:12":true,"15:1":true,"1:9":[110,236],"15:8":true,"13:14":true,"6:12":[109,110],"1:7":true,"6:15":[187,223],"14:8":true,"11:0":true,"14:14":true,"2:12":true,"10:9":true,"7:7":true,"2:15":true,"1:10":[114,115],"13:8":true,"15:14":true,"12:0":true,"9:9":true,"11:6":true,"10:7":true,"8:10":true,"15:12":true,"14:15":true,"13:1":true,"0:11":true,"15:15":true,"14:12":true,"9:7":true,"3:11":[109,222],"11:4":true,"9:1":true,"15:10":true,"14:10":true,"10:1":true,"13:7":true,"11:3":true,"8:15":[187,230],"15:13":true,"12:2":true,"2:10":[110,113],"1:15":true,"6:7":true,"11:2":true,"13:9":true,"7:1":true,"14:13":true,"12:1":true,"1:11":true,"5:9":true,"7:2":true,"4:9":true,"11:1":true,"5:7":true,"9:2":true,"4:7":true,"10:2":true,"0:10":116,"12:8":true,"14:11":true,"13:2":true,"3:12":113,"0:15":true,"11:9":true,"10:0":true,"3:15":true,"15:11":true,"12:9":true,"9:0":true,"7:0":true,"11:7":true,"12:7":true,"2:11":[112,223],"11:10":true,"12:10":true,"0:8":true,"1:0":true,"5:12":[108,111],"8:0":true,"14:2":true,"13:11":true,"4:15":[187,223],"0:1":true,"15:2":true,"4:12":[110,112],"5:15":[187,223],"15:0":true,"3:7":184,"10:11":true,"8:2":true,"0:7":[115,184],"15:6":true,"12:15":true,"1:2":true,"3:9":true,"12:12":true,"11:15":true,"0:9":[111,233]} \ No newline at end of file
+{
+ "15:9": true,
+ "12:11": true,
+ "1:1": true,
+ "11:5": true,
+ "2:7": true,
+ "13:13": true,
+ "7:15": [
+ 187,
+ 223
+ ],
+ "14:9": true,
+ "11:11": true,
+ "2:9": [
+ 112,
+ 236
+ ],
+ "15:7": true,
+ "9:15": true,
+ "0:0": true,
+ "14:7": true,
+ "8:1": true,
+ "13:10": true,
+ "10:15": true,
+ "1:8": 114,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "4:11": [
+ 189,
+ 221
+ ],
+ "0:2": true,
+ "5:11": [
+ 192,
+ 219
+ ],
+ "13:12": true,
+ "15:1": true,
+ "1:9": [
+ 110,
+ 236
+ ],
+ "15:8": true,
+ "13:14": true,
+ "6:12": [
+ 109,
+ 110
+ ],
+ "1:7": true,
+ "6:15": [
+ 187,
+ 223
+ ],
+ "14:8": true,
+ "11:0": true,
+ "14:14": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "2:15": true,
+ "1:10": [
+ 114,
+ 115
+ ],
+ "13:8": true,
+ "15:14": true,
+ "12:0": true,
+ "9:9": true,
+ "11:6": true,
+ "10:7": true,
+ "8:10": true,
+ "15:12": true,
+ "14:15": true,
+ "13:1": true,
+ "0:11": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": [
+ 109,
+ 222
+ ],
+ "11:4": true,
+ "9:1": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "13:7": true,
+ "11:3": true,
+ "8:15": [
+ 187,
+ 230
+ ],
+ "15:13": true,
+ "12:2": true,
+ "2:10": [
+ 110,
+ 113
+ ],
+ "1:15": true,
+ "6:7": true,
+ "11:2": true,
+ "13:9": true,
+ "7:1": true,
+ "14:13": true,
+ "12:1": true,
+ "1:11": true,
+ "5:9": true,
+ "7:2": true,
+ "4:9": true,
+ "11:1": true,
+ "5:7": true,
+ "9:2": true,
+ "4:7": true,
+ "10:2": true,
+ "0:10": 116,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "3:12": 113,
+ "0:15": true,
+ "11:9": true,
+ "10:0": true,
+ "3:15": true,
+ "15:11": true,
+ "12:9": true,
+ "9:0": true,
+ "7:0": true,
+ "11:7": true,
+ "12:7": true,
+ "2:11": [
+ 112,
+ 223
+ ],
+ "11:10": true,
+ "12:10": true,
+ "0:8": true,
+ "1:0": true,
+ "5:12": [
+ 108,
+ 111
+ ],
+ "8:0": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": [
+ 187,
+ 223
+ ],
+ "0:1": true,
+ "15:2": true,
+ "4:12": [
+ 110,
+ 112
+ ],
+ "5:15": [
+ 187,
+ 223
+ ],
+ "15:0": true,
+ "3:7": 184,
+ "10:11": true,
+ "8:2": true,
+ "0:7": [
+ 115,
+ 184
+ ],
+ "15:6": true,
+ "12:15": true,
+ "1:2": true,
+ "3:9": true,
+ "12:12": true,
+ "11:15": true,
+ "0:9": [
+ 111,
+ 233
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/8_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/8_-1.json
index e6dc6263..4a306305 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/8_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/8_-1.json
@@ -1 +1,29 @@
-{"10:4":true,"9:4":true,"9:2":true,"13:0":true,"14:7":true,"8:1":true,"10:2":true,"9:6":true,"10:0":true,"15:11":true,"9:0":true,"7:0":true,"12:7":true,"11:0":true,"12:6":true,"13:8":true,"12:0":true,"11:6":true,"10:7":true,"15:12":186,"15:0":true,"14:6":true,"10:5":true,"14:10":true,"10:1":true,"14:0":true,"13:9":true} \ No newline at end of file
+{
+ "10:4": true,
+ "9:4": true,
+ "9:2": true,
+ "13:0": true,
+ "14:7": true,
+ "8:1": true,
+ "10:2": true,
+ "9:6": true,
+ "10:0": true,
+ "15:11": true,
+ "9:0": true,
+ "7:0": true,
+ "12:7": true,
+ "11:0": true,
+ "12:6": true,
+ "13:8": true,
+ "12:0": true,
+ "11:6": true,
+ "10:7": true,
+ "15:12": 186,
+ "15:0": true,
+ "14:6": true,
+ "10:5": true,
+ "14:10": true,
+ "10:1": true,
+ "14:0": true,
+ "13:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/8_-2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/8_-2.json
index 3dbb3534..613e25ff 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/8_-2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/8_-2.json
@@ -1 +1,50 @@
-{"12:11":true,"1:1":true,"8:8":true,"7:12":true,"13:13":true,"7:15":true,"11:11":true,"3:0":true,"10:15":true,"10:10":true,"13:15":true,"8:7":true,"4:11":186,"0:2":true,"13:12":true,"6:14":true,"14:14":true,"9:9":true,"15:15":true,"9:7":true,"0:5":true,"5:0":true,"10:8":true,"9:8":true,"8:5":true,"7:4":true,"8:11":true,"7:3":true,"9:6":true,"4:1":true,"11:9":true,"6:4":true,"5:1":true,"6:2":true,"7:6":true,"1:6":186,"11:10":true,"6:5":true,"2:2":true,"5:12":186,"0:1":true,"8:6":true,"3:1":true,"12:14":true,"12:15":true,"5:13":true,"7:5":true,"3:9":true} \ No newline at end of file
+{
+ "12:11": true,
+ "1:1": true,
+ "8:8": true,
+ "7:12": true,
+ "13:13": true,
+ "7:15": true,
+ "11:11": true,
+ "3:0": true,
+ "10:15": true,
+ "10:10": true,
+ "13:15": true,
+ "8:7": true,
+ "4:11": 186,
+ "0:2": true,
+ "13:12": true,
+ "6:14": true,
+ "14:14": true,
+ "9:9": true,
+ "15:15": true,
+ "9:7": true,
+ "0:5": true,
+ "5:0": true,
+ "10:8": true,
+ "9:8": true,
+ "8:5": true,
+ "7:4": true,
+ "8:11": true,
+ "7:3": true,
+ "9:6": true,
+ "4:1": true,
+ "11:9": true,
+ "6:4": true,
+ "5:1": true,
+ "6:2": true,
+ "7:6": true,
+ "1:6": 186,
+ "11:10": true,
+ "6:5": true,
+ "2:2": true,
+ "5:12": 186,
+ "0:1": true,
+ "8:6": true,
+ "3:1": true,
+ "12:14": true,
+ "12:15": true,
+ "5:13": true,
+ "7:5": true,
+ "3:9": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/8_0.json b/src/main/resources/assets/notenoughupdates/dwarven_data/8_0.json
index da92c247..a4650235 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/8_0.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/8_0.json
@@ -1 +1,21 @@
-{"9:14":true,"4:14":true,"10:14":true,"5:14":true,"7:15":true,"14:15":true,"9:15":true,"10:15":true,"5:15":true,"7:14":true,"13:15":true,"11:14":true,"8:15":true,"6:14":true,"12:15":true,"1:15":true,"11:15":true,"8:14":true,"6:15":true} \ No newline at end of file
+{
+ "9:14": true,
+ "4:14": true,
+ "10:14": true,
+ "5:14": true,
+ "7:15": true,
+ "14:15": true,
+ "9:15": true,
+ "10:15": true,
+ "5:15": true,
+ "7:14": true,
+ "13:15": true,
+ "11:14": true,
+ "8:15": true,
+ "6:14": true,
+ "12:15": true,
+ "1:15": true,
+ "11:15": true,
+ "8:14": true,
+ "6:15": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/8_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/8_1.json
index 4b3610ad..917a084f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/8_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/8_1.json
@@ -1 +1,144 @@
-{"9:14":true,"1:1":true,"11:5":[163,254],"8:8":true,"7:12":true,"6:10":true,"10:14":true,"7:15":true,"11:11":true,"10:12":254,"3:0":true,"9:15":true,"0:0":true,"8:1":true,"10:15":true,"7:14":true,"14:1":true,"8:7":true,"0:2":true,"7:13":true,"3:2":true,"15:1":true,"10:13":true,"0:3":true,"8:9":254,"7:10":[184,254],"6:12":true,"3:3":true,"9:13":true,"2:1":true,"11:0":true,"4:3":true,"7:7":true,"5:3":true,"2:15":true,"12:0":true,"9:9":true,"8:10":254,"7:9":[184,254],"6:8":true,"13:1":true,"4:2":true,"9:7":true,"2:14":true,"1:13":true,"11:4":[163,254],"1:14":true,"9:1":true,"7:8":[183,254],"6:9":254,"2:13":true,"5:0":true,"10:1":true,"11:3":true,"8:15":true,"4:0":true,"12:2":true,"1:15":true,"10:8":true,"6:7":254,"11:2":true,"8:14":true,"9:8":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:4":true,"3:13":true,"10:3":true,"0:13":true,"7:2":true,"6:6":true,"11:1":true,"7:4":true,"9:2":true,"13:0":true,"10:2":true,"7:3":true,"13:2":true,"0:15":true,"6:4":true,"10:0":true,"3:15":true,"9:0":true,"7:0":true,"13:3":true,"0:14":true,"13:4":[165,167],"3:14":true,"7:6":true,"15:4":[159,166],"14:3":true,"4:14":true,"6:5":true,"2:2":true,"15:3":true,"6:11":true,"1:0":true,"14:4":true,"11:13":254,"8:0":true,"14:2":true,"0:1":true,"15:2":true,"8:6":true,"3:1":true,"2:3":true,"15:0":true,"1:3":true,"11:14":true,"8:2":true,"14:0":true,"2:0":true,"11:12":254,"5:13":true,"1:2":true,"7:5":true,"11:15":true,"7:11":true,"4:13":true} \ No newline at end of file
+{
+ "9:14": true,
+ "1:1": true,
+ "11:5": [
+ 163,
+ 254
+ ],
+ "8:8": true,
+ "7:12": true,
+ "6:10": true,
+ "10:14": true,
+ "7:15": true,
+ "11:11": true,
+ "10:12": 254,
+ "3:0": true,
+ "9:15": true,
+ "0:0": true,
+ "8:1": true,
+ "10:15": true,
+ "7:14": true,
+ "14:1": true,
+ "8:7": true,
+ "0:2": true,
+ "7:13": true,
+ "3:2": true,
+ "15:1": true,
+ "10:13": true,
+ "0:3": true,
+ "8:9": 254,
+ "7:10": [
+ 184,
+ 254
+ ],
+ "6:12": true,
+ "3:3": true,
+ "9:13": true,
+ "2:1": true,
+ "11:0": true,
+ "4:3": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "12:0": true,
+ "9:9": true,
+ "8:10": 254,
+ "7:9": [
+ 184,
+ 254
+ ],
+ "6:8": true,
+ "13:1": true,
+ "4:2": true,
+ "9:7": true,
+ "2:14": true,
+ "1:13": true,
+ "11:4": [
+ 163,
+ 254
+ ],
+ "1:14": true,
+ "9:1": true,
+ "7:8": [
+ 183,
+ 254
+ ],
+ "6:9": 254,
+ "2:13": true,
+ "5:0": true,
+ "10:1": true,
+ "11:3": true,
+ "8:15": true,
+ "4:0": true,
+ "12:2": true,
+ "1:15": true,
+ "10:8": true,
+ "6:7": 254,
+ "11:2": true,
+ "8:14": true,
+ "9:8": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "3:13": true,
+ "10:3": true,
+ "0:13": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": true,
+ "7:4": true,
+ "9:2": true,
+ "13:0": true,
+ "10:2": true,
+ "7:3": true,
+ "13:2": true,
+ "0:15": true,
+ "6:4": true,
+ "10:0": true,
+ "3:15": true,
+ "9:0": true,
+ "7:0": true,
+ "13:3": true,
+ "0:14": true,
+ "13:4": [
+ 165,
+ 167
+ ],
+ "3:14": true,
+ "7:6": true,
+ "15:4": [
+ 159,
+ 166
+ ],
+ "14:3": true,
+ "4:14": true,
+ "6:5": true,
+ "2:2": true,
+ "15:3": true,
+ "6:11": true,
+ "1:0": true,
+ "14:4": true,
+ "11:13": 254,
+ "8:0": true,
+ "14:2": true,
+ "0:1": true,
+ "15:2": true,
+ "8:6": true,
+ "3:1": true,
+ "2:3": true,
+ "15:0": true,
+ "1:3": true,
+ "11:14": true,
+ "8:2": true,
+ "14:0": true,
+ "2:0": true,
+ "11:12": 254,
+ "5:13": true,
+ "1:2": true,
+ "7:5": true,
+ "11:15": true,
+ "7:11": true,
+ "4:13": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/9_-1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/9_-1.json
index 4887712a..979a9b2f 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/9_-1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/9_-1.json
@@ -1 +1,35 @@
-{"9:14":true,"1:6":true,"8:13":true,"7:12":true,"6:10":true,"5:9":true,"1:5":true,"0:13":true,"4:9":true,"3:5":true,"2:4":true,"9:15":true,"0:1":true,"0:0":true,"4:7":true,"3:6":true,"7:14":true,"5:10":true,"1:3":true,"1:14":186,"7:13":true,"5:11":[220,221],"8:15":true,"0:7":true,"1:2":true,"1:15":true,"6:12":true,"5:8":true,"7:11":true,"2:6":true} \ No newline at end of file
+{
+ "9:14": true,
+ "1:6": true,
+ "8:13": true,
+ "7:12": true,
+ "6:10": true,
+ "5:9": true,
+ "1:5": true,
+ "0:13": true,
+ "4:9": true,
+ "3:5": true,
+ "2:4": true,
+ "9:15": true,
+ "0:1": true,
+ "0:0": true,
+ "4:7": true,
+ "3:6": true,
+ "7:14": true,
+ "5:10": true,
+ "1:3": true,
+ "1:14": 186,
+ "7:13": true,
+ "5:11": [
+ 220,
+ 221
+ ],
+ "8:15": true,
+ "0:7": true,
+ "1:2": true,
+ "1:15": true,
+ "6:12": true,
+ "5:8": true,
+ "7:11": true,
+ "2:6": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/9_1.json b/src/main/resources/assets/notenoughupdates/dwarven_data/9_1.json
index c4fd1b66..f957a1ba 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/9_1.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/9_1.json
@@ -1 +1,280 @@
-{"1:1":true,"8:8":true,"6:10":true,"13:13":true,"3:0":true,"0:0":true,"3:6":true,"14:1":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"4:11":254,"0:2":true,"9:10":true,"5:11":[182,186],"4:5":true,"13:12":true,"3:2":true,"13:14":true,"3:4":true,"0:3":true,"8:9":true,"7:10":true,"3:3":true,"0:4":true,"2:1":true,"14:14":true,"4:3":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"15:14":true,"9:9":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":true,"14:15":true,"4:2":true,"15:15":true,"14:12":true,"9:7":true,"3:11":true,"5:2":true,"2:14":true,"1:13":true,"2:13":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:0":true,"5:6":true,"4:0":true,"15:13":true,"1:15":254,"10:8":true,"6:7":true,"1:12":true,"9:8":true,"14:13":true,"1:11":true,"3:13":true,"1:5":true,"11:8":true,"12:8":true,"14:11":true,"4:1":true,"3:12":true,"11:9":true,"15:5":[157,158],"14:5":true,"5:1":true,"3:15":true,"15:11":true,"12:9":true,"11:7":true,"2:5":true,"12:7":true,"3:14":true,"2:11":true,"14:3":true,"4:14":true,"1:6":254,"11:10":[160,236],"12:10":[159,236],"5:14":true,"2:2":true,"1:0":true,"14:4":true,"5:12":[182,186],"2:4":true,"14:2":true,"13:11":true,"4:15":true,"0:1":true,"4:12":true,"3:1":true,"13:5":true,"5:15":true,"2:3":true,"14:6":true,"1:3":true,"1:4":true,"15:6":[155,158],"14:0":true,"2:0":true,"5:13":true,"1:2":true,"4:13":true,"2:6":true,"15:9":[154,156],"12:11":true,"9:14":[172,236],"11:5":true,"7:12":[236,251],"12:5":true,"10:14":true,"7:15":true,"14:9":[157,233],"11:11":[159,236],"10:12":true,"6:13":true,"15:7":[155,158],"9:15":true,"14:7":[232,233],"9:12":true,"8:1":true,"10:15":true,"7:14":true,"7:13":[236,252],"6:14":true,"15:8":[155,157],"10:13":true,"6:15":true,"14:8":[158,233],"9:13":true,"11:0":true,"12:6":true,"8:13":[174,236],"1:10":true,"12:0":true,"11:6":true,"11:4":true,"9:1":true,"8:12":true,"12:3":true,"15:10":true,"14:10":[169,232],"10:1":true,"12:4":true,"11:3":true,"8:15":[176,235],"12:2":true,"2:10":254,"11:2":true,"8:14":[175,236],"13:9":[159,160],"7:1":true,"12:1":true,"9:3":true,"10:4":true,"5:9":true,"10:3":true,"7:2":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"3:10":254,"7:4":true,"9:2":true,"8:11":true,"10:2":true,"7:3":true,"9:6":true,"10:0":true,"10:6":true,"9:0":true,"7:0":true,"5:8":true,"7:6":true,"6:11":true,"11:13":true,"8:0":true,"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"5:10":[157,186],"3:7":true,"10:11":true,"9:5":true,"4:10":254,"11:14":true,"8:2":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"12:12":true,"11:15":true,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "3:0": true,
+ "0:0": true,
+ "3:6": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": 254,
+ "0:2": true,
+ "9:10": true,
+ "5:11": [
+ 182,
+ 186
+ ],
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": true,
+ "0:4": true,
+ "2:1": true,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "15:14": true,
+ "9:9": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": true,
+ "14:15": true,
+ "4:2": true,
+ "15:15": true,
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "2:14": true,
+ "1:13": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "15:13": true,
+ "1:15": 254,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": true,
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "11:8": true,
+ "12:8": true,
+ "14:11": true,
+ "4:1": true,
+ "3:12": true,
+ "11:9": true,
+ "15:5": [
+ 157,
+ 158
+ ],
+ "14:5": true,
+ "5:1": true,
+ "3:15": true,
+ "15:11": true,
+ "12:9": true,
+ "11:7": true,
+ "2:5": true,
+ "12:7": true,
+ "3:14": true,
+ "2:11": true,
+ "14:3": true,
+ "4:14": true,
+ "1:6": 254,
+ "11:10": [
+ 160,
+ 236
+ ],
+ "12:10": [
+ 159,
+ 236
+ ],
+ "5:14": true,
+ "2:2": true,
+ "1:0": true,
+ "14:4": true,
+ "5:12": [
+ 182,
+ 186
+ ],
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": true,
+ "0:1": true,
+ "4:12": true,
+ "3:1": true,
+ "13:5": true,
+ "5:15": true,
+ "2:3": true,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "15:6": [
+ 155,
+ 158
+ ],
+ "14:0": true,
+ "2:0": true,
+ "5:13": true,
+ "1:2": true,
+ "4:13": true,
+ "2:6": true,
+ "15:9": [
+ 154,
+ 156
+ ],
+ "12:11": true,
+ "9:14": [
+ 172,
+ 236
+ ],
+ "11:5": true,
+ "7:12": [
+ 236,
+ 251
+ ],
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "14:9": [
+ 157,
+ 233
+ ],
+ "11:11": [
+ 159,
+ 236
+ ],
+ "10:12": true,
+ "6:13": true,
+ "15:7": [
+ 155,
+ 158
+ ],
+ "9:15": true,
+ "14:7": [
+ 232,
+ 233
+ ],
+ "9:12": true,
+ "8:1": true,
+ "10:15": true,
+ "7:14": true,
+ "7:13": [
+ 236,
+ 252
+ ],
+ "6:14": true,
+ "15:8": [
+ 155,
+ 157
+ ],
+ "10:13": true,
+ "6:15": true,
+ "14:8": [
+ 158,
+ 233
+ ],
+ "9:13": true,
+ "11:0": true,
+ "12:6": true,
+ "8:13": [
+ 174,
+ 236
+ ],
+ "1:10": true,
+ "12:0": true,
+ "11:6": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "12:3": true,
+ "15:10": true,
+ "14:10": [
+ 169,
+ 232
+ ],
+ "10:1": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": [
+ 176,
+ 235
+ ],
+ "12:2": true,
+ "2:10": 254,
+ "11:2": true,
+ "8:14": [
+ 175,
+ 236
+ ],
+ "13:9": [
+ 159,
+ 160
+ ],
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": 254,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "10:2": true,
+ "7:3": true,
+ "9:6": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": true,
+ "7:0": true,
+ "5:8": true,
+ "7:6": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": true,
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": [
+ 157,
+ 186
+ ],
+ "3:7": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": 254,
+ "11:14": true,
+ "8:2": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/9_2.json b/src/main/resources/assets/notenoughupdates/dwarven_data/9_2.json
index c7c85d2d..77777607 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/9_2.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/9_2.json
@@ -1 +1,217 @@
-{"1:1":true,"8:8":true,"6:10":true,"3:0":true,"0:6":true,"3:6":true,"14:1":true,"13:15":true,"10:10":true,"8:7":true,"5:5":true,"9:10":true,"5:11":true,"4:5":true,"3:2":true,"15:1":true,"3:4":true,"8:9":true,"7:10":true,"2:1":true,"14:14":true,"4:3":true,"5:4":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"9:9":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"14:15":true,"13:1":true,"4:2":true,"9:7":true,"5:2":true,"2:14":true,"7:8":true,"6:9":true,"1:14":true,"5:0":[182,186],"5:6":true,"4:0":254,"1:15":true,"10:8":true,"6:7":true,"9:8":true,"14:13":true,"11:8":true,"13:6":true,"13:0":true,"12:8":true,"13:2":true,"4:1":true,"11:9":true,"15:5":true,"14:5":true,"5:1":[182,186],"3:15":true,"12:9":true,"13:3":true,"11:7":true,"2:5":true,"12:7":true,"3:14":true,"15:4":true,"14:3":true,"4:14":true,"1:6":true,"5:14":true,"2:2":true,"15:3":true,"1:0":true,"14:4":true,"5:12":true,"14:2":true,"4:15":true,"15:2":true,"3:1":true,"13:5":true,"5:15":true,"15:0":true,"14:6":true,"15:6":true,"14:0":true,"2:0":254,"5:13":true,"1:2":true,"2:6":true,"15:9":true,"12:11":true,"9:14":true,"11:5":true,"2:7":true,"7:12":true,"12:5":true,"10:14":true,"7:15":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"15:7":true,"9:15":true,"14:7":true,"9:12":true,"8:1":[177,233],"10:15":true,"7:14":true,"1:8":true,"7:13":true,"6:14":true,"15:8":true,"10:13":true,"6:12":true,"1:7":true,"6:15":true,"14:8":true,"9:13":true,"11:0":true,"12:6":true,"8:13":true,"13:8":true,"12:0":true,"6:1":182,"11:6":true,"12:3":true,"11:4":true,"9:1":[132,233],"8:12":true,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"8:15":true,"12:2":true,"11:2":true,"8:14":true,"13:9":true,"7:1":[181,251],"12:1":true,"9:3":true,"6:0":true,"10:4":true,"5:9":true,"10:3":true,"7:2":true,"6:6":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"7:4":true,"9:2":true,"8:11":true,"10:2":true,"7:3":true,"9:6":true,"6:4":true,"10:0":true,"10:6":true,"9:0":[174,240],"6:3":true,"7:0":true,"5:8":true,"6:2":true,"7:6":true,"6:5":true,"0:8":true,"6:11":true,"11:13":true,"8:0":[177,240],"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"5:10":true,"10:11":true,"9:5":true,"11:14":true,"8:2":true,"0:7":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"12:12":true,"11:15":true,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": true,
+ "6:10": true,
+ "3:0": true,
+ "0:6": true,
+ "3:6": true,
+ "14:1": true,
+ "13:15": true,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "3:2": true,
+ "15:1": true,
+ "3:4": true,
+ "8:9": true,
+ "7:10": true,
+ "2:1": true,
+ "14:14": true,
+ "4:3": true,
+ "5:4": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "9:9": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "9:7": true,
+ "5:2": true,
+ "2:14": true,
+ "7:8": true,
+ "6:9": true,
+ "1:14": true,
+ "5:0": [
+ 182,
+ 186
+ ],
+ "5:6": true,
+ "4:0": 254,
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "9:8": true,
+ "14:13": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "12:8": true,
+ "13:2": true,
+ "4:1": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": [
+ 182,
+ 186
+ ],
+ "3:15": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "12:7": true,
+ "3:14": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "1:6": true,
+ "5:14": true,
+ "2:2": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "5:12": true,
+ "14:2": true,
+ "4:15": true,
+ "15:2": true,
+ "3:1": true,
+ "13:5": true,
+ "5:15": true,
+ "15:0": true,
+ "14:6": true,
+ "15:6": true,
+ "14:0": true,
+ "2:0": 254,
+ "5:13": true,
+ "1:2": true,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "2:7": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "15:7": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": [
+ 177,
+ 233
+ ],
+ "10:15": true,
+ "7:14": true,
+ "1:8": true,
+ "7:13": true,
+ "6:14": true,
+ "15:8": true,
+ "10:13": true,
+ "6:12": true,
+ "1:7": true,
+ "6:15": true,
+ "14:8": true,
+ "9:13": true,
+ "11:0": true,
+ "12:6": true,
+ "8:13": true,
+ "13:8": true,
+ "12:0": true,
+ "6:1": 182,
+ "11:6": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": [
+ 132,
+ 233
+ ],
+ "8:12": true,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "12:2": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": true,
+ "7:1": [
+ 181,
+ 251
+ ],
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "10:2": true,
+ "7:3": true,
+ "9:6": true,
+ "6:4": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": [
+ 174,
+ 240
+ ],
+ "6:3": true,
+ "7:0": true,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "6:5": true,
+ "0:8": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": [
+ 177,
+ 240
+ ],
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "10:11": true,
+ "9:5": true,
+ "11:14": true,
+ "8:2": true,
+ "0:7": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/9_5.json b/src/main/resources/assets/notenoughupdates/dwarven_data/9_5.json
index 51fce837..03686205 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/9_5.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/9_5.json
@@ -1 +1,253 @@
-{"1:1":true,"8:8":true,"6:10":true,"13:13":true,"3:0":true,"0:0":true,"3:6":true,"14:1":true,"13:15":172,"10:10":true,"8:7":true,"5:5":true,"4:11":true,"0:2":true,"9:10":true,"5:11":true,"4:5":true,"13:12":true,"3:2":true,"15:1":true,"13:14":true,"3:4":true,"0:3":true,"8:9":true,"7:10":true,"3:3":true,"2:1":true,"14:14":[172,228],"4:3":true,"5:4":true,"2:12":true,"10:9":true,"7:7":true,"5:3":true,"2:15":true,"15:14":[158,171],"9:9":true,"4:4":true,"10:7":true,"8:10":true,"7:9":true,"6:8":true,"3:5":true,"15:12":[172,173],"14:15":[158,227],"13:1":true,"4:2":true,"15:15":[164,170],"14:12":true,"9:7":true,"3:11":true,"5:2":true,"2:14":true,"1:13":true,"2:13":true,"7:8":true,"6:9":true,"4:6":true,"1:14":true,"5:0":true,"5:6":true,"4:0":true,"15:13":[171,172],"1:15":true,"10:8":true,"6:7":true,"1:12":true,"9:8":true,"14:13":[173,229],"1:11":true,"3:13":true,"1:5":true,"11:8":true,"13:6":true,"13:0":true,"12:8":true,"14:11":true,"13:2":true,"4:1":true,"3:12":true,"11:9":true,"15:5":true,"14:5":true,"5:1":true,"3:15":true,"15:11":true,"12:9":true,"13:3":true,"11:7":true,"2:5":true,"13:4":true,"12:7":true,"3:14":true,"2:11":true,"15:4":true,"14:3":true,"4:14":true,"1:6":true,"11:10":true,"12:10":true,"5:14":true,"2:2":true,"15:3":true,"1:0":true,"14:4":true,"5:12":true,"2:4":true,"14:2":true,"13:11":true,"4:15":true,"15:2":true,"4:12":true,"3:1":true,"13:5":true,"5:15":true,"2:3":true,"15:0":true,"14:6":true,"1:3":true,"1:4":true,"14:0":true,"2:0":true,"5:13":true,"1:2":true,"4:13":true,"2:6":true,"15:9":true,"12:11":true,"9:14":true,"11:5":true,"7:12":true,"12:5":true,"10:14":true,"7:15":true,"14:9":true,"11:11":true,"10:12":true,"6:13":true,"15:7":true,"9:15":true,"14:7":true,"9:12":true,"8:1":true,"13:10":true,"10:15":true,"7:14":true,"7:13":true,"6:14":true,"15:8":true,"10:13":true,"6:12":true,"6:15":true,"14:8":true,"9:13":true,"11:0":true,"12:6":true,"8:13":true,"1:10":true,"13:8":true,"12:0":true,"6:1":true,"11:6":true,"11:4":true,"9:1":true,"8:12":true,"12:3":true,"15:10":true,"14:10":true,"10:1":true,"13:7":true,"12:4":true,"11:3":true,"8:15":true,"12:2":true,"2:10":true,"11:2":true,"8:14":true,"13:9":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"10:4":true,"5:9":true,"10:3":true,"7:2":true,"6:6":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"3:10":true,"7:4":true,"9:2":true,"8:11":true,"10:2":true,"7:3":true,"9:6":true,"6:4":true,"10:0":true,"10:6":true,"9:0":true,"6:3":true,"7:0":true,"5:8":true,"6:2":true,"7:6":true,"6:5":true,"6:11":true,"11:13":true,"8:0":true,"8:6":true,"12:13":true,"12:14":true,"10:5":true,"9:11":true,"5:10":true,"10:11":true,"9:5":true,"4:10":true,"11:14":true,"8:2":true,"12:15":true,"11:12":true,"8:4":true,"7:5":true,"12:12":true,"11:15":true,"8:3":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "8:8": true,
+ "6:10": true,
+ "13:13": true,
+ "3:0": true,
+ "0:0": true,
+ "3:6": true,
+ "14:1": true,
+ "13:15": 172,
+ "10:10": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "0:2": true,
+ "9:10": true,
+ "5:11": true,
+ "4:5": true,
+ "13:12": true,
+ "3:2": true,
+ "15:1": true,
+ "13:14": true,
+ "3:4": true,
+ "0:3": true,
+ "8:9": true,
+ "7:10": true,
+ "3:3": true,
+ "2:1": true,
+ "14:14": [
+ 172,
+ 228
+ ],
+ "4:3": true,
+ "5:4": true,
+ "2:12": true,
+ "10:9": true,
+ "7:7": true,
+ "5:3": true,
+ "2:15": true,
+ "15:14": [
+ 158,
+ 171
+ ],
+ "9:9": true,
+ "4:4": true,
+ "10:7": true,
+ "8:10": true,
+ "7:9": true,
+ "6:8": true,
+ "3:5": true,
+ "15:12": [
+ 172,
+ 173
+ ],
+ "14:15": [
+ 158,
+ 227
+ ],
+ "13:1": true,
+ "4:2": true,
+ "15:15": [
+ 164,
+ 170
+ ],
+ "14:12": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "2:14": true,
+ "1:13": true,
+ "2:13": true,
+ "7:8": true,
+ "6:9": true,
+ "4:6": true,
+ "1:14": true,
+ "5:0": true,
+ "5:6": true,
+ "4:0": true,
+ "15:13": [
+ 171,
+ 172
+ ],
+ "1:15": true,
+ "10:8": true,
+ "6:7": true,
+ "1:12": true,
+ "9:8": true,
+ "14:13": [
+ 173,
+ 229
+ ],
+ "1:11": true,
+ "3:13": true,
+ "1:5": true,
+ "11:8": true,
+ "13:6": true,
+ "13:0": true,
+ "12:8": true,
+ "14:11": true,
+ "13:2": true,
+ "4:1": true,
+ "3:12": true,
+ "11:9": true,
+ "15:5": true,
+ "14:5": true,
+ "5:1": true,
+ "3:15": true,
+ "15:11": true,
+ "12:9": true,
+ "13:3": true,
+ "11:7": true,
+ "2:5": true,
+ "13:4": true,
+ "12:7": true,
+ "3:14": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "4:14": true,
+ "1:6": true,
+ "11:10": true,
+ "12:10": true,
+ "5:14": true,
+ "2:2": true,
+ "15:3": true,
+ "1:0": true,
+ "14:4": true,
+ "5:12": true,
+ "2:4": true,
+ "14:2": true,
+ "13:11": true,
+ "4:15": true,
+ "15:2": true,
+ "4:12": true,
+ "3:1": true,
+ "13:5": true,
+ "5:15": true,
+ "2:3": true,
+ "15:0": true,
+ "14:6": true,
+ "1:3": true,
+ "1:4": true,
+ "14:0": true,
+ "2:0": true,
+ "5:13": true,
+ "1:2": true,
+ "4:13": true,
+ "2:6": true,
+ "15:9": true,
+ "12:11": true,
+ "9:14": true,
+ "11:5": true,
+ "7:12": true,
+ "12:5": true,
+ "10:14": true,
+ "7:15": true,
+ "14:9": true,
+ "11:11": true,
+ "10:12": true,
+ "6:13": true,
+ "15:7": true,
+ "9:15": true,
+ "14:7": true,
+ "9:12": true,
+ "8:1": true,
+ "13:10": true,
+ "10:15": true,
+ "7:14": true,
+ "7:13": true,
+ "6:14": true,
+ "15:8": true,
+ "10:13": true,
+ "6:12": true,
+ "6:15": true,
+ "14:8": true,
+ "9:13": true,
+ "11:0": true,
+ "12:6": true,
+ "8:13": true,
+ "1:10": true,
+ "13:8": true,
+ "12:0": true,
+ "6:1": true,
+ "11:6": true,
+ "11:4": true,
+ "9:1": true,
+ "8:12": true,
+ "12:3": true,
+ "15:10": true,
+ "14:10": true,
+ "10:1": true,
+ "13:7": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "12:2": true,
+ "2:10": true,
+ "11:2": true,
+ "8:14": true,
+ "13:9": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "10:4": true,
+ "5:9": true,
+ "10:3": true,
+ "7:2": true,
+ "6:6": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "3:10": true,
+ "7:4": true,
+ "9:2": true,
+ "8:11": true,
+ "10:2": true,
+ "7:3": true,
+ "9:6": true,
+ "6:4": true,
+ "10:0": true,
+ "10:6": true,
+ "9:0": true,
+ "6:3": true,
+ "7:0": true,
+ "5:8": true,
+ "6:2": true,
+ "7:6": true,
+ "6:5": true,
+ "6:11": true,
+ "11:13": true,
+ "8:0": true,
+ "8:6": true,
+ "12:13": true,
+ "12:14": true,
+ "10:5": true,
+ "9:11": true,
+ "5:10": true,
+ "10:11": true,
+ "9:5": true,
+ "4:10": true,
+ "11:14": true,
+ "8:2": true,
+ "12:15": true,
+ "11:12": true,
+ "8:4": true,
+ "7:5": true,
+ "12:12": true,
+ "11:15": true,
+ "8:3": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/9_6.json b/src/main/resources/assets/notenoughupdates/dwarven_data/9_6.json
index fab5a1e8..1cad6220 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/9_6.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/9_6.json
@@ -1 +1,129 @@
-{"1:1":true,"11:5":true,"2:7":true,"8:8":true,"12:5":true,"7:15":true,"2:9":true,"3:0":true,"9:15":true,"8:1":true,"10:15":true,"14:1":true,"13:15":true,"8:7":true,"5:5":true,"4:11":true,"5:11":true,"3:2":true,"15:1":true,"1:9":true,"1:7":true,"6:15":true,"2:1":true,"11:0":true,"12:6":true,"5:4":true,"5:3":true,"2:15":true,"12:0":234,"6:1":true,"11:6":true,"10:7":true,"14:15":true,"13:1":true,"4:2":true,"0:11":true,"15:15":true,"9:7":true,"3:11":true,"5:2":true,"12:3":true,"11:4":true,"9:1":true,"7:8":true,"5:0":true,"10:1":true,"5:6":true,"12:4":true,"11:3":true,"8:15":true,"4:0":true,"12:2":true,"1:15":true,"10:8":true,"11:2":true,"9:8":true,"7:1":true,"12:1":true,"9:3":true,"6:0":true,"1:11":true,"10:4":true,"10:3":true,"0:13":true,"7:2":true,"11:1":true,"9:4":true,"8:5":true,"5:7":true,"7:4":true,"13:6":true,"9:2":true,"13:0":172,"8:11":true,"4:7":true,"10:2":true,"7:3":true,"13:2":true,"9:6":true,"4:1":true,"0:15":true,"10:0":true,"14:5":true,"10:6":true,"5:1":true,"3:15":true,"9:0":true,"7:0":true,"13:3":true,"11:7":true,"0:14":true,"13:4":true,"12:7":true,"2:11":true,"15:4":true,"14:3":true,"2:2":true,"15:3":true,"6:11":true,"1:0":true,"14:4":true,"8:0":true,"14:2":true,"4:15":true,"15:2":true,"8:6":true,"3:1":true,"13:5":true,"5:15":true,"15:0":true,"10:5":true,"9:11":true,"3:7":true,"9:5":true,"8:2":true,"0:7":true,"14:0":true,"2:0":true,"12:15":true,"8:4":true,"1:2":true,"7:5":true,"3:9":true,"11:15":true,"8:3":true,"0:9":true,"7:11":true} \ No newline at end of file
+{
+ "1:1": true,
+ "11:5": true,
+ "2:7": true,
+ "8:8": true,
+ "12:5": true,
+ "7:15": true,
+ "2:9": true,
+ "3:0": true,
+ "9:15": true,
+ "8:1": true,
+ "10:15": true,
+ "14:1": true,
+ "13:15": true,
+ "8:7": true,
+ "5:5": true,
+ "4:11": true,
+ "5:11": true,
+ "3:2": true,
+ "15:1": true,
+ "1:9": true,
+ "1:7": true,
+ "6:15": true,
+ "2:1": true,
+ "11:0": true,
+ "12:6": true,
+ "5:4": true,
+ "5:3": true,
+ "2:15": true,
+ "12:0": 234,
+ "6:1": true,
+ "11:6": true,
+ "10:7": true,
+ "14:15": true,
+ "13:1": true,
+ "4:2": true,
+ "0:11": true,
+ "15:15": true,
+ "9:7": true,
+ "3:11": true,
+ "5:2": true,
+ "12:3": true,
+ "11:4": true,
+ "9:1": true,
+ "7:8": true,
+ "5:0": true,
+ "10:1": true,
+ "5:6": true,
+ "12:4": true,
+ "11:3": true,
+ "8:15": true,
+ "4:0": true,
+ "12:2": true,
+ "1:15": true,
+ "10:8": true,
+ "11:2": true,
+ "9:8": true,
+ "7:1": true,
+ "12:1": true,
+ "9:3": true,
+ "6:0": true,
+ "1:11": true,
+ "10:4": true,
+ "10:3": true,
+ "0:13": true,
+ "7:2": true,
+ "11:1": true,
+ "9:4": true,
+ "8:5": true,
+ "5:7": true,
+ "7:4": true,
+ "13:6": true,
+ "9:2": true,
+ "13:0": 172,
+ "8:11": true,
+ "4:7": true,
+ "10:2": true,
+ "7:3": true,
+ "13:2": true,
+ "9:6": true,
+ "4:1": true,
+ "0:15": true,
+ "10:0": true,
+ "14:5": true,
+ "10:6": true,
+ "5:1": true,
+ "3:15": true,
+ "9:0": true,
+ "7:0": true,
+ "13:3": true,
+ "11:7": true,
+ "0:14": true,
+ "13:4": true,
+ "12:7": true,
+ "2:11": true,
+ "15:4": true,
+ "14:3": true,
+ "2:2": true,
+ "15:3": true,
+ "6:11": true,
+ "1:0": true,
+ "14:4": true,
+ "8:0": true,
+ "14:2": true,
+ "4:15": true,
+ "15:2": true,
+ "8:6": true,
+ "3:1": true,
+ "13:5": true,
+ "5:15": true,
+ "15:0": true,
+ "10:5": true,
+ "9:11": true,
+ "3:7": true,
+ "9:5": true,
+ "8:2": true,
+ "0:7": true,
+ "14:0": true,
+ "2:0": true,
+ "12:15": true,
+ "8:4": true,
+ "1:2": true,
+ "7:5": true,
+ "3:9": true,
+ "11:15": true,
+ "8:3": true,
+ "0:9": true,
+ "7:11": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dwarven_data/all.json b/src/main/resources/assets/notenoughupdates/dwarven_data/all.json
index 18d6bee9..a0831fbf 100644
--- a/src/main/resources/assets/notenoughupdates/dwarven_data/all.json
+++ b/src/main/resources/assets/notenoughupdates/dwarven_data/all.json
@@ -1 +1,206 @@
-{"1_-6":true,"0_-1":true,"8_8":true,"6_10":true,"-1_-2":true,"-9_5":true,"-2_-9":true,"-1_4":true,"-7_10":true,"-2_5":true,"10_10":true,"-1_6":true,"5_11":true,"4_5":true,"0_-5":true,"0_-3":true,"-1_-4":true,"-3_-10":true,"2_12":true,"5_4":true,"0_-9":true,"7_7":true,"-1_-8":true,"9_9":true,"8_10":true,"7_9":true,"6_8":true,"-4_-9":true,"9_7":true,"-3_-8":true,"0_5":true,"-1_-10":true,"-11_1":true,"5_6":true,"-13_1":true,"10_8":true,"1_11":true,"-9_1":true,"7_16":true,"4_-7":true,"-13_-3":true,"9_16":true,"-12_11":true,"12_8":true,"11_9":true,"1_-8":true,"-13_-1":true,"2_-9":true,"-11_-1":true,"11_7":true,"2_5":true,"1_-10":true,"1_6":true,"-14_11":true,"6_17":true,"12_10":true,"-10_11":true,"-12_0":true,"1_-4":true,"4_12":true,"2_-3":true,"10_17":true,"-1_-6":true,"1_4":true,"-4_-7":true,"-12_-2":true,"0_-7":true,"-3_-6":true,"7_15":true,"11_11":true,"10_12":true,"9_15":true,"7_13":true,"-11_10":true,"6_14":true,"-12_9":true,"6_12":true,"-5_-7":true,"-13_10":true,"9_13":true,"5_16":true,"8_12":true,"6_-7":true,"-10_9":true,"-7_-7":true,"8_14":true,"11_2":true,"2_-11":true,"-5_-9":true,"9_4":true,"8_5":true,"0_-11":true,"-6_11":true,"9_0":true,"-7_-9":true,"11_13":true,"-7_5":true,"-2_-11":true,"9_11":true,"12_12":true,"8_3":true,"7_11":true,"8_-3":true,"0_-4":true,"-1_-3":true,"0_6":true,"-12_1":true,"-1_-5":true,"8_7":true,"4_11":true,"5_5":true,"-2_-10":true,"1_-7":true,"9_10":true,"-1_-1":true,"8_9":true,"7_10":true,"0_4":true,"2_-6":true,"0_-2":true,"-9_6":true,"10_9":true,"-10_1":true,"4_4":true,"10_7":true,"0_11":true,"7_8":true,"6_9":true,"-4_-8":true,"0_-10":true,"-1_5":true,"-3_-9":true,"0_-8":true,"-1_-9":true,"6_7":true,"9_8":true,"5_-7":true,"2_-10":true,"-11_-2":true,"1_5":true,"-11_4":true,"1_-9":true,"-13_-2":true,"10_16":true,"-2_-6":true,"3_12":true,"-11_0":true,"12_9":true,"12_7":true,"6_16":true,"-13_0":true,"2_11":true,"-10_5":true,"11_10":true,"-12_-1":true,"-1_-7":true,"5_12":true,"0_-6":true,"-3_-7":true,"-11_11":true,"9_17":true,"8_16":true,"-13_11":true,"1_-5":true,"-12_-3":true,"-10_10":true,"12_11":true,"9_14":true,"11_5":true,"7_12":true,"-6_-7":true,"6_13":true,"9_12":true,"7_14":true,"5_17":true,"10_13":true,"6_15":true,"1_-11":true,"8_13":true,"-11_9":true,"6_-6":true,"-12_10":true,"8_15":true,"9_3":true,"-5_11":true,"3_-11":true,"8_11":true,"10_2":true,"-1_-11":true,"6_4":true,"10_6":true,"-5_-8":true,"-6_-9":true,"-6_3":true,"6_11":true,"8_6":true,"12_13":true,"-7_11":true,"10_11":true,"8_2":true,"11_12":true,"8_4":true,"-7_-8":true,"-8_10":true} \ No newline at end of file
+{
+ "1_-6": true,
+ "0_-1": true,
+ "8_8": true,
+ "6_10": true,
+ "-1_-2": true,
+ "-9_5": true,
+ "-2_-9": true,
+ "-1_4": true,
+ "-7_10": true,
+ "-2_5": true,
+ "10_10": true,
+ "-1_6": true,
+ "5_11": true,
+ "4_5": true,
+ "0_-5": true,
+ "0_-3": true,
+ "-1_-4": true,
+ "-3_-10": true,
+ "2_12": true,
+ "5_4": true,
+ "0_-9": true,
+ "7_7": true,
+ "-1_-8": true,
+ "9_9": true,
+ "8_10": true,
+ "7_9": true,
+ "6_8": true,
+ "-4_-9": true,
+ "9_7": true,
+ "-3_-8": true,
+ "0_5": true,
+ "-1_-10": true,
+ "-11_1": true,
+ "5_6": true,
+ "-13_1": true,
+ "10_8": true,
+ "1_11": true,
+ "-9_1": true,
+ "7_16": true,
+ "4_-7": true,
+ "-13_-3": true,
+ "9_16": true,
+ "-12_11": true,
+ "12_8": true,
+ "11_9": true,
+ "1_-8": true,
+ "-13_-1": true,
+ "2_-9": true,
+ "-11_-1": true,
+ "11_7": true,
+ "2_5": true,
+ "1_-10": true,
+ "1_6": true,
+ "-14_11": true,
+ "6_17": true,
+ "12_10": true,
+ "-10_11": true,
+ "-12_0": true,
+ "1_-4": true,
+ "4_12": true,
+ "2_-3": true,
+ "10_17": true,
+ "-1_-6": true,
+ "1_4": true,
+ "-4_-7": true,
+ "-12_-2": true,
+ "0_-7": true,
+ "-3_-6": true,
+ "7_15": true,
+ "11_11": true,
+ "10_12": true,
+ "9_15": true,
+ "7_13": true,
+ "-11_10": true,
+ "6_14": true,
+ "-12_9": true,
+ "6_12": true,
+ "-5_-7": true,
+ "-13_10": true,
+ "9_13": true,
+ "5_16": true,
+ "8_12": true,
+ "6_-7": true,
+ "-10_9": true,
+ "-7_-7": true,
+ "8_14": true,
+ "11_2": true,
+ "2_-11": true,
+ "-5_-9": true,
+ "9_4": true,
+ "8_5": true,
+ "0_-11": true,
+ "-6_11": true,
+ "9_0": true,
+ "-7_-9": true,
+ "11_13": true,
+ "-7_5": true,
+ "-2_-11": true,
+ "9_11": true,
+ "12_12": true,
+ "8_3": true,
+ "7_11": true,
+ "8_-3": true,
+ "0_-4": true,
+ "-1_-3": true,
+ "0_6": true,
+ "-12_1": true,
+ "-1_-5": true,
+ "8_7": true,
+ "4_11": true,
+ "5_5": true,
+ "-2_-10": true,
+ "1_-7": true,
+ "9_10": true,
+ "-1_-1": true,
+ "8_9": true,
+ "7_10": true,
+ "0_4": true,
+ "2_-6": true,
+ "0_-2": true,
+ "-9_6": true,
+ "10_9": true,
+ "-10_1": true,
+ "4_4": true,
+ "10_7": true,
+ "0_11": true,
+ "7_8": true,
+ "6_9": true,
+ "-4_-8": true,
+ "0_-10": true,
+ "-1_5": true,
+ "-3_-9": true,
+ "0_-8": true,
+ "-1_-9": true,
+ "6_7": true,
+ "9_8": true,
+ "5_-7": true,
+ "2_-10": true,
+ "-11_-2": true,
+ "1_5": true,
+ "-11_4": true,
+ "1_-9": true,
+ "-13_-2": true,
+ "10_16": true,
+ "-2_-6": true,
+ "3_12": true,
+ "-11_0": true,
+ "12_9": true,
+ "12_7": true,
+ "6_16": true,
+ "-13_0": true,
+ "2_11": true,
+ "-10_5": true,
+ "11_10": true,
+ "-12_-1": true,
+ "-1_-7": true,
+ "5_12": true,
+ "0_-6": true,
+ "-3_-7": true,
+ "-11_11": true,
+ "9_17": true,
+ "8_16": true,
+ "-13_11": true,
+ "1_-5": true,
+ "-12_-3": true,
+ "-10_10": true,
+ "12_11": true,
+ "9_14": true,
+ "11_5": true,
+ "7_12": true,
+ "-6_-7": true,
+ "6_13": true,
+ "9_12": true,
+ "7_14": true,
+ "5_17": true,
+ "10_13": true,
+ "6_15": true,
+ "1_-11": true,
+ "8_13": true,
+ "-11_9": true,
+ "6_-6": true,
+ "-12_10": true,
+ "8_15": true,
+ "9_3": true,
+ "-5_11": true,
+ "3_-11": true,
+ "8_11": true,
+ "10_2": true,
+ "-1_-11": true,
+ "6_4": true,
+ "10_6": true,
+ "-5_-8": true,
+ "-6_-9": true,
+ "-6_3": true,
+ "6_11": true,
+ "8_6": true,
+ "12_13": true,
+ "-7_11": true,
+ "10_11": true,
+ "8_2": true,
+ "11_12": true,
+ "8_4": true,
+ "-7_-8": true,
+ "-8_10": true
+}
diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style1/dynamic_config.json b/src/main/resources/assets/notenoughupdates/dynamic_54/style1/dynamic_config.json
index 05dbf61a..43135433 100644
--- a/src/main/resources/assets/notenoughupdates/dynamic_54/style1/dynamic_config.json
+++ b/src/main/resources/assets/notenoughupdates/dynamic_54/style1/dynamic_config.json
@@ -1,3 +1,3 @@
{
- "text-colour": "FF000000"
-} \ No newline at end of file
+ "text-colour": "FF000000"
+}
diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style2/dynamic_config.json b/src/main/resources/assets/notenoughupdates/dynamic_54/style2/dynamic_config.json
index 05dbf61a..43135433 100644
--- a/src/main/resources/assets/notenoughupdates/dynamic_54/style2/dynamic_config.json
+++ b/src/main/resources/assets/notenoughupdates/dynamic_54/style2/dynamic_config.json
@@ -1,3 +1,3 @@
{
- "text-colour": "FF000000"
-} \ No newline at end of file
+ "text-colour": "FF000000"
+}
diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style3/dynamic_config.json b/src/main/resources/assets/notenoughupdates/dynamic_54/style3/dynamic_config.json
index 5ae75066..11b64060 100644
--- a/src/main/resources/assets/notenoughupdates/dynamic_54/style3/dynamic_config.json
+++ b/src/main/resources/assets/notenoughupdates/dynamic_54/style3/dynamic_config.json
@@ -1,3 +1,3 @@
{
- "text-colour": "FFC8C8C8"
-} \ No newline at end of file
+ "text-colour": "FFC8C8C8"
+}
diff --git a/src/main/resources/assets/notenoughupdates/invbuttons/extraicons.json b/src/main/resources/assets/notenoughupdates/invbuttons/extraicons.json
index 5a99f3f0..d4e501c4 100644
--- a/src/main/resources/assets/notenoughupdates/invbuttons/extraicons.json
+++ b/src/main/resources/assets/notenoughupdates/invbuttons/extraicons.json
@@ -1,18 +1,18 @@
{
- "baubles ring": "baubles",
- "baubles gold ring": "baubles_gold",
- "cross x": "cross",
- "green check mark": "green_check",
- "white check mark": "white_check",
- "question mark help": "question",
- "settings cog config": "settings",
- "accessory ring": "accessory",
- "accessory ring gold": "accessory_gold",
- "armor chestplate": "armor",
- "armor gold chestplate": "armor_gold",
- "pet cat": "pet",
- "pet cat gold": "pet_gold",
- "skyblock menu": "skyblock_menu",
- "recipe book": "recipe",
- "search glass": "search"
-} \ No newline at end of file
+ "baubles ring": "baubles",
+ "baubles gold ring": "baubles_gold",
+ "cross x": "cross",
+ "green check mark": "green_check",
+ "white check mark": "white_check",
+ "question mark help": "question",
+ "settings cog config": "settings",
+ "accessory ring": "accessory",
+ "accessory ring gold": "accessory_gold",
+ "armor chestplate": "armor",
+ "armor gold chestplate": "armor_gold",
+ "pet cat": "pet",
+ "pet cat gold": "pet_gold",
+ "skyblock menu": "skyblock_menu",
+ "recipe book": "recipe",
+ "search glass": "search"
+}
diff --git a/src/main/resources/assets/notenoughupdates/invbuttons/presets.json b/src/main/resources/assets/notenoughupdates/invbuttons/presets.json
index d3065f30..4de328ae 100644
--- a/src/main/resources/assets/notenoughupdates/invbuttons/presets.json
+++ b/src/main/resources/assets/notenoughupdates/invbuttons/presets.json
@@ -1,2739 +1,2739 @@
{
- "Empty":[
- {
- "x":87,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"",
- "icon":""
- },
- {
- "x":108,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"",
- "icon":""
- },
- {
- "x":129,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"",
- "icon":""
- },
- {
- "x":150,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"",
- "icon":""
- },
- {
- "x":87,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":108,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":129,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":150,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":87,
- "y":25,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":105,
- "y":25,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":87,
- "y":43,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":105,
- "y":43,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":143,
- "y":35,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":60,
- "y":8,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"",
- "icon":""
- },
- {
- "x":60,
- "y":60,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":26,
- "y":8,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":26,
- "y":60,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":22,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":42,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":62,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":-84,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":-64,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":"",
- "icon":""
- },
- {
- "x":2,
- "y":-44,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":-24,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":4,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":25,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":46,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":67,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":88,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":109,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":130,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":151,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":22,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":42,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":62,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-84,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-64,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-44,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-24,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":4,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":25,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":46,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":67,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":88,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":109,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":130,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":151,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- }
- ],
- "Empty (Dark)":[
- {
- "x":87,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":"",
- "icon":""
- },
- {
- "x":108,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":"",
- "icon":""
- },
- {
- "x":129,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":"",
- "icon":""
- },
- {
- "x":150,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":"",
- "icon":""
- },
- {
- "x":87,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":108,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":129,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":150,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":87,
- "y":25,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":105,
- "y":25,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":87,
- "y":43,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":105,
- "y":43,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":143,
- "y":35,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":60,
- "y":8,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":"",
- "icon":""
- },
- {
- "x":60,
- "y":60,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":26,
- "y":8,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":26,
- "y":60,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":2,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":2,
- "y":22,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":2,
- "y":42,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":2,
- "y":62,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":2,
- "y":-84,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":2,
- "y":-64,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":"",
- "icon":""
- },
- {
- "x":2,
- "y":-44,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":2,
- "y":-24,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":4,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":25,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":46,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":67,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":88,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":109,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":130,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":151,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":-19,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":-19,
- "y":22,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":-19,
- "y":42,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":-19,
- "y":62,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":-19,
- "y":-84,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":-19,
- "y":-64,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":-19,
- "y":-44,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":-19,
- "y":-24,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":4,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":25,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":46,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":67,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":88,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":109,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":130,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- },
- {
- "x":151,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":1,
- "command":""
- }
- ],
- "Simple":[
- {
- "x":87,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/warp home",
- "icon":"skull:c9c8881e42915a9d29bb61a16fb26d059913204d265df5b439b3d792acd56"
- },
- {
- "x":108,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/warp hub",
- "icon":"skull:d7cc6687423d0570d556ac53e0676cb563bbdd9717cd8269bdebed6f6d4e7bf8"
- },
- {
- "x":129,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/enderchest",
- "icon":"ENDER_CHEST"
- },
- {
- "x":150,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/pets",
- "icon":"extra:pet_gold"
- },
- {
- "x":87,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":108,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":129,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":150,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":87,
- "y":25,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":105,
- "y":25,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":87,
- "y":43,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":105,
- "y":43,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":143,
- "y":35,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":60,
- "y":8,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":2,
- "command":"/wardrobe",
- "icon":"extra:baubles_gold"
- },
- {
- "x":60,
- "y":60,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":26,
- "y":8,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":26,
- "y":60,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":22,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":42,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":62,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":-84,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":-64,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":"",
- "icon":"BONE"
- },
- {
- "x":2,
- "y":-44,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":-24,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":4,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":25,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":46,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":67,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":88,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":109,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":130,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":151,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":22,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":42,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":62,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-84,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-64,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-44,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-24,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":4,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":25,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":46,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":67,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":88,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":109,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":130,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":151,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- }
- ],
- "All Warps":[
- {
- "x": 87,
- "y": 63,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "pets",
- "icon": "extra:pet_gold"
- },
- {
- "x": 108,
- "y": 63,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "/wardrobe",
- "icon": "extra:armor"
- },
- {
- "x": 129,
- "y": 63,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "/enderchest",
- "icon": "ENDER_CHEST"
- },
- {
- "x": 150,
- "y": 63,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "hotm",
- "icon": "skull:86f06eaa3004aeed09b3d5b45d976de584e691c0e9cade133635de93d23b9edb"
- },
- {
- "x": 87,
- "y": 5,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "",
- "icon": "GOLD_BLOCK"
- },
- {
- "x": 108,
- "y": 5,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 129,
- "y": 5,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 150,
- "y": 5,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "/pv",
- "icon": "PAINTING"
- },
- {
- "x": 87,
- "y": 25,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 105,
- "y": 25,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 87,
- "y": 43,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 105,
- "y": 43,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 143,
- "y": 35,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 60,
- "y": 8,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "",
- "icon": "extra:baubles_gold"
- },
- {
- "x": 60,
- "y": 60,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 26,
- "y": 8,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 26,
- "y": 60,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "/ah",
- "icon": "GOLD_BLOCK"
- },
- {
- "x": 2,
- "y": 22,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "/bz",
- "icon": "GOLD_BARDING"
- },
- {
- "x": 2,
- "y": 42,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": 62,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "warp museum",
- "icon": "skull:438cf3f8e54afc3b3f91d20a49f324dca1486007fe545399055524c17941f4dc"
- },
- {
- "x": 2,
- "y": -84,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp home",
- "icon": "skull:c9c8881e42915a9d29bb61a16fb26d059913204d265df5b439b3d792acd56"
- },
- {
- "x": 2,
- "y": -64,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp hub",
- "icon": "skull:d7cc6687423d0570d556ac53e0676cb563bbdd9717cd8269bdebed6f6d4e7bf8"
- },
- {
- "x": 2,
- "y": -44,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp dungeon_hub",
- "icon": "skull:9b56895b9659896ad647f58599238af532d46db9c1b0389b8bbeb70999dab33d"
- },
- {
- "x": 2,
- "y": -24,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp end",
- "icon": "skull:7840b87d52271d2a755dedc82877e0ed3df67dcc42ea479ec146176b02779a5"
- },
- {
- "x": 4,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 25,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 46,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 67,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 88,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 109,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 130,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 151,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": -19,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": -19,
- "y": 22,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": -19,
- "y": 42,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": -19,
- "y": 62,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": -19,
- "y": -84,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": -19,
- "y": -64,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": -19,
- "y": -44,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "warp barn",
- "icon": "skull:4d3a6bd98ac1833c664c4909ff8d2dc62ce887bdcf3cc5b3848651ae5af6b"
- },
- {
- "x": -19,
- "y": -24,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "warp desert",
- "icon": "skull:51539dddf9ed255ece6348193cd75012c82c93aec381f05572cecf7379711b3b"
- },
- {
- "x": 4,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp gold",
- "icon": "skull:73bc965d579c3c6039f0a17eb7c2e6faf538c7a5de8e60ec7a719360d0a857a9"
- },
- {
- "x": 25,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp deep",
- "icon": "skull:569a1f114151b4521373f34bc14c2963a5011cdc25a6554c48c708cd96ebfc"
- },
- {
- "x": 46,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp crystals",
- "icon": "skull:21dbe30b027acbceb612563bd877cd7ebb719ea6ed1399027dcee58bb9049d4a"
- },
- {
- "x": 67,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp forge",
- "icon": "skull:5cbd9f5ec1ed007259996491e69ff649a3106cf920227b1bb3a71ee7a89863f"
- },
- {
- "x": 88,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp mines",
- "icon": "skull:6b20b23c1aa2be0270f016b4c90d6ee6b8330a17cfef87869d6ad60b2ffbf3b5"
- },
- {
- "x": 109,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp park",
- "icon": "skull:a221f813dacee0fef8c59f76894dbb26415478d9ddfc44c2e708a6d3b7549b"
- },
- {
- "x": 130,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp spider",
- "icon": "skull:9d7e3b19ac4f3dee9c5677c135333b9d35a7f568b63d1ef4ada4b068b5a25"
- },
- {
- "x": 151,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/warp nether",
- "icon": "skull:c3687e25c632bce8aa61e0d64c24e694c3eea629ea944f4cf30dcfb4fbce071"
- }
- ],
- "More Buttons":[
- {
- "x":87,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/sbmenu",
- "icon":"SKYBLOCK_MENU"
- },
- {
- "x":108,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"enderchest",
- "icon":"ENDER_CHEST"
- },
- {
- "x":129,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"pets",
- "icon":"BONE"
- },
- {
- "x":150,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"effects",
- "icon":"POTION"
- },
- {
- "x":87,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/recipes",
- "icon":"extra:recipe"
- },
- {
- "x":108,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/collections",
- "icon":"PAINTING"
- },
- {
- "x":129,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/scg",
- "icon":"BOOK"
- },
- {
- "x":150,
- "y":5,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/calendar",
- "icon":"BOOK_AND_QUILL"
- },
- {
- "x":87,
- "y":25,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"",
- "icon":"CHEST"
- },
- {
- "x":105,
- "y":25,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":87,
- "y":43,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":105,
- "y":43,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":143,
- "y":35,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"craft",
- "icon":"WORKBENCH"
- },
- {
- "x":60,
- "y":8,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":2,
- "command":"/wardrobe",
- "icon":"extra:baubles_gold"
- },
- {
- "x":60,
- "y":60,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":26,
- "y":8,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":26,
- "y":60,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/warp hub",
- "icon":"skull:d7cc6687423d0570d556ac53e0676cb563bbdd9717cd8269bdebed6f6d4e7bf8"
- },
- {
- "x":2,
- "y":22,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/warp home",
- "icon":"skull:c9c8881e42915a9d29bb61a16fb26d059913204d265df5b439b3d792acd56"
- },
- {
- "x":2,
- "y":42,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":62,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":-84,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":"",
- "icon":""
- },
- {
- "x":2,
- "y":-64,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":"",
- "icon":"BONE"
- },
- {
- "x":2,
- "y":-44,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":2,
- "y":-24,
- "playerInvOnly":false,
- "anchorRight":true,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":4,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":25,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":46,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":67,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":88,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":109,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":130,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":151,
- "y":-19,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/ah",
- "icon":"GOLD_BLOCK"
- },
- {
- "x":-19,
- "y":22,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"/bz",
- "icon":"GOLD_BARDING"
- },
- {
- "x":-19,
- "y":42,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":62,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-84,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-64,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-44,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":-19,
- "y":-24,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":4,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":25,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":46,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":67,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":88,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":109,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":130,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- },
- {
- "x":151,
- "y":2,
- "playerInvOnly":false,
- "anchorRight":false,
- "anchorBottom":true,
- "backgroundIndex":0,
- "command":""
- }
- ],
- "Dungeons":[
- {
- "x":87,
- "y":63,
- "playerInvOnly":true,
- "anchorRight":false,
- "anchorBottom":false,
- "backgroundIndex":0,
- "command":"",
- "icon":""
- },
- {
- "x": 108,
- "y": 63,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "warp dungeon_hub",
- "icon": "skull:9b56895b9659896ad647f58599238af532d46db9c1b0389b8bbeb70999dab33d"
- },
- {
- "x": 129,
- "y": 63,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "reparty",
- "icon": "COMMAND"
- },
- {
- "x": 150,
- "y": 63,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "pets",
- "icon": "extra:pet_gold"
- },
- {
- "x": 87,
- "y": 5,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 108,
- "y": 5,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 129,
- "y": 5,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 150,
- "y": 5,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 87,
- "y": 25,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 105,
- "y": 25,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 87,
- "y": 43,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 105,
- "y": 43,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 143,
- "y": 35,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 60,
- "y": 8,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 2,
- "command": "/wardrobe",
- "icon": "extra:baubles_gold"
- },
- {
- "x": 60,
- "y": 60,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 26,
- "y": 8,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 26,
- "y": 60,
- "playerInvOnly": true,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": 22,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": 42,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": 62,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": -84,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": -64,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "",
- "icon": ""
- },
- {
- "x": 2,
- "y": -44,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 2,
- "y": -24,
- "playerInvOnly": false,
- "anchorRight": true,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 4,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon master_catacombs 1",
- "icon": "DIAMOND_BONZO_HEAD"
- },
- {
- "x": 25,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon master_catacombs 2",
- "icon": "DIAMOND_SCARF_HEAD"
- },
- {
- "x": 46,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon master_catacombs 3",
- "icon": "DIAMOND_PROFESSOR_HEAD"
- },
- {
- "x": 67,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon master_catacombs 4",
- "icon": "DIAMOND_THORN_HEAD"
- },
- {
- "x": 88,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon master_catacombs 5",
- "icon": "DIAMOND_LIVID_HEAD"
- },
- {
- "x": 109,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon master_catacombs 6",
- "icon": "DIAMOND_SADAN_HEAD"
- },
- {
- "x": 130,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon master_catacombs 7",
- "icon": "DIAMOND_NECRON_HEAD"
- },
- {
- "x": 151,
- "y": -19,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": -19,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon catacombs 1",
- "icon": "GOLD_BONZO_HEAD"
- },
- {
- "x": -19,
- "y": 22,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon catacombs 2",
- "icon": "GOLD_SCARF_HEAD"
- },
- {
- "x": -19,
- "y": 42,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon catacombs 3",
- "icon": "GOLD_PROFESSOR_HEAD"
- },
- {
- "x": -19,
- "y": 62,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": false,
- "backgroundIndex": 0,
- "command": "joindungeon catacombs 4",
- "icon": "GOLD_THORN_HEAD"
- },
- {
- "x": -19,
- "y": -84,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "joindungeon catacombs 5",
- "icon": "GOLD_LIVID_HEAD"
- },
- {
- "x": -19,
- "y": -64,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "/joindungeon catacombs 6",
- "icon": "GOLD_SADAN_HEAD"
- },
- {
- "x": -19,
- "y": -44,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": "joindungeon catacombs 7",
- "icon": "GOLD_NECRON_HEAD"
- },
- {
- "x": -19,
- "y": -24,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 4,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 25,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 46,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 67,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 88,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 109,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 130,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- },
- {
- "x": 151,
- "y": 2,
- "playerInvOnly": false,
- "anchorRight": false,
- "anchorBottom": true,
- "backgroundIndex": 0,
- "command": ""
- }
- ]
+ "Empty": [
+ {
+ "x": 87,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 108,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 129,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 150,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 87,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 108,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 129,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 150,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 143,
+ "y": 35,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 60,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 60,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 2,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ }
+ ],
+ "Empty (Dark)": [
+ {
+ "x": 87,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 108,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 129,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 150,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 87,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 108,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 129,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 150,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 143,
+ "y": 35,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 60,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 60,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 2,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 1,
+ "command": ""
+ }
+ ],
+ "Simple": [
+ {
+ "x": 87,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/warp home",
+ "icon": "skull:c9c8881e42915a9d29bb61a16fb26d059913204d265df5b439b3d792acd56"
+ },
+ {
+ "x": 108,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/warp hub",
+ "icon": "skull:d7cc6687423d0570d556ac53e0676cb563bbdd9717cd8269bdebed6f6d4e7bf8"
+ },
+ {
+ "x": 129,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/enderchest",
+ "icon": "ENDER_CHEST"
+ },
+ {
+ "x": 150,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/pets",
+ "icon": "extra:pet_gold"
+ },
+ {
+ "x": 87,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 108,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 129,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 150,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 143,
+ "y": 35,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 60,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 2,
+ "command": "/wardrobe",
+ "icon": "extra:baubles_gold"
+ },
+ {
+ "x": 60,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": "BONE"
+ },
+ {
+ "x": 2,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ }
+ ],
+ "All Warps": [
+ {
+ "x": 87,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "pets",
+ "icon": "extra:pet_gold"
+ },
+ {
+ "x": 108,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/wardrobe",
+ "icon": "extra:armor"
+ },
+ {
+ "x": 129,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/enderchest",
+ "icon": "ENDER_CHEST"
+ },
+ {
+ "x": 150,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "hotm",
+ "icon": "skull:86f06eaa3004aeed09b3d5b45d976de584e691c0e9cade133635de93d23b9edb"
+ },
+ {
+ "x": 87,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": "GOLD_BLOCK"
+ },
+ {
+ "x": 108,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 129,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 150,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/pv",
+ "icon": "PAINTING"
+ },
+ {
+ "x": 87,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 143,
+ "y": 35,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 60,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": "extra:baubles_gold"
+ },
+ {
+ "x": 60,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/ah",
+ "icon": "GOLD_BLOCK"
+ },
+ {
+ "x": 2,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/bz",
+ "icon": "GOLD_BARDING"
+ },
+ {
+ "x": 2,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "warp museum",
+ "icon": "skull:438cf3f8e54afc3b3f91d20a49f324dca1486007fe545399055524c17941f4dc"
+ },
+ {
+ "x": 2,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp home",
+ "icon": "skull:c9c8881e42915a9d29bb61a16fb26d059913204d265df5b439b3d792acd56"
+ },
+ {
+ "x": 2,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp hub",
+ "icon": "skull:d7cc6687423d0570d556ac53e0676cb563bbdd9717cd8269bdebed6f6d4e7bf8"
+ },
+ {
+ "x": 2,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp dungeon_hub",
+ "icon": "skull:9b56895b9659896ad647f58599238af532d46db9c1b0389b8bbeb70999dab33d"
+ },
+ {
+ "x": 2,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp end",
+ "icon": "skull:7840b87d52271d2a755dedc82877e0ed3df67dcc42ea479ec146176b02779a5"
+ },
+ {
+ "x": 4,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "warp barn",
+ "icon": "skull:4d3a6bd98ac1833c664c4909ff8d2dc62ce887bdcf3cc5b3848651ae5af6b"
+ },
+ {
+ "x": -19,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "warp desert",
+ "icon": "skull:51539dddf9ed255ece6348193cd75012c82c93aec381f05572cecf7379711b3b"
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp gold",
+ "icon": "skull:73bc965d579c3c6039f0a17eb7c2e6faf538c7a5de8e60ec7a719360d0a857a9"
+ },
+ {
+ "x": 25,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp deep",
+ "icon": "skull:569a1f114151b4521373f34bc14c2963a5011cdc25a6554c48c708cd96ebfc"
+ },
+ {
+ "x": 46,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp crystals",
+ "icon": "skull:21dbe30b027acbceb612563bd877cd7ebb719ea6ed1399027dcee58bb9049d4a"
+ },
+ {
+ "x": 67,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp forge",
+ "icon": "skull:5cbd9f5ec1ed007259996491e69ff649a3106cf920227b1bb3a71ee7a89863f"
+ },
+ {
+ "x": 88,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp mines",
+ "icon": "skull:6b20b23c1aa2be0270f016b4c90d6ee6b8330a17cfef87869d6ad60b2ffbf3b5"
+ },
+ {
+ "x": 109,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp park",
+ "icon": "skull:a221f813dacee0fef8c59f76894dbb26415478d9ddfc44c2e708a6d3b7549b"
+ },
+ {
+ "x": 130,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp spider",
+ "icon": "skull:9d7e3b19ac4f3dee9c5677c135333b9d35a7f568b63d1ef4ada4b068b5a25"
+ },
+ {
+ "x": 151,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/warp nether",
+ "icon": "skull:c3687e25c632bce8aa61e0d64c24e694c3eea629ea944f4cf30dcfb4fbce071"
+ }
+ ],
+ "More Buttons": [
+ {
+ "x": 87,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/sbmenu",
+ "icon": "SKYBLOCK_MENU"
+ },
+ {
+ "x": 108,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "enderchest",
+ "icon": "ENDER_CHEST"
+ },
+ {
+ "x": 129,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "pets",
+ "icon": "BONE"
+ },
+ {
+ "x": 150,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "effects",
+ "icon": "POTION"
+ },
+ {
+ "x": 87,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/recipes",
+ "icon": "extra:recipe"
+ },
+ {
+ "x": 108,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/collections",
+ "icon": "PAINTING"
+ },
+ {
+ "x": 129,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/scg",
+ "icon": "BOOK"
+ },
+ {
+ "x": 150,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/calendar",
+ "icon": "BOOK_AND_QUILL"
+ },
+ {
+ "x": 87,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": "CHEST"
+ },
+ {
+ "x": 105,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 143,
+ "y": 35,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "craft",
+ "icon": "WORKBENCH"
+ },
+ {
+ "x": 60,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 2,
+ "command": "/wardrobe",
+ "icon": "extra:baubles_gold"
+ },
+ {
+ "x": 60,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/warp hub",
+ "icon": "skull:d7cc6687423d0570d556ac53e0676cb563bbdd9717cd8269bdebed6f6d4e7bf8"
+ },
+ {
+ "x": 2,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/warp home",
+ "icon": "skull:c9c8881e42915a9d29bb61a16fb26d059913204d265df5b439b3d792acd56"
+ },
+ {
+ "x": 2,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 2,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": "BONE"
+ },
+ {
+ "x": 2,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/ah",
+ "icon": "GOLD_BLOCK"
+ },
+ {
+ "x": -19,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "/bz",
+ "icon": "GOLD_BARDING"
+ },
+ {
+ "x": -19,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ }
+ ],
+ "Dungeons": [
+ {
+ "x": 87,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 108,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "warp dungeon_hub",
+ "icon": "skull:9b56895b9659896ad647f58599238af532d46db9c1b0389b8bbeb70999dab33d"
+ },
+ {
+ "x": 129,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "reparty",
+ "icon": "COMMAND"
+ },
+ {
+ "x": 150,
+ "y": 63,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "pets",
+ "icon": "extra:pet_gold"
+ },
+ {
+ "x": 87,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 108,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 129,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 150,
+ "y": 5,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 25,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 87,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 105,
+ "y": 43,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 143,
+ "y": 35,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 60,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 2,
+ "command": "/wardrobe",
+ "icon": "extra:baubles_gold"
+ },
+ {
+ "x": 60,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 8,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 26,
+ "y": 60,
+ "playerInvOnly": true,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "",
+ "icon": ""
+ },
+ {
+ "x": 2,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 2,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": true,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon master_catacombs 1",
+ "icon": "DIAMOND_BONZO_HEAD"
+ },
+ {
+ "x": 25,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon master_catacombs 2",
+ "icon": "DIAMOND_SCARF_HEAD"
+ },
+ {
+ "x": 46,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon master_catacombs 3",
+ "icon": "DIAMOND_PROFESSOR_HEAD"
+ },
+ {
+ "x": 67,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon master_catacombs 4",
+ "icon": "DIAMOND_THORN_HEAD"
+ },
+ {
+ "x": 88,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon master_catacombs 5",
+ "icon": "DIAMOND_LIVID_HEAD"
+ },
+ {
+ "x": 109,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon master_catacombs 6",
+ "icon": "DIAMOND_SADAN_HEAD"
+ },
+ {
+ "x": 130,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon master_catacombs 7",
+ "icon": "DIAMOND_NECRON_HEAD"
+ },
+ {
+ "x": 151,
+ "y": -19,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": -19,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon catacombs 1",
+ "icon": "GOLD_BONZO_HEAD"
+ },
+ {
+ "x": -19,
+ "y": 22,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon catacombs 2",
+ "icon": "GOLD_SCARF_HEAD"
+ },
+ {
+ "x": -19,
+ "y": 42,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon catacombs 3",
+ "icon": "GOLD_PROFESSOR_HEAD"
+ },
+ {
+ "x": -19,
+ "y": 62,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": false,
+ "backgroundIndex": 0,
+ "command": "joindungeon catacombs 4",
+ "icon": "GOLD_THORN_HEAD"
+ },
+ {
+ "x": -19,
+ "y": -84,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "joindungeon catacombs 5",
+ "icon": "GOLD_LIVID_HEAD"
+ },
+ {
+ "x": -19,
+ "y": -64,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "/joindungeon catacombs 6",
+ "icon": "GOLD_SADAN_HEAD"
+ },
+ {
+ "x": -19,
+ "y": -44,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": "joindungeon catacombs 7",
+ "icon": "GOLD_NECRON_HEAD"
+ },
+ {
+ "x": -19,
+ "y": -24,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 25,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 46,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 67,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 88,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 109,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 130,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ },
+ {
+ "x": 151,
+ "y": 2,
+ "playerInvOnly": false,
+ "anchorRight": false,
+ "anchorBottom": true,
+ "backgroundIndex": 0,
+ "command": ""
+ }
+ ]
}
diff --git a/src/main/resources/assets/notenoughupdates/official-wiki.css b/src/main/resources/assets/notenoughupdates/official-wiki.css
index a9f82a32..f942a3f0 100644
--- a/src/main/resources/assets/notenoughupdates/official-wiki.css
+++ b/src/main/resources/assets/notenoughupdates/official-wiki.css
@@ -1 +1,22622 @@
-.client-js .mw-dismissable-notice { display: none}.mw-dismissable-notice-close { visibility: hidden}.sitedir-ltr .mw-dismissable-notice-close { float: right}.sitedir-rtl .mw-dismissable-notice-close { float: left}.sitedir-ltr .mw-dismissable-notice-body { margin: .5em 20% .5em 5em}.sitedir-rtl .mw-dismissable-notice-body { margin: .5em 5em .5em 20%}.hlist dl,.hlist ol,.hlist ul { margin: 0; padding: 0}.hlist dl dl,.hlist ol dl,.hlist ul dl,.hlist dl ol,.hlist ol ol,.hlist ul ol,.hlist dl ul,.hlist ol ul,.hlist ul ul { display: inline}.hlist dd,.hlist dt,.hlist li { margin: 0; display: inline}ul.hlist li,.hlist>ul li,.hlist>dl li { display: inline-block; margin-right: 8px}.hlist-separated li:after { content: '•'!important; padding-left: 8px; font-size: 1em; line-height: 1}.hlist-separated :last-child:after { content: none!important}.mw-ui-button { background-color: #f8f9fa; color: #202122; display: inline-block; -moz-box-sizing: border-box; box-sizing: border-box; border: 1px solid #a2a9b1; border-radius: 2px; cursor: pointer; vertical-align: middle; font-family: inherit; font-size: 1em; font-weight: 700; line-height: 1.28571429em; text-align: center; -webkit-appearance: none}.mw-ui-button:not(.mw-ui-icon-element) { min-height: 32px; min-width: 4em; max-width: 28.75em; margin: 0; padding: 5px 12px}.mw-ui-button:not(:disabled) { -webkit-transition: background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms; transition: background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms}.mw-ui-button:not(:disabled):visited { color: #202122}.mw-ui-button:not(:disabled):hover { background-color: #fff; color: #404244; border-color: #a2a9b1}.mw-ui-button:not(:disabled):focus { color: #202122; border-color: #36c; box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff; outline-width: 0}.mw-ui-button:not(:disabled):focus::-moz-focus-inner { border-color: transparent; padding: 0}.mw-ui-button:not(:disabled):active,.mw-ui-button:not(:disabled).is-on { background-color: #c8ccd1; color: #000; border-color: #72777d; box-shadow: none}.mw-ui-button:disabled { background-color: #c8ccd1; color: #fff; border-color: #c8ccd1; cursor: default}.mw-ui-button.mw-ui-icon-element:not(.mw-ui-icon-with-label-desktop) { color: transparent!important}.mw-ui-button.mw-ui-icon-element:not(.mw-ui-icon-with-label-desktop) span { display: block; position: absolute!important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; overflow: hidden}@media all and (max-width: 1000px) { .mw-ui-button.mw-ui-icon-element.mw-ui-icon-with-label-desktop { color:transparent!important } .mw-ui-button.mw-ui-icon-element span { display: block; position: absolute!important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; overflow: hidden }}.mw-ui-button.mw-ui-quiet,.mw-ui-button.mw-ui-quiet.mw-ui-progressive,.mw-ui-button.mw-ui-quiet.mw-ui-destructive { background-color: transparent; color: #202122; border-color: transparent; font-weight: 700}.mw-ui-button.mw-ui-quiet:not(.mw-ui-icon-element),.mw-ui-button.mw-ui-quiet.mw-ui-progressive:not(.mw-ui-icon-element),.mw-ui-button.mw-ui-quiet.mw-ui-destructive:not(.mw-ui-icon-element) { min-height: 32px}input[type=checkbox]:hover+.mw-ui-button.mw-ui-quiet,input[type=checkbox]:hover+.mw-ui-button.mw-ui-quiet.mw-ui-progressive,input[type=checkbox]:hover+.mw-ui-button.mw-ui-quiet.mw-ui-destructive,.mw-ui-button.mw-ui-quiet:hover,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0,24,73,.02745098); color: #202122; border-color: transparent}input[type=checkbox]:focus+.mw-ui-button.mw-ui-quiet,input[type=checkbox]:focus+.mw-ui-button.mw-ui-quiet.mw-ui-progressive,input[type=checkbox]:focus+.mw-ui-button.mw-ui-quiet.mw-ui-destructive,.mw-ui-button.mw-ui-quiet:focus,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: #202122; border-color: #36c; box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff}input[type=checkbox]:active+.mw-ui-button.mw-ui-quiet,input[type=checkbox]:active+.mw-ui-button.mw-ui-quiet.mw-ui-progressive,input[type=checkbox]:active+.mw-ui-button.mw-ui-quiet.mw-ui-destructive,.mw-ui-button.mw-ui-quiet:active,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:active,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0,36,73,.08235294); color: #000; border-color: #72777d; box-shadow: none}.mw-ui-button.mw-ui-quiet:disabled,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled,.mw-ui-button.mw-ui-quiet:disabled:hover,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled:hover,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled:hover,.mw-ui-button.mw-ui-quiet:disabled:active,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled:active,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled:active { background-color: transparent; color: #72777d; border-color: transparent}.mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: #36c; color: #fff; border-color: #36c}.mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: #447ff5; border-color: #447ff5}.mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff}.mw-ui-button.mw-ui-progressive:not(:disabled):active,.mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: #2a4b8d; border-color: #2a4b8d; box-shadow: none}.mw-ui-button.mw-ui-progressive:disabled { background-color: #c8ccd1; color: #fff; border-color: #c8ccd1}.mw-ui-button.mw-ui-progressive.mw-ui-quiet { color: #36c; background-color: transparent; border-color: transparent}input[type=checkbox]:hover+.mw-ui-button.mw-ui-progressive.mw-ui-quiet,.mw-ui-button.mw-ui-progressive.mw-ui-quiet:hover { background-color: rgba(52,123,255,.2); border-color: transparent; color: #447ff5}input[type=checkbox]:focus+.mw-ui-button.mw-ui-progressive.mw-ui-quiet,.mw-ui-button.mw-ui-progressive.mw-ui-quiet:focus { color: #36c; border-color: #36c}input[type=checkbox]:active+.mw-ui-button.mw-ui-progressive.mw-ui-quiet,.mw-ui-button.mw-ui-progressive.mw-ui-quiet:active { color: #fff; background-color: #2a4b8d; border-color: #2a4b8d}.mw-ui-button.mw-ui-destructive:not(:disabled) { background-color: #d33; color: #fff; border-color: #d33}.mw-ui-button.mw-ui-destructive:not(:disabled):hover { background-color: #ff4242; border-color: #ff4242}.mw-ui-button.mw-ui-destructive:not(:disabled):focus { box-shadow: inset 0 0 0 1px #d33,inset 0 0 0 2px #fff}.mw-ui-button.mw-ui-destructive:not(:disabled):active,.mw-ui-button.mw-ui-destructive:not(:disabled).is-on { background-color: #b32424; border-color: #b32424; box-shadow: none}.mw-ui-button.mw-ui-destructive:disabled { background-color: #c8ccd1; color: #fff; border-color: #c8ccd1}.mw-ui-button.mw-ui-destructive.mw-ui-quiet { color: #d33; background-color: transparent; border-color: transparent}input[type=checkbox]:hover+.mw-ui-button.mw-ui-destructive.mw-ui-quiet,.mw-ui-button.mw-ui-destructive.mw-ui-quiet:hover { background-color: rgba(209,29,19,.2); border-color: transparent; color: #ff4242}input[type=checkbox]:focus+.mw-ui-button.mw-ui-destructive.mw-ui-quiet,.mw-ui-button.mw-ui-destructive.mw-ui-quiet:focus { color: #d33; border-color: #d33}input[type=checkbox]:active+.mw-ui-button.mw-ui-destructive.mw-ui-quiet,.mw-ui-button.mw-ui-destructive.mw-ui-quiet:active { color: #fff; background-color: #b32424; border-color: #b32424}.mw-ui-button.mw-ui-big { font-size: 1.3em}.mw-ui-button.mw-ui-block { display: block; width: 100%; margin-left: auto; margin-right: auto}a.mw-ui-button { text-decoration: none}a.mw-ui-button:hover,a.mw-ui-button:focus { text-decoration: none}.mw-ui-button-group>* { min-width: 48px; border-radius: 0; float: left}.mw-ui-button-group>*:first-child { border-top-left-radius: 2px; border-bottom-left-radius: 2px}.mw-ui-button-group>*:not(:first-child) { border-left: 0}.mw-ui-button-group>*:last-child { border-top-right-radius: 2px; border-bottom-right-radius: 2px}.mw-ui-button-group .is-on .button { cursor: default}.mw-ui-icon { font-size: initial; position: relative; display: inline-block; box-sizing: content-box!important; width: 1.25em; height: 1.25em; min-width: 1.25em; min-height: 1.25em; flex-basis: 1.25em; vertical-align: middle; line-height: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; -moz-appearance: none; -webkit-appearance: none; background-color: transparent; border: 0; margin: 0; padding: 0}.mw-ui-icon:before { content: ''; display: block; width: 100%; height: 100%; min-width: 1.25em; min-height: 1.25em; background-repeat: no-repeat; background-size: 1.25em 1.25em; background-position: center}.mw-ui-icon-flush-top { margin-top: -.75em}.mw-ui-icon-flush-left { margin-left: -.75em}.mw-ui-icon-flush-right { margin-right: -.75em}.mw-ui-icon-element { border-radius: 2px; padding: .75em; -webkit-transition: background-color 100ms; transition: background-color 100ms; color: transparent}.mw-ui-icon-element:focus,.mw-ui-icon-element:active,.mw-ui-icon-element:visited { color: transparent}.mw-ui-icon-element:active { background-color: rgba(0,0,0,.03)}@media(hover: hover) { .mw-ui-icon-element:not(.disabled):hover { background-color:rgba(0,0,0,.03) }}.mw-ui-icon-small { width: 1em; height: 1em; min-width: 1em; min-height: 1em; flex-basis: 1em; line-height: 1em}.mw-ui-icon-small:before { content: ''; display: block; width: 100%; height: 100%; min-width: 1em; min-height: 1em; background-repeat: no-repeat; background-size: 1em 1em; background-position: center}.mw-ui-icon-small.mw-ui-icon-element { padding: .5625em}.mw-ui-icon-small.mw-ui-icon-flush-left { margin-left: -.5625em}.mw-ui-icon-small.mw-ui-icon-flush-right { margin-right: -.5625em}.mw-ui-icon-small.mw-ui-icon-before:before { min-width: 1em; min-height: 1em; margin-right: .5625em}.mw-ui-icon-before { width: auto; max-width: 100%}.mw-ui-icon-before:before { display: inline-block; font-size: initial; width: auto; min-width: 1.25em; min-height: 1.25em; margin-right: 8px; vertical-align: middle}.mw-ui-icon-before span { vertical-align: middle}@media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop { color:#54595d; width: auto; line-height: inherit; flex-basis: auto } .mw-ui-icon-with-label-desktop:hover,.mw-ui-icon-with-label-desktop:focus,.mw-ui-icon-with-label-desktop:active,.mw-ui-icon-with-label-desktop:visited { color: #54595d; text-decoration: none } .mw-ui-icon-with-label-desktop:before { width: auto; display: inline-block; margin-right: 8px; vertical-align: text-bottom }}.minerva__tab-container { white-space: nowrap; overflow-x: auto}.minerva__tab-container .minerva__tab { font-size: .85em; margin: 0 10px 0 0; color: #54595d; font-weight: 700; padding-bottom: 6px; display: inline-block}.minerva__tab-container .minerva__tab:visited,.minerva__tab-container .minerva__tab:hover,.minerva__tab-container .minerva__tab:active,.minerva__tab-container .minerva__tab.new,.minerva__tab-container .minerva__tab.new:visited,.minerva__tab-container .minerva__tab.new:active,.minerva__tab-container .minerva__tab.new:hover { color: #54595d; text-decoration: none}.minerva__tab-container .minerva__tab:last-child { margin-right: 0}.minerva__tab-container .minerva__tab.selected { border-bottom: 2px solid #54595d}.toggle-list__list--drop-down { -webkit-transform: translateY(-8px); -ms-transform: translateY(-8px); transform: translateY(-8px); -webkit-tap-highlight-color: transparent}.minerva-animations-ready .toggle-list__list--drop-down { -webkit-transition: opacity 100ms ease-in-out,-webkit-tap-highlight-color 0s ease-in-out,transform 100ms ease-in-out,visibility 100ms ease-in-out; transition: opacity 100ms ease-in-out,-webkit-tap-highlight-color 0s ease-in-out,transform 100ms ease-in-out,visibility 100ms ease-in-out}.toggle-list__checkbox:checked~.toggle-list__list--drop-down { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0)}.toggle-list-item { display: block; padding: .75em .875em}.toggle-list-item:hover { background: #eaecf0}.toggle-list-item__anchor { display: block; line-height: 1}.toggle-list-item__anchor:hover { text-decoration: none}.toggle-list-item__anchor:visited,.toggle-list-item__anchor:active { color: #54595d}.toggle-list-item__icon { vertical-align: middle}.toggle-list-item__label { text-align: left; color: #54595d; font-weight: 700; white-space: nowrap; vertical-align: middle; font-size: .875em}.minerva-user-menu-list { top: 100%; right: -.75em; min-width: 200px; border-radius: 2px}.minerva--history-page-action-enabled .page-actions-menu__list-item { flex-basis: auto}.minerva--history-page-action-enabled .page-actions-menu__list-item:first-child { flex-grow: 0}.page-actions-overflow-list { top: 100%; right: -.75em; border-radius: 2px}.mw-ui-icon-minerva-ellipsis:before { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg)}@media screen { @counter-style meetei { system: numeric; symbols: '\ABF0''\ABF1''\ABF2''\ABF3''\ABF4''\ABF5''\ABF6''\ABF7''\ABF8''\ABF9'; suffix: ') ' } @counter-style santali { system: numeric; symbols: '\1C50''\1C51''\1C52''\1C53''\1C54''\1C55''\1C56''\1C57''\1C58''\1C59' } ol:lang(azb) li,ol:lang(bcc) li,ol:lang(bgn) li,ol:lang(bqi) li,ol:lang(fa) li,ol:lang(glk) li,ol:lang(kk-arab) li,ol:lang(lrc) li,ol:lang(luz) li,ol:lang(mzn) li { list-style-type: persian } ol:lang(ckb) li,ol:lang(sdh) li { list-style-type: arabic-indic } ol:lang(hi) li,ol:lang(mai) li,ol:lang(mr) li,ol:lang(ne) li { list-style-type: devanagari } ol:lang(as) li,ol:lang(bn) li { list-style-type: bengali } ol:lang(mni) li { list-style-type: meetei } ol:lang(or) li { list-style-type: oriya } ol:lang(sat) li { list-style-type: santali }}div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,ins,em,img,small,strike,strong,sub,sup,tt,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,input,button,select,audio,video { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline; background: 0 0}table,caption,tbody,tfoot,thead,tr,th,td { font-size: 100%}caption { font-weight: 700}button { border: 0; background-color: transparent; cursor: pointer}input { line-height: normal}ul { list-style: none}table { border-collapse: collapse}html,body { height: 100%}html { font-size: 100%; -webkit-text-size-adjust: none}body { background-color: transparent; color: #202122; margin: 0}main { display: block}.mw-body { border-top: 1px solid transparent; padding-bottom: 32px}.overlay-enabled,.mw-body { background-color: transparent}.header-container { border-bottom: 1px solid #c8ccd1; padding: 0 16px}.header-container.header-chrome { background-color: #eaecf0; border: 0; box-shadow: inset 0 -1px 3px rgba(0,0,0,.08)}.navigation-drawer--loading,#footer-info-lastmod { display: none}.header { display: table; width: 100%; border-spacing: 0; border-collapse: collapse; height: 3.375em; white-space: nowrap; border-top: 1px solid #c8ccd1; margin-top: -1px}.header>div,.header>.navigation-drawer { position: relative; vertical-align: middle; display: table-cell}.header>div a { display: block}.header .branding-box { width: auto; opacity: .66}.header .branding-box h1,.header .branding-box a { margin-left: 5px; font-size: 1em; text-decoration: none; color: #202122}.header .branding-box h1 span,.header .branding-box a span { line-height: 1; font-size: inherit}.header .branding-box h1 img,.header .branding-box a img { vertical-align: middle}.header .branding-box h1>*,.header .branding-box a>* { float: left}.header .branding-box h1 sup,.header .branding-box a sup { color: #54595d; display: none}.beta .header .branding-box h1 sup,.beta .header .branding-box a sup { display: initial}.header>.header-title { vertical-align: middle}#searchInput { cursor: text}.search-box,.header .search-box { display: none; width: auto}.search-box .search { background-color: #fff; background-position: left .5em center; background-repeat: no-repeat; background-size: 1.125em; -webkit-appearance: none; width: 100%; margin-top: 0; height: 2.25em; border: 1px solid #fff; border-radius: 2px; padding: 7px 0 7px 2.0625em; box-shadow: 0 1px 1px rgba(0,0,0,.05); outline: 0; -webkit-transition: border-color 250ms,box-shadow 250ms; transition: border-color 250ms,box-shadow 250ms}.client-nojs .search-box .search:focus,.search-overlay .search-box .search:focus { border-color: #36c; box-shadow: inset 0 0 0 1px #36c,0 1px 1px rgba(0,0,0,.05)}input.search::-webkit-search-decoration,input.search::-webkit-search-cancel-button,input.search::-webkit-search-results-button,input.search::-webkit-search-results-decoration { display: none}.content h2 { clear: left}.content .collapsible-heading .edit-page { visibility: hidden}.content .collapsible-heading.open-block .edit-page { visibility: visible}.content .mw-parser-output>h2,.content .section-heading { border-bottom: 1px solid #eaecf0; margin-bottom: .5em}.content .mw-parser-output>h1,.content .mw-parser-output>h2,.content .mw-parser-output>h3,.content .mw-parser-output>h4,.content .mw-parser-output>h5,.content .section-heading,.content .in-block { display: table}.content .mw-parser-output>h1 .mw-headline,.content .mw-parser-output>h2 .mw-headline,.content .mw-parser-output>h3 .mw-headline,.content .mw-parser-output>h4 .mw-headline,.content .mw-parser-output>h5 .mw-headline,.content .section-heading .mw-headline,.content .in-block .mw-headline { width: 100%}.content .mw-parser-output>h1>span,.content .mw-parser-output>h2>span,.content .mw-parser-output>h3>span,.content .mw-parser-output>h4>span,.content .mw-parser-output>h5>span,.content .section-heading>span,.content .in-block>span { display: table-cell; vertical-align: middle}.content .mw-parser-output>h1>.mw-editsection>.mw-ui-icon-element,.content .mw-parser-output>h2>.mw-editsection>.mw-ui-icon-element,.content .mw-parser-output>h3>.mw-editsection>.mw-ui-icon-element,.content .mw-parser-output>h4>.mw-editsection>.mw-ui-icon-element,.content .mw-parser-output>h5>.mw-editsection>.mw-ui-icon-element,.content .section-heading>.mw-editsection>.mw-ui-icon-element,.content .in-block>.mw-editsection>.mw-ui-icon-element { margin-top: -.75em; margin-bottom: -.75em}.client-nojs .section-heading .indicator { display: none}#page-secondary-actions { clear: both}#page-secondary-actions a { margin: 10px 2px 2px 0}#bodyContent .panel .content,.overlay .content-header,.overlay .panel,.page-list.side-list .list-thumb,.page-list li,.topic-title-list li,.site-link-list li,.drawer,.messagebox,.errorbox,.successbox,.warningbox,.list-header,.mw-revision { padding-left: 16px; padding-right: 16px}.talk-overlay .comment .comment-content,.image-list,.pre-content,#mw-content-text>form>.oo-ui-fieldLayout>.oo-ui-fieldLayout-body,#mw-content-text>form>.oo-ui-widget,.content,.post-content { margin: 0 16px}.minerva__subtitle { margin-top: 10px; margin-bottom: 10px}.minerva__subtitle:empty { margin: 0}@media all and (min-width: 720px) { .page-summary-list,.topic-title-list,.site-link-list,.overlay .panel,.list-header { padding-left:3.35em; padding-right: 3.35em }}.heading-holder { padding: 20px 0 0; position: relative}.heading-holder .tagline { color: #54595d; font-size: .85em}.page-heading { margin-bottom: 12px}.mw-ui-icon-element.disabled,.language-selector.disabled { cursor: default; opacity: .25}#page-actions { position: relative}.page-actions-menu { -moz-box-sizing: border-box; box-sizing: border-box; border-top: 1px solid #eaecf0; border-bottom: 1px solid #c8ccd1; margin-top: -1px}.page-actions-menu__list { display: flex; height: 3em; justify-content: space-between}.page-actions-menu__list-item { display: flex; justify-content: flex-end; align-items: center; min-width: 0; overflow: hidden}.page-actions-menu__list-item>a { font-weight: 500}.page-actions-menu__list-item li>*:hover { box-shadow: none}.page-actions-menu__list-item:first-child { flex-grow: 1; justify-content: flex-start; margin-left: -8px}.page-actions-menu__list-item:last-child { margin-right: -8px}.client-nojs .watch-this-article { visibility: hidden}.client-nojs .is-authenticated .watch-this-article { visibility: visible}@media all and (max-width: 320px - 1) { .client-nojs #page-actions { display:none } .client-nojs #section_0 { border: 0 }}.minerva-user-navigation { display: flex; min-width: 7em; min-height: 3.375em; height: 100%; width: 100%; align-items: center; justify-content: flex-end; position: relative}.minerva-user-navigation>*:last-child { margin-right: -.75em}.view-border-box *,.view-border-box { -moz-box-sizing: border-box; box-sizing: border-box}.client-js .mw-redirectedfrom,.printfooter,.jsonly { display: none}.client-js .jsonly { display: inherit}.hidden { display: none!important}#mw-mf-viewport { position: relative; height: 100%}#mw-mf-page-center { width: 100%; min-height: 100%; position: relative; background-color: #eaecf0}.content { position: relative; z-index: 0}.minerva-footer { border-top: solid 1px #c8ccd1; overflow: auto; padding-bottom: 6px}.client-nojs footer .indicator,.client-nojs .mw-footer .indicator { display: none}footer .hlist li:after,.mw-footer .hlist li:after { color: #36c}footer>.post-content,.mw-footer>.post-content { overflow: auto; margin-top: 42px}footer>.post-content>*,.mw-footer>.post-content>* { margin-bottom: 9px}footer>.post-content>h2,.mw-footer>.post-content>h2 { border-bottom: solid 1px #c8ccd1; padding-bottom: 10px; margin-top: 42px; font-size: 1em; font-weight: 700}footer>.post-content>h2:first-child,.mw-footer>.post-content>h2:first-child { margin-top: 0}footer>.post-content .hlist,.mw-footer>.post-content .hlist,footer>.post-content .license,.mw-footer>.post-content .license { font-size: .875em}.last-modified-bar { border-bottom: solid 1px #c8ccd1; background-color: #eaecf0; color: #72777d; padding-top: .75em; padding-bottom: .75em; font-size: .875em; -webkit-transition: background-color 250ms,color 250ms; transition: background-color 250ms,color 250ms}.last-modified-bar a,.last-modified-bar a:visited { color: #54595d}.last-modified-bar a:nth-child(1),.last-modified-bar a:visited:nth-child(1) { font-weight: 700}.last-modified-bar a.external { background-image: none; padding-right: 0}.last-modified-bar__content { align-items: center; display: -ms-flexbox; display: flex}.last-modified-bar__text { padding-right: 3.5em; padding-left: .75em; line-height: 1.65; vertical-align: middle; flex-grow: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap}@media(max-width: 720px) { .last-modified-bar__text { padding-right:1em }}@media print { .noprint,.banner-container,.header,.minerva__tab-container,.page-actions-menu,.post-content { display: none } h1,h2,h3,h4,h5,h6 { page-break-after: avoid } table,figure,img { page-break-inside: avoid } img { max-width: 100% } img.image-lazy-loaded { -webkit-animation: none!important; animation: none!important }}@media print and (max-device-width: 720px) { @page { margin:50px 0 } html { padding: 0 50px } .header-container,.header-container.header-chrome { background: #fff; box-shadow: none!important } .header { border-top: 0; display: block; height: auto; padding: 0 16px } .header .branding-box { padding-left: 0!important } .header .branding-box sup { display: none!important } .header>nav,.header>div { display: none!important } .header>.branding-box { height: auto; display: block!important; padding: 0 0 51px 50px } .header>.branding-box h1 { font-size: inherit } .header>.branding-box h1>* { float: none } .header>.branding-box h1 img { height: 41px; width: auto; vertical-align: inherit } .hatnote,.pre-content #page-actions { display: none } .pre-content { display: block; padding: 51px 0 35px } .pre-content h1 { font-size: 70px; font-weight: 400; font-style: italic; font-stretch: normal; line-height: normal; letter-spacing: normal; text-align: left; color: #000 } .pre-content .tagline { font-size: 36px } .mw-body>.content { padding-top: 55px; position: relative } .mw-body>.content:before { top: 0 } .thumbinner { width: auto!important } .thumbinner>a { width: 100% } .thumb { position: relative; padding: 58px 0!important; text-align: left; margin: 0!important } .thumb:after { bottom: 30px } .thumb:after,.mw-body>.content:before { position: absolute; left: 0; content: ''; display: block; width: 55px; height: 2px; background: #999 } .thumbcaption { margin-top: 23px!important; width: 100%; font-style: italic; font-size: 28px } [class|=mw-content] { font-size: 36px } [class|=mw-content] a { text-decoration: underline; color: #202122 } [class|=mw-content] blockquote { color: #54595d; padding: 5px 39px; font-style: italic } [class|=mw-content] .section-heading { border-bottom: 0; padding-bottom: 0; margin-bottom: 16px } [class|=mw-content] h2 { font-size: 48px } [class|=mw-content] h3 { font-size: 40px; margin-bottom: 13px } [class|=mw-content] h4,[class|=mw-content] h5,[class|=mw-content] h6 { font-size: 36px; margin-bottom: 12px } [class|=mw-content] .wikitable { font-size: 16px } [class|=mw-content] .infobox { font-size: 30px } .references .mw-cite-backlink { display: none } .references .reference-text { font-style: italic } .references a { text-decoration: none } .references .external.text { background-image: none } .printfooter { display: block; padding-top: 108px; font-size: 30px } #mw-mf-page-center>footer { border-top: solid 4px #000; padding-top: 23px; background: #fff!important } #mw-mf-page-center>footer .mw-ui-icon:before { display: none!important } #mw-mf-page-center>footer .last-modified-bar { background: 0 0!important; border: 0!important } #mw-mf-page-center>footer .last-modifier-tagline { font-size: 36px; padding-top: 0!important; padding-bottom: 16px!important } #mw-mf-page-center>footer .last-modified-bar,#mw-mf-page-center>footer .last-modified-bar a { font-weight: 700!important; color: #000!important } #mw-mf-page-center>footer .post-content { margin-top: 15px!important; display: block } #mw-mf-page-center>footer .post-content .hlist,#mw-mf-page-center>footer .post-content h2 { display: none } #mw-mf-page-center>footer .post-content .license a,#mw-mf-page-center>footer .post-content .license { font-size: 30px; color: #999; font-weight: 400 }}@font-face { font-family: raleway; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format('woff2'); unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face { font-family: raleway; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format('woff2'); unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face { font-family: raleway; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format('woff2'); unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face { font-family: raleway; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format('woff2'); unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face { font-family: raleway; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face { font-family: neuton; font-style: italic; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBRrPtMoH62xUZCyrg2Wi_FBw.woff2) format('woff2'); unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face { font-family: neuton; font-style: italic; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBRrPtMoH62xUZCyrg4Wi8.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face { font-family: neuton; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKAKkvcwr4Pro.woff2) format('woff2'); unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face { font-family: neuton; font-style: normal; font-weight: 200; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKAKkvfQr4.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face { font-family: neuton; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKZKovcwr4Pro.woff2) format('woff2'); unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face { font-family: neuton; font-style: normal; font-weight: 300; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKZKovfQr4.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face { font-family: neuton; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBTrPtMoH62xUZCwYg6Qis.woff2) format('woff2'); unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face { font-family: neuton; font-style: normal; font-weight: 400; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBTrPtMoH62xUZCz4g6.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face { font-family: neuton; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKdK0vcwr4Pro.woff2) format('woff2'); unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face { font-family: neuton; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKdK0vfQr4.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face { font-family: neuton; font-style: normal; font-weight: 800; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKaK4vcwr4Pro.woff2) format('woff2'); unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face { font-family: neuton; font-style: normal; font-weight: 800; font-display: swap; src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKaK4vfQr4.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@media screen and (min-width: 1000px) { .header { max-width:1250px!important }}.banner-container,.header,.page-header-bar,.overlay-header,.content,.overlay-content,.content-unstyled,.pre-content,.post-content,.last-modified-bar,#mw-content-text>form { max-width: 1250px!important}.page-Main_Page .page-heading,.page-Main_Page .pre-content { display: none!important}.page-Main_Page pre { display: none}.page-Main_Page .blocks-list { display: flex; flex-wrap: wrap; justify-content: space-evenly; list-style: none; column-gap: 20px; row-gap: 20px; padding: 0; margin: 0}.page-Main_Page .blocks-item { box-sizing: border-box; color: #ffc376; display: flex; flex: 1 0 180px; text-align: center; margin: 0!important; border: 1px solid #ecebeb; border-radius: 8px; box-shadow: 0 2px 15px rgba(175,175,175,.2); flex-flow: wrap; position: relative}.page-Main_Page .blocks-item:hover { box-shadow: 0 2px 15px rgba(231,135,27,.4)!important; cursor: pointer; top: -2px}.page-Main_Page .blocks-item>a { color: #ffc376; padding: 0 10px 15px; display: flex; flex-direction: column; flex: 1; justify-content: center; border-radius: inherit; text-decoration: none; background-color: transparent}.page-Main_Page .block-icon { background-position: top center; background-repeat: no-repeat; background-size: contain; height: 140px; margin: 0; transition: all .1s ease-in-out}.page-Main_Page .blocks-item-title { margin: 0; font-size: 22px; color: #ffc376}.page-Main_Page .blocks-item-description:not(:empty) { margin-top: 10px}.page-Main_Page .blocks-item-description { font-weight: 300; margin: 0; color: #1a1a1a}.page-Main_Page .block-icon:before { content: ""; display: block; position: relative}.page-Main_Page .blocks-item#block-accessories>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/accessories.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/accessories.png) 2x)}.page-Main_Page .blocks-item#block-accessories>a>.block-icon:before,.page-Main_Page .blocks-item#block-accessories:hover>a>.block-icon,.page-Main_Page .blocks-item#block-accessories>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/accessories.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/accessories.ro.png) 2x)}.page-Main_Page .blocks-item#block-armor>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/armor.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/armor.png) 2x)}.page-Main_Page .blocks-item#block-armor>a>.block-icon:before,.page-Main_Page .blocks-item#block-armor:hover>a>.block-icon,.page-Main_Page .blocks-item#block-armor>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/armor.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/armor.ro.png) 2x)}.page-Main_Page .blocks-item#block-collections>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/collections.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/collections.png) 2x)}.page-Main_Page .blocks-item#block-collections>a>.block-icon:before,.page-Main_Page .blocks-item#block-collections:hover>a>.block-icon,.page-Main_Page .blocks-item#block-collections>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/collections.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/collections.ro.png) 2x)}.page-Main_Page .blocks-item#block-hub>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/hub.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/hub.png) 2x)}.page-Main_Page .blocks-item#block-hub>a>.block-icon:before,.page-Main_Page .blocks-item#block-hub:hover>a>.block-icon,.page-Main_Page .blocks-item#block-hub>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/hub.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/hub.ro.png) 2x)}.page-Main_Page .blocks-item#block-fairysouls>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/fairysouls.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/fairysouls.png) 2x)}.page-Main_Page .blocks-item#block-fairysouls>a>.block-icon:before,.page-Main_Page .blocks-item#block-fairysouls:hover>a>.block-icon,.page-Main_Page .blocks-item#block-fairysouls>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/fairysouls.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/fairysouls.ro.png) 2x)}.page-Main_Page .blocks-item#block-island>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/island.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/island.png) 2x)}.page-Main_Page .blocks-item#block-island>a>.block-icon:before,.page-Main_Page .blocks-item#block-island:hover>a>.block-icon,.page-Main_Page .blocks-item#block-island>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/island.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/island.ro.png) 2x)}.page-Main_Page .blocks-item#block-locations>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/locations.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/locations.png) 2x)}.page-Main_Page .blocks-item#block-locations>a>.block-icon:before,.page-Main_Page .blocks-item#block-locations:hover>a>.block-icon,.page-Main_Page .blocks-item#block-locations>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/locations.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/locations.ro.png) 2x)}.page-Main_Page .blocks-item#block-minions>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/minions.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/minions.png) 2x)}.page-Main_Page .blocks-item#block-minions>a>.block-icon:before,.page-Main_Page .blocks-item#block-minions:hover>a>.block-icon,.page-Main_Page .blocks-item#block-minions>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/minions.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/minions.ro.png) 2x)}.page-Main_Page .blocks-item#block-pets>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/pets.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/pets.png) 2x)}.page-Main_Page .blocks-item#block-pets>a>.block-icon:before,.page-Main_Page .blocks-item#block-pets:hover>a>.block-icon,.page-Main_Page .blocks-item#block-pets>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/pets.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/pets.ro.png) 2x)}.page-Main_Page .blocks-item#block-reforging>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/reforging.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/reforging.png) 2x)}.page-Main_Page .blocks-item#block-reforging>a>.block-icon:before,.page-Main_Page .blocks-item#block-reforging:hover>a>.block-icon,.page-Main_Page .blocks-item#block-reforging>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/reforging.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/reforging.ro.png) 2x)}.page-Main_Page .blocks-item#block-skills>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/skills.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/skills.png) 2x)}.page-Main_Page .blocks-item#block-skills>a>.block-icon:before,.page-Main_Page .blocks-item#block-skills:hover>a>.block-icon,.page-Main_Page .blocks-item#block-skills>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/skills.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/skills.ro.png) 2x)}.page-Main_Page .blocks-item#block-stats>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/stats.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/stats.png) 2x)}.page-Main_Page .blocks-item#block-stats>a>.block-icon:before,.page-Main_Page .blocks-item#block-stats:hover>a>.block-icon,.page-Main_Page .blocks-item#block-stats>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/stats.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/stats.ro.png) 2x)}.page-Main_Page .blocks-item#block-weapons>a>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/weapons.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/weapons.png) 2x)}.page-Main_Page .blocks-item#block-weapons>a>.block-icon:before,.page-Main_Page .blocks-item#block-weapons:hover>a>.block-icon,.page-Main_Page .blocks-item#block-weapons>a:focus>.block-icon { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.ro.png); background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/weapons.ro.png) 2x); background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.ro.png) 1x,url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/weapons.ro.png) 2x)}.page-Main_Page #wrapper { display: flex; flex-direction: row; column-gap: 50px; row-gap: 50px; justify-content: space-between}.page-Main_Page #wrapper #content { display: flex; flex-direction: column; row-gap: 50px}.page-Main_Page #wrapper #content #introduction { display: flex; flex-direction: row; column-gap: 25px; row-gap: 25px; align-content: center}.page-Main_Page #wrapper #content #introduction #welcome { margin: .5em 0}.page-Main_Page #wrapper #content #introduction .blocks-item { margin: 0!important}.page-Main_Page #wrapper #content #statistics .stats-list { display: flex; flex-wrap: wrap; list-style: none; justify-content: space-evenly; padding: 0; row-gap: 25px}.page-Main_Page #wrapper #content #statistics .stats-list .stats-item { margin: 0}.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-icon { background-position: center; background-size: contain; background-repeat: no-repeat; height: 55px; width: 55px; display: inline-block; position: relative; vertical-align: middle}.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-icon.stats-icon-edits { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/edits.png)}.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-icon.stats-icon-pages { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/pages.png)}.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-icon.stats-icon-files { background-image: url(https://wiki.hypixel.net/images/hypixel/icons/files.png)}.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-item-text { vertical-align: middle; display: inline-flex; position: relative; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-content: center; margin: 0 15px}.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-item-text span:first-child { font-size: 20px}.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-item-text span:nth-child(2) { font-size: 16px}.page-Main_Page #wrapper #content #other-game-content ul { columns: 200px auto}.page-Main_Page #wrapper #content .content-heading { height: 50px; background-color: #1f1f1f; border: 1px solid #333; border-image: url(https://wiki.hypixel.net/images/hypixel/borders/classic_border.png) 1000 1000 repeat!important; border-image-width: 35px!important; border-image-outset: 2px!important; margin: 0 0 1em; font-size: 20px; display: flex; justify-content: center; align-items: center}.page-Main_Page #wrapper #sidebar { display: flex; flex-direction: column; row-gap: 50px}.page-Main_Page #wrapper #sidebar .sidebar-heading { text-align: center; font-size: 20px}.page-Main_Page #wrapper #sidebar .sidebar-content { display: flex; flex-direction: column; flex-wrap: nowrap; row-gap: 15px; background-color: #1f1f1f; padding: 20px; border-radius: 3px; border: 1px solid #333; border-image: url(https://wiki.hypixel.net/images/hypixel/borders/square_border.png) 500 500 repeat; border-image-width: 35px!important; border-image-outset: 2px!important}.page-Main_Page #wrapper #sidebar #clock { display: none}.page-Main_Page #wrapper #sidebar #clock p { text-align: center; margin: 0}.page-Main_Page #wrapper #sidebar #clock #clock-time { font-size: 2em}.page-Main_Page #wrapper #sidebar #clock #clock-date { font-size: 1em}@media(max-width: 1000px) { #wrapper { flex-wrap:wrap }}@media(max-width: 720px) { #introduction { flex-wrap:wrap; justify-content: center } .stats-list { flex-direction: column; align-content: center }}.mw-ui-button.mw-ui-progressive { background-color: #e7871b; color: #fff; border: 1px solid #e7871b}.oo-ui-panelLayout-framed { background-color: #eaecf0!important; border-radius: 4px; border: none!important}.oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: transparent}ul.mw-contributions-list li { min-height: 0!important}ul.special li { min-height: 0!important}body { color: transparent; background-color: transparent; font-family: Raleway,helvetica,serif!important}#content h1,#content h2,#content h3 { font-family: Neuton,Raleway,helvetica,serif!important}html,#mw-mf-page-center,#mw-script-doc,#content,.navbox,.navbox-subgroup,.overlay.search-overlay { background-color: #fff!important}.overlay.search-overlay { background-color: #fff!important}.overlay.search-overlay .search-box { display: block!important; position: relative!important}a.external { background-image: none!important; padding-right: 0!important}.mw-body h2.list-header { margin-top: 16px}.page-heading>h1 { font-size: 1.7em!important; font-weight: 400!important; line-height: 1.3; word-wrap: break-word; word-break: break-word}.list-header { background-color: transparent; color: inherit}#toc ul { list-style: decimal}#mw-toc-heading::before { background-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJsaXN0IiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtbGlzdCBmYS13LTE2IiByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik04MCAzNjhIMTZhMTYgMTYgMCAwIDAtMTYgMTZ2NjRhMTYgMTYgMCAwIDAgMTYgMTZoNjRhMTYgMTYgMCAwIDAgMTYtMTZ2LTY0YTE2IDE2IDAgMCAwLTE2LTE2em0wLTMyMEgxNkExNiAxNiAwIDAgMCAwIDY0djY0YTE2IDE2IDAgMCAwIDE2IDE2aDY0YTE2IDE2IDAgMCAwIDE2LTE2VjY0YTE2IDE2IDAgMCAwLTE2LTE2em0wIDE2MEgxNmExNiAxNiAwIDAgMC0xNiAxNnY2NGExNiAxNiAwIDAgMCAxNiAxNmg2NGExNiAxNiAwIDAgMCAxNi0xNnYtNjRhMTYgMTYgMCAwIDAtMTYtMTZ6bTQxNiAxNzZIMTc2YTE2IDE2IDAgMCAwLTE2IDE2djMyYTE2IDE2IDAgMCAwIDE2IDE2aDMyMGExNiAxNiAwIDAgMCAxNi0xNnYtMzJhMTYgMTYgMCAwIDAtMTYtMTZ6bTAtMzIwSDE3NmExNiAxNiAwIDAgMC0xNiAxNnYzMmExNiAxNiAwIDAgMCAxNiAxNmgzMjBhMTYgMTYgMCAwIDAgMTYtMTZWODBhMTYgMTYgMCAwIDAtMTYtMTZ6bTAgMTYwSDE3NmExNiAxNiAwIDAgMC0xNiAxNnYzMmExNiAxNiAwIDAgMCAxNiAxNmgzMjBhMTYgMTYgMCAwIDAgMTYtMTZ2LTMyYTE2IDE2IDAgMCAwLTE2LTE2eiI+PC9wYXRoPjwvc3ZnPg==); content: ""; float: left; height: 14px; left: -14px; position: relative; top: 5px; width: 14px}#footer-company { padding: 0 50px 0 0}#footer-links { display: flex; flex: 1; flex-direction: column; flex-wrap: wrap; font-size: 15px; max-height: 120px}#footer-links>li { padding: 4px 10px}#footer-logo { max-height: 64px}#footer-socials { font-size: 16px; vertical-align: top; color: gray; display: block; padding: 0 4px}#footer-socials .fab { min-width: 18px; text-align: center; vertical-align: middle}#footer-socials a:hover { color: gray!important}#footer-socials a:hover>.fa-discord { color: #7289da}#footer-socials a:hover>.fa-facebook { color: #4267b2}#footer-socials a:hover>.fa-instagram { color: #405de6}#footer-socials a:hover>.fa-tiktok { color: #000}#footer-socials a:hover>.fa-twitter { color: #1da1f2}#footer-socials a:hover>.fa-youtube { color: red}#mw-content-text>form { width: 100%!important}.branding-box { background: url(https://wiki.hypixel.net/images/hypixel-full.png) no-repeat; background-origin: content-box; background-size: contain; background-position: center; opacity: 1!important; padding: 10px 0; cursor: pointer; height: 100%}.branding-box>a { height: 100%; width: 100%}.branding-box>a>span { color: transparent}.client-nojs .search-box .search:focus { border: none; box-shadow: none}.search-overlay .search-box .search:focus { border: none; box-shadow: none}.toggle-list__toggle,#mw-mf-main-menu-button { border: none; box-shadow: none; outline: none!important}.footer { background-image: linear-gradient(to bottom,rgba(26,26,26,0.92),#1a1a1a),url(https://wiki.hypixel.net/images/artwork.png); background-position: center; background-repeat: no-repeat; background-size: cover; border-top: 1px solid #ddd; color: #fff; margin-top: 60px; padding: 30px 0; user-select: none}.footer a { color: gray!important; text-decoration: none!important; transition: .12s ease-in-out}.footer a:hover { color: #fff!important}.footer-copyright { color: gray; display: block; padding: 0 4px}.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 auto; max-width: 1160px; padding: 0!important; width: 65%!important}.header { height: 71px!important; user-select: none}.header-chrome:before { background-image: radial-gradient(farthest-side at top,rgba(255,255,255,0.5),#ffffff),url(https://wiki.hypixel.net/images/artwork.png)!important; background-position: center; background-repeat: no-repeat; background-size: cover; content: ""; height: 72px; left: 0; max-width: 100%!important; position: absolute; width: 100%!important}.last-modified-bar { margin: auto; width: 90%; background-color: #eaecf0!important; border-radius: 4px}.minerva__tab.selected { border-bottom: 2px solid #e7871b!important}.mw-editform .editOptions { margin-top: 20px}.mw-ui-icon-element.cancel { height: 44px; margin: 10px; padding: 0; vertical-align: middle; width: 44px}.mw-ui-icon-element:not(.disabled):hover { background-color: rgba(0,0,0,.1)}.overlay-footer-container { display: none}.overlay.search-overlay.visible { animation-duration: .1s!important}.minerva__tab-container { display: none}.page-actions-menu,#filetoc,.warningbox { border-radius: 4px; margin-bottom: 16px; padding: 0 20px; background-color: #eaecf0; border: 1px solid #c8ccd1}.warningbox { padding: 10px 25px!important}.warningbox,#mw-clearyourcache { margin-bottom: 16px!important}.search { -webkit-appearance: none!important; background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&format=original&skin=minerva&version=1qbws); background-position: left .8em center!important; background-size: 18px!important; border: 1px solid #fff!important; border-radius: 6px!important; box-shadow: 0 0 10px #bbb!important; box-sizing: border-box!important; color: #666!important; font-family: BlinkMacSystemFont,segoe ui,helvetica,Arial,sans-serif!important; font-size: 14px!important; height: 40px!important; line-height: 1.15!important; max-width: 380px; padding-left: 40px!important; padding-right: 20px!important; transition: border .12s ease-in-out!important; width: 100%!important}.search:focus { outline: 1px solid #ffc376!important}.search-box .search { border-radius: 4px}.content kbd { border-radius: 4px}.content samp { border-radius: 4px}.content code { border-radius: 4px}.content pre { border-radius: 4px}footer { border: none!important}fieldset { margin: 10px 0}#mw-mf-page-left { box-shadow: 0 5px 17px 0 rgba(0,0,0,.24),0 0 1px #a2a9b1!important; position: absolute!important; height: max-content; border-radius: 3px; -webkit-transition: opacity 100ms ease-in-out,-webkit-tap-highlight-color 0s ease-in-out,transform 100ms ease-in-out,visibility 100ms ease-in-out!important; transition: opacity 100ms ease-in-out,-webkit-tap-highlight-color 0s ease-in-out,transform 100ms ease-in-out,visibility 100ms ease-in-out!important; top: 45px!important; left: -12px!important; transform: translate(0,-10px)!important}#mw-mf-page-left li { border: none!important}#mw-mf-page-left li:hover { background-color: #eaecf0!important}#mw-mf-page-left ul { padding-bottom: 0!important}#mw-mf-page-left ul li a { color: #54595d!important}#mw-mf-page-left ul li a:hover { box-shadow: none!important}form.search-box { display: block; width: 100%}input { outline: none}#main-menu-input:checked~#mw-mf-page-left { transform: translate(0,0)!important}.hlist { display: none}.last-modified-bar.active { background-color: #218e47!important}.wikitable>tr>th,.wikitable>tr>td,.wikitable>*>tr>th,.wikitable>*>tr>td { padding: .25em .55em!important}.suggestions { border-radius: 6px!important}.suggestions-result,.suggestions-special { padding: .5em 1em!important}.suggestions-results,.suggestions-special { border-color: #ccc!important}kbd,samp,code,pre,.page-actions-menu,#filetoc,.warningbox,.last-modified-bar { border: 1px solid #333; border-image: url(https://wiki.hypixel.net/images/hypixel/borders/classic_border.png) 1000 1000 repeat!important; border-image-width: 35px!important; border-image-outset: 2px!important}@media only screen { .oo-ui-tabOptionWidget { color: #fff!important } .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: #212121 } .suggestions-results,.suggestions-special { background-color: #1f1f1f!important; border-color: #333!important } .suggestions-results .special-label,.suggestions-special .special-label { color: #ccc!important } .suggestions-results .suggestions-result,.suggestions-special .suggestions-result,.suggestions-results .special-query,.suggestions-special .special-query { color: #fff!important } .search { color: #ccc!important } html,body,#mw-mf-page-center,#mw-script-doc,#content,.navbox,.navbox-subgroup,.overlay.search-overlay,.oo-ui-tabSelectWidget-framed,.oo-ui-tagMultiselectWidget-handle,.mw-prefs-buttons,.mw-scribunto-message,.mw-scribunto-console-fieldset,.mw-history-compareselectedversions { background-color: transparent!important; color: #fff } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: #212121!important } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title,.mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: #fff!important } .oo-ui-tabSelectWidget-framed { border-bottom-color: transparent } .oo-ui-tagMultiselectWidget-handle,.oo-ui-buttonGroupWidget,.oo-ui-dropdownWidget-handle,.oo-ui-optionWidget,.oo-ui-selectWidget,.oo-ui-optionWidget-selected { background-color: #1a1a1a!important; color: #fff!important; border-color: #212121!important } .oo-ui-optionWidget-highlighted { background-color: #212121!important } .oo-ui-optionWidget-selected { background-color: #1f1f1f!important } input,select,.oo-ui-buttonElement-button,#mw-scribunto-input,.diff-context { color: #fff!important; background-color: #1f1f1f!important; border: 1px solid #333!important } legend { color: #aaa } .content .mw-parser-output>h2 { border-bottom: 2px solid #333 } .content .mw-parser-output>h3 { border-bottom: 1px solid #333; margin-bottom: .5em } .content .section-heading { border-bottom: 1px solid #aaa } .content kbd,.content samp,.content code,.content pre,.content .toc,.content .infobox { background-color: #1f1f1f!important; border-color: #333!important } .content .infobox td { border-color: #333!important } .infobox tr { color: #fff!important } table.wikitable>tr>th,table.wikitable>tr>td { background-color: #212121; border-color: #333!important } table.wikitable>tr>th { background-color: #2b2b2b } table.wikitable>tr:nth-child(odd)>td { background: #2b2b2b } table.wikitable>*>tr>th,table.wikitable>*>tr>td { background-color: #212121; border-color: #333!important } table.wikitable>*>tr>th { background-color: #2b2b2b } table.wikitable>*>tr:nth-child(odd)>td { background: #2b2b2b } .mw-datatable>tr>th,.mw_metadata>tr>th,.mw-datatable>tr>td,.mw_metadata>tr>td { background-color: #212121!important; border-color: #333!important } .mw-datatable>tr>th,.mw_metadata>tr>th { background-color: #2b2b2b!important } .mw-datatable>*>tr>th,.mw_metadata>*>tr>th,.mw-datatable>*>tr>td,.mw_metadata>*>tr>td { background-color: #212121!important; border-color: #333!important } .mw-datatable>*>tr>th,.mw_metadata>*>tr>th { background-color: #2b2b2b!important } .footer { background-image: linear-gradient(to bottom,rgba(26,26,26,0.85),#1a1a1a),url(https://wiki.hypixel.net/images/artwork.png); border-top: 1px solid #1a1a1a } .header-chrome:before { background-image: radial-gradient(farthest-side at top,rgba(26,26,26,0.5),#1a1a1a),url(https://wiki.hypixel.net/images/artwork.png)!important } .oo-ui-iconElement-icon,.oo-ui-indicatorElement-indicator { filter: invert(1) hue-rotate(180deg) brightness(1.2) } .mw-ui-icon:not(.mw-ui-icon-wikimedia-history-invert):before { filter: invert(1) hue-rotate(180deg) brightness(1.2) } .mw-ui-icon:not(.mw-ui-icon-mf-expand-invert):before { filter: invert(1) hue-rotate(180deg) brightness(1.2) } .last-modified-bar { background-color: #1f1f1f!important } .last-modified-bar .last-modified-bar__text { color: #fff!important } .oo-ui-panelLayout-framed { background-color: #1f1f1f!important } .minerva__tab { color: #aaa!important } .mw-ui-icon-with-label-desktop:hover,.mw-ui-icon-with-label-desktop:focus,.mw-ui-icon-with-label-desktop:active,.mw-ui-icon-with-label-desktop:visited { color: #aaa!important } .page-heading>h1,.page-heading>.tagline { color: #fff!important } .toggle-list__list { color: #fff!important; background-color: #1f1f1f!important; box-shadow: 0 5px 17px 0 rgba(0,0,0,.24),0 0 1px #000!important; border: 1px solid #333 } .search { box-shadow: 0 0 10px #1f1f1f!important } .search,.page-actions-menu,#filetoc,.warningbox { background-color: #1f1f1f!important; border-color: #333!important } .toggle-list-item:hover { background: #000; color: #fff } .blocks-item-description,.mw-mf-user { color: #fff!important } .blocks-item { box-shadow: 0 2px 15px rgba(35,35,35,.5)!important; border: 1px solid #333!important; background-color: #212121 } .mw-ui-button { background-color: #1f1f1f!important; border: 1px solid #333!important; color: #fff!important } .mw-ui-button:hover { background-color: #212121!important } .mw-history-undo a,.mw-rollback-link a { background-color: #1f1f1f!important; border: 1px solid #333!important; color: #fff!important } .mw-history-undo a:hover,.mw-rollback-link a:hover { background-color: #212121!important } .toggle-list-item__label { color: #aaa!important } .page-list .info,.page-list .component { color: #aaa!important } .page-list li { border-color: #333!important } .topic-title-list .info,.topic-title-list .component { color: #aaa!important } .topic-title-list li { border-color: #333!important } .site-link-list .info,.site-link-list .component { color: #aaa!important } .site-link-list li { border-color: #333!important } .page-list.side-list .list-thumb { color: #aaa!important } .topic-title-list.side-list .list-thumb { color: #aaa!important } .site-link-list.side-list .list-thumb { color: #aaa!important } ul.mw-contributions-list li { border-color: #1f1f1f!important } ul.special li { border-color: #1f1f1f!important } .ns-special .content-header { border-color: #1f1f1f!important } .mw-prefs-buttons { border-color: #1f1f1f!important } #mw-mf-page-left { box-shadow: 0 5px 17px 0 rgba(0,0,0,.24),0 0 1px #000!important } #mw-mf-page-left ul li { background-color: #1f1f1f!important; color: #fff!important } #mw-mf-page-left ul li a { color: #aaa!important } #mw-mf-page-left li:hover { background-color: #000!important } .mw-ui-icon-element:not(.disabled):hover { background-color: rgba(0,0,0,.4) }}@media only screen and (min-width: 720px) { .header .branding-box { width:auto!important; min-width: 82px } .overlay.search-overlay .overlay-title { padding-left: 236px!important; width: 380px!important } #page-actions a { color: #fff!important } #page-actions label { color: #fff!important }}@media only screen and (max-width: 720px) { #footer-company { padding:0 0 30px; text-align: center; width: 100% } #footer-links { max-height: 100%; text-align: center } .header-chrome:before { background-image: linear-gradient(to bottom,rgba(255,255,255,0.5),#ffffff),url(https://wiki.hypixel.net/images/artwork.png)!important; height: 170px!important } .last-modified-bar { margin: 0 16px } .header-chrome:before { background-image: linear-gradient(to bottom,rgba(26,26,26,0.5),#1a1a1a),url(https://wiki.hypixel.net/images/artwork.png)!important }}@media only screen and (min-width: 1000px) { .footer-inner { padding:0; width: 90% }}@media only screen and (max-width: 1000px) { #footer-links { max-width:100% } .footer-inner { padding: 0 5%!important; width: calc(90%)!important }}.infobox { border: 15px solid #232445!important; border-image: url(https://wiki.hypixel.net/images/hypixel/borders/square_border.png) 1000 1000 repeat!important; border-image-width: 100px!important; border-image-outset: 2px!important; border-collapse: separate!important}.infobox { background-color: #f2f2f2; border-collapse: collapse; clear: both; display: table!important; float: right; margin: 0!important; margin-left: 20px!important; width: 320px; margin-bottom: 15px!important; table-layout: fixed}.infobox table { border-collapse: inherit!important}.infobox img { display: block; margin: 20px auto; max-width: 150px; height: auto}.infobox td { border-top: 1px solid #c7c7c7; padding: 2px 8px; text-align: right}.infobox td:first-of-type { font-weight: 700; text-align: left}.infobox td:last-child { float: right; width: 100%; text-align: right}.infobox tr:first-of-type>th { font-size: 16px; font-weight: 700; padding: 10px 0; text-align: center}.infobox.minor { border-image-width: 0 100px 100px 100px!important; border-width: 0 15px 15px!important; margin-top: -15px!important}.infobox tr:first-of-type>td { border-top: none}.mw-parser-output .infobox:last-of-type { margin-bottom: 15px}span.color-divine,span.color-light_blue,span.color-aqua { color: #5ff!important}span.color-black { color: #000!important}span.color-rare,span.color-blue { color: #55f!important}span.color-dark_aqua { color: #0aa!important}span.color-dark_blue { color: #00a!important}span.color-dark_gray { color: #555!important}span.color-dark_green { color: #0a0!important}span.color-epic,span.color-dark_purple { color: #a0a!important}span.color-dark_red { color: #a00!important}span.color-legendary,span.color-orange,span.color-gold { color: #fa0!important}span.color-gray { color: #aaa!important}span.color-uncommon,span.color-green { color: #5f5!important}span.color-pink,span.color-mythic,span.color-light_purple { color: #f5f!important}span.color-supreme,span.color-special,span.color-very-special,span.color-red { color: #f55!important}span.color-common,span.color-white { color: #fff!important}span.color-yellow { color: #ff5!important}.tabber__header__prev:after,.tabber__header__next:after { filter: invert(1)}:not(.infobox) .tabber__tab--active { background-color: rgba(51,102,204,.2)}:not(.infobox) .tabber__panel,:not(.infobox) .tabber__header { background-color: #1f1f1f; border: 1px solid #333}:not(.infobox) .tabber__panel { padding: 1em!important}:not(.infobox) .tabber__panel h1,:not(.infobox) .tabber__panel h2,:not(.infobox) .tabber__panel h3 { margin-top: 0}.diff-addedline .diffchange { background: #0083ff}.codeEditor-status { color: #000!important}#toctogglecheckbox:not(:checked)+.toctitle { border-bottom: 1px solid #333; margin-bottom: 10px}a.new { color: #d33!important}.contributionscores { width: 100%}.contributionscores td { text-align: center!important}.contributionscores .header { display: table-row}.contributionscores .content { width: auto}.wikiEditor-ui-toolbar { background-color: #1f1f1f!important}.wikiEditor-ui-toolbar .label:after { filter: invert(1) hue-rotate(180deg) brightness(1.2)}.wikiEditor-ui-toolbar .tabs .tab a::before { filter: invert(1) hue-rotate(180deg) brightness(1.2)}.wikiEditor-ui .wikiEditor-ui-view { border: 1px solid #54595d}.wikiEditor-ui-toolbar { box-shadow: 0 10px 9px 0 rgba(0,0,0,.1)}.wikiEditor-ui-toolbar .sections .section { border-top: none}.wikiEditor-ui-toolbar .group { border-right: none; border-left: none}.tabber__panel { overflow: visible}:not(.tabber__panel--active).tabber__panel { display: none}.tabber__section { height: auto!important; overflow: visible}.infobox td { font-size: 13px}.minecraft-inventory td { font-size: 15px!important}.content { padding: 0}.tabber__tab--active,.tabber__tab--active:visited { box-shadow: inset 0 -2px 0 0 #ffc376; border-width: 0 1px; background-color: rgba(255,195,118,.1)!important; font-weight: 700}.tabber__tab--active a:active,.tabber__tab a:visited { color: #ffc376!important}.tabber__tab:hover { box-shadow: inset 0 -2px 0 0 #ffc376; color: #ffc376; filter: brightness(1.5)}.tabber__tab a:active,.tabber__tab a:visited { color: #bdbcb9!important}.tabber__tabs { box-shadow: none!important}.tabber__tabs a:first-of-type { border-left: none}.tabber__tab { color: #36c; line-height: 30px; font-weight: 400}.tabber { margin-bottom: 5px}#mw-mf-page-left ul { list-style-type: none; padding-left: 0}#mw-mf-page-left li { margin-bottom: 0}#mw-mf-page-left ul li a { color: #aaa!important}#mw-mf-main-menu-button:hover+#mw-mf-page-left,#mw-mf-page-left:hover { visibility: visible}.mw-hypixel-right ul { padding-left: 0}.mw-hypixel-right li { margin-bottom: 0}.mw-hypixel-right a { text-decoration: none}table.mw-collapsible :first-child tr:first-child th:last-child::before { color: #ffc376!important}.infobox.minor img,.remove-img-span img { display: inline!important; margin: 0!important}.infobox.minor tr:first-of-type>th { padding: 7px; border-bottom: 1px solid #333!important}.infobox.minor tr:nth-of-type(2)>td { border-top: none}.occupants-minor,.resources-minor { text-align: left!important; font-weight: 400; padding: 5px 0 0!important}.occupants-minor:first-of-type,.resources-minor:first-of-type { border-right: 1px solid #333!important}.occupants-minor li,.resources-minor li,.materials-minor li { margin-bottom: 0!important}.occupants-minor ul,.resources-minor ul,.materials-minor ul { list-style: none!important; padding: 7px!important; font-weight: 400!important}.color-wheel-minor { border-radius: 50px; border-style: solid; border-width: 30px; height: 0; width: 0; transform: rotate(45deg)}.loot-drops-minor li { list-style-type: none; margin-bottom: 0}.gemstone-slot-minor { text-align: center!important; padding: 5px}.upgrades-low-minor { text-align: center!important; font-weight: 400!important; border-right: 1px solid #333!important}.upgrades-right-minor { padding: 2px!important; padding-top: 5px!important; text-align: center!important}.upgrades-text-minor { font-size: 15px!important; font-weight: 700!important}.attributes-minor { text-align: center!important; font-weight: 400!important; border-right: 1px #333 solid!important}.attributes-text-minor { font-size: 13px!important; font-weight: 700!important}.container-navbox { max-width: 100%; height: auto; padding: 6px; font-size: 15px; background-color: #1f1f1f; border: 1px solid #c8ccd1; border-color: #333!important; border-image: url(https://wiki.hypixel.net/images/hypixel/borders/classic_border.png) 1000 1000 repeat!important; border-image-width: 35px!important; border-image-outset: 2px!important; clear: both}.container-navbox-header { width: auto; height: 35px; padding: 10px; border-bottom: 2px solid #333; text-align: center; display: flex; flex-direction: row; align-items: center; justify-content: space-between; font-size: 18px; vertical-align: middle}.container-navbox-header p { margin: 0!important}.container-navbox-section { max-width: 100%; height: auto; border-bottom: 2px solid #333; display: flex; flex-direction: row; background-color: #1f1f1f; column-gap: 5px}.container-navbox-section:last-child { border-bottom: none}.container-navbox-group-header { width: 200px; max-height: 100%; padding: 1em; display: flex; align-items: center; background-color: #1f1f1f; font-weight: 700; white-space: pre-wrap; column-gap: 10px}.container-navbox-group { width: 100%; padding: 15px 1em}.container-navbox-group ul { columns: 220px auto}.container-navbox-group ul li { margin-bottom: 5px}.dropdown:hover .dropdown-content { visibility: visible; opacity: 1}blockquote { font-family: Raleway,helvetica,serif!important}.cata-image-loot-tabber * .tabber__tabs a::before { content: ""; width: 35px; height: 45px; background-position: center; background-repeat: no-repeat; background-size: cover}.cata-image-loot-tabber * .tabber__tabs a:nth-child(1)::before { background-image: url(https://wiki.hypixel.net/images/a/a8/SkyBlock_furniture_wood_chest_plus.png)}.cata-image-loot-tabber * .tabber__tabs a:nth-child(2)::before { background-image: url(https://wiki.hypixel.net/images/b/be/SkyBlock_furniture_gold_chest_plus.png)}.cata-image-loot-tabber * .tabber__tabs a:nth-child(3)::before { background-image: url(https://wiki.hypixel.net/images/e/e9/SkyBlock_furniture_diamond_chest_plus.png)}.cata-image-loot-tabber * .tabber__tabs a:nth-child(4)::before { background-image: url(https://wiki.hypixel.net/images/8/82/SkyBlock_furniture_emerald_chest_plus.png)}.cata-image-loot-tabber * .tabber__tabs a:nth-child(5)::before { background-image: url(https://wiki.hypixel.net/images/b/be/SkyBlock_furniture_ender_chest_plus.png)}.cata-image-loot-tabber * .tabber__tabs a:nth-child(6)::before { background-image: url(https://wiki.hypixel.net/images/b/be/SkyBlock_furniture_ender_chest_plus.png)}.boss-quote-table-quote { font-family: sans,serif; font-size: 40px; font-weight: 700; color: #f55; padding: 16px 10px; line-height: .5}.toc>ul { margin: 0 5em 0 32px!important}.toctogglecheckbox~ul { display: none}.toctogglecheckbox:not(:checked)~ul { display: block}.dialogue-headine { padding: .5em 0; line-height: 1.3; word-wrap: break-word; word-break: break-word; font-weight: 700}.content code { padding: .1em .4em}code { border-image: none!important}.mw-parser-output { display: inline-block; width: 100%; max-width: 100%}@media(min-width: 1000px) { .header-container.header-chrome { position:fixed; z-index: 2; width: 100%; top: 0; padding: 0!important } .header-container.header-chrome:before { box-shadow: 0 0 20px 10px #1a1a1a } #mw-mf-page-center,#mw-mf-page-center::before { top: 100px!important } .minerva-user-menu-list { top: 60px }}@media(max-width: 1000px) { .hypixel-site-navigation .toggle-list__toggle { padding-left:0!important; padding-right: 0!important } #hypixel-site-navigation-wrapper { padding: 0 .75em }}@media(max-width: 720px) { .header { flex-wrap:wrap!important; height: auto!important; justify-content: space-around!important } #hypixel-site-navigation-wrapper { order: 3; flex-wrap: wrap!important; row-gap: 15px; justify-content: space-around } #hypixel-site-navigation-wrapper .toggle-list__list { left: 0!important; width: 100%!important } .branding-box { width: 80px; height: 40px } .search-box { width: 100%!important; left: 0!important }}.main-menu-mask { display: none!important}#hypixel-site-navigation-wrapper { display: flex; flex-wrap: nowrap}.hypixel-site-navigation { color: #fff!important; text-shadow: 1px 1px rgba(0,0,0,.5)}.hypixel-site-navigation a { color: inherit!important}.hypixel-site-navigation .toggle-list__toggle { padding: .75em}.hypixel-site-navigation .toggle-list__toggle:hover { background-color: rgba(0,0,0,.4)}.hypixel-site-navigation .toggle-list__list { top: 100%; min-width: 200px}.hypixel-site-navigation .toggle-list__list .toggle-list-item .toggle-list-item__anchor { min-height: 20px}.toggle-list__list,.minerva-user-menu-list { border-radius: 3px}.minerva-user-navigation { width: auto!important; min-width: revert!important}.header { display: flex; justify-content: space-between; align-content: center; align-items: center; flex-direction: row; flex-wrap: nowrap}.hypixel-site-navigation>label::after { content: ""; background-image: linear-gradient(transparent,transparent),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+ZXhwYW5kPC90aXRsZT48ZyBmaWxsPSIjYTJhOWIxIj48cGF0aCBkPSJNMTcuNSA0Ljc1bC03LjUgNy41LTcuNS03LjVMMSA2LjI1bDkgOSA5LTl6Ii8+PC9nPjwvc3ZnPg==); display: inline-block; vertical-align: middle; min-width: 1em; min-height: 1em; padding: 0 0 0 20px; background-repeat: no-repeat; background-size: 1em 1em; background-position: center}#mw-mf-page-left ul li a span,.toggle-list-item__label { color: #fff!important}.mw-ui-icon-wikimedia-flag-ltr-base20:before { background-image: url(https://wiki.hypixel.net/resources/lib/ooui/themes/wikimediaui/images/icons/flag-ltr.svg)}.mw-ui-icon-wikimedia-articleRedirect-ltr-base20:before { background-image: url(https://wiki.hypixel.net/resources/lib/ooui/themes/wikimediaui/images/icons/articleRedirect-ltr.svg)}@media(max-width: 720px) { table.infobox { display:table!important } table.wikitable { display: block!important }}table.infobox { display: revert!important}.infobox ul { list-style: none}#userloginForm .mw-userlogin-rememberme { display: block!important}.mw-hp-tree { color: #5f5; margin-left: 20px}.mw-hp-tree li { margin-bottom: 0; list-style-type: disc}.mw-hp-tree li::marker { color: #fff}.mw-hp-tree ul:first-of-type { margin-top: 6px}.mw-hp-tree ul:last-of-type { margin-bottom: 6px}.mw-hp-tree-container { margin-left: 5px}.mw-hp-tree-text::after { content: "Expand"; color: #ba91ff; display: inline-block}.mw-hp-tree-text-down::after { content: "Collapse"; color: #7698ff; display: inline-block}.mw-hp-tree-anchor { cursor: pointer; user-select: none}.mw-hp-tree-nested { display: none}.mw-hp-tree-active { display: block}.mw-display-qrcode { border: 2px solid #fff}.mw-overlays-container .search-overlay { top: 71px}.mw-overlays-container .search-overlay .search-content,.mw-overlays-container .search-overlay .results { margin-left: 0!important}.mw-overlays-container .search-overlay .search-content { z-index: 4; position: relative; border: none!important}.mw-overlays-container .search-overlay .overlay-content { padding-top: 0!important; z-index: 3}.mw-overlays-container .search-overlay .overlay-header { flex-wrap: nowrap!important}.mw-overlays-container .search-overlay .overlay-title { padding-right: 15px}.mw-overlays-container .search-overlay .search { max-width: unset!important}.mw-overlays-container .search-overlay .clear { right: 5px!important}.mw-overlays-container .search-overlay .results { position: relative; box-shadow: none!important; background: 0 0!important}.mw-overlays-container .search-overlay .results ul>li { color: #fff; background: #1f1f1f; border: 1px solid #333!important; border-radius: 6px; margin: 5px 0; box-shadow: 0 0 10px #1f1f1f!important}.mw-overlays-container .search-overlay .results .list-thumb { background-color: #212121; border-radius: 6px}.mw-overlays-container .search-overlay .results .page-summary h2,.mw-overlays-container .search-overlay .results .page-summary h3 { color: #fff}@media(min-width: 720px) { .overlay-content { padding-left:236px!important } .overlay-header-container { z-index: 4!important } .search-content,.results { width: 380px!important }}@media(max-width: 720px) { div.overlay-header-container { position:relative!important; top: -71px!important } .overlay-content { padding: 0 15px } .search-content,.results { width: 100%!important }}table.sortable .headerSort { padding-right: 21px!important; position: relative}table.sortable .headerSort:after { background-image: inherit; content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center right; filter: invert(100%); pointer-events: none}.warningbox>p { color: #fff; margin: .5em 0}.suggestions-special { border-radius: 6px}.mw-dismissable-notice { background-color: #1f1f1f; border-radius: 8px; border: 1px solid #333; border-image-width: 35px!important; border-image-outset: 2px!important}.mw-dismissable-notice { position: fixed; display: block; bottom: 25px; z-index: 6; width: 100%; max-width: 92%!important; box-shadow: 0 -5px 30px 20px rgba(0,0,0,.3); margin: 0!important; left: 50%; transform: translateX(-50%)}.mw-dismissable-notice-body { padding: 20px; margin: 0!important}.mw-dismissable-notice-close { padding: 20px}.banner-container { position: relative}.warningbox { color: #fff!important}#content { position: relative; z-index: 1; background-color: transparent!important}div#mw-mf-page-center::before { content: ""; position: fixed; top: 0; bottom: 0; right: 0; height: 100%; width: 100%; background-image: linear-gradient(#1a1a1a,transparent),url(https://wiki.hypixel.net/images/hypixel/background.png); background-image: linear-gradient(#1a1a1a,transparent),image-set(url(https://wiki.hypixel.net/images/hypixel/background.png) 1x,url(https://wiki.hypixel.net/images/hypixel/background-large.png) 2x); background-attachment: fixed; background-color: #1a1a1a; background-position: center; background-repeat: no-repeat; background-size: cover; opacity: .075; z-index: 0; pointer-events: none}.page-Main_Page #wrapper #content { background: 0 0!important}.last-modified-bar,.footer { position: relative}.last-modified-bar a,.last-modified-bar a:visited { color: #fff}.overlay { z-index: 2!important}.mwe-math-element { overflow: auto; display: block}#page-secondary-actions { display: none}.loot-drops-minor li { margin-bottom: 0!important}.warningbox { color: #fff}.warningbox>p { margin: .5em 0!important; font-size: 17px}.toctitle>.mw-ui-icon-minerva-listBullet { display: none}.infobox img { max-width: 100%!important}.hp-loottable td { border: 2px solid #1a1a1a!important}.hp-loottable td:last-child { color: #5f5}.is-affected-by-mf { outline: dotted 3px transparent; outline-offset: -1px; outline-color: #5ff}.is-affected-by-pl { outline: dotted 3px transparent; outline-offset: -1px; outline-color: #f5f}.is-affected-by-mf.is-affected-by-pl { outline-color: #b591b7!important}.cata-image-loot-tabber * .tabber__tabs a:nth-child(1)::before { background-image: url(https://wiki.hypixel.net/images/b/b9/SkyBlock_furniture_dungeon_wood_reward_chest.png); height: 65px}.cata-image-loot-tabber * .tabber__tabs a:nth-child(2)::before { background-image: url(https://wiki.hypixel.net/images/8/85/SkyBlock_furniture_dungeon_gold_reward_chest.png); height: 65px}.cata-image-loot-tabber * .tabber__tabs a:nth-child(3)::before { background-image: url(https://wiki.hypixel.net/images/9/98/SkyBlock_furniture_dungeon_diamond_reward_chest.png); height: 65px; width: 40px}.cata-image-loot-tabber * .tabber__tabs a:nth-child(4)::before { background-image: url(https://wiki.hypixel.net/images/e/e4/SkyBlock_furniture_dungeon_emerald_reward_chest.png); height: 65px; width: 40px}.cata-image-loot-tabber * .tabber__tabs a:nth-child(5)::before { background-image: url(https://wiki.hypixel.net/images/4/40/SkyBlock_furniture_dungeon_obsidian_reward_chest.png); height: 65px; width: 50px}.cata-image-loot-tabber * .tabber__tabs a:nth-child(6)::before { background-image: url(https://wiki.hypixel.net/images/8/87/SkyBlock_furniture_dungeon_bedrock_reward_chest.png); height: 65px; width: 55px}.diff-deletedline .diffchange { background: #988e78!important}.hide { display: none}.page-notif-box { border: 2px solid #333!important; border-left-width: 10px!important; border-radius: 6px; border-collapse: separate!important; width: 75%; background-color: #1f1f1f!important; box-shadow: 0 0 10px #1f1f1f!important; display: flex; margin: auto!important; color: #fff; font-weight: 700; margin-top: 25px!important; margin-bottom: 25px!important}.page-notif-box tr>td { border: none; padding: .25em .9em}.page-notif-box img { max-width: revert!important; flex-shrink: 0}.page-notif-box-updating,.page-notif-box-changed { border-color: #e7871b!important}.page-notif-box-no-obtain,.page-notif-box-cannot-obtain { border-color: #e30000!important}.page-notif-box-alpha { border-color: #0d6f67!important}.hp-input { height: 35px; width: 100%; border: none!important}.dungeon-calc-container td,.loot-calc-container td { border: 2px solid #1a1a1a}.dungeon-calc-button,.loot-calc-button { cursor: pointer; vertical-align: bottom; background-color: #3f7dfb!important; transition-duration: .35s; padding: 5px!important}.dungeon-calc-button:hover,.loot-calc-button:hover { background-color: #5e93fe!important}.hp-loottable td:last-child { color: #5f5}.dungeon-loottable td:last-child { color: #5f5}.listspacing li { margin-bottom: 0!important}.listspacing li:last-child { margin-bottom: 1em!important}.listdisplay li { display: inline!important}.categoryboxcontainer { max-width: 100%; height: 35px; background-color: #1f1f1f; border: 1px solid #333; padding: 3px; font-size: 15px; clear: both}.categoryboxcontainer li { display: inline-block; padding-left: 5px; padding-right: 5px; line-height: 35px}.categoryboxcontainer li:first-child { padding-left: 0; border-left: none}.categoryboxcontainer li:nth-child(2) { border-left: none}.categoryboxcontainer li:empty { display: none}.tooltiptemp { position: relative!important; display: inline-block!important; text-decoration: underline dotted; cursor: help}.tooltiptemp .tooltiptexttemp { visibility: hidden; width: 240px; background-color: #000; color: #fff; text-align: center; border: 1px #333 solid; border-radius: 6px; padding: 5px 0; position: absolute; z-index: 1; bottom: 100%!important; left: 50%!important; margin-left: -120px!important; opacity: 0; transition: opacity 1s}.tooltiptemp .tooltiptexttemp::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #000 transparent transparent transparent}.tooltiptemp:hover .tooltiptexttemp { visibility: visible; opacity: 1}.tooltiptemp p { margin: 0}.raw-mctooltip { position: relative!important; display: inline-block!important; font-weight: 400}.raw-mctooltip:hover .raw-mctooltiptext { display: inline}.raw-mctooltiptext { display: none; font-family: minecraft,helvetica,serif; margin: 0}.content .mw-parser-output>h2 { padding: .25em 0; font-size: 1.8em; margin-top: 35px}.content .mw-parser-output>h2,.content .mw-parser-output>h3 { text-transform: uppercase; font-weight: 400}.heading-holder { padding: 0!important}.mw-body-content blockquote { background-color: #212121; border-radius: 6px; border: 1px solid #333!important; border-left-width: 5px!important; display: table}.tabber__tab { font-weight: 400!important; column-gap: 10px}.tabber__header .tabber__tab:not(.tabber__tab--active) { color: #fff}.mw-collapsible-toggle { padding-left: 5px}.tabber__header,.tabber__section,.tabber__panel { scroll-snap-type: none!important; overscroll-behavior: none!important; scroll-snap-align: none!important; overflow: hidden!important}.mw-userlogin-help { display: none}@media(min-width: 720px) { .header .branding-box { max-height:55px }}@font-face { font-family: minecraft; src: url(https://wiki.hypixel.net/fonts/minecraft.woff) format("woff")}.minecraft-inventory { -moz-user-select: none; -ms-user-select: none; -webkit-user-select: none; background-color: #c6c6c6; border: 4px solid; border-color: #fff #555 #555 #fff; border-radius: 4px; box-shadow: 0 0 0 1px #000; color: #404040; display: inline-block; font-family: minecraft,serif; font-size: 15px; font-weight: 400; padding: 2px 6px 6px; user-select: none; margin: 10px 0}.minecraft-inventory table { border-collapse: separate; margin: 0!important}.minecraft-inventory td { background: #8b8b8b no-repeat center center/32px 32px; border: 2px solid; border-color: #373737 #fff #fff #373737; box-sizing: border-box; padding: 0; position: relative; width: 36px}.minecraft-inventory td>.external { background: 0 0; padding: 0}.minecraft-inventory td>a:hover { text-decoration: none}.minecraft-inventory td:hover:after { background: #fff; content: ""; float: left; height: 100%; left: 0; opacity: .5; pointer-events: none; position: absolute; top: 0; width: 100%}.minecraft-inventory td:hover .mctooltip { display: block}.minecraft-inventory>span { padding: 2px}.minecraft-inventory tr { height: 36px}.minecraft-inventory .enchanted::before { content: ""; height: 32px; left: 0; position: absolute; top: 0; width: 32px; background-image: url(https://wiki.hypixel.net/images/minecraft/glint.webp); mix-blend-mode: color-dodge}.minecraft-inventory .enchanted::after { content: ""; height: 32px; left: 0; position: absolute; top: 0; width: 32px; background-image: url(https://wiki.hypixel.net/images/minecraft/item-spritesheet_cutout.png); background-position: inherit}.minecraft-inventory .amount { margin: 0; position: relative; z-index: 999}.minecraft-inventory .sbsprite { background-repeat: no-repeat; color: #fff; direction: rtl; display: block; text-shadow: 2px 2px #3f3f3f; background-image: url(https://wiki.hypixel.net/images/skyblock/item-spritesheet.png); height: 22px; line-height: 44px; margin: 0 5px; text-indent: -8px; width: 22px}.minecraft-inventory .mcsprite { background-repeat: no-repeat; color: #fff; direction: rtl; display: block; text-shadow: 2px 2px #3f3f3f; background-image: url(https://wiki.hypixel.net/images/minecraft/item-spritesheet.png); height: 32px; line-height: 54px; text-indent: -2px; width: 32px}.minecraft-inventory .sbpet { background-repeat: no-repeat; color: #fff; direction: rtl; display: block; text-shadow: 2px 2px #3f3f3f; background-image: url(https://wiki.hypixel.net/images/skyblock/pet-spritesheet.png); height: 22px; line-height: 44px; margin: 0 6px; text-indent: -8px; width: 20px}.mctooltip { background: rgba(16,0,16,.93); border: 2px solid; border-image: linear-gradient(to bottom,rgba(80,0,255,0.31),rgba(40,0,127,0.31)); border-image-slice: 1; border-radius: 4px; box-shadow: 0 0 0 2px rgba(16,0,16,.93); display: none; line-height: 18px; margin-left: 15px; margin-top: -30px; padding: 4px 4px 3px; position: fixed; text-indent: initial; text-shadow: 2px 2px #3f3f3f; z-index: 9999}.mctooltip>span { direction: ltr; display: block; white-space: nowrap; text-align: left}.mctooltip>span:nth-child(1):not(:last-child) { padding-bottom: 5px}.mctooltip>span:nth-child(n+2) { float: left}.mctooltip>span:nth-child(n+2):not(:last-child) { padding-right: 4px}.mctooltip>span.inline { display: inline-block!important}.mctooltip .rarity-divine { color: #5ff}.mctooltip .rarity-rare { color: #55f; text-shadow: 2px 2px #15153f}.mctooltip .rarity-epic { color: #a0a; text-shadow: 2px 2px #2a002a}.mctooltip .rarity-supreme { color: #a00; text-shadow: 2px 2px #2a0000}.mctooltip .rarity-legendary { color: #fa0; text-shadow: 2px 2px #2a2a00}.mctooltip .rarity-uncommon { color: #5f5; text-shadow: 2px 2px #153f15}.mctooltip .rarity-mythic { color: #f5f; text-shadow: 2px 2px #3f153f}.mctooltip .rarity-veryspecial { color: #f55; text-shadow: 2px 2px #3f1515}.mctooltip .rarity-special { color: #f55; text-shadow: 2px 2px #3f1515}.mctooltip .color-aqua { text-shadow: 2px 2px #153f3f}.mctooltip .color-black { text-shadow: 2px 2px #000}.mctooltip .color-blue { text-shadow: 2px 2px #15153f}.mctooltip .color-dark_aqua { text-shadow: 2px 2px #002a2a}.mctooltip .color-dark_blue { text-shadow: 2px 2px #00002a}.mctooltip .color-dark_gray { text-shadow: 2px 2px #151515}.mctooltip .color-dark_green { text-shadow: 2px 2px #002a00}.mctooltip .color-dark_purple { text-shadow: 2px 2px #2a002a}.mctooltip .color-dark_red { text-shadow: 2px 2px #2a0000}.mctooltip .color-gold { text-shadow: 2px 2px #2a2a00}.mctooltip .color-gray { text-shadow: 2px 2px #2a2a2a}.mctooltip .color-green { text-shadow: 2px 2px #153f15}.mctooltip .color-light_purple { text-shadow: 2px 2px #3f153f}.mctooltip .color-red { text-shadow: 2px 2px #3f1515}.mctooltip .color-white { text-shadow: 2px 2px #3f3f3f}.mctooltip .color-yellow { text-shadow: 2px 2px #3f3f15}.color-aqua { color: #5ff}.color-black { color: #000}.color-blue { color: #55f}.color-dark_aqua { color: #0aa}.color-dark_blue { color: #00a}.color-dark_gray { color: #555}.color-dark_green { color: #0a0}.color-dark_purple { color: #a0a}.color-dark_red { color: #a00}.color-gold { color: #fa0}.color-gray { color: #aaa}.color-green { color: #5f5}.color-light_purple { color: #f5f}.color-red { color: #f55}.color-white { color: #fff}.color-yellow { color: #ff5}.mcentity { background-image: url(https://wiki.hypixel.net/images/minecraft/entity-spritesheet.png); height: 16px; width: 16px}.mcblock { background-image: url(https://wiki.hypixel.net/images/minecraft/block-spritesheet.png); height: 16px; width: 16px}.sbspray { background-image: url(https://wiki.hypixel.net/images/skyblock/spray-spritesheet.png); height: 128px; width: 128px}.sbnpc { background-image: url(https://wiki.hypixel.net/images/skyblock/npc-spritesheet.png); height: 120px; width: 270px}.sbnpc-_56ms { background-position: 0 0}.sbnpc-adventurer { background-position: -120px 0}.sbnpc-agents { background-position: -240px 0}.sbnpc-anita { background-position: -360px 0}.sbnpc-archeologist { background-position: -480px 0}.sbnpc-armorsmith { background-position: -600px 0}.sbnpc-arthur { background-position: -720px 0}.sbnpc-artist { background-position: -840px 0}.sbnpc-artist_2 { background-position: -960px 0}.sbnpc-auction_agent_0 { background-position: -1080px 0}.sbnpc-auction_agent_1 { background-position: -1200px 0}.sbnpc-auction_agent_2 { background-position: -1320px 0}.sbnpc-auction_agent_3 { background-position: -1440px 0}.sbnpc-auction_master { background-position: -1560px 0}.sbnpc-baker { background-position: -1680px 0}.sbnpc-banker { background-position: -1800px 0}.sbnpc-bartender { background-position: -1920px 0}.sbnpc-bazaar { background-position: -2040px 0}.sbnpc-bazaar_assistant { background-position: -2160px 0}.sbnpc-beekeeper { background-position: -2280px 0}.sbnpc-bestiary { background-position: -2400px 0}.sbnpc-beth { background-position: -2520px 0}.sbnpc-blue_shark { background-position: -2640px 0}.sbnpc-bodyguard_1 { background-position: -2760px 0}.sbnpc-bodyguard_2 { background-position: 0 -270px}.sbnpc-bonzo { background-position: -120px -270px}.sbnpc-bonzo_summon_0 { background-position: -240px -270px}.sbnpc-bonzo_summon_1 { background-position: -360px -270px}.sbnpc-bonzo_summon_2 { background-position: -480px -270px}.sbnpc-bonzo_undead { background-position: -600px -270px}.sbnpc-builder { background-position: -720px -270px}.sbnpc-candidate { background-position: -840px -270px}.sbnpc-cannibal_undead { background-position: -960px -270px}.sbnpc-carpenter { background-position: -1080px -270px}.sbnpc-catacombs_blacksmith { background-position: -1200px -270px}.sbnpc-century_simon { background-position: -1320px -270px}.sbnpc-charlie { background-position: -1440px -270px}.sbnpc-clerk_election { background-position: -1560px -270px}.sbnpc-community_shop { background-position: -1680px -270px}.sbnpc-crypt_dreadlord { background-position: -1800px -270px}.sbnpc-crypt_souleater { background-position: -1920px -270px}.sbnpc-crystal_sentry { background-position: -2040px -270px}.sbnpc-dante_grey { background-position: -2160px -270px}.sbnpc-dante_statue { background-position: -2280px -270px}.sbnpc-default_lost_adventurer { background-position: -2400px -270px}.sbnpc-derp_candidate { background-position: -2520px -270px}.sbnpc-diamond_guy { background-position: -2640px -270px}.sbnpc-dictator { background-position: -2760px -270px}.sbnpc-dirt_guy { background-position: 0 -540px}.sbnpc-donpireso { background-position: -120px -540px}.sbnpc-duncan { background-position: -240px -540px}.sbnpc-dungeons_candidate { background-position: -360px -540px}.sbnpc-dungeons_hub_selector { background-position: -480px -540px}.sbnpc-dusk { background-position: -600px -540px}.sbnpc-dwarf_banker { background-position: -720px -540px}.sbnpc-dwarf_citizen_female_5 { background-position: -840px -540px}.sbnpc-dwarf_citizen_female_6 { background-position: -960px -540px}.sbnpc-dwarf_citizen_female_7 { background-position: -1080px -540px}.sbnpc-dwarf_citizen_male_1 { background-position: -1200px -540px}.sbnpc-dwarf_citizen_male_2 { background-position: -1320px -540px}.sbnpc-dwarf_citizen_male_3 { background-position: -1440px -540px}.sbnpc-dwarf_citizen_male_4 { background-position: -1560px -540px}.sbnpc-dwarf_council_female_5 { background-position: -1680px -540px}.sbnpc-dwarf_council_female_6 { background-position: -1800px -540px}.sbnpc-dwarf_council_female_7 { background-position: -1920px -540px}.sbnpc-dwarf_council_female_8 { background-position: -2040px -540px}.sbnpc-dwarf_council_male_1 { background-position: -2160px -540px}.sbnpc-dwarf_council_male_2 { background-position: -2280px -540px}.sbnpc-dwarf_council_male_3 { background-position: -2400px -540px}.sbnpc-dwarf_council_male_4 { background-position: -2520px -540px}.sbnpc-dwarf_militia_1 { background-position: -2640px -540px}.sbnpc-dwarf_militia_2 { background-position: -2760px -540px}.sbnpc-dwarf_militia_3 { background-position: 0 -810px}.sbnpc-dwarf_militia_4 { background-position: -120px -810px}.sbnpc-dwarf_militia_5 { background-position: -240px -810px}.sbnpc-dwarf_militia_6 { background-position: -360px -810px}.sbnpc-dwarf_royalguard_female_5 { background-position: -480px -810px}.sbnpc-dwarf_royalguard_female_6 { background-position: -600px -810px}.sbnpc-dwarf_royalguard_female_7 { background-position: -720px -810px}.sbnpc-dwarf_royalguard_female_8 { background-position: -840px -810px}.sbnpc-dwarf_royalguard_male_1 { background-position: -960px -810px}.sbnpc-dwarf_royalguard_male_2 { background-position: -1080px -810px}.sbnpc-dwarf_royalguard_male_3 { background-position: -1200px -810px}.sbnpc-dwarf_royalguard_male_4 { background-position: -1320px -810px}.sbnpc-economist_candidate { background-position: -1440px -810px}.sbnpc-elle { background-position: -1560px -810px}.sbnpc-emissary_female_1 { background-position: -1680px -810px}.sbnpc-emissary_female_2 { background-position: -1800px -810px}.sbnpc-emissary_female_3 { background-position: -1920px -810px}.sbnpc-emissary_male_1 { background-position: -2040px -810px}.sbnpc-emissary_male_2 { background-position: -2160px -810px}.sbnpc-emissary_male_3 { background-position: -2280px -810px}.sbnpc-end_dealer { background-position: -2400px -810px}.sbnpc-enderman_liquid_hot_magma { background-position: -2520px -810px}.sbnpc-enraged_revenant_horror { background-position: -2640px -810px}.sbnpc-entity_liquid_hot_magma { background-position: -2760px -810px}.sbnpc-event_master { background-position: 0 -1080px}.sbnpc-events_candidate { background-position: -120px -1080px}.sbnpc-fairy { background-position: -240px -1080px}.sbnpc-farm_merchant { background-position: -360px -1080px}.sbnpc-farmer { background-position: -480px -1080px}.sbnpc-farmer_jon { background-position: -600px -1080px}.sbnpc-fire_guy { background-position: -720px -1080px}.sbnpc-fish_merchant { background-position: -840px -1080px}.sbnpc-fisherman { background-position: -960px -1080px}.sbnpc-fishing_candidate { background-position: -1080px -1080px}.sbnpc-flamer_undead { background-position: -1200px -1080px}.sbnpc-forger { background-position: -1320px -1080px}.sbnpc-frank_undead { background-position: -1440px -1080px}.sbnpc-friendly_hiker { background-position: -1560px -1080px}.sbnpc-frost_undead { background-position: -1680px -1080px}.sbnpc-frosty { background-position: -1800px -1080px}.sbnpc-frozen_lost_adventurer { background-position: -1920px -1080px}.sbnpc-furry_e_boy { background-position: -2040px -1080px}.sbnpc-gatekeeper { background-position: -2160px -1080px}.sbnpc-giant_undead { background-position: -2280px -1080px}.sbnpc-goblin { background-position: -2400px -1080px}.sbnpc-goblin_armor_1 { background-position: -2520px -1080px}.sbnpc-goblin_armor_2 { background-position: -2640px -1080px}.sbnpc-goblin_armor_3 { background-position: -2760px -1080px}.sbnpc-goblin_armor_4 { background-position: 0 -1350px}.sbnpc-goblin_king_1 { background-position: -120px -1350px}.sbnpc-goblin_murderlover { background-position: -240px -1350px}.sbnpc-goblin_naked_1 { background-position: -360px -1350px}.sbnpc-goblin_naked_2 { background-position: -480px -1350px}.sbnpc-goblin_naked_3 { background-position: -600px -1350px}.sbnpc-goblin_naked_4 { background-position: -720px -1350px}.sbnpc-goblin_naked_5 { background-position: -840px -1350px}.sbnpc-gold_forger { background-position: -960px -1350px}.sbnpc-goon { background-position: -1080px -1350px}.sbnpc-grandma_wolf { background-position: -1200px -1350px}.sbnpc-great_white_shark { background-position: -1320px -1350px}.sbnpc-guber { background-position: -1440px -1350px}.sbnpc-guildford { background-position: -1560px -1350px}.sbnpc-gulliver { background-position: -1680px -1350px}.sbnpc-gustave { background-position: -1800px -1350px}.sbnpc-haymitch { background-position: -1920px -1350px}.sbnpc-hephaestus { background-position: -2040px -1350px}.sbnpc-holy_lost_adventurer { background-position: -2160px -1350px}.sbnpc-hub_selector { background-position: -2280px -1350px}.sbnpc-hungry_hiker { background-position: -2400px -1350px}.sbnpc-hunter_ava { background-position: -2520px -1350px}.sbnpc-ice_fisherman { background-position: -2640px -1350px}.sbnpc-iron_forger { background-position: -2760px -1350px}.sbnpc-jacob { background-position: 0 -1620px}.sbnpc-jake { background-position: -120px -1620px}.sbnpc-juliette { background-position: -240px -1620px}.sbnpc-kessie { background-position: -360px -1620px}.sbnpc-king_midas { background-position: -480px -1620px}.sbnpc-lapis_miner { background-position: -600px -1620px}.sbnpc-lazy_miner { background-position: -720px -1620px}.sbnpc-leech_undead { background-position: -840px -1620px}.sbnpc-lift_operator { background-position: -960px -1620px}.sbnpc-liquid_hot_magma { background-position: -1080px -1620px}.sbnpc-livid { background-position: -1200px -1620px}.sbnpc-livid_undead { background-position: -1320px -1620px}.sbnpc-lonely_philosopher { background-position: -1440px -1620px}.sbnpc-lumber_merchant { background-position: -1560px -1620px}.sbnpc-lumberjack { background-position: -1680px -1620px}.sbnpc-mason { background-position: -1800px -1620px}.sbnpc-master_tactician { background-position: -1920px -1620px}.sbnpc-mayhem_main { background-position: -2040px -1620px}.sbnpc-mayor { background-position: -2160px -1620px}.sbnpc-melancholic_viking { background-position: -2280px -1620px}.sbnpc-melody { background-position: -2400px -1620px}.sbnpc-mine_merchant { background-position: -2520px -1620px}.sbnpc-mining_candidate { background-position: -2640px -1620px}.sbnpc-minos_champion { background-position: -2760px -1620px}.sbnpc-minos_inquisitor { background-position: 0 -1890px}.sbnpc-minotaur { background-position: -120px -1890px}.sbnpc-mort { background-position: -240px -1890px}.sbnpc-mr_dead_undead { background-position: -360px -1890px}.sbnpc-mute_undead { background-position: -480px -1890px}.sbnpc-nitroholic { background-position: -600px -1890px}.sbnpc-nurse_shark { background-position: -720px -1890px}.sbnpc-old_man_garry { background-position: -840px -1890px}.sbnpc-ooze_undead { background-position: -960px -1890px}.sbnpc-ophelia { background-position: -1080px -1890px}.sbnpc-oringo { background-position: -1200px -1890px}.sbnpc-parasite_undead { background-position: -1320px -1890px}.sbnpc-pat { background-position: -1440px -1890px}.sbnpc-personal_bank_upgrader { background-position: -1560px -1890px}.sbnpc-pet_collector { background-position: -1680px -1890px}.sbnpc-pet_sitter { background-position: -1800px -1890px}.sbnpc-pets_candidate { background-position: -1920px -1890px}.sbnpc-placeholder_candidate { background-position: -2040px -1890px}.sbnpc-player_jerry { background-position: -2160px -1890px}.sbnpc-potato_king { background-position: -2280px -1890px}.sbnpc-professor { background-position: -2400px -1890px}.sbnpc-psycho_undead { background-position: -2520px -1890px}.sbnpc-putrid_undead { background-position: -2640px -1890px}.sbnpc-puzzler { background-position: -2760px -1890px}.sbnpc-rainmaker { background-position: 0 -2160px}.sbnpc-reaper_undead { background-position: -120px -2160px}.sbnpc-redstone_engineer { background-position: -240px -2160px}.sbnpc-refraction { background-position: -360px -2160px}.sbnpc-relenter { background-position: -480px -2160px}.sbnpc-revenant_horror { background-position: -600px -2160px}.sbnpc-revoker_undead { background-position: -720px -2160px}.sbnpc-rick { background-position: -840px -2160px}.sbnpc-romero_final { background-position: -960px -2160px}.sbnpc-romero_normal { background-position: -1080px -2160px}.sbnpc-sadan { background-position: -1200px -2160px}.sbnpc-salesman_christmas { background-position: -1320px -2160px}.sbnpc-salesman_easter { background-position: -1440px -2160px}.sbnpc-salesman_generic { background-position: -1560px -2160px}.sbnpc-salesman_halloween { background-position: -1680px -2160px}.sbnpc-salesman_summer { background-position: -1800px -2160px}.sbnpc-scarf_archer { background-position: -1920px -2160px}.sbnpc-scarf_mage { background-position: -2040px -2160px}.sbnpc-scarf_priest { background-position: -2160px -2160px}.sbnpc-scarf_undead { background-position: -2280px -2160px}.sbnpc-scarf_warrior { background-position: -2400px -2160px}.sbnpc-scoop { background-position: -2520px -2160px}.sbnpc-scorpius { background-position: -2640px -2160px}.sbnpc-shadow_assassin { background-position: -2760px -2160px}.sbnpc-shady_bartender { background-position: 0 -2430px}.sbnpc-shady_cousin { background-position: -120px -2430px}.sbnpc-shaggy { background-position: -240px -2430px}.sbnpc-shepherd { background-position: -360px -2430px}.sbnpc-simon_hat { background-position: -480px -2430px}.sbnpc-sirius { background-position: -600px -2430px}.sbnpc-skeletor_prime { background-position: -720px -2430px}.sbnpc-skull_undead { background-position: -840px -2430px}.sbnpc-slayer { background-position: -960px -2430px}.sbnpc-slayer_candidate { background-position: -1080px -2430px}.sbnpc-snowmaker { background-position: -1200px -2430px}.sbnpc-spirit_bear { background-position: -1320px -2430px}.sbnpc-spooky { background-position: -1440px -2430px}.sbnpc-st_jerry { background-position: -1560px -2430px}.sbnpc-sylent { background-position: -1680px -2430px}.sbnpc-tailor_assistant { background-position: -1800px -2430px}.sbnpc-tailor_owner { background-position: -1920px -2430px}.sbnpc-tammy { background-position: -2040px -2430px}.sbnpc-tear_undead { background-position: -2160px -2430px}.sbnpc-technoblade { background-position: -2280px -2430px}.sbnpc-terracotta { background-position: -2400px -2430px}.sbnpc-terry { background-position: -2520px -2430px}.sbnpc-thirty_virus { background-position: -2640px -2430px}.sbnpc-tiger_shark { background-position: -2760px -2430px}.sbnpc-timedeo { background-position: -2880px 0}.sbnpc-tomioka { background-position: -2880px -270px}.sbnpc-tony { background-position: -2880px -540px}.sbnpc-treasure_horder { background-position: -2880px -810px}.sbnpc-treasure_hunter { background-position: -2880px -1080px}.sbnpc-trevor { background-position: -2880px -1350px}.sbnpc-trinity { background-position: -2880px -1620px}.sbnpc-unstable_lost_adventurer { background-position: -2880px -1890px}.sbnpc-vader_undead { background-position: -2880px -2160px}.sbnpc-vinny { background-position: -2880px -2430px}.sbnpc-walker_undead { background-position: 0 -2700px}.sbnpc-walter { background-position: -120px -2700px}.sbnpc-weaponsmith { background-position: -240px -2700px}.sbnpc-weirdo_0 { background-position: -360px -2700px}.sbnpc-weirdo_1 { background-position: -480px -2700px}.sbnpc-weirdo_2 { background-position: -600px -2700px}.sbnpc-winona { background-position: -720px -2700px}.sbnpc-winter_banker { background-position: -840px -2700px}.sbnpc-wizard { background-position: -960px -2700px}.sbnpc-wizard_candidate { background-position: -1080px -2700px}.sbnpc-wizard_quest { background-position: -1200px -2700px}.sbnpc-wolf_shaman { background-position: -1320px -2700px}.sbnpc-wool_weaver { background-position: -1440px -2700px}.sbnpc-young_lost_adventurer { background-position: -1560px -2700px}.sbnpc-zog { background-position: -1680px -2700px}.sbnpc-zombie_commander { background-position: -1800px -2700px}.sbsprite-cobblestone_generator_10 { background-position: 0 0}.sbsprite-cobblestone_generator_11 { background-position: -22px 0}.sbsprite-danger_3_portal { background-position: -44px 0}.sbsprite-resource_regenerator_crystal { background-position: -66px 0}.sbsprite-sugar_cane_generator_12 { background-position: -88px 0}.sbsprite-cobblestone_generator_12 { background-position: -110px 0}.sbsprite-sugar_cane_generator_11 { background-position: -132px 0}.sbsprite-sugar_cane_generator_10 { background-position: -154px 0}.sbsprite-small_shelves { background-position: -176px 0}.sbsprite-bingo_talisman { background-position: -198px 0}.sbsprite-red_scarf { background-position: -220px 0}.sbsprite-wither_helmet { background-position: -242px 0}.sbsprite-glowstone_generator_11 { background-position: -264px 0}.sbsprite-glowstone_generator_10 { background-position: -286px 0}.sbsprite-fast_travel_crypt { background-position: -308px 0}.sbsprite-present_personality { background-position: -330px 0}.sbsprite-extra_large_gemstone_sack { background-position: -352px 0}.sbsprite-gold_bonzo_head { background-position: -374px 0}.sbsprite-shadow_assassin_mauve { background-position: -396px 0}.sbsprite-ender_artifact { background-position: -418px 0}.sbsprite-sheep_generator_1 { background-position: -440px 0}.sbsprite-beach_chair_plus { background-position: -462px 0}.sbsprite-sheep_generator_2 { background-position: -484px 0}.sbsprite-sheep_generator_3 { background-position: -506px 0}.sbsprite-sheep_generator_4 { background-position: -528px 0}.sbsprite-sheep_generator_5 { background-position: -550px 0}.sbsprite-sheep_generator_6 { background-position: -572px 0}.sbsprite-frozen_spider { background-position: -594px 0}.sbsprite-sheep_generator_7 { background-position: -616px 0}.sbsprite-sheep_generator_8 { background-position: -638px 0}.sbsprite-sheep_generator_9 { background-position: -660px 0}.sbsprite-nether_wart_island_crystal { background-position: -682px 0}.sbsprite-medium_fishing_sack { background-position: -704px 0}.sbsprite-gold_generator_9 { background-position: -726px 0}.sbsprite-gold_generator_7 { background-position: -748px 0}.sbsprite-gold_generator_8 { background-position: -770px 0}.sbsprite-gold_generator_5 { background-position: -792px 0}.sbsprite-penguin_10 { background-position: -814px 0}.sbsprite-diver_helmet { background-position: -836px 0}.sbsprite-gold_generator_6 { background-position: -858px 0}.sbsprite-penguin_11 { background-position: -880px 0}.sbsprite-gold_generator_3 { background-position: -902px 0}.sbsprite-gold_generator_4 { background-position: -924px 0}.sbsprite-pet_skin_sheep_purple { background-position: -946px 0}.sbsprite-gold_generator_1 { background-position: -968px 0}.sbsprite-gold_generator_2 { background-position: -990px 0}.sbsprite-jar_of_pickles { background-position: -1012px 0}.sbsprite-griffin_upgrade_stone_legendary { background-position: -1034px 0}.sbsprite-pet_skin_sheep_orange { background-position: 0 -22px}.sbsprite-talisman { background-position: -22px -22px}.sbsprite-jungle_generator_7 { background-position: -44px -22px}.sbsprite-jungle_generator_6 { background-position: -66px -22px}.sbsprite-tutti_frutti_poison { background-position: -88px -22px}.sbsprite-fishing_generator_11 { background-position: -110px -22px}.sbsprite-jungle_generator_9 { background-position: -132px -22px}.sbsprite-fishing_generator_10 { background-position: -154px -22px}.sbsprite-jungle_generator_8 { background-position: -176px -22px}.sbsprite-jungle_generator_3 { background-position: -198px -22px}.sbsprite-witch_mask { background-position: -220px -22px}.sbsprite-yellow { background-position: -242px -22px}.sbsprite-jungle_generator_2 { background-position: -264px -22px}.sbsprite-jungle_generator_5 { background-position: -286px -22px}.sbsprite-jungle_generator_4 { background-position: -308px -22px}.sbsprite-bat_person_artifact { background-position: -330px -22px}.sbsprite-cocoa_generator_11 { background-position: -352px -22px}.sbsprite-cocoa_generator_12 { background-position: -374px -22px}.sbsprite-jungle_generator_1 { background-position: -396px -22px}.sbsprite-cocoa_generator_10 { background-position: -418px -22px}.sbsprite-beheaded_horror { background-position: -440px -22px}.sbsprite-clay_generator_6 { background-position: -462px -22px}.sbsprite-clay_generator_7 { background-position: -484px -22px}.sbsprite-clay_generator_8 { background-position: -506px -22px}.sbsprite-clay_generator_9 { background-position: -528px -22px}.sbsprite-clay_generator_2 { background-position: -550px -22px}.sbsprite-clay_generator_3 { background-position: -572px -22px}.sbsprite-clay_generator_4 { background-position: -594px -22px}.sbsprite-clay_generator_5 { background-position: -616px -22px}.sbsprite-gold_livid_head { background-position: -638px -22px}.sbsprite-clay_generator_1 { background-position: -660px -22px}.sbsprite-medium_slayer_sack { background-position: -682px -22px}.sbsprite-pet_skin_wither { background-position: -704px -22px}.sbsprite-pink_frosted_donut_3 { background-position: -726px -22px}.sbsprite-pink_frosted_donut_2 { background-position: -748px -22px}.sbsprite-pink_frosted_donut_5 { background-position: -770px -22px}.sbsprite-garland { background-position: -792px -22px}.sbsprite-pink_frosted_donut_4 { background-position: -814px -22px}.sbsprite-pink_frosted_donut_7 { background-position: -836px -22px}.sbsprite-pink_frosted_donut_6 { background-position: -858px -22px}.sbsprite-pink_frosted_donut_9 { background-position: -880px -22px}.sbsprite-pink_frosted_donut_8 { background-position: -902px -22px}.sbsprite-rune_jerry { background-position: -924px -22px}.sbsprite-feather_ring { background-position: -946px -22px}.sbsprite-perfect_forge { background-position: -968px -22px}.sbsprite-bingo_relic { background-position: -990px -22px}.sbsprite-revenant_catalyst { background-position: -1012px -22px}.sbsprite-sun_2 { background-position: -1034px -22px}.sbsprite-sun_1 { background-position: 0 -44px}.sbsprite-pet_skin_tiger_twilight { background-position: -22px -44px}.sbsprite-blessing_of_life { background-position: -44px -44px}.sbsprite-plasma { background-position: -66px -44px}.sbsprite-carrot_patch { background-position: -88px -44px}.sbsprite-pink_frosted_donut_1 { background-position: -110px -44px}.sbsprite-bestiary_the_park { background-position: -132px -44px}.sbsprite-end_stone_10 { background-position: -154px -44px}.sbsprite-end_stone_11 { background-position: -176px -44px}.sbsprite-griffin_upgrade_stone_epic { background-position: -198px -44px}.sbsprite-iron_generator_10 { background-position: -220px -44px}.sbsprite-pet_skin_rock_embarrassed { background-position: -242px -44px}.sbsprite-fast_travel_barn { background-position: -264px -44px}.sbsprite-iron_generator_11 { background-position: -286px -44px}.sbsprite-iron_generator_12 { background-position: -308px -44px}.sbsprite-large_runes_sack { background-position: -330px -44px}.sbsprite-rune_redstone { background-position: -352px -44px}.sbsprite-horseman_candle { background-position: -374px -44px}.sbsprite-tepid_green_tea { background-position: -396px -44px}.sbsprite-large_agronomy_sack { background-position: -418px -44px}.sbsprite-wise_shimmer { background-position: -440px -44px}.sbsprite-maxor_the_fish { background-position: -462px -44px}.sbsprite-revenant_generator_4 { background-position: -484px -44px}.sbsprite-revenant_generator_5 { background-position: -506px -44px}.sbsprite-revenant_generator_6 { background-position: -528px -44px}.sbsprite-revenant_generator_7 { background-position: -550px -44px}.sbsprite-revenant_generator_1 { background-position: -572px -44px}.sbsprite-revenant_generator_2 { background-position: -594px -44px}.sbsprite-epoch_cake_orange { background-position: -616px -44px}.sbsprite-revenant_generator_3 { background-position: -638px -44px}.sbsprite-large_gemstone_sack { background-position: -660px -44px}.sbsprite-mender_crown { background-position: -682px -44px}.sbsprite-mummy_10 { background-position: -704px -44px}.sbsprite-revenant_generator_8 { background-position: -726px -44px}.sbsprite-revenant_generator_9 { background-position: -748px -44px}.sbsprite-mummy_11 { background-position: -770px -44px}.sbsprite-hard_stone_generator_9 { background-position: -792px -44px}.sbsprite-hard_stone_generator_8 { background-position: -814px -44px}.sbsprite-hard_stone_generator_7 { background-position: -836px -44px}.sbsprite-hard_stone_generator_6 { background-position: -858px -44px}.sbsprite-hard_stone_generator_5 { background-position: -880px -44px}.sbsprite-hard_stone_generator_4 { background-position: -902px -44px}.sbsprite-medium_talisman_bag { background-position: -924px -44px}.sbsprite-hard_stone_generator_3 { background-position: -946px -44px}.sbsprite-black_small_backpack { background-position: -968px -44px}.sbsprite-hard_stone_generator_2 { background-position: -990px -44px}.sbsprite-harp { background-position: -1012px -44px}.sbsprite-hard_stone_generator_1 { background-position: -1034px -44px}.sbsprite-pet_skin_sheep_green { background-position: 0 -66px}.sbsprite-magma_cube_generator_10 { background-position: -22px -66px}.sbsprite-fishing_crystal { background-position: -44px -66px}.sbsprite-magma_cube_generator_11 { background-position: -66px -66px}.sbsprite-rough_amber_gem { background-position: -88px -66px}.sbsprite-oak_generator_5 { background-position: -110px -66px}.sbsprite-oak_generator_4 { background-position: -132px -66px}.sbsprite-oak_generator_3 { background-position: -154px -66px}.sbsprite-oak_generator_2 { background-position: -176px -66px}.sbsprite-red_claw_ring { background-position: -198px -66px}.sbsprite-oak_generator_9 { background-position: -220px -66px}.sbsprite-oak_generator_8 { background-position: -242px -66px}.sbsprite-purple_small_backpack { background-position: -264px -66px}.sbsprite-oak_generator_7 { background-position: -286px -66px}.sbsprite-oak_generator_6 { background-position: -308px -66px}.sbsprite-picnic_set { background-position: -330px -66px}.sbsprite-oak_generator_1 { background-position: -352px -66px}.sbsprite-pet_skin_sheep_neon_red { background-position: -374px -66px}.sbsprite-hot_stuff { background-position: -396px -66px}.sbsprite-skeleton_generator_11 { background-position: -418px -66px}.sbsprite-skeleton_generator_10 { background-position: -440px -66px}.sbsprite-mayor_jerry { background-position: -462px -66px}.sbsprite-generals_armor_of_the_resistance_helmet { background-position: -484px -66px}.sbsprite-recall_potion { background-position: -506px -66px}.sbsprite-portable_builder { background-position: -528px -66px}.sbsprite-rune_ice { background-position: -550px -66px}.sbsprite-zombie_brain_mixin { background-position: -572px -66px}.sbsprite-pet_skin_rabbit_aquamarine { background-position: -594px -66px}.sbsprite-rune_music { background-position: -616px -66px}.sbsprite-magnetic_talisman { background-position: -638px -66px}.sbsprite-light_grey_jumbo_backpack { background-position: -660px -66px}.sbsprite-onyx { background-position: -682px -66px}.sbsprite-rune_fire { background-position: -704px -66px}.sbsprite-pet_skin_sheep_black { background-position: -726px -66px}.sbsprite-ice_fireplace { background-position: -748px -66px}.sbsprite-sun_personality { background-position: -770px -66px}.sbsprite-pet { background-position: -792px -66px}.sbsprite-melon_2 { background-position: -814px -66px}.sbsprite-melon_3 { background-position: -836px -66px}.sbsprite-epoch_cake_purple { background-position: -858px -66px}.sbsprite-melon_1 { background-position: -880px -66px}.sbsprite-krampus_helmet { background-position: -902px -66px}.sbsprite-coffee_table { background-position: -924px -66px}.sbsprite-necromancer_lord_helmet { background-position: -946px -66px}.sbsprite-melon_8 { background-position: -968px -66px}.sbsprite-blue_ice_hunk { background-position: -990px -66px}.sbsprite-divan_helmet { background-position: -1012px -66px}.sbsprite-melon_9 { background-position: -1034px -66px}.sbsprite-melon_6 { background-position: 0 -88px}.sbsprite-melon_7 { background-position: -22px -88px}.sbsprite-melon_4 { background-position: -44px -88px}.sbsprite-melon_5 { background-position: -66px -88px}.sbsprite-blue_candy { background-position: -88px -88px}.sbsprite-squid_hat { background-position: -110px -88px}.sbsprite-dungeon_green_support_orb { background-position: -132px -88px}.sbsprite-coin_diamond_3 { background-position: -154px -88px}.sbsprite-pink { background-position: -176px -88px}.sbsprite-coin_diamond_2 { background-position: -198px -88px}.sbsprite-repelling_candle { background-position: -220px -88px}.sbsprite-enderman_generator_11 { background-position: -242px -88px}.sbsprite-power_artifact { background-position: -264px -88px}.sbsprite-enderman_generator_10 { background-position: -286px -88px}.sbsprite-amethyst_crystal { background-position: -308px -88px}.sbsprite-crimson_essence { background-position: -330px -88px}.sbsprite-blue_small_backpack { background-position: -352px -88px}.sbsprite-grey_jumbo_backpack { background-position: -374px -88px}.sbsprite-wither_essence { background-position: -396px -88px}.sbsprite-brown_jumbo_backpack { background-position: -418px -88px}.sbsprite-archer_dungeon_ability_1 { background-position: -440px -88px}.sbsprite-crochet_tiger_plushie { background-position: -462px -88px}.sbsprite-final_destination_helmet { background-position: -484px -88px}.sbsprite-luxurious_spool { background-position: -506px -88px}.sbsprite-auto_recombobulator { background-position: -528px -88px}.sbsprite-killer_11 { background-position: -550px -88px}.sbsprite-spooky_bait { background-position: -572px -88px}.sbsprite-killer_10 { background-position: -594px -88px}.sbsprite-fast_travel_howl { background-position: -616px -88px}.sbsprite-etherwarp_conduit { background-position: -638px -88px}.sbsprite-forest_island_crystal { background-position: -660px -88px}.sbsprite-spirit_mask { background-position: -682px -88px}.sbsprite-sacks { background-position: -704px -88px}.sbsprite-obsidian_generator_10 { background-position: -726px -88px}.sbsprite-chicken_generator_10 { background-position: -748px -88px}.sbsprite-chicken_generator_12 { background-position: -770px -88px}.sbsprite-wood_singularity { background-position: -792px -88px}.sbsprite-chicken_generator_11 { background-position: -814px -88px}.sbsprite-sun_6 { background-position: -836px -88px}.sbsprite-builder_melon { background-position: -858px -88px}.sbsprite-santa_1 { background-position: -880px -88px}.sbsprite-sun_5 { background-position: -902px -88px}.sbsprite-dirt_bottle { background-position: -924px -88px}.sbsprite-sun_4 { background-position: -946px -88px}.sbsprite-handy_blood_chalice { background-position: -968px -88px}.sbsprite-sun_3 { background-position: -990px -88px}.sbsprite-sun_9 { background-position: -1012px -88px}.sbsprite-superior_fragment { background-position: -1034px -88px}.sbsprite-sun_8 { background-position: 0 -110px}.sbsprite-sun_7 { background-position: -22px -110px}.sbsprite-your_essence { background-position: -44px -110px}.sbsprite-pink_greater_backpack { background-position: -66px -110px}.sbsprite-unstable_fragment { background-position: -88px -110px}.sbsprite-obsidian_generator_11 { background-position: -110px -110px}.sbsprite-obsidian_generator_12 { background-position: -132px -110px}.sbsprite-perfect_sapphire_gem { background-position: -154px -110px}.sbsprite-gravel_generator_11 { background-position: -176px -110px}.sbsprite-gravel_generator_10 { background-position: -198px -110px}.sbsprite-candy_corn { background-position: -220px -110px}.sbsprite-mineral_talisman { background-position: -242px -110px}.sbsprite-divan_alloy { background-position: -264px -110px}.sbsprite-moil_log { background-position: -286px -110px}.sbsprite-super_magic_mushroom_soup { background-position: -308px -110px}.sbsprite-easter_basket { background-position: -330px -110px}.sbsprite-hunter_talisman { background-position: -352px -110px}.sbsprite-medium_potion_bag { background-position: -374px -110px}.sbsprite-pet_skin_megalodon_bullhead { background-position: -396px -110px}.sbsprite-broken_piggy_bank { background-position: -418px -110px}.sbsprite-mayor_technoblade { background-position: -440px -110px}.sbsprite-farming_talisman { background-position: -462px -110px}.sbsprite-flawed_sapphire_gem { background-position: -484px -110px}.sbsprite-light_blue_large_backpack { background-position: -506px -110px}.sbsprite-kindred { background-position: -528px -110px}.sbsprite-pocket_espresso_machine { background-position: -550px -110px}.sbsprite-overflux_power_orb { background-position: -572px -110px}.sbsprite-potato_spreading { background-position: -594px -110px}.sbsprite-acacia_generator_11 { background-position: -616px -110px}.sbsprite-birch_generator_6 { background-position: -638px -110px}.sbsprite-acacia_generator_10 { background-position: -660px -110px}.sbsprite-birch_generator_5 { background-position: -682px -110px}.sbsprite-birch_generator_4 { background-position: -704px -110px}.sbsprite-birch_generator_3 { background-position: -726px -110px}.sbsprite-holy_dragon_helmet { background-position: -748px -110px}.sbsprite-basketball_personality { background-position: -770px -110px}.sbsprite-birch_generator_9 { background-position: -792px -110px}.sbsprite-birch_generator_8 { background-position: -814px -110px}.sbsprite-birch_generator_7 { background-position: -836px -110px}.sbsprite-birch_generator_2 { background-position: -858px -110px}.sbsprite-birch_generator_1 { background-position: -880px -110px}.sbsprite-anubis { background-position: -902px -110px}.sbsprite-santa_8 { background-position: -924px -110px}.sbsprite-santa_9 { background-position: -946px -110px}.sbsprite-santa_6 { background-position: -968px -110px}.sbsprite-santa_7 { background-position: -990px -110px}.sbsprite-santa_4 { background-position: -1012px -110px}.sbsprite-candy_talisman { background-position: -1034px -110px}.sbsprite-santa_5 { background-position: 0 -132px}.sbsprite-santa_2 { background-position: -22px -132px}.sbsprite-santa_3 { background-position: -44px -132px}.sbsprite-small_combat_sack { background-position: -66px -132px}.sbsprite-speed_racer { background-position: -88px -132px}.sbsprite-pet_skin_parrot_blue_macaw { background-position: -110px -132px}.sbsprite-red_large_backpack { background-position: -132px -132px}.sbsprite-sea_archer_helmet { background-position: -154px -132px}.sbsprite-happy_mask { background-position: -176px -132px}.sbsprite-blue_large_backpack { background-position: -198px -132px}.sbsprite-enderman_generator_4 { background-position: -220px -132px}.sbsprite-enderman_generator_3 { background-position: -242px -132px}.sbsprite-enderman_generator_2 { background-position: -264px -132px}.sbsprite-enderman_generator_1 { background-position: -286px -132px}.sbsprite-enderman_generator_8 { background-position: -308px -132px}.sbsprite-enderman_generator_7 { background-position: -330px -132px}.sbsprite-enderman_generator_6 { background-position: -352px -132px}.sbsprite-enderman_generator_5 { background-position: -374px -132px}.sbsprite-green_candy { background-position: -396px -132px}.sbsprite-bestiary_milestone { background-position: -418px -132px}.sbsprite-colossal_exp_bottle_upgrade { background-position: -440px -132px}.sbsprite-sun_11 { background-position: -462px -132px}.sbsprite-sun_10 { background-position: -484px -132px}.sbsprite-vampire_witch_mask { background-position: -506px -132px}.sbsprite-pet_skin_sheep_yellow { background-position: -528px -132px}.sbsprite-bank_upgrade_palatial { background-position: -550px -132px}.sbsprite-flawed_ruby_gem { background-position: -572px -132px}.sbsprite-redstone_generator_9 { background-position: -594px -132px}.sbsprite-redstone_generator_7 { background-position: -616px -132px}.sbsprite-redstone_generator_8 { background-position: -638px -132px}.sbsprite-arachne_fragment { background-position: -660px -132px}.sbsprite-spider_generator_10 { background-position: -682px -132px}.sbsprite-spider_generator_11 { background-position: -704px -132px}.sbsprite-epoch_cake_red { background-position: -726px -132px}.sbsprite-orange_jumbo_backpack { background-position: -748px -132px}.sbsprite-giant_the_fish { background-position: -770px -132px}.sbsprite-minnow_bait { background-position: -792px -132px}.sbsprite-enderman_generator_9 { background-position: -814px -132px}.sbsprite-mastiff_puppy { background-position: -836px -132px}.sbsprite-talisman_enrichment_critical_damage { background-position: -858px -132px}.sbsprite-fast_travel_forge { background-position: -880px -132px}.sbsprite-goblin_omelette { background-position: -902px -132px}.sbsprite-builder_ancient_fruit { background-position: -924px -132px}.sbsprite-master_skull_tier_10 { background-position: -946px -132px}.sbsprite-hardened_wood { background-position: -968px -132px}.sbsprite-large_winter_sack { background-position: -990px -132px}.sbsprite-talisman_enrichment_intelligence { background-position: -1012px -132px}.sbsprite-snow_snowglobe { background-position: -1034px -132px}.sbsprite-summoning_eye { background-position: 0 -154px}.sbsprite-cavespider_generator_10 { background-position: -22px -154px}.sbsprite-clownfish_10 { background-position: -44px -154px}.sbsprite-cavespider_generator_11 { background-position: -66px -154px}.sbsprite-revenant_generator_12 { background-position: -88px -154px}.sbsprite-clownfish_11 { background-position: -110px -154px}.sbsprite-revenant_generator_11 { background-position: -132px -154px}.sbsprite-revenant_generator_10 { background-position: -154px -154px}.sbsprite-red_small_backpack { background-position: -176px -154px}.sbsprite-soulflow { background-position: -198px -154px}.sbsprite-farming_fortune { background-position: -220px -154px}.sbsprite-dungeon_stone_berserk { background-position: -242px -154px}.sbsprite-green_greater_backpack { background-position: -264px -154px}.sbsprite-mastiff_helmet { background-position: -286px -154px}.sbsprite-purple { background-position: -308px -154px}.sbsprite-skeleton_generator_7 { background-position: -330px -154px}.sbsprite-skeleton_generator_6 { background-position: -352px -154px}.sbsprite-skeleton_generator_9 { background-position: -374px -154px}.sbsprite-skeleton_generator_8 { background-position: -396px -154px}.sbsprite-speed_ring { background-position: -418px -154px}.sbsprite-skeleton_generator_3 { background-position: -440px -154px}.sbsprite-rabbit_hutch { background-position: -462px -154px}.sbsprite-skeleton_generator_2 { background-position: -484px -154px}.sbsprite-skeleton_generator_5 { background-position: -506px -154px}.sbsprite-minion_storage_expander { background-position: -528px -154px}.sbsprite-skeleton_generator_4 { background-position: -550px -154px}.sbsprite-werewolf_helmet { background-position: -572px -154px}.sbsprite-light_blue_small_backpack { background-position: -594px -154px}.sbsprite-skeleton_generator_1 { background-position: -616px -154px}.sbsprite-lapis_chest { background-position: -638px -154px}.sbsprite-healing_talisman { background-position: -660px -154px}.sbsprite-magma_cube_head { background-position: -682px -154px}.sbsprite-shadow_goggles { background-position: -704px -154px}.sbsprite-ice_generator_11 { background-position: -726px -154px}.sbsprite-fine_jasper_gem { background-position: -748px -154px}.sbsprite-candy_artifact { background-position: -770px -154px}.sbsprite-pet_skin_dragon_neon_blue { background-position: -792px -154px}.sbsprite-fast_travel_desert { background-position: -814px -154px}.sbsprite-rune_end { background-position: -836px -154px}.sbsprite-old_shimmer { background-position: -858px -154px}.sbsprite-skyblock_bench { background-position: -880px -154px}.sbsprite-hay_bale { background-position: -902px -154px}.sbsprite-crit_chance { background-position: -924px -154px}.sbsprite-dungeon_stone { background-position: -946px -154px}.sbsprite-artifact_potion_affinity { background-position: -968px -154px}.sbsprite-yoggie { background-position: -990px -154px}.sbsprite-starred_adaptive_helmet { background-position: -1012px -154px}.sbsprite-foraging_3_portal { background-position: -1034px -154px}.sbsprite-pet_skin_dragon_neon_red { background-position: 0 -176px}.sbsprite-ditto_skull { background-position: -22px -176px}.sbsprite-pig_generator_6 { background-position: -44px -176px}.sbsprite-redstone_generator_1 { background-position: -66px -176px}.sbsprite-pig_generator_5 { background-position: -88px -176px}.sbsprite-redstone_generator_2 { background-position: -110px -176px}.sbsprite-pig_generator_8 { background-position: -132px -176px}.sbsprite-pig_generator_7 { background-position: -154px -176px}.sbsprite-flawless_amethyst_gem { background-position: -176px -176px}.sbsprite-redstone_generator_5 { background-position: -198px -176px}.sbsprite-wither_catalyst { background-position: -220px -176px}.sbsprite-pig_generator_9 { background-position: -242px -176px}.sbsprite-redstone_generator_6 { background-position: -264px -176px}.sbsprite-cyan_jumbo_backpack { background-position: -286px -176px}.sbsprite-redstone_generator_3 { background-position: -308px -176px}.sbsprite-redstone_generator_4 { background-position: -330px -176px}.sbsprite-ice_generator_10 { background-position: -352px -176px}.sbsprite-pig_generator_2 { background-position: -374px -176px}.sbsprite-builder_lettuce { background-position: -396px -176px}.sbsprite-first_master_star { background-position: -418px -176px}.sbsprite-pig_generator_1 { background-position: -440px -176px}.sbsprite-pig_generator_4 { background-position: -462px -176px}.sbsprite-green_medium_backpack { background-position: -484px -176px}.sbsprite-pig_generator_3 { background-position: -506px -176px}.sbsprite-sugar_cane_generator_9 { background-position: -528px -176px}.sbsprite-greater_backpack { background-position: -550px -176px}.sbsprite-sugar_cane_generator_6 { background-position: -572px -176px}.sbsprite-sugar_cane_generator_5 { background-position: -594px -176px}.sbsprite-pet_skin_sheep_neon_blue { background-position: -616px -176px}.sbsprite-sugar_cane_generator_8 { background-position: -638px -176px}.sbsprite-sugar_cane_generator_7 { background-position: -660px -176px}.sbsprite-sugar_cane_generator_2 { background-position: -682px -176px}.sbsprite-sugar_cane_generator_1 { background-position: -704px -176px}.sbsprite-cauldron { background-position: -726px -176px}.sbsprite-sugar_cane_generator_4 { background-position: -748px -176px}.sbsprite-sugar_cane_generator_3 { background-position: -770px -176px}.sbsprite-wheat_island_crystal { background-position: -792px -176px}.sbsprite-boss_collection_scarf { background-position: -814px -176px}.sbsprite-deep_sea_orb { background-position: -836px -176px}.sbsprite-pet_skin_elephant_red { background-position: -858px -176px}.sbsprite-pink_large_backpack { background-position: -880px -176px}.sbsprite-gemstone_collection { background-position: -902px -176px}.sbsprite-carpentry_bench { background-position: -924px -176px}.sbsprite-pet_skin_wolf_henzo_doggo { background-position: -946px -176px}.sbsprite-sloth_11 { background-position: -968px -176px}.sbsprite-sloth_10 { background-position: -990px -176px}.sbsprite-vampire_mask { background-position: -1012px -176px}.sbsprite-reindeer_personality { background-position: -1034px -176px}.sbsprite-minos_hunter_helmet { background-position: 0 -198px}.sbsprite-catacombs_2 { background-position: -22px -198px}.sbsprite-catacombs_3 { background-position: -44px -198px}.sbsprite-catacombs_1 { background-position: -66px -198px}.sbsprite-catacombs_6 { background-position: -88px -198px}.sbsprite-small_runes_sack { background-position: -110px -198px}.sbsprite-catacombs_4 { background-position: -132px -198px}.sbsprite-catacombs_5 { background-position: -154px -198px}.sbsprite-clownfish_hat { background-position: -176px -198px}.sbsprite-fine_topaz_gem { background-position: -198px -198px}.sbsprite-beastmaster_crest_uncommon { background-position: -220px -198px}.sbsprite-superlite_motor { background-position: -242px -198px}.sbsprite-red_greater_backpack { background-position: -264px -198px}.sbsprite-hunter_ring { background-position: -286px -198px}.sbsprite-necromancer_brooch { background-position: -308px -198px}.sbsprite-spooky_shard { background-position: -330px -198px}.sbsprite-grey_medium_backpack { background-position: -352px -198px}.sbsprite-diamond_chest { background-position: -374px -198px}.sbsprite-slime_hat { background-position: -396px -198px}.sbsprite-hermit_crab_2 { background-position: -418px -198px}.sbsprite-enderman_cortex_rewriter { background-position: -440px -198px}.sbsprite-hermit_crab_1 { background-position: -462px -198px}.sbsprite-carrot_generator_11 { background-position: -484px -198px}.sbsprite-carrot_generator_12 { background-position: -506px -198px}.sbsprite-mushroom_generator_4 { background-position: -528px -198px}.sbsprite-carrot_generator_10 { background-position: -550px -198px}.sbsprite-mushroom_generator_3 { background-position: -572px -198px}.sbsprite-mushroom_generator_6 { background-position: -594px -198px}.sbsprite-mushroom_generator_5 { background-position: -616px -198px}.sbsprite-mushroom_generator_8 { background-position: -638px -198px}.sbsprite-mushroom_generator_7 { background-position: -660px -198px}.sbsprite-mushroom_generator_9 { background-position: -682px -198px}.sbsprite-diamond_professor_head { background-position: -704px -198px}.sbsprite-large_foraging_sack { background-position: -726px -198px}.sbsprite-robotron_reflector { background-position: -748px -198px}.sbsprite-wish_ultimate { background-position: -770px -198px}.sbsprite-tessellated_ender_pearl { background-position: -792px -198px}.sbsprite-pet_skin_sheep_red { background-position: -814px -198px}.sbsprite-spirit_decoy { background-position: -836px -198px}.sbsprite-stacked_pumpkins { background-position: -858px -198px}.sbsprite-medium_runes_sack { background-position: -880px -198px}.sbsprite-mushroom_generator_2 { background-position: -902px -198px}.sbsprite-young_dragon_helmet { background-position: -924px -198px}.sbsprite-mushroom_generator_1 { background-position: -946px -198px}.sbsprite-hermit_crab_6 { background-position: -968px -198px}.sbsprite-gravity_talisman { background-position: -990px -198px}.sbsprite-hermit_crab_5 { background-position: -1012px -198px}.sbsprite-hermit_crab_4 { background-position: -1034px -198px}.sbsprite-hermit_crab_3 { background-position: 0 -220px}.sbsprite-melon_10 { background-position: -22px -220px}.sbsprite-party_time_event { background-position: -44px -220px}.sbsprite-grinch_10 { background-position: -66px -220px}.sbsprite-melon_11 { background-position: -88px -220px}.sbsprite-hermit_crab_9 { background-position: -110px -220px}.sbsprite-hermit_crab_8 { background-position: -132px -220px}.sbsprite-grinch_11 { background-position: -154px -220px}.sbsprite-hermit_crab_7 { background-position: -176px -220px}.sbsprite-flower_generator_10 { background-position: -198px -220px}.sbsprite-race_giant_mushroom { background-position: -220px -220px}.sbsprite-flower_generator_11 { background-position: -242px -220px}.sbsprite-flower_generator_12 { background-position: -264px -220px}.sbsprite-redstone_chest { background-position: -286px -220px}.sbsprite-undead_catalyst { background-position: -308px -220px}.sbsprite-master_skull_tier_7 { background-position: -330px -220px}.sbsprite-reindeer_9 { background-position: -352px -220px}.sbsprite-master_skull_tier_6 { background-position: -374px -220px}.sbsprite-rune_slimy { background-position: -396px -220px}.sbsprite-master_skull_tier_9 { background-position: -418px -220px}.sbsprite-medium_shelves { background-position: -440px -220px}.sbsprite-master_skull_tier_8 { background-position: -462px -220px}.sbsprite-plasmaflux_power_orb { background-position: -484px -220px}.sbsprite-adaptive_helmet { background-position: -506px -220px}.sbsprite-pet_skin_endermite_radiant { background-position: -528px -220px}.sbsprite-master_skull_tier_1 { background-position: -550px -220px}.sbsprite-master_skull_tier_3 { background-position: -572px -220px}.sbsprite-oil_barrel { background-position: -594px -220px}.sbsprite-master_skull_tier_2 { background-position: -616px -220px}.sbsprite-master_skull_tier_5 { background-position: -638px -220px}.sbsprite-master_skull_tier_4 { background-position: -660px -220px}.sbsprite-pet_skin_guardian { background-position: -682px -220px}.sbsprite-flawless_jade_gem { background-position: -704px -220px}.sbsprite-survivor_cube { background-position: -726px -220px}.sbsprite-undead_2 { background-position: -748px -220px}.sbsprite-undead_3 { background-position: -770px -220px}.sbsprite-undead_4 { background-position: -792px -220px}.sbsprite-undead_5 { background-position: -814px -220px}.sbsprite-undead_6 { background-position: -836px -220px}.sbsprite-undead_7 { background-position: -858px -220px}.sbsprite-undead_8 { background-position: -880px -220px}.sbsprite-undead_9 { background-position: -902px -220px}.sbsprite-enchanted_book_bundle_vicious { background-position: -924px -220px}.sbsprite-endstone_chest { background-position: -946px -220px}.sbsprite-titanium_fuel_tank { background-position: -968px -220px}.sbsprite-golden_ball { background-position: -990px -220px}.sbsprite-undead_1 { background-position: -1012px -220px}.sbsprite-happy_emoji_5 { background-position: -1034px -220px}.sbsprite-reindeer_1 { background-position: 0 -242px}.sbsprite-warden_heart { background-position: -22px -242px}.sbsprite-happy_emoji_4 { background-position: -44px -242px}.sbsprite-reindeer_2 { background-position: -66px -242px}.sbsprite-happy_emoji_7 { background-position: -88px -242px}.sbsprite-reindeer_3 { background-position: -110px -242px}.sbsprite-happy_emoji_6 { background-position: -132px -242px}.sbsprite-kalhuiki_mask { background-position: -154px -242px}.sbsprite-reindeer_4 { background-position: -176px -242px}.sbsprite-happy_emoji_1 { background-position: -198px -242px}.sbsprite-reindeer_5 { background-position: -220px -242px}.sbsprite-reindeer_6 { background-position: -242px -242px}.sbsprite-happy_emoji_3 { background-position: -264px -242px}.sbsprite-reindeer_7 { background-position: -286px -242px}.sbsprite-happy_emoji_2 { background-position: -308px -242px}.sbsprite-reindeer_8 { background-position: -330px -242px}.sbsprite-happy_emoji_9 { background-position: -352px -242px}.sbsprite-festive_skeleton_personality { background-position: -374px -242px}.sbsprite-happy_emoji_8 { background-position: -396px -242px}.sbsprite-mimic_fragment { background-position: -418px -242px}.sbsprite-pet_skin_parrot_gold_macaw { background-position: -440px -242px}.sbsprite-mithril_drill_engine { background-position: -462px -242px}.sbsprite-titan_helmet { background-position: -484px -242px}.sbsprite-warden_helmet { background-position: -506px -242px}.sbsprite-nether_wart_pouch { background-position: -528px -242px}.sbsprite-red_nose { background-position: -550px -242px}.sbsprite-emerald_generator_12 { background-position: -572px -242px}.sbsprite-farming_1_portal { background-position: -594px -242px}.sbsprite-pet_skin_horse_zombie { background-position: -616px -242px}.sbsprite-devour_ring { background-position: -638px -242px}.sbsprite-mining_1_portal { background-position: -660px -242px}.sbsprite-builder_lilac_fruit { background-position: -682px -242px}.sbsprite-diamond_livid_head { background-position: -704px -242px}.sbsprite-fast_travel_dungeon_hub { background-position: -726px -242px}.sbsprite-emerald_generator_10 { background-position: -748px -242px}.sbsprite-emerald_generator_11 { background-position: -770px -242px}.sbsprite-bestiary_catacombs { background-position: -792px -242px}.sbsprite-fine_amber_gem { background-position: -814px -242px}.sbsprite-beach_ball_personality { background-position: -836px -242px}.sbsprite-cow_generator_11 { background-position: -858px -242px}.sbsprite-cow_generator_12 { background-position: -880px -242px}.sbsprite-mummy_personality { background-position: -902px -242px}.sbsprite-rune_wet { background-position: -924px -242px}.sbsprite-jumbo_backpack_upgrade { background-position: -946px -242px}.sbsprite-shadow_assassin_admiral { background-position: -968px -242px}.sbsprite-beating_heart { background-position: -990px -242px}.sbsprite-giant_tooth { background-position: -1012px -242px}.sbsprite-black_large_backpack { background-position: -1034px -242px}.sbsprite-corleonite { background-position: 0 -264px}.sbsprite-magma_cube_generator_1 { background-position: -22px -264px}.sbsprite-magma_cube_generator_5 { background-position: -44px -264px}.sbsprite-gold_candy { background-position: -66px -264px}.sbsprite-magma_cube_generator_4 { background-position: -88px -264px}.sbsprite-magma_cube_generator_3 { background-position: -110px -264px}.sbsprite-magma_cube_generator_2 { background-position: -132px -264px}.sbsprite-magma_cube_generator_9 { background-position: -154px -264px}.sbsprite-dining_table { background-position: -176px -264px}.sbsprite-magma_cube_generator_8 { background-position: -198px -264px}.sbsprite-magma_cube_generator_7 { background-position: -220px -264px}.sbsprite-magma_cube_generator_6 { background-position: -242px -264px}.sbsprite-sadan_brooch { background-position: -264px -264px}.sbsprite-birch_generator_11 { background-position: -286px -264px}.sbsprite-birch_generator_10 { background-position: -308px -264px}.sbsprite-strong_dragon_helmet { background-position: -330px -264px}.sbsprite-greater_enchanted_chest_upgrade { background-position: -352px -264px}.sbsprite-pink_frosted_donut_11 { background-position: -374px -264px}.sbsprite-molten_cube { background-position: -396px -264px}.sbsprite-pink_frosted_donut_10 { background-position: -418px -264px}.sbsprite-ultimate_carrot_candy_upgrade { background-position: -440px -264px}.sbsprite-old_baby { background-position: -462px -264px}.sbsprite-coin_lapis { background-position: -484px -264px}.sbsprite-superior_shimmer { background-position: -506px -264px}.sbsprite-diver_fragment { background-position: -528px -264px}.sbsprite-blue_greater_backpack { background-position: -550px -264px}.sbsprite-piggy_bank { background-position: -572px -264px}.sbsprite-flawed_jade_gem { background-position: -594px -264px}.sbsprite-dungeon_boss_key { background-position: -616px -264px}.sbsprite-spider_catalyst { background-position: -638px -264px}.sbsprite-shark_scale_helmet { background-position: -660px -264px}.sbsprite-ghost_book { background-position: -682px -264px}.sbsprite-titanium_alloy { background-position: -704px -264px}.sbsprite-pet_skin_enderman_slayer { background-position: -726px -264px}.sbsprite-hegemony_artifact { background-position: -748px -264px}.sbsprite-potion_affinity_talisman { background-position: -770px -264px}.sbsprite-trick_or_treat_bag { background-position: -792px -264px}.sbsprite-fake_gold_ring { background-position: -814px -264px}.sbsprite-dr_paper { background-position: -836px -264px}.sbsprite-fuel_tank { background-position: -858px -264px}.sbsprite-rough_amethyst_gem { background-position: -880px -264px}.sbsprite-flawless_sapphire_gem { background-position: -902px -264px}.sbsprite-pink_small_backpack { background-position: -924px -264px}.sbsprite-cow_generator_10 { background-position: -946px -264px}.sbsprite-mithril_infusion { background-position: -968px -264px}.sbsprite-beastmaster_crest_common { background-position: -990px -264px}.sbsprite-shiny_relic { background-position: -1012px -264px}.sbsprite-concentrated_stone { background-position: -1034px -264px}.sbsprite-sloth_personality { background-position: 0 -286px}.sbsprite-stocking { background-position: -22px -286px}.sbsprite-egg_pile { background-position: -44px -286px}.sbsprite-blessing_of_wisdom { background-position: -66px -286px}.sbsprite-happy_snowman { background-position: -88px -286px}.sbsprite-gingerbread_10 { background-position: -110px -286px}.sbsprite-gingerbread_11 { background-position: -132px -286px}.sbsprite-diamond_generator_11 { background-position: -154px -286px}.sbsprite-diamond_generator_10 { background-position: -176px -286px}.sbsprite-medium_backpack { background-position: -198px -286px}.sbsprite-rune_white_spiral { background-position: -220px -286px}.sbsprite-diamond_generator_12 { background-position: -242px -286px}.sbsprite-blacksmith_plus { background-position: -264px -286px}.sbsprite-light_blue_greater_backpack { background-position: -286px -286px}.sbsprite-watcher_eye { background-position: -308px -286px}.sbsprite-pet_skin_silverfish { background-position: -330px -286px}.sbsprite-rough_ruby_gem { background-position: -352px -286px}.sbsprite-fine_amethyst_gem { background-position: -374px -286px}.sbsprite-flawed_topaz_gem { background-position: -396px -286px}.sbsprite-spirit_bone { background-position: -418px -286px}.sbsprite-snow_blaster { background-position: -440px -286px}.sbsprite-unknown_item { background-position: -462px -286px}.sbsprite-spider_essence { background-position: -484px -286px}.sbsprite-light_bait { background-position: -506px -286px}.sbsprite-beastmaster_crest_legendary { background-position: -528px -286px}.sbsprite-mayor_diana { background-position: -550px -286px}.sbsprite-enchanted_jack_o_lantern { background-position: -572px -286px}.sbsprite-medium_foraging_sack { background-position: -594px -286px}.sbsprite-emerald_chest { background-position: -616px -286px}.sbsprite-carrot_generator_6 { background-position: -638px -286px}.sbsprite-reindeer_11 { background-position: -660px -286px}.sbsprite-carrot_generator_7 { background-position: -682px -286px}.sbsprite-reindeer_10 { background-position: -704px -286px}.sbsprite-carrot_generator_4 { background-position: -726px -286px}.sbsprite-carrot_generator_5 { background-position: -748px -286px}.sbsprite-carrot_generator_2 { background-position: -770px -286px}.sbsprite-carrot_generator_3 { background-position: -792px -286px}.sbsprite-carrot_generator_1 { background-position: -814px -286px}.sbsprite-carrot_generator_8 { background-position: -836px -286px}.sbsprite-dragon_scale { background-position: -858px -286px}.sbsprite-carrot_generator_9 { background-position: -880px -286px}.sbsprite-protector_dragon_helmet { background-position: -902px -286px}.sbsprite-rune_hearts { background-position: -924px -286px}.sbsprite-pet_skin_sheep_magenta { background-position: -946px -286px}.sbsprite-shadow_assassin_helmet { background-position: -968px -286px}.sbsprite-gemstone_gauntlet_gold { background-position: -990px -286px}.sbsprite-lucky_dice { background-position: -1012px -286px}.sbsprite-wolf_ring { background-position: -1034px -286px}.sbsprite-haunt_ability { background-position: 0 -308px}.sbsprite-undead_essence { background-position: -22px -308px}.sbsprite-bitter_ice_tea { background-position: -44px -308px}.sbsprite-beastmaster_crest_rare { background-position: -66px -308px}.sbsprite-enchanted_titanium { background-position: -88px -308px}.sbsprite-red_claw_talisman { background-position: -110px -308px}.sbsprite-intimidation_talisman { background-position: -132px -308px}.sbsprite-ice_bait { background-position: -154px -308px}.sbsprite-empty_soda_can { background-position: -176px -308px}.sbsprite-jerry_candy { background-position: -198px -308px}.sbsprite-ghast_generator_3 { background-position: -220px -308px}.sbsprite-fancy_flower_pot { background-position: -242px -308px}.sbsprite-ghast_generator_2 { background-position: -264px -308px}.sbsprite-cyan_greater_backpack { background-position: -286px -308px}.sbsprite-ghast_generator_5 { background-position: -308px -308px}.sbsprite-ghast_generator_4 { background-position: -330px -308px}.sbsprite-ghast_generator_7 { background-position: -352px -308px}.sbsprite-cold_ones { background-position: -374px -308px}.sbsprite-ghast_generator_6 { background-position: -396px -308px}.sbsprite-mega_jerry_lure { background-position: -418px -308px}.sbsprite-ghast_generator_9 { background-position: -440px -308px}.sbsprite-rune_smokey { background-position: -462px -308px}.sbsprite-ghast_generator_8 { background-position: -484px -308px}.sbsprite-healer_dungeon_ability_2 { background-position: -506px -308px}.sbsprite-healer_dungeon_ability_3 { background-position: -528px -308px}.sbsprite-ghast_generator_1 { background-position: -550px -308px}.sbsprite-brown_medium_backpack { background-position: -572px -308px}.sbsprite-healer_dungeon_ability_1 { background-position: -594px -308px}.sbsprite-ice_cream_2 { background-position: -616px -308px}.sbsprite-ice_cream_1 { background-position: -638px -308px}.sbsprite-ice_cream_4 { background-position: -660px -308px}.sbsprite-ice_cream_3 { background-position: -682px -308px}.sbsprite-ice_cream_6 { background-position: -704px -308px}.sbsprite-ice_cream_5 { background-position: -726px -308px}.sbsprite-ice_cream_8 { background-position: -748px -308px}.sbsprite-ice_cream_7 { background-position: -770px -308px}.sbsprite-ice_cream_9 { background-position: -792px -308px}.sbsprite-ice_cream_10 { background-position: -814px -308px}.sbsprite-ice_cream_11 { background-position: -836px -308px}.sbsprite-coin_iron { background-position: -858px -308px}.sbsprite-chewed_gum { background-position: -880px -308px}.sbsprite-training_weights { background-position: -902px -308px}.sbsprite-orange_large_backpack { background-position: -924px -308px}.sbsprite-campfire_talisman_24 { background-position: -946px -308px}.sbsprite-campfire_talisman_25 { background-position: -968px -308px}.sbsprite-campfire_talisman_26 { background-position: -990px -308px}.sbsprite-campfire_talisman_27 { background-position: -1012px -308px}.sbsprite-campfire_talisman_28 { background-position: -1034px -308px}.sbsprite-campfire_talisman_29 { background-position: 0 -330px}.sbsprite-candle_table { background-position: -22px -330px}.sbsprite-jingle_bells { background-position: -44px -330px}.sbsprite-lynx_talisman { background-position: -66px -330px}.sbsprite-campfire_talisman_20 { background-position: -88px -330px}.sbsprite-campfire_talisman_21 { background-position: -110px -330px}.sbsprite-campfire_talisman_22 { background-position: -132px -330px}.sbsprite-campfire_talisman_23 { background-position: -154px -330px}.sbsprite-perfect_ruby_gem { background-position: -176px -330px}.sbsprite-pet_skin_megalodon_baby { background-position: -198px -330px}.sbsprite-jungle_amulet { background-position: -220px -330px}.sbsprite-reaper_mask { background-position: -242px -330px}.sbsprite-enchanting_plus { background-position: -264px -330px}.sbsprite-catacombs_expert_ring { background-position: -286px -330px}.sbsprite-ice_knight_statue { background-position: -308px -330px}.sbsprite-bits_talisman { background-position: -330px -330px}.sbsprite-dark_orb { background-position: -352px -330px}.sbsprite-blessing_of_power { background-position: -374px -330px}.sbsprite-beastmaster_crest_epic { background-position: -396px -330px}.sbsprite-bulky_stone { background-position: -418px -330px}.sbsprite-yellow_small_backpack { background-position: -440px -330px}.sbsprite-small_potion_bag { background-position: -462px -330px}.sbsprite-green_jumbo_backpack { background-position: -484px -330px}.sbsprite-zombie_heart { background-position: -506px -330px}.sbsprite-pet_skin_black_cat_ivory { background-position: -528px -330px}.sbsprite-titanium_relic { background-position: -550px -330px}.sbsprite-fast_travel_jungle { background-position: -572px -330px}.sbsprite-pet_skin_rabbit { background-position: -594px -330px}.sbsprite-enderman_mask { background-position: -616px -330px}.sbsprite-perfect_amethyst_gem { background-position: -638px -330px}.sbsprite-boss_collection_sadan { background-position: -660px -330px}.sbsprite-blessing_of_stone { background-position: -682px -330px}.sbsprite-master_catacombs_pass_0 { background-position: -704px -330px}.sbsprite-snowman { background-position: -726px -330px}.sbsprite-candy_the_fish { background-position: -748px -330px}.sbsprite-gold_chest { background-position: -770px -330px}.sbsprite-master_catacombs_pass_6 { background-position: -792px -330px}.sbsprite-master_catacombs_pass_5 { background-position: -814px -330px}.sbsprite-master_catacombs_pass_8 { background-position: -836px -330px}.sbsprite-master_catacombs_pass_7 { background-position: -858px -330px}.sbsprite-master_catacombs_pass_2 { background-position: -880px -330px}.sbsprite-master_catacombs_pass_1 { background-position: -902px -330px}.sbsprite-master_catacombs_pass_4 { background-position: -924px -330px}.sbsprite-master_catacombs_pass_3 { background-position: -946px -330px}.sbsprite-candy_bowl { background-position: -968px -330px}.sbsprite-large_talisman_bag { background-position: -990px -330px}.sbsprite-secret_dungeon_redstone_key { background-position: -1012px -330px}.sbsprite-knockoff_cola { background-position: -1034px -330px}.sbsprite-grinch_2 { background-position: 0 -352px}.sbsprite-grinch_3 { background-position: -22px -352px}.sbsprite-grinch_4 { background-position: -44px -352px}.sbsprite-personal_bank_item { background-position: -66px -352px}.sbsprite-grinch_5 { background-position: -88px -352px}.sbsprite-grinch_6 { background-position: -110px -352px}.sbsprite-blessing_of_time { background-position: -132px -352px}.sbsprite-grinch_7 { background-position: -154px -352px}.sbsprite-grinch_8 { background-position: -176px -352px}.sbsprite-grinch_9 { background-position: -198px -352px}.sbsprite-crit_damage { background-position: -220px -352px}.sbsprite-grinch_1 { background-position: -242px -352px}.sbsprite-bunny_4 { background-position: -264px -352px}.sbsprite-bunny_3 { background-position: -286px -352px}.sbsprite-the_watchers_head { background-position: -308px -352px}.sbsprite-bunny_2 { background-position: -330px -352px}.sbsprite-bunny_1 { background-position: -352px -352px}.sbsprite-bunny_8 { background-position: -374px -352px}.sbsprite-bunny_7 { background-position: -396px -352px}.sbsprite-master_catacombs_pass_9 { background-position: -418px -352px}.sbsprite-bat_person_helmet { background-position: -440px -352px}.sbsprite-bunny_6 { background-position: -462px -352px}.sbsprite-bunny_5 { background-position: -484px -352px}.sbsprite-refined_amber { background-position: -506px -352px}.sbsprite-pet_skin_rock_derp { background-position: -528px -352px}.sbsprite-pet_skin_sheep_gray { background-position: -550px -352px}.sbsprite-flawed_amber_gem { background-position: -572px -352px}.sbsprite-pumpkin_11 { background-position: -594px -352px}.sbsprite-pumpkin_10 { background-position: -616px -352px}.sbsprite-white_small_backpack { background-position: -638px -352px}.sbsprite-blaze_hat { background-position: -660px -352px}.sbsprite-woodcutting_crystal { background-position: -682px -352px}.sbsprite-bunny_9 { background-position: -704px -352px}.sbsprite-roofed_forest_island { background-position: -726px -352px}.sbsprite-campfire_talisman_13 { background-position: -748px -352px}.sbsprite-campfire_talisman_14 { background-position: -770px -352px}.sbsprite-rune_lava { background-position: -792px -352px}.sbsprite-campfire_talisman_15 { background-position: -814px -352px}.sbsprite-campfire_talisman_16 { background-position: -836px -352px}.sbsprite-campfire_talisman_17 { background-position: -858px -352px}.sbsprite-campfire_talisman_18 { background-position: -880px -352px}.sbsprite-golden_dante_statue { background-position: -902px -352px}.sbsprite-campfire_talisman_19 { background-position: -924px -352px}.sbsprite-foraging_4_portal { background-position: -946px -352px}.sbsprite-new_year_cake_bag { background-position: -968px -352px}.sbsprite-santa_personality { background-position: -990px -352px}.sbsprite-campfire_talisman_10 { background-position: -1012px -352px}.sbsprite-campfire_talisman_11 { background-position: -1034px -352px}.sbsprite-campfire_talisman_12 { background-position: 0 -374px}.sbsprite-jerry_stone { background-position: -22px -374px}.sbsprite-cyclops_personality { background-position: -44px -374px}.sbsprite-desert_island_crystal { background-position: -66px -374px}.sbsprite-happy_emoji_personality { background-position: -88px -374px}.sbsprite-rough_sapphire_gem { background-position: -110px -374px}.sbsprite-fallen_star_hat { background-position: -132px -374px}.sbsprite-blaze_generator_10 { background-position: -154px -374px}.sbsprite-blaze_generator_11 { background-position: -176px -374px}.sbsprite-goblin_omelette_blue_cheese { background-position: -198px -374px}.sbsprite-treasure_artifact { background-position: -220px -374px}.sbsprite-hermit_crab_personality { background-position: -242px -374px}.sbsprite-orange { background-position: -264px -374px}.sbsprite-pond_island { background-position: -286px -374px}.sbsprite-fast_travel_void { background-position: -308px -374px}.sbsprite-transmission_tuner { background-position: -330px -374px}.sbsprite-bestiary_the_end { background-position: -352px -374px}.sbsprite-danger_1_portal { background-position: -374px -374px}.sbsprite-pink_jumbo_backpack { background-position: -396px -374px}.sbsprite-sea_walker_helmet { background-position: -418px -374px}.sbsprite-wise_fragment { background-position: -440px -374px}.sbsprite-jerry_talisman_golden { background-position: -462px -374px}.sbsprite-superior_baby { background-position: -484px -374px}.sbsprite-flower_bed { background-position: -506px -374px}.sbsprite-cactus_generator_1 { background-position: -528px -374px}.sbsprite-endstone_geode { background-position: -550px -374px}.sbsprite-holy_baby { background-position: -572px -374px}.sbsprite-cactus_generator_3 { background-position: -594px -374px}.sbsprite-cactus_generator_2 { background-position: -616px -374px}.sbsprite-cactus_generator_5 { background-position: -638px -374px}.sbsprite-cactus_generator_4 { background-position: -660px -374px}.sbsprite-cactus_generator_7 { background-position: -682px -374px}.sbsprite-cactus_generator_6 { background-position: -704px -374px}.sbsprite-cactus_generator_9 { background-position: -726px -374px}.sbsprite-protector_shimmer { background-position: -748px -374px}.sbsprite-cactus_generator_8 { background-position: -770px -374px}.sbsprite-rune_sparkling { background-position: -792px -374px}.sbsprite-bingo_ring { background-position: -814px -374px}.sbsprite-griffin_upgrade_stone_rare { background-position: -836px -374px}.sbsprite-chick_nest { background-position: -858px -374px}.sbsprite-solved_prism { background-position: -880px -374px}.sbsprite-king_talisman { background-position: -902px -374px}.sbsprite-treasure_ring { background-position: -924px -374px}.sbsprite-black_medium_backpack { background-position: -946px -374px}.sbsprite-surfboard { background-position: -968px -374px}.sbsprite-mithril_fuel_tank { background-position: -990px -374px}.sbsprite-fast_travel_home { background-position: -1012px -374px}.sbsprite-water_trough { background-position: -1034px -374px}.sbsprite-mayor_dante { background-position: 0 -396px}.sbsprite-cheese_fuel { background-position: -22px -396px}.sbsprite-pet_skin_lion_lioness { background-position: -44px -396px}.sbsprite-pink_bunny_personality { background-position: -66px -396px}.sbsprite-goldor_the_fish { background-position: -88px -396px}.sbsprite-speed_wither_helmet { background-position: -110px -396px}.sbsprite-pink_medium_backpack { background-position: -132px -396px}.sbsprite-mayor_derpy { background-position: -154px -396px}.sbsprite-talisman_enrichment_health { background-position: -176px -396px}.sbsprite-enderpack { background-position: -198px -396px}.sbsprite-pet_skin_rock_thinking { background-position: -220px -396px}.sbsprite-soul_fragment { background-position: -242px -396px}.sbsprite-skyblock_chair { background-position: -264px -396px}.sbsprite-mayor_paul { background-position: -286px -396px}.sbsprite-autopet_rules_2 { background-position: -308px -396px}.sbsprite-bat_talisman { background-position: -330px -396px}.sbsprite-killer_4 { background-position: -352px -396px}.sbsprite-killer_5 { background-position: -374px -396px}.sbsprite-killer_6 { background-position: -396px -396px}.sbsprite-killer_7 { background-position: -418px -396px}.sbsprite-killer_8 { background-position: -440px -396px}.sbsprite-killer_9 { background-position: -462px -396px}.sbsprite-builder_appalled_pumpkin { background-position: -484px -396px}.sbsprite-holy_shimmer { background-position: -506px -396px}.sbsprite-royal_pigeon { background-position: -528px -396px}.sbsprite-life_preserver { background-position: -550px -396px}.sbsprite-killer_1 { background-position: -572px -396px}.sbsprite-killer_2 { background-position: -594px -396px}.sbsprite-killer_3 { background-position: -616px -396px}.sbsprite-pet_skin_rock_cool { background-position: -638px -396px}.sbsprite-dingy { background-position: -660px -396px}.sbsprite-intimidation_ring { background-position: -682px -396px}.sbsprite-easter_egg_6 { background-position: -704px -396px}.sbsprite-builder_kiwi { background-position: -726px -396px}.sbsprite-easter_egg_5 { background-position: -748px -396px}.sbsprite-easter_egg_4 { background-position: -770px -396px}.sbsprite-rough_jade_gem { background-position: -792px -396px}.sbsprite-easter_egg_3 { background-position: -814px -396px}.sbsprite-easter_egg_2 { background-position: -836px -396px}.sbsprite-easter_egg_1 { background-position: -858px -396px}.sbsprite-snow_generator_11 { background-position: -880px -396px}.sbsprite-snow_generator_10 { background-position: -902px -396px}.sbsprite-easter_egg_9 { background-position: -924px -396px}.sbsprite-easter_egg_8 { background-position: -946px -396px}.sbsprite-easter_egg_7 { background-position: -968px -396px}.sbsprite-medium_gemstone_sack { background-position: -990px -396px}.sbsprite-large_enchanted_agronomy_sack { background-position: -1012px -396px}.sbsprite-blessed_fruit { background-position: -1034px -396px}.sbsprite-dungeon_stone_archer { background-position: 0 -418px}.sbsprite-arrow_swapper { background-position: -22px -418px}.sbsprite-snow_cannon { background-position: -44px -418px}.sbsprite-jerry_box_mega { background-position: -66px -418px}.sbsprite-pet_skin_sheep_brown { background-position: -88px -418px}.sbsprite-brewing_plus { background-position: -110px -418px}.sbsprite-mayor_barry { background-position: -132px -418px}.sbsprite-bat_ring { background-position: -154px -418px}.sbsprite-candle_arch { background-position: -176px -418px}.sbsprite-mithril_plate { background-position: -198px -418px}.sbsprite-carrot_bait { background-position: -220px -418px}.sbsprite-speed_artifact { background-position: -242px -418px}.sbsprite-salmon_hat { background-position: -264px -418px}.sbsprite-mini_sandcastle { background-position: -286px -418px}.sbsprite-scavenger_talisman { background-position: -308px -418px}.sbsprite-fast_travel_kuudra { background-position: -330px -418px}.sbsprite-foraging_fortune { background-position: -352px -418px}.sbsprite-bunny_personality { background-position: -374px -418px}.sbsprite-sandcastle_personality { background-position: -396px -418px}.sbsprite-undead_11 { background-position: -418px -418px}.sbsprite-magenta_jumbo_backpack { background-position: -440px -418px}.sbsprite-undead_10 { background-position: -462px -418px}.sbsprite-diamond_necron_head { background-position: -484px -418px}.sbsprite-wet_pumpkin { background-position: -506px -418px}.sbsprite-gemstone_gauntlet { background-position: -528px -418px}.sbsprite-cobblestone_generator_9 { background-position: -550px -418px}.sbsprite-cobblestone_generator_8 { background-position: -572px -418px}.sbsprite-iron_generator_1 { background-position: -594px -418px}.sbsprite-cobblestone_generator_7 { background-position: -616px -418px}.sbsprite-control_switch { background-position: -638px -418px}.sbsprite-iron_generator_2 { background-position: -660px -418px}.sbsprite-cobblestone_generator_6 { background-position: -682px -418px}.sbsprite-pumpkin_bomb { background-position: -704px -418px}.sbsprite-cobblestone_generator_5 { background-position: -726px -418px}.sbsprite-cobblestone_generator_4 { background-position: -748px -418px}.sbsprite-dwarven_tankard { background-position: -770px -418px}.sbsprite-jerry_talisman_purple { background-position: -792px -418px}.sbsprite-cobblestone_generator_3 { background-position: -814px -418px}.sbsprite-cobblestone_generator_2 { background-position: -836px -418px}.sbsprite-reindeer_plush { background-position: -858px -418px}.sbsprite-cobblestone_generator_1 { background-position: -880px -418px}.sbsprite-big_xtree { background-position: -902px -418px}.sbsprite-farming_island { background-position: -924px -418px}.sbsprite-rune_endersnake { background-position: -946px -418px}.sbsprite-rune { background-position: -968px -418px}.sbsprite-sweet_flesh { background-position: -990px -418px}.sbsprite-shark_10 { background-position: -1012px -418px}.sbsprite-shark_12 { background-position: -1034px -418px}.sbsprite-viking_tear { background-position: 0 -440px}.sbsprite-shark_11 { background-position: -22px -440px}.sbsprite-iron_generator_7 { background-position: -44px -440px}.sbsprite-iron_generator_8 { background-position: -66px -440px}.sbsprite-iron_generator_9 { background-position: -88px -440px}.sbsprite-beacon_skull { background-position: -110px -440px}.sbsprite-coin_gold_2 { background-position: -132px -440px}.sbsprite-iron_generator_3 { background-position: -154px -440px}.sbsprite-iron_generator_4 { background-position: -176px -440px}.sbsprite-sea_creature_ring { background-position: -198px -440px}.sbsprite-iron_generator_5 { background-position: -220px -440px}.sbsprite-iron_generator_6 { background-position: -242px -440px}.sbsprite-nether_warts_generator_7 { background-position: -264px -440px}.sbsprite-nether_warts_generator_8 { background-position: -286px -440px}.sbsprite-nether_warts_generator_9 { background-position: -308px -440px}.sbsprite-nether_warts_generator_3 { background-position: -330px -440px}.sbsprite-wolf_fur_mixin { background-position: -352px -440px}.sbsprite-mayor_marina { background-position: -374px -440px}.sbsprite-candy_ring { background-position: -396px -440px}.sbsprite-nether_warts_generator_4 { background-position: -418px -440px}.sbsprite-nether_warts_generator_5 { background-position: -440px -440px}.sbsprite-nether_warts_generator_6 { background-position: -462px -440px}.sbsprite-large_backpack { background-position: -484px -440px}.sbsprite-fine_sapphire_gem { background-position: -506px -440px}.sbsprite-nether_warts_generator_1 { background-position: -528px -440px}.sbsprite-nether_warts_generator_2 { background-position: -550px -440px}.sbsprite-griffin_upgrade_stone_uncommon { background-position: -572px -440px}.sbsprite-grey_greater_backpack { background-position: -594px -440px}.sbsprite-shiny_orb { background-position: -616px -440px}.sbsprite-large_enchanted_husbandry_sack { background-position: -638px -440px}.sbsprite-milk_cookies { background-position: -660px -440px}.sbsprite-spider_artifact { background-position: -682px -440px}.sbsprite-green_gift { background-position: -704px -440px}.sbsprite-fast_travel_park { background-position: -726px -440px}.sbsprite-jungle_heart { background-position: -748px -440px}.sbsprite-toil_log { background-position: -770px -440px}.sbsprite-absolute_ender_pearl { background-position: -792px -440px}.sbsprite-catacombs_pass_10 { background-position: -814px -440px}.sbsprite-protector_fragment { background-position: -836px -440px}.sbsprite-ice_generator_1 { background-position: -858px -440px}.sbsprite-ice_generator_2 { background-position: -880px -440px}.sbsprite-old_fragment { background-position: -902px -440px}.sbsprite-ice_generator_3 { background-position: -924px -440px}.sbsprite-traveling_zoo { background-position: -946px -440px}.sbsprite-ice_generator_4 { background-position: -968px -440px}.sbsprite-ice_generator_5 { background-position: -990px -440px}.sbsprite-ice_generator_6 { background-position: -1012px -440px}.sbsprite-ice_generator_7 { background-position: -1034px -440px}.sbsprite-ice_generator_8 { background-position: 0 -462px}.sbsprite-ice_generator_9 { background-position: -22px -462px}.sbsprite-lady_bug_personality { background-position: -44px -462px}.sbsprite-pet_skin_rock_laugh { background-position: -66px -462px}.sbsprite-experimentation_table { background-position: -88px -462px}.sbsprite-titanium_ore { background-position: -110px -462px}.sbsprite-blue_medium_backpack { background-position: -132px -462px}.sbsprite-ice_sofa { background-position: -154px -462px}.sbsprite-rune_lightning { background-position: -176px -462px}.sbsprite-tarantula_talisman { background-position: -198px -462px}.sbsprite-mayor_aatrox { background-position: -220px -462px}.sbsprite-race_crystal_core { background-position: -242px -462px}.sbsprite-black_cat_plush { background-position: -264px -462px}.sbsprite-small_agronomy_sack { background-position: -286px -462px}.sbsprite-magenta_greater_backpack { background-position: -308px -462px}.sbsprite-pet_skin_sheep_light_gray { background-position: -330px -462px}.sbsprite-diamond_scarf_head { background-position: -352px -462px}.sbsprite-hay_bed { background-position: -374px -462px}.sbsprite-talisman_enrichment_sea_creature_chance { background-position: -396px -462px}.sbsprite-strong_shimmer { background-position: -418px -462px}.sbsprite-shady_ring { background-position: -440px -462px}.sbsprite-dante_talisman { background-position: -462px -462px}.sbsprite-pink_bunny_1 { background-position: -484px -462px}.sbsprite-black_greater_backpack { background-position: -506px -462px}.sbsprite-builder_cactus { background-position: -528px -462px}.sbsprite-magenta_small_backpack { background-position: -550px -462px}.sbsprite-talisman_enrichment_defense { background-position: -572px -462px}.sbsprite-pink_bunny_3 { background-position: -594px -462px}.sbsprite-talisman_enrichment_magic_find { background-position: -616px -462px}.sbsprite-pink_bunny_2 { background-position: -638px -462px}.sbsprite-pink_bunny_5 { background-position: -660px -462px}.sbsprite-pink_bunny_4 { background-position: -682px -462px}.sbsprite-salmon_opal { background-position: -704px -462px}.sbsprite-pink_bunny_7 { background-position: -726px -462px}.sbsprite-pink_bunny_6 { background-position: -748px -462px}.sbsprite-pink_bunny_9 { background-position: -770px -462px}.sbsprite-pink_bunny_8 { background-position: -792px -462px}.sbsprite-refined_mithril { background-position: -814px -462px}.sbsprite-happy_emoji_10 { background-position: -836px -462px}.sbsprite-happy_emoji_11 { background-position: -858px -462px}.sbsprite-mine_talisman { background-position: -880px -462px}.sbsprite-old_dragon_helmet { background-position: -902px -462px}.sbsprite-boss_collection_livid { background-position: -924px -462px}.sbsprite-green_small_backpack { background-position: -946px -462px}.sbsprite-rune_bite { background-position: -968px -462px}.sbsprite-jungle_generator_11 { background-position: -990px -462px}.sbsprite-mega_luck { background-position: -1012px -462px}.sbsprite-jungle_generator_10 { background-position: -1034px -462px}.sbsprite-pet_skin_chicken_baby_chick { background-position: 0 -484px}.sbsprite-pile_of_cash { background-position: -22px -484px}.sbsprite-dungeoneering { background-position: -44px -484px}.sbsprite-base_griffin_upgrade_stone { background-position: -66px -484px}.sbsprite-red_tent { background-position: -88px -484px}.sbsprite-dungeon_red_support_orb { background-position: -110px -484px}.sbsprite-fast_travel_nether { background-position: -132px -484px}.sbsprite-night_vision_charm { background-position: -154px -484px}.sbsprite-zombie_grave { background-position: -176px -484px}.sbsprite-fish_bait { background-position: -198px -484px}.sbsprite-ice_lolly_personality { background-position: -220px -484px}.sbsprite-grizzly_paw { background-position: -242px -484px}.sbsprite-large_potion_bag { background-position: -264px -484px}.sbsprite-poorly_wrapped_rock { background-position: -286px -484px}.sbsprite-drill_engine { background-position: -308px -484px}.sbsprite-dark_oak_generator_10 { background-position: -330px -484px}.sbsprite-dungeon_normal_key { background-position: -352px -484px}.sbsprite-dark_oak_generator_11 { background-position: -374px -484px}.sbsprite-unstable_shimmer { background-position: -396px -484px}.sbsprite-green_egg { background-position: -418px -484px}.sbsprite-rough_topaz_gem { background-position: -440px -484px}.sbsprite-mana_flux_power_orb { background-position: -462px -484px}.sbsprite-amber_material { background-position: -484px -484px}.sbsprite-grinch_personality { background-position: -506px -484px}.sbsprite-fast_travel_crystals { background-position: -528px -484px}.sbsprite-lapis_generator_2 { background-position: -550px -484px}.sbsprite-lapis_generator_3 { background-position: -572px -484px}.sbsprite-rune_sack { background-position: -594px -484px}.sbsprite-lapis_generator_4 { background-position: -616px -484px}.sbsprite-tightly_tied_hay_bale { background-position: -638px -484px}.sbsprite-beach_ball { background-position: -660px -484px}.sbsprite-lapis_generator_5 { background-position: -682px -484px}.sbsprite-lapis_generator_10 { background-position: -704px -484px}.sbsprite-lapis_generator_12 { background-position: -726px -484px}.sbsprite-light_grey_large_backpack { background-position: -748px -484px}.sbsprite-lapis_generator_1 { background-position: -770px -484px}.sbsprite-lapis_generator_11 { background-position: -792px -484px}.sbsprite-pet_item_quick_claw { background-position: -814px -484px}.sbsprite-basketball_9 { background-position: -836px -484px}.sbsprite-deck_chair { background-position: -858px -484px}.sbsprite-lady_bug_9 { background-position: -880px -484px}.sbsprite-basketball_8 { background-position: -902px -484px}.sbsprite-lady_bug_8 { background-position: -924px -484px}.sbsprite-basketball_7 { background-position: -946px -484px}.sbsprite-basketball_6 { background-position: -968px -484px}.sbsprite-rune_pestilence { background-position: -990px -484px}.sbsprite-basketball_5 { background-position: -1012px -484px}.sbsprite-mithril_generator_12 { background-position: -1034px -484px}.sbsprite-sea_creature_talisman { background-position: 0 -506px}.sbsprite-basketball_4 { background-position: -22px -506px}.sbsprite-mithril_generator_11 { background-position: -44px -506px}.sbsprite-basketball_3 { background-position: -66px -506px}.sbsprite-mithril_generator_10 { background-position: -88px -506px}.sbsprite-basketball_2 { background-position: -110px -506px}.sbsprite-blue_egg { background-position: -132px -506px}.sbsprite-basketball_1 { background-position: -154px -506px}.sbsprite-lady_bug_1 { background-position: -176px -506px}.sbsprite-emerald_ring { background-position: -198px -506px}.sbsprite-lady_bug_3 { background-position: -220px -506px}.sbsprite-lady_bug_2 { background-position: -242px -506px}.sbsprite-lady_bug_5 { background-position: -264px -506px}.sbsprite-lapis_generator_6 { background-position: -286px -506px}.sbsprite-epoch_cake_green { background-position: -308px -506px}.sbsprite-lady_bug_4 { background-position: -330px -506px}.sbsprite-lapis_generator_7 { background-position: -352px -506px}.sbsprite-medium_husbandry_sack { background-position: -374px -506px}.sbsprite-bunny_11 { background-position: -396px -506px}.sbsprite-lady_bug_7 { background-position: -418px -506px}.sbsprite-lapis_generator_8 { background-position: -440px -506px}.sbsprite-bunny_10 { background-position: -462px -506px}.sbsprite-candy_relic { background-position: -484px -506px}.sbsprite-lady_bug_6 { background-position: -506px -506px}.sbsprite-lapis_generator_9 { background-position: -528px -506px}.sbsprite-red_jumbo_backpack { background-position: -550px -506px}.sbsprite-holy_fragment { background-position: -572px -506px}.sbsprite-ice_cream_personality { background-position: -594px -506px}.sbsprite-dungeon_blue_support_orb { background-position: -616px -506px}.sbsprite-blaze_generator_4 { background-position: -638px -506px}.sbsprite-blaze_generator_3 { background-position: -660px -506px}.sbsprite-blaze_generator_2 { background-position: -682px -506px}.sbsprite-blaze_generator_1 { background-position: -704px -506px}.sbsprite-blaze_generator_8 { background-position: -726px -506px}.sbsprite-blaze_generator_7 { background-position: -748px -506px}.sbsprite-pet_skin_whale_orca { background-position: -770px -506px}.sbsprite-blaze_generator_6 { background-position: -792px -506px}.sbsprite-blaze_generator_5 { background-position: -814px -506px}.sbsprite-deadgehog_helmet { background-position: -836px -506px}.sbsprite-volta { background-position: -858px -506px}.sbsprite-blaze_generator_9 { background-position: -880px -506px}.sbsprite-frozen_chicken { background-position: -902px -506px}.sbsprite-pet_skin_dragon_neon_purple { background-position: -924px -506px}.sbsprite-cavespider_generator_6 { background-position: -946px -506px}.sbsprite-cavespider_generator_5 { background-position: -968px -506px}.sbsprite-rune_gem { background-position: -990px -506px}.sbsprite-cavespider_generator_8 { background-position: -1012px -506px}.sbsprite-cavespider_generator_7 { background-position: -1034px -506px}.sbsprite-cavespider_generator_2 { background-position: 0 -528px}.sbsprite-cavespider_generator_1 { background-position: -22px -528px}.sbsprite-cavespider_generator_4 { background-position: -44px -528px}.sbsprite-jerry_talisman_blue { background-position: -66px -528px}.sbsprite-cavespider_generator_3 { background-position: -88px -528px}.sbsprite-speed_talisman { background-position: -110px -528px}.sbsprite-mummy_1 { background-position: -132px -528px}.sbsprite-rabbit_hat { background-position: -154px -528px}.sbsprite-bat_person_ring { background-position: -176px -528px}.sbsprite-mummy_3 { background-position: -198px -528px}.sbsprite-cavespider_generator_9 { background-position: -220px -528px}.sbsprite-mummy_2 { background-position: -242px -528px}.sbsprite-mummy_5 { background-position: -264px -528px}.sbsprite-strong_baby { background-position: -286px -528px}.sbsprite-mummy_4 { background-position: -308px -528px}.sbsprite-mummy_7 { background-position: -330px -528px}.sbsprite-mummy_6 { background-position: -352px -528px}.sbsprite-spooky_helmet { background-position: -374px -528px}.sbsprite-dining_chair { background-position: -396px -528px}.sbsprite-mummy_9 { background-position: -418px -528px}.sbsprite-mummy_8 { background-position: -440px -528px}.sbsprite-ender_relic { background-position: -462px -528px}.sbsprite-flawed_jasper_gem { background-position: -484px -528px}.sbsprite-cactus_generator_10 { background-position: -506px -528px}.sbsprite-pet_skin_silverfish_fossilized { background-position: -528px -528px}.sbsprite-cactus_generator_11 { background-position: -550px -528px}.sbsprite-cactus_generator_12 { background-position: -572px -528px}.sbsprite-dark_goggles { background-position: -594px -528px}.sbsprite-starred_bonzo_mask { background-position: -616px -528px}.sbsprite-pigs_foot { background-position: -638px -528px}.sbsprite-gemstone_mixture { background-position: -660px -528px}.sbsprite-tarantula_black_widow { background-position: -682px -528px}.sbsprite-builder_berry_bush { background-position: -704px -528px}.sbsprite-chicken_head { background-position: -726px -528px}.sbsprite-pet_skin_elephant_purple { background-position: -748px -528px}.sbsprite-cow_head { background-position: -770px -528px}.sbsprite-witch_broomstick { background-position: -792px -528px}.sbsprite-pet_skin_monkey_gorilla { background-position: -814px -528px}.sbsprite-grey_large_backpack { background-position: -836px -528px}.sbsprite-pet_skin_sheep_neon_green { background-position: -858px -528px}.sbsprite-magic_mushroom_soup { background-position: -880px -528px}.sbsprite-petrified_starfall { background-position: -902px -528px}.sbsprite-spruce_generator_9 { background-position: -924px -528px}.sbsprite-second_master_star { background-position: -946px -528px}.sbsprite-sled { background-position: -968px -528px}.sbsprite-spruce_generator_1 { background-position: -990px -528px}.sbsprite-voidling_generator_2 { background-position: -1012px -528px}.sbsprite-red { background-position: -1034px -528px}.sbsprite-spirit_wing { background-position: 0 -550px}.sbsprite-spruce_generator_2 { background-position: -22px -550px}.sbsprite-voidling_generator_1 { background-position: -44px -550px}.sbsprite-spruce_generator_3 { background-position: -66px -550px}.sbsprite-voidling_generator_4 { background-position: -88px -550px}.sbsprite-spruce_generator_4 { background-position: -110px -550px}.sbsprite-voidling_generator_3 { background-position: -132px -550px}.sbsprite-spruce_generator_5 { background-position: -154px -550px}.sbsprite-voidling_generator_6 { background-position: -176px -550px}.sbsprite-spruce_generator_6 { background-position: -198px -550px}.sbsprite-voidling_generator_5 { background-position: -220px -550px}.sbsprite-spruce_generator_7 { background-position: -242px -550px}.sbsprite-voidling_generator_8 { background-position: -264px -550px}.sbsprite-spruce_generator_8 { background-position: -286px -550px}.sbsprite-voidling_generator_7 { background-position: -308px -550px}.sbsprite-voidling_generator_9 { background-position: -330px -550px}.sbsprite-magenta_large_backpack { background-position: -352px -550px}.sbsprite-fast_travel_end { background-position: -374px -550px}.sbsprite-cow_generator_8 { background-position: -396px -550px}.sbsprite-cow_generator_9 { background-position: -418px -550px}.sbsprite-present_1 { background-position: -440px -550px}.sbsprite-topaz_crystal { background-position: -462px -550px}.sbsprite-bestiary_private_island { background-position: -484px -550px}.sbsprite-present_2 { background-position: -506px -550px}.sbsprite-present_3 { background-position: -528px -550px}.sbsprite-cow_generator_1 { background-position: -550px -550px}.sbsprite-cow_generator_2 { background-position: -572px -550px}.sbsprite-dragon_horn { background-position: -594px -550px}.sbsprite-bat_artifact { background-position: -616px -550px}.sbsprite-cow_generator_3 { background-position: -638px -550px}.sbsprite-cow_generator_4 { background-position: -660px -550px}.sbsprite-cow_generator_5 { background-position: -682px -550px}.sbsprite-cow_generator_6 { background-position: -704px -550px}.sbsprite-cow_generator_7 { background-position: -726px -550px}.sbsprite-goblin_omelette_pesto { background-position: -748px -550px}.sbsprite-farming_2_portal { background-position: -770px -550px}.sbsprite-village_talisman { background-position: -792px -550px}.sbsprite-cheetah_talisman { background-position: -814px -550px}.sbsprite-mining_2_portal { background-position: -836px -550px}.sbsprite-present_8 { background-position: -858px -550px}.sbsprite-wood_talisman { background-position: -880px -550px}.sbsprite-present_9 { background-position: -902px -550px}.sbsprite-present_4 { background-position: -924px -550px}.sbsprite-present_5 { background-position: -946px -550px}.sbsprite-present_6 { background-position: -968px -550px}.sbsprite-present_7 { background-position: -990px -550px}.sbsprite-healing_ring { background-position: -1012px -550px}.sbsprite-titanium_artifact { background-position: -1034px -550px}.sbsprite-penguin_1 { background-position: 0 -572px}.sbsprite-penguin_2 { background-position: -22px -572px}.sbsprite-ruby_crystal { background-position: -44px -572px}.sbsprite-tiki_torch { background-position: -66px -572px}.sbsprite-wheat_generator_10 { background-position: -88px -572px}.sbsprite-emerald_generator_8 { background-position: -110px -572px}.sbsprite-wheat_generator_12 { background-position: -132px -572px}.sbsprite-emerald_generator_7 { background-position: -154px -572px}.sbsprite-wheat_generator_11 { background-position: -176px -572px}.sbsprite-scarecrow { background-position: -198px -572px}.sbsprite-emerald_generator_9 { background-position: -220px -572px}.sbsprite-emerald_generator_4 { background-position: -242px -572px}.sbsprite-emerald_generator_3 { background-position: -264px -572px}.sbsprite-emerald_generator_6 { background-position: -286px -572px}.sbsprite-emerald_generator_5 { background-position: -308px -572px}.sbsprite-pet_skin_elephant_monochrome { background-position: -330px -572px}.sbsprite-emerald_generator_2 { background-position: -352px -572px}.sbsprite-emerald_generator_1 { background-position: -374px -572px}.sbsprite-flawless_topaz_gem { background-position: -396px -572px}.sbsprite-raw_soulflow { background-position: -418px -572px}.sbsprite-large_enchanted_mining_sack { background-position: -440px -572px}.sbsprite-gold_scarf_head { background-position: -462px -572px}.sbsprite-orange_medium_backpack { background-position: -484px -572px}.sbsprite-fine_jade_gem { background-position: -506px -572px}.sbsprite-white_gift { background-position: -528px -572px}.sbsprite-goblin_omelette_sunny_side { background-position: -550px -572px}.sbsprite-builder_brown_mushroom { background-position: -572px -572px}.sbsprite-giant_flesh { background-position: -594px -572px}.sbsprite-jumbo_backpack { background-position: -616px -572px}.sbsprite-eternal_flame_ring { background-position: -638px -572px}.sbsprite-wrapped_gift_for_juliette { background-position: -660px -572px}.sbsprite-enchanted_book_bundle_counter_strike { background-position: -682px -572px}.sbsprite-pet_item_toy_jerry { background-position: -704px -572px}.sbsprite-golden_plate { background-position: -726px -572px}.sbsprite-penguin_5 { background-position: -748px -572px}.sbsprite-grandfather_clock { background-position: -770px -572px}.sbsprite-penguin_6 { background-position: -792px -572px}.sbsprite-penguin_3 { background-position: -814px -572px}.sbsprite-pet_skin_elephant_orange { background-position: -836px -572px}.sbsprite-fast_travel_museum { background-position: -858px -572px}.sbsprite-penguin_4 { background-position: -880px -572px}.sbsprite-penguin_9 { background-position: -902px -572px}.sbsprite-penguin_7 { background-position: -924px -572px}.sbsprite-penguin_8 { background-position: -946px -572px}.sbsprite-light_grey_medium_backpack { background-position: -968px -572px}.sbsprite-blue_jumbo_backpack { background-position: -990px -572px}.sbsprite-cyan_small_backpack { background-position: -1012px -572px}.sbsprite-jade_crystal { background-position: -1034px -572px}.sbsprite-large_dungeon_sack { background-position: 0 -594px}.sbsprite-summoning_ring { background-position: -22px -594px}.sbsprite-dragon_essence { background-position: -44px -594px}.sbsprite-basket_of_seeds { background-position: -66px -594px}.sbsprite-bunny_jerry { background-position: -88px -594px}.sbsprite-perfect_jade_gem { background-position: -110px -594px}.sbsprite-spray_can { background-position: -132px -594px}.sbsprite-campfire_talisman_4 { background-position: -154px -594px}.sbsprite-campfire_talisman_5 { background-position: -176px -594px}.sbsprite-campfire_talisman_2 { background-position: -198px -594px}.sbsprite-campfire_talisman_3 { background-position: -220px -594px}.sbsprite-remnant_of_the_eye { background-position: -242px -594px}.sbsprite-campfire_talisman_1 { background-position: -264px -594px}.sbsprite-talisman_enrichment_critical_chance { background-position: -286px -594px}.sbsprite-ghast_head { background-position: -308px -594px}.sbsprite-white_greater_backpack { background-position: -330px -594px}.sbsprite-mayor_diaz { background-position: -352px -594px}.sbsprite-campfire_talisman_8 { background-position: -374px -594px}.sbsprite-campfire_talisman_9 { background-position: -396px -594px}.sbsprite-jaderald { background-position: -418px -594px}.sbsprite-campfire_talisman_6 { background-position: -440px -594px}.sbsprite-gold_thorn_head { background-position: -462px -594px}.sbsprite-campfire_talisman_7 { background-position: -484px -594px}.sbsprite-dark_bait { background-position: -506px -594px}.sbsprite-game_annihilator { background-position: -528px -594px}.sbsprite-purple_greater_backpack { background-position: -550px -594px}.sbsprite-bestiary_deep_caverns { background-position: -572px -594px}.sbsprite-foraging_5_portal { background-position: -594px -594px}.sbsprite-wolf_talisman { background-position: -616px -594px}.sbsprite-gold_professor_head { background-position: -638px -594px}.sbsprite-pet_skin_sheep_light_blue { background-position: -660px -594px}.sbsprite-ice_lolly_4 { background-position: -682px -594px}.sbsprite-basketball_10 { background-position: -704px -594px}.sbsprite-ice_lolly_3 { background-position: -726px -594px}.sbsprite-mineral_helmet { background-position: -748px -594px}.sbsprite-basketball_11 { background-position: -770px -594px}.sbsprite-ice_lolly_2 { background-position: -792px -594px}.sbsprite-basketball_12 { background-position: -814px -594px}.sbsprite-ice_lolly_1 { background-position: -836px -594px}.sbsprite-rock_candy { background-position: -858px -594px}.sbsprite-ice_lolly_8 { background-position: -880px -594px}.sbsprite-tarantula_generator_2 { background-position: -902px -594px}.sbsprite-ice_lolly_7 { background-position: -924px -594px}.sbsprite-tarantula_generator_1 { background-position: -946px -594px}.sbsprite-ice_lolly_6 { background-position: -968px -594px}.sbsprite-ice_lolly_5 { background-position: -990px -594px}.sbsprite-purple_egg { background-position: -1012px -594px}.sbsprite-ice_lolly_9 { background-position: -1034px -594px}.sbsprite-tarantula_generator_9 { background-position: 0 -616px}.sbsprite-tarantula_generator_8 { background-position: -22px -616px}.sbsprite-tarantula_generator_7 { background-position: -44px -616px}.sbsprite-tarantula_generator_6 { background-position: -66px -616px}.sbsprite-tarantula_generator_5 { background-position: -88px -616px}.sbsprite-tarantula_generator_4 { background-position: -110px -616px}.sbsprite-tarantula_generator_3 { background-position: -132px -616px}.sbsprite-hypixel_castle { background-position: -154px -616px}.sbsprite-rune_golden { background-position: -176px -616px}.sbsprite-wheat_generator_9 { background-position: -198px -616px}.sbsprite-ftx_3070 { background-position: -220px -616px}.sbsprite-wheat_generator_8 { background-position: -242px -616px}.sbsprite-wheat_generator_5 { background-position: -264px -616px}.sbsprite-wheat_generator_4 { background-position: -286px -616px}.sbsprite-builder_corn { background-position: -308px -616px}.sbsprite-cheap_coffee { background-position: -330px -616px}.sbsprite-wheat_generator_7 { background-position: -352px -616px}.sbsprite-wheat_generator_6 { background-position: -374px -616px}.sbsprite-mushroom_generator_11 { background-position: -396px -616px}.sbsprite-wheat_generator_1 { background-position: -418px -616px}.sbsprite-mushroom_generator_10 { background-position: -440px -616px}.sbsprite-ender_plus { background-position: -462px -616px}.sbsprite-wheat_generator_3 { background-position: -484px -616px}.sbsprite-wheat_generator_2 { background-position: -506px -616px}.sbsprite-voidling_generator_10 { background-position: -528px -616px}.sbsprite-voidling_generator_11 { background-position: -550px -616px}.sbsprite-mushroom_generator_12 { background-position: -572px -616px}.sbsprite-personal_bonus { background-position: -594px -616px}.sbsprite-flawless_amber_gem { background-position: -616px -616px}.sbsprite-rune_darkness_within { background-position: -638px -616px}.sbsprite-bag_of_cash { background-position: -660px -616px}.sbsprite-pet_skin_hound_beagle { background-position: -682px -616px}.sbsprite-pufferfish_hat { background-position: -704px -616px}.sbsprite-lime_greater_backpack { background-position: -726px -616px}.sbsprite-food_trough { background-position: -748px -616px}.sbsprite-pet_skin_yeti_grown_up { background-position: -770px -616px}.sbsprite-slime_generator_10 { background-position: -792px -616px}.sbsprite-undead_personality { background-position: -814px -616px}.sbsprite-slime_generator_11 { background-position: -836px -616px}.sbsprite-nether_wart_island { background-position: -858px -616px}.sbsprite-gravel_generator_5 { background-position: -880px -616px}.sbsprite-gravel_generator_4 { background-position: -902px -616px}.sbsprite-gravel_generator_7 { background-position: -924px -616px}.sbsprite-gravel_generator_6 { background-position: -946px -616px}.sbsprite-gravel_generator_9 { background-position: -968px -616px}.sbsprite-gravel_generator_8 { background-position: -990px -616px}.sbsprite-shiny_shard { background-position: -1012px -616px}.sbsprite-pet_skin_rabbit_rose { background-position: -1034px -616px}.sbsprite-quiver { background-position: 0 -638px}.sbsprite-rune_snake { background-position: -22px -638px}.sbsprite-bonzo_mask { background-position: -44px -638px}.sbsprite-fast_travel { background-position: -66px -638px}.sbsprite-treasurite { background-position: -88px -638px}.sbsprite-chicken_coop { background-position: -110px -638px}.sbsprite-end_portal_fumes_mixin { background-position: -132px -638px}.sbsprite-crafting_plus { background-position: -154px -638px}.sbsprite-gravel_generator_1 { background-position: -176px -638px}.sbsprite-gravel_generator_3 { background-position: -198px -638px}.sbsprite-gravel_generator_2 { background-position: -220px -638px}.sbsprite-easter_egg_11 { background-position: -242px -638px}.sbsprite-easter_egg_10 { background-position: -264px -638px}.sbsprite-protein_bar { background-position: -286px -638px}.sbsprite-hard_stone_generator_10 { background-position: -308px -638px}.sbsprite-coin_gold { background-position: -330px -638px}.sbsprite-light_blue_jumbo_backpack { background-position: -352px -638px}.sbsprite-hard_stone_generator_12 { background-position: -374px -638px}.sbsprite-hard_stone_generator_11 { background-position: -396px -638px}.sbsprite-rune_blood { background-position: -418px -638px}.sbsprite-raggedy_shark_tooth_necklace { background-position: -440px -638px}.sbsprite-pure_mithril { background-position: -462px -638px}.sbsprite-coin_emerald { background-position: -484px -638px}.sbsprite-pet_skin_black_cat_onyx { background-position: -506px -638px}.sbsprite-easter_egg_12 { background-position: -528px -638px}.sbsprite-emperor_head { background-position: -550px -638px}.sbsprite-power_wither_helmet { background-position: -572px -638px}.sbsprite-bee_11 { background-position: -594px -638px}.sbsprite-bee_10 { background-position: -616px -638px}.sbsprite-pet_skin_wolf { background-position: -638px -638px}.sbsprite-pumpkin_4 { background-position: -660px -638px}.sbsprite-pumpkin_3 { background-position: -682px -638px}.sbsprite-pumpkin_6 { background-position: -704px -638px}.sbsprite-fine_ruby_gem { background-position: -726px -638px}.sbsprite-pumpkin_5 { background-position: -748px -638px}.sbsprite-pumpkin_2 { background-position: -770px -638px}.sbsprite-electron_transmitter { background-position: -792px -638px}.sbsprite-pumpkin_1 { background-position: -814px -638px}.sbsprite-gingerbread_house { background-position: -836px -638px}.sbsprite-bee_1 { background-position: -858px -638px}.sbsprite-large_mining_sack { background-position: -880px -638px}.sbsprite-bee_2 { background-position: -902px -638px}.sbsprite-bee_3 { background-position: -924px -638px}.sbsprite-bee_4 { background-position: -946px -638px}.sbsprite-midas_jewel { background-position: -968px -638px}.sbsprite-unstable_dragon_helmet { background-position: -990px -638px}.sbsprite-vaccine_talisman { background-position: -1012px -638px}.sbsprite-whale_bait { background-position: -1034px -638px}.sbsprite-bee_9 { background-position: 0 -660px}.sbsprite-bee_5 { background-position: -22px -660px}.sbsprite-booster_cookie_box { background-position: -44px -660px}.sbsprite-perfect_topaz_gem { background-position: -66px -660px}.sbsprite-bee_6 { background-position: -88px -660px}.sbsprite-bee_7 { background-position: -110px -660px}.sbsprite-bee_8 { background-position: -132px -660px}.sbsprite-elvish_helmet { background-position: -154px -660px}.sbsprite-pumpkin_8 { background-position: -176px -660px}.sbsprite-light_grey_greater_backpack { background-position: -198px -660px}.sbsprite-pumpkin_7 { background-position: -220px -660px}.sbsprite-pumpkin_9 { background-position: -242px -660px}.sbsprite-best_weapon_rack { background-position: -264px -660px}.sbsprite-washed_up_souvenir { background-position: -286px -660px}.sbsprite-coin_diamond { background-position: -308px -660px}.sbsprite-builder_pink_berry { background-position: -330px -660px}.sbsprite-clownfish_personality { background-position: -352px -660px}.sbsprite-easter_egg_personality { background-position: -374px -660px}.sbsprite-jerry_talisman_green { background-position: -396px -660px}.sbsprite-spiked_atrocity { background-position: -418px -660px}.sbsprite-flower_generator_8 { background-position: -440px -660px}.sbsprite-flower_generator_9 { background-position: -462px -660px}.sbsprite-farmer_orb { background-position: -484px -660px}.sbsprite-flower_generator_4 { background-position: -506px -660px}.sbsprite-crypt_skull_key { background-position: -528px -660px}.sbsprite-flower_generator_5 { background-position: -550px -660px}.sbsprite-flower_generator_6 { background-position: -572px -660px}.sbsprite-flower_generator_7 { background-position: -594px -660px}.sbsprite-flower_generator_1 { background-position: -616px -660px}.sbsprite-flower_generator_2 { background-position: -638px -660px}.sbsprite-nutcracker { background-position: -660px -660px}.sbsprite-flower_generator_3 { background-position: -682px -660px}.sbsprite-scarf_studies { background-position: -704px -660px}.sbsprite-builder_apple { background-position: -726px -660px}.sbsprite-skyblock_table { background-position: -748px -660px}.sbsprite-sleeping_eye { background-position: -770px -660px}.sbsprite-spider_generator_1 { background-position: -792px -660px}.sbsprite-pet_skin_elephant_blue { background-position: -814px -660px}.sbsprite-spider_generator_2 { background-position: -836px -660px}.sbsprite-spider_generator_3 { background-position: -858px -660px}.sbsprite-shark_bait { background-position: -880px -660px}.sbsprite-spider_generator_4 { background-position: -902px -660px}.sbsprite-spider_generator_5 { background-position: -924px -660px}.sbsprite-black { background-position: -946px -660px}.sbsprite-sapphire_polished_drill_engine { background-position: -968px -660px}.sbsprite-cocoa_generator_1 { background-position: -990px -660px}.sbsprite-cocoa_generator_7 { background-position: -1012px -660px}.sbsprite-cocoa_generator_6 { background-position: -1034px -660px}.sbsprite-rune_snow { background-position: 0 -682px}.sbsprite-cocoa_generator_9 { background-position: -22px -682px}.sbsprite-cocoa_generator_8 { background-position: -44px -682px}.sbsprite-cocoa_generator_3 { background-position: -66px -682px}.sbsprite-cocoa_generator_2 { background-position: -88px -682px}.sbsprite-cocoa_generator_5 { background-position: -110px -682px}.sbsprite-cocoa_generator_4 { background-position: -132px -682px}.sbsprite-spider_generator_6 { background-position: -154px -682px}.sbsprite-spider_generator_7 { background-position: -176px -682px}.sbsprite-spider_generator_8 { background-position: -198px -682px}.sbsprite-spider_generator_9 { background-position: -220px -682px}.sbsprite-brown_large_backpack { background-position: -242px -682px}.sbsprite-flower_maelstrom { background-position: -264px -682px}.sbsprite-pumpkin_generator_12 { background-position: -286px -682px}.sbsprite-coal_generator_9 { background-position: -308px -682px}.sbsprite-diamond_thorn_head { background-position: -330px -682px}.sbsprite-ender_stone_generator_11 { background-position: -352px -682px}.sbsprite-coal_generator_8 { background-position: -374px -682px}.sbsprite-ender_stone_generator_10 { background-position: -396px -682px}.sbsprite-coal_generator_7 { background-position: -418px -682px}.sbsprite-jerry_box_blue { background-position: -440px -682px}.sbsprite-coal_generator_6 { background-position: -462px -682px}.sbsprite-coal_generator_5 { background-position: -484px -682px}.sbsprite-pumpkin_generator_11 { background-position: -506px -682px}.sbsprite-coal_generator_4 { background-position: -528px -682px}.sbsprite-pumpkin_generator_10 { background-position: -550px -682px}.sbsprite-talisman_of_space { background-position: -572px -682px}.sbsprite-talisman_enrichment_strength { background-position: -594px -682px}.sbsprite-white_jumbo_backpack { background-position: -616px -682px}.sbsprite-full_fairy_control { background-position: -638px -682px}.sbsprite-quartz_generator_9 { background-position: -660px -682px}.sbsprite-rune_wake { background-position: -682px -682px}.sbsprite-quartz_generator_8 { background-position: -704px -682px}.sbsprite-festive_jerry_personality { background-position: -726px -682px}.sbsprite-quartz_generator_5 { background-position: -748px -682px}.sbsprite-builder_berry { background-position: -770px -682px}.sbsprite-quartz_generator_4 { background-position: -792px -682px}.sbsprite-quartz_generator_7 { background-position: -814px -682px}.sbsprite-quartz_generator_6 { background-position: -836px -682px}.sbsprite-quartz_generator_1 { background-position: -858px -682px}.sbsprite-quartz_generator_3 { background-position: -880px -682px}.sbsprite-quartz_generator_2 { background-position: -902px -682px}.sbsprite-bingo_heirloom { background-position: -924px -682px}.sbsprite-dwarf_turtle_shelmet { background-position: -946px -682px}.sbsprite-wolf_paw { background-position: -968px -682px}.sbsprite-jasper_crystal { background-position: -990px -682px}.sbsprite-party_hat_crab { background-position: -1012px -682px}.sbsprite-feather_artifact { background-position: -1034px -682px}.sbsprite-coal_generator_3 { background-position: 0 -704px}.sbsprite-coal_generator_2 { background-position: -22px -704px}.sbsprite-coal_generator_1 { background-position: -44px -704px}.sbsprite-fast_travel_gold { background-position: -66px -704px}.sbsprite-crystal_hollows_crystals { background-position: -88px -704px}.sbsprite-mining_island { background-position: -110px -704px}.sbsprite-flawless_jasper_gem { background-position: -132px -704px}.sbsprite-halloween_candles { background-position: -154px -704px}.sbsprite-ascension_rope { background-position: -176px -704px}.sbsprite-brown_small_backpack { background-position: -198px -704px}.sbsprite-diver_puffer { background-position: -220px -704px}.sbsprite-melon_generator_10 { background-position: -242px -704px}.sbsprite-melon_generator_12 { background-position: -264px -704px}.sbsprite-melon_generator_11 { background-position: -286px -704px}.sbsprite-desert_island { background-position: -308px -704px}.sbsprite-green { background-position: -330px -704px}.sbsprite-crystallized_heart { background-position: -352px -704px}.sbsprite-sinful_dice { background-position: -374px -704px}.sbsprite-soulflow_supercell { background-position: -396px -704px}.sbsprite-sea_creature_artifact { background-position: -418px -704px}.sbsprite-grey_small_backpack { background-position: -440px -704px}.sbsprite-aatrox_batphone { background-position: -462px -704px}.sbsprite-clay_generator_10 { background-position: -484px -704px}.sbsprite-clay_generator_11 { background-position: -506px -704px}.sbsprite-end_stone_personality { background-position: -528px -704px}.sbsprite-builder_banana_bunch { background-position: -550px -704px}.sbsprite-danger_2_portal { background-position: -572px -704px}.sbsprite-mayor_scorpius { background-position: -594px -704px}.sbsprite-voodoo { background-position: -616px -704px}.sbsprite-jerry_box_purple { background-position: -638px -704px}.sbsprite-wither_artifact { background-position: -660px -704px}.sbsprite-skull_chest { background-position: -682px -704px}.sbsprite-pet_skin_elephant_pink { background-position: -704px -704px}.sbsprite-oak_generator_10 { background-position: -726px -704px}.sbsprite-slime_generator_1 { background-position: -748px -704px}.sbsprite-slime_generator_2 { background-position: -770px -704px}.sbsprite-frozen_blaze_icicle { background-position: -792px -704px}.sbsprite-oak_generator_11 { background-position: -814px -704px}.sbsprite-slime_generator_5 { background-position: -836px -704px}.sbsprite-slime_generator_6 { background-position: -858px -704px}.sbsprite-slime_generator_3 { background-position: -880px -704px}.sbsprite-slime_generator_4 { background-position: -902px -704px}.sbsprite-slime_generator_9 { background-position: -924px -704px}.sbsprite-slime_generator_7 { background-position: -946px -704px}.sbsprite-slime_generator_8 { background-position: -968px -704px}.sbsprite-dungeon_golden_key { background-position: -990px -704px}.sbsprite-mender_fedora { background-position: -1012px -704px}.sbsprite-pet_skin_rock_smile { background-position: -1034px -704px}.sbsprite-builder_orange { background-position: 0 -726px}.sbsprite-ghast_generator_10 { background-position: -22px -726px}.sbsprite-beach_chair { background-position: -44px -726px}.sbsprite-ghast_generator_11 { background-position: -66px -726px}.sbsprite-boss { background-position: -88px -726px}.sbsprite-race_precursor_ruins { background-position: -110px -726px}.sbsprite-perfectly_cut_fuel_tank { background-position: -132px -726px}.sbsprite-ice_essence { background-position: -154px -726px}.sbsprite-jerry_box_green { background-position: -176px -726px}.sbsprite-fireplace { background-position: -198px -726px}.sbsprite-moldy_bread { background-position: -220px -726px}.sbsprite-pet_skin_tiger_saber_tooth { background-position: -242px -726px}.sbsprite-obsidian_generator_5 { background-position: -264px -726px}.sbsprite-obsidian_generator_4 { background-position: -286px -726px}.sbsprite-obsidian_generator_7 { background-position: -308px -726px}.sbsprite-obsidian_generator_6 { background-position: -330px -726px}.sbsprite-obsidian_generator_1 { background-position: -352px -726px}.sbsprite-obsidian_generator_3 { background-position: -374px -726px}.sbsprite-foraging_1_portal { background-position: -396px -726px}.sbsprite-obsidian_generator_2 { background-position: -418px -726px}.sbsprite-dungeon_stone_tank { background-position: -440px -726px}.sbsprite-obsidian_generator_9 { background-position: -462px -726px}.sbsprite-obsidian_generator_8 { background-position: -484px -726px}.sbsprite-pet_skin_sheep_light_green { background-position: -506px -726px}.sbsprite-decayed_bat { background-position: -528px -726px}.sbsprite-pet_skin_squid_glow { background-position: -550px -726px}.sbsprite-potato_generator_4 { background-position: -572px -726px}.sbsprite-potato_generator_5 { background-position: -594px -726px}.sbsprite-potato_generator_12 { background-position: -616px -726px}.sbsprite-potato_generator_6 { background-position: -638px -726px}.sbsprite-potato_generator_11 { background-position: -660px -726px}.sbsprite-potato_generator_7 { background-position: -682px -726px}.sbsprite-potato_generator_10 { background-position: -704px -726px}.sbsprite-potato_generator_8 { background-position: -726px -726px}.sbsprite-potato_generator_9 { background-position: -748px -726px}.sbsprite-slayer_energy_drink { background-position: -770px -726px}.sbsprite-arachne_keeper_fragment { background-position: -792px -726px}.sbsprite-cat_talisman { background-position: -814px -726px}.sbsprite-large_slayer_sack { background-position: -836px -726px}.sbsprite-rune_rainbow { background-position: -858px -726px}.sbsprite-potato_generator_1 { background-position: -880px -726px}.sbsprite-potato_generator_2 { background-position: -902px -726px}.sbsprite-potato_generator_3 { background-position: -924px -726px}.sbsprite-lime_large_backpack { background-position: -946px -726px}.sbsprite-bestiary_spiders_den { background-position: -968px -726px}.sbsprite-ruby_polished_drill_engine { background-position: -990px -726px}.sbsprite-yellow_jumbo_backpack { background-position: -1012px -726px}.sbsprite-pet_skin_dolphin_snubnose { background-position: -1034px -726px}.sbsprite-spider_egg_mixin { background-position: 0 -748px}.sbsprite-pet_skin_dragon_pastel { background-position: -22px -748px}.sbsprite-honed_shark_tooth_necklace { background-position: -44px -748px}.sbsprite-bob_omb { background-position: -66px -748px}.sbsprite-dungeon_wizard_crystal { background-position: -88px -748px}.sbsprite-barn_island { background-position: -110px -748px}.sbsprite-weapon_rack { background-position: -132px -748px}.sbsprite-shadow_assassin_crimson { background-position: -154px -748px}.sbsprite-small_talisman_bag { background-position: -176px -748px}.sbsprite-medium_combat_sack { background-position: -198px -748px}.sbsprite-bonzo_statue { background-position: -220px -748px}.sbsprite-zombie_artifact { background-position: -242px -748px}.sbsprite-cheese_hunter { background-position: -264px -748px}.sbsprite-hologram { background-position: -286px -748px}.sbsprite-ultrasequencer { background-position: -308px -748px}.sbsprite-wise_dragon_helmet { background-position: -330px -748px}.sbsprite-cyan_medium_backpack { background-position: -352px -748px}.sbsprite-light_grey_small_backpack { background-position: -374px -748px}.sbsprite-catacombs_pass_5 { background-position: -396px -748px}.sbsprite-catacombs_pass_4 { background-position: -418px -748px}.sbsprite-catacombs_pass_3 { background-position: -440px -748px}.sbsprite-magma_bucket_upgrade { background-position: -462px -748px}.sbsprite-catacombs_pass_2 { background-position: -484px -748px}.sbsprite-coin_redstone { background-position: -506px -748px}.sbsprite-catacombs_pass_1 { background-position: -528px -748px}.sbsprite-hermit_crab_10 { background-position: -550px -748px}.sbsprite-catacombs_pass_0 { background-position: -572px -748px}.sbsprite-hermit_crab_11 { background-position: -594px -748px}.sbsprite-dungeon_stone_mage { background-position: -616px -748px}.sbsprite-gingerbread_personality { background-position: -638px -748px}.sbsprite-titanium_drill_engine { background-position: -660px -748px}.sbsprite-catacombs_pass_9 { background-position: -682px -748px}.sbsprite-fast_travel_dragontail { background-position: -704px -748px}.sbsprite-catacombs_pass_8 { background-position: -726px -748px}.sbsprite-catacombs_pass_7 { background-position: -748px -748px}.sbsprite-reaper_spirit { background-position: -770px -748px}.sbsprite-catacombs_pass_6 { background-position: -792px -748px}.sbsprite-armor_of_the_resistance_helmet { background-position: -814px -748px}.sbsprite-orange_small_backpack { background-position: -836px -748px}.sbsprite-bait_ring { background-position: -858px -748px}.sbsprite-luck_talisman { background-position: -880px -748px}.sbsprite-beach_ball_11 { background-position: -902px -748px}.sbsprite-beach_ball_10 { background-position: -924px -748px}.sbsprite-shark_personality { background-position: -946px -748px}.sbsprite-coal_generator_11 { background-position: -968px -748px}.sbsprite-coal_generator_12 { background-position: -990px -748px}.sbsprite-fourth_master_star { background-position: -1012px -748px}.sbsprite-water_hydra_head { background-position: -1034px -748px}.sbsprite-coal_generator_10 { background-position: 0 -770px}.sbsprite-ice_dinner_table { background-position: -22px -770px}.sbsprite-talisman_enrichment_attack_speed { background-position: -44px -770px}.sbsprite-gemstone_fuel_tank { background-position: -66px -770px}.sbsprite-green_large_backpack { background-position: -88px -770px}.sbsprite-fairy_wings_charm { background-position: -110px -770px}.sbsprite-rare_diamond { background-position: -132px -770px}.sbsprite-bunny { background-position: -154px -770px}.sbsprite-storm_the_fish { background-position: -176px -770px}.sbsprite-penguin_personality { background-position: -198px -770px}.sbsprite-shark_1 { background-position: -220px -770px}.sbsprite-shard_of_the_shredded { background-position: -242px -770px}.sbsprite-shark_2 { background-position: -264px -770px}.sbsprite-sheep_generator_11 { background-position: -286px -770px}.sbsprite-diamonite { background-position: -308px -770px}.sbsprite-prehistoric_egg { background-position: -330px -770px}.sbsprite-shark_3 { background-position: -352px -770px}.sbsprite-sheep_generator_12 { background-position: -374px -770px}.sbsprite-shark_4 { background-position: -396px -770px}.sbsprite-shark_5 { background-position: -418px -770px}.sbsprite-shark_6 { background-position: -440px -770px}.sbsprite-shark_7 { background-position: -462px -770px}.sbsprite-shark_8 { background-position: -484px -770px}.sbsprite-shark_9 { background-position: -506px -770px}.sbsprite-bbq { background-position: -528px -770px}.sbsprite-pet_skin_sheep_white { background-position: -550px -770px}.sbsprite-sheep_generator_10 { background-position: -572px -770px}.sbsprite-rune_spirit { background-position: -594px -770px}.sbsprite-aote_stone { background-position: -616px -770px}.sbsprite-french_bread { background-position: -638px -770px}.sbsprite-ember_helmet { background-position: -660px -770px}.sbsprite-large_bed { background-position: -682px -770px}.sbsprite-builder_bush { background-position: -704px -770px}.sbsprite-talisman_enrichment_ferocity { background-position: -726px -770px}.sbsprite-fire_talisman { background-position: -748px -770px}.sbsprite-purple_candy { background-position: -770px -770px}.sbsprite-spider_talisman { background-position: -792px -770px}.sbsprite-intimidation_artifact { background-position: -814px -770px}.sbsprite-large_candy_sack { background-position: -836px -770px}.sbsprite-present_10 { background-position: -858px -770px}.sbsprite-present_11 { background-position: -880px -770px}.sbsprite-beach_ball_9 { background-position: -902px -770px}.sbsprite-tarantula_generator_10 { background-position: -924px -770px}.sbsprite-beach_ball_8 { background-position: -946px -770px}.sbsprite-gold_sadan_head { background-position: -968px -770px}.sbsprite-tarantula_generator_11 { background-position: -990px -770px}.sbsprite-large_enchanted_foraging_sack { background-position: -1012px -770px}.sbsprite-warrior_dungeon_ability_1 { background-position: -1034px -770px}.sbsprite-beach_ball_5 { background-position: 0 -792px}.sbsprite-beach_ball_4 { background-position: -22px -792px}.sbsprite-beach_ball_7 { background-position: -44px -792px}.sbsprite-cracked_piggy_bank { background-position: -66px -792px}.sbsprite-beach_ball_6 { background-position: -88px -792px}.sbsprite-ice_lolly_11 { background-position: -110px -792px}.sbsprite-ice_lolly_10 { background-position: -132px -792px}.sbsprite-razor_sharp_shark_tooth_necklace { background-position: -154px -792px}.sbsprite-farm_crystal { background-position: -176px -792px}.sbsprite-bank_upgrade_luxurious { background-position: -198px -792px}.sbsprite-large_fishing_sack { background-position: -220px -792px}.sbsprite-lime_small_backpack { background-position: -242px -792px}.sbsprite-portable_wool_weaver { background-position: -264px -792px}.sbsprite-beach_ball_1 { background-position: -286px -792px}.sbsprite-beach_ball_3 { background-position: -308px -792px}.sbsprite-beach_ball_2 { background-position: -330px -792px}.sbsprite-revive_stone_orb { background-position: -352px -792px}.sbsprite-fish_hat { background-position: -374px -792px}.sbsprite-skull_personality { background-position: -396px -792px}.sbsprite-builder_onion { background-position: -418px -792px}.sbsprite-melon_generator_3 { background-position: -440px -792px}.sbsprite-zombie_generator_9 { background-position: -462px -792px}.sbsprite-melon_generator_2 { background-position: -484px -792px}.sbsprite-melon_generator_1 { background-position: -506px -792px}.sbsprite-melon_generator_7 { background-position: -528px -792px}.sbsprite-zombie_generator_5 { background-position: -550px -792px}.sbsprite-melon_generator_6 { background-position: -572px -792px}.sbsprite-zombie_generator_6 { background-position: -594px -792px}.sbsprite-melon_generator_5 { background-position: -616px -792px}.sbsprite-zombie_generator_7 { background-position: -638px -792px}.sbsprite-melon_generator_4 { background-position: -660px -792px}.sbsprite-zombie_generator_8 { background-position: -682px -792px}.sbsprite-zombie_generator_1 { background-position: -704px -792px}.sbsprite-zombie_generator_2 { background-position: -726px -792px}.sbsprite-optical_lens { background-position: -748px -792px}.sbsprite-zombie_generator_3 { background-position: -770px -792px}.sbsprite-zombie_generator_4 { background-position: -792px -792px}.sbsprite-beach_umbrella { background-position: -814px -792px}.sbsprite-diamond_atom { background-position: -836px -792px}.sbsprite-coin_talisman { background-position: -858px -792px}.sbsprite-nether_island { background-position: -880px -792px}.sbsprite-rune_couture { background-position: -902px -792px}.sbsprite-fish_affinity_talisman { background-position: -924px -792px}.sbsprite-wedding_ring_4 { background-position: -946px -792px}.sbsprite-wedding_ring_5 { background-position: -968px -792px}.sbsprite-wedding_ring_6 { background-position: -990px -792px}.sbsprite-wedding_ring_7 { background-position: -1012px -792px}.sbsprite-wedding_ring_8 { background-position: -1034px -792px}.sbsprite-large_enchanted_combat_sack { background-position: 0 -814px}.sbsprite-wedding_ring_9 { background-position: -22px -814px}.sbsprite-rune_clouds { background-position: -44px -814px}.sbsprite-perfect_amber_gem { background-position: -66px -814px}.sbsprite-precursor_gear { background-position: -88px -814px}.sbsprite-wedding_ring_2 { background-position: -110px -814px}.sbsprite-wedding_ring_3 { background-position: -132px -814px}.sbsprite-rune_enchant { background-position: -154px -814px}.sbsprite-god_potion { background-position: -176px -814px}.sbsprite-rune_magical { background-position: -198px -814px}.sbsprite-pet_skin_monkey_golden { background-position: -220px -814px}.sbsprite-spiked_bait { background-position: -242px -814px}.sbsprite-ghost_11 { background-position: -264px -814px}.sbsprite-perfect_jasper_gem { background-position: -286px -814px}.sbsprite-quartz_generator_11 { background-position: -308px -814px}.sbsprite-sandcastle_1 { background-position: -330px -814px}.sbsprite-sandcastle_2 { background-position: -352px -814px}.sbsprite-pet_skin_sheep_pink { background-position: -374px -814px}.sbsprite-premium_flesh { background-position: -396px -814px}.sbsprite-sandcastle_5 { background-position: -418px -814px}.sbsprite-blessed_bait { background-position: -440px -814px}.sbsprite-sandcastle_6 { background-position: -462px -814px}.sbsprite-sandcastle_3 { background-position: -484px -814px}.sbsprite-sandcastle_4 { background-position: -506px -814px}.sbsprite-wise_wither_helmet { background-position: -528px -814px}.sbsprite-sandcastle_9 { background-position: -550px -814px}.sbsprite-quartz_generator_10 { background-position: -572px -814px}.sbsprite-sandcastle_7 { background-position: -594px -814px}.sbsprite-sandcastle_8 { background-position: -616px -814px}.sbsprite-mayor_cole { background-position: -638px -814px}.sbsprite-fifth_master_star { background-position: -660px -814px}.sbsprite-ghost_10 { background-position: -682px -814px}.sbsprite-young_shimmer { background-position: -704px -814px}.sbsprite-minion_chair { background-position: -726px -814px}.sbsprite-pig_mask { background-position: -748px -814px}.sbsprite-hyper_catalyst_upgrade { background-position: -770px -814px}.sbsprite-potion { background-position: -792px -814px}.sbsprite-exceedingly_rare_ender_artifact_upgrader { background-position: -814px -814px}.sbsprite-refined_titanium { background-position: -836px -814px}.sbsprite-sharp_shark_tooth_necklace { background-position: -858px -814px}.sbsprite-wreath { background-position: -880px -814px}.sbsprite-melon_generator_9 { background-position: -902px -814px}.sbsprite-melon_generator_8 { background-position: -924px -814px}.sbsprite-epoch_cake_pink { background-position: -946px -814px}.sbsprite-dungeon_stone_healer { background-position: -968px -814px}.sbsprite-young_baby { background-position: -990px -814px}.sbsprite-presents { background-position: -1012px -814px}.sbsprite-dark_oak_generator_5 { background-position: -1034px -814px}.sbsprite-dark_oak_generator_6 { background-position: 0 -836px}.sbsprite-large_enchanted_fishing_sack { background-position: -22px -836px}.sbsprite-radiant_power_orb { background-position: -44px -836px}.sbsprite-dark_oak_generator_3 { background-position: -66px -836px}.sbsprite-large_husbandry_sack { background-position: -88px -836px}.sbsprite-dark_oak_generator_4 { background-position: -110px -836px}.sbsprite-dark_oak_generator_9 { background-position: -132px -836px}.sbsprite-dark_oak_generator_7 { background-position: -154px -836px}.sbsprite-dark_oak_generator_8 { background-position: -176px -836px}.sbsprite-dark_oak_generator_1 { background-position: -198px -836px}.sbsprite-dark_oak_generator_2 { background-position: -220px -836px}.sbsprite-illusion_glass { background-position: -242px -836px}.sbsprite-iron_chest { background-position: -264px -836px}.sbsprite-festive_zombie_personality { background-position: -286px -836px}.sbsprite-frozen_blaze_helmet { background-position: -308px -836px}.sbsprite-fast_travel_nest { background-position: -330px -836px}.sbsprite-brown_greater_backpack { background-position: -352px -836px}.sbsprite-red_gift { background-position: -374px -836px}.sbsprite-builder_lemon { background-position: -396px -836px}.sbsprite-rune_hot { background-position: -418px -836px}.sbsprite-small_mining_sack { background-position: -440px -836px}.sbsprite-pet_skin_jerry_green_elf { background-position: -462px -836px}.sbsprite-amber_polished_drill_engine { background-position: -484px -836px}.sbsprite-pedestal { background-position: -506px -836px}.sbsprite-red_claw_artifact { background-position: -528px -836px}.sbsprite-zombie_generator_11 { background-position: -550px -836px}.sbsprite-zombie_generator_10 { background-position: -572px -836px}.sbsprite-wither_relic { background-position: -594px -836px}.sbsprite-spider_hat { background-position: -616px -836px}.sbsprite-sludge_juice { background-position: -638px -836px}.sbsprite-precursor_eye { background-position: -660px -836px}.sbsprite-fast_travel_scarleton { background-position: -682px -836px}.sbsprite-connect_four { background-position: -704px -836px}.sbsprite-sloth_3 { background-position: -726px -836px}.sbsprite-sloth_4 { background-position: -748px -836px}.sbsprite-pet_skin_enderman { background-position: -770px -836px}.sbsprite-sloth_1 { background-position: -792px -836px}.sbsprite-sloth_2 { background-position: -814px -836px}.sbsprite-rabbit_generator_9 { background-position: -836px -836px}.sbsprite-builder_chesto_berry { background-position: -858px -836px}.sbsprite-rabbit_generator_4 { background-position: -880px -836px}.sbsprite-sloth_7 { background-position: -902px -836px}.sbsprite-rabbit_generator_3 { background-position: -924px -836px}.sbsprite-sloth_8 { background-position: -946px -836px}.sbsprite-rabbit_generator_2 { background-position: -968px -836px}.sbsprite-sloth_5 { background-position: -990px -836px}.sbsprite-rabbit_generator_1 { background-position: -1012px -836px}.sbsprite-sloth_6 { background-position: -1034px -836px}.sbsprite-rabbit_generator_8 { background-position: 0 -858px}.sbsprite-lantern { background-position: -22px -858px}.sbsprite-rabbit_generator_7 { background-position: -44px -858px}.sbsprite-rabbit_generator_6 { background-position: -66px -858px}.sbsprite-sloth_9 { background-position: -88px -858px}.sbsprite-rabbit_generator_5 { background-position: -110px -858px}.sbsprite-clownfish_8 { background-position: -132px -858px}.sbsprite-clownfish_9 { background-position: -154px -858px}.sbsprite-clownfish_6 { background-position: -176px -858px}.sbsprite-clownfish_7 { background-position: -198px -858px}.sbsprite-clownfish_4 { background-position: -220px -858px}.sbsprite-clownfish_5 { background-position: -242px -858px}.sbsprite-mender_helmet { background-position: -264px -858px}.sbsprite-clownfish_2 { background-position: -286px -858px}.sbsprite-clownfish_3 { background-position: -308px -858px}.sbsprite-enderman_hat { background-position: -330px -858px}.sbsprite-superior_dragon_helmet { background-position: -352px -858px}.sbsprite-clownfish_1 { background-position: -374px -858px}.sbsprite-reset_heart_of_the_mountain { background-position: -396px -858px}.sbsprite-lapis_crystal { background-position: -418px -858px}.sbsprite-purple_jumbo_backpack { background-position: -440px -858px}.sbsprite-purple_large_backpack { background-position: -462px -858px}.sbsprite-dragon_claw { background-position: -484px -858px}.sbsprite-potato_talisman { background-position: -506px -858px}.sbsprite-nether_warts_generator_12 { background-position: -528px -858px}.sbsprite-nether_warts_generator_11 { background-position: -550px -858px}.sbsprite-nether_warts_generator_10 { background-position: -572px -858px}.sbsprite-yellow_medium_backpack { background-position: -594px -858px}.sbsprite-acacia_generator_9 { background-position: -616px -858px}.sbsprite-arachne_crystal { background-position: -638px -858px}.sbsprite-acacia_generator_8 { background-position: -660px -858px}.sbsprite-acacia_generator_7 { background-position: -682px -858px}.sbsprite-helix { background-position: -704px -858px}.sbsprite-acacia_generator_6 { background-position: -726px -858px}.sbsprite-mutant_nether_stalk { background-position: -748px -858px}.sbsprite-acacia_generator_5 { background-position: -770px -858px}.sbsprite-acacia_generator_4 { background-position: -792px -858px}.sbsprite-acacia_generator_3 { background-position: -814px -858px}.sbsprite-acacia_generator_2 { background-position: -836px -858px}.sbsprite-acacia_generator_1 { background-position: -858px -858px}.sbsprite-orange_greater_backpack { background-position: -880px -858px}.sbsprite-boss_collection_professor { background-position: -902px -858px}.sbsprite-soulflow_engine { background-position: -924px -858px}.sbsprite-armor_showcase { background-position: -946px -858px}.sbsprite-gingerbread_2 { background-position: -968px -858px}.sbsprite-gingerbread_1 { background-position: -990px -858px}.sbsprite-gingerbread_6 { background-position: -1012px -858px}.sbsprite-gingerbread_5 { background-position: -1034px -858px}.sbsprite-gingerbread_4 { background-position: 0 -880px}.sbsprite-small_backpack { background-position: -22px -880px}.sbsprite-gingerbread_3 { background-position: -44px -880px}.sbsprite-gingerbread_9 { background-position: -66px -880px}.sbsprite-gingerbread_8 { background-position: -88px -880px}.sbsprite-gingerbread_7 { background-position: -110px -880px}.sbsprite-small_fishing_sack { background-position: -132px -880px}.sbsprite-fast_travel_castle { background-position: -154px -880px}.sbsprite-glacite_jewel { background-position: -176px -880px}.sbsprite-medium_agronomy_sack { background-position: -198px -880px}.sbsprite-mining_fortune { background-position: -220px -880px}.sbsprite-pet_item_spooky_cupcake { background-position: -242px -880px}.sbsprite-red_medium_backpack { background-position: -264px -880px}.sbsprite-third_master_star { background-position: -286px -880px}.sbsprite-pet_skin_phoenix_ice { background-position: -308px -880px}.sbsprite-golem_hat { background-position: -330px -880px}.sbsprite-ghost_personality { background-position: -352px -880px}.sbsprite-epoch_cake_yellow { background-position: -374px -880px}.sbsprite-creeper_generator_11 { background-position: -396px -880px}.sbsprite-creeper_generator_10 { background-position: -418px -880px}.sbsprite-magenta_medium_backpack { background-position: -440px -880px}.sbsprite-pet_skin_elephant_green { background-position: -462px -880px}.sbsprite-soulflow_pile { background-position: -484px -880px}.sbsprite-pumpkin_personality { background-position: -506px -880px}.sbsprite-small_slayer_sack { background-position: -528px -880px}.sbsprite-poisoned_candle { background-position: -550px -880px}.sbsprite-bestiary_crimson_isle { background-position: -572px -880px}.sbsprite-ring_potion_affinity { background-position: -594px -880px}.sbsprite-rock_gemstone { background-position: -616px -880px}.sbsprite-blood_god_crest { background-position: -638px -880px}.sbsprite-judgement_core { background-position: -660px -880px}.sbsprite-rune_tidal { background-position: -682px -880px}.sbsprite-lava_talisman { background-position: -704px -880px}.sbsprite-revived_heart { background-position: -726px -880px}.sbsprite-killer_personality { background-position: -748px -880px}.sbsprite-snow_suit_helmet { background-position: -770px -880px}.sbsprite-blobfish_hat { background-position: -792px -880px}.sbsprite-stool { background-position: -814px -880px}.sbsprite-builder_blue_corn { background-position: -836px -880px}.sbsprite-pulpous_orange_juice { background-position: -858px -880px}.sbsprite-fast_travel_drag { background-position: -880px -880px}.sbsprite-tank_dungeon_ability_2 { background-position: -902px -880px}.sbsprite-tank_dungeon_ability_1 { background-position: -924px -880px}.sbsprite-treasure_talisman { background-position: -946px -880px}.sbsprite-bookcase { background-position: -968px -880px}.sbsprite-skeletor_helmet { background-position: -990px -880px}.sbsprite-unstable_baby { background-position: -1012px -880px}.sbsprite-large_combat_sack { background-position: -1034px -880px}.sbsprite-minos_relic { background-position: 0 -902px}.sbsprite-pet_item_bubblegum { background-position: -22px -902px}.sbsprite-small_xtree { background-position: -44px -902px}.sbsprite-epoch_cake_aqua { background-position: -66px -902px}.sbsprite-wither_blood { background-position: -88px -902px}.sbsprite-egg_hunt { background-position: -110px -902px}.sbsprite-rune_fire_spiral { background-position: -132px -902px}.sbsprite-wither_goggles { background-position: -154px -902px}.sbsprite-egg_stack { background-position: -176px -902px}.sbsprite-mummy_candle { background-position: -198px -902px}.sbsprite-enchanted_book_bundle_big_brain { background-position: -220px -902px}.sbsprite-builder_beetroot { background-position: -242px -902px}.sbsprite-rabbit_generator_11 { background-position: -264px -902px}.sbsprite-rabbit_generator_10 { background-position: -286px -902px}.sbsprite-rabbit_generator_12 { background-position: -308px -902px}.sbsprite-rotten_apple { background-position: -330px -902px}.sbsprite-etherwarp_merger { background-position: -352px -902px}.sbsprite-redstone_generator_11 { background-position: -374px -902px}.sbsprite-redstone_generator_10 { background-position: -396px -902px}.sbsprite-protector_baby { background-position: -418px -902px}.sbsprite-fast_travel_deep { background-position: -440px -902px}.sbsprite-polished_pumpkin { background-position: -462px -902px}.sbsprite-redstone_generator_12 { background-position: -484px -902px}.sbsprite-tic_tac_toe { background-position: -506px -902px}.sbsprite-foraging_2_portal { background-position: -528px -902px}.sbsprite-recombobulator_3000 { background-position: -550px -902px}.sbsprite-sand_generator_7 { background-position: -572px -902px}.sbsprite-sand_generator_8 { background-position: -594px -902px}.sbsprite-sand_generator_9 { background-position: -616px -902px}.sbsprite-scarecrow_personality { background-position: -638px -902px}.sbsprite-pet_skin_sheep_aqua { background-position: -660px -902px}.sbsprite-skull_10 { background-position: -682px -902px}.sbsprite-melon_personality { background-position: -704px -902px}.sbsprite-skull_11 { background-position: -726px -902px}.sbsprite-flawed_amethyst_gem { background-position: -748px -902px}.sbsprite-revive_stone { background-position: -770px -902px}.sbsprite-creeper_generator_9 { background-position: -792px -902px}.sbsprite-creeper_generator_8 { background-position: -814px -902px}.sbsprite-potato_basket { background-position: -836px -902px}.sbsprite-diamond_essence { background-position: -858px -902px}.sbsprite-creeper_generator_7 { background-position: -880px -902px}.sbsprite-creeper_generator_6 { background-position: -902px -902px}.sbsprite-creeper_generator_5 { background-position: -924px -902px}.sbsprite-creeper_generator_4 { background-position: -946px -902px}.sbsprite-creeper_generator_3 { background-position: -968px -902px}.sbsprite-creeper_generator_2 { background-position: -990px -902px}.sbsprite-sand_generator_1 { background-position: -1012px -902px}.sbsprite-creeper_generator_1 { background-position: -1034px -902px}.sbsprite-sand_generator_2 { background-position: 0 -924px}.sbsprite-sand_generator_3 { background-position: -22px -924px}.sbsprite-sand_generator_4 { background-position: -44px -924px}.sbsprite-sand_generator_5 { background-position: -66px -924px}.sbsprite-jerry_box_golden { background-position: -88px -924px}.sbsprite-sand_generator_6 { background-position: -110px -924px}.sbsprite-seal_of_the_family { background-position: -132px -924px}.sbsprite-gemstone_chamber { background-position: -154px -924px}.sbsprite-aqua { background-position: -176px -924px}.sbsprite-ice_hunk { background-position: -198px -924px}.sbsprite-crystal_ball { background-position: -220px -924px}.sbsprite-ice_chair { background-position: -242px -924px}.sbsprite-sandcastle_11 { background-position: -264px -924px}.sbsprite-sandcastle_10 { background-position: -286px -924px}.sbsprite-furnace_plus { background-position: -308px -924px}.sbsprite-pig_generator_12 { background-position: -330px -924px}.sbsprite-pig_generator_11 { background-position: -352px -924px}.sbsprite-pig_generator_10 { background-position: -374px -924px}.sbsprite-nether_artifact { background-position: -396px -924px}.sbsprite-chicken_generator_1 { background-position: -418px -924px}.sbsprite-sniper_helmet { background-position: -440px -924px}.sbsprite-chicken_generator_4 { background-position: -462px -924px}.sbsprite-chicken_generator_5 { background-position: -484px -924px}.sbsprite-heat_core { background-position: -506px -924px}.sbsprite-chicken_generator_2 { background-position: -528px -924px}.sbsprite-wishing_compass { background-position: -550px -924px}.sbsprite-chicken_generator_3 { background-position: -572px -924px}.sbsprite-desk { background-position: -594px -924px}.sbsprite-white_large_backpack { background-position: -616px -924px}.sbsprite-hub_portal { background-position: -638px -924px}.sbsprite-spruce_generator_10 { background-position: -660px -924px}.sbsprite-spruce_generator_11 { background-position: -682px -924px}.sbsprite-chicken_generator_8 { background-position: -704px -924px}.sbsprite-mithril_generator_9 { background-position: -726px -924px}.sbsprite-scarf_thesis { background-position: -748px -924px}.sbsprite-chicken_generator_9 { background-position: -770px -924px}.sbsprite-mithril_generator_8 { background-position: -792px -924px}.sbsprite-fast_travel_da { background-position: -814px -924px}.sbsprite-chicken_generator_6 { background-position: -836px -924px}.sbsprite-mithril_generator_7 { background-position: -858px -924px}.sbsprite-zombie_ring { background-position: -880px -924px}.sbsprite-chicken_generator_7 { background-position: -902px -924px}.sbsprite-mithril_generator_6 { background-position: -924px -924px}.sbsprite-wood_chest { background-position: -946px -924px}.sbsprite-glowstone_generator_8 { background-position: -968px -924px}.sbsprite-mithril_generator_1 { background-position: -990px -924px}.sbsprite-pink_bunny_12 { background-position: -1012px -924px}.sbsprite-purple_medium_backpack { background-position: -1034px -924px}.sbsprite-glowstone_generator_7 { background-position: 0 -946px}.sbsprite-pink_bunny_11 { background-position: -22px -946px}.sbsprite-pink_bunny_10 { background-position: -44px -946px}.sbsprite-glowstone_generator_9 { background-position: -66px -946px}.sbsprite-glowstone_generator_4 { background-position: -88px -946px}.sbsprite-mithril_generator_5 { background-position: -110px -946px}.sbsprite-glowstone_generator_3 { background-position: -132px -946px}.sbsprite-mithril_generator_4 { background-position: -154px -946px}.sbsprite-glowstone_generator_6 { background-position: -176px -946px}.sbsprite-mithril_generator_3 { background-position: -198px -946px}.sbsprite-glowstone_generator_5 { background-position: -220px -946px}.sbsprite-mithril_generator_2 { background-position: -242px -946px}.sbsprite-very_official_yellow_rock { background-position: -264px -946px}.sbsprite-bat_person_talisman { background-position: -286px -946px}.sbsprite-cyan_large_backpack { background-position: -308px -946px}.sbsprite-fairy_soul { background-position: -330px -946px}.sbsprite-ghost_8 { background-position: -352px -946px}.sbsprite-ghost_9 { background-position: -374px -946px}.sbsprite-power_talisman { background-position: -396px -946px}.sbsprite-ghost_4 { background-position: -418px -946px}.sbsprite-decent_coffee { background-position: -440px -946px}.sbsprite-ghost_5 { background-position: -462px -946px}.sbsprite-ember_fragment { background-position: -484px -946px}.sbsprite-ghost_6 { background-position: -506px -946px}.sbsprite-ghost_7 { background-position: -528px -946px}.sbsprite-dull_shark_tooth_necklace { background-position: -550px -946px}.sbsprite-ghost_1 { background-position: -572px -946px}.sbsprite-ghost_2 { background-position: -594px -946px}.sbsprite-ghost_3 { background-position: -616px -946px}.sbsprite-gold_gift { background-position: -638px -946px}.sbsprite-tank_wither_helmet { background-position: -660px -946px}.sbsprite-spider_ring { background-position: -682px -946px}.sbsprite-santa_10 { background-position: -704px -946px}.sbsprite-santa_11 { background-position: -726px -946px}.sbsprite-yellow_greater_backpack { background-position: -748px -946px}.sbsprite-sapphire_crystal { background-position: -770px -946px}.sbsprite-mayor_foxy { background-position: -792px -946px}.sbsprite-starred_shadow_assassin_helmet { background-position: -814px -946px}.sbsprite-god_potion_2 { background-position: -836px -946px}.sbsprite-goblin_helmet { background-position: -858px -946px}.sbsprite-diamond_generator_5 { background-position: -880px -946px}.sbsprite-lesser_orb_of_healing { background-position: -902px -946px}.sbsprite-diamond_generator_6 { background-position: -924px -946px}.sbsprite-diamond_generator_3 { background-position: -946px -946px}.sbsprite-pet_skin_jerry_red_elf { background-position: -968px -946px}.sbsprite-diamond_generator_4 { background-position: -990px -946px}.sbsprite-lady_bug_10 { background-position: -1012px -946px}.sbsprite-diamond_generator_1 { background-position: -1034px -946px}.sbsprite-star_decorations { background-position: 0 -968px}.sbsprite-diamond_generator_2 { background-position: -22px -968px}.sbsprite-bingo_artifact { background-position: -44px -968px}.sbsprite-diamond_generator_9 { background-position: -66px -968px}.sbsprite-lady_bug_11 { background-position: -88px -968px}.sbsprite-diamond_generator_7 { background-position: -110px -968px}.sbsprite-diamond_generator_8 { background-position: -132px -968px}.sbsprite-heart_of_the_mountain { background-position: -154px -968px}.sbsprite-glowstone_generator_2 { background-position: -176px -968px}.sbsprite-glowstone_generator_1 { background-position: -198px -968px}.sbsprite-pink_donut_personality { background-position: -220px -968px}.sbsprite-artifact_of_space { background-position: -242px -968px}.sbsprite-lesser_soulflow_engine { background-position: -264px -968px}.sbsprite-mithril_crystal { background-position: -286px -968px}.sbsprite-young_fragment { background-position: -308px -968px}.sbsprite-master_catacombs_pass_10 { background-position: -330px -968px}.sbsprite-flying_bats { background-position: -352px -968px}.sbsprite-light_blue_medium_backpack { background-position: -374px -968px}.sbsprite-fast_travel_hub { background-position: -396px -968px}.sbsprite-pumpkin_generator_2 { background-position: -418px -968px}.sbsprite-pumpkin_generator_1 { background-position: -440px -968px}.sbsprite-pumpkin_generator_4 { background-position: -462px -968px}.sbsprite-end_helmet { background-position: -484px -968px}.sbsprite-pumpkin_generator_3 { background-position: -506px -968px}.sbsprite-pumpkin_generator_6 { background-position: -528px -968px}.sbsprite-titanium_talisman { background-position: -550px -968px}.sbsprite-pumpkin_generator_5 { background-position: -572px -968px}.sbsprite-reaper_gem { background-position: -594px -968px}.sbsprite-rune_zap { background-position: -616px -968px}.sbsprite-pumpkin_generator_8 { background-position: -638px -968px}.sbsprite-pumpkin_generator_7 { background-position: -660px -968px}.sbsprite-pumpkin_generator_9 { background-position: -682px -968px}.sbsprite-crooked_artifact { background-position: -704px -968px}.sbsprite-haste_ring { background-position: -726px -968px}.sbsprite-soulflow_battery { background-position: -748px -968px}.sbsprite-medium_mining_sack { background-position: -770px -968px}.sbsprite-skull_1 { background-position: -792px -968px}.sbsprite-coffin { background-position: -814px -968px}.sbsprite-chest_shelves { background-position: -836px -968px}.sbsprite-power_ring { background-position: -858px -968px}.sbsprite-white_medium_backpack { background-position: -880px -968px}.sbsprite-divan_fragment { background-position: -902px -968px}.sbsprite-skull_8 { background-position: -924px -968px}.sbsprite-gold_essence { background-position: -946px -968px}.sbsprite-skull_9 { background-position: -968px -968px}.sbsprite-skull_6 { background-position: -990px -968px}.sbsprite-skull_7 { background-position: -1012px -968px}.sbsprite-skull_4 { background-position: -1034px -968px}.sbsprite-skull_5 { background-position: 0 -990px}.sbsprite-skull_2 { background-position: -22px -990px}.sbsprite-skull_3 { background-position: -44px -990px}.sbsprite-black_jumbo_backpack { background-position: -66px -990px}.sbsprite-fast_travel_mines { background-position: -88px -990px}.sbsprite-skull_vase { background-position: -110px -990px}.sbsprite-fishing_generator_8 { background-position: -132px -990px}.sbsprite-fishing_generator_7 { background-position: -154px -990px}.sbsprite-fishing_generator_6 { background-position: -176px -990px}.sbsprite-fishing_generator_5 { background-position: -198px -990px}.sbsprite-fishing_generator_4 { background-position: -220px -990px}.sbsprite-lime_jumbo_backpack { background-position: -242px -990px}.sbsprite-fishing_generator_3 { background-position: -264px -990px}.sbsprite-fishing_generator_2 { background-position: -286px -990px}.sbsprite-fishing_generator_1 { background-position: -308px -990px}.sbsprite-fishing_generator_9 { background-position: -330px -990px}.sbsprite-yellow_large_backpack { background-position: -352px -990px}.sbsprite-amber_crystal { background-position: -374px -990px}.sbsprite-suspicious_vial { background-position: -396px -990px}.sbsprite-campfire { background-position: -418px -990px}.sbsprite-snow_generator_4 { background-position: -440px -990px}.sbsprite-snow_generator_5 { background-position: -462px -990px}.sbsprite-ring_of_space { background-position: -484px -990px}.sbsprite-snow_generator_6 { background-position: -506px -990px}.sbsprite-talisman_enrichment_walk_speed { background-position: -528px -990px}.sbsprite-snow_generator_7 { background-position: -550px -990px}.sbsprite-snow_generator_1 { background-position: -572px -990px}.sbsprite-snow_generator_2 { background-position: -594px -990px}.sbsprite-snow_generator_3 { background-position: -616px -990px}.sbsprite-lime_medium_backpack { background-position: -638px -990px}.sbsprite-end_stone_1 { background-position: -660px -990px}.sbsprite-strong_fragment { background-position: -682px -990px}.sbsprite-small_foraging_sack { background-position: -704px -990px}.sbsprite-synthetic_heart { background-position: -726px -990px}.sbsprite-end_stone_4 { background-position: -748px -990px}.sbsprite-diamond_sadan_head { background-position: -770px -990px}.sbsprite-end_stone_5 { background-position: -792px -990px}.sbsprite-end_stone_2 { background-position: -814px -990px}.sbsprite-end_stone_3 { background-position: -836px -990px}.sbsprite-diamond_bonzo_head { background-position: -858px -990px}.sbsprite-end_stone_8 { background-position: -880px -990px}.sbsprite-end_stone_9 { background-position: -902px -990px}.sbsprite-end_stone_6 { background-position: -924px -990px}.sbsprite-end_stone_7 { background-position: -946px -990px}.sbsprite-snow_generator_8 { background-position: -968px -990px}.sbsprite-snow_generator_9 { background-position: -990px -990px}.sbsprite-ender_stone_generator_4 { background-position: -1012px -990px}.sbsprite-epoch_cake_blue { background-position: -1034px -990px}.sbsprite-sand_generator_10 { background-position: 0 -1012px}.sbsprite-ender_stone_generator_3 { background-position: -22px -1012px}.sbsprite-sand_generator_11 { background-position: -44px -1012px}.sbsprite-ender_stone_generator_2 { background-position: -66px -1012px}.sbsprite-ender_stone_generator_1 { background-position: -88px -1012px}.sbsprite-pet_skin_sheep_neon_yellow { background-position: -110px -1012px}.sbsprite-fast_travel_spider { background-position: -132px -1012px}.sbsprite-pet_skin_sheep_blue { background-position: -154px -1012px}.sbsprite-epoch_cake_black { background-position: -176px -1012px}.sbsprite-wise_baby { background-position: -198px -1012px}.sbsprite-chronomatron { background-position: -220px -1012px}.sbsprite-scarf_grimoire { background-position: -242px -1012px}.sbsprite-bestiary_hub { background-position: -264px -1012px}.sbsprite-ender_stone_generator_9 { background-position: -286px -1012px}.sbsprite-ender_stone_generator_8 { background-position: -308px -1012px}.sbsprite-ender_stone_generator_7 { background-position: -330px -1012px}.sbsprite-ender_stone_generator_6 { background-position: -352px -1012px}.sbsprite-ender_stone_generator_5 { background-position: -374px -1012px}.sbsprite-small_gemstone_sack { background-position: -396px -1012px}.sbsprite-flawless_ruby_gem { background-position: -418px -1012px}.sbsprite-gold_necron_head { background-position: -440px -1012px}.sbsprite-small_husbandry_sack { background-position: -462px -1012px}.sbsprite-reaper_orb { background-position: -484px -1012px}.sbsprite-blaze_helmet { background-position: -506px -1012px}.sbsprite-bee_personality { background-position: -528px -1012px}.sbsprite-fishing { background-position: -550px -1012px}.sbsprite-titanium_ring { background-position: -572px -1012px}.sbsprite-lime { background-position: -594px -1012px}.sbsprite-feather_talisman { background-position: -616px -1012px}.sbsprite-rough_jasper_gem { background-position: -638px -1012px}.sbsprite-goblin_omelette_spicy { background-position: -660px -1012px}.sbsprite-gold_generator_11 { background-position: -682px -1012px}.sbsprite-gold_generator_10 { background-position: -704px -1012px}.sbsprite-gold_generator_12 { background-position: -726px -1012px}.sbpet-sheep_green { background-position: 0 0}.sbpet-sheep_yellow { background-position: -20px 0}.sbpet-bal { background-position: -40px 0}.sbpet-grandma_wolf { background-position: -60px 0}.sbpet-sheep_orange { background-position: -80px 0}.sbpet-sheep_red { background-position: -100px 0}.sbpet-bat { background-position: -120px 0}.sbpet-elephant_red { background-position: -140px 0}.sbpet-rabbit { background-position: -160px 0}.sbpet-megalodon_baby { background-position: -180px 0}.sbpet-silverfish { background-position: -200px 0}.sbpet-ghoul { background-position: -220px 0}.sbpet-pigman { background-position: 0 -22px}.sbpet-elephant_orange { background-position: -20px -22px}.sbpet-jerry { background-position: -40px -22px}.sbpet-sheep_neon_yellow { background-position: -60px -22px}.sbpet-rat { background-position: -80px -22px}.sbpet-tiger { background-position: -100px -22px}.sbpet-lion { background-position: -120px -22px}.sbpet-horse { background-position: -140px -22px}.sbpet-sheep_neon_green { background-position: -160px -22px}.sbpet-giraffe { background-position: -180px -22px}.sbpet-black_cat_ivory { background-position: -200px -22px}.sbpet-golden_dragon { background-position: -220px -22px}.sbpet-rock_derp { background-position: 0 -44px}.sbpet-parrot { background-position: -20px -44px}.sbpet-sheep_blue { background-position: -40px -44px}.sbpet-monkey_golden { background-position: -60px -44px}.sbpet-jellyfish { background-position: -80px -44px}.sbpet-horse_zombie { background-position: -100px -44px}.sbpet-sheep_purple { background-position: -120px -44px}.sbpet-elephant_purple { background-position: -140px -44px}.sbpet-endermite_radiant { background-position: -160px -44px}.sbpet-rock { background-position: -180px -44px}.sbpet-default { background-position: -200px -44px}.sbpet-blaze { background-position: -220px -44px}.sbpet-endermite { background-position: 0 -66px}.sbpet-megalodon_bullhead { background-position: -20px -66px}.sbpet-hound_beagle { background-position: -40px -66px}.sbpet-zombie { background-position: -60px -66px}.sbpet-guardian { background-position: -80px -66px}.sbpet-scatha { background-position: -100px -66px}.sbpet-wolf { background-position: -120px -66px}.sbpet-rabbit_aquamarine { background-position: -140px -66px}.sbpet-spirit { background-position: -160px -66px}.sbpet-hound { background-position: -180px -66px}.sbpet-dragon_neon_purple { background-position: -200px -66px}.sbpet-tiger_twilight { background-position: -220px -66px}.sbpet-sheep_light_green { background-position: 0 -88px}.sbpet-monkey_gorilla { background-position: -20px -88px}.sbpet-spider { background-position: -40px -88px}.sbpet-mithril_golem { background-position: -60px -88px}.sbpet-dolphin_snubnose { background-position: -80px -88px}.sbpet-snowman { background-position: -100px -88px}.sbpet-bee { background-position: -120px -88px}.sbpet-monkey { background-position: -140px -88px}.sbpet-jerry_red_elf { background-position: -160px -88px}.sbpet-elephant_pink { background-position: -180px -88px}.sbpet-sheep_brown { background-position: -200px -88px}.sbpet-magma_cube { background-position: -220px -88px}.sbpet-pig { background-position: 0 -110px}.sbpet-blue_whale { background-position: -20px -110px}.sbpet-skeleton { background-position: -40px -110px}.sbpet-phoenix_ice { background-position: -60px -110px}.sbpet-ammonite { background-position: -80px -110px}.sbpet-elephant_green { background-position: -100px -110px}.sbpet-armadillo { background-position: -120px -110px}.sbpet-dolphin { background-position: -140px -110px}.sbpet-turtle { background-position: -160px -110px}.sbpet-dragon_neon_red { background-position: -180px -110px}.sbpet-tiger_saber_tooth { background-position: -200px -110px}.sbpet-wither_skeleton { background-position: -220px -110px}.sbpet-parrot_blue_macaw { background-position: 0 -132px}.sbpet-ocelot { background-position: -20px -132px}.sbpet-sheep_light_gray { background-position: -40px -132px}.sbpet-elephant_blue { background-position: -60px -132px}.sbpet-chicken_baby_chick { background-position: -80px -132px}.sbpet-rock_thinking { background-position: -100px -132px}.sbpet-enderman_slayer { background-position: -120px -132px}.sbpet-ender_dragon { background-position: -140px -132px}.sbpet-rabbit_rose { background-position: -160px -132px}.sbpet-sheep_white { background-position: -180px -132px}.sbpet-silverfish_fossilized { background-position: -200px -132px}.sbpet-squid { background-position: -220px -132px}.sbpet-sheep_light_blue { background-position: 0 -154px}.sbpet-elephant { background-position: -20px -154px}.sbpet-golden_dragon_egg { background-position: -40px -154px}.sbpet-enderman { background-position: -60px -154px}.sbpet-chicken { background-position: -80px -154px}.sbpet-parrot_gold_macaw { background-position: -100px -154px}.sbpet-sheep_gray { background-position: -120px -154px}.sbpet-rock_cool { background-position: -140px -154px}.sbpet-rock_laugh { background-position: -160px -154px}.sbpet-sheep_black { background-position: -180px -154px}.sbpet-sheep_neon_blue { background-position: -200px -154px}.sbpet-rock_embarrassed { background-position: -220px -154px}.sbpet-dragon_neon_blue { background-position: 0 -176px}.sbpet-sheep { background-position: -20px -176px}.sbpet-baby_yeti { background-position: -40px -176px}.sbpet-sheep_aqua { background-position: -60px -176px}.sbpet-sheep_pink { background-position: -80px -176px}.sbpet-elephant_monochrome { background-position: -100px -176px}.sbpet-wolf_henzo_doggo { background-position: -120px -176px}.sbpet-squid_glow { background-position: -140px -176px}.sbpet-flying_fish { background-position: -160px -176px}.sbpet-griffin { background-position: -180px -176px}.sbpet-jerry_green_elf { background-position: -200px -176px}.sbpet-dragon_pastel { background-position: -220px -176px}.sbpet-sheep_neon_red { background-position: 0 -198px}.sbpet-sheep_magenta { background-position: -20px -198px}.sbpet-skeleton_horse { background-position: -40px -198px}.sbpet-megalodon { background-position: -60px -198px}.sbpet-lion_lioness { background-position: -80px -198px}.sbpet-tarantula { background-position: -100px -198px}.sbpet-yeti_grown_up { background-position: -120px -198px}.sbpet-phoenix { background-position: -140px -198px}.sbpet-golem { background-position: -160px -198px}.sbpet-black_cat { background-position: -180px -198px}.sbpet-whale_orca { background-position: -200px -198px}.sbpet-rock_smile { background-position: -220px -198px}.sbpet-wither { background-position: 0 -220px}.sbpet-black_cat_onyx { background-position: -20px -220px}.sbspray-AngryTurkey { background-position: 0 0}.sbspray-AnotherDimension { background-position: -128px 0}.sbspray-BlueArrowE { background-position: -256px 0}.sbspray-BlueArrowN { background-position: -384px 0}.sbspray-BlueArrowNE { background-position: -512px 0}.sbspray-BlueArrowNW { background-position: -640px 0}.sbspray-BlueArrowS { background-position: -768px 0}.sbspray-BlueArrowSE { background-position: -896px 0}.sbspray-BlueArrowSW { background-position: -1024px 0}.sbspray-BlueArrowW { background-position: -1152px 0}.sbspray-Bonzo { background-position: 0 -128px}.sbspray-Boom { background-position: -128px -128px}.sbspray-BunnyGG { background-position: -256px -128px}.sbspray-ChestGlow { background-position: -384px -128px}.sbspray-Chill { background-position: -512px -128px}.sbspray-Chimney { background-position: -640px -128px}.sbspray-ChocolateFeast { background-position: -768px -128px}.sbspray-ChristmasTree { background-position: -896px -128px}.sbspray-Coconut { background-position: -1024px -128px}.sbspray-Creeper { background-position: -1152px -128px}.sbspray-EasterBasket { background-position: 0 -256px}.sbspray-EasterCreeper { background-position: -128px -256px}.sbspray-EasterEggs { background-position: -256px -256px}.sbspray-Eek { background-position: -384px -256px}.sbspray-EggHunt { background-position: -512px -256px}.sbspray-EggSurprise { background-position: -640px -256px}.sbspray-Faboolous { background-position: -768px -256px}.sbspray-FarmingArrowE { background-position: -896px -256px}.sbspray-FarmingArrowN { background-position: -1024px -256px}.sbspray-FarmingArrowS { background-position: -1152px -256px}.sbspray-FarmingArrowW { background-position: 0 -384px}.sbspray-FoundU { background-position: -128px -384px}.sbspray-Garlic { background-position: -256px -384px}.sbspray-GenericArmor { background-position: -384px -384px}.sbspray-GenericBooks { background-position: -512px -384px}.sbspray-GenericFishing { background-position: -640px -384px}.sbspray-GenericMob { background-position: -768px -384px}.sbspray-GenericOres { background-position: -896px -384px}.sbspray-GenericPotions { background-position: -1024px -384px}.sbspray-GenericWeapons { background-position: -1152px -384px}.sbspray-GoldenEgg { background-position: 0 -512px}.sbspray-Heart { background-position: -128px -512px}.sbspray-Hypixel { background-position: -256px -512px}.sbspray-HypixelDark { background-position: -384px -512px}.sbspray-IceCream { background-position: -512px -512px}.sbspray-Kite { background-position: -640px -512px}.sbspray-LetUsIn { background-position: -768px -512px}.sbspray-Lifebelt { background-position: -896px -512px}.sbspray-MinionAnimals { background-position: -1024px -512px}.sbspray-MinionFarming { background-position: -1152px -512px}.sbspray-MinionForaging { background-position: 0 -640px}.sbspray-MinionMining { background-position: -128px -640px}.sbspray-MinionMisc { background-position: -256px -640px}.sbspray-MinionMonsters { background-position: -384px -640px}.sbspray-OnFire { background-position: -512px -640px}.sbspray-Porkchop { background-position: -640px -640px}.sbspray-PortalArrowE { background-position: -768px -640px}.sbspray-PortalArrowN { background-position: -896px -640px}.sbspray-PortalArrowS { background-position: -1024px -640px}.sbspray-PortalArrowW { background-position: -1152px -640px}.sbspray-Presents { background-position: 0 -768px}.sbspray-Puffer { background-position: -128px -768px}.sbspray-PuppySurprise { background-position: -256px -768px}.sbspray-RabbitCostume { background-position: -384px -768px}.sbspray-RedArrowE { background-position: -512px -768px}.sbspray-RedArrowN { background-position: -640px -768px}.sbspray-RedArrowNE { background-position: -768px -768px}.sbspray-RedArrowNW { background-position: -896px -768px}.sbspray-RedArrowS { background-position: -1024px -768px}.sbspray-RedArrowSE { background-position: -1152px -768px}.sbspray-RedArrowSW { background-position: 0 -896px}.sbspray-RedArrowW { background-position: -128px -896px}.sbspray-SandCastleH { background-position: -256px -896px}.sbspray-Sandcastle { background-position: -384px -896px}.sbspray-SantaJerry { background-position: -512px -896px}.sbspray-SantaSlips { background-position: -640px -896px}.sbspray-Sign { background-position: -768px -896px}.sbspray-SkyBlockChristmas { background-position: -896px -896px}.sbspray-SniperSnowball { background-position: -1024px -896px}.sbspray-Snowball { background-position: -1152px -896px}.sbspray-StorageArrowE { background-position: 0 -1024px}.sbspray-StorageArrowN { background-position: -128px -1024px}.sbspray-StorageArrowS { background-position: -256px -1024px}.sbspray-StorageArrowW { background-position: -384px -1024px}.sbspray-Surfing { background-position: -512px -1024px}.sbspray-TheWrongEggs { background-position: -640px -1024px}.sbspray-Trap { background-position: -768px -1024px}.sbspray-TrickOrTreat { background-position: -896px -1024px}.sbspray-UndeadJerry { background-position: -1024px -1024px}.sbspray-Volleyball { background-position: -1152px -1024px}.sbspray-Watcher { background-position: 0 -1152px}.sbspray-Whoosh { background-position: -128px -1152px}.sbspray-WitchPlease { background-position: -256px -1152px}.sbspray-Wreath { background-position: -384px -1152px}.sbspray-YellowArrowE { background-position: -512px -1152px}.sbspray-YellowArrowN { background-position: -640px -1152px}.sbspray-YellowArrowNE { background-position: -768px -1152px}.sbspray-YellowArrowNW { background-position: -896px -1152px}.sbspray-YellowArrowS { background-position: -1024px -1152px}.sbspray-YellowArrowSE { background-position: -1152px -1152px}.sbspray-YellowArrowSW { background-position: -1280px 0}.sbspray-YellowArrowW { background-position: -1280px -128px}.mcsprite-acacia_boat { background-position: 0 0}.mcsprite-acacia_button { background-position: -32px 0}.mcsprite-acacia_door { background-position: -64px 0}.mcsprite-acacia_fence { background-position: -96px 0}.mcsprite-acacia_fence_gate { background-position: -128px 0}.mcsprite-acacia_leaves { background-position: -160px 0}.mcsprite-acacia_log { background-position: -192px 0}.mcsprite-acacia_planks { background-position: -224px 0}.mcsprite-acacia_pressure_plate { background-position: -256px 0}.mcsprite-acacia_sapling { background-position: -288px 0}.mcsprite-acacia_sign { background-position: -320px 0}.mcsprite-acacia_slab { background-position: -352px 0}.mcsprite-acacia_stairs { background-position: -384px 0}.mcsprite-acacia_trapdoor { background-position: -416px 0}.mcsprite-acacia_wood { background-position: -448px 0}.mcsprite-acacia_wood_button { background-position: -480px 0}.mcsprite-acacia_wood_door { background-position: -512px 0}.mcsprite-acacia_wood_fence { background-position: -544px 0}.mcsprite-acacia_wood_fence_gate { background-position: -576px 0}.mcsprite-acacia_wood_planks { background-position: -608px 0}.mcsprite-acacia_wood_pressure_plate { background-position: -640px 0}.mcsprite-acacia_wood_sign { background-position: -672px 0}.mcsprite-acacia_wood_slab { background-position: -704px 0}.mcsprite-acacia_wood_stairs { background-position: -736px 0}.mcsprite-acacia_wood_trapdoor { background-position: -768px 0}.mcsprite-activator_rail { background-position: -800px 0}.mcsprite-adult_carrots { background-position: -832px 0}.mcsprite-adult_nether_warts { background-position: -864px 0}.mcsprite-adult_potatoes { background-position: -896px 0}.mcsprite-adult_wheat_crops { background-position: -928px 0}.mcsprite-air { background-position: -960px 0}.mcsprite-allium { background-position: -992px 0}.mcsprite-amethyst_cluster { background-position: -1024px 0}.mcsprite-amethyst_shard { background-position: -1056px 0}.mcsprite-ancient_debris { background-position: -1088px 0}.mcsprite-andesite { background-position: -1120px 0}.mcsprite-andesite_slab { background-position: -1152px 0}.mcsprite-andesite_stairs { background-position: -1184px 0}.mcsprite-andesite_wall { background-position: -1216px 0}.mcsprite-anvil { background-position: -1248px 0}.mcsprite-apple { background-position: 0 -32px}.mcsprite-armor_stand { background-position: -32px -32px}.mcsprite-arrow { background-position: -64px -32px}.mcsprite-arrow_loaded_crossbow { background-position: -96px -32px}.mcsprite-arrow_of_decay { background-position: -128px -32px}.mcsprite-arrow_of_fire_resistance { background-position: -160px -32px}.mcsprite-arrow_of_harming { background-position: -192px -32px}.mcsprite-arrow_of_healing { background-position: -224px -32px}.mcsprite-arrow_of_invisibility { background-position: -256px -32px}.mcsprite-arrow_of_leaping { background-position: -288px -32px}.mcsprite-arrow_of_luck { background-position: -320px -32px}.mcsprite-arrow_of_night_vision { background-position: -352px -32px}.mcsprite-arrow_of_poison { background-position: -384px -32px}.mcsprite-arrow_of_regeneration { background-position: -416px -32px}.mcsprite-arrow_of_slow_falling { background-position: -448px -32px}.mcsprite-arrow_of_slowness { background-position: -480px -32px}.mcsprite-arrow_of_splashing { background-position: -512px -32px}.mcsprite-arrow_of_strength { background-position: -544px -32px}.mcsprite-arrow_of_swiftness { background-position: -576px -32px}.mcsprite-arrow_of_the_turtle_master { background-position: -608px -32px}.mcsprite-arrow_of_water_breathing { background-position: -640px -32px}.mcsprite-arrow_of_weakness { background-position: -672px -32px}.mcsprite-awkward_lingering_potion { background-position: -704px -32px}.mcsprite-awkward_potion { background-position: -736px -32px}.mcsprite-awkward_splash_potion { background-position: -768px -32px}.mcsprite-axolotl_spawn_egg { background-position: -800px -32px}.mcsprite-azalea { background-position: -832px -32px}.mcsprite-azalea_leaves { background-position: -864px -32px}.mcsprite-azure_bluet { background-position: -896px -32px}.mcsprite-baked_potato { background-position: -928px -32px}.mcsprite-bamboo { background-position: -960px -32px}.mcsprite-banner { background-position: -992px -32px}.mcsprite-barrel { background-position: -1024px -32px}.mcsprite-barrier { background-position: -1056px -32px}.mcsprite-basalt { background-position: -1088px -32px}.mcsprite-bat_spawn_egg { background-position: -1120px -32px}.mcsprite-beacon { background-position: -1152px -32px}.mcsprite-bedrock { background-position: -1184px -32px}.mcsprite-bee_nest { background-position: -1216px -32px}.mcsprite-bee_spawn_egg { background-position: -1248px -32px}.mcsprite-beehive { background-position: 0 -64px}.mcsprite-beetroot { background-position: -32px -64px}.mcsprite-beetroot_seeds { background-position: -64px -64px}.mcsprite-beetroot_soup { background-position: -96px -64px}.mcsprite-beetroots { background-position: -128px -64px}.mcsprite-bell { background-position: -160px -64px}.mcsprite-big_dripleaf { background-position: -192px -64px}.mcsprite-birch_boat { background-position: -224px -64px}.mcsprite-birch_button { background-position: -256px -64px}.mcsprite-birch_door { background-position: -288px -64px}.mcsprite-birch_fence { background-position: -320px -64px}.mcsprite-birch_fence_gate { background-position: -352px -64px}.mcsprite-birch_leaves { background-position: -384px -64px}.mcsprite-birch_log { background-position: -416px -64px}.mcsprite-birch_planks { background-position: -448px -64px}.mcsprite-birch_pressure_plate { background-position: -480px -64px}.mcsprite-birch_sapling { background-position: -512px -64px}.mcsprite-birch_sign { background-position: -544px -64px}.mcsprite-birch_slab { background-position: -576px -64px}.mcsprite-birch_stairs { background-position: -608px -64px}.mcsprite-birch_trapdoor { background-position: -640px -64px}.mcsprite-birch_wood { background-position: -672px -64px}.mcsprite-birch_wood_button { background-position: -704px -64px}.mcsprite-birch_wood_door { background-position: -736px -64px}.mcsprite-birch_wood_fence { background-position: -768px -64px}.mcsprite-birch_wood_fence_gate { background-position: -800px -64px}.mcsprite-birch_wood_planks { background-position: -832px -64px}.mcsprite-birch_wood_pressure_plate { background-position: -864px -64px}.mcsprite-birch_wood_sign { background-position: -896px -64px}.mcsprite-birch_wood_slab { background-position: -928px -64px}.mcsprite-birch_wood_stairs { background-position: -960px -64px}.mcsprite-birch_wood_trapdoor { background-position: -992px -64px}.mcsprite-black_banner { background-position: -1024px -64px}.mcsprite-black_bed { background-position: -1056px -64px}.mcsprite-black_bed_lce { background-position: -1088px -64px}.mcsprite-black_candle { background-position: -1120px -64px}.mcsprite-black_carpet { background-position: -1152px -64px}.mcsprite-black_concrete { background-position: -1184px -64px}.mcsprite-black_concrete_powder { background-position: -1216px -64px}.mcsprite-black_dye { background-position: -1248px -64px}.mcsprite-black_firework_star { background-position: 0 -96px}.mcsprite-black_glazed_terracotta { background-position: -32px -96px}.mcsprite-black_shield { background-position: -64px -96px}.mcsprite-black_shulker_box { background-position: -96px -96px}.mcsprite-black_stained_glass { background-position: -128px -96px}.mcsprite-black_stained_glass_pane { background-position: -160px -96px}.mcsprite-black_terracotta { background-position: -192px -96px}.mcsprite-black_wool { background-position: -224px -96px}.mcsprite-blackstone { background-position: -256px -96px}.mcsprite-blackstone_slab { background-position: -288px -96px}.mcsprite-blackstone_stairs { background-position: -320px -96px}.mcsprite-blackstone_wall { background-position: -352px -96px}.mcsprite-blast_furnace { background-position: -384px -96px}.mcsprite-blaze_powder { background-position: -416px -96px}.mcsprite-blaze_rod { background-position: -448px -96px}.mcsprite-blaze_spawn_egg { background-position: -480px -96px}.mcsprite-block_of_amethyst { background-position: -512px -96px}.mcsprite-block_of_coal { background-position: -544px -96px}.mcsprite-block_of_copper { background-position: -576px -96px}.mcsprite-block_of_diamond { background-position: -608px -96px}.mcsprite-block_of_emerald { background-position: -640px -96px}.mcsprite-block_of_gold { background-position: -672px -96px}.mcsprite-block_of_iron { background-position: -704px -96px}.mcsprite-block_of_lapis_lazuli { background-position: -736px -96px}.mcsprite-block_of_netherite { background-position: -768px -96px}.mcsprite-block_of_quartz { background-position: -800px -96px}.mcsprite-block_of_raw_copper { background-position: -832px -96px}.mcsprite-block_of_raw_gold { background-position: -864px -96px}.mcsprite-block_of_raw_iron { background-position: -896px -96px}.mcsprite-block_of_redstone { background-position: -928px -96px}.mcsprite-blue_banner { background-position: -960px -96px}.mcsprite-blue_bed { background-position: -992px -96px}.mcsprite-blue_bed_lce { background-position: -1024px -96px}.mcsprite-blue_candle { background-position: -1056px -96px}.mcsprite-blue_carpet { background-position: -1088px -96px}.mcsprite-blue_concrete { background-position: -1120px -96px}.mcsprite-blue_concrete_powder { background-position: -1152px -96px}.mcsprite-blue_dye { background-position: -1184px -96px}.mcsprite-blue_firework_star { background-position: -1216px -96px}.mcsprite-blue_glazed_terracotta { background-position: -1248px -96px}.mcsprite-blue_ice { background-position: 0 -128px}.mcsprite-blue_orchid { background-position: -32px -128px}.mcsprite-blue_shield { background-position: -64px -128px}.mcsprite-blue_shulker_box { background-position: -96px -128px}.mcsprite-blue_stained_glass { background-position: -128px -128px}.mcsprite-blue_stained_glass_pane { background-position: -160px -128px}.mcsprite-blue_terracotta { background-position: -192px -128px}.mcsprite-blue_wool { background-position: -224px -128px}.mcsprite-bone { background-position: -256px -128px}.mcsprite-bone_block { background-position: -288px -128px}.mcsprite-bone_meal { background-position: -320px -128px}.mcsprite-book { background-position: -352px -128px}.mcsprite-book_and_quill { background-position: -384px -128px}.mcsprite-bookshelf { background-position: -416px -128px}.mcsprite-bottle_o_enchanting { background-position: -448px -128px}.mcsprite-bow { background-position: -480px -128px}.mcsprite-bowl { background-position: -512px -128px}.mcsprite-brain_coral { background-position: -544px -128px}.mcsprite-brain_coral_block { background-position: -576px -128px}.mcsprite-brain_coral_fan { background-position: -608px -128px}.mcsprite-bread { background-position: -640px -128px}.mcsprite-brewing_stand { background-position: -672px -128px}.mcsprite-brick { background-position: -704px -128px}.mcsprite-brick_slab { background-position: -736px -128px}.mcsprite-brick_slab_old { background-position: -768px -128px}.mcsprite-brick_stairs { background-position: -800px -128px}.mcsprite-brick_wall { background-position: -832px -128px}.mcsprite-bricks { background-position: -864px -128px}.mcsprite-bricks_old { background-position: -896px -128px}.mcsprite-broken_anvil { background-position: -928px -128px}.mcsprite-broken_elytra { background-position: -960px -128px}.mcsprite-brown_banner { background-position: -992px -128px}.mcsprite-brown_bed { background-position: -1024px -128px}.mcsprite-brown_bed_lce { background-position: -1056px -128px}.mcsprite-brown_candle { background-position: -1088px -128px}.mcsprite-brown_carpet { background-position: -1120px -128px}.mcsprite-brown_concrete { background-position: -1152px -128px}.mcsprite-brown_concrete_powder { background-position: -1184px -128px}.mcsprite-brown_dye { background-position: -1216px -128px}.mcsprite-brown_firework_star { background-position: -1248px -128px}.mcsprite-brown_glazed_terracotta { background-position: 0 -160px}.mcsprite-brown_mushroom { background-position: -32px -160px}.mcsprite-brown_mushroom_block { background-position: -64px -160px}.mcsprite-brown_shield { background-position: -96px -160px}.mcsprite-brown_shulker_box { background-position: -128px -160px}.mcsprite-brown_stained_glass { background-position: -160px -160px}.mcsprite-brown_stained_glass_pane { background-position: -192px -160px}.mcsprite-brown_terracotta { background-position: -224px -160px}.mcsprite-brown_wool { background-position: -256px -160px}.mcsprite-bubble_column { background-position: -288px -160px}.mcsprite-bubble_coral { background-position: -320px -160px}.mcsprite-bubble_coral_block { background-position: -352px -160px}.mcsprite-bubble_coral_fan { background-position: -384px -160px}.mcsprite-bucket { background-position: -416px -160px}.mcsprite-bucket_of_axolotl { background-position: -448px -160px}.mcsprite-bucket_of_cod { background-position: -480px -160px}.mcsprite-bucket_of_pufferfish { background-position: -512px -160px}.mcsprite-bucket_of_salmon { background-position: -544px -160px}.mcsprite-bucket_of_tropical_fish { background-position: -576px -160px}.mcsprite-budding_amethyst { background-position: -608px -160px}.mcsprite-bundle { background-position: -640px -160px}.mcsprite-buried_treasure_map { background-position: -672px -160px}.mcsprite-cactus { background-position: -704px -160px}.mcsprite-cactus_green { background-position: -736px -160px}.mcsprite-cake { background-position: -768px -160px}.mcsprite-calcite { background-position: -800px -160px}.mcsprite-campfire { background-position: -832px -160px}.mcsprite-candle { background-position: -864px -160px}.mcsprite-carrot { background-position: -896px -160px}.mcsprite-carrot_on_a_stick { background-position: -928px -160px}.mcsprite-cartography_table { background-position: -960px -160px}.mcsprite-carved_pumpkin { background-position: -992px -160px}.mcsprite-cast_fishing_rod { background-position: -1024px -160px}.mcsprite-cat_spawn_egg { background-position: -1056px -160px}.mcsprite-cauldron { background-position: -1088px -160px}.mcsprite-cave_air { background-position: -1120px -160px}.mcsprite-cave_spider_spawn_egg { background-position: -1152px -160px}.mcsprite-chain { background-position: -1184px -160px}.mcsprite-chainmail_boots { background-position: -1216px -160px}.mcsprite-chainmail_chestplate { background-position: -1248px -160px}.mcsprite-chainmail_helmet { background-position: 0 -192px}.mcsprite-chainmail_leggings { background-position: -32px -192px}.mcsprite-charcoal { background-position: -64px -192px}.mcsprite-chest { background-position: -96px -192px}.mcsprite-chicken_spawn_egg { background-position: -128px -192px}.mcsprite-chipped_anvil { background-position: -160px -192px}.mcsprite-chiseled_deepslate { background-position: -192px -192px}.mcsprite-chiseled_nether_bricks { background-position: -224px -192px}.mcsprite-chiseled_polished_blackstone { background-position: -256px -192px}.mcsprite-chiseled_quartz_block { background-position: -288px -192px}.mcsprite-chiseled_red_sandstone { background-position: -320px -192px}.mcsprite-chiseled_sandstone { background-position: -352px -192px}.mcsprite-chiseled_stone_bricks { background-position: -384px -192px}.mcsprite-chiseled_stone_bricks_monster_egg { background-position: -416px -192px}.mcsprite-chorus_flower { background-position: -448px -192px}.mcsprite-chorus_fruit { background-position: -480px -192px}.mcsprite-chorus_plant { background-position: -512px -192px}.mcsprite-clay { background-position: -544px -192px}.mcsprite-clay_ball { background-position: -576px -192px}.mcsprite-clock { background-position: -608px -192px}.mcsprite-clownfish { background-position: -640px -192px}.mcsprite-coal { background-position: -672px -192px}.mcsprite-coal_ore { background-position: -704px -192px}.mcsprite-coarse_dirt { background-position: -736px -192px}.mcsprite-cobbled_deepslate { background-position: -768px -192px}.mcsprite-cobbled_deepslate_slab { background-position: -800px -192px}.mcsprite-cobbled_deepslate_stairs { background-position: -832px -192px}.mcsprite-cobbled_deepslate_wall { background-position: -864px -192px}.mcsprite-cobblestone { background-position: -896px -192px}.mcsprite-cobblestone_monster_egg { background-position: -928px -192px}.mcsprite-cobblestone_slab { background-position: -960px -192px}.mcsprite-cobblestone_stairs { background-position: -992px -192px}.mcsprite-cobblestone_wall { background-position: -1024px -192px}.mcsprite-cobweb { background-position: -1056px -192px}.mcsprite-cocoa_beans { background-position: -1088px -192px}.mcsprite-cod_spawn_egg { background-position: -1120px -192px}.mcsprite-command_block { background-position: -1152px -192px}.mcsprite-compass { background-position: -1184px -192px}.mcsprite-composter { background-position: -1216px -192px}.mcsprite-conduit { background-position: -1248px -192px}.mcsprite-cooked_beef { background-position: 0 -224px}.mcsprite-cooked_chicken { background-position: -32px -224px}.mcsprite-cooked_cod { background-position: -64px -224px}.mcsprite-cooked_fish { background-position: -96px -224px}.mcsprite-cooked_mutton { background-position: -128px -224px}.mcsprite-cooked_porkchop { background-position: -160px -224px}.mcsprite-cooked_rabbit { background-position: -192px -224px}.mcsprite-cooked_salmon { background-position: -224px -224px}.mcsprite-cookie { background-position: -256px -224px}.mcsprite-copper_block { background-position: -288px -224px}.mcsprite-copper_ingot { background-position: -320px -224px}.mcsprite-copper_ore { background-position: -352px -224px}.mcsprite-cornflower { background-position: -384px -224px}.mcsprite-cow_spawn_egg { background-position: -416px -224px}.mcsprite-cracked_deepslate_bricks { background-position: -448px -224px}.mcsprite-cracked_deepslate_tiles { background-position: -480px -224px}.mcsprite-cracked_nether_bricks { background-position: -512px -224px}.mcsprite-cracked_polished_blackstone_bricks { background-position: -544px -224px}.mcsprite-cracked_stone_bricks { background-position: -576px -224px}.mcsprite-cracked_stone_bricks_monster_egg { background-position: -608px -224px}.mcsprite-crafting_table { background-position: -640px -224px}.mcsprite-creeper_head { background-position: -672px -224px}.mcsprite-creeper_spawn_egg { background-position: -704px -224px}.mcsprite-crimson_button { background-position: -736px -224px}.mcsprite-crimson_door { background-position: -768px -224px}.mcsprite-crimson_fence { background-position: -800px -224px}.mcsprite-crimson_fence_gate { background-position: -832px -224px}.mcsprite-crimson_fungus { background-position: -864px -224px}.mcsprite-crimson_hyphae { background-position: -896px -224px}.mcsprite-crimson_nylium { background-position: -928px -224px}.mcsprite-crimson_planks { background-position: -960px -224px}.mcsprite-crimson_pressure_plate { background-position: -992px -224px}.mcsprite-crimson_roots { background-position: -1024px -224px}.mcsprite-crimson_sign { background-position: -1056px -224px}.mcsprite-crimson_slab { background-position: -1088px -224px}.mcsprite-crimson_stairs { background-position: -1120px -224px}.mcsprite-crimson_stem { background-position: -1152px -224px}.mcsprite-crimson_trapdoor { background-position: -1184px -224px}.mcsprite-crossbow { background-position: -1216px -224px}.mcsprite-crying_obsidian { background-position: -1248px -224px}.mcsprite-cut_copper { background-position: 0 -256px}.mcsprite-cut_copper_block { background-position: -32px -256px}.mcsprite-cut_copper_slab { background-position: -64px -256px}.mcsprite-cut_copper_stairs { background-position: -96px -256px}.mcsprite-cut_red_sandstone { background-position: -128px -256px}.mcsprite-cut_red_sandstone_slab { background-position: -160px -256px}.mcsprite-cut_sandstone { background-position: -192px -256px}.mcsprite-cut_sandstone_slab { background-position: -224px -256px}.mcsprite-cyan_banner { background-position: -256px -256px}.mcsprite-cyan_bed { background-position: -288px -256px}.mcsprite-cyan_bed_lce { background-position: -320px -256px}.mcsprite-cyan_candle { background-position: -352px -256px}.mcsprite-cyan_carpet { background-position: -384px -256px}.mcsprite-cyan_concrete { background-position: -416px -256px}.mcsprite-cyan_concrete_powder { background-position: -448px -256px}.mcsprite-cyan_dye { background-position: -480px -256px}.mcsprite-cyan_firework_star { background-position: -512px -256px}.mcsprite-cyan_glazed_terracotta { background-position: -544px -256px}.mcsprite-cyan_shield { background-position: -576px -256px}.mcsprite-cyan_shulker_box { background-position: -608px -256px}.mcsprite-cyan_stained_glass { background-position: -640px -256px}.mcsprite-cyan_stained_glass_pane { background-position: -672px -256px}.mcsprite-cyan_terracotta { background-position: -704px -256px}.mcsprite-cyan_wool { background-position: -736px -256px}.mcsprite-dandelion { background-position: -768px -256px}.mcsprite-dandelion_yellow { background-position: -800px -256px}.mcsprite-dark_oak_boat { background-position: -832px -256px}.mcsprite-dark_oak_button { background-position: -864px -256px}.mcsprite-dark_oak_door { background-position: -896px -256px}.mcsprite-dark_oak_fence { background-position: -928px -256px}.mcsprite-dark_oak_fence_gate { background-position: -960px -256px}.mcsprite-dark_oak_leaves { background-position: -992px -256px}.mcsprite-dark_oak_log { background-position: -1024px -256px}.mcsprite-dark_oak_planks { background-position: -1056px -256px}.mcsprite-dark_oak_pressure_plate { background-position: -1088px -256px}.mcsprite-dark_oak_sapling { background-position: -1120px -256px}.mcsprite-dark_oak_sign { background-position: -1152px -256px}.mcsprite-dark_oak_slab { background-position: -1184px -256px}.mcsprite-dark_oak_stairs { background-position: -1216px -256px}.mcsprite-dark_oak_trapdoor { background-position: -1248px -256px}.mcsprite-dark_oak_wood { background-position: 0 -288px}.mcsprite-dark_oak_wood_button { background-position: -32px -288px}.mcsprite-dark_oak_wood_door { background-position: -64px -288px}.mcsprite-dark_oak_wood_fence { background-position: -96px -288px}.mcsprite-dark_oak_wood_fence_gate { background-position: -128px -288px}.mcsprite-dark_oak_wood_planks { background-position: -160px -288px}.mcsprite-dark_oak_wood_pressure_plate { background-position: -192px -288px}.mcsprite-dark_oak_wood_sign { background-position: -224px -288px}.mcsprite-dark_oak_wood_slab { background-position: -256px -288px}.mcsprite-dark_oak_wood_stairs { background-position: -288px -288px}.mcsprite-dark_oak_wood_trapdoor { background-position: -320px -288px}.mcsprite-dark_prismarine { background-position: -352px -288px}.mcsprite-dark_prismarine_slab { background-position: -384px -288px}.mcsprite-dark_prismarine_stairs { background-position: -416px -288px}.mcsprite-daylight_detector { background-position: -448px -288px}.mcsprite-daylight_sensor { background-position: -480px -288px}.mcsprite-dead_brain_coral { background-position: -512px -288px}.mcsprite-dead_brain_coral_block { background-position: -544px -288px}.mcsprite-dead_brain_coral_fan { background-position: -576px -288px}.mcsprite-dead_bubble_coral { background-position: -608px -288px}.mcsprite-dead_bubble_coral_block { background-position: -640px -288px}.mcsprite-dead_bubble_coral_fan { background-position: -672px -288px}.mcsprite-dead_bush { background-position: -704px -288px}.mcsprite-dead_fire_coral { background-position: -736px -288px}.mcsprite-dead_fire_coral_block { background-position: -768px -288px}.mcsprite-dead_fire_coral_fan { background-position: -800px -288px}.mcsprite-dead_horn_coral { background-position: -832px -288px}.mcsprite-dead_horn_coral_block { background-position: -864px -288px}.mcsprite-dead_horn_coral_fan { background-position: -896px -288px}.mcsprite-dead_tube_coral { background-position: -928px -288px}.mcsprite-dead_tube_coral_block { background-position: -960px -288px}.mcsprite-dead_tube_coral_fan { background-position: -992px -288px}.mcsprite-debug_stick { background-position: -1024px -288px}.mcsprite-deepslate { background-position: -1056px -288px}.mcsprite-deepslate_brick_slab { background-position: -1088px -288px}.mcsprite-deepslate_brick_stairs { background-position: -1120px -288px}.mcsprite-deepslate_brick_wall { background-position: -1152px -288px}.mcsprite-deepslate_bricks { background-position: -1184px -288px}.mcsprite-deepslate_coal_ore { background-position: -1216px -288px}.mcsprite-deepslate_copper_ore { background-position: -1248px -288px}.mcsprite-deepslate_diamond_ore { background-position: 0 -320px}.mcsprite-deepslate_emerald_ore { background-position: -32px -320px}.mcsprite-deepslate_gold_ore { background-position: -64px -320px}.mcsprite-deepslate_iron_ore { background-position: -96px -320px}.mcsprite-deepslate_lapis_lazuli_ore { background-position: -128px -320px}.mcsprite-deepslate_redstone_ore { background-position: -160px -320px}.mcsprite-deepslate_tile_slab { background-position: -192px -320px}.mcsprite-deepslate_tile_stairs { background-position: -224px -320px}.mcsprite-deepslate_tile_wall { background-position: -256px -320px}.mcsprite-deepslate_tiles { background-position: -288px -320px}.mcsprite-detector_rail { background-position: -320px -320px}.mcsprite-diamond { background-position: -352px -320px}.mcsprite-diamond_axe { background-position: -384px -320px}.mcsprite-diamond_boots { background-position: -416px -320px}.mcsprite-diamond_chestplate { background-position: -448px -320px}.mcsprite-diamond_helmet { background-position: -480px -320px}.mcsprite-diamond_hoe { background-position: -512px -320px}.mcsprite-diamond_horse_armor { background-position: -544px -320px}.mcsprite-diamond_leggings { background-position: -576px -320px}.mcsprite-diamond_ore { background-position: -608px -320px}.mcsprite-diamond_pickaxe { background-position: -640px -320px}.mcsprite-diamond_shovel { background-position: -672px -320px}.mcsprite-diamond_sword { background-position: -704px -320px}.mcsprite-diorite { background-position: -736px -320px}.mcsprite-diorite_slab { background-position: -768px -320px}.mcsprite-diorite_stairs { background-position: -800px -320px}.mcsprite-diorite_wall { background-position: -832px -320px}.mcsprite-dirt { background-position: -864px -320px}.mcsprite-dirt_path { background-position: -896px -320px}.mcsprite-dispenser { background-position: -928px -320px}.mcsprite-dolphin_spawn_egg { background-position: -960px -320px}.mcsprite-donkey_spawn_egg { background-position: -992px -320px}.mcsprite-double_smooth_stone_slab { background-position: -1024px -320px}.mcsprite-dragon_egg { background-position: -1056px -320px}.mcsprite-dragon_head { background-position: -1088px -320px}.mcsprite-dragons_breath { background-position: -1120px -320px}.mcsprite-dried_kelp { background-position: -1152px -320px}.mcsprite-dried_kelp_block { background-position: -1184px -320px}.mcsprite-dripstone_block { background-position: -1216px -320px}.mcsprite-dropper { background-position: -1248px -320px}.mcsprite-drowned_spawn_egg { background-position: 0 -352px}.mcsprite-egg { background-position: -32px -352px}.mcsprite-elder_guardian_spawn_egg { background-position: -64px -352px}.mcsprite-elytra { background-position: -96px -352px}.mcsprite-emerald { background-position: -128px -352px}.mcsprite-emerald_ore { background-position: -160px -352px}.mcsprite-empty_locator_map { background-position: -192px -352px}.mcsprite-empty_map { background-position: -224px -352px}.mcsprite-enchanted_apple { background-position: -256px -352px}.mcsprite-enchanted_book { background-position: -288px -352px}.mcsprite-enchanted_golden_apple { background-position: -320px -352px}.mcsprite-enchanting_table { background-position: -352px -352px}.mcsprite-enchantment_table { background-position: -384px -352px}.mcsprite-end_crystal { background-position: -416px -352px}.mcsprite-end_gateway { background-position: -448px -352px}.mcsprite-end_portal { background-position: -480px -352px}.mcsprite-end_portal_frame { background-position: -512px -352px}.mcsprite-end_rod { background-position: -544px -352px}.mcsprite-end_stone { background-position: -576px -352px}.mcsprite-end_stone_brick_slab { background-position: -608px -352px}.mcsprite-end_stone_brick_stairs { background-position: -640px -352px}.mcsprite-end_stone_brick_wall { background-position: -672px -352px}.mcsprite-end_stone_bricks { background-position: -704px -352px}.mcsprite-ender_chest { background-position: -736px -352px}.mcsprite-ender_pearl { background-position: -768px -352px}.mcsprite-enderman_spawn_egg { background-position: -800px -352px}.mcsprite-endermite_spawn_egg { background-position: -832px -352px}.mcsprite-evoker_spawn_egg { background-position: -864px -352px}.mcsprite-exposed_copper { background-position: -896px -352px}.mcsprite-exposed_copper_block { background-position: -928px -352px}.mcsprite-exposed_cut_copper { background-position: -960px -352px}.mcsprite-exposed_cut_copper_block { background-position: -992px -352px}.mcsprite-exposed_cut_copper_slab { background-position: -1024px -352px}.mcsprite-exposed_cut_copper_stairs { background-position: -1056px -352px}.mcsprite-eye_of_ender { background-position: -1088px -352px}.mcsprite-farmland { background-position: -1120px -352px}.mcsprite-feather { background-position: -1152px -352px}.mcsprite-fermented_spider_eye { background-position: -1184px -352px}.mcsprite-fern { background-position: -1216px -352px}.mcsprite-filled_bundle { background-position: -1248px -352px}.mcsprite-fire_charge { background-position: 0 -384px}.mcsprite-fire_coral { background-position: -32px -384px}.mcsprite-fire_coral_block { background-position: -64px -384px}.mcsprite-fire_coral_fan { background-position: -96px -384px}.mcsprite-firework_loaded_crossbow { background-position: -128px -384px}.mcsprite-firework_rocket { background-position: -160px -384px}.mcsprite-firework_star { background-position: -192px -384px}.mcsprite-fishing_rod { background-position: -224px -384px}.mcsprite-fletching_table { background-position: -256px -384px}.mcsprite-flint { background-position: -288px -384px}.mcsprite-flint_and_steel { background-position: -320px -384px}.mcsprite-flower_pot { background-position: -352px -384px}.mcsprite-flowering_azalea { background-position: -384px -384px}.mcsprite-flowering_azalea_leaves { background-position: -416px -384px}.mcsprite-flowing_lava { background-position: -448px -384px}.mcsprite-flowing_water { background-position: -480px -384px}.mcsprite-fox_spawn_egg { background-position: -512px -384px}.mcsprite-frosted_ice { background-position: -544px -384px}.mcsprite-furnace { background-position: -576px -384px}.mcsprite-ghast_spawn_egg { background-position: -608px -384px}.mcsprite-ghast_tear { background-position: -640px -384px}.mcsprite-gilded_blackstone { background-position: -672px -384px}.mcsprite-glass { background-position: -704px -384px}.mcsprite-glass_bottle { background-position: -736px -384px}.mcsprite-glass_pane { background-position: -768px -384px}.mcsprite-glistering_melon { background-position: -800px -384px}.mcsprite-glistering_melon_slice { background-position: -832px -384px}.mcsprite-glow_berries { background-position: -864px -384px}.mcsprite-glow_ink_sac { background-position: -896px -384px}.mcsprite-glow_item_frame { background-position: -928px -384px}.mcsprite-glow_lichen { background-position: -960px -384px}.mcsprite-glow_squid_spawn_egg { background-position: -992px -384px}.mcsprite-glowstone { background-position: -1024px -384px}.mcsprite-glowstone_dust { background-position: -1056px -384px}.mcsprite-goat_horn { background-position: -1088px -384px}.mcsprite-goat_spawn_egg { background-position: -1120px -384px}.mcsprite-gold_ingot { background-position: -1152px -384px}.mcsprite-gold_nugget { background-position: -1184px -384px}.mcsprite-gold_ore { background-position: -1216px -384px}.mcsprite-golden_apple { background-position: -1248px -384px}.mcsprite-golden_axe { background-position: 0 -416px}.mcsprite-golden_boots { background-position: -32px -416px}.mcsprite-golden_carrot { background-position: -64px -416px}.mcsprite-golden_chestplate { background-position: -96px -416px}.mcsprite-golden_helmet { background-position: -128px -416px}.mcsprite-golden_hoe { background-position: -160px -416px}.mcsprite-golden_horse_armor { background-position: -192px -416px}.mcsprite-golden_leggings { background-position: -224px -416px}.mcsprite-golden_pickaxe { background-position: -256px -416px}.mcsprite-golden_shovel { background-position: -288px -416px}.mcsprite-golden_sword { background-position: -320px -416px}.mcsprite-granite { background-position: -352px -416px}.mcsprite-granite_slab { background-position: -384px -416px}.mcsprite-granite_stairs { background-position: -416px -416px}.mcsprite-granite_wall { background-position: -448px -416px}.mcsprite-grass { background-position: -480px -416px}.mcsprite-grass_block { background-position: -512px -416px}.mcsprite-grass_path { background-position: -544px -416px}.mcsprite-gravel { background-position: -576px -416px}.mcsprite-gray_banner { background-position: -608px -416px}.mcsprite-gray_bed { background-position: -640px -416px}.mcsprite-gray_bed_lce { background-position: -672px -416px}.mcsprite-gray_candle { background-position: -704px -416px}.mcsprite-gray_carpet { background-position: -736px -416px}.mcsprite-gray_concrete { background-position: -768px -416px}.mcsprite-gray_concrete_powder { background-position: -800px -416px}.mcsprite-gray_dye { background-position: -832px -416px}.mcsprite-gray_firework_star { background-position: -864px -416px}.mcsprite-gray_glazed_terracotta { background-position: -896px -416px}.mcsprite-gray_shield { background-position: -928px -416px}.mcsprite-gray_shulker_box { background-position: -960px -416px}.mcsprite-gray_stained_glass { background-position: -992px -416px}.mcsprite-gray_stained_glass_pane { background-position: -1024px -416px}.mcsprite-gray_terracotta { background-position: -1056px -416px}.mcsprite-gray_wool { background-position: -1088px -416px}.mcsprite-green_banner { background-position: -1120px -416px}.mcsprite-green_bed { background-position: -1152px -416px}.mcsprite-green_bed_lce { background-position: -1184px -416px}.mcsprite-green_candle { background-position: -1216px -416px}.mcsprite-green_carpet { background-position: -1248px -416px}.mcsprite-green_concrete { background-position: 0 -448px}.mcsprite-green_concrete_powder { background-position: -32px -448px}.mcsprite-green_dye { background-position: -64px -448px}.mcsprite-green_firework_star { background-position: -96px -448px}.mcsprite-green_glazed_terracotta { background-position: -128px -448px}.mcsprite-green_shield { background-position: -160px -448px}.mcsprite-green_shulker_box { background-position: -192px -448px}.mcsprite-green_stained_glass { background-position: -224px -448px}.mcsprite-green_stained_glass_pane { background-position: -256px -448px}.mcsprite-green_terracotta { background-position: -288px -448px}.mcsprite-green_wool { background-position: -320px -448px}.mcsprite-grindstone { background-position: -352px -448px}.mcsprite-guardian_spawn_egg { background-position: -384px -448px}.mcsprite-gunpowder { background-position: -416px -448px}.mcsprite-half_filled_bundle { background-position: -448px -448px}.mcsprite-hanging_roots { background-position: -480px -448px}.mcsprite-hay_bale { background-position: -512px -448px}.mcsprite-head { background-position: -544px -448px}.mcsprite-heart_of_the_sea { background-position: -576px -448px}.mcsprite-heavy_weighted_pressure_plate { background-position: -608px -448px}.mcsprite-hoglin_spawn_egg { background-position: -640px -448px}.mcsprite-honey_block { background-position: -672px -448px}.mcsprite-honey_bottle { background-position: -704px -448px}.mcsprite-honeycomb { background-position: -736px -448px}.mcsprite-honeycomb_block { background-position: -768px -448px}.mcsprite-hopper { background-position: -800px -448px}.mcsprite-horn_coral { background-position: -832px -448px}.mcsprite-horn_coral_block { background-position: -864px -448px}.mcsprite-horn_coral_fan { background-position: -896px -448px}.mcsprite-horse_spawn_egg { background-position: -928px -448px}.mcsprite-husk_spawn_egg { background-position: -960px -448px}.mcsprite-ice { background-position: -992px -448px}.mcsprite-infested_chiseled_stone_bricks { background-position: -1024px -448px}.mcsprite-infested_cobblestone { background-position: -1056px -448px}.mcsprite-infested_cracked_stone_bricks { background-position: -1088px -448px}.mcsprite-infested_deepslate { background-position: -1120px -448px}.mcsprite-infested_mossy_stone_bricks { background-position: -1152px -448px}.mcsprite-infested_stone { background-position: -1184px -448px}.mcsprite-infested_stone_bricks { background-position: -1216px -448px}.mcsprite-ink_sac { background-position: -1248px -448px}.mcsprite-inverted_daylight_detector { background-position: 0 -480px}.mcsprite-inverted_daylight_sensor { background-position: -32px -480px}.mcsprite-invisible_bedrock { background-position: -64px -480px}.mcsprite-iron_axe { background-position: -96px -480px}.mcsprite-iron_bars { background-position: -128px -480px}.mcsprite-iron_boots { background-position: -160px -480px}.mcsprite-iron_chestplate { background-position: -192px -480px}.mcsprite-iron_door { background-position: -224px -480px}.mcsprite-iron_helmet { background-position: -256px -480px}.mcsprite-iron_hoe { background-position: -288px -480px}.mcsprite-iron_horse_armor { background-position: -320px -480px}.mcsprite-iron_ingot { background-position: -352px -480px}.mcsprite-iron_leggings { background-position: -384px -480px}.mcsprite-iron_nugget { background-position: -416px -480px}.mcsprite-iron_ore { background-position: -448px -480px}.mcsprite-iron_pickaxe { background-position: -480px -480px}.mcsprite-iron_shovel { background-position: -512px -480px}.mcsprite-iron_sword { background-position: -544px -480px}.mcsprite-iron_trapdoor { background-position: -576px -480px}.mcsprite-item_frame { background-position: -608px -480px}.mcsprite-jack_olantern { background-position: -640px -480px}.mcsprite-jigsaw { background-position: -672px -480px}.mcsprite-jigsaw_block { background-position: -704px -480px}.mcsprite-jukebox { background-position: -736px -480px}.mcsprite-jungle_boat { background-position: -768px -480px}.mcsprite-jungle_button { background-position: -800px -480px}.mcsprite-jungle_door { background-position: -832px -480px}.mcsprite-jungle_fence { background-position: -864px -480px}.mcsprite-jungle_fence_gate { background-position: -896px -480px}.mcsprite-jungle_leaves { background-position: -928px -480px}.mcsprite-jungle_log { background-position: -960px -480px}.mcsprite-jungle_planks { background-position: -992px -480px}.mcsprite-jungle_pressure_plate { background-position: -1024px -480px}.mcsprite-jungle_sapling { background-position: -1056px -480px}.mcsprite-jungle_sign { background-position: -1088px -480px}.mcsprite-jungle_slab { background-position: -1120px -480px}.mcsprite-jungle_stairs { background-position: -1152px -480px}.mcsprite-jungle_trapdoor { background-position: -1184px -480px}.mcsprite-jungle_wood { background-position: -1216px -480px}.mcsprite-jungle_wood_button { background-position: -1248px -480px}.mcsprite-jungle_wood_door { background-position: 0 -512px}.mcsprite-jungle_wood_fence { background-position: -32px -512px}.mcsprite-jungle_wood_fence_gate { background-position: -64px -512px}.mcsprite-jungle_wood_planks { background-position: -96px -512px}.mcsprite-jungle_wood_pressure_plate { background-position: -128px -512px}.mcsprite-jungle_wood_sign { background-position: -160px -512px}.mcsprite-jungle_wood_slab { background-position: -192px -512px}.mcsprite-jungle_wood_stairs { background-position: -224px -512px}.mcsprite-jungle_wood_trapdoor { background-position: -256px -512px}.mcsprite-kelp { background-position: -288px -512px}.mcsprite-knowledge_book { background-position: -320px -512px}.mcsprite-ladder { background-position: -352px -512px}.mcsprite-lantern { background-position: -384px -512px}.mcsprite-lapis_lazuli { background-position: -416px -512px}.mcsprite-lapis_lazuli_block { background-position: -448px -512px}.mcsprite-lapis_lazuli_ore { background-position: -480px -512px}.mcsprite-large_amethyst_bud { background-position: -512px -512px}.mcsprite-large_fern { background-position: -544px -512px}.mcsprite-lava { background-position: -576px -512px}.mcsprite-lava_bucket { background-position: -608px -512px}.mcsprite-lead { background-position: -640px -512px}.mcsprite-leather { background-position: -672px -512px}.mcsprite-leather_boots { background-position: -704px -512px}.mcsprite-leather_boots_black { background-position: -736px -512px}.mcsprite-leather_boots_blue { background-position: -768px -512px}.mcsprite-leather_boots_cyan { background-position: -800px -512px}.mcsprite-leather_boots_gray { background-position: -832px -512px}.mcsprite-leather_boots_green { background-position: -864px -512px}.mcsprite-leather_boots_light_blue { background-position: -896px -512px}.mcsprite-leather_boots_light_gray { background-position: -928px -512px}.mcsprite-leather_boots_lime { background-position: -960px -512px}.mcsprite-leather_boots_magenta { background-position: -992px -512px}.mcsprite-leather_boots_orange { background-position: -1024px -512px}.mcsprite-leather_boots_pink { background-position: -1056px -512px}.mcsprite-leather_boots_purple { background-position: -1088px -512px}.mcsprite-leather_boots_red { background-position: -1120px -512px}.mcsprite-leather_boots_white { background-position: -1152px -512px}.mcsprite-leather_boots_yellow { background-position: -1184px -512px}.mcsprite-leather_cap { background-position: -1216px -512px}.mcsprite-leather_cap_black { background-position: -1248px -512px}.mcsprite-leather_cap_blue { background-position: 0 -544px}.mcsprite-leather_cap_cyan { background-position: -32px -544px}.mcsprite-leather_cap_gray { background-position: -64px -544px}.mcsprite-leather_cap_green { background-position: -96px -544px}.mcsprite-leather_cap_light_blue { background-position: -128px -544px}.mcsprite-leather_cap_light_gray { background-position: -160px -544px}.mcsprite-leather_cap_lime { background-position: -192px -544px}.mcsprite-leather_cap_magenta { background-position: -224px -544px}.mcsprite-leather_cap_orange { background-position: -256px -544px}.mcsprite-leather_cap_pink { background-position: -288px -544px}.mcsprite-leather_cap_purple { background-position: -320px -544px}.mcsprite-leather_cap_red { background-position: -352px -544px}.mcsprite-leather_cap_white { background-position: -384px -544px}.mcsprite-leather_cap_yellow { background-position: -416px -544px}.mcsprite-leather_horse_armor { background-position: -448px -544px}.mcsprite-leather_pants { background-position: -480px -544px}.mcsprite-leather_pants_black { background-position: -512px -544px}.mcsprite-leather_pants_blue { background-position: -544px -544px}.mcsprite-leather_pants_cyan { background-position: -576px -544px}.mcsprite-leather_pants_gray { background-position: -608px -544px}.mcsprite-leather_pants_green { background-position: -640px -544px}.mcsprite-leather_pants_light_blue { background-position: -672px -544px}.mcsprite-leather_pants_light_gray { background-position: -704px -544px}.mcsprite-leather_pants_lime { background-position: -736px -544px}.mcsprite-leather_pants_magenta { background-position: -768px -544px}.mcsprite-leather_pants_orange { background-position: -800px -544px}.mcsprite-leather_pants_pink { background-position: -832px -544px}.mcsprite-leather_pants_purple { background-position: -864px -544px}.mcsprite-leather_pants_red { background-position: -896px -544px}.mcsprite-leather_pants_white { background-position: -928px -544px}.mcsprite-leather_pants_yellow { background-position: -960px -544px}.mcsprite-leather_tunic { background-position: -992px -544px}.mcsprite-leather_tunic_black { background-position: -1024px -544px}.mcsprite-leather_tunic_blue { background-position: -1056px -544px}.mcsprite-leather_tunic_cyan { background-position: -1088px -544px}.mcsprite-leather_tunic_gray { background-position: -1120px -544px}.mcsprite-leather_tunic_green { background-position: -1152px -544px}.mcsprite-leather_tunic_light_blue { background-position: -1184px -544px}.mcsprite-leather_tunic_light_gray { background-position: -1216px -544px}.mcsprite-leather_tunic_lime { background-position: -1248px -544px}.mcsprite-leather_tunic_magenta { background-position: 0 -576px}.mcsprite-leather_tunic_orange { background-position: -32px -576px}.mcsprite-leather_tunic_pink { background-position: -64px -576px}.mcsprite-leather_tunic_purple { background-position: -96px -576px}.mcsprite-leather_tunic_red { background-position: -128px -576px}.mcsprite-leather_tunic_white { background-position: -160px -576px}.mcsprite-leather_tunic_yellow { background-position: -192px -576px}.mcsprite-lectern { background-position: -224px -576px}.mcsprite-lever { background-position: -256px -576px}.mcsprite-light_blue_banner { background-position: -288px -576px}.mcsprite-light_blue_bed { background-position: -320px -576px}.mcsprite-light_blue_bed_lce { background-position: -352px -576px}.mcsprite-light_blue_candle { background-position: -384px -576px}.mcsprite-light_blue_carpet { background-position: -416px -576px}.mcsprite-light_blue_concrete { background-position: -448px -576px}.mcsprite-light_blue_concrete_powder { background-position: -480px -576px}.mcsprite-light_blue_dye { background-position: -512px -576px}.mcsprite-light_blue_firework_star { background-position: -544px -576px}.mcsprite-light_blue_glazed_terracotta { background-position: -576px -576px}.mcsprite-light_blue_shield { background-position: -608px -576px}.mcsprite-light_blue_shulker_box { background-position: -640px -576px}.mcsprite-light_blue_stained_glass { background-position: -672px -576px}.mcsprite-light_blue_stained_glass_pane { background-position: -704px -576px}.mcsprite-light_blue_terracotta { background-position: -736px -576px}.mcsprite-light_blue_wool { background-position: -768px -576px}.mcsprite-light_gray_banner { background-position: -800px -576px}.mcsprite-light_gray_bed { background-position: -832px -576px}.mcsprite-light_gray_bed_lce { background-position: -864px -576px}.mcsprite-light_gray_candle { background-position: -896px -576px}.mcsprite-light_gray_carpet { background-position: -928px -576px}.mcsprite-light_gray_concrete { background-position: -960px -576px}.mcsprite-light_gray_concrete_powder { background-position: -992px -576px}.mcsprite-light_gray_dye { background-position: -1024px -576px}.mcsprite-light_gray_firework_star { background-position: -1056px -576px}.mcsprite-light_gray_glazed_terracotta { background-position: -1088px -576px}.mcsprite-light_gray_shield { background-position: -1120px -576px}.mcsprite-light_gray_shulker_box { background-position: -1152px -576px}.mcsprite-light_gray_stained_glass { background-position: -1184px -576px}.mcsprite-light_gray_stained_glass_pane { background-position: -1216px -576px}.mcsprite-light_gray_terracotta { background-position: -1248px -576px}.mcsprite-light_gray_wool { background-position: 0 -608px}.mcsprite-light_negative { background-position: -32px -608px}.mcsprite-light_weighted_pressure_plate { background-position: -64px -608px}.mcsprite-lightning_rod { background-position: -96px -608px}.mcsprite-lilac { background-position: -128px -608px}.mcsprite-lily_of_the_valley { background-position: -160px -608px}.mcsprite-lily_pad { background-position: -192px -608px}.mcsprite-lime_banner { background-position: -224px -608px}.mcsprite-lime_bed { background-position: -256px -608px}.mcsprite-lime_bed_lce { background-position: -288px -608px}.mcsprite-lime_candle { background-position: -320px -608px}.mcsprite-lime_carpet { background-position: -352px -608px}.mcsprite-lime_concrete { background-position: -384px -608px}.mcsprite-lime_concrete_powder { background-position: -416px -608px}.mcsprite-lime_dye { background-position: -448px -608px}.mcsprite-lime_firework_star { background-position: -480px -608px}.mcsprite-lime_glazed_terracotta { background-position: -512px -608px}.mcsprite-lime_shield { background-position: -544px -608px}.mcsprite-lime_shulker_box { background-position: -576px -608px}.mcsprite-lime_stained_glass { background-position: -608px -608px}.mcsprite-lime_stained_glass_pane { background-position: -640px -608px}.mcsprite-lime_terracotta { background-position: -672px -608px}.mcsprite-lime_wool { background-position: -704px -608px}.mcsprite-lingering_potion_of_decay { background-position: -736px -608px}.mcsprite-lingering_potion_of_fire_resistance { background-position: -768px -608px}.mcsprite-lingering_potion_of_harming { background-position: -800px -608px}.mcsprite-lingering_potion_of_healing { background-position: -832px -608px}.mcsprite-lingering_potion_of_invisibility { background-position: -864px -608px}.mcsprite-lingering_potion_of_leaping { background-position: -896px -608px}.mcsprite-lingering_potion_of_levitation { background-position: -928px -608px}.mcsprite-lingering_potion_of_luck { background-position: -960px -608px}.mcsprite-lingering_potion_of_night_vision { background-position: -992px -608px}.mcsprite-lingering_potion_of_poison { background-position: -1024px -608px}.mcsprite-lingering_potion_of_regeneration { background-position: -1056px -608px}.mcsprite-lingering_potion_of_slow_falling { background-position: -1088px -608px}.mcsprite-lingering_potion_of_slowness { background-position: -1120px -608px}.mcsprite-lingering_potion_of_strength { background-position: -1152px -608px}.mcsprite-lingering_potion_of_swiftness { background-position: -1184px -608px}.mcsprite-lingering_potion_of_the_turtle_master { background-position: -1216px -608px}.mcsprite-lingering_potion_of_water_breathing { background-position: -1248px -608px}.mcsprite-lingering_potion_of_weakness { background-position: 0 -640px}.mcsprite-lingering_water_bottle { background-position: -32px -640px}.mcsprite-llama_spawn_egg { background-position: -64px -640px}.mcsprite-locked_map { background-position: -96px -640px}.mcsprite-lodestone { background-position: -128px -640px}.mcsprite-loom { background-position: -160px -640px}.mcsprite-magenta_banner { background-position: -192px -640px}.mcsprite-magenta_bed { background-position: -224px -640px}.mcsprite-magenta_bed_lce { background-position: -256px -640px}.mcsprite-magenta_candle { background-position: -288px -640px}.mcsprite-magenta_carpet { background-position: -320px -640px}.mcsprite-magenta_concrete { background-position: -352px -640px}.mcsprite-magenta_concrete_powder { background-position: -384px -640px}.mcsprite-magenta_dye { background-position: -416px -640px}.mcsprite-magenta_firework_star { background-position: -448px -640px}.mcsprite-magenta_glazed_terracotta { background-position: -480px -640px}.mcsprite-magenta_shield { background-position: -512px -640px}.mcsprite-magenta_shulker_box { background-position: -544px -640px}.mcsprite-magenta_stained_glass { background-position: -576px -640px}.mcsprite-magenta_stained_glass_pane { background-position: -608px -640px}.mcsprite-magenta_terracotta { background-position: -640px -640px}.mcsprite-magenta_wool { background-position: -672px -640px}.mcsprite-magma_cream { background-position: -704px -640px}.mcsprite-magma_cube_spawn_egg { background-position: -736px -640px}.mcsprite-map { background-position: -768px -640px}.mcsprite-medium_amethyst_bud { background-position: -800px -640px}.mcsprite-melon { background-position: -832px -640px}.mcsprite-melon_seeds { background-position: -864px -640px}.mcsprite-melon_slice { background-position: -896px -640px}.mcsprite-mhf_alex { background-position: -928px -640px}.mcsprite-mhf_arrowdown { background-position: -960px -640px}.mcsprite-mhf_arrowleft { background-position: -992px -640px}.mcsprite-mhf_arrowright { background-position: -1024px -640px}.mcsprite-mhf_arrowup { background-position: -1056px -640px}.mcsprite-mhf_blaze { background-position: -1088px -640px}.mcsprite-mhf_cactus { background-position: -1120px -640px}.mcsprite-mhf_cake { background-position: -1152px -640px}.mcsprite-mhf_cavespider { background-position: -1184px -640px}.mcsprite-mhf_chest { background-position: -1216px -640px}.mcsprite-mhf_chicken { background-position: -1248px -640px}.mcsprite-mhf_coconutb { background-position: 0 -672px}.mcsprite-mhf_coconutg { background-position: -32px -672px}.mcsprite-mhf_cow { background-position: -64px -672px}.mcsprite-mhf_creeper { background-position: -96px -672px}.mcsprite-mhf_enderman { background-position: -128px -672px}.mcsprite-mhf_exclamation { background-position: -160px -672px}.mcsprite-mhf_ghast { background-position: -192px -672px}.mcsprite-mhf_golem { background-position: -224px -672px}.mcsprite-mhf_herobrine { background-position: -256px -672px}.mcsprite-mhf_lavaslime { background-position: -288px -672px}.mcsprite-mhf_melon { background-position: -320px -672px}.mcsprite-mhf_mushroomcow { background-position: -352px -672px}.mcsprite-mhf_oaklog { background-position: -384px -672px}.mcsprite-mhf_ocelot { background-position: -416px -672px}.mcsprite-mhf_pig { background-position: -448px -672px}.mcsprite-mhf_pigzombie { background-position: -480px -672px}.mcsprite-mhf_present1 { background-position: -512px -672px}.mcsprite-mhf_present2 { background-position: -544px -672px}.mcsprite-mhf_pumpkin { background-position: -576px -672px}.mcsprite-mhf_question { background-position: -608px -672px}.mcsprite-mhf_sheep { background-position: -640px -672px}.mcsprite-mhf_skeleton { background-position: -672px -672px}.mcsprite-mhf_slime { background-position: -704px -672px}.mcsprite-mhf_spider { background-position: -736px -672px}.mcsprite-mhf_squid { background-position: -768px -672px}.mcsprite-mhf_steve { background-position: -800px -672px}.mcsprite-mhf_tnt { background-position: -832px -672px}.mcsprite-mhf_tnt2 { background-position: -864px -672px}.mcsprite-mhf_villager { background-position: -896px -672px}.mcsprite-mhf_wskeleton { background-position: -928px -672px}.mcsprite-mhf_zombie { background-position: -960px -672px}.mcsprite-milk_bucket { background-position: -992px -672px}.mcsprite-minecart { background-position: -1024px -672px}.mcsprite-minecart_with_chest { background-position: -1056px -672px}.mcsprite-minecart_with_command_block { background-position: -1088px -672px}.mcsprite-minecart_with_furnace { background-position: -1120px -672px}.mcsprite-minecart_with_hopper { background-position: -1152px -672px}.mcsprite-minecart_with_tnt { background-position: -1184px -672px}.mcsprite-monster_spawner { background-position: -1216px -672px}.mcsprite-mooshroom_spawn_egg { background-position: -1248px -672px}.mcsprite-moss_block { background-position: 0 -704px}.mcsprite-moss_carpet { background-position: -32px -704px}.mcsprite-moss_stone { background-position: -64px -704px}.mcsprite-mossy_cobblestone { background-position: -96px -704px}.mcsprite-mossy_cobblestone_slab { background-position: -128px -704px}.mcsprite-mossy_cobblestone_stairs { background-position: -160px -704px}.mcsprite-mossy_cobblestone_wall { background-position: -192px -704px}.mcsprite-mossy_stone_brick_slab { background-position: -224px -704px}.mcsprite-mossy_stone_brick_stairs { background-position: -256px -704px}.mcsprite-mossy_stone_brick_wall { background-position: -288px -704px}.mcsprite-mossy_stone_bricks { background-position: -320px -704px}.mcsprite-mossy_stone_bricks_monster_egg { background-position: -352px -704px}.mcsprite-mule_spawn_egg { background-position: -384px -704px}.mcsprite-mundane_lingering_potion { background-position: -416px -704px}.mcsprite-mundane_potion { background-position: -448px -704px}.mcsprite-mundane_splash_potion { background-position: -480px -704px}.mcsprite-mushroom_stem { background-position: -512px -704px}.mcsprite-mushroom_stew { background-position: -544px -704px}.mcsprite-music_disc_11 { background-position: -576px -704px}.mcsprite-music_disc_13 { background-position: -608px -704px}.mcsprite-music_disc_blocks { background-position: -640px -704px}.mcsprite-music_disc_cat { background-position: -672px -704px}.mcsprite-music_disc_chirp { background-position: -704px -704px}.mcsprite-music_disc_far { background-position: -736px -704px}.mcsprite-music_disc_mall { background-position: -768px -704px}.mcsprite-music_disc_mellohi { background-position: -800px -704px}.mcsprite-music_disc_pigstep { background-position: -832px -704px}.mcsprite-music_disc_stal { background-position: -864px -704px}.mcsprite-music_disc_strad { background-position: -896px -704px}.mcsprite-music_disc_wait { background-position: -928px -704px}.mcsprite-music_disc_ward { background-position: -960px -704px}.mcsprite-mycelium { background-position: -992px -704px}.mcsprite-name_tag { background-position: -1024px -704px}.mcsprite-nautilus_shell { background-position: -1056px -704px}.mcsprite-nether_brick { background-position: -1088px -704px}.mcsprite-nether_brick_block { background-position: -1120px -704px}.mcsprite-nether_brick_fence { background-position: -1152px -704px}.mcsprite-nether_brick_slab { background-position: -1184px -704px}.mcsprite-nether_brick_stairs { background-position: -1216px -704px}.mcsprite-nether_brick_wall { background-position: -1248px -704px}.mcsprite-nether_bricks { background-position: 0 -736px}.mcsprite-nether_gold_ore { background-position: -32px -736px}.mcsprite-nether_quartz { background-position: -64px -736px}.mcsprite-nether_quartz_ore { background-position: -96px -736px}.mcsprite-nether_sprouts { background-position: -128px -736px}.mcsprite-nether_sprouts_old { background-position: -160px -736px}.mcsprite-nether_star { background-position: -192px -736px}.mcsprite-nether_wart { background-position: -224px -736px}.mcsprite-nether_wart_block { background-position: -256px -736px}.mcsprite-netherite_axe { background-position: -288px -736px}.mcsprite-netherite_boots { background-position: -320px -736px}.mcsprite-netherite_chestplate { background-position: -352px -736px}.mcsprite-netherite_helmet { background-position: -384px -736px}.mcsprite-netherite_hoe { background-position: -416px -736px}.mcsprite-netherite_ingot { background-position: -448px -736px}.mcsprite-netherite_leggings { background-position: -480px -736px}.mcsprite-netherite_pickaxe { background-position: -512px -736px}.mcsprite-netherite_scrap { background-position: -544px -736px}.mcsprite-netherite_shovel { background-position: -576px -736px}.mcsprite-netherite_sword { background-position: -608px -736px}.mcsprite-netherrack { background-position: -640px -736px}.mcsprite-note_block { background-position: -672px -736px}.mcsprite-oak_boat { background-position: -704px -736px}.mcsprite-oak_button { background-position: -736px -736px}.mcsprite-oak_door { background-position: -768px -736px}.mcsprite-oak_fence { background-position: -800px -736px}.mcsprite-oak_fence_gate { background-position: -832px -736px}.mcsprite-oak_leaves { background-position: -864px -736px}.mcsprite-oak_log { background-position: -896px -736px}.mcsprite-oak_planks { background-position: -928px -736px}.mcsprite-oak_pressure_plate { background-position: -960px -736px}.mcsprite-oak_sapling { background-position: -992px -736px}.mcsprite-oak_sign { background-position: -1024px -736px}.mcsprite-oak_slab { background-position: -1056px -736px}.mcsprite-oak_stairs { background-position: -1088px -736px}.mcsprite-oak_trapdoor { background-position: -1120px -736px}.mcsprite-oak_wood { background-position: -1152px -736px}.mcsprite-oak_wood_button { background-position: -1184px -736px}.mcsprite-oak_wood_door { background-position: -1216px -736px}.mcsprite-oak_wood_fence { background-position: -1248px -736px}.mcsprite-oak_wood_fence_gate { background-position: 0 -768px}.mcsprite-oak_wood_planks { background-position: -32px -768px}.mcsprite-oak_wood_pressure_plate { background-position: -64px -768px}.mcsprite-oak_wood_sign { background-position: -96px -768px}.mcsprite-oak_wood_slab { background-position: -128px -768px}.mcsprite-oak_wood_stairs { background-position: -160px -768px}.mcsprite-oak_wood_trapdoor { background-position: -192px -768px}.mcsprite-observer { background-position: -224px -768px}.mcsprite-obsidian { background-position: -256px -768px}.mcsprite-ocean_explorer_map { background-position: -288px -768px}.mcsprite-ocelot_spawn_egg { background-position: -320px -768px}.mcsprite-ominous_shield { background-position: -352px -768px}.mcsprite-orange_banner { background-position: -384px -768px}.mcsprite-orange_bed { background-position: -416px -768px}.mcsprite-orange_bed_lce { background-position: -448px -768px}.mcsprite-orange_candle { background-position: -480px -768px}.mcsprite-orange_carpet { background-position: -512px -768px}.mcsprite-orange_concrete { background-position: -544px -768px}.mcsprite-orange_concrete_powder { background-position: -576px -768px}.mcsprite-orange_dye { background-position: -608px -768px}.mcsprite-orange_firework_star { background-position: -640px -768px}.mcsprite-orange_glazed_terracotta { background-position: -672px -768px}.mcsprite-orange_shield { background-position: -704px -768px}.mcsprite-orange_shulker_box { background-position: -736px -768px}.mcsprite-orange_stained_glass { background-position: -768px -768px}.mcsprite-orange_stained_glass_pane { background-position: -800px -768px}.mcsprite-orange_terracotta { background-position: -832px -768px}.mcsprite-orange_tulip { background-position: -864px -768px}.mcsprite-orange_wool { background-position: -896px -768px}.mcsprite-oxeye_daisy { background-position: -928px -768px}.mcsprite-oxidized_copper { background-position: -960px -768px}.mcsprite-oxidized_copper_block { background-position: -992px -768px}.mcsprite-oxidized_cut_copper { background-position: -1024px -768px}.mcsprite-oxidized_cut_copper_block { background-position: -1056px -768px}.mcsprite-oxidized_cut_copper_slab { background-position: -1088px -768px}.mcsprite-oxidized_cut_copper_stairs { background-position: -1120px -768px}.mcsprite-packed_ice { background-position: -1152px -768px}.mcsprite-painting { background-position: -1184px -768px}.mcsprite-panda_spawn_egg { background-position: -1216px -768px}.mcsprite-paper { background-position: -1248px -768px}.mcsprite-parrot_spawn_egg { background-position: 0 -800px}.mcsprite-peony { background-position: -32px -800px}.mcsprite-petrified_oak_slab { background-position: -64px -800px}.mcsprite-phantom_membrane { background-position: -96px -800px}.mcsprite-phantom_spawn_egg { background-position: -128px -800px}.mcsprite-pig_spawn_egg { background-position: -160px -800px}.mcsprite-piglin_brute_spawn_egg { background-position: -192px -800px}.mcsprite-piglin_spawn_egg { background-position: -224px -800px}.mcsprite-pillager_spawn_egg { background-position: -256px -800px}.mcsprite-pink_banner { background-position: -288px -800px}.mcsprite-pink_bed { background-position: -320px -800px}.mcsprite-pink_bed_lce { background-position: -352px -800px}.mcsprite-pink_candle { background-position: -384px -800px}.mcsprite-pink_carpet { background-position: -416px -800px}.mcsprite-pink_concrete { background-position: -448px -800px}.mcsprite-pink_concrete_powder { background-position: -480px -800px}.mcsprite-pink_dye { background-position: -512px -800px}.mcsprite-pink_firework_star { background-position: -544px -800px}.mcsprite-pink_glazed_terracotta { background-position: -576px -800px}.mcsprite-pink_shield { background-position: -608px -800px}.mcsprite-pink_shulker_box { background-position: -640px -800px}.mcsprite-pink_stained_glass { background-position: -672px -800px}.mcsprite-pink_stained_glass_pane { background-position: -704px -800px}.mcsprite-pink_terracotta { background-position: -736px -800px}.mcsprite-pink_tulip { background-position: -768px -800px}.mcsprite-pink_wool { background-position: -800px -800px}.mcsprite-piston { background-position: -832px -800px}.mcsprite-player_head { background-position: -864px -800px}.mcsprite-podzol { background-position: -896px -800px}.mcsprite-pointed_dripstone { background-position: -928px -800px}.mcsprite-poisonous_potato { background-position: -960px -800px}.mcsprite-polar_bear_spawn_egg { background-position: -992px -800px}.mcsprite-polished_andesite { background-position: -1024px -800px}.mcsprite-polished_andesite_slab { background-position: -1056px -800px}.mcsprite-polished_andesite_stairs { background-position: -1088px -800px}.mcsprite-polished_basalt { background-position: -1120px -800px}.mcsprite-polished_blackstone { background-position: -1152px -800px}.mcsprite-polished_blackstone_brick_slab { background-position: -1184px -800px}.mcsprite-polished_blackstone_brick_stairs { background-position: -1216px -800px}.mcsprite-polished_blackstone_brick_wall { background-position: -1248px -800px}.mcsprite-polished_blackstone_bricks { background-position: 0 -832px}.mcsprite-polished_blackstone_button { background-position: -32px -832px}.mcsprite-polished_blackstone_pressure_plate { background-position: -64px -832px}.mcsprite-polished_blackstone_slab { background-position: -96px -832px}.mcsprite-polished_blackstone_stairs { background-position: -128px -832px}.mcsprite-polished_blackstone_wall { background-position: -160px -832px}.mcsprite-polished_deepslate { background-position: -192px -832px}.mcsprite-polished_deepslate_slab { background-position: -224px -832px}.mcsprite-polished_deepslate_stairs { background-position: -256px -832px}.mcsprite-polished_deepslate_wall { background-position: -288px -832px}.mcsprite-polished_diorite { background-position: -320px -832px}.mcsprite-polished_diorite_slab { background-position: -352px -832px}.mcsprite-polished_diorite_stairs { background-position: -384px -832px}.mcsprite-polished_granite { background-position: -416px -832px}.mcsprite-polished_granite_slab { background-position: -448px -832px}.mcsprite-polished_granite_stairs { background-position: -480px -832px}.mcsprite-popped_chorus_fruit { background-position: -512px -832px}.mcsprite-poppy { background-position: -544px -832px}.mcsprite-portal { background-position: -576px -832px}.mcsprite-potato { background-position: -608px -832px}.mcsprite-potion_of_decay { background-position: -640px -832px}.mcsprite-potion_of_fire_resistance { background-position: -672px -832px}.mcsprite-potion_of_harming { background-position: -704px -832px}.mcsprite-potion_of_healing { background-position: -736px -832px}.mcsprite-potion_of_invisibility { background-position: -768px -832px}.mcsprite-potion_of_leaping { background-position: -800px -832px}.mcsprite-potion_of_levitation { background-position: -832px -832px}.mcsprite-potion_of_luck { background-position: -864px -832px}.mcsprite-potion_of_night_vision { background-position: -896px -832px}.mcsprite-potion_of_poison { background-position: -928px -832px}.mcsprite-potion_of_regeneration { background-position: -960px -832px}.mcsprite-potion_of_slow_falling { background-position: -992px -832px}.mcsprite-potion_of_slowness { background-position: -1024px -832px}.mcsprite-potion_of_strength { background-position: -1056px -832px}.mcsprite-potion_of_swiftness { background-position: -1088px -832px}.mcsprite-potion_of_the_turtle_master { background-position: -1120px -832px}.mcsprite-potion_of_water_breathing { background-position: -1152px -832px}.mcsprite-potion_of_weakness { background-position: -1184px -832px}.mcsprite-powder_snow { background-position: -1216px -832px}.mcsprite-powder_snow_bucket { background-position: -1248px -832px}.mcsprite-powered_rail { background-position: 0 -864px}.mcsprite-prismarine { background-position: -32px -864px}.mcsprite-prismarine_brick_slab { background-position: -64px -864px}.mcsprite-prismarine_brick_stairs { background-position: -96px -864px}.mcsprite-prismarine_brick_stairs_old { background-position: -128px -864px}.mcsprite-prismarine_bricks { background-position: -160px -864px}.mcsprite-prismarine_bricks_slab { background-position: -192px -864px}.mcsprite-prismarine_crystals { background-position: -224px -864px}.mcsprite-prismarine_shard { background-position: -256px -864px}.mcsprite-prismarine_wall { background-position: -288px -864px}.mcsprite-pufferfish { background-position: -320px -864px}.mcsprite-pufferfish_spawn_egg { background-position: -352px -864px}.mcsprite-pumpkin { background-position: -384px -864px}.mcsprite-pumpkin_pie { background-position: -416px -864px}.mcsprite-pumpkin_seeds { background-position: -448px -864px}.mcsprite-purple_banner { background-position: -480px -864px}.mcsprite-purple_bed { background-position: -512px -864px}.mcsprite-purple_bed_lce { background-position: -544px -864px}.mcsprite-purple_candle { background-position: -576px -864px}.mcsprite-purple_carpet { background-position: -608px -864px}.mcsprite-purple_concrete { background-position: -640px -864px}.mcsprite-purple_concrete_powder { background-position: -672px -864px}.mcsprite-purple_dye { background-position: -704px -864px}.mcsprite-purple_firework_star { background-position: -736px -864px}.mcsprite-purple_glazed_terracotta { background-position: -768px -864px}.mcsprite-purple_shield { background-position: -800px -864px}.mcsprite-purple_shulker_box { background-position: -832px -864px}.mcsprite-purple_stained_glass { background-position: -864px -864px}.mcsprite-purple_stained_glass_pane { background-position: -896px -864px}.mcsprite-purple_terracotta { background-position: -928px -864px}.mcsprite-purple_wool { background-position: -960px -864px}.mcsprite-purpur_block { background-position: -992px -864px}.mcsprite-purpur_pillar { background-position: -1024px -864px}.mcsprite-purpur_slab { background-position: -1056px -864px}.mcsprite-purpur_stairs { background-position: -1088px -864px}.mcsprite-quartz_bricks { background-position: -1120px -864px}.mcsprite-quartz_pillar { background-position: -1152px -864px}.mcsprite-quartz_slab { background-position: -1184px -864px}.mcsprite-quartz_stairs { background-position: -1216px -864px}.mcsprite-rabbit_hide { background-position: -1248px -864px}.mcsprite-rabbit_spawn_egg { background-position: 0 -896px}.mcsprite-rabbit_stew { background-position: -32px -896px}.mcsprite-rabbits_foot { background-position: -64px -896px}.mcsprite-rail { background-position: -96px -896px}.mcsprite-ravager_spawn_egg { background-position: -128px -896px}.mcsprite-raw_beef { background-position: -160px -896px}.mcsprite-raw_chicken { background-position: -192px -896px}.mcsprite-raw_cod { background-position: -224px -896px}.mcsprite-raw_copper { background-position: -256px -896px}.mcsprite-raw_fish { background-position: -288px -896px}.mcsprite-raw_gold { background-position: -320px -896px}.mcsprite-raw_iron { background-position: -352px -896px}.mcsprite-raw_mutton { background-position: -384px -896px}.mcsprite-raw_porkchop { background-position: -416px -896px}.mcsprite-raw_rabbit { background-position: -448px -896px}.mcsprite-raw_salmon { background-position: -480px -896px}.mcsprite-red_banner { background-position: -512px -896px}.mcsprite-red_bed { background-position: -544px -896px}.mcsprite-red_bed_lce { background-position: -576px -896px}.mcsprite-red_candle { background-position: -608px -896px}.mcsprite-red_carpet { background-position: -640px -896px}.mcsprite-red_concrete { background-position: -672px -896px}.mcsprite-red_concrete_powder { background-position: -704px -896px}.mcsprite-red_dye { background-position: -736px -896px}.mcsprite-red_firework_star { background-position: -768px -896px}.mcsprite-red_glazed_terracotta { background-position: -800px -896px}.mcsprite-red_mushroom { background-position: -832px -896px}.mcsprite-red_mushroom_block { background-position: -864px -896px}.mcsprite-red_nether_brick_slab { background-position: -896px -896px}.mcsprite-red_nether_brick_stairs { background-position: -928px -896px}.mcsprite-red_nether_brick_wall { background-position: -960px -896px}.mcsprite-red_nether_bricks { background-position: -992px -896px}.mcsprite-red_sand { background-position: -1024px -896px}.mcsprite-red_sandstone { background-position: -1056px -896px}.mcsprite-red_sandstone_slab { background-position: -1088px -896px}.mcsprite-red_sandstone_stairs { background-position: -1120px -896px}.mcsprite-red_sandstone_wall { background-position: -1152px -896px}.mcsprite-red_shield { background-position: -1184px -896px}.mcsprite-red_shulker_box { background-position: -1216px -896px}.mcsprite-red_stained_glass { background-position: -1248px -896px}.mcsprite-red_stained_glass_pane { background-position: 0 -928px}.mcsprite-red_terracotta { background-position: -32px -928px}.mcsprite-red_tulip { background-position: -64px -928px}.mcsprite-red_wool { background-position: -96px -928px}.mcsprite-redstone { background-position: -128px -928px}.mcsprite-redstone_comparator { background-position: -160px -928px}.mcsprite-redstone_dust { background-position: -192px -928px}.mcsprite-redstone_lamp { background-position: -224px -928px}.mcsprite-redstone_ore { background-position: -256px -928px}.mcsprite-redstone_repeater { background-position: -288px -928px}.mcsprite-redstone_torch { background-position: -320px -928px}.mcsprite-respawn_anchor { background-position: -352px -928px}.mcsprite-rooted_dirt { background-position: -384px -928px}.mcsprite-rose_bush { background-position: -416px -928px}.mcsprite-rose_red { background-position: -448px -928px}.mcsprite-rotten_flesh { background-position: -480px -928px}.mcsprite-saddle { background-position: -512px -928px}.mcsprite-salmon_spawn_egg { background-position: -544px -928px}.mcsprite-sand { background-position: -576px -928px}.mcsprite-sandstone { background-position: -608px -928px}.mcsprite-sandstone_slab { background-position: -640px -928px}.mcsprite-sandstone_stairs { background-position: -672px -928px}.mcsprite-sandstone_wall { background-position: -704px -928px}.mcsprite-scaffolding { background-position: -736px -928px}.mcsprite-sculk_sensor { background-position: -768px -928px}.mcsprite-scute { background-position: -800px -928px}.mcsprite-sea_lantern { background-position: -832px -928px}.mcsprite-sea_pickle { background-position: -864px -928px}.mcsprite-seagrass { background-position: -896px -928px}.mcsprite-seeds { background-position: -928px -928px}.mcsprite-shears { background-position: -960px -928px}.mcsprite-sheep_spawn_egg { background-position: -992px -928px}.mcsprite-shield { background-position: -1024px -928px}.mcsprite-shroomlight { background-position: -1056px -928px}.mcsprite-shrub_lce { background-position: -1088px -928px}.mcsprite-shulker_box { background-position: -1120px -928px}.mcsprite-shulker_shell { background-position: -1152px -928px}.mcsprite-shulker_spawn_egg { background-position: -1184px -928px}.mcsprite-silverfish_spawn_egg { background-position: -1216px -928px}.mcsprite-skeleton_horse_spawn_egg { background-position: -1248px -928px}.mcsprite-skeleton_skull { background-position: 0 -960px}.mcsprite-skeleton_spawn_egg { background-position: -32px -960px}.mcsprite-slime_block { background-position: -64px -960px}.mcsprite-slime_spawn_egg { background-position: -96px -960px}.mcsprite-slimeball { background-position: -128px -960px}.mcsprite-small_amethyst_bud { background-position: -160px -960px}.mcsprite-small_dripleaf { background-position: -192px -960px}.mcsprite-smithing_table { background-position: -224px -960px}.mcsprite-smoker { background-position: -256px -960px}.mcsprite-smooth_basalt { background-position: -288px -960px}.mcsprite-smooth_quartz { background-position: -320px -960px}.mcsprite-smooth_quartz_block { background-position: -352px -960px}.mcsprite-smooth_quartz_slab { background-position: -384px -960px}.mcsprite-smooth_quartz_stairs { background-position: -416px -960px}.mcsprite-smooth_red_sandstone { background-position: -448px -960px}.mcsprite-smooth_red_sandstone_slab { background-position: -480px -960px}.mcsprite-smooth_red_sandstone_stairs { background-position: -512px -960px}.mcsprite-smooth_sandstone { background-position: -544px -960px}.mcsprite-smooth_sandstone_slab { background-position: -576px -960px}.mcsprite-smooth_sandstone_stairs { background-position: -608px -960px}.mcsprite-smooth_stone { background-position: -640px -960px}.mcsprite-smooth_stone_bricks { background-position: -672px -960px}.mcsprite-smooth_stone_slab { background-position: -704px -960px}.mcsprite-snow { background-position: -736px -960px}.mcsprite-snow_block { background-position: -768px -960px}.mcsprite-snowball { background-position: -800px -960px}.mcsprite-soul_campfire { background-position: -832px -960px}.mcsprite-soul_lantern { background-position: -864px -960px}.mcsprite-soul_sand { background-position: -896px -960px}.mcsprite-soul_soil { background-position: -928px -960px}.mcsprite-soul_torch { background-position: -960px -960px}.mcsprite-spawn_agent { background-position: -992px -960px}.mcsprite-spawn_bat { background-position: -1024px -960px}.mcsprite-spawn_bee { background-position: -1056px -960px}.mcsprite-spawn_blaze { background-position: -1088px -960px}.mcsprite-spawn_cat { background-position: -1120px -960px}.mcsprite-spawn_cave_spider { background-position: -1152px -960px}.mcsprite-spawn_chicken { background-position: -1184px -960px}.mcsprite-spawn_cod { background-position: -1216px -960px}.mcsprite-spawn_cow { background-position: -1248px -960px}.mcsprite-spawn_creeper { background-position: 0 -992px}.mcsprite-spawn_dolphin { background-position: -32px -992px}.mcsprite-spawn_donkey { background-position: -64px -992px}.mcsprite-spawn_drowned { background-position: -96px -992px}.mcsprite-spawn_elder_guardian { background-position: -128px -992px}.mcsprite-spawn_enderman { background-position: -160px -992px}.mcsprite-spawn_endermite { background-position: -192px -992px}.mcsprite-spawn_evoker { background-position: -224px -992px}.mcsprite-spawn_fox { background-position: -256px -992px}.mcsprite-spawn_ghast { background-position: -288px -992px}.mcsprite-spawn_goat { background-position: -320px -992px}.mcsprite-spawn_guardian { background-position: -352px -992px}.mcsprite-spawn_horse { background-position: -384px -992px}.mcsprite-spawn_husk { background-position: -416px -992px}.mcsprite-spawn_llama { background-position: -448px -992px}.mcsprite-spawn_magma_cube { background-position: -480px -992px}.mcsprite-spawn_mask { background-position: -512px -992px}.mcsprite-spawn_mooshroom { background-position: -544px -992px}.mcsprite-spawn_mule { background-position: -576px -992px}.mcsprite-spawn_npc { background-position: -608px -992px}.mcsprite-spawn_ocelot { background-position: -640px -992px}.mcsprite-spawn_panda { background-position: -672px -992px}.mcsprite-spawn_parrot { background-position: -704px -992px}.mcsprite-spawn_phantom { background-position: -736px -992px}.mcsprite-spawn_pig { background-position: -768px -992px}.mcsprite-spawn_pillager { background-position: -800px -992px}.mcsprite-spawn_polar_bear { background-position: -832px -992px}.mcsprite-spawn_pufferfish { background-position: -864px -992px}.mcsprite-spawn_rabbit { background-position: -896px -992px}.mcsprite-spawn_ravager { background-position: -928px -992px}.mcsprite-spawn_salmon { background-position: -960px -992px}.mcsprite-spawn_sheep { background-position: -992px -992px}.mcsprite-spawn_shulker { background-position: -1024px -992px}.mcsprite-spawn_silverfish { background-position: -1056px -992px}.mcsprite-spawn_skeleton { background-position: -1088px -992px}.mcsprite-spawn_skeleton_horse { background-position: -1120px -992px}.mcsprite-spawn_slime { background-position: -1152px -992px}.mcsprite-spawn_spider { background-position: -1184px -992px}.mcsprite-spawn_squid { background-position: -1216px -992px}.mcsprite-spawn_stray { background-position: -1248px -992px}.mcsprite-spawn_strider { background-position: 0 -1024px}.mcsprite-spawn_trader_llama { background-position: -32px -1024px}.mcsprite-spawn_tropical_fish { background-position: -64px -1024px}.mcsprite-spawn_turtle { background-position: -96px -1024px}.mcsprite-spawn_vex { background-position: -128px -1024px}.mcsprite-spawn_villager { background-position: -160px -1024px}.mcsprite-spawn_vindicator { background-position: -192px -1024px}.mcsprite-spawn_wandering_trader { background-position: -224px -1024px}.mcsprite-spawn_witch { background-position: -256px -1024px}.mcsprite-spawn_wither_skeleton { background-position: -288px -1024px}.mcsprite-spawn_wolf { background-position: -320px -1024px}.mcsprite-spawn_zoglin { background-position: -352px -1024px}.mcsprite-spawn_zombie { background-position: -384px -1024px}.mcsprite-spawn_zombie_horse { background-position: -416px -1024px}.mcsprite-spawn_zombie_pigman { background-position: -448px -1024px}.mcsprite-spawn_zombie_villager { background-position: -480px -1024px}.mcsprite-spawner { background-position: -512px -1024px}.mcsprite-spectral_arrow { background-position: -544px -1024px}.mcsprite-spider_eye { background-position: -576px -1024px}.mcsprite-spider_spawn_egg { background-position: -608px -1024px}.mcsprite-splash_mundane_potion { background-position: -640px -1024px}.mcsprite-splash_potion_of_decay { background-position: -672px -1024px}.mcsprite-splash_potion_of_fire_resistance { background-position: -704px -1024px}.mcsprite-splash_potion_of_harming { background-position: -736px -1024px}.mcsprite-splash_potion_of_healing { background-position: -768px -1024px}.mcsprite-splash_potion_of_invisibility { background-position: -800px -1024px}.mcsprite-splash_potion_of_leaping { background-position: -832px -1024px}.mcsprite-splash_potion_of_levitation { background-position: -864px -1024px}.mcsprite-splash_potion_of_luck { background-position: -896px -1024px}.mcsprite-splash_potion_of_night_vision { background-position: -928px -1024px}.mcsprite-splash_potion_of_poison { background-position: -960px -1024px}.mcsprite-splash_potion_of_regeneration { background-position: -992px -1024px}.mcsprite-splash_potion_of_slow_falling { background-position: -1024px -1024px}.mcsprite-splash_potion_of_slowness { background-position: -1056px -1024px}.mcsprite-splash_potion_of_strength { background-position: -1088px -1024px}.mcsprite-splash_potion_of_swiftness { background-position: -1120px -1024px}.mcsprite-splash_potion_of_the_turtle_master { background-position: -1152px -1024px}.mcsprite-splash_potion_of_water_breathing { background-position: -1184px -1024px}.mcsprite-splash_potion_of_weakness { background-position: -1216px -1024px}.mcsprite-splash_water_bottle { background-position: -1248px -1024px}.mcsprite-sponge { background-position: 0 -1056px}.mcsprite-spore_blossom { background-position: -32px -1056px}.mcsprite-spruce_boat { background-position: -64px -1056px}.mcsprite-spruce_button { background-position: -96px -1056px}.mcsprite-spruce_door { background-position: -128px -1056px}.mcsprite-spruce_fence { background-position: -160px -1056px}.mcsprite-spruce_fence_gate { background-position: -192px -1056px}.mcsprite-spruce_leaves { background-position: -224px -1056px}.mcsprite-spruce_log { background-position: -256px -1056px}.mcsprite-spruce_planks { background-position: -288px -1056px}.mcsprite-spruce_pressure_plate { background-position: -320px -1056px}.mcsprite-spruce_sapling { background-position: -352px -1056px}.mcsprite-spruce_sign { background-position: -384px -1056px}.mcsprite-spruce_slab { background-position: -416px -1056px}.mcsprite-spruce_stairs { background-position: -448px -1056px}.mcsprite-spruce_trapdoor { background-position: -480px -1056px}.mcsprite-spruce_wood { background-position: -512px -1056px}.mcsprite-spruce_wood_button { background-position: -544px -1056px}.mcsprite-spruce_wood_door { background-position: -576px -1056px}.mcsprite-spruce_wood_fence { background-position: -608px -1056px}.mcsprite-spruce_wood_fence_gate { background-position: -640px -1056px}.mcsprite-spruce_wood_planks { background-position: -672px -1056px}.mcsprite-spruce_wood_pressure_plate { background-position: -704px -1056px}.mcsprite-spruce_wood_sign { background-position: -736px -1056px}.mcsprite-spruce_wood_slab { background-position: -768px -1056px}.mcsprite-spruce_wood_stairs { background-position: -800px -1056px}.mcsprite-spruce_wood_trapdoor { background-position: -832px -1056px}.mcsprite-spyglass { background-position: -864px -1056px}.mcsprite-squid_spawn_egg { background-position: -896px -1056px}.mcsprite-steak { background-position: -928px -1056px}.mcsprite-stick { background-position: -960px -1056px}.mcsprite-sticky_piston { background-position: -992px -1056px}.mcsprite-stone { background-position: -1024px -1056px}.mcsprite-stone_axe { background-position: -1056px -1056px}.mcsprite-stone_brick_slab { background-position: -1088px -1056px}.mcsprite-stone_brick_stairs { background-position: -1120px -1056px}.mcsprite-stone_brick_wall { background-position: -1152px -1056px}.mcsprite-stone_bricks { background-position: -1184px -1056px}.mcsprite-stone_bricks_monster_egg { background-position: -1216px -1056px}.mcsprite-stone_button { background-position: -1248px -1056px}.mcsprite-stone_hoe { background-position: 0 -1088px}.mcsprite-stone_monster_egg { background-position: -32px -1088px}.mcsprite-stone_pickaxe { background-position: -64px -1088px}.mcsprite-stone_pressure_plate { background-position: -96px -1088px}.mcsprite-stone_shovel { background-position: -128px -1088px}.mcsprite-stone_slab { background-position: -160px -1088px}.mcsprite-stone_stairs { background-position: -192px -1088px}.mcsprite-stone_sword { background-position: -224px -1088px}.mcsprite-stray_spawn_egg { background-position: -256px -1088px}.mcsprite-strider_spawn_egg { background-position: -288px -1088px}.mcsprite-string { background-position: -320px -1088px}.mcsprite-stripped_acacia_log { background-position: -352px -1088px}.mcsprite-stripped_acacia_wood { background-position: -384px -1088px}.mcsprite-stripped_birch_log { background-position: -416px -1088px}.mcsprite-stripped_birch_wood { background-position: -448px -1088px}.mcsprite-stripped_crimson_hyphae { background-position: -480px -1088px}.mcsprite-stripped_crimson_stem { background-position: -512px -1088px}.mcsprite-stripped_dark_oak_log { background-position: -544px -1088px}.mcsprite-stripped_dark_oak_wood { background-position: -576px -1088px}.mcsprite-stripped_jungle_log { background-position: -608px -1088px}.mcsprite-stripped_jungle_wood { background-position: -640px -1088px}.mcsprite-stripped_oak_log { background-position: -672px -1088px}.mcsprite-stripped_oak_wood { background-position: -704px -1088px}.mcsprite-stripped_spruce_log { background-position: -736px -1088px}.mcsprite-stripped_spruce_wood { background-position: -768px -1088px}.mcsprite-stripped_warped_hyphae { background-position: -800px -1088px}.mcsprite-stripped_warped_stem { background-position: -832px -1088px}.mcsprite-structure_block { background-position: -864px -1088px}.mcsprite-structure_void { background-position: -896px -1088px}.mcsprite-sugar { background-position: -928px -1088px}.mcsprite-sugar_cane { background-position: -960px -1088px}.mcsprite-sunflower { background-position: -992px -1088px}.mcsprite-suspicious_stew { background-position: -1024px -1088px}.mcsprite-sweet_berries { background-position: -1056px -1088px}.mcsprite-tall_grass { background-position: -1088px -1088px}.mcsprite-target { background-position: -1120px -1088px}.mcsprite-terracotta { background-position: -1152px -1088px}.mcsprite-thick_lingering_potion { background-position: -1184px -1088px}.mcsprite-thick_potion { background-position: -1216px -1088px}.mcsprite-thick_splash_potion { background-position: -1248px -1088px}.mcsprite-tinted_glass { background-position: 0 -1120px}.mcsprite-tipped_arrow { background-position: -32px -1120px}.mcsprite-tnt { background-position: -64px -1120px}.mcsprite-top_snow { background-position: -96px -1120px}.mcsprite-torch { background-position: -128px -1120px}.mcsprite-totem_of_undying { background-position: -160px -1120px}.mcsprite-trader_llama_spawn_egg { background-position: -192px -1120px}.mcsprite-trapped_chest { background-position: -224px -1120px}.mcsprite-treasure_map { background-position: -256px -1120px}.mcsprite-trident { background-position: -288px -1120px}.mcsprite-tripwire_hook { background-position: -320px -1120px}.mcsprite-tropical_fish { background-position: -352px -1120px}.mcsprite-tropical_fish_spawn_egg { background-position: -384px -1120px}.mcsprite-tube_coral { background-position: -416px -1120px}.mcsprite-tube_coral_block { background-position: -448px -1120px}.mcsprite-tube_coral_fan { background-position: -480px -1120px}.mcsprite-tuff { background-position: -512px -1120px}.mcsprite-turtle_egg { background-position: -544px -1120px}.mcsprite-turtle_helmet { background-position: -576px -1120px}.mcsprite-turtle_shell { background-position: -608px -1120px}.mcsprite-turtle_spawn_egg { background-position: -640px -1120px}.mcsprite-twisting_vines { background-position: -672px -1120px}.mcsprite-uncraftable_lingering_potion { background-position: -704px -1120px}.mcsprite-uncraftable_potion { background-position: -736px -1120px}.mcsprite-uncraftable_splash_potion { background-position: -768px -1120px}.mcsprite-uncraftable_tipped_arrow { background-position: -800px -1120px}.mcsprite-vex_spawn_egg { background-position: -832px -1120px}.mcsprite-villager_spawn_egg { background-position: -864px -1120px}.mcsprite-vindicator_spawn_egg { background-position: -896px -1120px}.mcsprite-vines { background-position: -928px -1120px}.mcsprite-void_air { background-position: -960px -1120px}.mcsprite-wandering_trader_spawn_egg { background-position: -992px -1120px}.mcsprite-warped_button { background-position: -1024px -1120px}.mcsprite-warped_door { background-position: -1056px -1120px}.mcsprite-warped_fence { background-position: -1088px -1120px}.mcsprite-warped_fence_gate { background-position: -1120px -1120px}.mcsprite-warped_fungus { background-position: -1152px -1120px}.mcsprite-warped_fungus_on_a_stick { background-position: -1184px -1120px}.mcsprite-warped_hyphae { background-position: -1216px -1120px}.mcsprite-warped_nylium { background-position: -1248px -1120px}.mcsprite-warped_planks { background-position: 0 -1152px}.mcsprite-warped_pressure_plate { background-position: -32px -1152px}.mcsprite-warped_roots { background-position: -64px -1152px}.mcsprite-warped_sign { background-position: -96px -1152px}.mcsprite-warped_slab { background-position: -128px -1152px}.mcsprite-warped_stairs { background-position: -160px -1152px}.mcsprite-warped_stem { background-position: -192px -1152px}.mcsprite-warped_trapdoor { background-position: -224px -1152px}.mcsprite-warped_wart_block { background-position: -256px -1152px}.mcsprite-water { background-position: -288px -1152px}.mcsprite-water_bottle { background-position: -320px -1152px}.mcsprite-water_bucket { background-position: -352px -1152px}.mcsprite-waxed_block_of_copper { background-position: -384px -1152px}.mcsprite-waxed_copper { background-position: -416px -1152px}.mcsprite-waxed_copper_block { background-position: -448px -1152px}.mcsprite-waxed_cut_copper { background-position: -480px -1152px}.mcsprite-waxed_cut_copper_block { background-position: -512px -1152px}.mcsprite-waxed_cut_copper_slab { background-position: -544px -1152px}.mcsprite-waxed_cut_copper_stairs { background-position: -576px -1152px}.mcsprite-waxed_exposed_copper { background-position: -608px -1152px}.mcsprite-waxed_exposed_copper_block { background-position: -640px -1152px}.mcsprite-waxed_exposed_cut_copper { background-position: -672px -1152px}.mcsprite-waxed_exposed_cut_copper_block { background-position: -704px -1152px}.mcsprite-waxed_exposed_cut_copper_slab { background-position: -736px -1152px}.mcsprite-waxed_exposed_cut_copper_stairs { background-position: -768px -1152px}.mcsprite-waxed_oxidized_copper { background-position: -800px -1152px}.mcsprite-waxed_oxidized_copper_block { background-position: -832px -1152px}.mcsprite-waxed_oxidized_cut_copper { background-position: -864px -1152px}.mcsprite-waxed_oxidized_cut_copper_block { background-position: -896px -1152px}.mcsprite-waxed_oxidized_cut_copper_slab { background-position: -928px -1152px}.mcsprite-waxed_oxidized_cut_copper_stairs { background-position: -960px -1152px}.mcsprite-waxed_weathered_copper { background-position: -992px -1152px}.mcsprite-waxed_weathered_copper_block { background-position: -1024px -1152px}.mcsprite-waxed_weathered_cut_copper { background-position: -1056px -1152px}.mcsprite-waxed_weathered_cut_copper_block { background-position: -1088px -1152px}.mcsprite-waxed_weathered_cut_copper_slab { background-position: -1120px -1152px}.mcsprite-waxed_weathered_cut_copper_stairs { background-position: -1152px -1152px}.mcsprite-weathered_copper { background-position: -1184px -1152px}.mcsprite-weathered_copper_block { background-position: -1216px -1152px}.mcsprite-weathered_cut_copper { background-position: -1248px -1152px}.mcsprite-weathered_cut_copper_block { background-position: 0 -1184px}.mcsprite-weathered_cut_copper_slab { background-position: -32px -1184px}.mcsprite-weathered_cut_copper_stairs { background-position: -64px -1184px}.mcsprite-weeping_vines { background-position: -96px -1184px}.mcsprite-wet_sponge { background-position: -128px -1184px}.mcsprite-wheat { background-position: -160px -1184px}.mcsprite-wheat_seeds { background-position: -192px -1184px}.mcsprite-white_banner { background-position: -224px -1184px}.mcsprite-white_bed { background-position: -256px -1184px}.mcsprite-white_bed_lce { background-position: -288px -1184px}.mcsprite-white_candle { background-position: -320px -1184px}.mcsprite-white_carpet { background-position: -352px -1184px}.mcsprite-white_concrete { background-position: -384px -1184px}.mcsprite-white_concrete_powder { background-position: -416px -1184px}.mcsprite-white_dye { background-position: -448px -1184px}.mcsprite-white_firework_star { background-position: -480px -1184px}.mcsprite-white_glazed_terracotta { background-position: -512px -1184px}.mcsprite-white_shield { background-position: -544px -1184px}.mcsprite-white_shulker_box { background-position: -576px -1184px}.mcsprite-white_stained_glass { background-position: -608px -1184px}.mcsprite-white_stained_glass_pane { background-position: -640px -1184px}.mcsprite-white_terracotta { background-position: -672px -1184px}.mcsprite-white_tulip { background-position: -704px -1184px}.mcsprite-white_wool { background-position: -736px -1184px}.mcsprite-witch_spawn_egg { background-position: -768px -1184px}.mcsprite-wither_rose { background-position: -800px -1184px}.mcsprite-wither_skeleton_skull { background-position: -832px -1184px}.mcsprite-wither_skeleton_spawn_egg { background-position: -864px -1184px}.mcsprite-wolf_spawn_egg { background-position: -896px -1184px}.mcsprite-wooden_axe { background-position: -928px -1184px}.mcsprite-wooden_hoe { background-position: -960px -1184px}.mcsprite-wooden_pickaxe { background-position: -992px -1184px}.mcsprite-wooden_shovel { background-position: -1024px -1184px}.mcsprite-wooden_slab { background-position: -1056px -1184px}.mcsprite-wooden_sword { background-position: -1088px -1184px}.mcsprite-woodland_explorer_map { background-position: -1120px -1184px}.mcsprite-written_book { background-position: -1152px -1184px}.mcsprite-yellow_banner { background-position: -1184px -1184px}.mcsprite-yellow_bed { background-position: -1216px -1184px}.mcsprite-yellow_bed_lce { background-position: -1248px -1184px}.mcsprite-yellow_candle { background-position: 0 -1216px}.mcsprite-yellow_carpet { background-position: -32px -1216px}.mcsprite-yellow_concrete { background-position: -64px -1216px}.mcsprite-yellow_concrete_powder { background-position: -96px -1216px}.mcsprite-yellow_dye { background-position: -128px -1216px}.mcsprite-yellow_firework_star { background-position: -160px -1216px}.mcsprite-yellow_glazed_terracotta { background-position: -192px -1216px}.mcsprite-yellow_shield { background-position: -224px -1216px}.mcsprite-yellow_shulker_box { background-position: -256px -1216px}.mcsprite-yellow_stained_glass { background-position: -288px -1216px}.mcsprite-yellow_stained_glass_pane { background-position: -320px -1216px}.mcsprite-yellow_terracotta { background-position: -352px -1216px}.mcsprite-yellow_wool { background-position: -384px -1216px}.mcsprite-zoglin_spawn_egg { background-position: -416px -1216px}.mcsprite-zombie_head { background-position: -448px -1216px}.mcsprite-zombie_horse_spawn_egg { background-position: -480px -1216px}.mcsprite-zombie_pigman_spawn_egg { background-position: -512px -1216px}.mcsprite-zombie_spawn_egg { background-position: -544px -1216px}.mcsprite-zombie_villager_spawn_egg { background-position: -576px -1216px}.mcsprite-zombified_piglin_spawn_egg { background-position: -608px -1216px}.toc { display: none; position: relative; margin: 1em 0; padding: .2em .5em; background-color: #f8f9fa; border: solid 1px #eaecf0; box-sizing: border-box}.toctogglecheckbox~ul { visibility: hidden; height: 0}.toctogglecheckbox:not(:checked)~ul { visibility: visible; padding-bottom: 20px; height: auto}.toctitle { padding: 0 25px 0 32px}.toctitle .mw-ui-icon { position: absolute; left: 0}.toctitle .toctogglespan+.mw-ui-icon { top: 8px; right: 0; left: auto}.toctogglelabel { cursor: pointer; position: absolute; left: 0; top: 0; right: 0; height: 50px; z-index: 1}.client-js .toc .toctitle { visibility: hidden; background-position: right center; font-weight: 700; border-bottom: 0}.client-js .toc .toctitle h2 { display: inline-block; font-family: -apple-system,blinkmacsystemfont,segoe ui,roboto,lato,helvetica,arial,sans-serif; font-size: 1.125em; vertical-align: middle}.client-js .toc .tocnumber { display: none}.client-js .toc>ul { margin: 0 22.85714286em 0 32px; padding-left: 0; font-size: .875em}.client-js .toc ul { list-style: none}@media screen and (min-width: 720px) { .client-js .toc { display:table } .client-js .toc .toctitle { visibility: visible }}body { font-family: -apple-system,blinkmacsystemfont,segoe ui,roboto,lato,helvetica,arial,sans-serif; line-height: 1.4; -webkit-tap-highlight-color: rgba(0,0,0,.2); overflow-y: scroll}.content { line-height: 1.65; word-wrap: break-word}.content .center { width: 100%; text-align: center}.content .center>*,.content .center .thumb { margin-left: auto; margin-right: auto}@media all and (max-width: 320px - 1) { html { font-size:80% } .content { margin: 0 12px }}.nomobile { display: none!important}@supports(font: -apple-system-body) { html { font:-apple-system-body } body { font-size: 94.11764706% } @media all and (max-width: 320px - 1) { body { font-size:75.29411765% } }}.content figure,.content .thumb { margin: .6em 0}.content figure .thumbinner,.content .thumb .thumbinner { margin: 0 auto; max-width: 100%!important}.content figcaption,.content .thumbcaption { margin: .5em 0 0; font-size: .8125em; line-height: 1.5; padding: 0!important; color: #54595d}.content .thumbcaption { width: auto!important}.content .mw-image-border,.content .thumbborder { border: 1px solid #c8ccd1}.content .magnify { display: none}.content img { vertical-align: middle}.content .floatright { clear: right; float: right; margin: 0 0 .6em .6em}.content .floatleft { clear: left; float: left; margin: 0 .6em .6em 0}.content a>img,.content noscript>img { max-width: 100%!important; height: auto!important}.content .noresize { max-width: 100%; overflow-x: auto}.content .noresize a>img { max-width: none!important}h1 { font-size: 1.7em}h2 { font-size: 1.5em}h3 { font-size: 1.2em; font-weight: 700}h4 { font-weight: 700}.pre-content h1,.content h1,.content h2 { font-family: linux libertine,helvetica,georgia,times,serif}.pre-content h1,.content h1,.content h2,h3,h4,h5,h6 { line-height: 1.3; word-wrap: break-word; word-break: break-word}.content h2,.content h3,.content h4,.content h5,.content h6 { padding: .5em 0}.content p+h3 { margin-top: 1.5em}.content {}.content ol { padding-left: 2.25em}.content ul { list-style-type: disc; padding-left: 1em}.content ul>li>ul { list-style-type: circle}.content ul>li>ul>li>ul { list-style-type: square}.content ol ol,.content ul ol,.content ol ul,.content ul ul { margin-left: 1em}.content li { margin-bottom: 10px}.content li:last-child { margin-bottom: inherit}dl { margin-left: 1em}dl dt { font-weight: 700}dl dd { display: block; overflow: auto}body.mw-hide-empty-elt .mw-empty-elt { display: none}a:not([href]) { color: #3f7dfb; cursor: pointer}a { color: #3f7dfb; text-decoration: none}a:visited { color: #ba91ff}a:active { color: #986be5}a:hover { text-decoration: underline}a.new,a.new:visited,a.new:hover { color: #d33}a.new>*,a.new:visited>*,a.new:hover>* { color: #d33}a.external { background-size: 10px; background-repeat: no-repeat; background-position: center right; padding-right: 13px}.return-link { display: block; font-size: .875em; margin-top: 1.5em}.plainlinks a { background: 0 0!important; padding: 0!important}.content p { margin: .5em 0 1em}.content hr { background-color: #a2a9b1; height: 1px; border: 0}.content kbd,.content samp,.content code,.content pre { font-family: menlo,consolas,liberation mono,courier new,monospace; border: solid 1px #c8ccd1; white-space: pre-wrap}.content code { padding: .2em .5em}.content pre { padding: 1em}b,strong { font-weight: 700}blockquote { border-left: 3px solid #c8ccd1; padding: 8px 24px 8px 32px; font-family: linux libertine,helvetica,georgia,times,serif; font-size: 1.1em}blockquote>:first-child { margin-top: 0}blockquote>:last-child { margin-bottom: 0}blockquote>:only-child { margin-top: 0; margin-bottom: 0}em,i { font-style: italic}sup { vertical-align: super}sub { vertical-align: sub}sub,sup,.content .mw-ref { font-size: .75em; line-height: 1}@media all and (max-width: 720px) { .content table { display:block; width: 100%!important; box-sizing: border-box } .content table.wikitable { border: 0 } .content caption { display: block }}.content table { margin: 1em 0; overflow: auto; overflow-y: hidden; overflow-x: auto}.content table caption { text-align: left}.wikitable { border: 1px solid #54595d; border-color: rgba(84,89,93,.3)}.wikitable>tr>th,.wikitable>tr>td,.wikitable>*>tr>th,.wikitable>*>tr>td { border: 1px solid #54595d; border-color: rgba(84,89,93,.3); padding: .2em}.wikitable>tr>th,.wikitable>*>tr>th { background-color: #eaecf0}@media screen and (min-width: 720px) { .client-js #searchIcon { display:none } .header .branding-box { width: 10.0625em } .header .search-box { display: table-cell; width: auto } .header .search-box .search { width: 23.4375em } .pre-content,#mw-content-text>form,.content,.post-content { max-width: 993.3px; margin: 0 3.35em } .content figure,.content .thumb { max-width: 704px } .content figure.mw-halign-left,.content .thumb.mw-halign-left,.content figure.tleft,.content .thumb.tleft { float: left; clear: left; margin-right: 1.4em } .content figure.mw-default-size,.content .thumb.mw-default-size,.content figure.mw-halign-right,.content .thumb.mw-halign-right,.content figure.tright,.content .thumb.tright { float: right; clear: right; margin-left: 1.4em } .content table caption { background: inherit } .content table tbody { display: table-row-group } .last-modified-bar { background-color: transparent; padding-left: 0; padding-right: 0; font-size: 1em }}@media screen and (min-width: 1000px) { .banner-container,.header,.page-header-bar,.overlay-header,.content,.overlay-content,.content-unstyled,.pre-content,.post-content,#mw-content-text>form { margin-left:auto; margin-right: auto; width: 90%; max-width: 993.3px } .header { max-width: 995.3px }}toast.mw-notification-type-error,.mw-notification.mw-notification-type-error { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=toast.mw-notification-type-error%2C.mw-notification.mw-notification-type-error&format=rasterized&skin=minerva&version=qhhuv); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=toast.mw-notification-type-error%2C.mw-notification.mw-notification-type-error&format=original&skin=minerva&version=qhhuv)}toast.mw-notification-type-error,.mw-notification.mw-notification-type-error--reference { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=toast.mw-notification-type-error%2C.mw-notification.mw-notification-type-error&variant=reference&format=rasterized&skin=minerva&version=qhhuv); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=toast.mw-notification-type-error%2C.mw-notification.mw-notification-type-error&variant=reference&format=original&skin=minerva&version=qhhuv)}a.external { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=a.external&format=rasterized&lang=en&skin=minerva&version=qhhuv); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=a.external&format=original&lang=en&skin=minerva&version=qhhuv)}a.external--reference { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=a.external&variant=reference&format=rasterized&lang=en&skin=minerva&version=qhhuv); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=a.external&variant=reference&format=original&lang=en&skin=minerva&version=qhhuv)}.mw-ui-icon-wikimedia-history-base20:before,.mw-ui-background-icon-history { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-history-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-history-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-language-base20:before,.mw-ui-background-icon-language { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-language-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-language-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-edit-base20:before,.mw-ui-background-icon-edit { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-edit-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-edit-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-editLock-base20:before,.mw-ui-background-icon-editLock { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-editLock-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-editLock-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-search-base20:before,.mw-ui-background-icon-search { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-search-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-search-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-menu-base20:before,.mw-ui-background-icon-menu { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-menu-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-menu-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-star-base20:before,.mw-ui-background-icon-star { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-star-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-star-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-halfStar-base20:before,.mw-ui-background-icon-halfStar { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&format=rasterized&lang=en&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&format=original&lang=en&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-halfStar-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&variant=invert&format=rasterized&lang=en&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&variant=invert&format=original&lang=en&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-halfStar-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&variant=progressive&format=rasterized&lang=en&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&variant=progressive&format=original&lang=en&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-unStar-base20:before,.mw-ui-background-icon-unStar { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-unStar-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-unStar-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-userAvatar-base20:before,.mw-ui-background-icon-userAvatar { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-userAvatar-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&variant=invert&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&variant=invert&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-wikimedia-userAvatar-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&variant=progressive&format=rasterized&skin=minerva&version=4y50j); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&variant=progressive&format=original&skin=minerva&version=4y50j)}.mw-ui-icon-minerva-speechBubbles:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.advanced.icons&image=speechBubbles&format=rasterized&lang=en&skin=minerva&version=jhnt0); background-image: linear-gradient(transparent,transparent),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+c3BlZWNoIGJ1YmJsZXM8L3RpdGxlPjxnIGZpbGw9IiM1NDU5NWQiPjxwYXRoIGQ9Ik0xNyA0djdhMiAyIDAgMDEtMiAySDR2MWEyIDIgMCAwMDIgMmgxMGw0IDRWNmEyIDIgMCAwMC0yLTJ6TTYgMTBIMHY2eiIvPjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxMiIgcng9IjIiLz48L2c+PC9zdmc+)}.mw-ui-icon-minerva-specialPages:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.advanced.icons&image=specialPages&format=rasterized&lang=en&skin=minerva&version=jhnt0); background-image: linear-gradient(transparent,transparent),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+c3BlY2lhbCBwYWdlczwvdGl0bGU+PGcgZmlsbD0iIzU0NTk1ZCI+PHBhdGggZD0iTTcgMGEyIDIgMCAwMC0yIDJoOWEyIDIgMCAwMTIgMnYxMmEyIDIgMCAwMDItMlYyYTIgMiAwIDAwLTItMnoiLz48cGF0aCBkPSJNMTMgMjBINGEyIDIgMCAwMS0yLTJWNWEyIDIgMCAwMTItMmg5YTIgMiAwIDAxMiAydjEzYTIgMiAwIDAxLTIgMnptLTYuNS0zLjVsLjQxLTEuMDlMOCAxNWwtMS4wOS0uNDEtLjQxLTEuMDktLjQxIDEuMDlMNSAxNWwxLjA5LjQxLjQxIDEuMDl6bTIuOTgyLS45NDlsLjk1Mi0yLjU2MSAyLjUzLS45NjQtMi41My0uOTY0TDkuNDgyIDguNWwtLjk1MiAyLjU2Mi0yLjUzLjk2NCAyLjUzLjk2NC45NTIgMi41NjF6TTYgMTAuNWwuNTQ3LTEuNDUzTDggOC41bC0xLjQ1My0uNTQ3TDYgNi41bC0uNTQ3IDEuNDUzTDQgOC41bDEuNDUzLjU0N0w2IDEwLjV6Ii8+PC9nPjwvc3ZnPg==)}.mw-ui-icon-minerva-recentChanges:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.advanced.icons&image=recentChanges&format=rasterized&lang=en&skin=minerva&version=jhnt0); background-image: linear-gradient(transparent,transparent),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+cmVjZW50IGNoYW5nZXM8L3RpdGxlPjxnIGZpbGw9IiM1NDU5NWQiPjxjaXJjbGUgY3g9IjIiIGN5PSI0IiByPSIyIi8+PGNpcmNsZSBjeD0iMiIgY3k9IjEwIiByPSIyIi8+PGNpcmNsZSBjeD0iMiIgY3k9IjE2IiByPSIyIi8+PHBhdGggZD0iTTYgM2gxMXYySDZ6bTAgNmg2djJINnptMCA2aDJ2Mkg2em0xMi43Ni0zLjExbDEuMDc4LTEuMTEyYS41NTYuNTU2IDAgMDAwLS43ODNsLTEuODU1LTEuODMzYS41NTYuNTU2IDAgMDAtLjc4MyAwbC0xLjA5IDEuMDc3IDIuNjUgMi42NXptLTMuMjI3LTIuMDYyTDEwIDE1LjM2MVYxOGgyLjYzOWw1LjUzMy01LjUzM3oiLz48L2c+PC9zdmc+)}.mw-ui-icon-minerva-die:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=die&format=rasterized&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=die&format=original&skin=minerva&version=17p52)}.mw-ui-icon-minerva-heart:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=heart&format=rasterized&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=heart&format=original&skin=minerva&version=17p52)}.mw-ui-icon-minerva-home:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=home&format=rasterized&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=home&format=original&skin=minerva&version=17p52)}.mw-ui-icon-minerva-logIn:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=logIn&format=rasterized&lang=en&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=logIn&format=original&lang=en&skin=minerva&version=17p52)}.mw-ui-icon-minerva-logOut:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=logOut&format=rasterized&lang=en&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=logOut&format=original&lang=en&skin=minerva&version=17p52)}.mw-ui-icon-minerva-settings:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=settings&format=rasterized&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=settings&format=original&skin=minerva&version=17p52)}.mw-ui-icon-minerva-mapPin:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=mapPin&format=rasterized&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=mapPin&format=original&skin=minerva&version=17p52)}.mw-ui-icon-minerva-unStar:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=unStar&format=rasterized&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=unStar&format=original&skin=minerva&version=17p52)}.mw-ui-icon-minerva-userContributions:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=userContributions&format=rasterized&lang=en&skin=minerva&version=17p52); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=userContributions&format=original&lang=en&skin=minerva&version=17p52)}#mw-mf-page-left { position: fixed; top: 0; left: 0; bottom: 0; min-width: 275px; visibility: hidden; max-width: 80%; z-index: 2; overflow-y: auto; background-color: #eaecf0; -webkit-transform: translate(-100%,0); -ms-transform: translate(-100%,0); transform: translate(-100%,0)}@media screen and (min-width: 720px) { #mw-mf-page-left { min-width:320px }}#mw-mf-page-left ul { padding-bottom: 22px}.main-menu-mask { position: fixed; top: 0; left: 0; right: 0; opacity: 0; bottom: 0; background: rgba(0,0,0,.8); z-index: 1; visibility: hidden}#main-menu-input:checked~.main-menu-mask { visibility: visible; opacity: .5}#main-menu-input:checked~#mw-mf-page-left { visibility: visible; box-shadow: 1px 0 8px 0 rgba(0,0,0,.35); -webkit-transform: translate(0,0); -ms-transform: translate(0,0); transform: translate(0,0)}.minerva-animations-ready #mw-mf-page-left { -webkit-transition: opacity 250ms ease-in-out,visibility 250ms ease-in-out,transform 250ms ease-in-out; transition: opacity 250ms ease-in-out,visibility 250ms ease-in-out,transform 250ms ease-in-out}.minerva-animations-ready .main-menu-mask { -webkit-transition: opacity 100ms ease-in-out,visibility 0ms linear 100ms; transition: opacity 100ms ease-in-out,visibility 0ms linear 100ms}.minerva-animations-ready #main-menu-input:checked~.main-menu-mask { -webkit-transition: opacity 100ms ease-in-out; transition: opacity 100ms ease-in-out}.navigation-full-screen #mw-mf-page-left { max-width: none; -webkit-transform: none; -ms-transform: none; transform: none}.hotfix-T264376 .main-menu-mask { display: none}.hotfix-T264376 #main-menu-input:checked~.main-menu-mask { display: block}#mw-mf-page-left .secondary-action { border: 0; font-size: 16px; position: absolute; right: 0; top: 0; bottom: 0; border-left: 1px solid #a2a9b1; color: transparent}#mw-mf-page-left .primary-action { margin-right: 3.5em}#mw-mf-page-left ul:first-child li:first-child { border-top: 0}#mw-mf-page-left ul li { background-color: #fff; position: relative; border-top: 1px solid #eaecf0; margin-top: -1px}#mw-mf-page-left ul li:first-child { border-top: 0}#mw-mf-page-left ul li a { color: #54595d; display: block; max-width: 100%; padding: 12px 10px 12px 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap}#mw-mf-page-left ul li a.secondary-action { padding-left: 10px}#mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 #36c; text-decoration: none}#mw-mf-page-left ul li a span { font-size: .875em; font-weight: 700; vertical-align: middle}#mw-mf-page-left ul.hlist li { background-color: transparent; border: 0; margin: 0; font-size: .75em}#mw-mf-page-left ul.hlist li:after { content: none}#mw-mf-page-left ul.hlist li a { color: #36c; padding: .7em 12px}#mw-mf-page-left ul.hlist li a:hover { background-color: transparent; box-shadow: none}.notifications-overlay { visibility: visible}.notifications-overlay.navigation-drawer { display: block; width: auto; right: 0; box-shadow: -5px 0 0 0 rgba(0,0,0,.35); -webkit-transform: translate(100%,0); -ms-transform: translate(100%,0); transform: translate(100%,0); -webkit-transition: transform 250ms ease-in-out; transition: transform 250ms ease-in-out}.notifications-overlay.navigation-drawer.visible { -webkit-transform: translate(0,0); -ms-transform: translate(0,0); transform: translate(0,0)}@media all and (min-width: 720px) { .notifications-overlay.navigation-drawer { left:40% } .notifications-overlay.navigation-drawer .overlay-header { margin: 0; width: 100%; max-width: none } .notifications-overlay.navigation-drawer .overlay-header .cancel { left: 0 }}.toggle-list__checkbox { position: absolute; z-index: -1; opacity: 0}.toggle-list__toggle { display: inline-block; cursor: pointer}.toggle-list__checkbox:focus+.toggle-list__toggle { outline: dotted 1px; outline: auto #447ff5}.toggle-list__checkbox:checked+.toggle-list__toggle { outline: 0; background: rgba(1,1,1,.1)}.touch-events .toggle-list__checkbox:focus+.toggle-list__toggle { outline: 0}.toggle-list__list { background: #fff; position: absolute; overflow-y: auto; z-index: 2; box-shadow: 0 5px 17px 0 rgba(0,0,0,.24),0 0 1px #a2a9b1; visibility: hidden; opacity: 0}.toggle-list__checkbox:checked~.toggle-list__list { visibility: visible; opacity: 1}.mw-ui-icon-minerva-articleRedirect:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-articleRedirect,.mw-ui-icon-articleRedirect-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-articleRedirect,.mw-ui-icon-articleRedirect-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-infoFilled:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-infoFilled,.mw-ui-icon-infoFilled-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-infoFilled,.mw-ui-icon-infoFilled-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-quotes:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-quotes,.mw-ui-icon-quotes-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-quotes,.mw-ui-icon-quotes-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-link:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-link,.mw-ui-icon-link-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&variant=invert&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&variant=invert&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-link,.mw-ui-icon-link-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&variant=progressive&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&variant=progressive&format=original&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-listBullet:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-listBullet,.mw-ui-icon-listBullet-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-listBullet,.mw-ui-icon-listBullet-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-ellipsis:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-ellipsis,.mw-ui-icon-ellipsis-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&variant=invert&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&variant=invert&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-ellipsis,.mw-ui-icon-ellipsis-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&variant=progressive&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&variant=progressive&format=original&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-userAvatar:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-userAvatar,.mw-ui-icon-userAvatar-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&variant=invert&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&variant=invert&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-userAvatar,.mw-ui-icon-userAvatar-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&variant=progressive&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&variant=progressive&format=original&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-userAvatarOutline:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-userAvatarOutline,.mw-ui-icon-userAvatarOutline-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&variant=invert&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&variant=invert&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-userAvatarOutline,.mw-ui-icon-userAvatarOutline-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&variant=progressive&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&variant=progressive&format=original&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-userGroup:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-userGroup,.mw-ui-icon-userGroup-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-userGroup,.mw-ui-icon-userGroup-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-userTalk:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-userTalk,.mw-ui-icon-userTalk-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-userTalk,.mw-ui-icon-userTalk-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-logoWikidata:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-invert.oo-ui-icon-logoWikidata,.mw-ui-icon-logoWikidata-invert:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&variant=invert&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&variant=invert&format=original&skin=minerva&version=bdzvr)}.oo-ui-image-progressive.oo-ui-icon-logoWikidata,.mw-ui-icon-logoWikidata-progressive:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&variant=progressive&format=rasterized&skin=minerva&version=bdzvr); background-image: linear-gradient(transparent,transparent),url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&variant=progressive&format=original&skin=minerva&version=bdzvr)}.mw-ui-icon-minerva-markup:before { background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.personalMenu.icons&image=markup&format=rasterized&skin=minerva&version=1j2d9); background-image: linear-gradient(transparent,transparent),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+bWFya3VwPC90aXRsZT48ZyBmaWxsPSIjNTQ1OTVkIj48cGF0aCBkPSJNNi41IDMuNUwwIDEwbDEuNSAxLjUgNSA1TDggMTVsLTUtNSA1LTV6bTcgMEwxMiA1bDUgNS01IDUgMS41IDEuNUwyMCAxMHoiLz48L2c+PC9zdmc+)}div#mw-content-text { position: absolute;}body { text-rendering: optimizeLegibility; text-rendering: geometricPrecision}
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+.client-js .mw-dismissable-notice {
+ display: none
+}
+
+.mw-dismissable-notice-close {
+ visibility: hidden
+}
+
+.sitedir-ltr .mw-dismissable-notice-close {
+ float: right
+}
+
+.sitedir-rtl .mw-dismissable-notice-close {
+ float: left
+}
+
+.sitedir-ltr .mw-dismissable-notice-body {
+ margin: .5em 20% .5em 5em
+}
+
+.sitedir-rtl .mw-dismissable-notice-body {
+ margin: .5em 5em .5em 20%
+}
+
+.hlist dl, .hlist ol, .hlist ul {
+ margin: 0;
+ padding: 0
+}
+
+.hlist dl dl, .hlist ol dl, .hlist ul dl, .hlist dl ol, .hlist ol ol, .hlist ul ol, .hlist dl ul, .hlist ol ul, .hlist ul ul {
+ display: inline
+}
+
+.hlist dd, .hlist dt, .hlist li {
+ margin: 0;
+ display: inline
+}
+
+ul.hlist li, .hlist > ul li, .hlist > dl li {
+ display: inline-block;
+ margin-right: 8px
+}
+
+.hlist-separated li:after {
+ content: '•' !important;
+ padding-left: 8px;
+ font-size: 1em;
+ line-height: 1
+}
+
+.hlist-separated :last-child:after {
+ content: none !important
+}
+
+.mw-ui-button {
+ background-color: #f8f9fa;
+ color: #202122;
+ display: inline-block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border: 1px solid #a2a9b1;
+ border-radius: 2px;
+ cursor: pointer;
+ vertical-align: middle;
+ font-family: inherit;
+ font-size: 1em;
+ font-weight: 700;
+ line-height: 1.28571429em;
+ text-align: center;
+ -webkit-appearance: none
+}
+
+.mw-ui-button:not(.mw-ui-icon-element) {
+ min-height: 32px;
+ min-width: 4em;
+ max-width: 28.75em;
+ margin: 0;
+ padding: 5px 12px
+}
+
+.mw-ui-button:not(:disabled) {
+ -webkit-transition: background-color 100ms, color 100ms, border-color 100ms, box-shadow 100ms;
+ transition: background-color 100ms, color 100ms, border-color 100ms, box-shadow 100ms
+}
+
+.mw-ui-button:not(:disabled):visited {
+ color: #202122
+}
+
+.mw-ui-button:not(:disabled):hover {
+ background-color: #fff;
+ color: #404244;
+ border-color: #a2a9b1
+}
+
+.mw-ui-button:not(:disabled):focus {
+ color: #202122;
+ border-color: #36c;
+ box-shadow: inset 0 0 0 1px #36c, inset 0 0 0 2px #fff;
+ outline-width: 0
+}
+
+.mw-ui-button:not(:disabled):focus::-moz-focus-inner {
+ border-color: transparent;
+ padding: 0
+}
+
+.mw-ui-button:not(:disabled):active, .mw-ui-button:not(:disabled).is-on {
+ background-color: #c8ccd1;
+ color: #000;
+ border-color: #72777d;
+ box-shadow: none
+}
+
+.mw-ui-button:disabled {
+ background-color: #c8ccd1;
+ color: #fff;
+ border-color: #c8ccd1;
+ cursor: default
+}
+
+.mw-ui-button.mw-ui-icon-element:not(.mw-ui-icon-with-label-desktop) {
+ color: transparent !important
+}
+
+.mw-ui-button.mw-ui-icon-element:not(.mw-ui-icon-with-label-desktop) span {
+ display: block;
+ position: absolute !important;
+ clip: rect(1px, 1px, 1px, 1px);
+ width: 1px;
+ height: 1px;
+ margin: -1px;
+ border: 0;
+ padding: 0;
+ overflow: hidden
+}
+
+@media all and (max-width: 1000px) {
+ .mw-ui-button.mw-ui-icon-element.mw-ui-icon-with-label-desktop {
+ color: transparent !important
+ }
+
+ .mw-ui-button.mw-ui-icon-element span {
+ display: block;
+ position: absolute !important;
+ clip: rect(1px, 1px, 1px, 1px);
+ width: 1px;
+ height: 1px;
+ margin: -1px;
+ border: 0;
+ padding: 0;
+ overflow: hidden
+ }
+}
+
+.mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive {
+ background-color: transparent;
+ color: #202122;
+ border-color: transparent;
+ font-weight: 700
+}
+
+.mw-ui-button.mw-ui-quiet:not(.mw-ui-icon-element), .mw-ui-button.mw-ui-quiet.mw-ui-progressive:not(.mw-ui-icon-element), .mw-ui-button.mw-ui-quiet.mw-ui-destructive:not(.mw-ui-icon-element) {
+ min-height: 32px
+}
+
+input[type=checkbox]:hover + .mw-ui-button.mw-ui-quiet, input[type=checkbox]:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type=checkbox]:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover {
+ background-color: rgba(0, 24, 73, .02745098);
+ color: #202122;
+ border-color: transparent
+}
+
+input[type=checkbox]:focus + .mw-ui-button.mw-ui-quiet, input[type=checkbox]:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type=checkbox]:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus {
+ color: #202122;
+ border-color: #36c;
+ box-shadow: inset 0 0 0 1px #36c, inset 0 0 0 2px #fff
+}
+
+input[type=checkbox]:active + .mw-ui-button.mw-ui-quiet, input[type=checkbox]:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type=checkbox]:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active {
+ background-color: rgba(0, 36, 73, .08235294);
+ color: #000;
+ border-color: #72777d;
+ box-shadow: none
+}
+
+.mw-ui-button.mw-ui-quiet:disabled, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled, .mw-ui-button.mw-ui-quiet:disabled:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled:hover, .mw-ui-button.mw-ui-quiet:disabled:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled:active {
+ background-color: transparent;
+ color: #72777d;
+ border-color: transparent
+}
+
+.mw-ui-button.mw-ui-progressive:not(:disabled) {
+ background-color: #36c;
+ color: #fff;
+ border-color: #36c
+}
+
+.mw-ui-button.mw-ui-progressive:not(:disabled):hover {
+ background-color: #447ff5;
+ border-color: #447ff5
+}
+
+.mw-ui-button.mw-ui-progressive:not(:disabled):focus {
+ box-shadow: inset 0 0 0 1px #36c, inset 0 0 0 2px #fff
+}
+
+.mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on {
+ background-color: #2a4b8d;
+ border-color: #2a4b8d;
+ box-shadow: none
+}
+
+.mw-ui-button.mw-ui-progressive:disabled {
+ background-color: #c8ccd1;
+ color: #fff;
+ border-color: #c8ccd1
+}
+
+.mw-ui-button.mw-ui-progressive.mw-ui-quiet {
+ color: #36c;
+ background-color: transparent;
+ border-color: transparent
+}
+
+input[type=checkbox]:hover + .mw-ui-button.mw-ui-progressive.mw-ui-quiet, .mw-ui-button.mw-ui-progressive.mw-ui-quiet:hover {
+ background-color: rgba(52, 123, 255, .2);
+ border-color: transparent;
+ color: #447ff5
+}
+
+input[type=checkbox]:focus + .mw-ui-button.mw-ui-progressive.mw-ui-quiet, .mw-ui-button.mw-ui-progressive.mw-ui-quiet:focus {
+ color: #36c;
+ border-color: #36c
+}
+
+input[type=checkbox]:active + .mw-ui-button.mw-ui-progressive.mw-ui-quiet, .mw-ui-button.mw-ui-progressive.mw-ui-quiet:active {
+ color: #fff;
+ background-color: #2a4b8d;
+ border-color: #2a4b8d
+}
+
+.mw-ui-button.mw-ui-destructive:not(:disabled) {
+ background-color: #d33;
+ color: #fff;
+ border-color: #d33
+}
+
+.mw-ui-button.mw-ui-destructive:not(:disabled):hover {
+ background-color: #ff4242;
+ border-color: #ff4242
+}
+
+.mw-ui-button.mw-ui-destructive:not(:disabled):focus {
+ box-shadow: inset 0 0 0 1px #d33, inset 0 0 0 2px #fff
+}
+
+.mw-ui-button.mw-ui-destructive:not(:disabled):active, .mw-ui-button.mw-ui-destructive:not(:disabled).is-on {
+ background-color: #b32424;
+ border-color: #b32424;
+ box-shadow: none
+}
+
+.mw-ui-button.mw-ui-destructive:disabled {
+ background-color: #c8ccd1;
+ color: #fff;
+ border-color: #c8ccd1
+}
+
+.mw-ui-button.mw-ui-destructive.mw-ui-quiet {
+ color: #d33;
+ background-color: transparent;
+ border-color: transparent
+}
+
+input[type=checkbox]:hover + .mw-ui-button.mw-ui-destructive.mw-ui-quiet, .mw-ui-button.mw-ui-destructive.mw-ui-quiet:hover {
+ background-color: rgba(209, 29, 19, .2);
+ border-color: transparent;
+ color: #ff4242
+}
+
+input[type=checkbox]:focus + .mw-ui-button.mw-ui-destructive.mw-ui-quiet, .mw-ui-button.mw-ui-destructive.mw-ui-quiet:focus {
+ color: #d33;
+ border-color: #d33
+}
+
+input[type=checkbox]:active + .mw-ui-button.mw-ui-destructive.mw-ui-quiet, .mw-ui-button.mw-ui-destructive.mw-ui-quiet:active {
+ color: #fff;
+ background-color: #b32424;
+ border-color: #b32424
+}
+
+.mw-ui-button.mw-ui-big {
+ font-size: 1.3em
+}
+
+.mw-ui-button.mw-ui-block {
+ display: block;
+ width: 100%;
+ margin-left: auto;
+ margin-right: auto
+}
+
+a.mw-ui-button {
+ text-decoration: none
+}
+
+a.mw-ui-button:hover, a.mw-ui-button:focus {
+ text-decoration: none
+}
+
+.mw-ui-button-group > * {
+ min-width: 48px;
+ border-radius: 0;
+ float: left
+}
+
+.mw-ui-button-group > *:first-child {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px
+}
+
+.mw-ui-button-group > *:not(:first-child) {
+ border-left: 0
+}
+
+.mw-ui-button-group > *:last-child {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px
+}
+
+.mw-ui-button-group .is-on .button {
+ cursor: default
+}
+
+.mw-ui-icon {
+ font-size: initial;
+ position: relative;
+ display: inline-block;
+ box-sizing: content-box !important;
+ width: 1.25em;
+ height: 1.25em;
+ min-width: 1.25em;
+ min-height: 1.25em;
+ flex-basis: 1.25em;
+ vertical-align: middle;
+ line-height: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ background-color: transparent;
+ border: 0;
+ margin: 0;
+ padding: 0
+}
+
+.mw-ui-icon:before {
+ content: '';
+ display: block;
+ width: 100%;
+ height: 100%;
+ min-width: 1.25em;
+ min-height: 1.25em;
+ background-repeat: no-repeat;
+ background-size: 1.25em 1.25em;
+ background-position: center
+}
+
+.mw-ui-icon-flush-top {
+ margin-top: -.75em
+}
+
+.mw-ui-icon-flush-left {
+ margin-left: -.75em
+}
+
+.mw-ui-icon-flush-right {
+ margin-right: -.75em
+}
+
+.mw-ui-icon-element {
+ border-radius: 2px;
+ padding: .75em;
+ -webkit-transition: background-color 100ms;
+ transition: background-color 100ms;
+ color: transparent
+}
+
+.mw-ui-icon-element:focus, .mw-ui-icon-element:active, .mw-ui-icon-element:visited {
+ color: transparent
+}
+
+.mw-ui-icon-element:active {
+ background-color: rgba(0, 0, 0, .03)
+}
+
+@media (hover: hover) {
+ .mw-ui-icon-element:not(.disabled):hover {
+ background-color: rgba(0, 0, 0, .03)
+ }
+}
+
+.mw-ui-icon-small {
+ width: 1em;
+ height: 1em;
+ min-width: 1em;
+ min-height: 1em;
+ flex-basis: 1em;
+ line-height: 1em
+}
+
+.mw-ui-icon-small:before {
+ content: '';
+ display: block;
+ width: 100%;
+ height: 100%;
+ min-width: 1em;
+ min-height: 1em;
+ background-repeat: no-repeat;
+ background-size: 1em 1em;
+ background-position: center
+}
+
+.mw-ui-icon-small.mw-ui-icon-element {
+ padding: .5625em
+}
+
+.mw-ui-icon-small.mw-ui-icon-flush-left {
+ margin-left: -.5625em
+}
+
+.mw-ui-icon-small.mw-ui-icon-flush-right {
+ margin-right: -.5625em
+}
+
+.mw-ui-icon-small.mw-ui-icon-before:before {
+ min-width: 1em;
+ min-height: 1em;
+ margin-right: .5625em
+}
+
+.mw-ui-icon-before {
+ width: auto;
+ max-width: 100%
+}
+
+.mw-ui-icon-before:before {
+ display: inline-block;
+ font-size: initial;
+ width: auto;
+ min-width: 1.25em;
+ min-height: 1.25em;
+ margin-right: 8px;
+ vertical-align: middle
+}
+
+.mw-ui-icon-before span {
+ vertical-align: middle
+}
+
+@media all and (min-width: 1000px) {
+ .mw-ui-icon-with-label-desktop {
+ color: #54595d;
+ width: auto;
+ line-height: inherit;
+ flex-basis: auto
+ }
+
+ .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited {
+ color: #54595d;
+ text-decoration: none
+ }
+
+ .mw-ui-icon-with-label-desktop:before {
+ width: auto;
+ display: inline-block;
+ margin-right: 8px;
+ vertical-align: text-bottom
+ }
+}
+
+.minerva__tab-container {
+ white-space: nowrap;
+ overflow-x: auto
+}
+
+.minerva__tab-container .minerva__tab {
+ font-size: .85em;
+ margin: 0 10px 0 0;
+ color: #54595d;
+ font-weight: 700;
+ padding-bottom: 6px;
+ display: inline-block
+}
+
+.minerva__tab-container .minerva__tab:visited, .minerva__tab-container .minerva__tab:hover, .minerva__tab-container .minerva__tab:active, .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:active, .minerva__tab-container .minerva__tab.new:hover {
+ color: #54595d;
+ text-decoration: none
+}
+
+.minerva__tab-container .minerva__tab:last-child {
+ margin-right: 0
+}
+
+.minerva__tab-container .minerva__tab.selected {
+ border-bottom: 2px solid #54595d
+}
+
+.toggle-list__list--drop-down {
+ -webkit-transform: translateY(-8px);
+ -ms-transform: translateY(-8px);
+ transform: translateY(-8px);
+ -webkit-tap-highlight-color: transparent
+}
+
+.minerva-animations-ready .toggle-list__list--drop-down {
+ -webkit-transition: opacity 100ms ease-in-out, -webkit-tap-highlight-color 0s ease-in-out, transform 100ms ease-in-out, visibility 100ms ease-in-out;
+ transition: opacity 100ms ease-in-out, -webkit-tap-highlight-color 0s ease-in-out, transform 100ms ease-in-out, visibility 100ms ease-in-out
+}
+
+.toggle-list__checkbox:checked ~ .toggle-list__list--drop-down {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ transform: translateY(0)
+}
+
+.toggle-list-item {
+ display: block;
+ padding: .75em .875em
+}
+
+.toggle-list-item:hover {
+ background: #eaecf0
+}
+
+.toggle-list-item__anchor {
+ display: block;
+ line-height: 1
+}
+
+.toggle-list-item__anchor:hover {
+ text-decoration: none
+}
+
+.toggle-list-item__anchor:visited, .toggle-list-item__anchor:active {
+ color: #54595d
+}
+
+.toggle-list-item__icon {
+ vertical-align: middle
+}
+
+.toggle-list-item__label {
+ text-align: left;
+ color: #54595d;
+ font-weight: 700;
+ white-space: nowrap;
+ vertical-align: middle;
+ font-size: .875em
+}
+
+.minerva-user-menu-list {
+ top: 100%;
+ right: -.75em;
+ min-width: 200px;
+ border-radius: 2px
+}
+
+.minerva--history-page-action-enabled .page-actions-menu__list-item {
+ flex-basis: auto
+}
+
+.minerva--history-page-action-enabled .page-actions-menu__list-item:first-child {
+ flex-grow: 0
+}
+
+.page-actions-overflow-list {
+ top: 100%;
+ right: -.75em;
+ border-radius: 2px
+}
+
+.mw-ui-icon-minerva-ellipsis:before {
+ -webkit-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg)
+}
+
+@media screen {
+ @counter-style meetei {
+ system: numeric;
+ symbols: '\ABF0' '\ABF1' '\ABF2' '\ABF3' '\ABF4' '\ABF5' '\ABF6' '\ABF7' '\ABF8' '\ABF9';
+ suffix: ') '
+ } @counter-style santali {
+ system: numeric;
+ symbols: '\1C50' '\1C51' '\1C52' '\1C53' '\1C54' '\1C55' '\1C56' '\1C57' '\1C58' '\1C59'
+} ol:lang(azb) li, ol:lang(bcc) li, ol:lang(bgn) li, ol:lang(bqi) li, ol:lang(fa) li, ol:lang(glk) li, ol:lang(kk-arab) li, ol:lang(lrc) li, ol:lang(luz) li, ol:lang(mzn) li {
+ list-style-type: persian
+ }
+
+ ol:lang(ckb) li, ol:lang(sdh) li {
+ list-style-type: arabic-indic
+ }
+
+ ol:lang(hi) li, ol:lang(mai) li, ol:lang(mr) li, ol:lang(ne) li {
+ list-style-type: devanagari
+ }
+
+ ol:lang(as) li, ol:lang(bn) li {
+ list-style-type: bengali
+ }
+
+ ol:lang(mni) li {
+ list-style-type: meetei
+ }
+
+ ol:lang(or) li {
+ list-style-type: oriya
+ }
+
+ ol:lang(sat) li {
+ list-style-type: santali
+ }
+}
+
+div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, ins, em, img, small, strike, strong, sub, sup, tt, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, input, button, select, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font: inherit;
+ font-size: 100%;
+ vertical-align: baseline;
+ background: 0 0
+}
+
+table, caption, tbody, tfoot, thead, tr, th, td {
+ font-size: 100%
+}
+
+caption {
+ font-weight: 700
+}
+
+button {
+ border: 0;
+ background-color: transparent;
+ cursor: pointer
+}
+
+input {
+ line-height: normal
+}
+
+ul {
+ list-style: none
+}
+
+table {
+ border-collapse: collapse
+}
+
+html, body {
+ height: 100%
+}
+
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: none
+}
+
+body {
+ background-color: transparent;
+ color: #202122;
+ margin: 0
+}
+
+main {
+ display: block
+}
+
+.mw-body {
+ border-top: 1px solid transparent;
+ padding-bottom: 32px
+}
+
+.overlay-enabled, .mw-body {
+ background-color: transparent
+}
+
+.header-container {
+ border-bottom: 1px solid #c8ccd1;
+ padding: 0 16px
+}
+
+.header-container.header-chrome {
+ background-color: #eaecf0;
+ border: 0;
+ box-shadow: inset 0 -1px 3px rgba(0, 0, 0, .08)
+}
+
+.navigation-drawer--loading, #footer-info-lastmod {
+ display: none
+}
+
+.header {
+ display: table;
+ width: 100%;
+ border-spacing: 0;
+ border-collapse: collapse;
+ height: 3.375em;
+ white-space: nowrap;
+ border-top: 1px solid #c8ccd1;
+ margin-top: -1px
+}
+
+.header > div, .header > .navigation-drawer {
+ position: relative;
+ vertical-align: middle;
+ display: table-cell
+}
+
+.header > div a {
+ display: block
+}
+
+.header .branding-box {
+ width: auto;
+ opacity: .66
+}
+
+.header .branding-box h1, .header .branding-box a {
+ margin-left: 5px;
+ font-size: 1em;
+ text-decoration: none;
+ color: #202122
+}
+
+.header .branding-box h1 span, .header .branding-box a span {
+ line-height: 1;
+ font-size: inherit
+}
+
+.header .branding-box h1 img, .header .branding-box a img {
+ vertical-align: middle
+}
+
+.header .branding-box h1 > *, .header .branding-box a > * {
+ float: left
+}
+
+.header .branding-box h1 sup, .header .branding-box a sup {
+ color: #54595d;
+ display: none
+}
+
+.beta .header .branding-box h1 sup, .beta .header .branding-box a sup {
+ display: initial
+}
+
+.header > .header-title {
+ vertical-align: middle
+}
+
+#searchInput {
+ cursor: text
+}
+
+.search-box, .header .search-box {
+ display: none;
+ width: auto
+}
+
+.search-box .search {
+ background-color: #fff;
+ background-position: left .5em center;
+ background-repeat: no-repeat;
+ background-size: 1.125em;
+ -webkit-appearance: none;
+ width: 100%;
+ margin-top: 0;
+ height: 2.25em;
+ border: 1px solid #fff;
+ border-radius: 2px;
+ padding: 7px 0 7px 2.0625em;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
+ outline: 0;
+ -webkit-transition: border-color 250ms, box-shadow 250ms;
+ transition: border-color 250ms, box-shadow 250ms
+}
+
+.client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus {
+ border-color: #36c;
+ box-shadow: inset 0 0 0 1px #36c, 0 1px 1px rgba(0, 0, 0, .05)
+}
+
+input.search::-webkit-search-decoration, input.search::-webkit-search-cancel-button, input.search::-webkit-search-results-button, input.search::-webkit-search-results-decoration {
+ display: none
+}
+
+.content h2 {
+ clear: left
+}
+
+.content .collapsible-heading .edit-page {
+ visibility: hidden
+}
+
+.content .collapsible-heading.open-block .edit-page {
+ visibility: visible
+}
+
+.content .mw-parser-output > h2, .content .section-heading {
+ border-bottom: 1px solid #eaecf0;
+ margin-bottom: .5em
+}
+
+.content .mw-parser-output > h1, .content .mw-parser-output > h2, .content .mw-parser-output > h3, .content .mw-parser-output > h4, .content .mw-parser-output > h5, .content .section-heading, .content .in-block {
+ display: table
+}
+
+.content .mw-parser-output > h1 .mw-headline, .content .mw-parser-output > h2 .mw-headline, .content .mw-parser-output > h3 .mw-headline, .content .mw-parser-output > h4 .mw-headline, .content .mw-parser-output > h5 .mw-headline, .content .section-heading .mw-headline, .content .in-block .mw-headline {
+ width: 100%
+}
+
+.content .mw-parser-output > h1 > span, .content .mw-parser-output > h2 > span, .content .mw-parser-output > h3 > span, .content .mw-parser-output > h4 > span, .content .mw-parser-output > h5 > span, .content .section-heading > span, .content .in-block > span {
+ display: table-cell;
+ vertical-align: middle
+}
+
+.content .mw-parser-output > h1 > .mw-editsection > .mw-ui-icon-element, .content .mw-parser-output > h2 > .mw-editsection > .mw-ui-icon-element, .content .mw-parser-output > h3 > .mw-editsection > .mw-ui-icon-element, .content .mw-parser-output > h4 > .mw-editsection > .mw-ui-icon-element, .content .mw-parser-output > h5 > .mw-editsection > .mw-ui-icon-element, .content .section-heading > .mw-editsection > .mw-ui-icon-element, .content .in-block > .mw-editsection > .mw-ui-icon-element {
+ margin-top: -.75em;
+ margin-bottom: -.75em
+}
+
+.client-nojs .section-heading .indicator {
+ display: none
+}
+
+#page-secondary-actions {
+ clear: both
+}
+
+#page-secondary-actions a {
+ margin: 10px 2px 2px 0
+}
+
+#bodyContent .panel .content, .overlay .content-header, .overlay .panel, .page-list.side-list .list-thumb, .page-list li, .topic-title-list li, .site-link-list li, .drawer, .messagebox, .errorbox, .successbox, .warningbox, .list-header, .mw-revision {
+ padding-left: 16px;
+ padding-right: 16px
+}
+
+.talk-overlay .comment .comment-content, .image-list, .pre-content, #mw-content-text > form > .oo-ui-fieldLayout > .oo-ui-fieldLayout-body, #mw-content-text > form > .oo-ui-widget, .content, .post-content {
+ margin: 0 16px
+}
+
+.minerva__subtitle {
+ margin-top: 10px;
+ margin-bottom: 10px
+}
+
+.minerva__subtitle:empty {
+ margin: 0
+}
+
+@media all and (min-width: 720px) {
+ .page-summary-list, .topic-title-list, .site-link-list, .overlay .panel, .list-header {
+ padding-left: 3.35em;
+ padding-right: 3.35em
+ }
+}
+
+.heading-holder {
+ padding: 20px 0 0;
+ position: relative
+}
+
+.heading-holder .tagline {
+ color: #54595d;
+ font-size: .85em
+}
+
+.page-heading {
+ margin-bottom: 12px
+}
+
+.mw-ui-icon-element.disabled, .language-selector.disabled {
+ cursor: default;
+ opacity: .25
+}
+
+#page-actions {
+ position: relative
+}
+
+.page-actions-menu {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border-top: 1px solid #eaecf0;
+ border-bottom: 1px solid #c8ccd1;
+ margin-top: -1px
+}
+
+.page-actions-menu__list {
+ display: flex;
+ height: 3em;
+ justify-content: space-between
+}
+
+.page-actions-menu__list-item {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ min-width: 0;
+ overflow: hidden
+}
+
+.page-actions-menu__list-item > a {
+ font-weight: 500
+}
+
+.page-actions-menu__list-item li > *:hover {
+ box-shadow: none
+}
+
+.page-actions-menu__list-item:first-child {
+ flex-grow: 1;
+ justify-content: flex-start;
+ margin-left: -8px
+}
+
+.page-actions-menu__list-item:last-child {
+ margin-right: -8px
+}
+
+.client-nojs .watch-this-article {
+ visibility: hidden
+}
+
+.client-nojs .is-authenticated .watch-this-article {
+ visibility: visible
+}
+
+@media all and (max-width: 320px -1) {
+ .client-nojs #page-actions {
+ display: none
+ }
+
+ .client-nojs #section_0 {
+ border: 0
+ }
+}
+
+.minerva-user-navigation {
+ display: flex;
+ min-width: 7em;
+ min-height: 3.375em;
+ height: 100%;
+ width: 100%;
+ align-items: center;
+ justify-content: flex-end;
+ position: relative
+}
+
+.minerva-user-navigation > *:last-child {
+ margin-right: -.75em
+}
+
+.view-border-box *, .view-border-box {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box
+}
+
+.client-js .mw-redirectedfrom, .printfooter, .jsonly {
+ display: none
+}
+
+.client-js .jsonly {
+ display: inherit
+}
+
+.hidden {
+ display: none !important
+}
+
+#mw-mf-viewport {
+ position: relative;
+ height: 100%
+}
+
+#mw-mf-page-center {
+ width: 100%;
+ min-height: 100%;
+ position: relative;
+ background-color: #eaecf0
+}
+
+.content {
+ position: relative;
+ z-index: 0
+}
+
+.minerva-footer {
+ border-top: solid 1px #c8ccd1;
+ overflow: auto;
+ padding-bottom: 6px
+}
+
+.client-nojs footer .indicator, .client-nojs .mw-footer .indicator {
+ display: none
+}
+
+footer .hlist li:after, .mw-footer .hlist li:after {
+ color: #36c
+}
+
+footer > .post-content, .mw-footer > .post-content {
+ overflow: auto;
+ margin-top: 42px
+}
+
+footer > .post-content > *, .mw-footer > .post-content > * {
+ margin-bottom: 9px
+}
+
+footer > .post-content > h2, .mw-footer > .post-content > h2 {
+ border-bottom: solid 1px #c8ccd1;
+ padding-bottom: 10px;
+ margin-top: 42px;
+ font-size: 1em;
+ font-weight: 700
+}
+
+footer > .post-content > h2:first-child, .mw-footer > .post-content > h2:first-child {
+ margin-top: 0
+}
+
+footer > .post-content .hlist, .mw-footer > .post-content .hlist, footer > .post-content .license, .mw-footer > .post-content .license {
+ font-size: .875em
+}
+
+.last-modified-bar {
+ border-bottom: solid 1px #c8ccd1;
+ background-color: #eaecf0;
+ color: #72777d;
+ padding-top: .75em;
+ padding-bottom: .75em;
+ font-size: .875em;
+ -webkit-transition: background-color 250ms, color 250ms;
+ transition: background-color 250ms, color 250ms
+}
+
+.last-modified-bar a, .last-modified-bar a:visited {
+ color: #54595d
+}
+
+.last-modified-bar a:nth-child(1), .last-modified-bar a:visited:nth-child(1) {
+ font-weight: 700
+}
+
+.last-modified-bar a.external {
+ background-image: none;
+ padding-right: 0
+}
+
+.last-modified-bar__content {
+ align-items: center;
+ display: -ms-flexbox;
+ display: flex
+}
+
+.last-modified-bar__text {
+ padding-right: 3.5em;
+ padding-left: .75em;
+ line-height: 1.65;
+ vertical-align: middle;
+ flex-grow: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap
+}
+
+@media (max-width: 720px) {
+ .last-modified-bar__text {
+ padding-right: 1em
+ }
+}
+
+@media print {
+ .noprint, .banner-container, .header, .minerva__tab-container, .page-actions-menu, .post-content {
+ display: none
+ }
+
+ h1, h2, h3, h4, h5, h6 {
+ page-break-after: avoid
+ }
+
+ table, figure, img {
+ page-break-inside: avoid
+ }
+
+ img {
+ max-width: 100%
+ }
+
+ img.image-lazy-loaded {
+ -webkit-animation: none !important;
+ animation: none !important
+ }
+}
+
+@media print and (max-device-width: 720px) {
+ @page {
+ margin: 50px 0
+ }
+
+ html {
+ padding: 0 50px
+ }
+
+ .header-container, .header-container.header-chrome {
+ background: #fff;
+ box-shadow: none !important
+ }
+
+ .header {
+ border-top: 0;
+ display: block;
+ height: auto;
+ padding: 0 16px
+ }
+
+ .header .branding-box {
+ padding-left: 0 !important
+ }
+
+ .header .branding-box sup {
+ display: none !important
+ }
+
+ .header > nav, .header > div {
+ display: none !important
+ }
+
+ .header > .branding-box {
+ height: auto;
+ display: block !important;
+ padding: 0 0 51px 50px
+ }
+
+ .header > .branding-box h1 {
+ font-size: inherit
+ }
+
+ .header > .branding-box h1 > * {
+ float: none
+ }
+
+ .header > .branding-box h1 img {
+ height: 41px;
+ width: auto;
+ vertical-align: inherit
+ }
+
+ .hatnote, .pre-content #page-actions {
+ display: none
+ }
+
+ .pre-content {
+ display: block;
+ padding: 51px 0 35px
+ }
+
+ .pre-content h1 {
+ font-size: 70px;
+ font-weight: 400;
+ font-style: italic;
+ font-stretch: normal;
+ line-height: normal;
+ letter-spacing: normal;
+ text-align: left;
+ color: #000
+ }
+
+ .pre-content .tagline {
+ font-size: 36px
+ }
+
+ .mw-body > .content {
+ padding-top: 55px;
+ position: relative
+ }
+
+ .mw-body > .content:before {
+ top: 0
+ }
+
+ .thumbinner {
+ width: auto !important
+ }
+
+ .thumbinner > a {
+ width: 100%
+ }
+
+ .thumb {
+ position: relative;
+ padding: 58px 0 !important;
+ text-align: left;
+ margin: 0 !important
+ }
+
+ .thumb:after {
+ bottom: 30px
+ }
+
+ .thumb:after, .mw-body > .content:before {
+ position: absolute;
+ left: 0;
+ content: '';
+ display: block;
+ width: 55px;
+ height: 2px;
+ background: #999
+ }
+
+ .thumbcaption {
+ margin-top: 23px !important;
+ width: 100%;
+ font-style: italic;
+ font-size: 28px
+ }
+
+ [class|=mw-content] {
+ font-size: 36px
+ }
+
+ [class|=mw-content] a {
+ text-decoration: underline;
+ color: #202122
+ }
+
+ [class|=mw-content] blockquote {
+ color: #54595d;
+ padding: 5px 39px;
+ font-style: italic
+ }
+
+ [class|=mw-content] .section-heading {
+ border-bottom: 0;
+ padding-bottom: 0;
+ margin-bottom: 16px
+ }
+
+ [class|=mw-content] h2 {
+ font-size: 48px
+ }
+
+ [class|=mw-content] h3 {
+ font-size: 40px;
+ margin-bottom: 13px
+ }
+
+ [class|=mw-content] h4, [class|=mw-content] h5, [class|=mw-content] h6 {
+ font-size: 36px;
+ margin-bottom: 12px
+ }
+
+ [class|=mw-content] .wikitable {
+ font-size: 16px
+ }
+
+ [class|=mw-content] .infobox {
+ font-size: 30px
+ }
+
+ .references .mw-cite-backlink {
+ display: none
+ }
+
+ .references .reference-text {
+ font-style: italic
+ }
+
+ .references a {
+ text-decoration: none
+ }
+
+ .references .external.text {
+ background-image: none
+ }
+
+ .printfooter {
+ display: block;
+ padding-top: 108px;
+ font-size: 30px
+ }
+
+ #mw-mf-page-center > footer {
+ border-top: solid 4px #000;
+ padding-top: 23px;
+ background: #fff !important
+ }
+
+ #mw-mf-page-center > footer .mw-ui-icon:before {
+ display: none !important
+ }
+
+ #mw-mf-page-center > footer .last-modified-bar {
+ background: 0 0 !important;
+ border: 0 !important
+ }
+
+ #mw-mf-page-center > footer .last-modifier-tagline {
+ font-size: 36px;
+ padding-top: 0 !important;
+ padding-bottom: 16px !important
+ }
+
+ #mw-mf-page-center > footer .last-modified-bar, #mw-mf-page-center > footer .last-modified-bar a {
+ font-weight: 700 !important;
+ color: #000 !important
+ }
+
+ #mw-mf-page-center > footer .post-content {
+ margin-top: 15px !important;
+ display: block
+ }
+
+ #mw-mf-page-center > footer .post-content .hlist, #mw-mf-page-center > footer .post-content h2 {
+ display: none
+ }
+
+ #mw-mf-page-center > footer .post-content .license a, #mw-mf-page-center > footer .post-content .license {
+ font-size: 30px;
+ color: #999;
+ font-weight: 400
+ }
+}
+
+@font-face {
+ font-family: raleway;
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F
+}
+
+@font-face {
+ font-family: raleway;
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format('woff2');
+ unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116
+}
+
+@font-face {
+ font-family: raleway;
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB
+}
+
+@font-face {
+ font-family: raleway;
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format('woff2');
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
+}
+
+@font-face {
+ font-family: raleway;
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBRrPtMoH62xUZCyrg2Wi_FBw.woff2) format('woff2');
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBRrPtMoH62xUZCyrg4Wi8.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 200;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKAKkvcwr4Pro.woff2) format('woff2');
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 200;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKAKkvfQr4.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKZKovcwr4Pro.woff2) format('woff2');
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKZKovfQr4.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBTrPtMoH62xUZCwYg6Qis.woff2) format('woff2');
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBTrPtMoH62xUZCz4g6.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKdK0vcwr4Pro.woff2) format('woff2');
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKdK0vfQr4.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 800;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKaK4vcwr4Pro.woff2) format('woff2');
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
+}
+
+@font-face {
+ font-family: neuton;
+ font-style: normal;
+ font-weight: 800;
+ font-display: swap;
+ src: url(https://fonts.gstatic.com/s/neuton/v16/UMBQrPtMoH62xUZKaK4vfQr4.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
+}
+
+@media screen and (min-width: 1000px) {
+ .header {
+ max-width: 1250px !important
+ }
+}
+
+.banner-container, .header, .page-header-bar, .overlay-header, .content, .overlay-content, .content-unstyled, .pre-content, .post-content, .last-modified-bar, #mw-content-text > form {
+ max-width: 1250px !important
+}
+
+.page-Main_Page .page-heading, .page-Main_Page .pre-content {
+ display: none !important
+}
+
+.page-Main_Page pre {
+ display: none
+}
+
+.page-Main_Page .blocks-list {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-evenly;
+ list-style: none;
+ column-gap: 20px;
+ row-gap: 20px;
+ padding: 0;
+ margin: 0
+}
+
+.page-Main_Page .blocks-item {
+ box-sizing: border-box;
+ color: #ffc376;
+ display: flex;
+ flex: 1 0 180px;
+ text-align: center;
+ margin: 0 !important;
+ border: 1px solid #ecebeb;
+ border-radius: 8px;
+ box-shadow: 0 2px 15px rgba(175, 175, 175, .2);
+ flex-flow: wrap;
+ position: relative
+}
+
+.page-Main_Page .blocks-item:hover {
+ box-shadow: 0 2px 15px rgba(231, 135, 27, .4) !important;
+ cursor: pointer;
+ top: -2px
+}
+
+.page-Main_Page .blocks-item > a {
+ color: #ffc376;
+ padding: 0 10px 15px;
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+ justify-content: center;
+ border-radius: inherit;
+ text-decoration: none;
+ background-color: transparent
+}
+
+.page-Main_Page .block-icon {
+ background-position: top center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ height: 140px;
+ margin: 0;
+ transition: all .1s ease-in-out
+}
+
+.page-Main_Page .blocks-item-title {
+ margin: 0;
+ font-size: 22px;
+ color: #ffc376
+}
+
+.page-Main_Page .blocks-item-description:not(:empty) {
+ margin-top: 10px
+}
+
+.page-Main_Page .blocks-item-description {
+ font-weight: 300;
+ margin: 0;
+ color: #1a1a1a
+}
+
+.page-Main_Page .block-icon:before {
+ content: "";
+ display: block;
+ position: relative
+}
+
+.page-Main_Page .blocks-item#block-accessories > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/accessories.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/accessories.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-accessories > a > .block-icon:before, .page-Main_Page .blocks-item#block-accessories:hover > a > .block-icon, .page-Main_Page .blocks-item#block-accessories > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/accessories.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/accessories.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/accessories.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-armor > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/armor.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/armor.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-armor > a > .block-icon:before, .page-Main_Page .blocks-item#block-armor:hover > a > .block-icon, .page-Main_Page .blocks-item#block-armor > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/armor.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/armor.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/armor.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-collections > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/collections.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/collections.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-collections > a > .block-icon:before, .page-Main_Page .blocks-item#block-collections:hover > a > .block-icon, .page-Main_Page .blocks-item#block-collections > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/collections.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/collections.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/collections.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-hub > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/hub.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/hub.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-hub > a > .block-icon:before, .page-Main_Page .blocks-item#block-hub:hover > a > .block-icon, .page-Main_Page .blocks-item#block-hub > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/hub.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/hub.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/hub.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-fairysouls > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/fairysouls.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/fairysouls.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-fairysouls > a > .block-icon:before, .page-Main_Page .blocks-item#block-fairysouls:hover > a > .block-icon, .page-Main_Page .blocks-item#block-fairysouls > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/fairysouls.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/fairysouls.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/fairysouls.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-island > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/island.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/island.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-island > a > .block-icon:before, .page-Main_Page .blocks-item#block-island:hover > a > .block-icon, .page-Main_Page .blocks-item#block-island > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/island.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/island.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/island.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-locations > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/locations.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/locations.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-locations > a > .block-icon:before, .page-Main_Page .blocks-item#block-locations:hover > a > .block-icon, .page-Main_Page .blocks-item#block-locations > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/locations.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/locations.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/locations.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-minions > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/minions.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/minions.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-minions > a > .block-icon:before, .page-Main_Page .blocks-item#block-minions:hover > a > .block-icon, .page-Main_Page .blocks-item#block-minions > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/minions.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/minions.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/minions.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-pets > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/pets.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/pets.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-pets > a > .block-icon:before, .page-Main_Page .blocks-item#block-pets:hover > a > .block-icon, .page-Main_Page .blocks-item#block-pets > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/pets.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/pets.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/pets.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-reforging > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/reforging.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/reforging.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-reforging > a > .block-icon:before, .page-Main_Page .blocks-item#block-reforging:hover > a > .block-icon, .page-Main_Page .blocks-item#block-reforging > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/reforging.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/reforging.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/reforging.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-skills > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/skills.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/skills.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-skills > a > .block-icon:before, .page-Main_Page .blocks-item#block-skills:hover > a > .block-icon, .page-Main_Page .blocks-item#block-skills > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/skills.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/skills.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/skills.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-stats > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/stats.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/stats.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-stats > a > .block-icon:before, .page-Main_Page .blocks-item#block-stats:hover > a > .block-icon, .page-Main_Page .blocks-item#block-stats > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/stats.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/stats.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/stats.ro.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-weapons > a > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/weapons.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/weapons.png) 2x)
+}
+
+.page-Main_Page .blocks-item#block-weapons > a > .block-icon:before, .page-Main_Page .blocks-item#block-weapons:hover > a > .block-icon, .page-Main_Page .blocks-item#block-weapons > a:focus > .block-icon {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.ro.png);
+ background-image: image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/weapons.ro.png) 2x);
+ background-image: -webkit-image-set(url(https://wiki.hypixel.net/images/hypixel/icons/low-res/weapons.ro.png) 1x, url(https://wiki.hypixel.net/images/hypixel/icons/hi-res/weapons.ro.png) 2x)
+}
+
+.page-Main_Page #wrapper {
+ display: flex;
+ flex-direction: row;
+ column-gap: 50px;
+ row-gap: 50px;
+ justify-content: space-between
+}
+
+.page-Main_Page #wrapper #content {
+ display: flex;
+ flex-direction: column;
+ row-gap: 50px
+}
+
+.page-Main_Page #wrapper #content #introduction {
+ display: flex;
+ flex-direction: row;
+ column-gap: 25px;
+ row-gap: 25px;
+ align-content: center
+}
+
+.page-Main_Page #wrapper #content #introduction #welcome {
+ margin: .5em 0
+}
+
+.page-Main_Page #wrapper #content #introduction .blocks-item {
+ margin: 0 !important
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list {
+ display: flex;
+ flex-wrap: wrap;
+ list-style: none;
+ justify-content: space-evenly;
+ padding: 0;
+ row-gap: 25px
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list .stats-item {
+ margin: 0
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-icon {
+ background-position: center;
+ background-size: contain;
+ background-repeat: no-repeat;
+ height: 55px;
+ width: 55px;
+ display: inline-block;
+ position: relative;
+ vertical-align: middle
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-icon.stats-icon-edits {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/edits.png)
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-icon.stats-icon-pages {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/pages.png)
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-icon.stats-icon-files {
+ background-image: url(https://wiki.hypixel.net/images/hypixel/icons/files.png)
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-item-text {
+ vertical-align: middle;
+ display: inline-flex;
+ position: relative;
+ flex-direction: column;
+ flex-wrap: nowrap;
+ justify-content: center;
+ align-content: center;
+ margin: 0 15px
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-item-text span:first-child {
+ font-size: 20px
+}
+
+.page-Main_Page #wrapper #content #statistics .stats-list .stats-item .stats-item-text span:nth-child(2) {
+ font-size: 16px
+}
+
+.page-Main_Page #wrapper #content #other-game-content ul {
+ columns: 200px auto
+}
+
+.page-Main_Page #wrapper #content .content-heading {
+ height: 50px;
+ background-color: #1f1f1f;
+ border: 1px solid #333;
+ border-image: url(https://wiki.hypixel.net/images/hypixel/borders/classic_border.png) 1000 1000 repeat !important;
+ border-image-width: 35px !important;
+ border-image-outset: 2px !important;
+ margin: 0 0 1em;
+ font-size: 20px;
+ display: flex;
+ justify-content: center;
+ align-items: center
+}
+
+.page-Main_Page #wrapper #sidebar {
+ display: flex;
+ flex-direction: column;
+ row-gap: 50px
+}
+
+.page-Main_Page #wrapper #sidebar .sidebar-heading {
+ text-align: center;
+ font-size: 20px
+}
+
+.page-Main_Page #wrapper #sidebar .sidebar-content {
+ display: flex;
+ flex-direction: column;
+ flex-wrap: nowrap;
+ row-gap: 15px;
+ background-color: #1f1f1f;
+ padding: 20px;
+ border-radius: 3px;
+ border: 1px solid #333;
+ border-image: url(https://wiki.hypixel.net/images/hypixel/borders/square_border.png) 500 500 repeat;
+ border-image-width: 35px !important;
+ border-image-outset: 2px !important
+}
+
+.page-Main_Page #wrapper #sidebar #clock {
+ display: none
+}
+
+.page-Main_Page #wrapper #sidebar #clock p {
+ text-align: center;
+ margin: 0
+}
+
+.page-Main_Page #wrapper #sidebar #clock #clock-time {
+ font-size: 2em
+}
+
+.page-Main_Page #wrapper #sidebar #clock #clock-date {
+ font-size: 1em
+}
+
+@media (max-width: 1000px) {
+ #wrapper {
+ flex-wrap: wrap
+ }
+}
+
+@media (max-width: 720px) {
+ #introduction {
+ flex-wrap: wrap;
+ justify-content: center
+ }
+
+ .stats-list {
+ flex-direction: column;
+ align-content: center
+ }
+}
+
+.mw-ui-button.mw-ui-progressive {
+ background-color: #e7871b;
+ color: #fff;
+ border: 1px solid #e7871b
+}
+
+.oo-ui-panelLayout-framed {
+ background-color: #eaecf0 !important;
+ border-radius: 4px;
+ border: none !important
+}
+
+.oo-ui-dropdownInputWidget.oo-ui-widget-enabled {
+ background-color: transparent
+}
+
+ul.mw-contributions-list li {
+ min-height: 0 !important
+}
+
+ul.special li {
+ min-height: 0 !important
+}
+
+body {
+ color: transparent;
+ background-color: transparent;
+ font-family: Raleway, helvetica, serif !important
+}
+
+#content h1, #content h2, #content h3 {
+ font-family: Neuton, Raleway, helvetica, serif !important
+}
+
+html, #mw-mf-page-center, #mw-script-doc, #content, .navbox, .navbox-subgroup, .overlay.search-overlay {
+ background-color: #fff !important
+}
+
+.overlay.search-overlay {
+ background-color: #fff !important
+}
+
+.overlay.search-overlay .search-box {
+ display: block !important;
+ position: relative !important
+}
+
+a.external {
+ background-image: none !important;
+ padding-right: 0 !important
+}
+
+.mw-body h2.list-header {
+ margin-top: 16px
+}
+
+.page-heading > h1 {
+ font-size: 1.7em !important;
+ font-weight: 400 !important;
+ line-height: 1.3;
+ word-wrap: break-word;
+ word-break: break-word
+}
+
+.list-header {
+ background-color: transparent;
+ color: inherit
+}
+
+#toc ul {
+ list-style: decimal
+}
+
+#mw-toc-heading::before {
+ background-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJsaXN0IiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtbGlzdCBmYS13LTE2IiByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik04MCAzNjhIMTZhMTYgMTYgMCAwIDAtMTYgMTZ2NjRhMTYgMTYgMCAwIDAgMTYgMTZoNjRhMTYgMTYgMCAwIDAgMTYtMTZ2LTY0YTE2IDE2IDAgMCAwLTE2LTE2em0wLTMyMEgxNkExNiAxNiAwIDAgMCAwIDY0djY0YTE2IDE2IDAgMCAwIDE2IDE2aDY0YTE2IDE2IDAgMCAwIDE2LTE2VjY0YTE2IDE2IDAgMCAwLTE2LTE2em0wIDE2MEgxNmExNiAxNiAwIDAgMC0xNiAxNnY2NGExNiAxNiAwIDAgMCAxNiAxNmg2NGExNiAxNiAwIDAgMCAxNi0xNnYtNjRhMTYgMTYgMCAwIDAtMTYtMTZ6bTQxNiAxNzZIMTc2YTE2IDE2IDAgMCAwLTE2IDE2djMyYTE2IDE2IDAgMCAwIDE2IDE2aDMyMGExNiAxNiAwIDAgMCAxNi0xNnYtMzJhMTYgMTYgMCAwIDAtMTYtMTZ6bTAtMzIwSDE3NmExNiAxNiAwIDAgMC0xNiAxNnYzMmExNiAxNiAwIDAgMCAxNiAxNmgzMjBhMTYgMTYgMCAwIDAgMTYtMTZWODBhMTYgMTYgMCAwIDAtMTYtMTZ6bTAgMTYwSDE3NmExNiAxNiAwIDAgMC0xNiAxNnYzMmExNiAxNiAwIDAgMCAxNiAxNmgzMjBhMTYgMTYgMCAwIDAgMTYtMTZ2LTMyYTE2IDE2IDAgMCAwLTE2LTE2eiI+PC9wYXRoPjwvc3ZnPg==);
+ content: "";
+ float: left;
+ height: 14px;
+ left: -14px;
+ position: relative;
+ top: 5px;
+ width: 14px
+}
+
+#footer-company {
+ padding: 0 50px 0 0
+}
+
+#footer-links {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ flex-wrap: wrap;
+ font-size: 15px;
+ max-height: 120px
+}
+
+#footer-links > li {
+ padding: 4px 10px
+}
+
+#footer-logo {
+ max-height: 64px
+}
+
+#footer-socials {
+ font-size: 16px;
+ vertical-align: top;
+ color: gray;
+ display: block;
+ padding: 0 4px
+}
+
+#footer-socials .fab {
+ min-width: 18px;
+ text-align: center;
+ vertical-align: middle
+}
+
+#footer-socials a:hover {
+ color: gray !important
+}
+
+#footer-socials a:hover > .fa-discord {
+ color: #7289da
+}
+
+#footer-socials a:hover > .fa-facebook {
+ color: #4267b2
+}
+
+#footer-socials a:hover > .fa-instagram {
+ color: #405de6
+}
+
+#footer-socials a:hover > .fa-tiktok {
+ color: #000
+}
+
+#footer-socials a:hover > .fa-twitter {
+ color: #1da1f2
+}
+
+#footer-socials a:hover > .fa-youtube {
+ color: red
+}
+
+#mw-content-text > form {
+ width: 100% !important
+}
+
+.branding-box {
+ background: url(https://wiki.hypixel.net/images/hypixel-full.png) no-repeat;
+ background-origin: content-box;
+ background-size: contain;
+ background-position: center;
+ opacity: 1 !important;
+ padding: 10px 0;
+ cursor: pointer;
+ height: 100%
+}
+
+.branding-box > a {
+ height: 100%;
+ width: 100%
+}
+
+.branding-box > a > span {
+ color: transparent
+}
+
+.client-nojs .search-box .search:focus {
+ border: none;
+ box-shadow: none
+}
+
+.search-overlay .search-box .search:focus {
+ border: none;
+ box-shadow: none
+}
+
+.toggle-list__toggle, #mw-mf-main-menu-button {
+ border: none;
+ box-shadow: none;
+ outline: none !important
+}
+
+.footer {
+ background-image: linear-gradient(to bottom, rgba(26, 26, 26, 0.92), #1a1a1a), url(https://wiki.hypixel.net/images/artwork.png);
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ border-top: 1px solid #ddd;
+ color: #fff;
+ margin-top: 60px;
+ padding: 30px 0;
+ user-select: none
+}
+
+.footer a {
+ color: gray !important;
+ text-decoration: none !important;
+ transition: .12s ease-in-out
+}
+
+.footer a:hover {
+ color: #fff !important
+}
+
+.footer-copyright {
+ color: gray;
+ display: block;
+ padding: 0 4px
+}
+
+.footer-inner {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ margin: 0 auto;
+ max-width: 1160px;
+ padding: 0 !important;
+ width: 65% !important
+}
+
+.header {
+ height: 71px !important;
+ user-select: none
+}
+
+.header-chrome:before {
+ background-image: radial-gradient(farthest-side at top, rgba(255, 255, 255, 0.5), #ffffff), url(https://wiki.hypixel.net/images/artwork.png) !important;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ content: "";
+ height: 72px;
+ left: 0;
+ max-width: 100% !important;
+ position: absolute;
+ width: 100% !important
+}
+
+.last-modified-bar {
+ margin: auto;
+ width: 90%;
+ background-color: #eaecf0 !important;
+ border-radius: 4px
+}
+
+.minerva__tab.selected {
+ border-bottom: 2px solid #e7871b !important
+}
+
+.mw-editform .editOptions {
+ margin-top: 20px
+}
+
+.mw-ui-icon-element.cancel {
+ height: 44px;
+ margin: 10px;
+ padding: 0;
+ vertical-align: middle;
+ width: 44px
+}
+
+.mw-ui-icon-element:not(.disabled):hover {
+ background-color: rgba(0, 0, 0, .1)
+}
+
+.overlay-footer-container {
+ display: none
+}
+
+.overlay.search-overlay.visible {
+ animation-duration: .1s !important
+}
+
+.minerva__tab-container {
+ display: none
+}
+
+.page-actions-menu, #filetoc, .warningbox {
+ border-radius: 4px;
+ margin-bottom: 16px;
+ padding: 0 20px;
+ background-color: #eaecf0;
+ border: 1px solid #c8ccd1
+}
+
+.warningbox {
+ padding: 10px 25px !important
+}
+
+.warningbox, #mw-clearyourcache {
+ margin-bottom: 16px !important
+}
+
+.search {
+ -webkit-appearance: none !important;
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&format=original&skin=minerva&version=1qbws);
+ background-position: left .8em center !important;
+ background-size: 18px !important;
+ border: 1px solid #fff !important;
+ border-radius: 6px !important;
+ box-shadow: 0 0 10px #bbb !important;
+ box-sizing: border-box !important;
+ color: #666 !important;
+ font-family: BlinkMacSystemFont, segoe ui, helvetica, Arial, sans-serif !important;
+ font-size: 14px !important;
+ height: 40px !important;
+ line-height: 1.15 !important;
+ max-width: 380px;
+ padding-left: 40px !important;
+ padding-right: 20px !important;
+ transition: border .12s ease-in-out !important;
+ width: 100% !important
+}
+
+.search:focus {
+ outline: 1px solid #ffc376 !important
+}
+
+.search-box .search {
+ border-radius: 4px
+}
+
+.content kbd {
+ border-radius: 4px
+}
+
+.content samp {
+ border-radius: 4px
+}
+
+.content code {
+ border-radius: 4px
+}
+
+.content pre {
+ border-radius: 4px
+}
+
+footer {
+ border: none !important
+}
+
+fieldset {
+ margin: 10px 0
+}
+
+#mw-mf-page-left {
+ box-shadow: 0 5px 17px 0 rgba(0, 0, 0, .24), 0 0 1px #a2a9b1 !important;
+ position: absolute !important;
+ height: max-content;
+ border-radius: 3px;
+ -webkit-transition: opacity 100ms ease-in-out, -webkit-tap-highlight-color 0s ease-in-out, transform 100ms ease-in-out, visibility 100ms ease-in-out !important;
+ transition: opacity 100ms ease-in-out, -webkit-tap-highlight-color 0s ease-in-out, transform 100ms ease-in-out, visibility 100ms ease-in-out !important;
+ top: 45px !important;
+ left: -12px !important;
+ transform: translate(0, -10px) !important
+}
+
+#mw-mf-page-left li {
+ border: none !important
+}
+
+#mw-mf-page-left li:hover {
+ background-color: #eaecf0 !important
+}
+
+#mw-mf-page-left ul {
+ padding-bottom: 0 !important
+}
+
+#mw-mf-page-left ul li a {
+ color: #54595d !important
+}
+
+#mw-mf-page-left ul li a:hover {
+ box-shadow: none !important
+}
+
+form.search-box {
+ display: block;
+ width: 100%
+}
+
+input {
+ outline: none
+}
+
+#main-menu-input:checked ~ #mw-mf-page-left {
+ transform: translate(0, 0) !important
+}
+
+.hlist {
+ display: none
+}
+
+.last-modified-bar.active {
+ background-color: #218e47 !important
+}
+
+.wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td {
+ padding: .25em .55em !important
+}
+
+.suggestions {
+ border-radius: 6px !important
+}
+
+.suggestions-result, .suggestions-special {
+ padding: .5em 1em !important
+}
+
+.suggestions-results, .suggestions-special {
+ border-color: #ccc !important
+}
+
+kbd, samp, code, pre, .page-actions-menu, #filetoc, .warningbox, .last-modified-bar {
+ border: 1px solid #333;
+ border-image: url(https://wiki.hypixel.net/images/hypixel/borders/classic_border.png) 1000 1000 repeat !important;
+ border-image-width: 35px !important;
+ border-image-outset: 2px !important
+}
+
+@media only screen {
+ .oo-ui-tabOptionWidget {
+ color: #fff !important
+ }
+
+ .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected {
+ background-color: #212121
+ }
+
+ .suggestions-results, .suggestions-special {
+ background-color: #1f1f1f !important;
+ border-color: #333 !important
+ }
+
+ .suggestions-results .special-label, .suggestions-special .special-label {
+ color: #ccc !important
+ }
+
+ .suggestions-results .suggestions-result, .suggestions-special .suggestions-result, .suggestions-results .special-query, .suggestions-special .special-query {
+ color: #fff !important
+ }
+
+ .search {
+ color: #ccc !important
+ }
+
+ html, body, #mw-mf-page-center, #mw-script-doc, #content, .navbox, .navbox-subgroup, .overlay.search-overlay, .oo-ui-tabSelectWidget-framed, .oo-ui-tagMultiselectWidget-handle, .mw-prefs-buttons, .mw-scribunto-message, .mw-scribunto-console-fieldset, .mw-history-compareselectedversions {
+ background-color: transparent !important;
+ color: #fff
+ }
+
+ .mw-rcfilters-ui-watchlistTopSectionWidget-separator {
+ border-color: #212121 !important
+ }
+
+ .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title, .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters {
+ color: #fff !important
+ }
+
+ .oo-ui-tabSelectWidget-framed {
+ border-bottom-color: transparent
+ }
+
+ .oo-ui-tagMultiselectWidget-handle, .oo-ui-buttonGroupWidget, .oo-ui-dropdownWidget-handle, .oo-ui-optionWidget, .oo-ui-selectWidget, .oo-ui-optionWidget-selected {
+ background-color: #1a1a1a !important;
+ color: #fff !important;
+ border-color: #212121 !important
+ }
+
+ .oo-ui-optionWidget-highlighted {
+ background-color: #212121 !important
+ }
+
+ .oo-ui-optionWidget-selected {
+ background-color: #1f1f1f !important
+ }
+
+ input, select, .oo-ui-buttonElement-button, #mw-scribunto-input, .diff-context {
+ color: #fff !important;
+ background-color: #1f1f1f !important;
+ border: 1px solid #333 !important
+ }
+
+ legend {
+ color: #aaa
+ }
+
+ .content .mw-parser-output > h2 {
+ border-bottom: 2px solid #333
+ }
+
+ .content .mw-parser-output > h3 {
+ border-bottom: 1px solid #333;
+ margin-bottom: .5em
+ }
+
+ .content .section-heading {
+ border-bottom: 1px solid #aaa
+ }
+
+ .content kbd, .content samp, .content code, .content pre, .content .toc, .content .infobox {
+ background-color: #1f1f1f !important;
+ border-color: #333 !important
+ }
+
+ .content .infobox td {
+ border-color: #333 !important
+ }
+
+ .infobox tr {
+ color: #fff !important
+ }
+
+ table.wikitable > tr > th, table.wikitable > tr > td {
+ background-color: #212121;
+ border-color: #333 !important
+ }
+
+ table.wikitable > tr > th {
+ background-color: #2b2b2b
+ }
+
+ table.wikitable > tr:nth-child(odd) > td {
+ background: #2b2b2b
+ }
+
+ table.wikitable > * > tr > th, table.wikitable > * > tr > td {
+ background-color: #212121;
+ border-color: #333 !important
+ }
+
+ table.wikitable > * > tr > th {
+ background-color: #2b2b2b
+ }
+
+ table.wikitable > * > tr:nth-child(odd) > td {
+ background: #2b2b2b
+ }
+
+ .mw-datatable > tr > th, .mw_metadata > tr > th, .mw-datatable > tr > td, .mw_metadata > tr > td {
+ background-color: #212121 !important;
+ border-color: #333 !important
+ }
+
+ .mw-datatable > tr > th, .mw_metadata > tr > th {
+ background-color: #2b2b2b !important
+ }
+
+ .mw-datatable > * > tr > th, .mw_metadata > * > tr > th, .mw-datatable > * > tr > td, .mw_metadata > * > tr > td {
+ background-color: #212121 !important;
+ border-color: #333 !important
+ }
+
+ .mw-datatable > * > tr > th, .mw_metadata > * > tr > th {
+ background-color: #2b2b2b !important
+ }
+
+ .footer {
+ background-image: linear-gradient(to bottom, rgba(26, 26, 26, 0.85), #1a1a1a), url(https://wiki.hypixel.net/images/artwork.png);
+ border-top: 1px solid #1a1a1a
+ }
+
+ .header-chrome:before {
+ background-image: radial-gradient(farthest-side at top, rgba(26, 26, 26, 0.5), #1a1a1a), url(https://wiki.hypixel.net/images/artwork.png) !important
+ }
+
+ .oo-ui-iconElement-icon, .oo-ui-indicatorElement-indicator {
+ filter: invert(1) hue-rotate(180deg) brightness(1.2)
+ }
+
+ .mw-ui-icon:not(.mw-ui-icon-wikimedia-history-invert):before {
+ filter: invert(1) hue-rotate(180deg) brightness(1.2)
+ }
+
+ .mw-ui-icon:not(.mw-ui-icon-mf-expand-invert):before {
+ filter: invert(1) hue-rotate(180deg) brightness(1.2)
+ }
+
+ .last-modified-bar {
+ background-color: #1f1f1f !important
+ }
+
+ .last-modified-bar .last-modified-bar__text {
+ color: #fff !important
+ }
+
+ .oo-ui-panelLayout-framed {
+ background-color: #1f1f1f !important
+ }
+
+ .minerva__tab {
+ color: #aaa !important
+ }
+
+ .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited {
+ color: #aaa !important
+ }
+
+ .page-heading > h1, .page-heading > .tagline {
+ color: #fff !important
+ }
+
+ .toggle-list__list {
+ color: #fff !important;
+ background-color: #1f1f1f !important;
+ box-shadow: 0 5px 17px 0 rgba(0, 0, 0, .24), 0 0 1px #000 !important;
+ border: 1px solid #333
+ }
+
+ .search {
+ box-shadow: 0 0 10px #1f1f1f !important
+ }
+
+ .search, .page-actions-menu, #filetoc, .warningbox {
+ background-color: #1f1f1f !important;
+ border-color: #333 !important
+ }
+
+ .toggle-list-item:hover {
+ background: #000;
+ color: #fff
+ }
+
+ .blocks-item-description, .mw-mf-user {
+ color: #fff !important
+ }
+
+ .blocks-item {
+ box-shadow: 0 2px 15px rgba(35, 35, 35, .5) !important;
+ border: 1px solid #333 !important;
+ background-color: #212121
+ }
+
+ .mw-ui-button {
+ background-color: #1f1f1f !important;
+ border: 1px solid #333 !important;
+ color: #fff !important
+ }
+
+ .mw-ui-button:hover {
+ background-color: #212121 !important
+ }
+
+ .mw-history-undo a, .mw-rollback-link a {
+ background-color: #1f1f1f !important;
+ border: 1px solid #333 !important;
+ color: #fff !important
+ }
+
+ .mw-history-undo a:hover, .mw-rollback-link a:hover {
+ background-color: #212121 !important
+ }
+
+ .toggle-list-item__label {
+ color: #aaa !important
+ }
+
+ .page-list .info, .page-list .component {
+ color: #aaa !important
+ }
+
+ .page-list li {
+ border-color: #333 !important
+ }
+
+ .topic-title-list .info, .topic-title-list .component {
+ color: #aaa !important
+ }
+
+ .topic-title-list li {
+ border-color: #333 !important
+ }
+
+ .site-link-list .info, .site-link-list .component {
+ color: #aaa !important
+ }
+
+ .site-link-list li {
+ border-color: #333 !important
+ }
+
+ .page-list.side-list .list-thumb {
+ color: #aaa !important
+ }
+
+ .topic-title-list.side-list .list-thumb {
+ color: #aaa !important
+ }
+
+ .site-link-list.side-list .list-thumb {
+ color: #aaa !important
+ }
+
+ ul.mw-contributions-list li {
+ border-color: #1f1f1f !important
+ }
+
+ ul.special li {
+ border-color: #1f1f1f !important
+ }
+
+ .ns-special .content-header {
+ border-color: #1f1f1f !important
+ }
+
+ .mw-prefs-buttons {
+ border-color: #1f1f1f !important
+ }
+
+ #mw-mf-page-left {
+ box-shadow: 0 5px 17px 0 rgba(0, 0, 0, .24), 0 0 1px #000 !important
+ }
+
+ #mw-mf-page-left ul li {
+ background-color: #1f1f1f !important;
+ color: #fff !important
+ }
+
+ #mw-mf-page-left ul li a {
+ color: #aaa !important
+ }
+
+ #mw-mf-page-left li:hover {
+ background-color: #000 !important
+ }
+
+ .mw-ui-icon-element:not(.disabled):hover {
+ background-color: rgba(0, 0, 0, .4)
+ }
+}
+
+@media only screen and (min-width: 720px) {
+ .header .branding-box {
+ width: auto !important;
+ min-width: 82px
+ }
+
+ .overlay.search-overlay .overlay-title {
+ padding-left: 236px !important;
+ width: 380px !important
+ }
+
+ #page-actions a {
+ color: #fff !important
+ }
+
+ #page-actions label {
+ color: #fff !important
+ }
+}
+
+@media only screen and (max-width: 720px) {
+ #footer-company {
+ padding: 0 0 30px;
+ text-align: center;
+ width: 100%
+ }
+
+ #footer-links {
+ max-height: 100%;
+ text-align: center
+ }
+
+ .header-chrome:before {
+ background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), #ffffff), url(https://wiki.hypixel.net/images/artwork.png) !important;
+ height: 170px !important
+ }
+
+ .last-modified-bar {
+ margin: 0 16px
+ }
+
+ .header-chrome:before {
+ background-image: linear-gradient(to bottom, rgba(26, 26, 26, 0.5), #1a1a1a), url(https://wiki.hypixel.net/images/artwork.png) !important
+ }
+}
+
+@media only screen and (min-width: 1000px) {
+ .footer-inner {
+ padding: 0;
+ width: 90%
+ }
+}
+
+@media only screen and (max-width: 1000px) {
+ #footer-links {
+ max-width: 100%
+ }
+
+ .footer-inner {
+ padding: 0 5% !important;
+ width: calc(90%) !important
+ }
+}
+
+.infobox {
+ border: 15px solid #232445 !important;
+ border-image: url(https://wiki.hypixel.net/images/hypixel/borders/square_border.png) 1000 1000 repeat !important;
+ border-image-width: 100px !important;
+ border-image-outset: 2px !important;
+ border-collapse: separate !important
+}
+
+.infobox {
+ background-color: #f2f2f2;
+ border-collapse: collapse;
+ clear: both;
+ display: table !important;
+ float: right;
+ margin: 0 !important;
+ margin-left: 20px !important;
+ width: 320px;
+ margin-bottom: 15px !important;
+ table-layout: fixed
+}
+
+.infobox table {
+ border-collapse: inherit !important
+}
+
+.infobox img {
+ display: block;
+ margin: 20px auto;
+ max-width: 150px;
+ height: auto
+}
+
+.infobox td {
+ border-top: 1px solid #c7c7c7;
+ padding: 2px 8px;
+ text-align: right
+}
+
+.infobox td:first-of-type {
+ font-weight: 700;
+ text-align: left
+}
+
+.infobox td:last-child {
+ float: right;
+ width: 100%;
+ text-align: right
+}
+
+.infobox tr:first-of-type > th {
+ font-size: 16px;
+ font-weight: 700;
+ padding: 10px 0;
+ text-align: center
+}
+
+.infobox.minor {
+ border-image-width: 0 100px 100px 100px !important;
+ border-width: 0 15px 15px !important;
+ margin-top: -15px !important
+}
+
+.infobox tr:first-of-type > td {
+ border-top: none
+}
+
+.mw-parser-output .infobox:last-of-type {
+ margin-bottom: 15px
+}
+
+span.color-divine, span.color-light_blue, span.color-aqua {
+ color: #5ff !important
+}
+
+span.color-black {
+ color: #000 !important
+}
+
+span.color-rare, span.color-blue {
+ color: #55f !important
+}
+
+span.color-dark_aqua {
+ color: #0aa !important
+}
+
+span.color-dark_blue {
+ color: #00a !important
+}
+
+span.color-dark_gray {
+ color: #555 !important
+}
+
+span.color-dark_green {
+ color: #0a0 !important
+}
+
+span.color-epic, span.color-dark_purple {
+ color: #a0a !important
+}
+
+span.color-dark_red {
+ color: #a00 !important
+}
+
+span.color-legendary, span.color-orange, span.color-gold {
+ color: #fa0 !important
+}
+
+span.color-gray {
+ color: #aaa !important
+}
+
+span.color-uncommon, span.color-green {
+ color: #5f5 !important
+}
+
+span.color-pink, span.color-mythic, span.color-light_purple {
+ color: #f5f !important
+}
+
+span.color-supreme, span.color-special, span.color-very-special, span.color-red {
+ color: #f55 !important
+}
+
+span.color-common, span.color-white {
+ color: #fff !important
+}
+
+span.color-yellow {
+ color: #ff5 !important
+}
+
+.tabber__header__prev:after, .tabber__header__next:after {
+ filter: invert(1)
+}
+
+:not(.infobox) .tabber__tab--active {
+ background-color: rgba(51, 102, 204, .2)
+}
+
+:not(.infobox) .tabber__panel, :not(.infobox) .tabber__header {
+ background-color: #1f1f1f;
+ border: 1px solid #333
+}
+
+:not(.infobox) .tabber__panel {
+ padding: 1em !important
+}
+
+:not(.infobox) .tabber__panel h1, :not(.infobox) .tabber__panel h2, :not(.infobox) .tabber__panel h3 {
+ margin-top: 0
+}
+
+.diff-addedline .diffchange {
+ background: #0083ff
+}
+
+.codeEditor-status {
+ color: #000 !important
+}
+
+#toctogglecheckbox:not(:checked) + .toctitle {
+ border-bottom: 1px solid #333;
+ margin-bottom: 10px
+}
+
+a.new {
+ color: #d33 !important
+}
+
+.contributionscores {
+ width: 100%
+}
+
+.contributionscores td {
+ text-align: center !important
+}
+
+.contributionscores .header {
+ display: table-row
+}
+
+.contributionscores .content {
+ width: auto
+}
+
+.wikiEditor-ui-toolbar {
+ background-color: #1f1f1f !important
+}
+
+.wikiEditor-ui-toolbar .label:after {
+ filter: invert(1) hue-rotate(180deg) brightness(1.2)
+}
+
+.wikiEditor-ui-toolbar .tabs .tab a::before {
+ filter: invert(1) hue-rotate(180deg) brightness(1.2)
+}
+
+.wikiEditor-ui .wikiEditor-ui-view {
+ border: 1px solid #54595d
+}
+
+.wikiEditor-ui-toolbar {
+ box-shadow: 0 10px 9px 0 rgba(0, 0, 0, .1)
+}
+
+.wikiEditor-ui-toolbar .sections .section {
+ border-top: none
+}
+
+.wikiEditor-ui-toolbar .group {
+ border-right: none;
+ border-left: none
+}
+
+.tabber__panel {
+ overflow: visible
+}
+
+:not(.tabber__panel--active).tabber__panel {
+ display: none
+}
+
+.tabber__section {
+ height: auto !important;
+ overflow: visible
+}
+
+.infobox td {
+ font-size: 13px
+}
+
+.minecraft-inventory td {
+ font-size: 15px !important
+}
+
+.content {
+ padding: 0
+}
+
+.tabber__tab--active, .tabber__tab--active:visited {
+ box-shadow: inset 0 -2px 0 0 #ffc376;
+ border-width: 0 1px;
+ background-color: rgba(255, 195, 118, .1) !important;
+ font-weight: 700
+}
+
+.tabber__tab--active a:active, .tabber__tab a:visited {
+ color: #ffc376 !important
+}
+
+.tabber__tab:hover {
+ box-shadow: inset 0 -2px 0 0 #ffc376;
+ color: #ffc376;
+ filter: brightness(1.5)
+}
+
+.tabber__tab a:active, .tabber__tab a:visited {
+ color: #bdbcb9 !important
+}
+
+.tabber__tabs {
+ box-shadow: none !important
+}
+
+.tabber__tabs a:first-of-type {
+ border-left: none
+}
+
+.tabber__tab {
+ color: #36c;
+ line-height: 30px;
+ font-weight: 400
+}
+
+.tabber {
+ margin-bottom: 5px
+}
+
+#mw-mf-page-left ul {
+ list-style-type: none;
+ padding-left: 0
+}
+
+#mw-mf-page-left li {
+ margin-bottom: 0
+}
+
+#mw-mf-page-left ul li a {
+ color: #aaa !important
+}
+
+#mw-mf-main-menu-button:hover + #mw-mf-page-left, #mw-mf-page-left:hover {
+ visibility: visible
+}
+
+.mw-hypixel-right ul {
+ padding-left: 0
+}
+
+.mw-hypixel-right li {
+ margin-bottom: 0
+}
+
+.mw-hypixel-right a {
+ text-decoration: none
+}
+
+table.mw-collapsible :first-child tr:first-child th:last-child::before {
+ color: #ffc376 !important
+}
+
+.infobox.minor img, .remove-img-span img {
+ display: inline !important;
+ margin: 0 !important
+}
+
+.infobox.minor tr:first-of-type > th {
+ padding: 7px;
+ border-bottom: 1px solid #333 !important
+}
+
+.infobox.minor tr:nth-of-type(2) > td {
+ border-top: none
+}
+
+.occupants-minor, .resources-minor {
+ text-align: left !important;
+ font-weight: 400;
+ padding: 5px 0 0 !important
+}
+
+.occupants-minor:first-of-type, .resources-minor:first-of-type {
+ border-right: 1px solid #333 !important
+}
+
+.occupants-minor li, .resources-minor li, .materials-minor li {
+ margin-bottom: 0 !important
+}
+
+.occupants-minor ul, .resources-minor ul, .materials-minor ul {
+ list-style: none !important;
+ padding: 7px !important;
+ font-weight: 400 !important
+}
+
+.color-wheel-minor {
+ border-radius: 50px;
+ border-style: solid;
+ border-width: 30px;
+ height: 0;
+ width: 0;
+ transform: rotate(45deg)
+}
+
+.loot-drops-minor li {
+ list-style-type: none;
+ margin-bottom: 0
+}
+
+.gemstone-slot-minor {
+ text-align: center !important;
+ padding: 5px
+}
+
+.upgrades-low-minor {
+ text-align: center !important;
+ font-weight: 400 !important;
+ border-right: 1px solid #333 !important
+}
+
+.upgrades-right-minor {
+ padding: 2px !important;
+ padding-top: 5px !important;
+ text-align: center !important
+}
+
+.upgrades-text-minor {
+ font-size: 15px !important;
+ font-weight: 700 !important
+}
+
+.attributes-minor {
+ text-align: center !important;
+ font-weight: 400 !important;
+ border-right: 1px #333 solid !important
+}
+
+.attributes-text-minor {
+ font-size: 13px !important;
+ font-weight: 700 !important
+}
+
+.container-navbox {
+ max-width: 100%;
+ height: auto;
+ padding: 6px;
+ font-size: 15px;
+ background-color: #1f1f1f;
+ border: 1px solid #c8ccd1;
+ border-color: #333 !important;
+ border-image: url(https://wiki.hypixel.net/images/hypixel/borders/classic_border.png) 1000 1000 repeat !important;
+ border-image-width: 35px !important;
+ border-image-outset: 2px !important;
+ clear: both
+}
+
+.container-navbox-header {
+ width: auto;
+ height: 35px;
+ padding: 10px;
+ border-bottom: 2px solid #333;
+ text-align: center;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 18px;
+ vertical-align: middle
+}
+
+.container-navbox-header p {
+ margin: 0 !important
+}
+
+.container-navbox-section {
+ max-width: 100%;
+ height: auto;
+ border-bottom: 2px solid #333;
+ display: flex;
+ flex-direction: row;
+ background-color: #1f1f1f;
+ column-gap: 5px
+}
+
+.container-navbox-section:last-child {
+ border-bottom: none
+}
+
+.container-navbox-group-header {
+ width: 200px;
+ max-height: 100%;
+ padding: 1em;
+ display: flex;
+ align-items: center;
+ background-color: #1f1f1f;
+ font-weight: 700;
+ white-space: pre-wrap;
+ column-gap: 10px
+}
+
+.container-navbox-group {
+ width: 100%;
+ padding: 15px 1em
+}
+
+.container-navbox-group ul {
+ columns: 220px auto
+}
+
+.container-navbox-group ul li {
+ margin-bottom: 5px
+}
+
+.dropdown:hover .dropdown-content {
+ visibility: visible;
+ opacity: 1
+}
+
+blockquote {
+ font-family: Raleway, helvetica, serif !important
+}
+
+.cata-image-loot-tabber * .tabber__tabs a::before {
+ content: "";
+ width: 35px;
+ height: 45px;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(1)::before {
+ background-image: url(https://wiki.hypixel.net/images/a/a8/SkyBlock_furniture_wood_chest_plus.png)
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(2)::before {
+ background-image: url(https://wiki.hypixel.net/images/b/be/SkyBlock_furniture_gold_chest_plus.png)
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(3)::before {
+ background-image: url(https://wiki.hypixel.net/images/e/e9/SkyBlock_furniture_diamond_chest_plus.png)
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(4)::before {
+ background-image: url(https://wiki.hypixel.net/images/8/82/SkyBlock_furniture_emerald_chest_plus.png)
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(5)::before {
+ background-image: url(https://wiki.hypixel.net/images/b/be/SkyBlock_furniture_ender_chest_plus.png)
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(6)::before {
+ background-image: url(https://wiki.hypixel.net/images/b/be/SkyBlock_furniture_ender_chest_plus.png)
+}
+
+.boss-quote-table-quote {
+ font-family: sans, serif;
+ font-size: 40px;
+ font-weight: 700;
+ color: #f55;
+ padding: 16px 10px;
+ line-height: .5
+}
+
+.toc > ul {
+ margin: 0 5em 0 32px !important
+}
+
+.toctogglecheckbox ~ ul {
+ display: none
+}
+
+.toctogglecheckbox:not(:checked) ~ ul {
+ display: block
+}
+
+.dialogue-headine {
+ padding: .5em 0;
+ line-height: 1.3;
+ word-wrap: break-word;
+ word-break: break-word;
+ font-weight: 700
+}
+
+.content code {
+ padding: .1em .4em
+}
+
+code {
+ border-image: none !important
+}
+
+.mw-parser-output {
+ display: inline-block;
+ width: 100%;
+ max-width: 100%
+}
+
+@media (min-width: 1000px) {
+ .header-container.header-chrome {
+ position: fixed;
+ z-index: 2;
+ width: 100%;
+ top: 0;
+ padding: 0 !important
+ }
+
+ .header-container.header-chrome:before {
+ box-shadow: 0 0 20px 10px #1a1a1a
+ }
+
+ #mw-mf-page-center, #mw-mf-page-center::before {
+ top: 100px !important
+ }
+
+ .minerva-user-menu-list {
+ top: 60px
+ }
+}
+
+@media (max-width: 1000px) {
+ .hypixel-site-navigation .toggle-list__toggle {
+ padding-left: 0 !important;
+ padding-right: 0 !important
+ }
+
+ #hypixel-site-navigation-wrapper {
+ padding: 0 .75em
+ }
+}
+
+@media (max-width: 720px) {
+ .header {
+ flex-wrap: wrap !important;
+ height: auto !important;
+ justify-content: space-around !important
+ }
+
+ #hypixel-site-navigation-wrapper {
+ order: 3;
+ flex-wrap: wrap !important;
+ row-gap: 15px;
+ justify-content: space-around
+ }
+
+ #hypixel-site-navigation-wrapper .toggle-list__list {
+ left: 0 !important;
+ width: 100% !important
+ }
+
+ .branding-box {
+ width: 80px;
+ height: 40px
+ }
+
+ .search-box {
+ width: 100% !important;
+ left: 0 !important
+ }
+}
+
+.main-menu-mask {
+ display: none !important
+}
+
+#hypixel-site-navigation-wrapper {
+ display: flex;
+ flex-wrap: nowrap
+}
+
+.hypixel-site-navigation {
+ color: #fff !important;
+ text-shadow: 1px 1px rgba(0, 0, 0, .5)
+}
+
+.hypixel-site-navigation a {
+ color: inherit !important
+}
+
+.hypixel-site-navigation .toggle-list__toggle {
+ padding: .75em
+}
+
+.hypixel-site-navigation .toggle-list__toggle:hover {
+ background-color: rgba(0, 0, 0, .4)
+}
+
+.hypixel-site-navigation .toggle-list__list {
+ top: 100%;
+ min-width: 200px
+}
+
+.hypixel-site-navigation .toggle-list__list .toggle-list-item .toggle-list-item__anchor {
+ min-height: 20px
+}
+
+.toggle-list__list, .minerva-user-menu-list {
+ border-radius: 3px
+}
+
+.minerva-user-navigation {
+ width: auto !important;
+ min-width: revert !important
+}
+
+.header {
+ display: flex;
+ justify-content: space-between;
+ align-content: center;
+ align-items: center;
+ flex-direction: row;
+ flex-wrap: nowrap
+}
+
+.hypixel-site-navigation > label::after {
+ content: "";
+ background-image: linear-gradient(transparent, transparent), url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+ZXhwYW5kPC90aXRsZT48ZyBmaWxsPSIjYTJhOWIxIj48cGF0aCBkPSJNMTcuNSA0Ljc1bC03LjUgNy41LTcuNS03LjVMMSA2LjI1bDkgOSA5LTl6Ii8+PC9nPjwvc3ZnPg==);
+ display: inline-block;
+ vertical-align: middle;
+ min-width: 1em;
+ min-height: 1em;
+ padding: 0 0 0 20px;
+ background-repeat: no-repeat;
+ background-size: 1em 1em;
+ background-position: center
+}
+
+#mw-mf-page-left ul li a span, .toggle-list-item__label {
+ color: #fff !important
+}
+
+.mw-ui-icon-wikimedia-flag-ltr-base20:before {
+ background-image: url(https://wiki.hypixel.net/resources/lib/ooui/themes/wikimediaui/images/icons/flag-ltr.svg)
+}
+
+.mw-ui-icon-wikimedia-articleRedirect-ltr-base20:before {
+ background-image: url(https://wiki.hypixel.net/resources/lib/ooui/themes/wikimediaui/images/icons/articleRedirect-ltr.svg)
+}
+
+@media (max-width: 720px) {
+ table.infobox {
+ display: table !important
+ }
+
+ table.wikitable {
+ display: block !important
+ }
+}
+
+table.infobox {
+ display: revert !important
+}
+
+.infobox ul {
+ list-style: none
+}
+
+#userloginForm .mw-userlogin-rememberme {
+ display: block !important
+}
+
+.mw-hp-tree {
+ color: #5f5;
+ margin-left: 20px
+}
+
+.mw-hp-tree li {
+ margin-bottom: 0;
+ list-style-type: disc
+}
+
+.mw-hp-tree li::marker {
+ color: #fff
+}
+
+.mw-hp-tree ul:first-of-type {
+ margin-top: 6px
+}
+
+.mw-hp-tree ul:last-of-type {
+ margin-bottom: 6px
+}
+
+.mw-hp-tree-container {
+ margin-left: 5px
+}
+
+.mw-hp-tree-text::after {
+ content: "Expand";
+ color: #ba91ff;
+ display: inline-block
+}
+
+.mw-hp-tree-text-down::after {
+ content: "Collapse";
+ color: #7698ff;
+ display: inline-block
+}
+
+.mw-hp-tree-anchor {
+ cursor: pointer;
+ user-select: none
+}
+
+.mw-hp-tree-nested {
+ display: none
+}
+
+.mw-hp-tree-active {
+ display: block
+}
+
+.mw-display-qrcode {
+ border: 2px solid #fff
+}
+
+.mw-overlays-container .search-overlay {
+ top: 71px
+}
+
+.mw-overlays-container .search-overlay .search-content, .mw-overlays-container .search-overlay .results {
+ margin-left: 0 !important
+}
+
+.mw-overlays-container .search-overlay .search-content {
+ z-index: 4;
+ position: relative;
+ border: none !important
+}
+
+.mw-overlays-container .search-overlay .overlay-content {
+ padding-top: 0 !important;
+ z-index: 3
+}
+
+.mw-overlays-container .search-overlay .overlay-header {
+ flex-wrap: nowrap !important
+}
+
+.mw-overlays-container .search-overlay .overlay-title {
+ padding-right: 15px
+}
+
+.mw-overlays-container .search-overlay .search {
+ max-width: unset !important
+}
+
+.mw-overlays-container .search-overlay .clear {
+ right: 5px !important
+}
+
+.mw-overlays-container .search-overlay .results {
+ position: relative;
+ box-shadow: none !important;
+ background: 0 0 !important
+}
+
+.mw-overlays-container .search-overlay .results ul > li {
+ color: #fff;
+ background: #1f1f1f;
+ border: 1px solid #333 !important;
+ border-radius: 6px;
+ margin: 5px 0;
+ box-shadow: 0 0 10px #1f1f1f !important
+}
+
+.mw-overlays-container .search-overlay .results .list-thumb {
+ background-color: #212121;
+ border-radius: 6px
+}
+
+.mw-overlays-container .search-overlay .results .page-summary h2, .mw-overlays-container .search-overlay .results .page-summary h3 {
+ color: #fff
+}
+
+@media (min-width: 720px) {
+ .overlay-content {
+ padding-left: 236px !important
+ }
+
+ .overlay-header-container {
+ z-index: 4 !important
+ }
+
+ .search-content, .results {
+ width: 380px !important
+ }
+}
+
+@media (max-width: 720px) {
+ div.overlay-header-container {
+ position: relative !important;
+ top: -71px !important
+ }
+
+ .overlay-content {
+ padding: 0 15px
+ }
+
+ .search-content, .results {
+ width: 100% !important
+ }
+}
+
+table.sortable .headerSort {
+ padding-right: 21px !important;
+ position: relative
+}
+
+table.sortable .headerSort:after {
+ background-image: inherit;
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-repeat: no-repeat;
+ background-position: center right;
+ filter: invert(100%);
+ pointer-events: none
+}
+
+.warningbox > p {
+ color: #fff;
+ margin: .5em 0
+}
+
+.suggestions-special {
+ border-radius: 6px
+}
+
+.mw-dismissable-notice {
+ background-color: #1f1f1f;
+ border-radius: 8px;
+ border: 1px solid #333;
+ border-image-width: 35px !important;
+ border-image-outset: 2px !important
+}
+
+.mw-dismissable-notice {
+ position: fixed;
+ display: block;
+ bottom: 25px;
+ z-index: 6;
+ width: 100%;
+ max-width: 92% !important;
+ box-shadow: 0 -5px 30px 20px rgba(0, 0, 0, .3);
+ margin: 0 !important;
+ left: 50%;
+ transform: translateX(-50%)
+}
+
+.mw-dismissable-notice-body {
+ padding: 20px;
+ margin: 0 !important
+}
+
+.mw-dismissable-notice-close {
+ padding: 20px
+}
+
+.banner-container {
+ position: relative
+}
+
+.warningbox {
+ color: #fff !important
+}
+
+#content {
+ position: relative;
+ z-index: 1;
+ background-color: transparent !important
+}
+
+div#mw-mf-page-center::before {
+ content: "";
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ height: 100%;
+ width: 100%;
+ background-image: linear-gradient(#1a1a1a, transparent), url(https://wiki.hypixel.net/images/hypixel/background.png);
+ background-image: linear-gradient(#1a1a1a, transparent), image-set(url(https://wiki.hypixel.net/images/hypixel/background.png) 1x, url(https://wiki.hypixel.net/images/hypixel/background-large.png) 2x);
+ background-attachment: fixed;
+ background-color: #1a1a1a;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ opacity: .075;
+ z-index: 0;
+ pointer-events: none
+}
+
+.page-Main_Page #wrapper #content {
+ background: 0 0 !important
+}
+
+.last-modified-bar, .footer {
+ position: relative
+}
+
+.last-modified-bar a, .last-modified-bar a:visited {
+ color: #fff
+}
+
+.overlay {
+ z-index: 2 !important
+}
+
+.mwe-math-element {
+ overflow: auto;
+ display: block
+}
+
+#page-secondary-actions {
+ display: none
+}
+
+.loot-drops-minor li {
+ margin-bottom: 0 !important
+}
+
+.warningbox {
+ color: #fff
+}
+
+.warningbox > p {
+ margin: .5em 0 !important;
+ font-size: 17px
+}
+
+.toctitle > .mw-ui-icon-minerva-listBullet {
+ display: none
+}
+
+.infobox img {
+ max-width: 100% !important
+}
+
+.hp-loottable td {
+ border: 2px solid #1a1a1a !important
+}
+
+.hp-loottable td:last-child {
+ color: #5f5
+}
+
+.is-affected-by-mf {
+ outline: dotted 3px transparent;
+ outline-offset: -1px;
+ outline-color: #5ff
+}
+
+.is-affected-by-pl {
+ outline: dotted 3px transparent;
+ outline-offset: -1px;
+ outline-color: #f5f
+}
+
+.is-affected-by-mf.is-affected-by-pl {
+ outline-color: #b591b7 !important
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(1)::before {
+ background-image: url(https://wiki.hypixel.net/images/b/b9/SkyBlock_furniture_dungeon_wood_reward_chest.png);
+ height: 65px
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(2)::before {
+ background-image: url(https://wiki.hypixel.net/images/8/85/SkyBlock_furniture_dungeon_gold_reward_chest.png);
+ height: 65px
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(3)::before {
+ background-image: url(https://wiki.hypixel.net/images/9/98/SkyBlock_furniture_dungeon_diamond_reward_chest.png);
+ height: 65px;
+ width: 40px
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(4)::before {
+ background-image: url(https://wiki.hypixel.net/images/e/e4/SkyBlock_furniture_dungeon_emerald_reward_chest.png);
+ height: 65px;
+ width: 40px
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(5)::before {
+ background-image: url(https://wiki.hypixel.net/images/4/40/SkyBlock_furniture_dungeon_obsidian_reward_chest.png);
+ height: 65px;
+ width: 50px
+}
+
+.cata-image-loot-tabber * .tabber__tabs a:nth-child(6)::before {
+ background-image: url(https://wiki.hypixel.net/images/8/87/SkyBlock_furniture_dungeon_bedrock_reward_chest.png);
+ height: 65px;
+ width: 55px
+}
+
+.diff-deletedline .diffchange {
+ background: #988e78 !important
+}
+
+.hide {
+ display: none
+}
+
+.page-notif-box {
+ border: 2px solid #333 !important;
+ border-left-width: 10px !important;
+ border-radius: 6px;
+ border-collapse: separate !important;
+ width: 75%;
+ background-color: #1f1f1f !important;
+ box-shadow: 0 0 10px #1f1f1f !important;
+ display: flex;
+ margin: auto !important;
+ color: #fff;
+ font-weight: 700;
+ margin-top: 25px !important;
+ margin-bottom: 25px !important
+}
+
+.page-notif-box tr > td {
+ border: none;
+ padding: .25em .9em
+}
+
+.page-notif-box img {
+ max-width: revert !important;
+ flex-shrink: 0
+}
+
+.page-notif-box-updating, .page-notif-box-changed {
+ border-color: #e7871b !important
+}
+
+.page-notif-box-no-obtain, .page-notif-box-cannot-obtain {
+ border-color: #e30000 !important
+}
+
+.page-notif-box-alpha {
+ border-color: #0d6f67 !important
+}
+
+.hp-input {
+ height: 35px;
+ width: 100%;
+ border: none !important
+}
+
+.dungeon-calc-container td, .loot-calc-container td {
+ border: 2px solid #1a1a1a
+}
+
+.dungeon-calc-button, .loot-calc-button {
+ cursor: pointer;
+ vertical-align: bottom;
+ background-color: #3f7dfb !important;
+ transition-duration: .35s;
+ padding: 5px !important
+}
+
+.dungeon-calc-button:hover, .loot-calc-button:hover {
+ background-color: #5e93fe !important
+}
+
+.hp-loottable td:last-child {
+ color: #5f5
+}
+
+.dungeon-loottable td:last-child {
+ color: #5f5
+}
+
+.listspacing li {
+ margin-bottom: 0 !important
+}
+
+.listspacing li:last-child {
+ margin-bottom: 1em !important
+}
+
+.listdisplay li {
+ display: inline !important
+}
+
+.categoryboxcontainer {
+ max-width: 100%;
+ height: 35px;
+ background-color: #1f1f1f;
+ border: 1px solid #333;
+ padding: 3px;
+ font-size: 15px;
+ clear: both
+}
+
+.categoryboxcontainer li {
+ display: inline-block;
+ padding-left: 5px;
+ padding-right: 5px;
+ line-height: 35px
+}
+
+.categoryboxcontainer li:first-child {
+ padding-left: 0;
+ border-left: none
+}
+
+.categoryboxcontainer li:nth-child(2) {
+ border-left: none
+}
+
+.categoryboxcontainer li:empty {
+ display: none
+}
+
+.tooltiptemp {
+ position: relative !important;
+ display: inline-block !important;
+ text-decoration: underline dotted;
+ cursor: help
+}
+
+.tooltiptemp .tooltiptexttemp {
+ visibility: hidden;
+ width: 240px;
+ background-color: #000;
+ color: #fff;
+ text-align: center;
+ border: 1px #333 solid;
+ border-radius: 6px;
+ padding: 5px 0;
+ position: absolute;
+ z-index: 1;
+ bottom: 100% !important;
+ left: 50% !important;
+ margin-left: -120px !important;
+ opacity: 0;
+ transition: opacity 1s
+}
+
+.tooltiptemp .tooltiptexttemp::after {
+ content: "";
+ position: absolute;
+ top: 100%;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 5px;
+ border-style: solid;
+ border-color: #000 transparent transparent transparent
+}
+
+.tooltiptemp:hover .tooltiptexttemp {
+ visibility: visible;
+ opacity: 1
+}
+
+.tooltiptemp p {
+ margin: 0
+}
+
+.raw-mctooltip {
+ position: relative !important;
+ display: inline-block !important;
+ font-weight: 400
+}
+
+.raw-mctooltip:hover .raw-mctooltiptext {
+ display: inline
+}
+
+.raw-mctooltiptext {
+ display: none;
+ font-family: minecraft, helvetica, serif;
+ margin: 0
+}
+
+.content .mw-parser-output > h2 {
+ padding: .25em 0;
+ font-size: 1.8em;
+ margin-top: 35px
+}
+
+.content .mw-parser-output > h2, .content .mw-parser-output > h3 {
+ text-transform: uppercase;
+ font-weight: 400
+}
+
+.heading-holder {
+ padding: 0 !important
+}
+
+.mw-body-content blockquote {
+ background-color: #212121;
+ border-radius: 6px;
+ border: 1px solid #333 !important;
+ border-left-width: 5px !important;
+ display: table
+}
+
+.tabber__tab {
+ font-weight: 400 !important;
+ column-gap: 10px
+}
+
+.tabber__header .tabber__tab:not(.tabber__tab--active) {
+ color: #fff
+}
+
+.mw-collapsible-toggle {
+ padding-left: 5px
+}
+
+.tabber__header, .tabber__section, .tabber__panel {
+ scroll-snap-type: none !important;
+ overscroll-behavior: none !important;
+ scroll-snap-align: none !important;
+ overflow: hidden !important
+}
+
+.mw-userlogin-help {
+ display: none
+}
+
+@media (min-width: 720px) {
+ .header .branding-box {
+ max-height: 55px
+ }
+}
+
+@font-face {
+ font-family: minecraft;
+ src: url(https://wiki.hypixel.net/fonts/minecraft.woff) format("woff")
+}
+
+.minecraft-inventory {
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -webkit-user-select: none;
+ background-color: #c6c6c6;
+ border: 4px solid;
+ border-color: #fff #555 #555 #fff;
+ border-radius: 4px;
+ box-shadow: 0 0 0 1px #000;
+ color: #404040;
+ display: inline-block;
+ font-family: minecraft, serif;
+ font-size: 15px;
+ font-weight: 400;
+ padding: 2px 6px 6px;
+ user-select: none;
+ margin: 10px 0
+}
+
+.minecraft-inventory table {
+ border-collapse: separate;
+ margin: 0 !important
+}
+
+.minecraft-inventory td {
+ background: #8b8b8b no-repeat center center/32px 32px;
+ border: 2px solid;
+ border-color: #373737 #fff #fff #373737;
+ box-sizing: border-box;
+ padding: 0;
+ position: relative;
+ width: 36px
+}
+
+.minecraft-inventory td > .external {
+ background: 0 0;
+ padding: 0
+}
+
+.minecraft-inventory td > a:hover {
+ text-decoration: none
+}
+
+.minecraft-inventory td:hover:after {
+ background: #fff;
+ content: "";
+ float: left;
+ height: 100%;
+ left: 0;
+ opacity: .5;
+ pointer-events: none;
+ position: absolute;
+ top: 0;
+ width: 100%
+}
+
+.minecraft-inventory td:hover .mctooltip {
+ display: block
+}
+
+.minecraft-inventory > span {
+ padding: 2px
+}
+
+.minecraft-inventory tr {
+ height: 36px
+}
+
+.minecraft-inventory .enchanted::before {
+ content: "";
+ height: 32px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 32px;
+ background-image: url(https://wiki.hypixel.net/images/minecraft/glint.webp);
+ mix-blend-mode: color-dodge
+}
+
+.minecraft-inventory .enchanted::after {
+ content: "";
+ height: 32px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 32px;
+ background-image: url(https://wiki.hypixel.net/images/minecraft/item-spritesheet_cutout.png);
+ background-position: inherit
+}
+
+.minecraft-inventory .amount {
+ margin: 0;
+ position: relative;
+ z-index: 999
+}
+
+.minecraft-inventory .sbsprite {
+ background-repeat: no-repeat;
+ color: #fff;
+ direction: rtl;
+ display: block;
+ text-shadow: 2px 2px #3f3f3f;
+ background-image: url(https://wiki.hypixel.net/images/skyblock/item-spritesheet.png);
+ height: 22px;
+ line-height: 44px;
+ margin: 0 5px;
+ text-indent: -8px;
+ width: 22px
+}
+
+.minecraft-inventory .mcsprite {
+ background-repeat: no-repeat;
+ color: #fff;
+ direction: rtl;
+ display: block;
+ text-shadow: 2px 2px #3f3f3f;
+ background-image: url(https://wiki.hypixel.net/images/minecraft/item-spritesheet.png);
+ height: 32px;
+ line-height: 54px;
+ text-indent: -2px;
+ width: 32px
+}
+
+.minecraft-inventory .sbpet {
+ background-repeat: no-repeat;
+ color: #fff;
+ direction: rtl;
+ display: block;
+ text-shadow: 2px 2px #3f3f3f;
+ background-image: url(https://wiki.hypixel.net/images/skyblock/pet-spritesheet.png);
+ height: 22px;
+ line-height: 44px;
+ margin: 0 6px;
+ text-indent: -8px;
+ width: 20px
+}
+
+.mctooltip {
+ background: rgba(16, 0, 16, .93);
+ border: 2px solid;
+ border-image: linear-gradient(to bottom, rgba(80, 0, 255, 0.31), rgba(40, 0, 127, 0.31));
+ border-image-slice: 1;
+ border-radius: 4px;
+ box-shadow: 0 0 0 2px rgba(16, 0, 16, .93);
+ display: none;
+ line-height: 18px;
+ margin-left: 15px;
+ margin-top: -30px;
+ padding: 4px 4px 3px;
+ position: fixed;
+ text-indent: initial;
+ text-shadow: 2px 2px #3f3f3f;
+ z-index: 9999
+}
+
+.mctooltip > span {
+ direction: ltr;
+ display: block;
+ white-space: nowrap;
+ text-align: left
+}
+
+.mctooltip > span:nth-child(1):not(:last-child) {
+ padding-bottom: 5px
+}
+
+.mctooltip > span:nth-child(n+2) {
+ float: left
+}
+
+.mctooltip > span:nth-child(n+2):not(:last-child) {
+ padding-right: 4px
+}
+
+.mctooltip > span.inline {
+ display: inline-block !important
+}
+
+.mctooltip .rarity-divine {
+ color: #5ff
+}
+
+.mctooltip .rarity-rare {
+ color: #55f;
+ text-shadow: 2px 2px #15153f
+}
+
+.mctooltip .rarity-epic {
+ color: #a0a;
+ text-shadow: 2px 2px #2a002a
+}
+
+.mctooltip .rarity-supreme {
+ color: #a00;
+ text-shadow: 2px 2px #2a0000
+}
+
+.mctooltip .rarity-legendary {
+ color: #fa0;
+ text-shadow: 2px 2px #2a2a00
+}
+
+.mctooltip .rarity-uncommon {
+ color: #5f5;
+ text-shadow: 2px 2px #153f15
+}
+
+.mctooltip .rarity-mythic {
+ color: #f5f;
+ text-shadow: 2px 2px #3f153f
+}
+
+.mctooltip .rarity-veryspecial {
+ color: #f55;
+ text-shadow: 2px 2px #3f1515
+}
+
+.mctooltip .rarity-special {
+ color: #f55;
+ text-shadow: 2px 2px #3f1515
+}
+
+.mctooltip .color-aqua {
+ text-shadow: 2px 2px #153f3f
+}
+
+.mctooltip .color-black {
+ text-shadow: 2px 2px #000
+}
+
+.mctooltip .color-blue {
+ text-shadow: 2px 2px #15153f
+}
+
+.mctooltip .color-dark_aqua {
+ text-shadow: 2px 2px #002a2a
+}
+
+.mctooltip .color-dark_blue {
+ text-shadow: 2px 2px #00002a
+}
+
+.mctooltip .color-dark_gray {
+ text-shadow: 2px 2px #151515
+}
+
+.mctooltip .color-dark_green {
+ text-shadow: 2px 2px #002a00
+}
+
+.mctooltip .color-dark_purple {
+ text-shadow: 2px 2px #2a002a
+}
+
+.mctooltip .color-dark_red {
+ text-shadow: 2px 2px #2a0000
+}
+
+.mctooltip .color-gold {
+ text-shadow: 2px 2px #2a2a00
+}
+
+.mctooltip .color-gray {
+ text-shadow: 2px 2px #2a2a2a
+}
+
+.mctooltip .color-green {
+ text-shadow: 2px 2px #153f15
+}
+
+.mctooltip .color-light_purple {
+ text-shadow: 2px 2px #3f153f
+}
+
+.mctooltip .color-red {
+ text-shadow: 2px 2px #3f1515
+}
+
+.mctooltip .color-white {
+ text-shadow: 2px 2px #3f3f3f
+}
+
+.mctooltip .color-yellow {
+ text-shadow: 2px 2px #3f3f15
+}
+
+.color-aqua {
+ color: #5ff
+}
+
+.color-black {
+ color: #000
+}
+
+.color-blue {
+ color: #55f
+}
+
+.color-dark_aqua {
+ color: #0aa
+}
+
+.color-dark_blue {
+ color: #00a
+}
+
+.color-dark_gray {
+ color: #555
+}
+
+.color-dark_green {
+ color: #0a0
+}
+
+.color-dark_purple {
+ color: #a0a
+}
+
+.color-dark_red {
+ color: #a00
+}
+
+.color-gold {
+ color: #fa0
+}
+
+.color-gray {
+ color: #aaa
+}
+
+.color-green {
+ color: #5f5
+}
+
+.color-light_purple {
+ color: #f5f
+}
+
+.color-red {
+ color: #f55
+}
+
+.color-white {
+ color: #fff
+}
+
+.color-yellow {
+ color: #ff5
+}
+
+.mcentity {
+ background-image: url(https://wiki.hypixel.net/images/minecraft/entity-spritesheet.png);
+ height: 16px;
+ width: 16px
+}
+
+.mcblock {
+ background-image: url(https://wiki.hypixel.net/images/minecraft/block-spritesheet.png);
+ height: 16px;
+ width: 16px
+}
+
+.sbspray {
+ background-image: url(https://wiki.hypixel.net/images/skyblock/spray-spritesheet.png);
+ height: 128px;
+ width: 128px
+}
+
+.sbnpc {
+ background-image: url(https://wiki.hypixel.net/images/skyblock/npc-spritesheet.png);
+ height: 120px;
+ width: 270px
+}
+
+.sbnpc-_56ms {
+ background-position: 0 0
+}
+
+.sbnpc-adventurer {
+ background-position: -120px 0
+}
+
+.sbnpc-agents {
+ background-position: -240px 0
+}
+
+.sbnpc-anita {
+ background-position: -360px 0
+}
+
+.sbnpc-archeologist {
+ background-position: -480px 0
+}
+
+.sbnpc-armorsmith {
+ background-position: -600px 0
+}
+
+.sbnpc-arthur {
+ background-position: -720px 0
+}
+
+.sbnpc-artist {
+ background-position: -840px 0
+}
+
+.sbnpc-artist_2 {
+ background-position: -960px 0
+}
+
+.sbnpc-auction_agent_0 {
+ background-position: -1080px 0
+}
+
+.sbnpc-auction_agent_1 {
+ background-position: -1200px 0
+}
+
+.sbnpc-auction_agent_2 {
+ background-position: -1320px 0
+}
+
+.sbnpc-auction_agent_3 {
+ background-position: -1440px 0
+}
+
+.sbnpc-auction_master {
+ background-position: -1560px 0
+}
+
+.sbnpc-baker {
+ background-position: -1680px 0
+}
+
+.sbnpc-banker {
+ background-position: -1800px 0
+}
+
+.sbnpc-bartender {
+ background-position: -1920px 0
+}
+
+.sbnpc-bazaar {
+ background-position: -2040px 0
+}
+
+.sbnpc-bazaar_assistant {
+ background-position: -2160px 0
+}
+
+.sbnpc-beekeeper {
+ background-position: -2280px 0
+}
+
+.sbnpc-bestiary {
+ background-position: -2400px 0
+}
+
+.sbnpc-beth {
+ background-position: -2520px 0
+}
+
+.sbnpc-blue_shark {
+ background-position: -2640px 0
+}
+
+.sbnpc-bodyguard_1 {
+ background-position: -2760px 0
+}
+
+.sbnpc-bodyguard_2 {
+ background-position: 0 -270px
+}
+
+.sbnpc-bonzo {
+ background-position: -120px -270px
+}
+
+.sbnpc-bonzo_summon_0 {
+ background-position: -240px -270px
+}
+
+.sbnpc-bonzo_summon_1 {
+ background-position: -360px -270px
+}
+
+.sbnpc-bonzo_summon_2 {
+ background-position: -480px -270px
+}
+
+.sbnpc-bonzo_undead {
+ background-position: -600px -270px
+}
+
+.sbnpc-builder {
+ background-position: -720px -270px
+}
+
+.sbnpc-candidate {
+ background-position: -840px -270px
+}
+
+.sbnpc-cannibal_undead {
+ background-position: -960px -270px
+}
+
+.sbnpc-carpenter {
+ background-position: -1080px -270px
+}
+
+.sbnpc-catacombs_blacksmith {
+ background-position: -1200px -270px
+}
+
+.sbnpc-century_simon {
+ background-position: -1320px -270px
+}
+
+.sbnpc-charlie {
+ background-position: -1440px -270px
+}
+
+.sbnpc-clerk_election {
+ background-position: -1560px -270px
+}
+
+.sbnpc-community_shop {
+ background-position: -1680px -270px
+}
+
+.sbnpc-crypt_dreadlord {
+ background-position: -1800px -270px
+}
+
+.sbnpc-crypt_souleater {
+ background-position: -1920px -270px
+}
+
+.sbnpc-crystal_sentry {
+ background-position: -2040px -270px
+}
+
+.sbnpc-dante_grey {
+ background-position: -2160px -270px
+}
+
+.sbnpc-dante_statue {
+ background-position: -2280px -270px
+}
+
+.sbnpc-default_lost_adventurer {
+ background-position: -2400px -270px
+}
+
+.sbnpc-derp_candidate {
+ background-position: -2520px -270px
+}
+
+.sbnpc-diamond_guy {
+ background-position: -2640px -270px
+}
+
+.sbnpc-dictator {
+ background-position: -2760px -270px
+}
+
+.sbnpc-dirt_guy {
+ background-position: 0 -540px
+}
+
+.sbnpc-donpireso {
+ background-position: -120px -540px
+}
+
+.sbnpc-duncan {
+ background-position: -240px -540px
+}
+
+.sbnpc-dungeons_candidate {
+ background-position: -360px -540px
+}
+
+.sbnpc-dungeons_hub_selector {
+ background-position: -480px -540px
+}
+
+.sbnpc-dusk {
+ background-position: -600px -540px
+}
+
+.sbnpc-dwarf_banker {
+ background-position: -720px -540px
+}
+
+.sbnpc-dwarf_citizen_female_5 {
+ background-position: -840px -540px
+}
+
+.sbnpc-dwarf_citizen_female_6 {
+ background-position: -960px -540px
+}
+
+.sbnpc-dwarf_citizen_female_7 {
+ background-position: -1080px -540px
+}
+
+.sbnpc-dwarf_citizen_male_1 {
+ background-position: -1200px -540px
+}
+
+.sbnpc-dwarf_citizen_male_2 {
+ background-position: -1320px -540px
+}
+
+.sbnpc-dwarf_citizen_male_3 {
+ background-position: -1440px -540px
+}
+
+.sbnpc-dwarf_citizen_male_4 {
+ background-position: -1560px -540px
+}
+
+.sbnpc-dwarf_council_female_5 {
+ background-position: -1680px -540px
+}
+
+.sbnpc-dwarf_council_female_6 {
+ background-position: -1800px -540px
+}
+
+.sbnpc-dwarf_council_female_7 {
+ background-position: -1920px -540px
+}
+
+.sbnpc-dwarf_council_female_8 {
+ background-position: -2040px -540px
+}
+
+.sbnpc-dwarf_council_male_1 {
+ background-position: -2160px -540px
+}
+
+.sbnpc-dwarf_council_male_2 {
+ background-position: -2280px -540px
+}
+
+.sbnpc-dwarf_council_male_3 {
+ background-position: -2400px -540px
+}
+
+.sbnpc-dwarf_council_male_4 {
+ background-position: -2520px -540px
+}
+
+.sbnpc-dwarf_militia_1 {
+ background-position: -2640px -540px
+}
+
+.sbnpc-dwarf_militia_2 {
+ background-position: -2760px -540px
+}
+
+.sbnpc-dwarf_militia_3 {
+ background-position: 0 -810px
+}
+
+.sbnpc-dwarf_militia_4 {
+ background-position: -120px -810px
+}
+
+.sbnpc-dwarf_militia_5 {
+ background-position: -240px -810px
+}
+
+.sbnpc-dwarf_militia_6 {
+ background-position: -360px -810px
+}
+
+.sbnpc-dwarf_royalguard_female_5 {
+ background-position: -480px -810px
+}
+
+.sbnpc-dwarf_royalguard_female_6 {
+ background-position: -600px -810px
+}
+
+.sbnpc-dwarf_royalguard_female_7 {
+ background-position: -720px -810px
+}
+
+.sbnpc-dwarf_royalguard_female_8 {
+ background-position: -840px -810px
+}
+
+.sbnpc-dwarf_royalguard_male_1 {
+ background-position: -960px -810px
+}
+
+.sbnpc-dwarf_royalguard_male_2 {
+ background-position: -1080px -810px
+}
+
+.sbnpc-dwarf_royalguard_male_3 {
+ background-position: -1200px -810px
+}
+
+.sbnpc-dwarf_royalguard_male_4 {
+ background-position: -1320px -810px
+}
+
+.sbnpc-economist_candidate {
+ background-position: -1440px -810px
+}
+
+.sbnpc-elle {
+ background-position: -1560px -810px
+}
+
+.sbnpc-emissary_female_1 {
+ background-position: -1680px -810px
+}
+
+.sbnpc-emissary_female_2 {
+ background-position: -1800px -810px
+}
+
+.sbnpc-emissary_female_3 {
+ background-position: -1920px -810px
+}
+
+.sbnpc-emissary_male_1 {
+ background-position: -2040px -810px
+}
+
+.sbnpc-emissary_male_2 {
+ background-position: -2160px -810px
+}
+
+.sbnpc-emissary_male_3 {
+ background-position: -2280px -810px
+}
+
+.sbnpc-end_dealer {
+ background-position: -2400px -810px
+}
+
+.sbnpc-enderman_liquid_hot_magma {
+ background-position: -2520px -810px
+}
+
+.sbnpc-enraged_revenant_horror {
+ background-position: -2640px -810px
+}
+
+.sbnpc-entity_liquid_hot_magma {
+ background-position: -2760px -810px
+}
+
+.sbnpc-event_master {
+ background-position: 0 -1080px
+}
+
+.sbnpc-events_candidate {
+ background-position: -120px -1080px
+}
+
+.sbnpc-fairy {
+ background-position: -240px -1080px
+}
+
+.sbnpc-farm_merchant {
+ background-position: -360px -1080px
+}
+
+.sbnpc-farmer {
+ background-position: -480px -1080px
+}
+
+.sbnpc-farmer_jon {
+ background-position: -600px -1080px
+}
+
+.sbnpc-fire_guy {
+ background-position: -720px -1080px
+}
+
+.sbnpc-fish_merchant {
+ background-position: -840px -1080px
+}
+
+.sbnpc-fisherman {
+ background-position: -960px -1080px
+}
+
+.sbnpc-fishing_candidate {
+ background-position: -1080px -1080px
+}
+
+.sbnpc-flamer_undead {
+ background-position: -1200px -1080px
+}
+
+.sbnpc-forger {
+ background-position: -1320px -1080px
+}
+
+.sbnpc-frank_undead {
+ background-position: -1440px -1080px
+}
+
+.sbnpc-friendly_hiker {
+ background-position: -1560px -1080px
+}
+
+.sbnpc-frost_undead {
+ background-position: -1680px -1080px
+}
+
+.sbnpc-frosty {
+ background-position: -1800px -1080px
+}
+
+.sbnpc-frozen_lost_adventurer {
+ background-position: -1920px -1080px
+}
+
+.sbnpc-furry_e_boy {
+ background-position: -2040px -1080px
+}
+
+.sbnpc-gatekeeper {
+ background-position: -2160px -1080px
+}
+
+.sbnpc-giant_undead {
+ background-position: -2280px -1080px
+}
+
+.sbnpc-goblin {
+ background-position: -2400px -1080px
+}
+
+.sbnpc-goblin_armor_1 {
+ background-position: -2520px -1080px
+}
+
+.sbnpc-goblin_armor_2 {
+ background-position: -2640px -1080px
+}
+
+.sbnpc-goblin_armor_3 {
+ background-position: -2760px -1080px
+}
+
+.sbnpc-goblin_armor_4 {
+ background-position: 0 -1350px
+}
+
+.sbnpc-goblin_king_1 {
+ background-position: -120px -1350px
+}
+
+.sbnpc-goblin_murderlover {
+ background-position: -240px -1350px
+}
+
+.sbnpc-goblin_naked_1 {
+ background-position: -360px -1350px
+}
+
+.sbnpc-goblin_naked_2 {
+ background-position: -480px -1350px
+}
+
+.sbnpc-goblin_naked_3 {
+ background-position: -600px -1350px
+}
+
+.sbnpc-goblin_naked_4 {
+ background-position: -720px -1350px
+}
+
+.sbnpc-goblin_naked_5 {
+ background-position: -840px -1350px
+}
+
+.sbnpc-gold_forger {
+ background-position: -960px -1350px
+}
+
+.sbnpc-goon {
+ background-position: -1080px -1350px
+}
+
+.sbnpc-grandma_wolf {
+ background-position: -1200px -1350px
+}
+
+.sbnpc-great_white_shark {
+ background-position: -1320px -1350px
+}
+
+.sbnpc-guber {
+ background-position: -1440px -1350px
+}
+
+.sbnpc-guildford {
+ background-position: -1560px -1350px
+}
+
+.sbnpc-gulliver {
+ background-position: -1680px -1350px
+}
+
+.sbnpc-gustave {
+ background-position: -1800px -1350px
+}
+
+.sbnpc-haymitch {
+ background-position: -1920px -1350px
+}
+
+.sbnpc-hephaestus {
+ background-position: -2040px -1350px
+}
+
+.sbnpc-holy_lost_adventurer {
+ background-position: -2160px -1350px
+}
+
+.sbnpc-hub_selector {
+ background-position: -2280px -1350px
+}
+
+.sbnpc-hungry_hiker {
+ background-position: -2400px -1350px
+}
+
+.sbnpc-hunter_ava {
+ background-position: -2520px -1350px
+}
+
+.sbnpc-ice_fisherman {
+ background-position: -2640px -1350px
+}
+
+.sbnpc-iron_forger {
+ background-position: -2760px -1350px
+}
+
+.sbnpc-jacob {
+ background-position: 0 -1620px
+}
+
+.sbnpc-jake {
+ background-position: -120px -1620px
+}
+
+.sbnpc-juliette {
+ background-position: -240px -1620px
+}
+
+.sbnpc-kessie {
+ background-position: -360px -1620px
+}
+
+.sbnpc-king_midas {
+ background-position: -480px -1620px
+}
+
+.sbnpc-lapis_miner {
+ background-position: -600px -1620px
+}
+
+.sbnpc-lazy_miner {
+ background-position: -720px -1620px
+}
+
+.sbnpc-leech_undead {
+ background-position: -840px -1620px
+}
+
+.sbnpc-lift_operator {
+ background-position: -960px -1620px
+}
+
+.sbnpc-liquid_hot_magma {
+ background-position: -1080px -1620px
+}
+
+.sbnpc-livid {
+ background-position: -1200px -1620px
+}
+
+.sbnpc-livid_undead {
+ background-position: -1320px -1620px
+}
+
+.sbnpc-lonely_philosopher {
+ background-position: -1440px -1620px
+}
+
+.sbnpc-lumber_merchant {
+ background-position: -1560px -1620px
+}
+
+.sbnpc-lumberjack {
+ background-position: -1680px -1620px
+}
+
+.sbnpc-mason {
+ background-position: -1800px -1620px
+}
+
+.sbnpc-master_tactician {
+ background-position: -1920px -1620px
+}
+
+.sbnpc-mayhem_main {
+ background-position: -2040px -1620px
+}
+
+.sbnpc-mayor {
+ background-position: -2160px -1620px
+}
+
+.sbnpc-melancholic_viking {
+ background-position: -2280px -1620px
+}
+
+.sbnpc-melody {
+ background-position: -2400px -1620px
+}
+
+.sbnpc-mine_merchant {
+ background-position: -2520px -1620px
+}
+
+.sbnpc-mining_candidate {
+ background-position: -2640px -1620px
+}
+
+.sbnpc-minos_champion {
+ background-position: -2760px -1620px
+}
+
+.sbnpc-minos_inquisitor {
+ background-position: 0 -1890px
+}
+
+.sbnpc-minotaur {
+ background-position: -120px -1890px
+}
+
+.sbnpc-mort {
+ background-position: -240px -1890px
+}
+
+.sbnpc-mr_dead_undead {
+ background-position: -360px -1890px
+}
+
+.sbnpc-mute_undead {
+ background-position: -480px -1890px
+}
+
+.sbnpc-nitroholic {
+ background-position: -600px -1890px
+}
+
+.sbnpc-nurse_shark {
+ background-position: -720px -1890px
+}
+
+.sbnpc-old_man_garry {
+ background-position: -840px -1890px
+}
+
+.sbnpc-ooze_undead {
+ background-position: -960px -1890px
+}
+
+.sbnpc-ophelia {
+ background-position: -1080px -1890px
+}
+
+.sbnpc-oringo {
+ background-position: -1200px -1890px
+}
+
+.sbnpc-parasite_undead {
+ background-position: -1320px -1890px
+}
+
+.sbnpc-pat {
+ background-position: -1440px -1890px
+}
+
+.sbnpc-personal_bank_upgrader {
+ background-position: -1560px -1890px
+}
+
+.sbnpc-pet_collector {
+ background-position: -1680px -1890px
+}
+
+.sbnpc-pet_sitter {
+ background-position: -1800px -1890px
+}
+
+.sbnpc-pets_candidate {
+ background-position: -1920px -1890px
+}
+
+.sbnpc-placeholder_candidate {
+ background-position: -2040px -1890px
+}
+
+.sbnpc-player_jerry {
+ background-position: -2160px -1890px
+}
+
+.sbnpc-potato_king {
+ background-position: -2280px -1890px
+}
+
+.sbnpc-professor {
+ background-position: -2400px -1890px
+}
+
+.sbnpc-psycho_undead {
+ background-position: -2520px -1890px
+}
+
+.sbnpc-putrid_undead {
+ background-position: -2640px -1890px
+}
+
+.sbnpc-puzzler {
+ background-position: -2760px -1890px
+}
+
+.sbnpc-rainmaker {
+ background-position: 0 -2160px
+}
+
+.sbnpc-reaper_undead {
+ background-position: -120px -2160px
+}
+
+.sbnpc-redstone_engineer {
+ background-position: -240px -2160px
+}
+
+.sbnpc-refraction {
+ background-position: -360px -2160px
+}
+
+.sbnpc-relenter {
+ background-position: -480px -2160px
+}
+
+.sbnpc-revenant_horror {
+ background-position: -600px -2160px
+}
+
+.sbnpc-revoker_undead {
+ background-position: -720px -2160px
+}
+
+.sbnpc-rick {
+ background-position: -840px -2160px
+}
+
+.sbnpc-romero_final {
+ background-position: -960px -2160px
+}
+
+.sbnpc-romero_normal {
+ background-position: -1080px -2160px
+}
+
+.sbnpc-sadan {
+ background-position: -1200px -2160px
+}
+
+.sbnpc-salesman_christmas {
+ background-position: -1320px -2160px
+}
+
+.sbnpc-salesman_easter {
+ background-position: -1440px -2160px
+}
+
+.sbnpc-salesman_generic {
+ background-position: -1560px -2160px
+}
+
+.sbnpc-salesman_halloween {
+ background-position: -1680px -2160px
+}
+
+.sbnpc-salesman_summer {
+ background-position: -1800px -2160px
+}
+
+.sbnpc-scarf_archer {
+ background-position: -1920px -2160px
+}
+
+.sbnpc-scarf_mage {
+ background-position: -2040px -2160px
+}
+
+.sbnpc-scarf_priest {
+ background-position: -2160px -2160px
+}
+
+.sbnpc-scarf_undead {
+ background-position: -2280px -2160px
+}
+
+.sbnpc-scarf_warrior {
+ background-position: -2400px -2160px
+}
+
+.sbnpc-scoop {
+ background-position: -2520px -2160px
+}
+
+.sbnpc-scorpius {
+ background-position: -2640px -2160px
+}
+
+.sbnpc-shadow_assassin {
+ background-position: -2760px -2160px
+}
+
+.sbnpc-shady_bartender {
+ background-position: 0 -2430px
+}
+
+.sbnpc-shady_cousin {
+ background-position: -120px -2430px
+}
+
+.sbnpc-shaggy {
+ background-position: -240px -2430px
+}
+
+.sbnpc-shepherd {
+ background-position: -360px -2430px
+}
+
+.sbnpc-simon_hat {
+ background-position: -480px -2430px
+}
+
+.sbnpc-sirius {
+ background-position: -600px -2430px
+}
+
+.sbnpc-skeletor_prime {
+ background-position: -720px -2430px
+}
+
+.sbnpc-skull_undead {
+ background-position: -840px -2430px
+}
+
+.sbnpc-slayer {
+ background-position: -960px -2430px
+}
+
+.sbnpc-slayer_candidate {
+ background-position: -1080px -2430px
+}
+
+.sbnpc-snowmaker {
+ background-position: -1200px -2430px
+}
+
+.sbnpc-spirit_bear {
+ background-position: -1320px -2430px
+}
+
+.sbnpc-spooky {
+ background-position: -1440px -2430px
+}
+
+.sbnpc-st_jerry {
+ background-position: -1560px -2430px
+}
+
+.sbnpc-sylent {
+ background-position: -1680px -2430px
+}
+
+.sbnpc-tailor_assistant {
+ background-position: -1800px -2430px
+}
+
+.sbnpc-tailor_owner {
+ background-position: -1920px -2430px
+}
+
+.sbnpc-tammy {
+ background-position: -2040px -2430px
+}
+
+.sbnpc-tear_undead {
+ background-position: -2160px -2430px
+}
+
+.sbnpc-technoblade {
+ background-position: -2280px -2430px
+}
+
+.sbnpc-terracotta {
+ background-position: -2400px -2430px
+}
+
+.sbnpc-terry {
+ background-position: -2520px -2430px
+}
+
+.sbnpc-thirty_virus {
+ background-position: -2640px -2430px
+}
+
+.sbnpc-tiger_shark {
+ background-position: -2760px -2430px
+}
+
+.sbnpc-timedeo {
+ background-position: -2880px 0
+}
+
+.sbnpc-tomioka {
+ background-position: -2880px -270px
+}
+
+.sbnpc-tony {
+ background-position: -2880px -540px
+}
+
+.sbnpc-treasure_horder {
+ background-position: -2880px -810px
+}
+
+.sbnpc-treasure_hunter {
+ background-position: -2880px -1080px
+}
+
+.sbnpc-trevor {
+ background-position: -2880px -1350px
+}
+
+.sbnpc-trinity {
+ background-position: -2880px -1620px
+}
+
+.sbnpc-unstable_lost_adventurer {
+ background-position: -2880px -1890px
+}
+
+.sbnpc-vader_undead {
+ background-position: -2880px -2160px
+}
+
+.sbnpc-vinny {
+ background-position: -2880px -2430px
+}
+
+.sbnpc-walker_undead {
+ background-position: 0 -2700px
+}
+
+.sbnpc-walter {
+ background-position: -120px -2700px
+}
+
+.sbnpc-weaponsmith {
+ background-position: -240px -2700px
+}
+
+.sbnpc-weirdo_0 {
+ background-position: -360px -2700px
+}
+
+.sbnpc-weirdo_1 {
+ background-position: -480px -2700px
+}
+
+.sbnpc-weirdo_2 {
+ background-position: -600px -2700px
+}
+
+.sbnpc-winona {
+ background-position: -720px -2700px
+}
+
+.sbnpc-winter_banker {
+ background-position: -840px -2700px
+}
+
+.sbnpc-wizard {
+ background-position: -960px -2700px
+}
+
+.sbnpc-wizard_candidate {
+ background-position: -1080px -2700px
+}
+
+.sbnpc-wizard_quest {
+ background-position: -1200px -2700px
+}
+
+.sbnpc-wolf_shaman {
+ background-position: -1320px -2700px
+}
+
+.sbnpc-wool_weaver {
+ background-position: -1440px -2700px
+}
+
+.sbnpc-young_lost_adventurer {
+ background-position: -1560px -2700px
+}
+
+.sbnpc-zog {
+ background-position: -1680px -2700px
+}
+
+.sbnpc-zombie_commander {
+ background-position: -1800px -2700px
+}
+
+.sbsprite-cobblestone_generator_10 {
+ background-position: 0 0
+}
+
+.sbsprite-cobblestone_generator_11 {
+ background-position: -22px 0
+}
+
+.sbsprite-danger_3_portal {
+ background-position: -44px 0
+}
+
+.sbsprite-resource_regenerator_crystal {
+ background-position: -66px 0
+}
+
+.sbsprite-sugar_cane_generator_12 {
+ background-position: -88px 0
+}
+
+.sbsprite-cobblestone_generator_12 {
+ background-position: -110px 0
+}
+
+.sbsprite-sugar_cane_generator_11 {
+ background-position: -132px 0
+}
+
+.sbsprite-sugar_cane_generator_10 {
+ background-position: -154px 0
+}
+
+.sbsprite-small_shelves {
+ background-position: -176px 0
+}
+
+.sbsprite-bingo_talisman {
+ background-position: -198px 0
+}
+
+.sbsprite-red_scarf {
+ background-position: -220px 0
+}
+
+.sbsprite-wither_helmet {
+ background-position: -242px 0
+}
+
+.sbsprite-glowstone_generator_11 {
+ background-position: -264px 0
+}
+
+.sbsprite-glowstone_generator_10 {
+ background-position: -286px 0
+}
+
+.sbsprite-fast_travel_crypt {
+ background-position: -308px 0
+}
+
+.sbsprite-present_personality {
+ background-position: -330px 0
+}
+
+.sbsprite-extra_large_gemstone_sack {
+ background-position: -352px 0
+}
+
+.sbsprite-gold_bonzo_head {
+ background-position: -374px 0
+}
+
+.sbsprite-shadow_assassin_mauve {
+ background-position: -396px 0
+}
+
+.sbsprite-ender_artifact {
+ background-position: -418px 0
+}
+
+.sbsprite-sheep_generator_1 {
+ background-position: -440px 0
+}
+
+.sbsprite-beach_chair_plus {
+ background-position: -462px 0
+}
+
+.sbsprite-sheep_generator_2 {
+ background-position: -484px 0
+}
+
+.sbsprite-sheep_generator_3 {
+ background-position: -506px 0
+}
+
+.sbsprite-sheep_generator_4 {
+ background-position: -528px 0
+}
+
+.sbsprite-sheep_generator_5 {
+ background-position: -550px 0
+}
+
+.sbsprite-sheep_generator_6 {
+ background-position: -572px 0
+}
+
+.sbsprite-frozen_spider {
+ background-position: -594px 0
+}
+
+.sbsprite-sheep_generator_7 {
+ background-position: -616px 0
+}
+
+.sbsprite-sheep_generator_8 {
+ background-position: -638px 0
+}
+
+.sbsprite-sheep_generator_9 {
+ background-position: -660px 0
+}
+
+.sbsprite-nether_wart_island_crystal {
+ background-position: -682px 0
+}
+
+.sbsprite-medium_fishing_sack {
+ background-position: -704px 0
+}
+
+.sbsprite-gold_generator_9 {
+ background-position: -726px 0
+}
+
+.sbsprite-gold_generator_7 {
+ background-position: -748px 0
+}
+
+.sbsprite-gold_generator_8 {
+ background-position: -770px 0
+}
+
+.sbsprite-gold_generator_5 {
+ background-position: -792px 0
+}
+
+.sbsprite-penguin_10 {
+ background-position: -814px 0
+}
+
+.sbsprite-diver_helmet {
+ background-position: -836px 0
+}
+
+.sbsprite-gold_generator_6 {
+ background-position: -858px 0
+}
+
+.sbsprite-penguin_11 {
+ background-position: -880px 0
+}
+
+.sbsprite-gold_generator_3 {
+ background-position: -902px 0
+}
+
+.sbsprite-gold_generator_4 {
+ background-position: -924px 0
+}
+
+.sbsprite-pet_skin_sheep_purple {
+ background-position: -946px 0
+}
+
+.sbsprite-gold_generator_1 {
+ background-position: -968px 0
+}
+
+.sbsprite-gold_generator_2 {
+ background-position: -990px 0
+}
+
+.sbsprite-jar_of_pickles {
+ background-position: -1012px 0
+}
+
+.sbsprite-griffin_upgrade_stone_legendary {
+ background-position: -1034px 0
+}
+
+.sbsprite-pet_skin_sheep_orange {
+ background-position: 0 -22px
+}
+
+.sbsprite-talisman {
+ background-position: -22px -22px
+}
+
+.sbsprite-jungle_generator_7 {
+ background-position: -44px -22px
+}
+
+.sbsprite-jungle_generator_6 {
+ background-position: -66px -22px
+}
+
+.sbsprite-tutti_frutti_poison {
+ background-position: -88px -22px
+}
+
+.sbsprite-fishing_generator_11 {
+ background-position: -110px -22px
+}
+
+.sbsprite-jungle_generator_9 {
+ background-position: -132px -22px
+}
+
+.sbsprite-fishing_generator_10 {
+ background-position: -154px -22px
+}
+
+.sbsprite-jungle_generator_8 {
+ background-position: -176px -22px
+}
+
+.sbsprite-jungle_generator_3 {
+ background-position: -198px -22px
+}
+
+.sbsprite-witch_mask {
+ background-position: -220px -22px
+}
+
+.sbsprite-yellow {
+ background-position: -242px -22px
+}
+
+.sbsprite-jungle_generator_2 {
+ background-position: -264px -22px
+}
+
+.sbsprite-jungle_generator_5 {
+ background-position: -286px -22px
+}
+
+.sbsprite-jungle_generator_4 {
+ background-position: -308px -22px
+}
+
+.sbsprite-bat_person_artifact {
+ background-position: -330px -22px
+}
+
+.sbsprite-cocoa_generator_11 {
+ background-position: -352px -22px
+}
+
+.sbsprite-cocoa_generator_12 {
+ background-position: -374px -22px
+}
+
+.sbsprite-jungle_generator_1 {
+ background-position: -396px -22px
+}
+
+.sbsprite-cocoa_generator_10 {
+ background-position: -418px -22px
+}
+
+.sbsprite-beheaded_horror {
+ background-position: -440px -22px
+}
+
+.sbsprite-clay_generator_6 {
+ background-position: -462px -22px
+}
+
+.sbsprite-clay_generator_7 {
+ background-position: -484px -22px
+}
+
+.sbsprite-clay_generator_8 {
+ background-position: -506px -22px
+}
+
+.sbsprite-clay_generator_9 {
+ background-position: -528px -22px
+}
+
+.sbsprite-clay_generator_2 {
+ background-position: -550px -22px
+}
+
+.sbsprite-clay_generator_3 {
+ background-position: -572px -22px
+}
+
+.sbsprite-clay_generator_4 {
+ background-position: -594px -22px
+}
+
+.sbsprite-clay_generator_5 {
+ background-position: -616px -22px
+}
+
+.sbsprite-gold_livid_head {
+ background-position: -638px -22px
+}
+
+.sbsprite-clay_generator_1 {
+ background-position: -660px -22px
+}
+
+.sbsprite-medium_slayer_sack {
+ background-position: -682px -22px
+}
+
+.sbsprite-pet_skin_wither {
+ background-position: -704px -22px
+}
+
+.sbsprite-pink_frosted_donut_3 {
+ background-position: -726px -22px
+}
+
+.sbsprite-pink_frosted_donut_2 {
+ background-position: -748px -22px
+}
+
+.sbsprite-pink_frosted_donut_5 {
+ background-position: -770px -22px
+}
+
+.sbsprite-garland {
+ background-position: -792px -22px
+}
+
+.sbsprite-pink_frosted_donut_4 {
+ background-position: -814px -22px
+}
+
+.sbsprite-pink_frosted_donut_7 {
+ background-position: -836px -22px
+}
+
+.sbsprite-pink_frosted_donut_6 {
+ background-position: -858px -22px
+}
+
+.sbsprite-pink_frosted_donut_9 {
+ background-position: -880px -22px
+}
+
+.sbsprite-pink_frosted_donut_8 {
+ background-position: -902px -22px
+}
+
+.sbsprite-rune_jerry {
+ background-position: -924px -22px
+}
+
+.sbsprite-feather_ring {
+ background-position: -946px -22px
+}
+
+.sbsprite-perfect_forge {
+ background-position: -968px -22px
+}
+
+.sbsprite-bingo_relic {
+ background-position: -990px -22px
+}
+
+.sbsprite-revenant_catalyst {
+ background-position: -1012px -22px
+}
+
+.sbsprite-sun_2 {
+ background-position: -1034px -22px
+}
+
+.sbsprite-sun_1 {
+ background-position: 0 -44px
+}
+
+.sbsprite-pet_skin_tiger_twilight {
+ background-position: -22px -44px
+}
+
+.sbsprite-blessing_of_life {
+ background-position: -44px -44px
+}
+
+.sbsprite-plasma {
+ background-position: -66px -44px
+}
+
+.sbsprite-carrot_patch {
+ background-position: -88px -44px
+}
+
+.sbsprite-pink_frosted_donut_1 {
+ background-position: -110px -44px
+}
+
+.sbsprite-bestiary_the_park {
+ background-position: -132px -44px
+}
+
+.sbsprite-end_stone_10 {
+ background-position: -154px -44px
+}
+
+.sbsprite-end_stone_11 {
+ background-position: -176px -44px
+}
+
+.sbsprite-griffin_upgrade_stone_epic {
+ background-position: -198px -44px
+}
+
+.sbsprite-iron_generator_10 {
+ background-position: -220px -44px
+}
+
+.sbsprite-pet_skin_rock_embarrassed {
+ background-position: -242px -44px
+}
+
+.sbsprite-fast_travel_barn {
+ background-position: -264px -44px
+}
+
+.sbsprite-iron_generator_11 {
+ background-position: -286px -44px
+}
+
+.sbsprite-iron_generator_12 {
+ background-position: -308px -44px
+}
+
+.sbsprite-large_runes_sack {
+ background-position: -330px -44px
+}
+
+.sbsprite-rune_redstone {
+ background-position: -352px -44px
+}
+
+.sbsprite-horseman_candle {
+ background-position: -374px -44px
+}
+
+.sbsprite-tepid_green_tea {
+ background-position: -396px -44px
+}
+
+.sbsprite-large_agronomy_sack {
+ background-position: -418px -44px
+}
+
+.sbsprite-wise_shimmer {
+ background-position: -440px -44px
+}
+
+.sbsprite-maxor_the_fish {
+ background-position: -462px -44px
+}
+
+.sbsprite-revenant_generator_4 {
+ background-position: -484px -44px
+}
+
+.sbsprite-revenant_generator_5 {
+ background-position: -506px -44px
+}
+
+.sbsprite-revenant_generator_6 {
+ background-position: -528px -44px
+}
+
+.sbsprite-revenant_generator_7 {
+ background-position: -550px -44px
+}
+
+.sbsprite-revenant_generator_1 {
+ background-position: -572px -44px
+}
+
+.sbsprite-revenant_generator_2 {
+ background-position: -594px -44px
+}
+
+.sbsprite-epoch_cake_orange {
+ background-position: -616px -44px
+}
+
+.sbsprite-revenant_generator_3 {
+ background-position: -638px -44px
+}
+
+.sbsprite-large_gemstone_sack {
+ background-position: -660px -44px
+}
+
+.sbsprite-mender_crown {
+ background-position: -682px -44px
+}
+
+.sbsprite-mummy_10 {
+ background-position: -704px -44px
+}
+
+.sbsprite-revenant_generator_8 {
+ background-position: -726px -44px
+}
+
+.sbsprite-revenant_generator_9 {
+ background-position: -748px -44px
+}
+
+.sbsprite-mummy_11 {
+ background-position: -770px -44px
+}
+
+.sbsprite-hard_stone_generator_9 {
+ background-position: -792px -44px
+}
+
+.sbsprite-hard_stone_generator_8 {
+ background-position: -814px -44px
+}
+
+.sbsprite-hard_stone_generator_7 {
+ background-position: -836px -44px
+}
+
+.sbsprite-hard_stone_generator_6 {
+ background-position: -858px -44px
+}
+
+.sbsprite-hard_stone_generator_5 {
+ background-position: -880px -44px
+}
+
+.sbsprite-hard_stone_generator_4 {
+ background-position: -902px -44px
+}
+
+.sbsprite-medium_talisman_bag {
+ background-position: -924px -44px
+}
+
+.sbsprite-hard_stone_generator_3 {
+ background-position: -946px -44px
+}
+
+.sbsprite-black_small_backpack {
+ background-position: -968px -44px
+}
+
+.sbsprite-hard_stone_generator_2 {
+ background-position: -990px -44px
+}
+
+.sbsprite-harp {
+ background-position: -1012px -44px
+}
+
+.sbsprite-hard_stone_generator_1 {
+ background-position: -1034px -44px
+}
+
+.sbsprite-pet_skin_sheep_green {
+ background-position: 0 -66px
+}
+
+.sbsprite-magma_cube_generator_10 {
+ background-position: -22px -66px
+}
+
+.sbsprite-fishing_crystal {
+ background-position: -44px -66px
+}
+
+.sbsprite-magma_cube_generator_11 {
+ background-position: -66px -66px
+}
+
+.sbsprite-rough_amber_gem {
+ background-position: -88px -66px
+}
+
+.sbsprite-oak_generator_5 {
+ background-position: -110px -66px
+}
+
+.sbsprite-oak_generator_4 {
+ background-position: -132px -66px
+}
+
+.sbsprite-oak_generator_3 {
+ background-position: -154px -66px
+}
+
+.sbsprite-oak_generator_2 {
+ background-position: -176px -66px
+}
+
+.sbsprite-red_claw_ring {
+ background-position: -198px -66px
+}
+
+.sbsprite-oak_generator_9 {
+ background-position: -220px -66px
+}
+
+.sbsprite-oak_generator_8 {
+ background-position: -242px -66px
+}
+
+.sbsprite-purple_small_backpack {
+ background-position: -264px -66px
+}
+
+.sbsprite-oak_generator_7 {
+ background-position: -286px -66px
+}
+
+.sbsprite-oak_generator_6 {
+ background-position: -308px -66px
+}
+
+.sbsprite-picnic_set {
+ background-position: -330px -66px
+}
+
+.sbsprite-oak_generator_1 {
+ background-position: -352px -66px
+}
+
+.sbsprite-pet_skin_sheep_neon_red {
+ background-position: -374px -66px
+}
+
+.sbsprite-hot_stuff {
+ background-position: -396px -66px
+}
+
+.sbsprite-skeleton_generator_11 {
+ background-position: -418px -66px
+}
+
+.sbsprite-skeleton_generator_10 {
+ background-position: -440px -66px
+}
+
+.sbsprite-mayor_jerry {
+ background-position: -462px -66px
+}
+
+.sbsprite-generals_armor_of_the_resistance_helmet {
+ background-position: -484px -66px
+}
+
+.sbsprite-recall_potion {
+ background-position: -506px -66px
+}
+
+.sbsprite-portable_builder {
+ background-position: -528px -66px
+}
+
+.sbsprite-rune_ice {
+ background-position: -550px -66px
+}
+
+.sbsprite-zombie_brain_mixin {
+ background-position: -572px -66px
+}
+
+.sbsprite-pet_skin_rabbit_aquamarine {
+ background-position: -594px -66px
+}
+
+.sbsprite-rune_music {
+ background-position: -616px -66px
+}
+
+.sbsprite-magnetic_talisman {
+ background-position: -638px -66px
+}
+
+.sbsprite-light_grey_jumbo_backpack {
+ background-position: -660px -66px
+}
+
+.sbsprite-onyx {
+ background-position: -682px -66px
+}
+
+.sbsprite-rune_fire {
+ background-position: -704px -66px
+}
+
+.sbsprite-pet_skin_sheep_black {
+ background-position: -726px -66px
+}
+
+.sbsprite-ice_fireplace {
+ background-position: -748px -66px
+}
+
+.sbsprite-sun_personality {
+ background-position: -770px -66px
+}
+
+.sbsprite-pet {
+ background-position: -792px -66px
+}
+
+.sbsprite-melon_2 {
+ background-position: -814px -66px
+}
+
+.sbsprite-melon_3 {
+ background-position: -836px -66px
+}
+
+.sbsprite-epoch_cake_purple {
+ background-position: -858px -66px
+}
+
+.sbsprite-melon_1 {
+ background-position: -880px -66px
+}
+
+.sbsprite-krampus_helmet {
+ background-position: -902px -66px
+}
+
+.sbsprite-coffee_table {
+ background-position: -924px -66px
+}
+
+.sbsprite-necromancer_lord_helmet {
+ background-position: -946px -66px
+}
+
+.sbsprite-melon_8 {
+ background-position: -968px -66px
+}
+
+.sbsprite-blue_ice_hunk {
+ background-position: -990px -66px
+}
+
+.sbsprite-divan_helmet {
+ background-position: -1012px -66px
+}
+
+.sbsprite-melon_9 {
+ background-position: -1034px -66px
+}
+
+.sbsprite-melon_6 {
+ background-position: 0 -88px
+}
+
+.sbsprite-melon_7 {
+ background-position: -22px -88px
+}
+
+.sbsprite-melon_4 {
+ background-position: -44px -88px
+}
+
+.sbsprite-melon_5 {
+ background-position: -66px -88px
+}
+
+.sbsprite-blue_candy {
+ background-position: -88px -88px
+}
+
+.sbsprite-squid_hat {
+ background-position: -110px -88px
+}
+
+.sbsprite-dungeon_green_support_orb {
+ background-position: -132px -88px
+}
+
+.sbsprite-coin_diamond_3 {
+ background-position: -154px -88px
+}
+
+.sbsprite-pink {
+ background-position: -176px -88px
+}
+
+.sbsprite-coin_diamond_2 {
+ background-position: -198px -88px
+}
+
+.sbsprite-repelling_candle {
+ background-position: -220px -88px
+}
+
+.sbsprite-enderman_generator_11 {
+ background-position: -242px -88px
+}
+
+.sbsprite-power_artifact {
+ background-position: -264px -88px
+}
+
+.sbsprite-enderman_generator_10 {
+ background-position: -286px -88px
+}
+
+.sbsprite-amethyst_crystal {
+ background-position: -308px -88px
+}
+
+.sbsprite-crimson_essence {
+ background-position: -330px -88px
+}
+
+.sbsprite-blue_small_backpack {
+ background-position: -352px -88px
+}
+
+.sbsprite-grey_jumbo_backpack {
+ background-position: -374px -88px
+}
+
+.sbsprite-wither_essence {
+ background-position: -396px -88px
+}
+
+.sbsprite-brown_jumbo_backpack {
+ background-position: -418px -88px
+}
+
+.sbsprite-archer_dungeon_ability_1 {
+ background-position: -440px -88px
+}
+
+.sbsprite-crochet_tiger_plushie {
+ background-position: -462px -88px
+}
+
+.sbsprite-final_destination_helmet {
+ background-position: -484px -88px
+}
+
+.sbsprite-luxurious_spool {
+ background-position: -506px -88px
+}
+
+.sbsprite-auto_recombobulator {
+ background-position: -528px -88px
+}
+
+.sbsprite-killer_11 {
+ background-position: -550px -88px
+}
+
+.sbsprite-spooky_bait {
+ background-position: -572px -88px
+}
+
+.sbsprite-killer_10 {
+ background-position: -594px -88px
+}
+
+.sbsprite-fast_travel_howl {
+ background-position: -616px -88px
+}
+
+.sbsprite-etherwarp_conduit {
+ background-position: -638px -88px
+}
+
+.sbsprite-forest_island_crystal {
+ background-position: -660px -88px
+}
+
+.sbsprite-spirit_mask {
+ background-position: -682px -88px
+}
+
+.sbsprite-sacks {
+ background-position: -704px -88px
+}
+
+.sbsprite-obsidian_generator_10 {
+ background-position: -726px -88px
+}
+
+.sbsprite-chicken_generator_10 {
+ background-position: -748px -88px
+}
+
+.sbsprite-chicken_generator_12 {
+ background-position: -770px -88px
+}
+
+.sbsprite-wood_singularity {
+ background-position: -792px -88px
+}
+
+.sbsprite-chicken_generator_11 {
+ background-position: -814px -88px
+}
+
+.sbsprite-sun_6 {
+ background-position: -836px -88px
+}
+
+.sbsprite-builder_melon {
+ background-position: -858px -88px
+}
+
+.sbsprite-santa_1 {
+ background-position: -880px -88px
+}
+
+.sbsprite-sun_5 {
+ background-position: -902px -88px
+}
+
+.sbsprite-dirt_bottle {
+ background-position: -924px -88px
+}
+
+.sbsprite-sun_4 {
+ background-position: -946px -88px
+}
+
+.sbsprite-handy_blood_chalice {
+ background-position: -968px -88px
+}
+
+.sbsprite-sun_3 {
+ background-position: -990px -88px
+}
+
+.sbsprite-sun_9 {
+ background-position: -1012px -88px
+}
+
+.sbsprite-superior_fragment {
+ background-position: -1034px -88px
+}
+
+.sbsprite-sun_8 {
+ background-position: 0 -110px
+}
+
+.sbsprite-sun_7 {
+ background-position: -22px -110px
+}
+
+.sbsprite-your_essence {
+ background-position: -44px -110px
+}
+
+.sbsprite-pink_greater_backpack {
+ background-position: -66px -110px
+}
+
+.sbsprite-unstable_fragment {
+ background-position: -88px -110px
+}
+
+.sbsprite-obsidian_generator_11 {
+ background-position: -110px -110px
+}
+
+.sbsprite-obsidian_generator_12 {
+ background-position: -132px -110px
+}
+
+.sbsprite-perfect_sapphire_gem {
+ background-position: -154px -110px
+}
+
+.sbsprite-gravel_generator_11 {
+ background-position: -176px -110px
+}
+
+.sbsprite-gravel_generator_10 {
+ background-position: -198px -110px
+}
+
+.sbsprite-candy_corn {
+ background-position: -220px -110px
+}
+
+.sbsprite-mineral_talisman {
+ background-position: -242px -110px
+}
+
+.sbsprite-divan_alloy {
+ background-position: -264px -110px
+}
+
+.sbsprite-moil_log {
+ background-position: -286px -110px
+}
+
+.sbsprite-super_magic_mushroom_soup {
+ background-position: -308px -110px
+}
+
+.sbsprite-easter_basket {
+ background-position: -330px -110px
+}
+
+.sbsprite-hunter_talisman {
+ background-position: -352px -110px
+}
+
+.sbsprite-medium_potion_bag {
+ background-position: -374px -110px
+}
+
+.sbsprite-pet_skin_megalodon_bullhead {
+ background-position: -396px -110px
+}
+
+.sbsprite-broken_piggy_bank {
+ background-position: -418px -110px
+}
+
+.sbsprite-mayor_technoblade {
+ background-position: -440px -110px
+}
+
+.sbsprite-farming_talisman {
+ background-position: -462px -110px
+}
+
+.sbsprite-flawed_sapphire_gem {
+ background-position: -484px -110px
+}
+
+.sbsprite-light_blue_large_backpack {
+ background-position: -506px -110px
+}
+
+.sbsprite-kindred {
+ background-position: -528px -110px
+}
+
+.sbsprite-pocket_espresso_machine {
+ background-position: -550px -110px
+}
+
+.sbsprite-overflux_power_orb {
+ background-position: -572px -110px
+}
+
+.sbsprite-potato_spreading {
+ background-position: -594px -110px
+}
+
+.sbsprite-acacia_generator_11 {
+ background-position: -616px -110px
+}
+
+.sbsprite-birch_generator_6 {
+ background-position: -638px -110px
+}
+
+.sbsprite-acacia_generator_10 {
+ background-position: -660px -110px
+}
+
+.sbsprite-birch_generator_5 {
+ background-position: -682px -110px
+}
+
+.sbsprite-birch_generator_4 {
+ background-position: -704px -110px
+}
+
+.sbsprite-birch_generator_3 {
+ background-position: -726px -110px
+}
+
+.sbsprite-holy_dragon_helmet {
+ background-position: -748px -110px
+}
+
+.sbsprite-basketball_personality {
+ background-position: -770px -110px
+}
+
+.sbsprite-birch_generator_9 {
+ background-position: -792px -110px
+}
+
+.sbsprite-birch_generator_8 {
+ background-position: -814px -110px
+}
+
+.sbsprite-birch_generator_7 {
+ background-position: -836px -110px
+}
+
+.sbsprite-birch_generator_2 {
+ background-position: -858px -110px
+}
+
+.sbsprite-birch_generator_1 {
+ background-position: -880px -110px
+}
+
+.sbsprite-anubis {
+ background-position: -902px -110px
+}
+
+.sbsprite-santa_8 {
+ background-position: -924px -110px
+}
+
+.sbsprite-santa_9 {
+ background-position: -946px -110px
+}
+
+.sbsprite-santa_6 {
+ background-position: -968px -110px
+}
+
+.sbsprite-santa_7 {
+ background-position: -990px -110px
+}
+
+.sbsprite-santa_4 {
+ background-position: -1012px -110px
+}
+
+.sbsprite-candy_talisman {
+ background-position: -1034px -110px
+}
+
+.sbsprite-santa_5 {
+ background-position: 0 -132px
+}
+
+.sbsprite-santa_2 {
+ background-position: -22px -132px
+}
+
+.sbsprite-santa_3 {
+ background-position: -44px -132px
+}
+
+.sbsprite-small_combat_sack {
+ background-position: -66px -132px
+}
+
+.sbsprite-speed_racer {
+ background-position: -88px -132px
+}
+
+.sbsprite-pet_skin_parrot_blue_macaw {
+ background-position: -110px -132px
+}
+
+.sbsprite-red_large_backpack {
+ background-position: -132px -132px
+}
+
+.sbsprite-sea_archer_helmet {
+ background-position: -154px -132px
+}
+
+.sbsprite-happy_mask {
+ background-position: -176px -132px
+}
+
+.sbsprite-blue_large_backpack {
+ background-position: -198px -132px
+}
+
+.sbsprite-enderman_generator_4 {
+ background-position: -220px -132px
+}
+
+.sbsprite-enderman_generator_3 {
+ background-position: -242px -132px
+}
+
+.sbsprite-enderman_generator_2 {
+ background-position: -264px -132px
+}
+
+.sbsprite-enderman_generator_1 {
+ background-position: -286px -132px
+}
+
+.sbsprite-enderman_generator_8 {
+ background-position: -308px -132px
+}
+
+.sbsprite-enderman_generator_7 {
+ background-position: -330px -132px
+}
+
+.sbsprite-enderman_generator_6 {
+ background-position: -352px -132px
+}
+
+.sbsprite-enderman_generator_5 {
+ background-position: -374px -132px
+}
+
+.sbsprite-green_candy {
+ background-position: -396px -132px
+}
+
+.sbsprite-bestiary_milestone {
+ background-position: -418px -132px
+}
+
+.sbsprite-colossal_exp_bottle_upgrade {
+ background-position: -440px -132px
+}
+
+.sbsprite-sun_11 {
+ background-position: -462px -132px
+}
+
+.sbsprite-sun_10 {
+ background-position: -484px -132px
+}
+
+.sbsprite-vampire_witch_mask {
+ background-position: -506px -132px
+}
+
+.sbsprite-pet_skin_sheep_yellow {
+ background-position: -528px -132px
+}
+
+.sbsprite-bank_upgrade_palatial {
+ background-position: -550px -132px
+}
+
+.sbsprite-flawed_ruby_gem {
+ background-position: -572px -132px
+}
+
+.sbsprite-redstone_generator_9 {
+ background-position: -594px -132px
+}
+
+.sbsprite-redstone_generator_7 {
+ background-position: -616px -132px
+}
+
+.sbsprite-redstone_generator_8 {
+ background-position: -638px -132px
+}
+
+.sbsprite-arachne_fragment {
+ background-position: -660px -132px
+}
+
+.sbsprite-spider_generator_10 {
+ background-position: -682px -132px
+}
+
+.sbsprite-spider_generator_11 {
+ background-position: -704px -132px
+}
+
+.sbsprite-epoch_cake_red {
+ background-position: -726px -132px
+}
+
+.sbsprite-orange_jumbo_backpack {
+ background-position: -748px -132px
+}
+
+.sbsprite-giant_the_fish {
+ background-position: -770px -132px
+}
+
+.sbsprite-minnow_bait {
+ background-position: -792px -132px
+}
+
+.sbsprite-enderman_generator_9 {
+ background-position: -814px -132px
+}
+
+.sbsprite-mastiff_puppy {
+ background-position: -836px -132px
+}
+
+.sbsprite-talisman_enrichment_critical_damage {
+ background-position: -858px -132px
+}
+
+.sbsprite-fast_travel_forge {
+ background-position: -880px -132px
+}
+
+.sbsprite-goblin_omelette {
+ background-position: -902px -132px
+}
+
+.sbsprite-builder_ancient_fruit {
+ background-position: -924px -132px
+}
+
+.sbsprite-master_skull_tier_10 {
+ background-position: -946px -132px
+}
+
+.sbsprite-hardened_wood {
+ background-position: -968px -132px
+}
+
+.sbsprite-large_winter_sack {
+ background-position: -990px -132px
+}
+
+.sbsprite-talisman_enrichment_intelligence {
+ background-position: -1012px -132px
+}
+
+.sbsprite-snow_snowglobe {
+ background-position: -1034px -132px
+}
+
+.sbsprite-summoning_eye {
+ background-position: 0 -154px
+}
+
+.sbsprite-cavespider_generator_10 {
+ background-position: -22px -154px
+}
+
+.sbsprite-clownfish_10 {
+ background-position: -44px -154px
+}
+
+.sbsprite-cavespider_generator_11 {
+ background-position: -66px -154px
+}
+
+.sbsprite-revenant_generator_12 {
+ background-position: -88px -154px
+}
+
+.sbsprite-clownfish_11 {
+ background-position: -110px -154px
+}
+
+.sbsprite-revenant_generator_11 {
+ background-position: -132px -154px
+}
+
+.sbsprite-revenant_generator_10 {
+ background-position: -154px -154px
+}
+
+.sbsprite-red_small_backpack {
+ background-position: -176px -154px
+}
+
+.sbsprite-soulflow {
+ background-position: -198px -154px
+}
+
+.sbsprite-farming_fortune {
+ background-position: -220px -154px
+}
+
+.sbsprite-dungeon_stone_berserk {
+ background-position: -242px -154px
+}
+
+.sbsprite-green_greater_backpack {
+ background-position: -264px -154px
+}
+
+.sbsprite-mastiff_helmet {
+ background-position: -286px -154px
+}
+
+.sbsprite-purple {
+ background-position: -308px -154px
+}
+
+.sbsprite-skeleton_generator_7 {
+ background-position: -330px -154px
+}
+
+.sbsprite-skeleton_generator_6 {
+ background-position: -352px -154px
+}
+
+.sbsprite-skeleton_generator_9 {
+ background-position: -374px -154px
+}
+
+.sbsprite-skeleton_generator_8 {
+ background-position: -396px -154px
+}
+
+.sbsprite-speed_ring {
+ background-position: -418px -154px
+}
+
+.sbsprite-skeleton_generator_3 {
+ background-position: -440px -154px
+}
+
+.sbsprite-rabbit_hutch {
+ background-position: -462px -154px
+}
+
+.sbsprite-skeleton_generator_2 {
+ background-position: -484px -154px
+}
+
+.sbsprite-skeleton_generator_5 {
+ background-position: -506px -154px
+}
+
+.sbsprite-minion_storage_expander {
+ background-position: -528px -154px
+}
+
+.sbsprite-skeleton_generator_4 {
+ background-position: -550px -154px
+}
+
+.sbsprite-werewolf_helmet {
+ background-position: -572px -154px
+}
+
+.sbsprite-light_blue_small_backpack {
+ background-position: -594px -154px
+}
+
+.sbsprite-skeleton_generator_1 {
+ background-position: -616px -154px
+}
+
+.sbsprite-lapis_chest {
+ background-position: -638px -154px
+}
+
+.sbsprite-healing_talisman {
+ background-position: -660px -154px
+}
+
+.sbsprite-magma_cube_head {
+ background-position: -682px -154px
+}
+
+.sbsprite-shadow_goggles {
+ background-position: -704px -154px
+}
+
+.sbsprite-ice_generator_11 {
+ background-position: -726px -154px
+}
+
+.sbsprite-fine_jasper_gem {
+ background-position: -748px -154px
+}
+
+.sbsprite-candy_artifact {
+ background-position: -770px -154px
+}
+
+.sbsprite-pet_skin_dragon_neon_blue {
+ background-position: -792px -154px
+}
+
+.sbsprite-fast_travel_desert {
+ background-position: -814px -154px
+}
+
+.sbsprite-rune_end {
+ background-position: -836px -154px
+}
+
+.sbsprite-old_shimmer {
+ background-position: -858px -154px
+}
+
+.sbsprite-skyblock_bench {
+ background-position: -880px -154px
+}
+
+.sbsprite-hay_bale {
+ background-position: -902px -154px
+}
+
+.sbsprite-crit_chance {
+ background-position: -924px -154px
+}
+
+.sbsprite-dungeon_stone {
+ background-position: -946px -154px
+}
+
+.sbsprite-artifact_potion_affinity {
+ background-position: -968px -154px
+}
+
+.sbsprite-yoggie {
+ background-position: -990px -154px
+}
+
+.sbsprite-starred_adaptive_helmet {
+ background-position: -1012px -154px
+}
+
+.sbsprite-foraging_3_portal {
+ background-position: -1034px -154px
+}
+
+.sbsprite-pet_skin_dragon_neon_red {
+ background-position: 0 -176px
+}
+
+.sbsprite-ditto_skull {
+ background-position: -22px -176px
+}
+
+.sbsprite-pig_generator_6 {
+ background-position: -44px -176px
+}
+
+.sbsprite-redstone_generator_1 {
+ background-position: -66px -176px
+}
+
+.sbsprite-pig_generator_5 {
+ background-position: -88px -176px
+}
+
+.sbsprite-redstone_generator_2 {
+ background-position: -110px -176px
+}
+
+.sbsprite-pig_generator_8 {
+ background-position: -132px -176px
+}
+
+.sbsprite-pig_generator_7 {
+ background-position: -154px -176px
+}
+
+.sbsprite-flawless_amethyst_gem {
+ background-position: -176px -176px
+}
+
+.sbsprite-redstone_generator_5 {
+ background-position: -198px -176px
+}
+
+.sbsprite-wither_catalyst {
+ background-position: -220px -176px
+}
+
+.sbsprite-pig_generator_9 {
+ background-position: -242px -176px
+}
+
+.sbsprite-redstone_generator_6 {
+ background-position: -264px -176px
+}
+
+.sbsprite-cyan_jumbo_backpack {
+ background-position: -286px -176px
+}
+
+.sbsprite-redstone_generator_3 {
+ background-position: -308px -176px
+}
+
+.sbsprite-redstone_generator_4 {
+ background-position: -330px -176px
+}
+
+.sbsprite-ice_generator_10 {
+ background-position: -352px -176px
+}
+
+.sbsprite-pig_generator_2 {
+ background-position: -374px -176px
+}
+
+.sbsprite-builder_lettuce {
+ background-position: -396px -176px
+}
+
+.sbsprite-first_master_star {
+ background-position: -418px -176px
+}
+
+.sbsprite-pig_generator_1 {
+ background-position: -440px -176px
+}
+
+.sbsprite-pig_generator_4 {
+ background-position: -462px -176px
+}
+
+.sbsprite-green_medium_backpack {
+ background-position: -484px -176px
+}
+
+.sbsprite-pig_generator_3 {
+ background-position: -506px -176px
+}
+
+.sbsprite-sugar_cane_generator_9 {
+ background-position: -528px -176px
+}
+
+.sbsprite-greater_backpack {
+ background-position: -550px -176px
+}
+
+.sbsprite-sugar_cane_generator_6 {
+ background-position: -572px -176px
+}
+
+.sbsprite-sugar_cane_generator_5 {
+ background-position: -594px -176px
+}
+
+.sbsprite-pet_skin_sheep_neon_blue {
+ background-position: -616px -176px
+}
+
+.sbsprite-sugar_cane_generator_8 {
+ background-position: -638px -176px
+}
+
+.sbsprite-sugar_cane_generator_7 {
+ background-position: -660px -176px
+}
+
+.sbsprite-sugar_cane_generator_2 {
+ background-position: -682px -176px
+}
+
+.sbsprite-sugar_cane_generator_1 {
+ background-position: -704px -176px
+}
+
+.sbsprite-cauldron {
+ background-position: -726px -176px
+}
+
+.sbsprite-sugar_cane_generator_4 {
+ background-position: -748px -176px
+}
+
+.sbsprite-sugar_cane_generator_3 {
+ background-position: -770px -176px
+}
+
+.sbsprite-wheat_island_crystal {
+ background-position: -792px -176px
+}
+
+.sbsprite-boss_collection_scarf {
+ background-position: -814px -176px
+}
+
+.sbsprite-deep_sea_orb {
+ background-position: -836px -176px
+}
+
+.sbsprite-pet_skin_elephant_red {
+ background-position: -858px -176px
+}
+
+.sbsprite-pink_large_backpack {
+ background-position: -880px -176px
+}
+
+.sbsprite-gemstone_collection {
+ background-position: -902px -176px
+}
+
+.sbsprite-carpentry_bench {
+ background-position: -924px -176px
+}
+
+.sbsprite-pet_skin_wolf_henzo_doggo {
+ background-position: -946px -176px
+}
+
+.sbsprite-sloth_11 {
+ background-position: -968px -176px
+}
+
+.sbsprite-sloth_10 {
+ background-position: -990px -176px
+}
+
+.sbsprite-vampire_mask {
+ background-position: -1012px -176px
+}
+
+.sbsprite-reindeer_personality {
+ background-position: -1034px -176px
+}
+
+.sbsprite-minos_hunter_helmet {
+ background-position: 0 -198px
+}
+
+.sbsprite-catacombs_2 {
+ background-position: -22px -198px
+}
+
+.sbsprite-catacombs_3 {
+ background-position: -44px -198px
+}
+
+.sbsprite-catacombs_1 {
+ background-position: -66px -198px
+}
+
+.sbsprite-catacombs_6 {
+ background-position: -88px -198px
+}
+
+.sbsprite-small_runes_sack {
+ background-position: -110px -198px
+}
+
+.sbsprite-catacombs_4 {
+ background-position: -132px -198px
+}
+
+.sbsprite-catacombs_5 {
+ background-position: -154px -198px
+}
+
+.sbsprite-clownfish_hat {
+ background-position: -176px -198px
+}
+
+.sbsprite-fine_topaz_gem {
+ background-position: -198px -198px
+}
+
+.sbsprite-beastmaster_crest_uncommon {
+ background-position: -220px -198px
+}
+
+.sbsprite-superlite_motor {
+ background-position: -242px -198px
+}
+
+.sbsprite-red_greater_backpack {
+ background-position: -264px -198px
+}
+
+.sbsprite-hunter_ring {
+ background-position: -286px -198px
+}
+
+.sbsprite-necromancer_brooch {
+ background-position: -308px -198px
+}
+
+.sbsprite-spooky_shard {
+ background-position: -330px -198px
+}
+
+.sbsprite-grey_medium_backpack {
+ background-position: -352px -198px
+}
+
+.sbsprite-diamond_chest {
+ background-position: -374px -198px
+}
+
+.sbsprite-slime_hat {
+ background-position: -396px -198px
+}
+
+.sbsprite-hermit_crab_2 {
+ background-position: -418px -198px
+}
+
+.sbsprite-enderman_cortex_rewriter {
+ background-position: -440px -198px
+}
+
+.sbsprite-hermit_crab_1 {
+ background-position: -462px -198px
+}
+
+.sbsprite-carrot_generator_11 {
+ background-position: -484px -198px
+}
+
+.sbsprite-carrot_generator_12 {
+ background-position: -506px -198px
+}
+
+.sbsprite-mushroom_generator_4 {
+ background-position: -528px -198px
+}
+
+.sbsprite-carrot_generator_10 {
+ background-position: -550px -198px
+}
+
+.sbsprite-mushroom_generator_3 {
+ background-position: -572px -198px
+}
+
+.sbsprite-mushroom_generator_6 {
+ background-position: -594px -198px
+}
+
+.sbsprite-mushroom_generator_5 {
+ background-position: -616px -198px
+}
+
+.sbsprite-mushroom_generator_8 {
+ background-position: -638px -198px
+}
+
+.sbsprite-mushroom_generator_7 {
+ background-position: -660px -198px
+}
+
+.sbsprite-mushroom_generator_9 {
+ background-position: -682px -198px
+}
+
+.sbsprite-diamond_professor_head {
+ background-position: -704px -198px
+}
+
+.sbsprite-large_foraging_sack {
+ background-position: -726px -198px
+}
+
+.sbsprite-robotron_reflector {
+ background-position: -748px -198px
+}
+
+.sbsprite-wish_ultimate {
+ background-position: -770px -198px
+}
+
+.sbsprite-tessellated_ender_pearl {
+ background-position: -792px -198px
+}
+
+.sbsprite-pet_skin_sheep_red {
+ background-position: -814px -198px
+}
+
+.sbsprite-spirit_decoy {
+ background-position: -836px -198px
+}
+
+.sbsprite-stacked_pumpkins {
+ background-position: -858px -198px
+}
+
+.sbsprite-medium_runes_sack {
+ background-position: -880px -198px
+}
+
+.sbsprite-mushroom_generator_2 {
+ background-position: -902px -198px
+}
+
+.sbsprite-young_dragon_helmet {
+ background-position: -924px -198px
+}
+
+.sbsprite-mushroom_generator_1 {
+ background-position: -946px -198px
+}
+
+.sbsprite-hermit_crab_6 {
+ background-position: -968px -198px
+}
+
+.sbsprite-gravity_talisman {
+ background-position: -990px -198px
+}
+
+.sbsprite-hermit_crab_5 {
+ background-position: -1012px -198px
+}
+
+.sbsprite-hermit_crab_4 {
+ background-position: -1034px -198px
+}
+
+.sbsprite-hermit_crab_3 {
+ background-position: 0 -220px
+}
+
+.sbsprite-melon_10 {
+ background-position: -22px -220px
+}
+
+.sbsprite-party_time_event {
+ background-position: -44px -220px
+}
+
+.sbsprite-grinch_10 {
+ background-position: -66px -220px
+}
+
+.sbsprite-melon_11 {
+ background-position: -88px -220px
+}
+
+.sbsprite-hermit_crab_9 {
+ background-position: -110px -220px
+}
+
+.sbsprite-hermit_crab_8 {
+ background-position: -132px -220px
+}
+
+.sbsprite-grinch_11 {
+ background-position: -154px -220px
+}
+
+.sbsprite-hermit_crab_7 {
+ background-position: -176px -220px
+}
+
+.sbsprite-flower_generator_10 {
+ background-position: -198px -220px
+}
+
+.sbsprite-race_giant_mushroom {
+ background-position: -220px -220px
+}
+
+.sbsprite-flower_generator_11 {
+ background-position: -242px -220px
+}
+
+.sbsprite-flower_generator_12 {
+ background-position: -264px -220px
+}
+
+.sbsprite-redstone_chest {
+ background-position: -286px -220px
+}
+
+.sbsprite-undead_catalyst {
+ background-position: -308px -220px
+}
+
+.sbsprite-master_skull_tier_7 {
+ background-position: -330px -220px
+}
+
+.sbsprite-reindeer_9 {
+ background-position: -352px -220px
+}
+
+.sbsprite-master_skull_tier_6 {
+ background-position: -374px -220px
+}
+
+.sbsprite-rune_slimy {
+ background-position: -396px -220px
+}
+
+.sbsprite-master_skull_tier_9 {
+ background-position: -418px -220px
+}
+
+.sbsprite-medium_shelves {
+ background-position: -440px -220px
+}
+
+.sbsprite-master_skull_tier_8 {
+ background-position: -462px -220px
+}
+
+.sbsprite-plasmaflux_power_orb {
+ background-position: -484px -220px
+}
+
+.sbsprite-adaptive_helmet {
+ background-position: -506px -220px
+}
+
+.sbsprite-pet_skin_endermite_radiant {
+ background-position: -528px -220px
+}
+
+.sbsprite-master_skull_tier_1 {
+ background-position: -550px -220px
+}
+
+.sbsprite-master_skull_tier_3 {
+ background-position: -572px -220px
+}
+
+.sbsprite-oil_barrel {
+ background-position: -594px -220px
+}
+
+.sbsprite-master_skull_tier_2 {
+ background-position: -616px -220px
+}
+
+.sbsprite-master_skull_tier_5 {
+ background-position: -638px -220px
+}
+
+.sbsprite-master_skull_tier_4 {
+ background-position: -660px -220px
+}
+
+.sbsprite-pet_skin_guardian {
+ background-position: -682px -220px
+}
+
+.sbsprite-flawless_jade_gem {
+ background-position: -704px -220px
+}
+
+.sbsprite-survivor_cube {
+ background-position: -726px -220px
+}
+
+.sbsprite-undead_2 {
+ background-position: -748px -220px
+}
+
+.sbsprite-undead_3 {
+ background-position: -770px -220px
+}
+
+.sbsprite-undead_4 {
+ background-position: -792px -220px
+}
+
+.sbsprite-undead_5 {
+ background-position: -814px -220px
+}
+
+.sbsprite-undead_6 {
+ background-position: -836px -220px
+}
+
+.sbsprite-undead_7 {
+ background-position: -858px -220px
+}
+
+.sbsprite-undead_8 {
+ background-position: -880px -220px
+}
+
+.sbsprite-undead_9 {
+ background-position: -902px -220px
+}
+
+.sbsprite-enchanted_book_bundle_vicious {
+ background-position: -924px -220px
+}
+
+.sbsprite-endstone_chest {
+ background-position: -946px -220px
+}
+
+.sbsprite-titanium_fuel_tank {
+ background-position: -968px -220px
+}
+
+.sbsprite-golden_ball {
+ background-position: -990px -220px
+}
+
+.sbsprite-undead_1 {
+ background-position: -1012px -220px
+}
+
+.sbsprite-happy_emoji_5 {
+ background-position: -1034px -220px
+}
+
+.sbsprite-reindeer_1 {
+ background-position: 0 -242px
+}
+
+.sbsprite-warden_heart {
+ background-position: -22px -242px
+}
+
+.sbsprite-happy_emoji_4 {
+ background-position: -44px -242px
+}
+
+.sbsprite-reindeer_2 {
+ background-position: -66px -242px
+}
+
+.sbsprite-happy_emoji_7 {
+ background-position: -88px -242px
+}
+
+.sbsprite-reindeer_3 {
+ background-position: -110px -242px
+}
+
+.sbsprite-happy_emoji_6 {
+ background-position: -132px -242px
+}
+
+.sbsprite-kalhuiki_mask {
+ background-position: -154px -242px
+}
+
+.sbsprite-reindeer_4 {
+ background-position: -176px -242px
+}
+
+.sbsprite-happy_emoji_1 {
+ background-position: -198px -242px
+}
+
+.sbsprite-reindeer_5 {
+ background-position: -220px -242px
+}
+
+.sbsprite-reindeer_6 {
+ background-position: -242px -242px
+}
+
+.sbsprite-happy_emoji_3 {
+ background-position: -264px -242px
+}
+
+.sbsprite-reindeer_7 {
+ background-position: -286px -242px
+}
+
+.sbsprite-happy_emoji_2 {
+ background-position: -308px -242px
+}
+
+.sbsprite-reindeer_8 {
+ background-position: -330px -242px
+}
+
+.sbsprite-happy_emoji_9 {
+ background-position: -352px -242px
+}
+
+.sbsprite-festive_skeleton_personality {
+ background-position: -374px -242px
+}
+
+.sbsprite-happy_emoji_8 {
+ background-position: -396px -242px
+}
+
+.sbsprite-mimic_fragment {
+ background-position: -418px -242px
+}
+
+.sbsprite-pet_skin_parrot_gold_macaw {
+ background-position: -440px -242px
+}
+
+.sbsprite-mithril_drill_engine {
+ background-position: -462px -242px
+}
+
+.sbsprite-titan_helmet {
+ background-position: -484px -242px
+}
+
+.sbsprite-warden_helmet {
+ background-position: -506px -242px
+}
+
+.sbsprite-nether_wart_pouch {
+ background-position: -528px -242px
+}
+
+.sbsprite-red_nose {
+ background-position: -550px -242px
+}
+
+.sbsprite-emerald_generator_12 {
+ background-position: -572px -242px
+}
+
+.sbsprite-farming_1_portal {
+ background-position: -594px -242px
+}
+
+.sbsprite-pet_skin_horse_zombie {
+ background-position: -616px -242px
+}
+
+.sbsprite-devour_ring {
+ background-position: -638px -242px
+}
+
+.sbsprite-mining_1_portal {
+ background-position: -660px -242px
+}
+
+.sbsprite-builder_lilac_fruit {
+ background-position: -682px -242px
+}
+
+.sbsprite-diamond_livid_head {
+ background-position: -704px -242px
+}
+
+.sbsprite-fast_travel_dungeon_hub {
+ background-position: -726px -242px
+}
+
+.sbsprite-emerald_generator_10 {
+ background-position: -748px -242px
+}
+
+.sbsprite-emerald_generator_11 {
+ background-position: -770px -242px
+}
+
+.sbsprite-bestiary_catacombs {
+ background-position: -792px -242px
+}
+
+.sbsprite-fine_amber_gem {
+ background-position: -814px -242px
+}
+
+.sbsprite-beach_ball_personality {
+ background-position: -836px -242px
+}
+
+.sbsprite-cow_generator_11 {
+ background-position: -858px -242px
+}
+
+.sbsprite-cow_generator_12 {
+ background-position: -880px -242px
+}
+
+.sbsprite-mummy_personality {
+ background-position: -902px -242px
+}
+
+.sbsprite-rune_wet {
+ background-position: -924px -242px
+}
+
+.sbsprite-jumbo_backpack_upgrade {
+ background-position: -946px -242px
+}
+
+.sbsprite-shadow_assassin_admiral {
+ background-position: -968px -242px
+}
+
+.sbsprite-beating_heart {
+ background-position: -990px -242px
+}
+
+.sbsprite-giant_tooth {
+ background-position: -1012px -242px
+}
+
+.sbsprite-black_large_backpack {
+ background-position: -1034px -242px
+}
+
+.sbsprite-corleonite {
+ background-position: 0 -264px
+}
+
+.sbsprite-magma_cube_generator_1 {
+ background-position: -22px -264px
+}
+
+.sbsprite-magma_cube_generator_5 {
+ background-position: -44px -264px
+}
+
+.sbsprite-gold_candy {
+ background-position: -66px -264px
+}
+
+.sbsprite-magma_cube_generator_4 {
+ background-position: -88px -264px
+}
+
+.sbsprite-magma_cube_generator_3 {
+ background-position: -110px -264px
+}
+
+.sbsprite-magma_cube_generator_2 {
+ background-position: -132px -264px
+}
+
+.sbsprite-magma_cube_generator_9 {
+ background-position: -154px -264px
+}
+
+.sbsprite-dining_table {
+ background-position: -176px -264px
+}
+
+.sbsprite-magma_cube_generator_8 {
+ background-position: -198px -264px
+}
+
+.sbsprite-magma_cube_generator_7 {
+ background-position: -220px -264px
+}
+
+.sbsprite-magma_cube_generator_6 {
+ background-position: -242px -264px
+}
+
+.sbsprite-sadan_brooch {
+ background-position: -264px -264px
+}
+
+.sbsprite-birch_generator_11 {
+ background-position: -286px -264px
+}
+
+.sbsprite-birch_generator_10 {
+ background-position: -308px -264px
+}
+
+.sbsprite-strong_dragon_helmet {
+ background-position: -330px -264px
+}
+
+.sbsprite-greater_enchanted_chest_upgrade {
+ background-position: -352px -264px
+}
+
+.sbsprite-pink_frosted_donut_11 {
+ background-position: -374px -264px
+}
+
+.sbsprite-molten_cube {
+ background-position: -396px -264px
+}
+
+.sbsprite-pink_frosted_donut_10 {
+ background-position: -418px -264px
+}
+
+.sbsprite-ultimate_carrot_candy_upgrade {
+ background-position: -440px -264px
+}
+
+.sbsprite-old_baby {
+ background-position: -462px -264px
+}
+
+.sbsprite-coin_lapis {
+ background-position: -484px -264px
+}
+
+.sbsprite-superior_shimmer {
+ background-position: -506px -264px
+}
+
+.sbsprite-diver_fragment {
+ background-position: -528px -264px
+}
+
+.sbsprite-blue_greater_backpack {
+ background-position: -550px -264px
+}
+
+.sbsprite-piggy_bank {
+ background-position: -572px -264px
+}
+
+.sbsprite-flawed_jade_gem {
+ background-position: -594px -264px
+}
+
+.sbsprite-dungeon_boss_key {
+ background-position: -616px -264px
+}
+
+.sbsprite-spider_catalyst {
+ background-position: -638px -264px
+}
+
+.sbsprite-shark_scale_helmet {
+ background-position: -660px -264px
+}
+
+.sbsprite-ghost_book {
+ background-position: -682px -264px
+}
+
+.sbsprite-titanium_alloy {
+ background-position: -704px -264px
+}
+
+.sbsprite-pet_skin_enderman_slayer {
+ background-position: -726px -264px
+}
+
+.sbsprite-hegemony_artifact {
+ background-position: -748px -264px
+}
+
+.sbsprite-potion_affinity_talisman {
+ background-position: -770px -264px
+}
+
+.sbsprite-trick_or_treat_bag {
+ background-position: -792px -264px
+}
+
+.sbsprite-fake_gold_ring {
+ background-position: -814px -264px
+}
+
+.sbsprite-dr_paper {
+ background-position: -836px -264px
+}
+
+.sbsprite-fuel_tank {
+ background-position: -858px -264px
+}
+
+.sbsprite-rough_amethyst_gem {
+ background-position: -880px -264px
+}
+
+.sbsprite-flawless_sapphire_gem {
+ background-position: -902px -264px
+}
+
+.sbsprite-pink_small_backpack {
+ background-position: -924px -264px
+}
+
+.sbsprite-cow_generator_10 {
+ background-position: -946px -264px
+}
+
+.sbsprite-mithril_infusion {
+ background-position: -968px -264px
+}
+
+.sbsprite-beastmaster_crest_common {
+ background-position: -990px -264px
+}
+
+.sbsprite-shiny_relic {
+ background-position: -1012px -264px
+}
+
+.sbsprite-concentrated_stone {
+ background-position: -1034px -264px
+}
+
+.sbsprite-sloth_personality {
+ background-position: 0 -286px
+}
+
+.sbsprite-stocking {
+ background-position: -22px -286px
+}
+
+.sbsprite-egg_pile {
+ background-position: -44px -286px
+}
+
+.sbsprite-blessing_of_wisdom {
+ background-position: -66px -286px
+}
+
+.sbsprite-happy_snowman {
+ background-position: -88px -286px
+}
+
+.sbsprite-gingerbread_10 {
+ background-position: -110px -286px
+}
+
+.sbsprite-gingerbread_11 {
+ background-position: -132px -286px
+}
+
+.sbsprite-diamond_generator_11 {
+ background-position: -154px -286px
+}
+
+.sbsprite-diamond_generator_10 {
+ background-position: -176px -286px
+}
+
+.sbsprite-medium_backpack {
+ background-position: -198px -286px
+}
+
+.sbsprite-rune_white_spiral {
+ background-position: -220px -286px
+}
+
+.sbsprite-diamond_generator_12 {
+ background-position: -242px -286px
+}
+
+.sbsprite-blacksmith_plus {
+ background-position: -264px -286px
+}
+
+.sbsprite-light_blue_greater_backpack {
+ background-position: -286px -286px
+}
+
+.sbsprite-watcher_eye {
+ background-position: -308px -286px
+}
+
+.sbsprite-pet_skin_silverfish {
+ background-position: -330px -286px
+}
+
+.sbsprite-rough_ruby_gem {
+ background-position: -352px -286px
+}
+
+.sbsprite-fine_amethyst_gem {
+ background-position: -374px -286px
+}
+
+.sbsprite-flawed_topaz_gem {
+ background-position: -396px -286px
+}
+
+.sbsprite-spirit_bone {
+ background-position: -418px -286px
+}
+
+.sbsprite-snow_blaster {
+ background-position: -440px -286px
+}
+
+.sbsprite-unknown_item {
+ background-position: -462px -286px
+}
+
+.sbsprite-spider_essence {
+ background-position: -484px -286px
+}
+
+.sbsprite-light_bait {
+ background-position: -506px -286px
+}
+
+.sbsprite-beastmaster_crest_legendary {
+ background-position: -528px -286px
+}
+
+.sbsprite-mayor_diana {
+ background-position: -550px -286px
+}
+
+.sbsprite-enchanted_jack_o_lantern {
+ background-position: -572px -286px
+}
+
+.sbsprite-medium_foraging_sack {
+ background-position: -594px -286px
+}
+
+.sbsprite-emerald_chest {
+ background-position: -616px -286px
+}
+
+.sbsprite-carrot_generator_6 {
+ background-position: -638px -286px
+}
+
+.sbsprite-reindeer_11 {
+ background-position: -660px -286px
+}
+
+.sbsprite-carrot_generator_7 {
+ background-position: -682px -286px
+}
+
+.sbsprite-reindeer_10 {
+ background-position: -704px -286px
+}
+
+.sbsprite-carrot_generator_4 {
+ background-position: -726px -286px
+}
+
+.sbsprite-carrot_generator_5 {
+ background-position: -748px -286px
+}
+
+.sbsprite-carrot_generator_2 {
+ background-position: -770px -286px
+}
+
+.sbsprite-carrot_generator_3 {
+ background-position: -792px -286px
+}
+
+.sbsprite-carrot_generator_1 {
+ background-position: -814px -286px
+}
+
+.sbsprite-carrot_generator_8 {
+ background-position: -836px -286px
+}
+
+.sbsprite-dragon_scale {
+ background-position: -858px -286px
+}
+
+.sbsprite-carrot_generator_9 {
+ background-position: -880px -286px
+}
+
+.sbsprite-protector_dragon_helmet {
+ background-position: -902px -286px
+}
+
+.sbsprite-rune_hearts {
+ background-position: -924px -286px
+}
+
+.sbsprite-pet_skin_sheep_magenta {
+ background-position: -946px -286px
+}
+
+.sbsprite-shadow_assassin_helmet {
+ background-position: -968px -286px
+}
+
+.sbsprite-gemstone_gauntlet_gold {
+ background-position: -990px -286px
+}
+
+.sbsprite-lucky_dice {
+ background-position: -1012px -286px
+}
+
+.sbsprite-wolf_ring {
+ background-position: -1034px -286px
+}
+
+.sbsprite-haunt_ability {
+ background-position: 0 -308px
+}
+
+.sbsprite-undead_essence {
+ background-position: -22px -308px
+}
+
+.sbsprite-bitter_ice_tea {
+ background-position: -44px -308px
+}
+
+.sbsprite-beastmaster_crest_rare {
+ background-position: -66px -308px
+}
+
+.sbsprite-enchanted_titanium {
+ background-position: -88px -308px
+}
+
+.sbsprite-red_claw_talisman {
+ background-position: -110px -308px
+}
+
+.sbsprite-intimidation_talisman {
+ background-position: -132px -308px
+}
+
+.sbsprite-ice_bait {
+ background-position: -154px -308px
+}
+
+.sbsprite-empty_soda_can {
+ background-position: -176px -308px
+}
+
+.sbsprite-jerry_candy {
+ background-position: -198px -308px
+}
+
+.sbsprite-ghast_generator_3 {
+ background-position: -220px -308px
+}
+
+.sbsprite-fancy_flower_pot {
+ background-position: -242px -308px
+}
+
+.sbsprite-ghast_generator_2 {
+ background-position: -264px -308px
+}
+
+.sbsprite-cyan_greater_backpack {
+ background-position: -286px -308px
+}
+
+.sbsprite-ghast_generator_5 {
+ background-position: -308px -308px
+}
+
+.sbsprite-ghast_generator_4 {
+ background-position: -330px -308px
+}
+
+.sbsprite-ghast_generator_7 {
+ background-position: -352px -308px
+}
+
+.sbsprite-cold_ones {
+ background-position: -374px -308px
+}
+
+.sbsprite-ghast_generator_6 {
+ background-position: -396px -308px
+}
+
+.sbsprite-mega_jerry_lure {
+ background-position: -418px -308px
+}
+
+.sbsprite-ghast_generator_9 {
+ background-position: -440px -308px
+}
+
+.sbsprite-rune_smokey {
+ background-position: -462px -308px
+}
+
+.sbsprite-ghast_generator_8 {
+ background-position: -484px -308px
+}
+
+.sbsprite-healer_dungeon_ability_2 {
+ background-position: -506px -308px
+}
+
+.sbsprite-healer_dungeon_ability_3 {
+ background-position: -528px -308px
+}
+
+.sbsprite-ghast_generator_1 {
+ background-position: -550px -308px
+}
+
+.sbsprite-brown_medium_backpack {
+ background-position: -572px -308px
+}
+
+.sbsprite-healer_dungeon_ability_1 {
+ background-position: -594px -308px
+}
+
+.sbsprite-ice_cream_2 {
+ background-position: -616px -308px
+}
+
+.sbsprite-ice_cream_1 {
+ background-position: -638px -308px
+}
+
+.sbsprite-ice_cream_4 {
+ background-position: -660px -308px
+}
+
+.sbsprite-ice_cream_3 {
+ background-position: -682px -308px
+}
+
+.sbsprite-ice_cream_6 {
+ background-position: -704px -308px
+}
+
+.sbsprite-ice_cream_5 {
+ background-position: -726px -308px
+}
+
+.sbsprite-ice_cream_8 {
+ background-position: -748px -308px
+}
+
+.sbsprite-ice_cream_7 {
+ background-position: -770px -308px
+}
+
+.sbsprite-ice_cream_9 {
+ background-position: -792px -308px
+}
+
+.sbsprite-ice_cream_10 {
+ background-position: -814px -308px
+}
+
+.sbsprite-ice_cream_11 {
+ background-position: -836px -308px
+}
+
+.sbsprite-coin_iron {
+ background-position: -858px -308px
+}
+
+.sbsprite-chewed_gum {
+ background-position: -880px -308px
+}
+
+.sbsprite-training_weights {
+ background-position: -902px -308px
+}
+
+.sbsprite-orange_large_backpack {
+ background-position: -924px -308px
+}
+
+.sbsprite-campfire_talisman_24 {
+ background-position: -946px -308px
+}
+
+.sbsprite-campfire_talisman_25 {
+ background-position: -968px -308px
+}
+
+.sbsprite-campfire_talisman_26 {
+ background-position: -990px -308px
+}
+
+.sbsprite-campfire_talisman_27 {
+ background-position: -1012px -308px
+}
+
+.sbsprite-campfire_talisman_28 {
+ background-position: -1034px -308px
+}
+
+.sbsprite-campfire_talisman_29 {
+ background-position: 0 -330px
+}
+
+.sbsprite-candle_table {
+ background-position: -22px -330px
+}
+
+.sbsprite-jingle_bells {
+ background-position: -44px -330px
+}
+
+.sbsprite-lynx_talisman {
+ background-position: -66px -330px
+}
+
+.sbsprite-campfire_talisman_20 {
+ background-position: -88px -330px
+}
+
+.sbsprite-campfire_talisman_21 {
+ background-position: -110px -330px
+}
+
+.sbsprite-campfire_talisman_22 {
+ background-position: -132px -330px
+}
+
+.sbsprite-campfire_talisman_23 {
+ background-position: -154px -330px
+}
+
+.sbsprite-perfect_ruby_gem {
+ background-position: -176px -330px
+}
+
+.sbsprite-pet_skin_megalodon_baby {
+ background-position: -198px -330px
+}
+
+.sbsprite-jungle_amulet {
+ background-position: -220px -330px
+}
+
+.sbsprite-reaper_mask {
+ background-position: -242px -330px
+}
+
+.sbsprite-enchanting_plus {
+ background-position: -264px -330px
+}
+
+.sbsprite-catacombs_expert_ring {
+ background-position: -286px -330px
+}
+
+.sbsprite-ice_knight_statue {
+ background-position: -308px -330px
+}
+
+.sbsprite-bits_talisman {
+ background-position: -330px -330px
+}
+
+.sbsprite-dark_orb {
+ background-position: -352px -330px
+}
+
+.sbsprite-blessing_of_power {
+ background-position: -374px -330px
+}
+
+.sbsprite-beastmaster_crest_epic {
+ background-position: -396px -330px
+}
+
+.sbsprite-bulky_stone {
+ background-position: -418px -330px
+}
+
+.sbsprite-yellow_small_backpack {
+ background-position: -440px -330px
+}
+
+.sbsprite-small_potion_bag {
+ background-position: -462px -330px
+}
+
+.sbsprite-green_jumbo_backpack {
+ background-position: -484px -330px
+}
+
+.sbsprite-zombie_heart {
+ background-position: -506px -330px
+}
+
+.sbsprite-pet_skin_black_cat_ivory {
+ background-position: -528px -330px
+}
+
+.sbsprite-titanium_relic {
+ background-position: -550px -330px
+}
+
+.sbsprite-fast_travel_jungle {
+ background-position: -572px -330px
+}
+
+.sbsprite-pet_skin_rabbit {
+ background-position: -594px -330px
+}
+
+.sbsprite-enderman_mask {
+ background-position: -616px -330px
+}
+
+.sbsprite-perfect_amethyst_gem {
+ background-position: -638px -330px
+}
+
+.sbsprite-boss_collection_sadan {
+ background-position: -660px -330px
+}
+
+.sbsprite-blessing_of_stone {
+ background-position: -682px -330px
+}
+
+.sbsprite-master_catacombs_pass_0 {
+ background-position: -704px -330px
+}
+
+.sbsprite-snowman {
+ background-position: -726px -330px
+}
+
+.sbsprite-candy_the_fish {
+ background-position: -748px -330px
+}
+
+.sbsprite-gold_chest {
+ background-position: -770px -330px
+}
+
+.sbsprite-master_catacombs_pass_6 {
+ background-position: -792px -330px
+}
+
+.sbsprite-master_catacombs_pass_5 {
+ background-position: -814px -330px
+}
+
+.sbsprite-master_catacombs_pass_8 {
+ background-position: -836px -330px
+}
+
+.sbsprite-master_catacombs_pass_7 {
+ background-position: -858px -330px
+}
+
+.sbsprite-master_catacombs_pass_2 {
+ background-position: -880px -330px
+}
+
+.sbsprite-master_catacombs_pass_1 {
+ background-position: -902px -330px
+}
+
+.sbsprite-master_catacombs_pass_4 {
+ background-position: -924px -330px
+}
+
+.sbsprite-master_catacombs_pass_3 {
+ background-position: -946px -330px
+}
+
+.sbsprite-candy_bowl {
+ background-position: -968px -330px
+}
+
+.sbsprite-large_talisman_bag {
+ background-position: -990px -330px
+}
+
+.sbsprite-secret_dungeon_redstone_key {
+ background-position: -1012px -330px
+}
+
+.sbsprite-knockoff_cola {
+ background-position: -1034px -330px
+}
+
+.sbsprite-grinch_2 {
+ background-position: 0 -352px
+}
+
+.sbsprite-grinch_3 {
+ background-position: -22px -352px
+}
+
+.sbsprite-grinch_4 {
+ background-position: -44px -352px
+}
+
+.sbsprite-personal_bank_item {
+ background-position: -66px -352px
+}
+
+.sbsprite-grinch_5 {
+ background-position: -88px -352px
+}
+
+.sbsprite-grinch_6 {
+ background-position: -110px -352px
+}
+
+.sbsprite-blessing_of_time {
+ background-position: -132px -352px
+}
+
+.sbsprite-grinch_7 {
+ background-position: -154px -352px
+}
+
+.sbsprite-grinch_8 {
+ background-position: -176px -352px
+}
+
+.sbsprite-grinch_9 {
+ background-position: -198px -352px
+}
+
+.sbsprite-crit_damage {
+ background-position: -220px -352px
+}
+
+.sbsprite-grinch_1 {
+ background-position: -242px -352px
+}
+
+.sbsprite-bunny_4 {
+ background-position: -264px -352px
+}
+
+.sbsprite-bunny_3 {
+ background-position: -286px -352px
+}
+
+.sbsprite-the_watchers_head {
+ background-position: -308px -352px
+}
+
+.sbsprite-bunny_2 {
+ background-position: -330px -352px
+}
+
+.sbsprite-bunny_1 {
+ background-position: -352px -352px
+}
+
+.sbsprite-bunny_8 {
+ background-position: -374px -352px
+}
+
+.sbsprite-bunny_7 {
+ background-position: -396px -352px
+}
+
+.sbsprite-master_catacombs_pass_9 {
+ background-position: -418px -352px
+}
+
+.sbsprite-bat_person_helmet {
+ background-position: -440px -352px
+}
+
+.sbsprite-bunny_6 {
+ background-position: -462px -352px
+}
+
+.sbsprite-bunny_5 {
+ background-position: -484px -352px
+}
+
+.sbsprite-refined_amber {
+ background-position: -506px -352px
+}
+
+.sbsprite-pet_skin_rock_derp {
+ background-position: -528px -352px
+}
+
+.sbsprite-pet_skin_sheep_gray {
+ background-position: -550px -352px
+}
+
+.sbsprite-flawed_amber_gem {
+ background-position: -572px -352px
+}
+
+.sbsprite-pumpkin_11 {
+ background-position: -594px -352px
+}
+
+.sbsprite-pumpkin_10 {
+ background-position: -616px -352px
+}
+
+.sbsprite-white_small_backpack {
+ background-position: -638px -352px
+}
+
+.sbsprite-blaze_hat {
+ background-position: -660px -352px
+}
+
+.sbsprite-woodcutting_crystal {
+ background-position: -682px -352px
+}
+
+.sbsprite-bunny_9 {
+ background-position: -704px -352px
+}
+
+.sbsprite-roofed_forest_island {
+ background-position: -726px -352px
+}
+
+.sbsprite-campfire_talisman_13 {
+ background-position: -748px -352px
+}
+
+.sbsprite-campfire_talisman_14 {
+ background-position: -770px -352px
+}
+
+.sbsprite-rune_lava {
+ background-position: -792px -352px
+}
+
+.sbsprite-campfire_talisman_15 {
+ background-position: -814px -352px
+}
+
+.sbsprite-campfire_talisman_16 {
+ background-position: -836px -352px
+}
+
+.sbsprite-campfire_talisman_17 {
+ background-position: -858px -352px
+}
+
+.sbsprite-campfire_talisman_18 {
+ background-position: -880px -352px
+}
+
+.sbsprite-golden_dante_statue {
+ background-position: -902px -352px
+}
+
+.sbsprite-campfire_talisman_19 {
+ background-position: -924px -352px
+}
+
+.sbsprite-foraging_4_portal {
+ background-position: -946px -352px
+}
+
+.sbsprite-new_year_cake_bag {
+ background-position: -968px -352px
+}
+
+.sbsprite-santa_personality {
+ background-position: -990px -352px
+}
+
+.sbsprite-campfire_talisman_10 {
+ background-position: -1012px -352px
+}
+
+.sbsprite-campfire_talisman_11 {
+ background-position: -1034px -352px
+}
+
+.sbsprite-campfire_talisman_12 {
+ background-position: 0 -374px
+}
+
+.sbsprite-jerry_stone {
+ background-position: -22px -374px
+}
+
+.sbsprite-cyclops_personality {
+ background-position: -44px -374px
+}
+
+.sbsprite-desert_island_crystal {
+ background-position: -66px -374px
+}
+
+.sbsprite-happy_emoji_personality {
+ background-position: -88px -374px
+}
+
+.sbsprite-rough_sapphire_gem {
+ background-position: -110px -374px
+}
+
+.sbsprite-fallen_star_hat {
+ background-position: -132px -374px
+}
+
+.sbsprite-blaze_generator_10 {
+ background-position: -154px -374px
+}
+
+.sbsprite-blaze_generator_11 {
+ background-position: -176px -374px
+}
+
+.sbsprite-goblin_omelette_blue_cheese {
+ background-position: -198px -374px
+}
+
+.sbsprite-treasure_artifact {
+ background-position: -220px -374px
+}
+
+.sbsprite-hermit_crab_personality {
+ background-position: -242px -374px
+}
+
+.sbsprite-orange {
+ background-position: -264px -374px
+}
+
+.sbsprite-pond_island {
+ background-position: -286px -374px
+}
+
+.sbsprite-fast_travel_void {
+ background-position: -308px -374px
+}
+
+.sbsprite-transmission_tuner {
+ background-position: -330px -374px
+}
+
+.sbsprite-bestiary_the_end {
+ background-position: -352px -374px
+}
+
+.sbsprite-danger_1_portal {
+ background-position: -374px -374px
+}
+
+.sbsprite-pink_jumbo_backpack {
+ background-position: -396px -374px
+}
+
+.sbsprite-sea_walker_helmet {
+ background-position: -418px -374px
+}
+
+.sbsprite-wise_fragment {
+ background-position: -440px -374px
+}
+
+.sbsprite-jerry_talisman_golden {
+ background-position: -462px -374px
+}
+
+.sbsprite-superior_baby {
+ background-position: -484px -374px
+}
+
+.sbsprite-flower_bed {
+ background-position: -506px -374px
+}
+
+.sbsprite-cactus_generator_1 {
+ background-position: -528px -374px
+}
+
+.sbsprite-endstone_geode {
+ background-position: -550px -374px
+}
+
+.sbsprite-holy_baby {
+ background-position: -572px -374px
+}
+
+.sbsprite-cactus_generator_3 {
+ background-position: -594px -374px
+}
+
+.sbsprite-cactus_generator_2 {
+ background-position: -616px -374px
+}
+
+.sbsprite-cactus_generator_5 {
+ background-position: -638px -374px
+}
+
+.sbsprite-cactus_generator_4 {
+ background-position: -660px -374px
+}
+
+.sbsprite-cactus_generator_7 {
+ background-position: -682px -374px
+}
+
+.sbsprite-cactus_generator_6 {
+ background-position: -704px -374px
+}
+
+.sbsprite-cactus_generator_9 {
+ background-position: -726px -374px
+}
+
+.sbsprite-protector_shimmer {
+ background-position: -748px -374px
+}
+
+.sbsprite-cactus_generator_8 {
+ background-position: -770px -374px
+}
+
+.sbsprite-rune_sparkling {
+ background-position: -792px -374px
+}
+
+.sbsprite-bingo_ring {
+ background-position: -814px -374px
+}
+
+.sbsprite-griffin_upgrade_stone_rare {
+ background-position: -836px -374px
+}
+
+.sbsprite-chick_nest {
+ background-position: -858px -374px
+}
+
+.sbsprite-solved_prism {
+ background-position: -880px -374px
+}
+
+.sbsprite-king_talisman {
+ background-position: -902px -374px
+}
+
+.sbsprite-treasure_ring {
+ background-position: -924px -374px
+}
+
+.sbsprite-black_medium_backpack {
+ background-position: -946px -374px
+}
+
+.sbsprite-surfboard {
+ background-position: -968px -374px
+}
+
+.sbsprite-mithril_fuel_tank {
+ background-position: -990px -374px
+}
+
+.sbsprite-fast_travel_home {
+ background-position: -1012px -374px
+}
+
+.sbsprite-water_trough {
+ background-position: -1034px -374px
+}
+
+.sbsprite-mayor_dante {
+ background-position: 0 -396px
+}
+
+.sbsprite-cheese_fuel {
+ background-position: -22px -396px
+}
+
+.sbsprite-pet_skin_lion_lioness {
+ background-position: -44px -396px
+}
+
+.sbsprite-pink_bunny_personality {
+ background-position: -66px -396px
+}
+
+.sbsprite-goldor_the_fish {
+ background-position: -88px -396px
+}
+
+.sbsprite-speed_wither_helmet {
+ background-position: -110px -396px
+}
+
+.sbsprite-pink_medium_backpack {
+ background-position: -132px -396px
+}
+
+.sbsprite-mayor_derpy {
+ background-position: -154px -396px
+}
+
+.sbsprite-talisman_enrichment_health {
+ background-position: -176px -396px
+}
+
+.sbsprite-enderpack {
+ background-position: -198px -396px
+}
+
+.sbsprite-pet_skin_rock_thinking {
+ background-position: -220px -396px
+}
+
+.sbsprite-soul_fragment {
+ background-position: -242px -396px
+}
+
+.sbsprite-skyblock_chair {
+ background-position: -264px -396px
+}
+
+.sbsprite-mayor_paul {
+ background-position: -286px -396px
+}
+
+.sbsprite-autopet_rules_2 {
+ background-position: -308px -396px
+}
+
+.sbsprite-bat_talisman {
+ background-position: -330px -396px
+}
+
+.sbsprite-killer_4 {
+ background-position: -352px -396px
+}
+
+.sbsprite-killer_5 {
+ background-position: -374px -396px
+}
+
+.sbsprite-killer_6 {
+ background-position: -396px -396px
+}
+
+.sbsprite-killer_7 {
+ background-position: -418px -396px
+}
+
+.sbsprite-killer_8 {
+ background-position: -440px -396px
+}
+
+.sbsprite-killer_9 {
+ background-position: -462px -396px
+}
+
+.sbsprite-builder_appalled_pumpkin {
+ background-position: -484px -396px
+}
+
+.sbsprite-holy_shimmer {
+ background-position: -506px -396px
+}
+
+.sbsprite-royal_pigeon {
+ background-position: -528px -396px
+}
+
+.sbsprite-life_preserver {
+ background-position: -550px -396px
+}
+
+.sbsprite-killer_1 {
+ background-position: -572px -396px
+}
+
+.sbsprite-killer_2 {
+ background-position: -594px -396px
+}
+
+.sbsprite-killer_3 {
+ background-position: -616px -396px
+}
+
+.sbsprite-pet_skin_rock_cool {
+ background-position: -638px -396px
+}
+
+.sbsprite-dingy {
+ background-position: -660px -396px
+}
+
+.sbsprite-intimidation_ring {
+ background-position: -682px -396px
+}
+
+.sbsprite-easter_egg_6 {
+ background-position: -704px -396px
+}
+
+.sbsprite-builder_kiwi {
+ background-position: -726px -396px
+}
+
+.sbsprite-easter_egg_5 {
+ background-position: -748px -396px
+}
+
+.sbsprite-easter_egg_4 {
+ background-position: -770px -396px
+}
+
+.sbsprite-rough_jade_gem {
+ background-position: -792px -396px
+}
+
+.sbsprite-easter_egg_3 {
+ background-position: -814px -396px
+}
+
+.sbsprite-easter_egg_2 {
+ background-position: -836px -396px
+}
+
+.sbsprite-easter_egg_1 {
+ background-position: -858px -396px
+}
+
+.sbsprite-snow_generator_11 {
+ background-position: -880px -396px
+}
+
+.sbsprite-snow_generator_10 {
+ background-position: -902px -396px
+}
+
+.sbsprite-easter_egg_9 {
+ background-position: -924px -396px
+}
+
+.sbsprite-easter_egg_8 {
+ background-position: -946px -396px
+}
+
+.sbsprite-easter_egg_7 {
+ background-position: -968px -396px
+}
+
+.sbsprite-medium_gemstone_sack {
+ background-position: -990px -396px
+}
+
+.sbsprite-large_enchanted_agronomy_sack {
+ background-position: -1012px -396px
+}
+
+.sbsprite-blessed_fruit {
+ background-position: -1034px -396px
+}
+
+.sbsprite-dungeon_stone_archer {
+ background-position: 0 -418px
+}
+
+.sbsprite-arrow_swapper {
+ background-position: -22px -418px
+}
+
+.sbsprite-snow_cannon {
+ background-position: -44px -418px
+}
+
+.sbsprite-jerry_box_mega {
+ background-position: -66px -418px
+}
+
+.sbsprite-pet_skin_sheep_brown {
+ background-position: -88px -418px
+}
+
+.sbsprite-brewing_plus {
+ background-position: -110px -418px
+}
+
+.sbsprite-mayor_barry {
+ background-position: -132px -418px
+}
+
+.sbsprite-bat_ring {
+ background-position: -154px -418px
+}
+
+.sbsprite-candle_arch {
+ background-position: -176px -418px
+}
+
+.sbsprite-mithril_plate {
+ background-position: -198px -418px
+}
+
+.sbsprite-carrot_bait {
+ background-position: -220px -418px
+}
+
+.sbsprite-speed_artifact {
+ background-position: -242px -418px
+}
+
+.sbsprite-salmon_hat {
+ background-position: -264px -418px
+}
+
+.sbsprite-mini_sandcastle {
+ background-position: -286px -418px
+}
+
+.sbsprite-scavenger_talisman {
+ background-position: -308px -418px
+}
+
+.sbsprite-fast_travel_kuudra {
+ background-position: -330px -418px
+}
+
+.sbsprite-foraging_fortune {
+ background-position: -352px -418px
+}
+
+.sbsprite-bunny_personality {
+ background-position: -374px -418px
+}
+
+.sbsprite-sandcastle_personality {
+ background-position: -396px -418px
+}
+
+.sbsprite-undead_11 {
+ background-position: -418px -418px
+}
+
+.sbsprite-magenta_jumbo_backpack {
+ background-position: -440px -418px
+}
+
+.sbsprite-undead_10 {
+ background-position: -462px -418px
+}
+
+.sbsprite-diamond_necron_head {
+ background-position: -484px -418px
+}
+
+.sbsprite-wet_pumpkin {
+ background-position: -506px -418px
+}
+
+.sbsprite-gemstone_gauntlet {
+ background-position: -528px -418px
+}
+
+.sbsprite-cobblestone_generator_9 {
+ background-position: -550px -418px
+}
+
+.sbsprite-cobblestone_generator_8 {
+ background-position: -572px -418px
+}
+
+.sbsprite-iron_generator_1 {
+ background-position: -594px -418px
+}
+
+.sbsprite-cobblestone_generator_7 {
+ background-position: -616px -418px
+}
+
+.sbsprite-control_switch {
+ background-position: -638px -418px
+}
+
+.sbsprite-iron_generator_2 {
+ background-position: -660px -418px
+}
+
+.sbsprite-cobblestone_generator_6 {
+ background-position: -682px -418px
+}
+
+.sbsprite-pumpkin_bomb {
+ background-position: -704px -418px
+}
+
+.sbsprite-cobblestone_generator_5 {
+ background-position: -726px -418px
+}
+
+.sbsprite-cobblestone_generator_4 {
+ background-position: -748px -418px
+}
+
+.sbsprite-dwarven_tankard {
+ background-position: -770px -418px
+}
+
+.sbsprite-jerry_talisman_purple {
+ background-position: -792px -418px
+}
+
+.sbsprite-cobblestone_generator_3 {
+ background-position: -814px -418px
+}
+
+.sbsprite-cobblestone_generator_2 {
+ background-position: -836px -418px
+}
+
+.sbsprite-reindeer_plush {
+ background-position: -858px -418px
+}
+
+.sbsprite-cobblestone_generator_1 {
+ background-position: -880px -418px
+}
+
+.sbsprite-big_xtree {
+ background-position: -902px -418px
+}
+
+.sbsprite-farming_island {
+ background-position: -924px -418px
+}
+
+.sbsprite-rune_endersnake {
+ background-position: -946px -418px
+}
+
+.sbsprite-rune {
+ background-position: -968px -418px
+}
+
+.sbsprite-sweet_flesh {
+ background-position: -990px -418px
+}
+
+.sbsprite-shark_10 {
+ background-position: -1012px -418px
+}
+
+.sbsprite-shark_12 {
+ background-position: -1034px -418px
+}
+
+.sbsprite-viking_tear {
+ background-position: 0 -440px
+}
+
+.sbsprite-shark_11 {
+ background-position: -22px -440px
+}
+
+.sbsprite-iron_generator_7 {
+ background-position: -44px -440px
+}
+
+.sbsprite-iron_generator_8 {
+ background-position: -66px -440px
+}
+
+.sbsprite-iron_generator_9 {
+ background-position: -88px -440px
+}
+
+.sbsprite-beacon_skull {
+ background-position: -110px -440px
+}
+
+.sbsprite-coin_gold_2 {
+ background-position: -132px -440px
+}
+
+.sbsprite-iron_generator_3 {
+ background-position: -154px -440px
+}
+
+.sbsprite-iron_generator_4 {
+ background-position: -176px -440px
+}
+
+.sbsprite-sea_creature_ring {
+ background-position: -198px -440px
+}
+
+.sbsprite-iron_generator_5 {
+ background-position: -220px -440px
+}
+
+.sbsprite-iron_generator_6 {
+ background-position: -242px -440px
+}
+
+.sbsprite-nether_warts_generator_7 {
+ background-position: -264px -440px
+}
+
+.sbsprite-nether_warts_generator_8 {
+ background-position: -286px -440px
+}
+
+.sbsprite-nether_warts_generator_9 {
+ background-position: -308px -440px
+}
+
+.sbsprite-nether_warts_generator_3 {
+ background-position: -330px -440px
+}
+
+.sbsprite-wolf_fur_mixin {
+ background-position: -352px -440px
+}
+
+.sbsprite-mayor_marina {
+ background-position: -374px -440px
+}
+
+.sbsprite-candy_ring {
+ background-position: -396px -440px
+}
+
+.sbsprite-nether_warts_generator_4 {
+ background-position: -418px -440px
+}
+
+.sbsprite-nether_warts_generator_5 {
+ background-position: -440px -440px
+}
+
+.sbsprite-nether_warts_generator_6 {
+ background-position: -462px -440px
+}
+
+.sbsprite-large_backpack {
+ background-position: -484px -440px
+}
+
+.sbsprite-fine_sapphire_gem {
+ background-position: -506px -440px
+}
+
+.sbsprite-nether_warts_generator_1 {
+ background-position: -528px -440px
+}
+
+.sbsprite-nether_warts_generator_2 {
+ background-position: -550px -440px
+}
+
+.sbsprite-griffin_upgrade_stone_uncommon {
+ background-position: -572px -440px
+}
+
+.sbsprite-grey_greater_backpack {
+ background-position: -594px -440px
+}
+
+.sbsprite-shiny_orb {
+ background-position: -616px -440px
+}
+
+.sbsprite-large_enchanted_husbandry_sack {
+ background-position: -638px -440px
+}
+
+.sbsprite-milk_cookies {
+ background-position: -660px -440px
+}
+
+.sbsprite-spider_artifact {
+ background-position: -682px -440px
+}
+
+.sbsprite-green_gift {
+ background-position: -704px -440px
+}
+
+.sbsprite-fast_travel_park {
+ background-position: -726px -440px
+}
+
+.sbsprite-jungle_heart {
+ background-position: -748px -440px
+}
+
+.sbsprite-toil_log {
+ background-position: -770px -440px
+}
+
+.sbsprite-absolute_ender_pearl {
+ background-position: -792px -440px
+}
+
+.sbsprite-catacombs_pass_10 {
+ background-position: -814px -440px
+}
+
+.sbsprite-protector_fragment {
+ background-position: -836px -440px
+}
+
+.sbsprite-ice_generator_1 {
+ background-position: -858px -440px
+}
+
+.sbsprite-ice_generator_2 {
+ background-position: -880px -440px
+}
+
+.sbsprite-old_fragment {
+ background-position: -902px -440px
+}
+
+.sbsprite-ice_generator_3 {
+ background-position: -924px -440px
+}
+
+.sbsprite-traveling_zoo {
+ background-position: -946px -440px
+}
+
+.sbsprite-ice_generator_4 {
+ background-position: -968px -440px
+}
+
+.sbsprite-ice_generator_5 {
+ background-position: -990px -440px
+}
+
+.sbsprite-ice_generator_6 {
+ background-position: -1012px -440px
+}
+
+.sbsprite-ice_generator_7 {
+ background-position: -1034px -440px
+}
+
+.sbsprite-ice_generator_8 {
+ background-position: 0 -462px
+}
+
+.sbsprite-ice_generator_9 {
+ background-position: -22px -462px
+}
+
+.sbsprite-lady_bug_personality {
+ background-position: -44px -462px
+}
+
+.sbsprite-pet_skin_rock_laugh {
+ background-position: -66px -462px
+}
+
+.sbsprite-experimentation_table {
+ background-position: -88px -462px
+}
+
+.sbsprite-titanium_ore {
+ background-position: -110px -462px
+}
+
+.sbsprite-blue_medium_backpack {
+ background-position: -132px -462px
+}
+
+.sbsprite-ice_sofa {
+ background-position: -154px -462px
+}
+
+.sbsprite-rune_lightning {
+ background-position: -176px -462px
+}
+
+.sbsprite-tarantula_talisman {
+ background-position: -198px -462px
+}
+
+.sbsprite-mayor_aatrox {
+ background-position: -220px -462px
+}
+
+.sbsprite-race_crystal_core {
+ background-position: -242px -462px
+}
+
+.sbsprite-black_cat_plush {
+ background-position: -264px -462px
+}
+
+.sbsprite-small_agronomy_sack {
+ background-position: -286px -462px
+}
+
+.sbsprite-magenta_greater_backpack {
+ background-position: -308px -462px
+}
+
+.sbsprite-pet_skin_sheep_light_gray {
+ background-position: -330px -462px
+}
+
+.sbsprite-diamond_scarf_head {
+ background-position: -352px -462px
+}
+
+.sbsprite-hay_bed {
+ background-position: -374px -462px
+}
+
+.sbsprite-talisman_enrichment_sea_creature_chance {
+ background-position: -396px -462px
+}
+
+.sbsprite-strong_shimmer {
+ background-position: -418px -462px
+}
+
+.sbsprite-shady_ring {
+ background-position: -440px -462px
+}
+
+.sbsprite-dante_talisman {
+ background-position: -462px -462px
+}
+
+.sbsprite-pink_bunny_1 {
+ background-position: -484px -462px
+}
+
+.sbsprite-black_greater_backpack {
+ background-position: -506px -462px
+}
+
+.sbsprite-builder_cactus {
+ background-position: -528px -462px
+}
+
+.sbsprite-magenta_small_backpack {
+ background-position: -550px -462px
+}
+
+.sbsprite-talisman_enrichment_defense {
+ background-position: -572px -462px
+}
+
+.sbsprite-pink_bunny_3 {
+ background-position: -594px -462px
+}
+
+.sbsprite-talisman_enrichment_magic_find {
+ background-position: -616px -462px
+}
+
+.sbsprite-pink_bunny_2 {
+ background-position: -638px -462px
+}
+
+.sbsprite-pink_bunny_5 {
+ background-position: -660px -462px
+}
+
+.sbsprite-pink_bunny_4 {
+ background-position: -682px -462px
+}
+
+.sbsprite-salmon_opal {
+ background-position: -704px -462px
+}
+
+.sbsprite-pink_bunny_7 {
+ background-position: -726px -462px
+}
+
+.sbsprite-pink_bunny_6 {
+ background-position: -748px -462px
+}
+
+.sbsprite-pink_bunny_9 {
+ background-position: -770px -462px
+}
+
+.sbsprite-pink_bunny_8 {
+ background-position: -792px -462px
+}
+
+.sbsprite-refined_mithril {
+ background-position: -814px -462px
+}
+
+.sbsprite-happy_emoji_10 {
+ background-position: -836px -462px
+}
+
+.sbsprite-happy_emoji_11 {
+ background-position: -858px -462px
+}
+
+.sbsprite-mine_talisman {
+ background-position: -880px -462px
+}
+
+.sbsprite-old_dragon_helmet {
+ background-position: -902px -462px
+}
+
+.sbsprite-boss_collection_livid {
+ background-position: -924px -462px
+}
+
+.sbsprite-green_small_backpack {
+ background-position: -946px -462px
+}
+
+.sbsprite-rune_bite {
+ background-position: -968px -462px
+}
+
+.sbsprite-jungle_generator_11 {
+ background-position: -990px -462px
+}
+
+.sbsprite-mega_luck {
+ background-position: -1012px -462px
+}
+
+.sbsprite-jungle_generator_10 {
+ background-position: -1034px -462px
+}
+
+.sbsprite-pet_skin_chicken_baby_chick {
+ background-position: 0 -484px
+}
+
+.sbsprite-pile_of_cash {
+ background-position: -22px -484px
+}
+
+.sbsprite-dungeoneering {
+ background-position: -44px -484px
+}
+
+.sbsprite-base_griffin_upgrade_stone {
+ background-position: -66px -484px
+}
+
+.sbsprite-red_tent {
+ background-position: -88px -484px
+}
+
+.sbsprite-dungeon_red_support_orb {
+ background-position: -110px -484px
+}
+
+.sbsprite-fast_travel_nether {
+ background-position: -132px -484px
+}
+
+.sbsprite-night_vision_charm {
+ background-position: -154px -484px
+}
+
+.sbsprite-zombie_grave {
+ background-position: -176px -484px
+}
+
+.sbsprite-fish_bait {
+ background-position: -198px -484px
+}
+
+.sbsprite-ice_lolly_personality {
+ background-position: -220px -484px
+}
+
+.sbsprite-grizzly_paw {
+ background-position: -242px -484px
+}
+
+.sbsprite-large_potion_bag {
+ background-position: -264px -484px
+}
+
+.sbsprite-poorly_wrapped_rock {
+ background-position: -286px -484px
+}
+
+.sbsprite-drill_engine {
+ background-position: -308px -484px
+}
+
+.sbsprite-dark_oak_generator_10 {
+ background-position: -330px -484px
+}
+
+.sbsprite-dungeon_normal_key {
+ background-position: -352px -484px
+}
+
+.sbsprite-dark_oak_generator_11 {
+ background-position: -374px -484px
+}
+
+.sbsprite-unstable_shimmer {
+ background-position: -396px -484px
+}
+
+.sbsprite-green_egg {
+ background-position: -418px -484px
+}
+
+.sbsprite-rough_topaz_gem {
+ background-position: -440px -484px
+}
+
+.sbsprite-mana_flux_power_orb {
+ background-position: -462px -484px
+}
+
+.sbsprite-amber_material {
+ background-position: -484px -484px
+}
+
+.sbsprite-grinch_personality {
+ background-position: -506px -484px
+}
+
+.sbsprite-fast_travel_crystals {
+ background-position: -528px -484px
+}
+
+.sbsprite-lapis_generator_2 {
+ background-position: -550px -484px
+}
+
+.sbsprite-lapis_generator_3 {
+ background-position: -572px -484px
+}
+
+.sbsprite-rune_sack {
+ background-position: -594px -484px
+}
+
+.sbsprite-lapis_generator_4 {
+ background-position: -616px -484px
+}
+
+.sbsprite-tightly_tied_hay_bale {
+ background-position: -638px -484px
+}
+
+.sbsprite-beach_ball {
+ background-position: -660px -484px
+}
+
+.sbsprite-lapis_generator_5 {
+ background-position: -682px -484px
+}
+
+.sbsprite-lapis_generator_10 {
+ background-position: -704px -484px
+}
+
+.sbsprite-lapis_generator_12 {
+ background-position: -726px -484px
+}
+
+.sbsprite-light_grey_large_backpack {
+ background-position: -748px -484px
+}
+
+.sbsprite-lapis_generator_1 {
+ background-position: -770px -484px
+}
+
+.sbsprite-lapis_generator_11 {
+ background-position: -792px -484px
+}
+
+.sbsprite-pet_item_quick_claw {
+ background-position: -814px -484px
+}
+
+.sbsprite-basketball_9 {
+ background-position: -836px -484px
+}
+
+.sbsprite-deck_chair {
+ background-position: -858px -484px
+}
+
+.sbsprite-lady_bug_9 {
+ background-position: -880px -484px
+}
+
+.sbsprite-basketball_8 {
+ background-position: -902px -484px
+}
+
+.sbsprite-lady_bug_8 {
+ background-position: -924px -484px
+}
+
+.sbsprite-basketball_7 {
+ background-position: -946px -484px
+}
+
+.sbsprite-basketball_6 {
+ background-position: -968px -484px
+}
+
+.sbsprite-rune_pestilence {
+ background-position: -990px -484px
+}
+
+.sbsprite-basketball_5 {
+ background-position: -1012px -484px
+}
+
+.sbsprite-mithril_generator_12 {
+ background-position: -1034px -484px
+}
+
+.sbsprite-sea_creature_talisman {
+ background-position: 0 -506px
+}
+
+.sbsprite-basketball_4 {
+ background-position: -22px -506px
+}
+
+.sbsprite-mithril_generator_11 {
+ background-position: -44px -506px
+}
+
+.sbsprite-basketball_3 {
+ background-position: -66px -506px
+}
+
+.sbsprite-mithril_generator_10 {
+ background-position: -88px -506px
+}
+
+.sbsprite-basketball_2 {
+ background-position: -110px -506px
+}
+
+.sbsprite-blue_egg {
+ background-position: -132px -506px
+}
+
+.sbsprite-basketball_1 {
+ background-position: -154px -506px
+}
+
+.sbsprite-lady_bug_1 {
+ background-position: -176px -506px
+}
+
+.sbsprite-emerald_ring {
+ background-position: -198px -506px
+}
+
+.sbsprite-lady_bug_3 {
+ background-position: -220px -506px
+}
+
+.sbsprite-lady_bug_2 {
+ background-position: -242px -506px
+}
+
+.sbsprite-lady_bug_5 {
+ background-position: -264px -506px
+}
+
+.sbsprite-lapis_generator_6 {
+ background-position: -286px -506px
+}
+
+.sbsprite-epoch_cake_green {
+ background-position: -308px -506px
+}
+
+.sbsprite-lady_bug_4 {
+ background-position: -330px -506px
+}
+
+.sbsprite-lapis_generator_7 {
+ background-position: -352px -506px
+}
+
+.sbsprite-medium_husbandry_sack {
+ background-position: -374px -506px
+}
+
+.sbsprite-bunny_11 {
+ background-position: -396px -506px
+}
+
+.sbsprite-lady_bug_7 {
+ background-position: -418px -506px
+}
+
+.sbsprite-lapis_generator_8 {
+ background-position: -440px -506px
+}
+
+.sbsprite-bunny_10 {
+ background-position: -462px -506px
+}
+
+.sbsprite-candy_relic {
+ background-position: -484px -506px
+}
+
+.sbsprite-lady_bug_6 {
+ background-position: -506px -506px
+}
+
+.sbsprite-lapis_generator_9 {
+ background-position: -528px -506px
+}
+
+.sbsprite-red_jumbo_backpack {
+ background-position: -550px -506px
+}
+
+.sbsprite-holy_fragment {
+ background-position: -572px -506px
+}
+
+.sbsprite-ice_cream_personality {
+ background-position: -594px -506px
+}
+
+.sbsprite-dungeon_blue_support_orb {
+ background-position: -616px -506px
+}
+
+.sbsprite-blaze_generator_4 {
+ background-position: -638px -506px
+}
+
+.sbsprite-blaze_generator_3 {
+ background-position: -660px -506px
+}
+
+.sbsprite-blaze_generator_2 {
+ background-position: -682px -506px
+}
+
+.sbsprite-blaze_generator_1 {
+ background-position: -704px -506px
+}
+
+.sbsprite-blaze_generator_8 {
+ background-position: -726px -506px
+}
+
+.sbsprite-blaze_generator_7 {
+ background-position: -748px -506px
+}
+
+.sbsprite-pet_skin_whale_orca {
+ background-position: -770px -506px
+}
+
+.sbsprite-blaze_generator_6 {
+ background-position: -792px -506px
+}
+
+.sbsprite-blaze_generator_5 {
+ background-position: -814px -506px
+}
+
+.sbsprite-deadgehog_helmet {
+ background-position: -836px -506px
+}
+
+.sbsprite-volta {
+ background-position: -858px -506px
+}
+
+.sbsprite-blaze_generator_9 {
+ background-position: -880px -506px
+}
+
+.sbsprite-frozen_chicken {
+ background-position: -902px -506px
+}
+
+.sbsprite-pet_skin_dragon_neon_purple {
+ background-position: -924px -506px
+}
+
+.sbsprite-cavespider_generator_6 {
+ background-position: -946px -506px
+}
+
+.sbsprite-cavespider_generator_5 {
+ background-position: -968px -506px
+}
+
+.sbsprite-rune_gem {
+ background-position: -990px -506px
+}
+
+.sbsprite-cavespider_generator_8 {
+ background-position: -1012px -506px
+}
+
+.sbsprite-cavespider_generator_7 {
+ background-position: -1034px -506px
+}
+
+.sbsprite-cavespider_generator_2 {
+ background-position: 0 -528px
+}
+
+.sbsprite-cavespider_generator_1 {
+ background-position: -22px -528px
+}
+
+.sbsprite-cavespider_generator_4 {
+ background-position: -44px -528px
+}
+
+.sbsprite-jerry_talisman_blue {
+ background-position: -66px -528px
+}
+
+.sbsprite-cavespider_generator_3 {
+ background-position: -88px -528px
+}
+
+.sbsprite-speed_talisman {
+ background-position: -110px -528px
+}
+
+.sbsprite-mummy_1 {
+ background-position: -132px -528px
+}
+
+.sbsprite-rabbit_hat {
+ background-position: -154px -528px
+}
+
+.sbsprite-bat_person_ring {
+ background-position: -176px -528px
+}
+
+.sbsprite-mummy_3 {
+ background-position: -198px -528px
+}
+
+.sbsprite-cavespider_generator_9 {
+ background-position: -220px -528px
+}
+
+.sbsprite-mummy_2 {
+ background-position: -242px -528px
+}
+
+.sbsprite-mummy_5 {
+ background-position: -264px -528px
+}
+
+.sbsprite-strong_baby {
+ background-position: -286px -528px
+}
+
+.sbsprite-mummy_4 {
+ background-position: -308px -528px
+}
+
+.sbsprite-mummy_7 {
+ background-position: -330px -528px
+}
+
+.sbsprite-mummy_6 {
+ background-position: -352px -528px
+}
+
+.sbsprite-spooky_helmet {
+ background-position: -374px -528px
+}
+
+.sbsprite-dining_chair {
+ background-position: -396px -528px
+}
+
+.sbsprite-mummy_9 {
+ background-position: -418px -528px
+}
+
+.sbsprite-mummy_8 {
+ background-position: -440px -528px
+}
+
+.sbsprite-ender_relic {
+ background-position: -462px -528px
+}
+
+.sbsprite-flawed_jasper_gem {
+ background-position: -484px -528px
+}
+
+.sbsprite-cactus_generator_10 {
+ background-position: -506px -528px
+}
+
+.sbsprite-pet_skin_silverfish_fossilized {
+ background-position: -528px -528px
+}
+
+.sbsprite-cactus_generator_11 {
+ background-position: -550px -528px
+}
+
+.sbsprite-cactus_generator_12 {
+ background-position: -572px -528px
+}
+
+.sbsprite-dark_goggles {
+ background-position: -594px -528px
+}
+
+.sbsprite-starred_bonzo_mask {
+ background-position: -616px -528px
+}
+
+.sbsprite-pigs_foot {
+ background-position: -638px -528px
+}
+
+.sbsprite-gemstone_mixture {
+ background-position: -660px -528px
+}
+
+.sbsprite-tarantula_black_widow {
+ background-position: -682px -528px
+}
+
+.sbsprite-builder_berry_bush {
+ background-position: -704px -528px
+}
+
+.sbsprite-chicken_head {
+ background-position: -726px -528px
+}
+
+.sbsprite-pet_skin_elephant_purple {
+ background-position: -748px -528px
+}
+
+.sbsprite-cow_head {
+ background-position: -770px -528px
+}
+
+.sbsprite-witch_broomstick {
+ background-position: -792px -528px
+}
+
+.sbsprite-pet_skin_monkey_gorilla {
+ background-position: -814px -528px
+}
+
+.sbsprite-grey_large_backpack {
+ background-position: -836px -528px
+}
+
+.sbsprite-pet_skin_sheep_neon_green {
+ background-position: -858px -528px
+}
+
+.sbsprite-magic_mushroom_soup {
+ background-position: -880px -528px
+}
+
+.sbsprite-petrified_starfall {
+ background-position: -902px -528px
+}
+
+.sbsprite-spruce_generator_9 {
+ background-position: -924px -528px
+}
+
+.sbsprite-second_master_star {
+ background-position: -946px -528px
+}
+
+.sbsprite-sled {
+ background-position: -968px -528px
+}
+
+.sbsprite-spruce_generator_1 {
+ background-position: -990px -528px
+}
+
+.sbsprite-voidling_generator_2 {
+ background-position: -1012px -528px
+}
+
+.sbsprite-red {
+ background-position: -1034px -528px
+}
+
+.sbsprite-spirit_wing {
+ background-position: 0 -550px
+}
+
+.sbsprite-spruce_generator_2 {
+ background-position: -22px -550px
+}
+
+.sbsprite-voidling_generator_1 {
+ background-position: -44px -550px
+}
+
+.sbsprite-spruce_generator_3 {
+ background-position: -66px -550px
+}
+
+.sbsprite-voidling_generator_4 {
+ background-position: -88px -550px
+}
+
+.sbsprite-spruce_generator_4 {
+ background-position: -110px -550px
+}
+
+.sbsprite-voidling_generator_3 {
+ background-position: -132px -550px
+}
+
+.sbsprite-spruce_generator_5 {
+ background-position: -154px -550px
+}
+
+.sbsprite-voidling_generator_6 {
+ background-position: -176px -550px
+}
+
+.sbsprite-spruce_generator_6 {
+ background-position: -198px -550px
+}
+
+.sbsprite-voidling_generator_5 {
+ background-position: -220px -550px
+}
+
+.sbsprite-spruce_generator_7 {
+ background-position: -242px -550px
+}
+
+.sbsprite-voidling_generator_8 {
+ background-position: -264px -550px
+}
+
+.sbsprite-spruce_generator_8 {
+ background-position: -286px -550px
+}
+
+.sbsprite-voidling_generator_7 {
+ background-position: -308px -550px
+}
+
+.sbsprite-voidling_generator_9 {
+ background-position: -330px -550px
+}
+
+.sbsprite-magenta_large_backpack {
+ background-position: -352px -550px
+}
+
+.sbsprite-fast_travel_end {
+ background-position: -374px -550px
+}
+
+.sbsprite-cow_generator_8 {
+ background-position: -396px -550px
+}
+
+.sbsprite-cow_generator_9 {
+ background-position: -418px -550px
+}
+
+.sbsprite-present_1 {
+ background-position: -440px -550px
+}
+
+.sbsprite-topaz_crystal {
+ background-position: -462px -550px
+}
+
+.sbsprite-bestiary_private_island {
+ background-position: -484px -550px
+}
+
+.sbsprite-present_2 {
+ background-position: -506px -550px
+}
+
+.sbsprite-present_3 {
+ background-position: -528px -550px
+}
+
+.sbsprite-cow_generator_1 {
+ background-position: -550px -550px
+}
+
+.sbsprite-cow_generator_2 {
+ background-position: -572px -550px
+}
+
+.sbsprite-dragon_horn {
+ background-position: -594px -550px
+}
+
+.sbsprite-bat_artifact {
+ background-position: -616px -550px
+}
+
+.sbsprite-cow_generator_3 {
+ background-position: -638px -550px
+}
+
+.sbsprite-cow_generator_4 {
+ background-position: -660px -550px
+}
+
+.sbsprite-cow_generator_5 {
+ background-position: -682px -550px
+}
+
+.sbsprite-cow_generator_6 {
+ background-position: -704px -550px
+}
+
+.sbsprite-cow_generator_7 {
+ background-position: -726px -550px
+}
+
+.sbsprite-goblin_omelette_pesto {
+ background-position: -748px -550px
+}
+
+.sbsprite-farming_2_portal {
+ background-position: -770px -550px
+}
+
+.sbsprite-village_talisman {
+ background-position: -792px -550px
+}
+
+.sbsprite-cheetah_talisman {
+ background-position: -814px -550px
+}
+
+.sbsprite-mining_2_portal {
+ background-position: -836px -550px
+}
+
+.sbsprite-present_8 {
+ background-position: -858px -550px
+}
+
+.sbsprite-wood_talisman {
+ background-position: -880px -550px
+}
+
+.sbsprite-present_9 {
+ background-position: -902px -550px
+}
+
+.sbsprite-present_4 {
+ background-position: -924px -550px
+}
+
+.sbsprite-present_5 {
+ background-position: -946px -550px
+}
+
+.sbsprite-present_6 {
+ background-position: -968px -550px
+}
+
+.sbsprite-present_7 {
+ background-position: -990px -550px
+}
+
+.sbsprite-healing_ring {
+ background-position: -1012px -550px
+}
+
+.sbsprite-titanium_artifact {
+ background-position: -1034px -550px
+}
+
+.sbsprite-penguin_1 {
+ background-position: 0 -572px
+}
+
+.sbsprite-penguin_2 {
+ background-position: -22px -572px
+}
+
+.sbsprite-ruby_crystal {
+ background-position: -44px -572px
+}
+
+.sbsprite-tiki_torch {
+ background-position: -66px -572px
+}
+
+.sbsprite-wheat_generator_10 {
+ background-position: -88px -572px
+}
+
+.sbsprite-emerald_generator_8 {
+ background-position: -110px -572px
+}
+
+.sbsprite-wheat_generator_12 {
+ background-position: -132px -572px
+}
+
+.sbsprite-emerald_generator_7 {
+ background-position: -154px -572px
+}
+
+.sbsprite-wheat_generator_11 {
+ background-position: -176px -572px
+}
+
+.sbsprite-scarecrow {
+ background-position: -198px -572px
+}
+
+.sbsprite-emerald_generator_9 {
+ background-position: -220px -572px
+}
+
+.sbsprite-emerald_generator_4 {
+ background-position: -242px -572px
+}
+
+.sbsprite-emerald_generator_3 {
+ background-position: -264px -572px
+}
+
+.sbsprite-emerald_generator_6 {
+ background-position: -286px -572px
+}
+
+.sbsprite-emerald_generator_5 {
+ background-position: -308px -572px
+}
+
+.sbsprite-pet_skin_elephant_monochrome {
+ background-position: -330px -572px
+}
+
+.sbsprite-emerald_generator_2 {
+ background-position: -352px -572px
+}
+
+.sbsprite-emerald_generator_1 {
+ background-position: -374px -572px
+}
+
+.sbsprite-flawless_topaz_gem {
+ background-position: -396px -572px
+}
+
+.sbsprite-raw_soulflow {
+ background-position: -418px -572px
+}
+
+.sbsprite-large_enchanted_mining_sack {
+ background-position: -440px -572px
+}
+
+.sbsprite-gold_scarf_head {
+ background-position: -462px -572px
+}
+
+.sbsprite-orange_medium_backpack {
+ background-position: -484px -572px
+}
+
+.sbsprite-fine_jade_gem {
+ background-position: -506px -572px
+}
+
+.sbsprite-white_gift {
+ background-position: -528px -572px
+}
+
+.sbsprite-goblin_omelette_sunny_side {
+ background-position: -550px -572px
+}
+
+.sbsprite-builder_brown_mushroom {
+ background-position: -572px -572px
+}
+
+.sbsprite-giant_flesh {
+ background-position: -594px -572px
+}
+
+.sbsprite-jumbo_backpack {
+ background-position: -616px -572px
+}
+
+.sbsprite-eternal_flame_ring {
+ background-position: -638px -572px
+}
+
+.sbsprite-wrapped_gift_for_juliette {
+ background-position: -660px -572px
+}
+
+.sbsprite-enchanted_book_bundle_counter_strike {
+ background-position: -682px -572px
+}
+
+.sbsprite-pet_item_toy_jerry {
+ background-position: -704px -572px
+}
+
+.sbsprite-golden_plate {
+ background-position: -726px -572px
+}
+
+.sbsprite-penguin_5 {
+ background-position: -748px -572px
+}
+
+.sbsprite-grandfather_clock {
+ background-position: -770px -572px
+}
+
+.sbsprite-penguin_6 {
+ background-position: -792px -572px
+}
+
+.sbsprite-penguin_3 {
+ background-position: -814px -572px
+}
+
+.sbsprite-pet_skin_elephant_orange {
+ background-position: -836px -572px
+}
+
+.sbsprite-fast_travel_museum {
+ background-position: -858px -572px
+}
+
+.sbsprite-penguin_4 {
+ background-position: -880px -572px
+}
+
+.sbsprite-penguin_9 {
+ background-position: -902px -572px
+}
+
+.sbsprite-penguin_7 {
+ background-position: -924px -572px
+}
+
+.sbsprite-penguin_8 {
+ background-position: -946px -572px
+}
+
+.sbsprite-light_grey_medium_backpack {
+ background-position: -968px -572px
+}
+
+.sbsprite-blue_jumbo_backpack {
+ background-position: -990px -572px
+}
+
+.sbsprite-cyan_small_backpack {
+ background-position: -1012px -572px
+}
+
+.sbsprite-jade_crystal {
+ background-position: -1034px -572px
+}
+
+.sbsprite-large_dungeon_sack {
+ background-position: 0 -594px
+}
+
+.sbsprite-summoning_ring {
+ background-position: -22px -594px
+}
+
+.sbsprite-dragon_essence {
+ background-position: -44px -594px
+}
+
+.sbsprite-basket_of_seeds {
+ background-position: -66px -594px
+}
+
+.sbsprite-bunny_jerry {
+ background-position: -88px -594px
+}
+
+.sbsprite-perfect_jade_gem {
+ background-position: -110px -594px
+}
+
+.sbsprite-spray_can {
+ background-position: -132px -594px
+}
+
+.sbsprite-campfire_talisman_4 {
+ background-position: -154px -594px
+}
+
+.sbsprite-campfire_talisman_5 {
+ background-position: -176px -594px
+}
+
+.sbsprite-campfire_talisman_2 {
+ background-position: -198px -594px
+}
+
+.sbsprite-campfire_talisman_3 {
+ background-position: -220px -594px
+}
+
+.sbsprite-remnant_of_the_eye {
+ background-position: -242px -594px
+}
+
+.sbsprite-campfire_talisman_1 {
+ background-position: -264px -594px
+}
+
+.sbsprite-talisman_enrichment_critical_chance {
+ background-position: -286px -594px
+}
+
+.sbsprite-ghast_head {
+ background-position: -308px -594px
+}
+
+.sbsprite-white_greater_backpack {
+ background-position: -330px -594px
+}
+
+.sbsprite-mayor_diaz {
+ background-position: -352px -594px
+}
+
+.sbsprite-campfire_talisman_8 {
+ background-position: -374px -594px
+}
+
+.sbsprite-campfire_talisman_9 {
+ background-position: -396px -594px
+}
+
+.sbsprite-jaderald {
+ background-position: -418px -594px
+}
+
+.sbsprite-campfire_talisman_6 {
+ background-position: -440px -594px
+}
+
+.sbsprite-gold_thorn_head {
+ background-position: -462px -594px
+}
+
+.sbsprite-campfire_talisman_7 {
+ background-position: -484px -594px
+}
+
+.sbsprite-dark_bait {
+ background-position: -506px -594px
+}
+
+.sbsprite-game_annihilator {
+ background-position: -528px -594px
+}
+
+.sbsprite-purple_greater_backpack {
+ background-position: -550px -594px
+}
+
+.sbsprite-bestiary_deep_caverns {
+ background-position: -572px -594px
+}
+
+.sbsprite-foraging_5_portal {
+ background-position: -594px -594px
+}
+
+.sbsprite-wolf_talisman {
+ background-position: -616px -594px
+}
+
+.sbsprite-gold_professor_head {
+ background-position: -638px -594px
+}
+
+.sbsprite-pet_skin_sheep_light_blue {
+ background-position: -660px -594px
+}
+
+.sbsprite-ice_lolly_4 {
+ background-position: -682px -594px
+}
+
+.sbsprite-basketball_10 {
+ background-position: -704px -594px
+}
+
+.sbsprite-ice_lolly_3 {
+ background-position: -726px -594px
+}
+
+.sbsprite-mineral_helmet {
+ background-position: -748px -594px
+}
+
+.sbsprite-basketball_11 {
+ background-position: -770px -594px
+}
+
+.sbsprite-ice_lolly_2 {
+ background-position: -792px -594px
+}
+
+.sbsprite-basketball_12 {
+ background-position: -814px -594px
+}
+
+.sbsprite-ice_lolly_1 {
+ background-position: -836px -594px
+}
+
+.sbsprite-rock_candy {
+ background-position: -858px -594px
+}
+
+.sbsprite-ice_lolly_8 {
+ background-position: -880px -594px
+}
+
+.sbsprite-tarantula_generator_2 {
+ background-position: -902px -594px
+}
+
+.sbsprite-ice_lolly_7 {
+ background-position: -924px -594px
+}
+
+.sbsprite-tarantula_generator_1 {
+ background-position: -946px -594px
+}
+
+.sbsprite-ice_lolly_6 {
+ background-position: -968px -594px
+}
+
+.sbsprite-ice_lolly_5 {
+ background-position: -990px -594px
+}
+
+.sbsprite-purple_egg {
+ background-position: -1012px -594px
+}
+
+.sbsprite-ice_lolly_9 {
+ background-position: -1034px -594px
+}
+
+.sbsprite-tarantula_generator_9 {
+ background-position: 0 -616px
+}
+
+.sbsprite-tarantula_generator_8 {
+ background-position: -22px -616px
+}
+
+.sbsprite-tarantula_generator_7 {
+ background-position: -44px -616px
+}
+
+.sbsprite-tarantula_generator_6 {
+ background-position: -66px -616px
+}
+
+.sbsprite-tarantula_generator_5 {
+ background-position: -88px -616px
+}
+
+.sbsprite-tarantula_generator_4 {
+ background-position: -110px -616px
+}
+
+.sbsprite-tarantula_generator_3 {
+ background-position: -132px -616px
+}
+
+.sbsprite-hypixel_castle {
+ background-position: -154px -616px
+}
+
+.sbsprite-rune_golden {
+ background-position: -176px -616px
+}
+
+.sbsprite-wheat_generator_9 {
+ background-position: -198px -616px
+}
+
+.sbsprite-ftx_3070 {
+ background-position: -220px -616px
+}
+
+.sbsprite-wheat_generator_8 {
+ background-position: -242px -616px
+}
+
+.sbsprite-wheat_generator_5 {
+ background-position: -264px -616px
+}
+
+.sbsprite-wheat_generator_4 {
+ background-position: -286px -616px
+}
+
+.sbsprite-builder_corn {
+ background-position: -308px -616px
+}
+
+.sbsprite-cheap_coffee {
+ background-position: -330px -616px
+}
+
+.sbsprite-wheat_generator_7 {
+ background-position: -352px -616px
+}
+
+.sbsprite-wheat_generator_6 {
+ background-position: -374px -616px
+}
+
+.sbsprite-mushroom_generator_11 {
+ background-position: -396px -616px
+}
+
+.sbsprite-wheat_generator_1 {
+ background-position: -418px -616px
+}
+
+.sbsprite-mushroom_generator_10 {
+ background-position: -440px -616px
+}
+
+.sbsprite-ender_plus {
+ background-position: -462px -616px
+}
+
+.sbsprite-wheat_generator_3 {
+ background-position: -484px -616px
+}
+
+.sbsprite-wheat_generator_2 {
+ background-position: -506px -616px
+}
+
+.sbsprite-voidling_generator_10 {
+ background-position: -528px -616px
+}
+
+.sbsprite-voidling_generator_11 {
+ background-position: -550px -616px
+}
+
+.sbsprite-mushroom_generator_12 {
+ background-position: -572px -616px
+}
+
+.sbsprite-personal_bonus {
+ background-position: -594px -616px
+}
+
+.sbsprite-flawless_amber_gem {
+ background-position: -616px -616px
+}
+
+.sbsprite-rune_darkness_within {
+ background-position: -638px -616px
+}
+
+.sbsprite-bag_of_cash {
+ background-position: -660px -616px
+}
+
+.sbsprite-pet_skin_hound_beagle {
+ background-position: -682px -616px
+}
+
+.sbsprite-pufferfish_hat {
+ background-position: -704px -616px
+}
+
+.sbsprite-lime_greater_backpack {
+ background-position: -726px -616px
+}
+
+.sbsprite-food_trough {
+ background-position: -748px -616px
+}
+
+.sbsprite-pet_skin_yeti_grown_up {
+ background-position: -770px -616px
+}
+
+.sbsprite-slime_generator_10 {
+ background-position: -792px -616px
+}
+
+.sbsprite-undead_personality {
+ background-position: -814px -616px
+}
+
+.sbsprite-slime_generator_11 {
+ background-position: -836px -616px
+}
+
+.sbsprite-nether_wart_island {
+ background-position: -858px -616px
+}
+
+.sbsprite-gravel_generator_5 {
+ background-position: -880px -616px
+}
+
+.sbsprite-gravel_generator_4 {
+ background-position: -902px -616px
+}
+
+.sbsprite-gravel_generator_7 {
+ background-position: -924px -616px
+}
+
+.sbsprite-gravel_generator_6 {
+ background-position: -946px -616px
+}
+
+.sbsprite-gravel_generator_9 {
+ background-position: -968px -616px
+}
+
+.sbsprite-gravel_generator_8 {
+ background-position: -990px -616px
+}
+
+.sbsprite-shiny_shard {
+ background-position: -1012px -616px
+}
+
+.sbsprite-pet_skin_rabbit_rose {
+ background-position: -1034px -616px
+}
+
+.sbsprite-quiver {
+ background-position: 0 -638px
+}
+
+.sbsprite-rune_snake {
+ background-position: -22px -638px
+}
+
+.sbsprite-bonzo_mask {
+ background-position: -44px -638px
+}
+
+.sbsprite-fast_travel {
+ background-position: -66px -638px
+}
+
+.sbsprite-treasurite {
+ background-position: -88px -638px
+}
+
+.sbsprite-chicken_coop {
+ background-position: -110px -638px
+}
+
+.sbsprite-end_portal_fumes_mixin {
+ background-position: -132px -638px
+}
+
+.sbsprite-crafting_plus {
+ background-position: -154px -638px
+}
+
+.sbsprite-gravel_generator_1 {
+ background-position: -176px -638px
+}
+
+.sbsprite-gravel_generator_3 {
+ background-position: -198px -638px
+}
+
+.sbsprite-gravel_generator_2 {
+ background-position: -220px -638px
+}
+
+.sbsprite-easter_egg_11 {
+ background-position: -242px -638px
+}
+
+.sbsprite-easter_egg_10 {
+ background-position: -264px -638px
+}
+
+.sbsprite-protein_bar {
+ background-position: -286px -638px
+}
+
+.sbsprite-hard_stone_generator_10 {
+ background-position: -308px -638px
+}
+
+.sbsprite-coin_gold {
+ background-position: -330px -638px
+}
+
+.sbsprite-light_blue_jumbo_backpack {
+ background-position: -352px -638px
+}
+
+.sbsprite-hard_stone_generator_12 {
+ background-position: -374px -638px
+}
+
+.sbsprite-hard_stone_generator_11 {
+ background-position: -396px -638px
+}
+
+.sbsprite-rune_blood {
+ background-position: -418px -638px
+}
+
+.sbsprite-raggedy_shark_tooth_necklace {
+ background-position: -440px -638px
+}
+
+.sbsprite-pure_mithril {
+ background-position: -462px -638px
+}
+
+.sbsprite-coin_emerald {
+ background-position: -484px -638px
+}
+
+.sbsprite-pet_skin_black_cat_onyx {
+ background-position: -506px -638px
+}
+
+.sbsprite-easter_egg_12 {
+ background-position: -528px -638px
+}
+
+.sbsprite-emperor_head {
+ background-position: -550px -638px
+}
+
+.sbsprite-power_wither_helmet {
+ background-position: -572px -638px
+}
+
+.sbsprite-bee_11 {
+ background-position: -594px -638px
+}
+
+.sbsprite-bee_10 {
+ background-position: -616px -638px
+}
+
+.sbsprite-pet_skin_wolf {
+ background-position: -638px -638px
+}
+
+.sbsprite-pumpkin_4 {
+ background-position: -660px -638px
+}
+
+.sbsprite-pumpkin_3 {
+ background-position: -682px -638px
+}
+
+.sbsprite-pumpkin_6 {
+ background-position: -704px -638px
+}
+
+.sbsprite-fine_ruby_gem {
+ background-position: -726px -638px
+}
+
+.sbsprite-pumpkin_5 {
+ background-position: -748px -638px
+}
+
+.sbsprite-pumpkin_2 {
+ background-position: -770px -638px
+}
+
+.sbsprite-electron_transmitter {
+ background-position: -792px -638px
+}
+
+.sbsprite-pumpkin_1 {
+ background-position: -814px -638px
+}
+
+.sbsprite-gingerbread_house {
+ background-position: -836px -638px
+}
+
+.sbsprite-bee_1 {
+ background-position: -858px -638px
+}
+
+.sbsprite-large_mining_sack {
+ background-position: -880px -638px
+}
+
+.sbsprite-bee_2 {
+ background-position: -902px -638px
+}
+
+.sbsprite-bee_3 {
+ background-position: -924px -638px
+}
+
+.sbsprite-bee_4 {
+ background-position: -946px -638px
+}
+
+.sbsprite-midas_jewel {
+ background-position: -968px -638px
+}
+
+.sbsprite-unstable_dragon_helmet {
+ background-position: -990px -638px
+}
+
+.sbsprite-vaccine_talisman {
+ background-position: -1012px -638px
+}
+
+.sbsprite-whale_bait {
+ background-position: -1034px -638px
+}
+
+.sbsprite-bee_9 {
+ background-position: 0 -660px
+}
+
+.sbsprite-bee_5 {
+ background-position: -22px -660px
+}
+
+.sbsprite-booster_cookie_box {
+ background-position: -44px -660px
+}
+
+.sbsprite-perfect_topaz_gem {
+ background-position: -66px -660px
+}
+
+.sbsprite-bee_6 {
+ background-position: -88px -660px
+}
+
+.sbsprite-bee_7 {
+ background-position: -110px -660px
+}
+
+.sbsprite-bee_8 {
+ background-position: -132px -660px
+}
+
+.sbsprite-elvish_helmet {
+ background-position: -154px -660px
+}
+
+.sbsprite-pumpkin_8 {
+ background-position: -176px -660px
+}
+
+.sbsprite-light_grey_greater_backpack {
+ background-position: -198px -660px
+}
+
+.sbsprite-pumpkin_7 {
+ background-position: -220px -660px
+}
+
+.sbsprite-pumpkin_9 {
+ background-position: -242px -660px
+}
+
+.sbsprite-best_weapon_rack {
+ background-position: -264px -660px
+}
+
+.sbsprite-washed_up_souvenir {
+ background-position: -286px -660px
+}
+
+.sbsprite-coin_diamond {
+ background-position: -308px -660px
+}
+
+.sbsprite-builder_pink_berry {
+ background-position: -330px -660px
+}
+
+.sbsprite-clownfish_personality {
+ background-position: -352px -660px
+}
+
+.sbsprite-easter_egg_personality {
+ background-position: -374px -660px
+}
+
+.sbsprite-jerry_talisman_green {
+ background-position: -396px -660px
+}
+
+.sbsprite-spiked_atrocity {
+ background-position: -418px -660px
+}
+
+.sbsprite-flower_generator_8 {
+ background-position: -440px -660px
+}
+
+.sbsprite-flower_generator_9 {
+ background-position: -462px -660px
+}
+
+.sbsprite-farmer_orb {
+ background-position: -484px -660px
+}
+
+.sbsprite-flower_generator_4 {
+ background-position: -506px -660px
+}
+
+.sbsprite-crypt_skull_key {
+ background-position: -528px -660px
+}
+
+.sbsprite-flower_generator_5 {
+ background-position: -550px -660px
+}
+
+.sbsprite-flower_generator_6 {
+ background-position: -572px -660px
+}
+
+.sbsprite-flower_generator_7 {
+ background-position: -594px -660px
+}
+
+.sbsprite-flower_generator_1 {
+ background-position: -616px -660px
+}
+
+.sbsprite-flower_generator_2 {
+ background-position: -638px -660px
+}
+
+.sbsprite-nutcracker {
+ background-position: -660px -660px
+}
+
+.sbsprite-flower_generator_3 {
+ background-position: -682px -660px
+}
+
+.sbsprite-scarf_studies {
+ background-position: -704px -660px
+}
+
+.sbsprite-builder_apple {
+ background-position: -726px -660px
+}
+
+.sbsprite-skyblock_table {
+ background-position: -748px -660px
+}
+
+.sbsprite-sleeping_eye {
+ background-position: -770px -660px
+}
+
+.sbsprite-spider_generator_1 {
+ background-position: -792px -660px
+}
+
+.sbsprite-pet_skin_elephant_blue {
+ background-position: -814px -660px
+}
+
+.sbsprite-spider_generator_2 {
+ background-position: -836px -660px
+}
+
+.sbsprite-spider_generator_3 {
+ background-position: -858px -660px
+}
+
+.sbsprite-shark_bait {
+ background-position: -880px -660px
+}
+
+.sbsprite-spider_generator_4 {
+ background-position: -902px -660px
+}
+
+.sbsprite-spider_generator_5 {
+ background-position: -924px -660px
+}
+
+.sbsprite-black {
+ background-position: -946px -660px
+}
+
+.sbsprite-sapphire_polished_drill_engine {
+ background-position: -968px -660px
+}
+
+.sbsprite-cocoa_generator_1 {
+ background-position: -990px -660px
+}
+
+.sbsprite-cocoa_generator_7 {
+ background-position: -1012px -660px
+}
+
+.sbsprite-cocoa_generator_6 {
+ background-position: -1034px -660px
+}
+
+.sbsprite-rune_snow {
+ background-position: 0 -682px
+}
+
+.sbsprite-cocoa_generator_9 {
+ background-position: -22px -682px
+}
+
+.sbsprite-cocoa_generator_8 {
+ background-position: -44px -682px
+}
+
+.sbsprite-cocoa_generator_3 {
+ background-position: -66px -682px
+}
+
+.sbsprite-cocoa_generator_2 {
+ background-position: -88px -682px
+}
+
+.sbsprite-cocoa_generator_5 {
+ background-position: -110px -682px
+}
+
+.sbsprite-cocoa_generator_4 {
+ background-position: -132px -682px
+}
+
+.sbsprite-spider_generator_6 {
+ background-position: -154px -682px
+}
+
+.sbsprite-spider_generator_7 {
+ background-position: -176px -682px
+}
+
+.sbsprite-spider_generator_8 {
+ background-position: -198px -682px
+}
+
+.sbsprite-spider_generator_9 {
+ background-position: -220px -682px
+}
+
+.sbsprite-brown_large_backpack {
+ background-position: -242px -682px
+}
+
+.sbsprite-flower_maelstrom {
+ background-position: -264px -682px
+}
+
+.sbsprite-pumpkin_generator_12 {
+ background-position: -286px -682px
+}
+
+.sbsprite-coal_generator_9 {
+ background-position: -308px -682px
+}
+
+.sbsprite-diamond_thorn_head {
+ background-position: -330px -682px
+}
+
+.sbsprite-ender_stone_generator_11 {
+ background-position: -352px -682px
+}
+
+.sbsprite-coal_generator_8 {
+ background-position: -374px -682px
+}
+
+.sbsprite-ender_stone_generator_10 {
+ background-position: -396px -682px
+}
+
+.sbsprite-coal_generator_7 {
+ background-position: -418px -682px
+}
+
+.sbsprite-jerry_box_blue {
+ background-position: -440px -682px
+}
+
+.sbsprite-coal_generator_6 {
+ background-position: -462px -682px
+}
+
+.sbsprite-coal_generator_5 {
+ background-position: -484px -682px
+}
+
+.sbsprite-pumpkin_generator_11 {
+ background-position: -506px -682px
+}
+
+.sbsprite-coal_generator_4 {
+ background-position: -528px -682px
+}
+
+.sbsprite-pumpkin_generator_10 {
+ background-position: -550px -682px
+}
+
+.sbsprite-talisman_of_space {
+ background-position: -572px -682px
+}
+
+.sbsprite-talisman_enrichment_strength {
+ background-position: -594px -682px
+}
+
+.sbsprite-white_jumbo_backpack {
+ background-position: -616px -682px
+}
+
+.sbsprite-full_fairy_control {
+ background-position: -638px -682px
+}
+
+.sbsprite-quartz_generator_9 {
+ background-position: -660px -682px
+}
+
+.sbsprite-rune_wake {
+ background-position: -682px -682px
+}
+
+.sbsprite-quartz_generator_8 {
+ background-position: -704px -682px
+}
+
+.sbsprite-festive_jerry_personality {
+ background-position: -726px -682px
+}
+
+.sbsprite-quartz_generator_5 {
+ background-position: -748px -682px
+}
+
+.sbsprite-builder_berry {
+ background-position: -770px -682px
+}
+
+.sbsprite-quartz_generator_4 {
+ background-position: -792px -682px
+}
+
+.sbsprite-quartz_generator_7 {
+ background-position: -814px -682px
+}
+
+.sbsprite-quartz_generator_6 {
+ background-position: -836px -682px
+}
+
+.sbsprite-quartz_generator_1 {
+ background-position: -858px -682px
+}
+
+.sbsprite-quartz_generator_3 {
+ background-position: -880px -682px
+}
+
+.sbsprite-quartz_generator_2 {
+ background-position: -902px -682px
+}
+
+.sbsprite-bingo_heirloom {
+ background-position: -924px -682px
+}
+
+.sbsprite-dwarf_turtle_shelmet {
+ background-position: -946px -682px
+}
+
+.sbsprite-wolf_paw {
+ background-position: -968px -682px
+}
+
+.sbsprite-jasper_crystal {
+ background-position: -990px -682px
+}
+
+.sbsprite-party_hat_crab {
+ background-position: -1012px -682px
+}
+
+.sbsprite-feather_artifact {
+ background-position: -1034px -682px
+}
+
+.sbsprite-coal_generator_3 {
+ background-position: 0 -704px
+}
+
+.sbsprite-coal_generator_2 {
+ background-position: -22px -704px
+}
+
+.sbsprite-coal_generator_1 {
+ background-position: -44px -704px
+}
+
+.sbsprite-fast_travel_gold {
+ background-position: -66px -704px
+}
+
+.sbsprite-crystal_hollows_crystals {
+ background-position: -88px -704px
+}
+
+.sbsprite-mining_island {
+ background-position: -110px -704px
+}
+
+.sbsprite-flawless_jasper_gem {
+ background-position: -132px -704px
+}
+
+.sbsprite-halloween_candles {
+ background-position: -154px -704px
+}
+
+.sbsprite-ascension_rope {
+ background-position: -176px -704px
+}
+
+.sbsprite-brown_small_backpack {
+ background-position: -198px -704px
+}
+
+.sbsprite-diver_puffer {
+ background-position: -220px -704px
+}
+
+.sbsprite-melon_generator_10 {
+ background-position: -242px -704px
+}
+
+.sbsprite-melon_generator_12 {
+ background-position: -264px -704px
+}
+
+.sbsprite-melon_generator_11 {
+ background-position: -286px -704px
+}
+
+.sbsprite-desert_island {
+ background-position: -308px -704px
+}
+
+.sbsprite-green {
+ background-position: -330px -704px
+}
+
+.sbsprite-crystallized_heart {
+ background-position: -352px -704px
+}
+
+.sbsprite-sinful_dice {
+ background-position: -374px -704px
+}
+
+.sbsprite-soulflow_supercell {
+ background-position: -396px -704px
+}
+
+.sbsprite-sea_creature_artifact {
+ background-position: -418px -704px
+}
+
+.sbsprite-grey_small_backpack {
+ background-position: -440px -704px
+}
+
+.sbsprite-aatrox_batphone {
+ background-position: -462px -704px
+}
+
+.sbsprite-clay_generator_10 {
+ background-position: -484px -704px
+}
+
+.sbsprite-clay_generator_11 {
+ background-position: -506px -704px
+}
+
+.sbsprite-end_stone_personality {
+ background-position: -528px -704px
+}
+
+.sbsprite-builder_banana_bunch {
+ background-position: -550px -704px
+}
+
+.sbsprite-danger_2_portal {
+ background-position: -572px -704px
+}
+
+.sbsprite-mayor_scorpius {
+ background-position: -594px -704px
+}
+
+.sbsprite-voodoo {
+ background-position: -616px -704px
+}
+
+.sbsprite-jerry_box_purple {
+ background-position: -638px -704px
+}
+
+.sbsprite-wither_artifact {
+ background-position: -660px -704px
+}
+
+.sbsprite-skull_chest {
+ background-position: -682px -704px
+}
+
+.sbsprite-pet_skin_elephant_pink {
+ background-position: -704px -704px
+}
+
+.sbsprite-oak_generator_10 {
+ background-position: -726px -704px
+}
+
+.sbsprite-slime_generator_1 {
+ background-position: -748px -704px
+}
+
+.sbsprite-slime_generator_2 {
+ background-position: -770px -704px
+}
+
+.sbsprite-frozen_blaze_icicle {
+ background-position: -792px -704px
+}
+
+.sbsprite-oak_generator_11 {
+ background-position: -814px -704px
+}
+
+.sbsprite-slime_generator_5 {
+ background-position: -836px -704px
+}
+
+.sbsprite-slime_generator_6 {
+ background-position: -858px -704px
+}
+
+.sbsprite-slime_generator_3 {
+ background-position: -880px -704px
+}
+
+.sbsprite-slime_generator_4 {
+ background-position: -902px -704px
+}
+
+.sbsprite-slime_generator_9 {
+ background-position: -924px -704px
+}
+
+.sbsprite-slime_generator_7 {
+ background-position: -946px -704px
+}
+
+.sbsprite-slime_generator_8 {
+ background-position: -968px -704px
+}
+
+.sbsprite-dungeon_golden_key {
+ background-position: -990px -704px
+}
+
+.sbsprite-mender_fedora {
+ background-position: -1012px -704px
+}
+
+.sbsprite-pet_skin_rock_smile {
+ background-position: -1034px -704px
+}
+
+.sbsprite-builder_orange {
+ background-position: 0 -726px
+}
+
+.sbsprite-ghast_generator_10 {
+ background-position: -22px -726px
+}
+
+.sbsprite-beach_chair {
+ background-position: -44px -726px
+}
+
+.sbsprite-ghast_generator_11 {
+ background-position: -66px -726px
+}
+
+.sbsprite-boss {
+ background-position: -88px -726px
+}
+
+.sbsprite-race_precursor_ruins {
+ background-position: -110px -726px
+}
+
+.sbsprite-perfectly_cut_fuel_tank {
+ background-position: -132px -726px
+}
+
+.sbsprite-ice_essence {
+ background-position: -154px -726px
+}
+
+.sbsprite-jerry_box_green {
+ background-position: -176px -726px
+}
+
+.sbsprite-fireplace {
+ background-position: -198px -726px
+}
+
+.sbsprite-moldy_bread {
+ background-position: -220px -726px
+}
+
+.sbsprite-pet_skin_tiger_saber_tooth {
+ background-position: -242px -726px
+}
+
+.sbsprite-obsidian_generator_5 {
+ background-position: -264px -726px
+}
+
+.sbsprite-obsidian_generator_4 {
+ background-position: -286px -726px
+}
+
+.sbsprite-obsidian_generator_7 {
+ background-position: -308px -726px
+}
+
+.sbsprite-obsidian_generator_6 {
+ background-position: -330px -726px
+}
+
+.sbsprite-obsidian_generator_1 {
+ background-position: -352px -726px
+}
+
+.sbsprite-obsidian_generator_3 {
+ background-position: -374px -726px
+}
+
+.sbsprite-foraging_1_portal {
+ background-position: -396px -726px
+}
+
+.sbsprite-obsidian_generator_2 {
+ background-position: -418px -726px
+}
+
+.sbsprite-dungeon_stone_tank {
+ background-position: -440px -726px
+}
+
+.sbsprite-obsidian_generator_9 {
+ background-position: -462px -726px
+}
+
+.sbsprite-obsidian_generator_8 {
+ background-position: -484px -726px
+}
+
+.sbsprite-pet_skin_sheep_light_green {
+ background-position: -506px -726px
+}
+
+.sbsprite-decayed_bat {
+ background-position: -528px -726px
+}
+
+.sbsprite-pet_skin_squid_glow {
+ background-position: -550px -726px
+}
+
+.sbsprite-potato_generator_4 {
+ background-position: -572px -726px
+}
+
+.sbsprite-potato_generator_5 {
+ background-position: -594px -726px
+}
+
+.sbsprite-potato_generator_12 {
+ background-position: -616px -726px
+}
+
+.sbsprite-potato_generator_6 {
+ background-position: -638px -726px
+}
+
+.sbsprite-potato_generator_11 {
+ background-position: -660px -726px
+}
+
+.sbsprite-potato_generator_7 {
+ background-position: -682px -726px
+}
+
+.sbsprite-potato_generator_10 {
+ background-position: -704px -726px
+}
+
+.sbsprite-potato_generator_8 {
+ background-position: -726px -726px
+}
+
+.sbsprite-potato_generator_9 {
+ background-position: -748px -726px
+}
+
+.sbsprite-slayer_energy_drink {
+ background-position: -770px -726px
+}
+
+.sbsprite-arachne_keeper_fragment {
+ background-position: -792px -726px
+}
+
+.sbsprite-cat_talisman {
+ background-position: -814px -726px
+}
+
+.sbsprite-large_slayer_sack {
+ background-position: -836px -726px
+}
+
+.sbsprite-rune_rainbow {
+ background-position: -858px -726px
+}
+
+.sbsprite-potato_generator_1 {
+ background-position: -880px -726px
+}
+
+.sbsprite-potato_generator_2 {
+ background-position: -902px -726px
+}
+
+.sbsprite-potato_generator_3 {
+ background-position: -924px -726px
+}
+
+.sbsprite-lime_large_backpack {
+ background-position: -946px -726px
+}
+
+.sbsprite-bestiary_spiders_den {
+ background-position: -968px -726px
+}
+
+.sbsprite-ruby_polished_drill_engine {
+ background-position: -990px -726px
+}
+
+.sbsprite-yellow_jumbo_backpack {
+ background-position: -1012px -726px
+}
+
+.sbsprite-pet_skin_dolphin_snubnose {
+ background-position: -1034px -726px
+}
+
+.sbsprite-spider_egg_mixin {
+ background-position: 0 -748px
+}
+
+.sbsprite-pet_skin_dragon_pastel {
+ background-position: -22px -748px
+}
+
+.sbsprite-honed_shark_tooth_necklace {
+ background-position: -44px -748px
+}
+
+.sbsprite-bob_omb {
+ background-position: -66px -748px
+}
+
+.sbsprite-dungeon_wizard_crystal {
+ background-position: -88px -748px
+}
+
+.sbsprite-barn_island {
+ background-position: -110px -748px
+}
+
+.sbsprite-weapon_rack {
+ background-position: -132px -748px
+}
+
+.sbsprite-shadow_assassin_crimson {
+ background-position: -154px -748px
+}
+
+.sbsprite-small_talisman_bag {
+ background-position: -176px -748px
+}
+
+.sbsprite-medium_combat_sack {
+ background-position: -198px -748px
+}
+
+.sbsprite-bonzo_statue {
+ background-position: -220px -748px
+}
+
+.sbsprite-zombie_artifact {
+ background-position: -242px -748px
+}
+
+.sbsprite-cheese_hunter {
+ background-position: -264px -748px
+}
+
+.sbsprite-hologram {
+ background-position: -286px -748px
+}
+
+.sbsprite-ultrasequencer {
+ background-position: -308px -748px
+}
+
+.sbsprite-wise_dragon_helmet {
+ background-position: -330px -748px
+}
+
+.sbsprite-cyan_medium_backpack {
+ background-position: -352px -748px
+}
+
+.sbsprite-light_grey_small_backpack {
+ background-position: -374px -748px
+}
+
+.sbsprite-catacombs_pass_5 {
+ background-position: -396px -748px
+}
+
+.sbsprite-catacombs_pass_4 {
+ background-position: -418px -748px
+}
+
+.sbsprite-catacombs_pass_3 {
+ background-position: -440px -748px
+}
+
+.sbsprite-magma_bucket_upgrade {
+ background-position: -462px -748px
+}
+
+.sbsprite-catacombs_pass_2 {
+ background-position: -484px -748px
+}
+
+.sbsprite-coin_redstone {
+ background-position: -506px -748px
+}
+
+.sbsprite-catacombs_pass_1 {
+ background-position: -528px -748px
+}
+
+.sbsprite-hermit_crab_10 {
+ background-position: -550px -748px
+}
+
+.sbsprite-catacombs_pass_0 {
+ background-position: -572px -748px
+}
+
+.sbsprite-hermit_crab_11 {
+ background-position: -594px -748px
+}
+
+.sbsprite-dungeon_stone_mage {
+ background-position: -616px -748px
+}
+
+.sbsprite-gingerbread_personality {
+ background-position: -638px -748px
+}
+
+.sbsprite-titanium_drill_engine {
+ background-position: -660px -748px
+}
+
+.sbsprite-catacombs_pass_9 {
+ background-position: -682px -748px
+}
+
+.sbsprite-fast_travel_dragontail {
+ background-position: -704px -748px
+}
+
+.sbsprite-catacombs_pass_8 {
+ background-position: -726px -748px
+}
+
+.sbsprite-catacombs_pass_7 {
+ background-position: -748px -748px
+}
+
+.sbsprite-reaper_spirit {
+ background-position: -770px -748px
+}
+
+.sbsprite-catacombs_pass_6 {
+ background-position: -792px -748px
+}
+
+.sbsprite-armor_of_the_resistance_helmet {
+ background-position: -814px -748px
+}
+
+.sbsprite-orange_small_backpack {
+ background-position: -836px -748px
+}
+
+.sbsprite-bait_ring {
+ background-position: -858px -748px
+}
+
+.sbsprite-luck_talisman {
+ background-position: -880px -748px
+}
+
+.sbsprite-beach_ball_11 {
+ background-position: -902px -748px
+}
+
+.sbsprite-beach_ball_10 {
+ background-position: -924px -748px
+}
+
+.sbsprite-shark_personality {
+ background-position: -946px -748px
+}
+
+.sbsprite-coal_generator_11 {
+ background-position: -968px -748px
+}
+
+.sbsprite-coal_generator_12 {
+ background-position: -990px -748px
+}
+
+.sbsprite-fourth_master_star {
+ background-position: -1012px -748px
+}
+
+.sbsprite-water_hydra_head {
+ background-position: -1034px -748px
+}
+
+.sbsprite-coal_generator_10 {
+ background-position: 0 -770px
+}
+
+.sbsprite-ice_dinner_table {
+ background-position: -22px -770px
+}
+
+.sbsprite-talisman_enrichment_attack_speed {
+ background-position: -44px -770px
+}
+
+.sbsprite-gemstone_fuel_tank {
+ background-position: -66px -770px
+}
+
+.sbsprite-green_large_backpack {
+ background-position: -88px -770px
+}
+
+.sbsprite-fairy_wings_charm {
+ background-position: -110px -770px
+}
+
+.sbsprite-rare_diamond {
+ background-position: -132px -770px
+}
+
+.sbsprite-bunny {
+ background-position: -154px -770px
+}
+
+.sbsprite-storm_the_fish {
+ background-position: -176px -770px
+}
+
+.sbsprite-penguin_personality {
+ background-position: -198px -770px
+}
+
+.sbsprite-shark_1 {
+ background-position: -220px -770px
+}
+
+.sbsprite-shard_of_the_shredded {
+ background-position: -242px -770px
+}
+
+.sbsprite-shark_2 {
+ background-position: -264px -770px
+}
+
+.sbsprite-sheep_generator_11 {
+ background-position: -286px -770px
+}
+
+.sbsprite-diamonite {
+ background-position: -308px -770px
+}
+
+.sbsprite-prehistoric_egg {
+ background-position: -330px -770px
+}
+
+.sbsprite-shark_3 {
+ background-position: -352px -770px
+}
+
+.sbsprite-sheep_generator_12 {
+ background-position: -374px -770px
+}
+
+.sbsprite-shark_4 {
+ background-position: -396px -770px
+}
+
+.sbsprite-shark_5 {
+ background-position: -418px -770px
+}
+
+.sbsprite-shark_6 {
+ background-position: -440px -770px
+}
+
+.sbsprite-shark_7 {
+ background-position: -462px -770px
+}
+
+.sbsprite-shark_8 {
+ background-position: -484px -770px
+}
+
+.sbsprite-shark_9 {
+ background-position: -506px -770px
+}
+
+.sbsprite-bbq {
+ background-position: -528px -770px
+}
+
+.sbsprite-pet_skin_sheep_white {
+ background-position: -550px -770px
+}
+
+.sbsprite-sheep_generator_10 {
+ background-position: -572px -770px
+}
+
+.sbsprite-rune_spirit {
+ background-position: -594px -770px
+}
+
+.sbsprite-aote_stone {
+ background-position: -616px -770px
+}
+
+.sbsprite-french_bread {
+ background-position: -638px -770px
+}
+
+.sbsprite-ember_helmet {
+ background-position: -660px -770px
+}
+
+.sbsprite-large_bed {
+ background-position: -682px -770px
+}
+
+.sbsprite-builder_bush {
+ background-position: -704px -770px
+}
+
+.sbsprite-talisman_enrichment_ferocity {
+ background-position: -726px -770px
+}
+
+.sbsprite-fire_talisman {
+ background-position: -748px -770px
+}
+
+.sbsprite-purple_candy {
+ background-position: -770px -770px
+}
+
+.sbsprite-spider_talisman {
+ background-position: -792px -770px
+}
+
+.sbsprite-intimidation_artifact {
+ background-position: -814px -770px
+}
+
+.sbsprite-large_candy_sack {
+ background-position: -836px -770px
+}
+
+.sbsprite-present_10 {
+ background-position: -858px -770px
+}
+
+.sbsprite-present_11 {
+ background-position: -880px -770px
+}
+
+.sbsprite-beach_ball_9 {
+ background-position: -902px -770px
+}
+
+.sbsprite-tarantula_generator_10 {
+ background-position: -924px -770px
+}
+
+.sbsprite-beach_ball_8 {
+ background-position: -946px -770px
+}
+
+.sbsprite-gold_sadan_head {
+ background-position: -968px -770px
+}
+
+.sbsprite-tarantula_generator_11 {
+ background-position: -990px -770px
+}
+
+.sbsprite-large_enchanted_foraging_sack {
+ background-position: -1012px -770px
+}
+
+.sbsprite-warrior_dungeon_ability_1 {
+ background-position: -1034px -770px
+}
+
+.sbsprite-beach_ball_5 {
+ background-position: 0 -792px
+}
+
+.sbsprite-beach_ball_4 {
+ background-position: -22px -792px
+}
+
+.sbsprite-beach_ball_7 {
+ background-position: -44px -792px
+}
+
+.sbsprite-cracked_piggy_bank {
+ background-position: -66px -792px
+}
+
+.sbsprite-beach_ball_6 {
+ background-position: -88px -792px
+}
+
+.sbsprite-ice_lolly_11 {
+ background-position: -110px -792px
+}
+
+.sbsprite-ice_lolly_10 {
+ background-position: -132px -792px
+}
+
+.sbsprite-razor_sharp_shark_tooth_necklace {
+ background-position: -154px -792px
+}
+
+.sbsprite-farm_crystal {
+ background-position: -176px -792px
+}
+
+.sbsprite-bank_upgrade_luxurious {
+ background-position: -198px -792px
+}
+
+.sbsprite-large_fishing_sack {
+ background-position: -220px -792px
+}
+
+.sbsprite-lime_small_backpack {
+ background-position: -242px -792px
+}
+
+.sbsprite-portable_wool_weaver {
+ background-position: -264px -792px
+}
+
+.sbsprite-beach_ball_1 {
+ background-position: -286px -792px
+}
+
+.sbsprite-beach_ball_3 {
+ background-position: -308px -792px
+}
+
+.sbsprite-beach_ball_2 {
+ background-position: -330px -792px
+}
+
+.sbsprite-revive_stone_orb {
+ background-position: -352px -792px
+}
+
+.sbsprite-fish_hat {
+ background-position: -374px -792px
+}
+
+.sbsprite-skull_personality {
+ background-position: -396px -792px
+}
+
+.sbsprite-builder_onion {
+ background-position: -418px -792px
+}
+
+.sbsprite-melon_generator_3 {
+ background-position: -440px -792px
+}
+
+.sbsprite-zombie_generator_9 {
+ background-position: -462px -792px
+}
+
+.sbsprite-melon_generator_2 {
+ background-position: -484px -792px
+}
+
+.sbsprite-melon_generator_1 {
+ background-position: -506px -792px
+}
+
+.sbsprite-melon_generator_7 {
+ background-position: -528px -792px
+}
+
+.sbsprite-zombie_generator_5 {
+ background-position: -550px -792px
+}
+
+.sbsprite-melon_generator_6 {
+ background-position: -572px -792px
+}
+
+.sbsprite-zombie_generator_6 {
+ background-position: -594px -792px
+}
+
+.sbsprite-melon_generator_5 {
+ background-position: -616px -792px
+}
+
+.sbsprite-zombie_generator_7 {
+ background-position: -638px -792px
+}
+
+.sbsprite-melon_generator_4 {
+ background-position: -660px -792px
+}
+
+.sbsprite-zombie_generator_8 {
+ background-position: -682px -792px
+}
+
+.sbsprite-zombie_generator_1 {
+ background-position: -704px -792px
+}
+
+.sbsprite-zombie_generator_2 {
+ background-position: -726px -792px
+}
+
+.sbsprite-optical_lens {
+ background-position: -748px -792px
+}
+
+.sbsprite-zombie_generator_3 {
+ background-position: -770px -792px
+}
+
+.sbsprite-zombie_generator_4 {
+ background-position: -792px -792px
+}
+
+.sbsprite-beach_umbrella {
+ background-position: -814px -792px
+}
+
+.sbsprite-diamond_atom {
+ background-position: -836px -792px
+}
+
+.sbsprite-coin_talisman {
+ background-position: -858px -792px
+}
+
+.sbsprite-nether_island {
+ background-position: -880px -792px
+}
+
+.sbsprite-rune_couture {
+ background-position: -902px -792px
+}
+
+.sbsprite-fish_affinity_talisman {
+ background-position: -924px -792px
+}
+
+.sbsprite-wedding_ring_4 {
+ background-position: -946px -792px
+}
+
+.sbsprite-wedding_ring_5 {
+ background-position: -968px -792px
+}
+
+.sbsprite-wedding_ring_6 {
+ background-position: -990px -792px
+}
+
+.sbsprite-wedding_ring_7 {
+ background-position: -1012px -792px
+}
+
+.sbsprite-wedding_ring_8 {
+ background-position: -1034px -792px
+}
+
+.sbsprite-large_enchanted_combat_sack {
+ background-position: 0 -814px
+}
+
+.sbsprite-wedding_ring_9 {
+ background-position: -22px -814px
+}
+
+.sbsprite-rune_clouds {
+ background-position: -44px -814px
+}
+
+.sbsprite-perfect_amber_gem {
+ background-position: -66px -814px
+}
+
+.sbsprite-precursor_gear {
+ background-position: -88px -814px
+}
+
+.sbsprite-wedding_ring_2 {
+ background-position: -110px -814px
+}
+
+.sbsprite-wedding_ring_3 {
+ background-position: -132px -814px
+}
+
+.sbsprite-rune_enchant {
+ background-position: -154px -814px
+}
+
+.sbsprite-god_potion {
+ background-position: -176px -814px
+}
+
+.sbsprite-rune_magical {
+ background-position: -198px -814px
+}
+
+.sbsprite-pet_skin_monkey_golden {
+ background-position: -220px -814px
+}
+
+.sbsprite-spiked_bait {
+ background-position: -242px -814px
+}
+
+.sbsprite-ghost_11 {
+ background-position: -264px -814px
+}
+
+.sbsprite-perfect_jasper_gem {
+ background-position: -286px -814px
+}
+
+.sbsprite-quartz_generator_11 {
+ background-position: -308px -814px
+}
+
+.sbsprite-sandcastle_1 {
+ background-position: -330px -814px
+}
+
+.sbsprite-sandcastle_2 {
+ background-position: -352px -814px
+}
+
+.sbsprite-pet_skin_sheep_pink {
+ background-position: -374px -814px
+}
+
+.sbsprite-premium_flesh {
+ background-position: -396px -814px
+}
+
+.sbsprite-sandcastle_5 {
+ background-position: -418px -814px
+}
+
+.sbsprite-blessed_bait {
+ background-position: -440px -814px
+}
+
+.sbsprite-sandcastle_6 {
+ background-position: -462px -814px
+}
+
+.sbsprite-sandcastle_3 {
+ background-position: -484px -814px
+}
+
+.sbsprite-sandcastle_4 {
+ background-position: -506px -814px
+}
+
+.sbsprite-wise_wither_helmet {
+ background-position: -528px -814px
+}
+
+.sbsprite-sandcastle_9 {
+ background-position: -550px -814px
+}
+
+.sbsprite-quartz_generator_10 {
+ background-position: -572px -814px
+}
+
+.sbsprite-sandcastle_7 {
+ background-position: -594px -814px
+}
+
+.sbsprite-sandcastle_8 {
+ background-position: -616px -814px
+}
+
+.sbsprite-mayor_cole {
+ background-position: -638px -814px
+}
+
+.sbsprite-fifth_master_star {
+ background-position: -660px -814px
+}
+
+.sbsprite-ghost_10 {
+ background-position: -682px -814px
+}
+
+.sbsprite-young_shimmer {
+ background-position: -704px -814px
+}
+
+.sbsprite-minion_chair {
+ background-position: -726px -814px
+}
+
+.sbsprite-pig_mask {
+ background-position: -748px -814px
+}
+
+.sbsprite-hyper_catalyst_upgrade {
+ background-position: -770px -814px
+}
+
+.sbsprite-potion {
+ background-position: -792px -814px
+}
+
+.sbsprite-exceedingly_rare_ender_artifact_upgrader {
+ background-position: -814px -814px
+}
+
+.sbsprite-refined_titanium {
+ background-position: -836px -814px
+}
+
+.sbsprite-sharp_shark_tooth_necklace {
+ background-position: -858px -814px
+}
+
+.sbsprite-wreath {
+ background-position: -880px -814px
+}
+
+.sbsprite-melon_generator_9 {
+ background-position: -902px -814px
+}
+
+.sbsprite-melon_generator_8 {
+ background-position: -924px -814px
+}
+
+.sbsprite-epoch_cake_pink {
+ background-position: -946px -814px
+}
+
+.sbsprite-dungeon_stone_healer {
+ background-position: -968px -814px
+}
+
+.sbsprite-young_baby {
+ background-position: -990px -814px
+}
+
+.sbsprite-presents {
+ background-position: -1012px -814px
+}
+
+.sbsprite-dark_oak_generator_5 {
+ background-position: -1034px -814px
+}
+
+.sbsprite-dark_oak_generator_6 {
+ background-position: 0 -836px
+}
+
+.sbsprite-large_enchanted_fishing_sack {
+ background-position: -22px -836px
+}
+
+.sbsprite-radiant_power_orb {
+ background-position: -44px -836px
+}
+
+.sbsprite-dark_oak_generator_3 {
+ background-position: -66px -836px
+}
+
+.sbsprite-large_husbandry_sack {
+ background-position: -88px -836px
+}
+
+.sbsprite-dark_oak_generator_4 {
+ background-position: -110px -836px
+}
+
+.sbsprite-dark_oak_generator_9 {
+ background-position: -132px -836px
+}
+
+.sbsprite-dark_oak_generator_7 {
+ background-position: -154px -836px
+}
+
+.sbsprite-dark_oak_generator_8 {
+ background-position: -176px -836px
+}
+
+.sbsprite-dark_oak_generator_1 {
+ background-position: -198px -836px
+}
+
+.sbsprite-dark_oak_generator_2 {
+ background-position: -220px -836px
+}
+
+.sbsprite-illusion_glass {
+ background-position: -242px -836px
+}
+
+.sbsprite-iron_chest {
+ background-position: -264px -836px
+}
+
+.sbsprite-festive_zombie_personality {
+ background-position: -286px -836px
+}
+
+.sbsprite-frozen_blaze_helmet {
+ background-position: -308px -836px
+}
+
+.sbsprite-fast_travel_nest {
+ background-position: -330px -836px
+}
+
+.sbsprite-brown_greater_backpack {
+ background-position: -352px -836px
+}
+
+.sbsprite-red_gift {
+ background-position: -374px -836px
+}
+
+.sbsprite-builder_lemon {
+ background-position: -396px -836px
+}
+
+.sbsprite-rune_hot {
+ background-position: -418px -836px
+}
+
+.sbsprite-small_mining_sack {
+ background-position: -440px -836px
+}
+
+.sbsprite-pet_skin_jerry_green_elf {
+ background-position: -462px -836px
+}
+
+.sbsprite-amber_polished_drill_engine {
+ background-position: -484px -836px
+}
+
+.sbsprite-pedestal {
+ background-position: -506px -836px
+}
+
+.sbsprite-red_claw_artifact {
+ background-position: -528px -836px
+}
+
+.sbsprite-zombie_generator_11 {
+ background-position: -550px -836px
+}
+
+.sbsprite-zombie_generator_10 {
+ background-position: -572px -836px
+}
+
+.sbsprite-wither_relic {
+ background-position: -594px -836px
+}
+
+.sbsprite-spider_hat {
+ background-position: -616px -836px
+}
+
+.sbsprite-sludge_juice {
+ background-position: -638px -836px
+}
+
+.sbsprite-precursor_eye {
+ background-position: -660px -836px
+}
+
+.sbsprite-fast_travel_scarleton {
+ background-position: -682px -836px
+}
+
+.sbsprite-connect_four {
+ background-position: -704px -836px
+}
+
+.sbsprite-sloth_3 {
+ background-position: -726px -836px
+}
+
+.sbsprite-sloth_4 {
+ background-position: -748px -836px
+}
+
+.sbsprite-pet_skin_enderman {
+ background-position: -770px -836px
+}
+
+.sbsprite-sloth_1 {
+ background-position: -792px -836px
+}
+
+.sbsprite-sloth_2 {
+ background-position: -814px -836px
+}
+
+.sbsprite-rabbit_generator_9 {
+ background-position: -836px -836px
+}
+
+.sbsprite-builder_chesto_berry {
+ background-position: -858px -836px
+}
+
+.sbsprite-rabbit_generator_4 {
+ background-position: -880px -836px
+}
+
+.sbsprite-sloth_7 {
+ background-position: -902px -836px
+}
+
+.sbsprite-rabbit_generator_3 {
+ background-position: -924px -836px
+}
+
+.sbsprite-sloth_8 {
+ background-position: -946px -836px
+}
+
+.sbsprite-rabbit_generator_2 {
+ background-position: -968px -836px
+}
+
+.sbsprite-sloth_5 {
+ background-position: -990px -836px
+}
+
+.sbsprite-rabbit_generator_1 {
+ background-position: -1012px -836px
+}
+
+.sbsprite-sloth_6 {
+ background-position: -1034px -836px
+}
+
+.sbsprite-rabbit_generator_8 {
+ background-position: 0 -858px
+}
+
+.sbsprite-lantern {
+ background-position: -22px -858px
+}
+
+.sbsprite-rabbit_generator_7 {
+ background-position: -44px -858px
+}
+
+.sbsprite-rabbit_generator_6 {
+ background-position: -66px -858px
+}
+
+.sbsprite-sloth_9 {
+ background-position: -88px -858px
+}
+
+.sbsprite-rabbit_generator_5 {
+ background-position: -110px -858px
+}
+
+.sbsprite-clownfish_8 {
+ background-position: -132px -858px
+}
+
+.sbsprite-clownfish_9 {
+ background-position: -154px -858px
+}
+
+.sbsprite-clownfish_6 {
+ background-position: -176px -858px
+}
+
+.sbsprite-clownfish_7 {
+ background-position: -198px -858px
+}
+
+.sbsprite-clownfish_4 {
+ background-position: -220px -858px
+}
+
+.sbsprite-clownfish_5 {
+ background-position: -242px -858px
+}
+
+.sbsprite-mender_helmet {
+ background-position: -264px -858px
+}
+
+.sbsprite-clownfish_2 {
+ background-position: -286px -858px
+}
+
+.sbsprite-clownfish_3 {
+ background-position: -308px -858px
+}
+
+.sbsprite-enderman_hat {
+ background-position: -330px -858px
+}
+
+.sbsprite-superior_dragon_helmet {
+ background-position: -352px -858px
+}
+
+.sbsprite-clownfish_1 {
+ background-position: -374px -858px
+}
+
+.sbsprite-reset_heart_of_the_mountain {
+ background-position: -396px -858px
+}
+
+.sbsprite-lapis_crystal {
+ background-position: -418px -858px
+}
+
+.sbsprite-purple_jumbo_backpack {
+ background-position: -440px -858px
+}
+
+.sbsprite-purple_large_backpack {
+ background-position: -462px -858px
+}
+
+.sbsprite-dragon_claw {
+ background-position: -484px -858px
+}
+
+.sbsprite-potato_talisman {
+ background-position: -506px -858px
+}
+
+.sbsprite-nether_warts_generator_12 {
+ background-position: -528px -858px
+}
+
+.sbsprite-nether_warts_generator_11 {
+ background-position: -550px -858px
+}
+
+.sbsprite-nether_warts_generator_10 {
+ background-position: -572px -858px
+}
+
+.sbsprite-yellow_medium_backpack {
+ background-position: -594px -858px
+}
+
+.sbsprite-acacia_generator_9 {
+ background-position: -616px -858px
+}
+
+.sbsprite-arachne_crystal {
+ background-position: -638px -858px
+}
+
+.sbsprite-acacia_generator_8 {
+ background-position: -660px -858px
+}
+
+.sbsprite-acacia_generator_7 {
+ background-position: -682px -858px
+}
+
+.sbsprite-helix {
+ background-position: -704px -858px
+}
+
+.sbsprite-acacia_generator_6 {
+ background-position: -726px -858px
+}
+
+.sbsprite-mutant_nether_stalk {
+ background-position: -748px -858px
+}
+
+.sbsprite-acacia_generator_5 {
+ background-position: -770px -858px
+}
+
+.sbsprite-acacia_generator_4 {
+ background-position: -792px -858px
+}
+
+.sbsprite-acacia_generator_3 {
+ background-position: -814px -858px
+}
+
+.sbsprite-acacia_generator_2 {
+ background-position: -836px -858px
+}
+
+.sbsprite-acacia_generator_1 {
+ background-position: -858px -858px
+}
+
+.sbsprite-orange_greater_backpack {
+ background-position: -880px -858px
+}
+
+.sbsprite-boss_collection_professor {
+ background-position: -902px -858px
+}
+
+.sbsprite-soulflow_engine {
+ background-position: -924px -858px
+}
+
+.sbsprite-armor_showcase {
+ background-position: -946px -858px
+}
+
+.sbsprite-gingerbread_2 {
+ background-position: -968px -858px
+}
+
+.sbsprite-gingerbread_1 {
+ background-position: -990px -858px
+}
+
+.sbsprite-gingerbread_6 {
+ background-position: -1012px -858px
+}
+
+.sbsprite-gingerbread_5 {
+ background-position: -1034px -858px
+}
+
+.sbsprite-gingerbread_4 {
+ background-position: 0 -880px
+}
+
+.sbsprite-small_backpack {
+ background-position: -22px -880px
+}
+
+.sbsprite-gingerbread_3 {
+ background-position: -44px -880px
+}
+
+.sbsprite-gingerbread_9 {
+ background-position: -66px -880px
+}
+
+.sbsprite-gingerbread_8 {
+ background-position: -88px -880px
+}
+
+.sbsprite-gingerbread_7 {
+ background-position: -110px -880px
+}
+
+.sbsprite-small_fishing_sack {
+ background-position: -132px -880px
+}
+
+.sbsprite-fast_travel_castle {
+ background-position: -154px -880px
+}
+
+.sbsprite-glacite_jewel {
+ background-position: -176px -880px
+}
+
+.sbsprite-medium_agronomy_sack {
+ background-position: -198px -880px
+}
+
+.sbsprite-mining_fortune {
+ background-position: -220px -880px
+}
+
+.sbsprite-pet_item_spooky_cupcake {
+ background-position: -242px -880px
+}
+
+.sbsprite-red_medium_backpack {
+ background-position: -264px -880px
+}
+
+.sbsprite-third_master_star {
+ background-position: -286px -880px
+}
+
+.sbsprite-pet_skin_phoenix_ice {
+ background-position: -308px -880px
+}
+
+.sbsprite-golem_hat {
+ background-position: -330px -880px
+}
+
+.sbsprite-ghost_personality {
+ background-position: -352px -880px
+}
+
+.sbsprite-epoch_cake_yellow {
+ background-position: -374px -880px
+}
+
+.sbsprite-creeper_generator_11 {
+ background-position: -396px -880px
+}
+
+.sbsprite-creeper_generator_10 {
+ background-position: -418px -880px
+}
+
+.sbsprite-magenta_medium_backpack {
+ background-position: -440px -880px
+}
+
+.sbsprite-pet_skin_elephant_green {
+ background-position: -462px -880px
+}
+
+.sbsprite-soulflow_pile {
+ background-position: -484px -880px
+}
+
+.sbsprite-pumpkin_personality {
+ background-position: -506px -880px
+}
+
+.sbsprite-small_slayer_sack {
+ background-position: -528px -880px
+}
+
+.sbsprite-poisoned_candle {
+ background-position: -550px -880px
+}
+
+.sbsprite-bestiary_crimson_isle {
+ background-position: -572px -880px
+}
+
+.sbsprite-ring_potion_affinity {
+ background-position: -594px -880px
+}
+
+.sbsprite-rock_gemstone {
+ background-position: -616px -880px
+}
+
+.sbsprite-blood_god_crest {
+ background-position: -638px -880px
+}
+
+.sbsprite-judgement_core {
+ background-position: -660px -880px
+}
+
+.sbsprite-rune_tidal {
+ background-position: -682px -880px
+}
+
+.sbsprite-lava_talisman {
+ background-position: -704px -880px
+}
+
+.sbsprite-revived_heart {
+ background-position: -726px -880px
+}
+
+.sbsprite-killer_personality {
+ background-position: -748px -880px
+}
+
+.sbsprite-snow_suit_helmet {
+ background-position: -770px -880px
+}
+
+.sbsprite-blobfish_hat {
+ background-position: -792px -880px
+}
+
+.sbsprite-stool {
+ background-position: -814px -880px
+}
+
+.sbsprite-builder_blue_corn {
+ background-position: -836px -880px
+}
+
+.sbsprite-pulpous_orange_juice {
+ background-position: -858px -880px
+}
+
+.sbsprite-fast_travel_drag {
+ background-position: -880px -880px
+}
+
+.sbsprite-tank_dungeon_ability_2 {
+ background-position: -902px -880px
+}
+
+.sbsprite-tank_dungeon_ability_1 {
+ background-position: -924px -880px
+}
+
+.sbsprite-treasure_talisman {
+ background-position: -946px -880px
+}
+
+.sbsprite-bookcase {
+ background-position: -968px -880px
+}
+
+.sbsprite-skeletor_helmet {
+ background-position: -990px -880px
+}
+
+.sbsprite-unstable_baby {
+ background-position: -1012px -880px
+}
+
+.sbsprite-large_combat_sack {
+ background-position: -1034px -880px
+}
+
+.sbsprite-minos_relic {
+ background-position: 0 -902px
+}
+
+.sbsprite-pet_item_bubblegum {
+ background-position: -22px -902px
+}
+
+.sbsprite-small_xtree {
+ background-position: -44px -902px
+}
+
+.sbsprite-epoch_cake_aqua {
+ background-position: -66px -902px
+}
+
+.sbsprite-wither_blood {
+ background-position: -88px -902px
+}
+
+.sbsprite-egg_hunt {
+ background-position: -110px -902px
+}
+
+.sbsprite-rune_fire_spiral {
+ background-position: -132px -902px
+}
+
+.sbsprite-wither_goggles {
+ background-position: -154px -902px
+}
+
+.sbsprite-egg_stack {
+ background-position: -176px -902px
+}
+
+.sbsprite-mummy_candle {
+ background-position: -198px -902px
+}
+
+.sbsprite-enchanted_book_bundle_big_brain {
+ background-position: -220px -902px
+}
+
+.sbsprite-builder_beetroot {
+ background-position: -242px -902px
+}
+
+.sbsprite-rabbit_generator_11 {
+ background-position: -264px -902px
+}
+
+.sbsprite-rabbit_generator_10 {
+ background-position: -286px -902px
+}
+
+.sbsprite-rabbit_generator_12 {
+ background-position: -308px -902px
+}
+
+.sbsprite-rotten_apple {
+ background-position: -330px -902px
+}
+
+.sbsprite-etherwarp_merger {
+ background-position: -352px -902px
+}
+
+.sbsprite-redstone_generator_11 {
+ background-position: -374px -902px
+}
+
+.sbsprite-redstone_generator_10 {
+ background-position: -396px -902px
+}
+
+.sbsprite-protector_baby {
+ background-position: -418px -902px
+}
+
+.sbsprite-fast_travel_deep {
+ background-position: -440px -902px
+}
+
+.sbsprite-polished_pumpkin {
+ background-position: -462px -902px
+}
+
+.sbsprite-redstone_generator_12 {
+ background-position: -484px -902px
+}
+
+.sbsprite-tic_tac_toe {
+ background-position: -506px -902px
+}
+
+.sbsprite-foraging_2_portal {
+ background-position: -528px -902px
+}
+
+.sbsprite-recombobulator_3000 {
+ background-position: -550px -902px
+}
+
+.sbsprite-sand_generator_7 {
+ background-position: -572px -902px
+}
+
+.sbsprite-sand_generator_8 {
+ background-position: -594px -902px
+}
+
+.sbsprite-sand_generator_9 {
+ background-position: -616px -902px
+}
+
+.sbsprite-scarecrow_personality {
+ background-position: -638px -902px
+}
+
+.sbsprite-pet_skin_sheep_aqua {
+ background-position: -660px -902px
+}
+
+.sbsprite-skull_10 {
+ background-position: -682px -902px
+}
+
+.sbsprite-melon_personality {
+ background-position: -704px -902px
+}
+
+.sbsprite-skull_11 {
+ background-position: -726px -902px
+}
+
+.sbsprite-flawed_amethyst_gem {
+ background-position: -748px -902px
+}
+
+.sbsprite-revive_stone {
+ background-position: -770px -902px
+}
+
+.sbsprite-creeper_generator_9 {
+ background-position: -792px -902px
+}
+
+.sbsprite-creeper_generator_8 {
+ background-position: -814px -902px
+}
+
+.sbsprite-potato_basket {
+ background-position: -836px -902px
+}
+
+.sbsprite-diamond_essence {
+ background-position: -858px -902px
+}
+
+.sbsprite-creeper_generator_7 {
+ background-position: -880px -902px
+}
+
+.sbsprite-creeper_generator_6 {
+ background-position: -902px -902px
+}
+
+.sbsprite-creeper_generator_5 {
+ background-position: -924px -902px
+}
+
+.sbsprite-creeper_generator_4 {
+ background-position: -946px -902px
+}
+
+.sbsprite-creeper_generator_3 {
+ background-position: -968px -902px
+}
+
+.sbsprite-creeper_generator_2 {
+ background-position: -990px -902px
+}
+
+.sbsprite-sand_generator_1 {
+ background-position: -1012px -902px
+}
+
+.sbsprite-creeper_generator_1 {
+ background-position: -1034px -902px
+}
+
+.sbsprite-sand_generator_2 {
+ background-position: 0 -924px
+}
+
+.sbsprite-sand_generator_3 {
+ background-position: -22px -924px
+}
+
+.sbsprite-sand_generator_4 {
+ background-position: -44px -924px
+}
+
+.sbsprite-sand_generator_5 {
+ background-position: -66px -924px
+}
+
+.sbsprite-jerry_box_golden {
+ background-position: -88px -924px
+}
+
+.sbsprite-sand_generator_6 {
+ background-position: -110px -924px
+}
+
+.sbsprite-seal_of_the_family {
+ background-position: -132px -924px
+}
+
+.sbsprite-gemstone_chamber {
+ background-position: -154px -924px
+}
+
+.sbsprite-aqua {
+ background-position: -176px -924px
+}
+
+.sbsprite-ice_hunk {
+ background-position: -198px -924px
+}
+
+.sbsprite-crystal_ball {
+ background-position: -220px -924px
+}
+
+.sbsprite-ice_chair {
+ background-position: -242px -924px
+}
+
+.sbsprite-sandcastle_11 {
+ background-position: -264px -924px
+}
+
+.sbsprite-sandcastle_10 {
+ background-position: -286px -924px
+}
+
+.sbsprite-furnace_plus {
+ background-position: -308px -924px
+}
+
+.sbsprite-pig_generator_12 {
+ background-position: -330px -924px
+}
+
+.sbsprite-pig_generator_11 {
+ background-position: -352px -924px
+}
+
+.sbsprite-pig_generator_10 {
+ background-position: -374px -924px
+}
+
+.sbsprite-nether_artifact {
+ background-position: -396px -924px
+}
+
+.sbsprite-chicken_generator_1 {
+ background-position: -418px -924px
+}
+
+.sbsprite-sniper_helmet {
+ background-position: -440px -924px
+}
+
+.sbsprite-chicken_generator_4 {
+ background-position: -462px -924px
+}
+
+.sbsprite-chicken_generator_5 {
+ background-position: -484px -924px
+}
+
+.sbsprite-heat_core {
+ background-position: -506px -924px
+}
+
+.sbsprite-chicken_generator_2 {
+ background-position: -528px -924px
+}
+
+.sbsprite-wishing_compass {
+ background-position: -550px -924px
+}
+
+.sbsprite-chicken_generator_3 {
+ background-position: -572px -924px
+}
+
+.sbsprite-desk {
+ background-position: -594px -924px
+}
+
+.sbsprite-white_large_backpack {
+ background-position: -616px -924px
+}
+
+.sbsprite-hub_portal {
+ background-position: -638px -924px
+}
+
+.sbsprite-spruce_generator_10 {
+ background-position: -660px -924px
+}
+
+.sbsprite-spruce_generator_11 {
+ background-position: -682px -924px
+}
+
+.sbsprite-chicken_generator_8 {
+ background-position: -704px -924px
+}
+
+.sbsprite-mithril_generator_9 {
+ background-position: -726px -924px
+}
+
+.sbsprite-scarf_thesis {
+ background-position: -748px -924px
+}
+
+.sbsprite-chicken_generator_9 {
+ background-position: -770px -924px
+}
+
+.sbsprite-mithril_generator_8 {
+ background-position: -792px -924px
+}
+
+.sbsprite-fast_travel_da {
+ background-position: -814px -924px
+}
+
+.sbsprite-chicken_generator_6 {
+ background-position: -836px -924px
+}
+
+.sbsprite-mithril_generator_7 {
+ background-position: -858px -924px
+}
+
+.sbsprite-zombie_ring {
+ background-position: -880px -924px
+}
+
+.sbsprite-chicken_generator_7 {
+ background-position: -902px -924px
+}
+
+.sbsprite-mithril_generator_6 {
+ background-position: -924px -924px
+}
+
+.sbsprite-wood_chest {
+ background-position: -946px -924px
+}
+
+.sbsprite-glowstone_generator_8 {
+ background-position: -968px -924px
+}
+
+.sbsprite-mithril_generator_1 {
+ background-position: -990px -924px
+}
+
+.sbsprite-pink_bunny_12 {
+ background-position: -1012px -924px
+}
+
+.sbsprite-purple_medium_backpack {
+ background-position: -1034px -924px
+}
+
+.sbsprite-glowstone_generator_7 {
+ background-position: 0 -946px
+}
+
+.sbsprite-pink_bunny_11 {
+ background-position: -22px -946px
+}
+
+.sbsprite-pink_bunny_10 {
+ background-position: -44px -946px
+}
+
+.sbsprite-glowstone_generator_9 {
+ background-position: -66px -946px
+}
+
+.sbsprite-glowstone_generator_4 {
+ background-position: -88px -946px
+}
+
+.sbsprite-mithril_generator_5 {
+ background-position: -110px -946px
+}
+
+.sbsprite-glowstone_generator_3 {
+ background-position: -132px -946px
+}
+
+.sbsprite-mithril_generator_4 {
+ background-position: -154px -946px
+}
+
+.sbsprite-glowstone_generator_6 {
+ background-position: -176px -946px
+}
+
+.sbsprite-mithril_generator_3 {
+ background-position: -198px -946px
+}
+
+.sbsprite-glowstone_generator_5 {
+ background-position: -220px -946px
+}
+
+.sbsprite-mithril_generator_2 {
+ background-position: -242px -946px
+}
+
+.sbsprite-very_official_yellow_rock {
+ background-position: -264px -946px
+}
+
+.sbsprite-bat_person_talisman {
+ background-position: -286px -946px
+}
+
+.sbsprite-cyan_large_backpack {
+ background-position: -308px -946px
+}
+
+.sbsprite-fairy_soul {
+ background-position: -330px -946px
+}
+
+.sbsprite-ghost_8 {
+ background-position: -352px -946px
+}
+
+.sbsprite-ghost_9 {
+ background-position: -374px -946px
+}
+
+.sbsprite-power_talisman {
+ background-position: -396px -946px
+}
+
+.sbsprite-ghost_4 {
+ background-position: -418px -946px
+}
+
+.sbsprite-decent_coffee {
+ background-position: -440px -946px
+}
+
+.sbsprite-ghost_5 {
+ background-position: -462px -946px
+}
+
+.sbsprite-ember_fragment {
+ background-position: -484px -946px
+}
+
+.sbsprite-ghost_6 {
+ background-position: -506px -946px
+}
+
+.sbsprite-ghost_7 {
+ background-position: -528px -946px
+}
+
+.sbsprite-dull_shark_tooth_necklace {
+ background-position: -550px -946px
+}
+
+.sbsprite-ghost_1 {
+ background-position: -572px -946px
+}
+
+.sbsprite-ghost_2 {
+ background-position: -594px -946px
+}
+
+.sbsprite-ghost_3 {
+ background-position: -616px -946px
+}
+
+.sbsprite-gold_gift {
+ background-position: -638px -946px
+}
+
+.sbsprite-tank_wither_helmet {
+ background-position: -660px -946px
+}
+
+.sbsprite-spider_ring {
+ background-position: -682px -946px
+}
+
+.sbsprite-santa_10 {
+ background-position: -704px -946px
+}
+
+.sbsprite-santa_11 {
+ background-position: -726px -946px
+}
+
+.sbsprite-yellow_greater_backpack {
+ background-position: -748px -946px
+}
+
+.sbsprite-sapphire_crystal {
+ background-position: -770px -946px
+}
+
+.sbsprite-mayor_foxy {
+ background-position: -792px -946px
+}
+
+.sbsprite-starred_shadow_assassin_helmet {
+ background-position: -814px -946px
+}
+
+.sbsprite-god_potion_2 {
+ background-position: -836px -946px
+}
+
+.sbsprite-goblin_helmet {
+ background-position: -858px -946px
+}
+
+.sbsprite-diamond_generator_5 {
+ background-position: -880px -946px
+}
+
+.sbsprite-lesser_orb_of_healing {
+ background-position: -902px -946px
+}
+
+.sbsprite-diamond_generator_6 {
+ background-position: -924px -946px
+}
+
+.sbsprite-diamond_generator_3 {
+ background-position: -946px -946px
+}
+
+.sbsprite-pet_skin_jerry_red_elf {
+ background-position: -968px -946px
+}
+
+.sbsprite-diamond_generator_4 {
+ background-position: -990px -946px
+}
+
+.sbsprite-lady_bug_10 {
+ background-position: -1012px -946px
+}
+
+.sbsprite-diamond_generator_1 {
+ background-position: -1034px -946px
+}
+
+.sbsprite-star_decorations {
+ background-position: 0 -968px
+}
+
+.sbsprite-diamond_generator_2 {
+ background-position: -22px -968px
+}
+
+.sbsprite-bingo_artifact {
+ background-position: -44px -968px
+}
+
+.sbsprite-diamond_generator_9 {
+ background-position: -66px -968px
+}
+
+.sbsprite-lady_bug_11 {
+ background-position: -88px -968px
+}
+
+.sbsprite-diamond_generator_7 {
+ background-position: -110px -968px
+}
+
+.sbsprite-diamond_generator_8 {
+ background-position: -132px -968px
+}
+
+.sbsprite-heart_of_the_mountain {
+ background-position: -154px -968px
+}
+
+.sbsprite-glowstone_generator_2 {
+ background-position: -176px -968px
+}
+
+.sbsprite-glowstone_generator_1 {
+ background-position: -198px -968px
+}
+
+.sbsprite-pink_donut_personality {
+ background-position: -220px -968px
+}
+
+.sbsprite-artifact_of_space {
+ background-position: -242px -968px
+}
+
+.sbsprite-lesser_soulflow_engine {
+ background-position: -264px -968px
+}
+
+.sbsprite-mithril_crystal {
+ background-position: -286px -968px
+}
+
+.sbsprite-young_fragment {
+ background-position: -308px -968px
+}
+
+.sbsprite-master_catacombs_pass_10 {
+ background-position: -330px -968px
+}
+
+.sbsprite-flying_bats {
+ background-position: -352px -968px
+}
+
+.sbsprite-light_blue_medium_backpack {
+ background-position: -374px -968px
+}
+
+.sbsprite-fast_travel_hub {
+ background-position: -396px -968px
+}
+
+.sbsprite-pumpkin_generator_2 {
+ background-position: -418px -968px
+}
+
+.sbsprite-pumpkin_generator_1 {
+ background-position: -440px -968px
+}
+
+.sbsprite-pumpkin_generator_4 {
+ background-position: -462px -968px
+}
+
+.sbsprite-end_helmet {
+ background-position: -484px -968px
+}
+
+.sbsprite-pumpkin_generator_3 {
+ background-position: -506px -968px
+}
+
+.sbsprite-pumpkin_generator_6 {
+ background-position: -528px -968px
+}
+
+.sbsprite-titanium_talisman {
+ background-position: -550px -968px
+}
+
+.sbsprite-pumpkin_generator_5 {
+ background-position: -572px -968px
+}
+
+.sbsprite-reaper_gem {
+ background-position: -594px -968px
+}
+
+.sbsprite-rune_zap {
+ background-position: -616px -968px
+}
+
+.sbsprite-pumpkin_generator_8 {
+ background-position: -638px -968px
+}
+
+.sbsprite-pumpkin_generator_7 {
+ background-position: -660px -968px
+}
+
+.sbsprite-pumpkin_generator_9 {
+ background-position: -682px -968px
+}
+
+.sbsprite-crooked_artifact {
+ background-position: -704px -968px
+}
+
+.sbsprite-haste_ring {
+ background-position: -726px -968px
+}
+
+.sbsprite-soulflow_battery {
+ background-position: -748px -968px
+}
+
+.sbsprite-medium_mining_sack {
+ background-position: -770px -968px
+}
+
+.sbsprite-skull_1 {
+ background-position: -792px -968px
+}
+
+.sbsprite-coffin {
+ background-position: -814px -968px
+}
+
+.sbsprite-chest_shelves {
+ background-position: -836px -968px
+}
+
+.sbsprite-power_ring {
+ background-position: -858px -968px
+}
+
+.sbsprite-white_medium_backpack {
+ background-position: -880px -968px
+}
+
+.sbsprite-divan_fragment {
+ background-position: -902px -968px
+}
+
+.sbsprite-skull_8 {
+ background-position: -924px -968px
+}
+
+.sbsprite-gold_essence {
+ background-position: -946px -968px
+}
+
+.sbsprite-skull_9 {
+ background-position: -968px -968px
+}
+
+.sbsprite-skull_6 {
+ background-position: -990px -968px
+}
+
+.sbsprite-skull_7 {
+ background-position: -1012px -968px
+}
+
+.sbsprite-skull_4 {
+ background-position: -1034px -968px
+}
+
+.sbsprite-skull_5 {
+ background-position: 0 -990px
+}
+
+.sbsprite-skull_2 {
+ background-position: -22px -990px
+}
+
+.sbsprite-skull_3 {
+ background-position: -44px -990px
+}
+
+.sbsprite-black_jumbo_backpack {
+ background-position: -66px -990px
+}
+
+.sbsprite-fast_travel_mines {
+ background-position: -88px -990px
+}
+
+.sbsprite-skull_vase {
+ background-position: -110px -990px
+}
+
+.sbsprite-fishing_generator_8 {
+ background-position: -132px -990px
+}
+
+.sbsprite-fishing_generator_7 {
+ background-position: -154px -990px
+}
+
+.sbsprite-fishing_generator_6 {
+ background-position: -176px -990px
+}
+
+.sbsprite-fishing_generator_5 {
+ background-position: -198px -990px
+}
+
+.sbsprite-fishing_generator_4 {
+ background-position: -220px -990px
+}
+
+.sbsprite-lime_jumbo_backpack {
+ background-position: -242px -990px
+}
+
+.sbsprite-fishing_generator_3 {
+ background-position: -264px -990px
+}
+
+.sbsprite-fishing_generator_2 {
+ background-position: -286px -990px
+}
+
+.sbsprite-fishing_generator_1 {
+ background-position: -308px -990px
+}
+
+.sbsprite-fishing_generator_9 {
+ background-position: -330px -990px
+}
+
+.sbsprite-yellow_large_backpack {
+ background-position: -352px -990px
+}
+
+.sbsprite-amber_crystal {
+ background-position: -374px -990px
+}
+
+.sbsprite-suspicious_vial {
+ background-position: -396px -990px
+}
+
+.sbsprite-campfire {
+ background-position: -418px -990px
+}
+
+.sbsprite-snow_generator_4 {
+ background-position: -440px -990px
+}
+
+.sbsprite-snow_generator_5 {
+ background-position: -462px -990px
+}
+
+.sbsprite-ring_of_space {
+ background-position: -484px -990px
+}
+
+.sbsprite-snow_generator_6 {
+ background-position: -506px -990px
+}
+
+.sbsprite-talisman_enrichment_walk_speed {
+ background-position: -528px -990px
+}
+
+.sbsprite-snow_generator_7 {
+ background-position: -550px -990px
+}
+
+.sbsprite-snow_generator_1 {
+ background-position: -572px -990px
+}
+
+.sbsprite-snow_generator_2 {
+ background-position: -594px -990px
+}
+
+.sbsprite-snow_generator_3 {
+ background-position: -616px -990px
+}
+
+.sbsprite-lime_medium_backpack {
+ background-position: -638px -990px
+}
+
+.sbsprite-end_stone_1 {
+ background-position: -660px -990px
+}
+
+.sbsprite-strong_fragment {
+ background-position: -682px -990px
+}
+
+.sbsprite-small_foraging_sack {
+ background-position: -704px -990px
+}
+
+.sbsprite-synthetic_heart {
+ background-position: -726px -990px
+}
+
+.sbsprite-end_stone_4 {
+ background-position: -748px -990px
+}
+
+.sbsprite-diamond_sadan_head {
+ background-position: -770px -990px
+}
+
+.sbsprite-end_stone_5 {
+ background-position: -792px -990px
+}
+
+.sbsprite-end_stone_2 {
+ background-position: -814px -990px
+}
+
+.sbsprite-end_stone_3 {
+ background-position: -836px -990px
+}
+
+.sbsprite-diamond_bonzo_head {
+ background-position: -858px -990px
+}
+
+.sbsprite-end_stone_8 {
+ background-position: -880px -990px
+}
+
+.sbsprite-end_stone_9 {
+ background-position: -902px -990px
+}
+
+.sbsprite-end_stone_6 {
+ background-position: -924px -990px
+}
+
+.sbsprite-end_stone_7 {
+ background-position: -946px -990px
+}
+
+.sbsprite-snow_generator_8 {
+ background-position: -968px -990px
+}
+
+.sbsprite-snow_generator_9 {
+ background-position: -990px -990px
+}
+
+.sbsprite-ender_stone_generator_4 {
+ background-position: -1012px -990px
+}
+
+.sbsprite-epoch_cake_blue {
+ background-position: -1034px -990px
+}
+
+.sbsprite-sand_generator_10 {
+ background-position: 0 -1012px
+}
+
+.sbsprite-ender_stone_generator_3 {
+ background-position: -22px -1012px
+}
+
+.sbsprite-sand_generator_11 {
+ background-position: -44px -1012px
+}
+
+.sbsprite-ender_stone_generator_2 {
+ background-position: -66px -1012px
+}
+
+.sbsprite-ender_stone_generator_1 {
+ background-position: -88px -1012px
+}
+
+.sbsprite-pet_skin_sheep_neon_yellow {
+ background-position: -110px -1012px
+}
+
+.sbsprite-fast_travel_spider {
+ background-position: -132px -1012px
+}
+
+.sbsprite-pet_skin_sheep_blue {
+ background-position: -154px -1012px
+}
+
+.sbsprite-epoch_cake_black {
+ background-position: -176px -1012px
+}
+
+.sbsprite-wise_baby {
+ background-position: -198px -1012px
+}
+
+.sbsprite-chronomatron {
+ background-position: -220px -1012px
+}
+
+.sbsprite-scarf_grimoire {
+ background-position: -242px -1012px
+}
+
+.sbsprite-bestiary_hub {
+ background-position: -264px -1012px
+}
+
+.sbsprite-ender_stone_generator_9 {
+ background-position: -286px -1012px
+}
+
+.sbsprite-ender_stone_generator_8 {
+ background-position: -308px -1012px
+}
+
+.sbsprite-ender_stone_generator_7 {
+ background-position: -330px -1012px
+}
+
+.sbsprite-ender_stone_generator_6 {
+ background-position: -352px -1012px
+}
+
+.sbsprite-ender_stone_generator_5 {
+ background-position: -374px -1012px
+}
+
+.sbsprite-small_gemstone_sack {
+ background-position: -396px -1012px
+}
+
+.sbsprite-flawless_ruby_gem {
+ background-position: -418px -1012px
+}
+
+.sbsprite-gold_necron_head {
+ background-position: -440px -1012px
+}
+
+.sbsprite-small_husbandry_sack {
+ background-position: -462px -1012px
+}
+
+.sbsprite-reaper_orb {
+ background-position: -484px -1012px
+}
+
+.sbsprite-blaze_helmet {
+ background-position: -506px -1012px
+}
+
+.sbsprite-bee_personality {
+ background-position: -528px -1012px
+}
+
+.sbsprite-fishing {
+ background-position: -550px -1012px
+}
+
+.sbsprite-titanium_ring {
+ background-position: -572px -1012px
+}
+
+.sbsprite-lime {
+ background-position: -594px -1012px
+}
+
+.sbsprite-feather_talisman {
+ background-position: -616px -1012px
+}
+
+.sbsprite-rough_jasper_gem {
+ background-position: -638px -1012px
+}
+
+.sbsprite-goblin_omelette_spicy {
+ background-position: -660px -1012px
+}
+
+.sbsprite-gold_generator_11 {
+ background-position: -682px -1012px
+}
+
+.sbsprite-gold_generator_10 {
+ background-position: -704px -1012px
+}
+
+.sbsprite-gold_generator_12 {
+ background-position: -726px -1012px
+}
+
+.sbpet-sheep_green {
+ background-position: 0 0
+}
+
+.sbpet-sheep_yellow {
+ background-position: -20px 0
+}
+
+.sbpet-bal {
+ background-position: -40px 0
+}
+
+.sbpet-grandma_wolf {
+ background-position: -60px 0
+}
+
+.sbpet-sheep_orange {
+ background-position: -80px 0
+}
+
+.sbpet-sheep_red {
+ background-position: -100px 0
+}
+
+.sbpet-bat {
+ background-position: -120px 0
+}
+
+.sbpet-elephant_red {
+ background-position: -140px 0
+}
+
+.sbpet-rabbit {
+ background-position: -160px 0
+}
+
+.sbpet-megalodon_baby {
+ background-position: -180px 0
+}
+
+.sbpet-silverfish {
+ background-position: -200px 0
+}
+
+.sbpet-ghoul {
+ background-position: -220px 0
+}
+
+.sbpet-pigman {
+ background-position: 0 -22px
+}
+
+.sbpet-elephant_orange {
+ background-position: -20px -22px
+}
+
+.sbpet-jerry {
+ background-position: -40px -22px
+}
+
+.sbpet-sheep_neon_yellow {
+ background-position: -60px -22px
+}
+
+.sbpet-rat {
+ background-position: -80px -22px
+}
+
+.sbpet-tiger {
+ background-position: -100px -22px
+}
+
+.sbpet-lion {
+ background-position: -120px -22px
+}
+
+.sbpet-horse {
+ background-position: -140px -22px
+}
+
+.sbpet-sheep_neon_green {
+ background-position: -160px -22px
+}
+
+.sbpet-giraffe {
+ background-position: -180px -22px
+}
+
+.sbpet-black_cat_ivory {
+ background-position: -200px -22px
+}
+
+.sbpet-golden_dragon {
+ background-position: -220px -22px
+}
+
+.sbpet-rock_derp {
+ background-position: 0 -44px
+}
+
+.sbpet-parrot {
+ background-position: -20px -44px
+}
+
+.sbpet-sheep_blue {
+ background-position: -40px -44px
+}
+
+.sbpet-monkey_golden {
+ background-position: -60px -44px
+}
+
+.sbpet-jellyfish {
+ background-position: -80px -44px
+}
+
+.sbpet-horse_zombie {
+ background-position: -100px -44px
+}
+
+.sbpet-sheep_purple {
+ background-position: -120px -44px
+}
+
+.sbpet-elephant_purple {
+ background-position: -140px -44px
+}
+
+.sbpet-endermite_radiant {
+ background-position: -160px -44px
+}
+
+.sbpet-rock {
+ background-position: -180px -44px
+}
+
+.sbpet-default {
+ background-position: -200px -44px
+}
+
+.sbpet-blaze {
+ background-position: -220px -44px
+}
+
+.sbpet-endermite {
+ background-position: 0 -66px
+}
+
+.sbpet-megalodon_bullhead {
+ background-position: -20px -66px
+}
+
+.sbpet-hound_beagle {
+ background-position: -40px -66px
+}
+
+.sbpet-zombie {
+ background-position: -60px -66px
+}
+
+.sbpet-guardian {
+ background-position: -80px -66px
+}
+
+.sbpet-scatha {
+ background-position: -100px -66px
+}
+
+.sbpet-wolf {
+ background-position: -120px -66px
+}
+
+.sbpet-rabbit_aquamarine {
+ background-position: -140px -66px
+}
+
+.sbpet-spirit {
+ background-position: -160px -66px
+}
+
+.sbpet-hound {
+ background-position: -180px -66px
+}
+
+.sbpet-dragon_neon_purple {
+ background-position: -200px -66px
+}
+
+.sbpet-tiger_twilight {
+ background-position: -220px -66px
+}
+
+.sbpet-sheep_light_green {
+ background-position: 0 -88px
+}
+
+.sbpet-monkey_gorilla {
+ background-position: -20px -88px
+}
+
+.sbpet-spider {
+ background-position: -40px -88px
+}
+
+.sbpet-mithril_golem {
+ background-position: -60px -88px
+}
+
+.sbpet-dolphin_snubnose {
+ background-position: -80px -88px
+}
+
+.sbpet-snowman {
+ background-position: -100px -88px
+}
+
+.sbpet-bee {
+ background-position: -120px -88px
+}
+
+.sbpet-monkey {
+ background-position: -140px -88px
+}
+
+.sbpet-jerry_red_elf {
+ background-position: -160px -88px
+}
+
+.sbpet-elephant_pink {
+ background-position: -180px -88px
+}
+
+.sbpet-sheep_brown {
+ background-position: -200px -88px
+}
+
+.sbpet-magma_cube {
+ background-position: -220px -88px
+}
+
+.sbpet-pig {
+ background-position: 0 -110px
+}
+
+.sbpet-blue_whale {
+ background-position: -20px -110px
+}
+
+.sbpet-skeleton {
+ background-position: -40px -110px
+}
+
+.sbpet-phoenix_ice {
+ background-position: -60px -110px
+}
+
+.sbpet-ammonite {
+ background-position: -80px -110px
+}
+
+.sbpet-elephant_green {
+ background-position: -100px -110px
+}
+
+.sbpet-armadillo {
+ background-position: -120px -110px
+}
+
+.sbpet-dolphin {
+ background-position: -140px -110px
+}
+
+.sbpet-turtle {
+ background-position: -160px -110px
+}
+
+.sbpet-dragon_neon_red {
+ background-position: -180px -110px
+}
+
+.sbpet-tiger_saber_tooth {
+ background-position: -200px -110px
+}
+
+.sbpet-wither_skeleton {
+ background-position: -220px -110px
+}
+
+.sbpet-parrot_blue_macaw {
+ background-position: 0 -132px
+}
+
+.sbpet-ocelot {
+ background-position: -20px -132px
+}
+
+.sbpet-sheep_light_gray {
+ background-position: -40px -132px
+}
+
+.sbpet-elephant_blue {
+ background-position: -60px -132px
+}
+
+.sbpet-chicken_baby_chick {
+ background-position: -80px -132px
+}
+
+.sbpet-rock_thinking {
+ background-position: -100px -132px
+}
+
+.sbpet-enderman_slayer {
+ background-position: -120px -132px
+}
+
+.sbpet-ender_dragon {
+ background-position: -140px -132px
+}
+
+.sbpet-rabbit_rose {
+ background-position: -160px -132px
+}
+
+.sbpet-sheep_white {
+ background-position: -180px -132px
+}
+
+.sbpet-silverfish_fossilized {
+ background-position: -200px -132px
+}
+
+.sbpet-squid {
+ background-position: -220px -132px
+}
+
+.sbpet-sheep_light_blue {
+ background-position: 0 -154px
+}
+
+.sbpet-elephant {
+ background-position: -20px -154px
+}
+
+.sbpet-golden_dragon_egg {
+ background-position: -40px -154px
+}
+
+.sbpet-enderman {
+ background-position: -60px -154px
+}
+
+.sbpet-chicken {
+ background-position: -80px -154px
+}
+
+.sbpet-parrot_gold_macaw {
+ background-position: -100px -154px
+}
+
+.sbpet-sheep_gray {
+ background-position: -120px -154px
+}
+
+.sbpet-rock_cool {
+ background-position: -140px -154px
+}
+
+.sbpet-rock_laugh {
+ background-position: -160px -154px
+}
+
+.sbpet-sheep_black {
+ background-position: -180px -154px
+}
+
+.sbpet-sheep_neon_blue {
+ background-position: -200px -154px
+}
+
+.sbpet-rock_embarrassed {
+ background-position: -220px -154px
+}
+
+.sbpet-dragon_neon_blue {
+ background-position: 0 -176px
+}
+
+.sbpet-sheep {
+ background-position: -20px -176px
+}
+
+.sbpet-baby_yeti {
+ background-position: -40px -176px
+}
+
+.sbpet-sheep_aqua {
+ background-position: -60px -176px
+}
+
+.sbpet-sheep_pink {
+ background-position: -80px -176px
+}
+
+.sbpet-elephant_monochrome {
+ background-position: -100px -176px
+}
+
+.sbpet-wolf_henzo_doggo {
+ background-position: -120px -176px
+}
+
+.sbpet-squid_glow {
+ background-position: -140px -176px
+}
+
+.sbpet-flying_fish {
+ background-position: -160px -176px
+}
+
+.sbpet-griffin {
+ background-position: -180px -176px
+}
+
+.sbpet-jerry_green_elf {
+ background-position: -200px -176px
+}
+
+.sbpet-dragon_pastel {
+ background-position: -220px -176px
+}
+
+.sbpet-sheep_neon_red {
+ background-position: 0 -198px
+}
+
+.sbpet-sheep_magenta {
+ background-position: -20px -198px
+}
+
+.sbpet-skeleton_horse {
+ background-position: -40px -198px
+}
+
+.sbpet-megalodon {
+ background-position: -60px -198px
+}
+
+.sbpet-lion_lioness {
+ background-position: -80px -198px
+}
+
+.sbpet-tarantula {
+ background-position: -100px -198px
+}
+
+.sbpet-yeti_grown_up {
+ background-position: -120px -198px
+}
+
+.sbpet-phoenix {
+ background-position: -140px -198px
+}
+
+.sbpet-golem {
+ background-position: -160px -198px
+}
+
+.sbpet-black_cat {
+ background-position: -180px -198px
+}
+
+.sbpet-whale_orca {
+ background-position: -200px -198px
+}
+
+.sbpet-rock_smile {
+ background-position: -220px -198px
+}
+
+.sbpet-wither {
+ background-position: 0 -220px
+}
+
+.sbpet-black_cat_onyx {
+ background-position: -20px -220px
+}
+
+.sbspray-AngryTurkey {
+ background-position: 0 0
+}
+
+.sbspray-AnotherDimension {
+ background-position: -128px 0
+}
+
+.sbspray-BlueArrowE {
+ background-position: -256px 0
+}
+
+.sbspray-BlueArrowN {
+ background-position: -384px 0
+}
+
+.sbspray-BlueArrowNE {
+ background-position: -512px 0
+}
+
+.sbspray-BlueArrowNW {
+ background-position: -640px 0
+}
+
+.sbspray-BlueArrowS {
+ background-position: -768px 0
+}
+
+.sbspray-BlueArrowSE {
+ background-position: -896px 0
+}
+
+.sbspray-BlueArrowSW {
+ background-position: -1024px 0
+}
+
+.sbspray-BlueArrowW {
+ background-position: -1152px 0
+}
+
+.sbspray-Bonzo {
+ background-position: 0 -128px
+}
+
+.sbspray-Boom {
+ background-position: -128px -128px
+}
+
+.sbspray-BunnyGG {
+ background-position: -256px -128px
+}
+
+.sbspray-ChestGlow {
+ background-position: -384px -128px
+}
+
+.sbspray-Chill {
+ background-position: -512px -128px
+}
+
+.sbspray-Chimney {
+ background-position: -640px -128px
+}
+
+.sbspray-ChocolateFeast {
+ background-position: -768px -128px
+}
+
+.sbspray-ChristmasTree {
+ background-position: -896px -128px
+}
+
+.sbspray-Coconut {
+ background-position: -1024px -128px
+}
+
+.sbspray-Creeper {
+ background-position: -1152px -128px
+}
+
+.sbspray-EasterBasket {
+ background-position: 0 -256px
+}
+
+.sbspray-EasterCreeper {
+ background-position: -128px -256px
+}
+
+.sbspray-EasterEggs {
+ background-position: -256px -256px
+}
+
+.sbspray-Eek {
+ background-position: -384px -256px
+}
+
+.sbspray-EggHunt {
+ background-position: -512px -256px
+}
+
+.sbspray-EggSurprise {
+ background-position: -640px -256px
+}
+
+.sbspray-Faboolous {
+ background-position: -768px -256px
+}
+
+.sbspray-FarmingArrowE {
+ background-position: -896px -256px
+}
+
+.sbspray-FarmingArrowN {
+ background-position: -1024px -256px
+}
+
+.sbspray-FarmingArrowS {
+ background-position: -1152px -256px
+}
+
+.sbspray-FarmingArrowW {
+ background-position: 0 -384px
+}
+
+.sbspray-FoundU {
+ background-position: -128px -384px
+}
+
+.sbspray-Garlic {
+ background-position: -256px -384px
+}
+
+.sbspray-GenericArmor {
+ background-position: -384px -384px
+}
+
+.sbspray-GenericBooks {
+ background-position: -512px -384px
+}
+
+.sbspray-GenericFishing {
+ background-position: -640px -384px
+}
+
+.sbspray-GenericMob {
+ background-position: -768px -384px
+}
+
+.sbspray-GenericOres {
+ background-position: -896px -384px
+}
+
+.sbspray-GenericPotions {
+ background-position: -1024px -384px
+}
+
+.sbspray-GenericWeapons {
+ background-position: -1152px -384px
+}
+
+.sbspray-GoldenEgg {
+ background-position: 0 -512px
+}
+
+.sbspray-Heart {
+ background-position: -128px -512px
+}
+
+.sbspray-Hypixel {
+ background-position: -256px -512px
+}
+
+.sbspray-HypixelDark {
+ background-position: -384px -512px
+}
+
+.sbspray-IceCream {
+ background-position: -512px -512px
+}
+
+.sbspray-Kite {
+ background-position: -640px -512px
+}
+
+.sbspray-LetUsIn {
+ background-position: -768px -512px
+}
+
+.sbspray-Lifebelt {
+ background-position: -896px -512px
+}
+
+.sbspray-MinionAnimals {
+ background-position: -1024px -512px
+}
+
+.sbspray-MinionFarming {
+ background-position: -1152px -512px
+}
+
+.sbspray-MinionForaging {
+ background-position: 0 -640px
+}
+
+.sbspray-MinionMining {
+ background-position: -128px -640px
+}
+
+.sbspray-MinionMisc {
+ background-position: -256px -640px
+}
+
+.sbspray-MinionMonsters {
+ background-position: -384px -640px
+}
+
+.sbspray-OnFire {
+ background-position: -512px -640px
+}
+
+.sbspray-Porkchop {
+ background-position: -640px -640px
+}
+
+.sbspray-PortalArrowE {
+ background-position: -768px -640px
+}
+
+.sbspray-PortalArrowN {
+ background-position: -896px -640px
+}
+
+.sbspray-PortalArrowS {
+ background-position: -1024px -640px
+}
+
+.sbspray-PortalArrowW {
+ background-position: -1152px -640px
+}
+
+.sbspray-Presents {
+ background-position: 0 -768px
+}
+
+.sbspray-Puffer {
+ background-position: -128px -768px
+}
+
+.sbspray-PuppySurprise {
+ background-position: -256px -768px
+}
+
+.sbspray-RabbitCostume {
+ background-position: -384px -768px
+}
+
+.sbspray-RedArrowE {
+ background-position: -512px -768px
+}
+
+.sbspray-RedArrowN {
+ background-position: -640px -768px
+}
+
+.sbspray-RedArrowNE {
+ background-position: -768px -768px
+}
+
+.sbspray-RedArrowNW {
+ background-position: -896px -768px
+}
+
+.sbspray-RedArrowS {
+ background-position: -1024px -768px
+}
+
+.sbspray-RedArrowSE {
+ background-position: -1152px -768px
+}
+
+.sbspray-RedArrowSW {
+ background-position: 0 -896px
+}
+
+.sbspray-RedArrowW {
+ background-position: -128px -896px
+}
+
+.sbspray-SandCastleH {
+ background-position: -256px -896px
+}
+
+.sbspray-Sandcastle {
+ background-position: -384px -896px
+}
+
+.sbspray-SantaJerry {
+ background-position: -512px -896px
+}
+
+.sbspray-SantaSlips {
+ background-position: -640px -896px
+}
+
+.sbspray-Sign {
+ background-position: -768px -896px
+}
+
+.sbspray-SkyBlockChristmas {
+ background-position: -896px -896px
+}
+
+.sbspray-SniperSnowball {
+ background-position: -1024px -896px
+}
+
+.sbspray-Snowball {
+ background-position: -1152px -896px
+}
+
+.sbspray-StorageArrowE {
+ background-position: 0 -1024px
+}
+
+.sbspray-StorageArrowN {
+ background-position: -128px -1024px
+}
+
+.sbspray-StorageArrowS {
+ background-position: -256px -1024px
+}
+
+.sbspray-StorageArrowW {
+ background-position: -384px -1024px
+}
+
+.sbspray-Surfing {
+ background-position: -512px -1024px
+}
+
+.sbspray-TheWrongEggs {
+ background-position: -640px -1024px
+}
+
+.sbspray-Trap {
+ background-position: -768px -1024px
+}
+
+.sbspray-TrickOrTreat {
+ background-position: -896px -1024px
+}
+
+.sbspray-UndeadJerry {
+ background-position: -1024px -1024px
+}
+
+.sbspray-Volleyball {
+ background-position: -1152px -1024px
+}
+
+.sbspray-Watcher {
+ background-position: 0 -1152px
+}
+
+.sbspray-Whoosh {
+ background-position: -128px -1152px
+}
+
+.sbspray-WitchPlease {
+ background-position: -256px -1152px
+}
+
+.sbspray-Wreath {
+ background-position: -384px -1152px
+}
+
+.sbspray-YellowArrowE {
+ background-position: -512px -1152px
+}
+
+.sbspray-YellowArrowN {
+ background-position: -640px -1152px
+}
+
+.sbspray-YellowArrowNE {
+ background-position: -768px -1152px
+}
+
+.sbspray-YellowArrowNW {
+ background-position: -896px -1152px
+}
+
+.sbspray-YellowArrowS {
+ background-position: -1024px -1152px
+}
+
+.sbspray-YellowArrowSE {
+ background-position: -1152px -1152px
+}
+
+.sbspray-YellowArrowSW {
+ background-position: -1280px 0
+}
+
+.sbspray-YellowArrowW {
+ background-position: -1280px -128px
+}
+
+.mcsprite-acacia_boat {
+ background-position: 0 0
+}
+
+.mcsprite-acacia_button {
+ background-position: -32px 0
+}
+
+.mcsprite-acacia_door {
+ background-position: -64px 0
+}
+
+.mcsprite-acacia_fence {
+ background-position: -96px 0
+}
+
+.mcsprite-acacia_fence_gate {
+ background-position: -128px 0
+}
+
+.mcsprite-acacia_leaves {
+ background-position: -160px 0
+}
+
+.mcsprite-acacia_log {
+ background-position: -192px 0
+}
+
+.mcsprite-acacia_planks {
+ background-position: -224px 0
+}
+
+.mcsprite-acacia_pressure_plate {
+ background-position: -256px 0
+}
+
+.mcsprite-acacia_sapling {
+ background-position: -288px 0
+}
+
+.mcsprite-acacia_sign {
+ background-position: -320px 0
+}
+
+.mcsprite-acacia_slab {
+ background-position: -352px 0
+}
+
+.mcsprite-acacia_stairs {
+ background-position: -384px 0
+}
+
+.mcsprite-acacia_trapdoor {
+ background-position: -416px 0
+}
+
+.mcsprite-acacia_wood {
+ background-position: -448px 0
+}
+
+.mcsprite-acacia_wood_button {
+ background-position: -480px 0
+}
+
+.mcsprite-acacia_wood_door {
+ background-position: -512px 0
+}
+
+.mcsprite-acacia_wood_fence {
+ background-position: -544px 0
+}
+
+.mcsprite-acacia_wood_fence_gate {
+ background-position: -576px 0
+}
+
+.mcsprite-acacia_wood_planks {
+ background-position: -608px 0
+}
+
+.mcsprite-acacia_wood_pressure_plate {
+ background-position: -640px 0
+}
+
+.mcsprite-acacia_wood_sign {
+ background-position: -672px 0
+}
+
+.mcsprite-acacia_wood_slab {
+ background-position: -704px 0
+}
+
+.mcsprite-acacia_wood_stairs {
+ background-position: -736px 0
+}
+
+.mcsprite-acacia_wood_trapdoor {
+ background-position: -768px 0
+}
+
+.mcsprite-activator_rail {
+ background-position: -800px 0
+}
+
+.mcsprite-adult_carrots {
+ background-position: -832px 0
+}
+
+.mcsprite-adult_nether_warts {
+ background-position: -864px 0
+}
+
+.mcsprite-adult_potatoes {
+ background-position: -896px 0
+}
+
+.mcsprite-adult_wheat_crops {
+ background-position: -928px 0
+}
+
+.mcsprite-air {
+ background-position: -960px 0
+}
+
+.mcsprite-allium {
+ background-position: -992px 0
+}
+
+.mcsprite-amethyst_cluster {
+ background-position: -1024px 0
+}
+
+.mcsprite-amethyst_shard {
+ background-position: -1056px 0
+}
+
+.mcsprite-ancient_debris {
+ background-position: -1088px 0
+}
+
+.mcsprite-andesite {
+ background-position: -1120px 0
+}
+
+.mcsprite-andesite_slab {
+ background-position: -1152px 0
+}
+
+.mcsprite-andesite_stairs {
+ background-position: -1184px 0
+}
+
+.mcsprite-andesite_wall {
+ background-position: -1216px 0
+}
+
+.mcsprite-anvil {
+ background-position: -1248px 0
+}
+
+.mcsprite-apple {
+ background-position: 0 -32px
+}
+
+.mcsprite-armor_stand {
+ background-position: -32px -32px
+}
+
+.mcsprite-arrow {
+ background-position: -64px -32px
+}
+
+.mcsprite-arrow_loaded_crossbow {
+ background-position: -96px -32px
+}
+
+.mcsprite-arrow_of_decay {
+ background-position: -128px -32px
+}
+
+.mcsprite-arrow_of_fire_resistance {
+ background-position: -160px -32px
+}
+
+.mcsprite-arrow_of_harming {
+ background-position: -192px -32px
+}
+
+.mcsprite-arrow_of_healing {
+ background-position: -224px -32px
+}
+
+.mcsprite-arrow_of_invisibility {
+ background-position: -256px -32px
+}
+
+.mcsprite-arrow_of_leaping {
+ background-position: -288px -32px
+}
+
+.mcsprite-arrow_of_luck {
+ background-position: -320px -32px
+}
+
+.mcsprite-arrow_of_night_vision {
+ background-position: -352px -32px
+}
+
+.mcsprite-arrow_of_poison {
+ background-position: -384px -32px
+}
+
+.mcsprite-arrow_of_regeneration {
+ background-position: -416px -32px
+}
+
+.mcsprite-arrow_of_slow_falling {
+ background-position: -448px -32px
+}
+
+.mcsprite-arrow_of_slowness {
+ background-position: -480px -32px
+}
+
+.mcsprite-arrow_of_splashing {
+ background-position: -512px -32px
+}
+
+.mcsprite-arrow_of_strength {
+ background-position: -544px -32px
+}
+
+.mcsprite-arrow_of_swiftness {
+ background-position: -576px -32px
+}
+
+.mcsprite-arrow_of_the_turtle_master {
+ background-position: -608px -32px
+}
+
+.mcsprite-arrow_of_water_breathing {
+ background-position: -640px -32px
+}
+
+.mcsprite-arrow_of_weakness {
+ background-position: -672px -32px
+}
+
+.mcsprite-awkward_lingering_potion {
+ background-position: -704px -32px
+}
+
+.mcsprite-awkward_potion {
+ background-position: -736px -32px
+}
+
+.mcsprite-awkward_splash_potion {
+ background-position: -768px -32px
+}
+
+.mcsprite-axolotl_spawn_egg {
+ background-position: -800px -32px
+}
+
+.mcsprite-azalea {
+ background-position: -832px -32px
+}
+
+.mcsprite-azalea_leaves {
+ background-position: -864px -32px
+}
+
+.mcsprite-azure_bluet {
+ background-position: -896px -32px
+}
+
+.mcsprite-baked_potato {
+ background-position: -928px -32px
+}
+
+.mcsprite-bamboo {
+ background-position: -960px -32px
+}
+
+.mcsprite-banner {
+ background-position: -992px -32px
+}
+
+.mcsprite-barrel {
+ background-position: -1024px -32px
+}
+
+.mcsprite-barrier {
+ background-position: -1056px -32px
+}
+
+.mcsprite-basalt {
+ background-position: -1088px -32px
+}
+
+.mcsprite-bat_spawn_egg {
+ background-position: -1120px -32px
+}
+
+.mcsprite-beacon {
+ background-position: -1152px -32px
+}
+
+.mcsprite-bedrock {
+ background-position: -1184px -32px
+}
+
+.mcsprite-bee_nest {
+ background-position: -1216px -32px
+}
+
+.mcsprite-bee_spawn_egg {
+ background-position: -1248px -32px
+}
+
+.mcsprite-beehive {
+ background-position: 0 -64px
+}
+
+.mcsprite-beetroot {
+ background-position: -32px -64px
+}
+
+.mcsprite-beetroot_seeds {
+ background-position: -64px -64px
+}
+
+.mcsprite-beetroot_soup {
+ background-position: -96px -64px
+}
+
+.mcsprite-beetroots {
+ background-position: -128px -64px
+}
+
+.mcsprite-bell {
+ background-position: -160px -64px
+}
+
+.mcsprite-big_dripleaf {
+ background-position: -192px -64px
+}
+
+.mcsprite-birch_boat {
+ background-position: -224px -64px
+}
+
+.mcsprite-birch_button {
+ background-position: -256px -64px
+}
+
+.mcsprite-birch_door {
+ background-position: -288px -64px
+}
+
+.mcsprite-birch_fence {
+ background-position: -320px -64px
+}
+
+.mcsprite-birch_fence_gate {
+ background-position: -352px -64px
+}
+
+.mcsprite-birch_leaves {
+ background-position: -384px -64px
+}
+
+.mcsprite-birch_log {
+ background-position: -416px -64px
+}
+
+.mcsprite-birch_planks {
+ background-position: -448px -64px
+}
+
+.mcsprite-birch_pressure_plate {
+ background-position: -480px -64px
+}
+
+.mcsprite-birch_sapling {
+ background-position: -512px -64px
+}
+
+.mcsprite-birch_sign {
+ background-position: -544px -64px
+}
+
+.mcsprite-birch_slab {
+ background-position: -576px -64px
+}
+
+.mcsprite-birch_stairs {
+ background-position: -608px -64px
+}
+
+.mcsprite-birch_trapdoor {
+ background-position: -640px -64px
+}
+
+.mcsprite-birch_wood {
+ background-position: -672px -64px
+}
+
+.mcsprite-birch_wood_button {
+ background-position: -704px -64px
+}
+
+.mcsprite-birch_wood_door {
+ background-position: -736px -64px
+}
+
+.mcsprite-birch_wood_fence {
+ background-position: -768px -64px
+}
+
+.mcsprite-birch_wood_fence_gate {
+ background-position: -800px -64px
+}
+
+.mcsprite-birch_wood_planks {
+ background-position: -832px -64px
+}
+
+.mcsprite-birch_wood_pressure_plate {
+ background-position: -864px -64px
+}
+
+.mcsprite-birch_wood_sign {
+ background-position: -896px -64px
+}
+
+.mcsprite-birch_wood_slab {
+ background-position: -928px -64px
+}
+
+.mcsprite-birch_wood_stairs {
+ background-position: -960px -64px
+}
+
+.mcsprite-birch_wood_trapdoor {
+ background-position: -992px -64px
+}
+
+.mcsprite-black_banner {
+ background-position: -1024px -64px
+}
+
+.mcsprite-black_bed {
+ background-position: -1056px -64px
+}
+
+.mcsprite-black_bed_lce {
+ background-position: -1088px -64px
+}
+
+.mcsprite-black_candle {
+ background-position: -1120px -64px
+}
+
+.mcsprite-black_carpet {
+ background-position: -1152px -64px
+}
+
+.mcsprite-black_concrete {
+ background-position: -1184px -64px
+}
+
+.mcsprite-black_concrete_powder {
+ background-position: -1216px -64px
+}
+
+.mcsprite-black_dye {
+ background-position: -1248px -64px
+}
+
+.mcsprite-black_firework_star {
+ background-position: 0 -96px
+}
+
+.mcsprite-black_glazed_terracotta {
+ background-position: -32px -96px
+}
+
+.mcsprite-black_shield {
+ background-position: -64px -96px
+}
+
+.mcsprite-black_shulker_box {
+ background-position: -96px -96px
+}
+
+.mcsprite-black_stained_glass {
+ background-position: -128px -96px
+}
+
+.mcsprite-black_stained_glass_pane {
+ background-position: -160px -96px
+}
+
+.mcsprite-black_terracotta {
+ background-position: -192px -96px
+}
+
+.mcsprite-black_wool {
+ background-position: -224px -96px
+}
+
+.mcsprite-blackstone {
+ background-position: -256px -96px
+}
+
+.mcsprite-blackstone_slab {
+ background-position: -288px -96px
+}
+
+.mcsprite-blackstone_stairs {
+ background-position: -320px -96px
+}
+
+.mcsprite-blackstone_wall {
+ background-position: -352px -96px
+}
+
+.mcsprite-blast_furnace {
+ background-position: -384px -96px
+}
+
+.mcsprite-blaze_powder {
+ background-position: -416px -96px
+}
+
+.mcsprite-blaze_rod {
+ background-position: -448px -96px
+}
+
+.mcsprite-blaze_spawn_egg {
+ background-position: -480px -96px
+}
+
+.mcsprite-block_of_amethyst {
+ background-position: -512px -96px
+}
+
+.mcsprite-block_of_coal {
+ background-position: -544px -96px
+}
+
+.mcsprite-block_of_copper {
+ background-position: -576px -96px
+}
+
+.mcsprite-block_of_diamond {
+ background-position: -608px -96px
+}
+
+.mcsprite-block_of_emerald {
+ background-position: -640px -96px
+}
+
+.mcsprite-block_of_gold {
+ background-position: -672px -96px
+}
+
+.mcsprite-block_of_iron {
+ background-position: -704px -96px
+}
+
+.mcsprite-block_of_lapis_lazuli {
+ background-position: -736px -96px
+}
+
+.mcsprite-block_of_netherite {
+ background-position: -768px -96px
+}
+
+.mcsprite-block_of_quartz {
+ background-position: -800px -96px
+}
+
+.mcsprite-block_of_raw_copper {
+ background-position: -832px -96px
+}
+
+.mcsprite-block_of_raw_gold {
+ background-position: -864px -96px
+}
+
+.mcsprite-block_of_raw_iron {
+ background-position: -896px -96px
+}
+
+.mcsprite-block_of_redstone {
+ background-position: -928px -96px
+}
+
+.mcsprite-blue_banner {
+ background-position: -960px -96px
+}
+
+.mcsprite-blue_bed {
+ background-position: -992px -96px
+}
+
+.mcsprite-blue_bed_lce {
+ background-position: -1024px -96px
+}
+
+.mcsprite-blue_candle {
+ background-position: -1056px -96px
+}
+
+.mcsprite-blue_carpet {
+ background-position: -1088px -96px
+}
+
+.mcsprite-blue_concrete {
+ background-position: -1120px -96px
+}
+
+.mcsprite-blue_concrete_powder {
+ background-position: -1152px -96px
+}
+
+.mcsprite-blue_dye {
+ background-position: -1184px -96px
+}
+
+.mcsprite-blue_firework_star {
+ background-position: -1216px -96px
+}
+
+.mcsprite-blue_glazed_terracotta {
+ background-position: -1248px -96px
+}
+
+.mcsprite-blue_ice {
+ background-position: 0 -128px
+}
+
+.mcsprite-blue_orchid {
+ background-position: -32px -128px
+}
+
+.mcsprite-blue_shield {
+ background-position: -64px -128px
+}
+
+.mcsprite-blue_shulker_box {
+ background-position: -96px -128px
+}
+
+.mcsprite-blue_stained_glass {
+ background-position: -128px -128px
+}
+
+.mcsprite-blue_stained_glass_pane {
+ background-position: -160px -128px
+}
+
+.mcsprite-blue_terracotta {
+ background-position: -192px -128px
+}
+
+.mcsprite-blue_wool {
+ background-position: -224px -128px
+}
+
+.mcsprite-bone {
+ background-position: -256px -128px
+}
+
+.mcsprite-bone_block {
+ background-position: -288px -128px
+}
+
+.mcsprite-bone_meal {
+ background-position: -320px -128px
+}
+
+.mcsprite-book {
+ background-position: -352px -128px
+}
+
+.mcsprite-book_and_quill {
+ background-position: -384px -128px
+}
+
+.mcsprite-bookshelf {
+ background-position: -416px -128px
+}
+
+.mcsprite-bottle_o_enchanting {
+ background-position: -448px -128px
+}
+
+.mcsprite-bow {
+ background-position: -480px -128px
+}
+
+.mcsprite-bowl {
+ background-position: -512px -128px
+}
+
+.mcsprite-brain_coral {
+ background-position: -544px -128px
+}
+
+.mcsprite-brain_coral_block {
+ background-position: -576px -128px
+}
+
+.mcsprite-brain_coral_fan {
+ background-position: -608px -128px
+}
+
+.mcsprite-bread {
+ background-position: -640px -128px
+}
+
+.mcsprite-brewing_stand {
+ background-position: -672px -128px
+}
+
+.mcsprite-brick {
+ background-position: -704px -128px
+}
+
+.mcsprite-brick_slab {
+ background-position: -736px -128px
+}
+
+.mcsprite-brick_slab_old {
+ background-position: -768px -128px
+}
+
+.mcsprite-brick_stairs {
+ background-position: -800px -128px
+}
+
+.mcsprite-brick_wall {
+ background-position: -832px -128px
+}
+
+.mcsprite-bricks {
+ background-position: -864px -128px
+}
+
+.mcsprite-bricks_old {
+ background-position: -896px -128px
+}
+
+.mcsprite-broken_anvil {
+ background-position: -928px -128px
+}
+
+.mcsprite-broken_elytra {
+ background-position: -960px -128px
+}
+
+.mcsprite-brown_banner {
+ background-position: -992px -128px
+}
+
+.mcsprite-brown_bed {
+ background-position: -1024px -128px
+}
+
+.mcsprite-brown_bed_lce {
+ background-position: -1056px -128px
+}
+
+.mcsprite-brown_candle {
+ background-position: -1088px -128px
+}
+
+.mcsprite-brown_carpet {
+ background-position: -1120px -128px
+}
+
+.mcsprite-brown_concrete {
+ background-position: -1152px -128px
+}
+
+.mcsprite-brown_concrete_powder {
+ background-position: -1184px -128px
+}
+
+.mcsprite-brown_dye {
+ background-position: -1216px -128px
+}
+
+.mcsprite-brown_firework_star {
+ background-position: -1248px -128px
+}
+
+.mcsprite-brown_glazed_terracotta {
+ background-position: 0 -160px
+}
+
+.mcsprite-brown_mushroom {
+ background-position: -32px -160px
+}
+
+.mcsprite-brown_mushroom_block {
+ background-position: -64px -160px
+}
+
+.mcsprite-brown_shield {
+ background-position: -96px -160px
+}
+
+.mcsprite-brown_shulker_box {
+ background-position: -128px -160px
+}
+
+.mcsprite-brown_stained_glass {
+ background-position: -160px -160px
+}
+
+.mcsprite-brown_stained_glass_pane {
+ background-position: -192px -160px
+}
+
+.mcsprite-brown_terracotta {
+ background-position: -224px -160px
+}
+
+.mcsprite-brown_wool {
+ background-position: -256px -160px
+}
+
+.mcsprite-bubble_column {
+ background-position: -288px -160px
+}
+
+.mcsprite-bubble_coral {
+ background-position: -320px -160px
+}
+
+.mcsprite-bubble_coral_block {
+ background-position: -352px -160px
+}
+
+.mcsprite-bubble_coral_fan {
+ background-position: -384px -160px
+}
+
+.mcsprite-bucket {
+ background-position: -416px -160px
+}
+
+.mcsprite-bucket_of_axolotl {
+ background-position: -448px -160px
+}
+
+.mcsprite-bucket_of_cod {
+ background-position: -480px -160px
+}
+
+.mcsprite-bucket_of_pufferfish {
+ background-position: -512px -160px
+}
+
+.mcsprite-bucket_of_salmon {
+ background-position: -544px -160px
+}
+
+.mcsprite-bucket_of_tropical_fish {
+ background-position: -576px -160px
+}
+
+.mcsprite-budding_amethyst {
+ background-position: -608px -160px
+}
+
+.mcsprite-bundle {
+ background-position: -640px -160px
+}
+
+.mcsprite-buried_treasure_map {
+ background-position: -672px -160px
+}
+
+.mcsprite-cactus {
+ background-position: -704px -160px
+}
+
+.mcsprite-cactus_green {
+ background-position: -736px -160px
+}
+
+.mcsprite-cake {
+ background-position: -768px -160px
+}
+
+.mcsprite-calcite {
+ background-position: -800px -160px
+}
+
+.mcsprite-campfire {
+ background-position: -832px -160px
+}
+
+.mcsprite-candle {
+ background-position: -864px -160px
+}
+
+.mcsprite-carrot {
+ background-position: -896px -160px
+}
+
+.mcsprite-carrot_on_a_stick {
+ background-position: -928px -160px
+}
+
+.mcsprite-cartography_table {
+ background-position: -960px -160px
+}
+
+.mcsprite-carved_pumpkin {
+ background-position: -992px -160px
+}
+
+.mcsprite-cast_fishing_rod {
+ background-position: -1024px -160px
+}
+
+.mcsprite-cat_spawn_egg {
+ background-position: -1056px -160px
+}
+
+.mcsprite-cauldron {
+ background-position: -1088px -160px
+}
+
+.mcsprite-cave_air {
+ background-position: -1120px -160px
+}
+
+.mcsprite-cave_spider_spawn_egg {
+ background-position: -1152px -160px
+}
+
+.mcsprite-chain {
+ background-position: -1184px -160px
+}
+
+.mcsprite-chainmail_boots {
+ background-position: -1216px -160px
+}
+
+.mcsprite-chainmail_chestplate {
+ background-position: -1248px -160px
+}
+
+.mcsprite-chainmail_helmet {
+ background-position: 0 -192px
+}
+
+.mcsprite-chainmail_leggings {
+ background-position: -32px -192px
+}
+
+.mcsprite-charcoal {
+ background-position: -64px -192px
+}
+
+.mcsprite-chest {
+ background-position: -96px -192px
+}
+
+.mcsprite-chicken_spawn_egg {
+ background-position: -128px -192px
+}
+
+.mcsprite-chipped_anvil {
+ background-position: -160px -192px
+}
+
+.mcsprite-chiseled_deepslate {
+ background-position: -192px -192px
+}
+
+.mcsprite-chiseled_nether_bricks {
+ background-position: -224px -192px
+}
+
+.mcsprite-chiseled_polished_blackstone {
+ background-position: -256px -192px
+}
+
+.mcsprite-chiseled_quartz_block {
+ background-position: -288px -192px
+}
+
+.mcsprite-chiseled_red_sandstone {
+ background-position: -320px -192px
+}
+
+.mcsprite-chiseled_sandstone {
+ background-position: -352px -192px
+}
+
+.mcsprite-chiseled_stone_bricks {
+ background-position: -384px -192px
+}
+
+.mcsprite-chiseled_stone_bricks_monster_egg {
+ background-position: -416px -192px
+}
+
+.mcsprite-chorus_flower {
+ background-position: -448px -192px
+}
+
+.mcsprite-chorus_fruit {
+ background-position: -480px -192px
+}
+
+.mcsprite-chorus_plant {
+ background-position: -512px -192px
+}
+
+.mcsprite-clay {
+ background-position: -544px -192px
+}
+
+.mcsprite-clay_ball {
+ background-position: -576px -192px
+}
+
+.mcsprite-clock {
+ background-position: -608px -192px
+}
+
+.mcsprite-clownfish {
+ background-position: -640px -192px
+}
+
+.mcsprite-coal {
+ background-position: -672px -192px
+}
+
+.mcsprite-coal_ore {
+ background-position: -704px -192px
+}
+
+.mcsprite-coarse_dirt {
+ background-position: -736px -192px
+}
+
+.mcsprite-cobbled_deepslate {
+ background-position: -768px -192px
+}
+
+.mcsprite-cobbled_deepslate_slab {
+ background-position: -800px -192px
+}
+
+.mcsprite-cobbled_deepslate_stairs {
+ background-position: -832px -192px
+}
+
+.mcsprite-cobbled_deepslate_wall {
+ background-position: -864px -192px
+}
+
+.mcsprite-cobblestone {
+ background-position: -896px -192px
+}
+
+.mcsprite-cobblestone_monster_egg {
+ background-position: -928px -192px
+}
+
+.mcsprite-cobblestone_slab {
+ background-position: -960px -192px
+}
+
+.mcsprite-cobblestone_stairs {
+ background-position: -992px -192px
+}
+
+.mcsprite-cobblestone_wall {
+ background-position: -1024px -192px
+}
+
+.mcsprite-cobweb {
+ background-position: -1056px -192px
+}
+
+.mcsprite-cocoa_beans {
+ background-position: -1088px -192px
+}
+
+.mcsprite-cod_spawn_egg {
+ background-position: -1120px -192px
+}
+
+.mcsprite-command_block {
+ background-position: -1152px -192px
+}
+
+.mcsprite-compass {
+ background-position: -1184px -192px
+}
+
+.mcsprite-composter {
+ background-position: -1216px -192px
+}
+
+.mcsprite-conduit {
+ background-position: -1248px -192px
+}
+
+.mcsprite-cooked_beef {
+ background-position: 0 -224px
+}
+
+.mcsprite-cooked_chicken {
+ background-position: -32px -224px
+}
+
+.mcsprite-cooked_cod {
+ background-position: -64px -224px
+}
+
+.mcsprite-cooked_fish {
+ background-position: -96px -224px
+}
+
+.mcsprite-cooked_mutton {
+ background-position: -128px -224px
+}
+
+.mcsprite-cooked_porkchop {
+ background-position: -160px -224px
+}
+
+.mcsprite-cooked_rabbit {
+ background-position: -192px -224px
+}
+
+.mcsprite-cooked_salmon {
+ background-position: -224px -224px
+}
+
+.mcsprite-cookie {
+ background-position: -256px -224px
+}
+
+.mcsprite-copper_block {
+ background-position: -288px -224px
+}
+
+.mcsprite-copper_ingot {
+ background-position: -320px -224px
+}
+
+.mcsprite-copper_ore {
+ background-position: -352px -224px
+}
+
+.mcsprite-cornflower {
+ background-position: -384px -224px
+}
+
+.mcsprite-cow_spawn_egg {
+ background-position: -416px -224px
+}
+
+.mcsprite-cracked_deepslate_bricks {
+ background-position: -448px -224px
+}
+
+.mcsprite-cracked_deepslate_tiles {
+ background-position: -480px -224px
+}
+
+.mcsprite-cracked_nether_bricks {
+ background-position: -512px -224px
+}
+
+.mcsprite-cracked_polished_blackstone_bricks {
+ background-position: -544px -224px
+}
+
+.mcsprite-cracked_stone_bricks {
+ background-position: -576px -224px
+}
+
+.mcsprite-cracked_stone_bricks_monster_egg {
+ background-position: -608px -224px
+}
+
+.mcsprite-crafting_table {
+ background-position: -640px -224px
+}
+
+.mcsprite-creeper_head {
+ background-position: -672px -224px
+}
+
+.mcsprite-creeper_spawn_egg {
+ background-position: -704px -224px
+}
+
+.mcsprite-crimson_button {
+ background-position: -736px -224px
+}
+
+.mcsprite-crimson_door {
+ background-position: -768px -224px
+}
+
+.mcsprite-crimson_fence {
+ background-position: -800px -224px
+}
+
+.mcsprite-crimson_fence_gate {
+ background-position: -832px -224px
+}
+
+.mcsprite-crimson_fungus {
+ background-position: -864px -224px
+}
+
+.mcsprite-crimson_hyphae {
+ background-position: -896px -224px
+}
+
+.mcsprite-crimson_nylium {
+ background-position: -928px -224px
+}
+
+.mcsprite-crimson_planks {
+ background-position: -960px -224px
+}
+
+.mcsprite-crimson_pressure_plate {
+ background-position: -992px -224px
+}
+
+.mcsprite-crimson_roots {
+ background-position: -1024px -224px
+}
+
+.mcsprite-crimson_sign {
+ background-position: -1056px -224px
+}
+
+.mcsprite-crimson_slab {
+ background-position: -1088px -224px
+}
+
+.mcsprite-crimson_stairs {
+ background-position: -1120px -224px
+}
+
+.mcsprite-crimson_stem {
+ background-position: -1152px -224px
+}
+
+.mcsprite-crimson_trapdoor {
+ background-position: -1184px -224px
+}
+
+.mcsprite-crossbow {
+ background-position: -1216px -224px
+}
+
+.mcsprite-crying_obsidian {
+ background-position: -1248px -224px
+}
+
+.mcsprite-cut_copper {
+ background-position: 0 -256px
+}
+
+.mcsprite-cut_copper_block {
+ background-position: -32px -256px
+}
+
+.mcsprite-cut_copper_slab {
+ background-position: -64px -256px
+}
+
+.mcsprite-cut_copper_stairs {
+ background-position: -96px -256px
+}
+
+.mcsprite-cut_red_sandstone {
+ background-position: -128px -256px
+}
+
+.mcsprite-cut_red_sandstone_slab {
+ background-position: -160px -256px
+}
+
+.mcsprite-cut_sandstone {
+ background-position: -192px -256px
+}
+
+.mcsprite-cut_sandstone_slab {
+ background-position: -224px -256px
+}
+
+.mcsprite-cyan_banner {
+ background-position: -256px -256px
+}
+
+.mcsprite-cyan_bed {
+ background-position: -288px -256px
+}
+
+.mcsprite-cyan_bed_lce {
+ background-position: -320px -256px
+}
+
+.mcsprite-cyan_candle {
+ background-position: -352px -256px
+}
+
+.mcsprite-cyan_carpet {
+ background-position: -384px -256px
+}
+
+.mcsprite-cyan_concrete {
+ background-position: -416px -256px
+}
+
+.mcsprite-cyan_concrete_powder {
+ background-position: -448px -256px
+}
+
+.mcsprite-cyan_dye {
+ background-position: -480px -256px
+}
+
+.mcsprite-cyan_firework_star {
+ background-position: -512px -256px
+}
+
+.mcsprite-cyan_glazed_terracotta {
+ background-position: -544px -256px
+}
+
+.mcsprite-cyan_shield {
+ background-position: -576px -256px
+}
+
+.mcsprite-cyan_shulker_box {
+ background-position: -608px -256px
+}
+
+.mcsprite-cyan_stained_glass {
+ background-position: -640px -256px
+}
+
+.mcsprite-cyan_stained_glass_pane {
+ background-position: -672px -256px
+}
+
+.mcsprite-cyan_terracotta {
+ background-position: -704px -256px
+}
+
+.mcsprite-cyan_wool {
+ background-position: -736px -256px
+}
+
+.mcsprite-dandelion {
+ background-position: -768px -256px
+}
+
+.mcsprite-dandelion_yellow {
+ background-position: -800px -256px
+}
+
+.mcsprite-dark_oak_boat {
+ background-position: -832px -256px
+}
+
+.mcsprite-dark_oak_button {
+ background-position: -864px -256px
+}
+
+.mcsprite-dark_oak_door {
+ background-position: -896px -256px
+}
+
+.mcsprite-dark_oak_fence {
+ background-position: -928px -256px
+}
+
+.mcsprite-dark_oak_fence_gate {
+ background-position: -960px -256px
+}
+
+.mcsprite-dark_oak_leaves {
+ background-position: -992px -256px
+}
+
+.mcsprite-dark_oak_log {
+ background-position: -1024px -256px
+}
+
+.mcsprite-dark_oak_planks {
+ background-position: -1056px -256px
+}
+
+.mcsprite-dark_oak_pressure_plate {
+ background-position: -1088px -256px
+}
+
+.mcsprite-dark_oak_sapling {
+ background-position: -1120px -256px
+}
+
+.mcsprite-dark_oak_sign {
+ background-position: -1152px -256px
+}
+
+.mcsprite-dark_oak_slab {
+ background-position: -1184px -256px
+}
+
+.mcsprite-dark_oak_stairs {
+ background-position: -1216px -256px
+}
+
+.mcsprite-dark_oak_trapdoor {
+ background-position: -1248px -256px
+}
+
+.mcsprite-dark_oak_wood {
+ background-position: 0 -288px
+}
+
+.mcsprite-dark_oak_wood_button {
+ background-position: -32px -288px
+}
+
+.mcsprite-dark_oak_wood_door {
+ background-position: -64px -288px
+}
+
+.mcsprite-dark_oak_wood_fence {
+ background-position: -96px -288px
+}
+
+.mcsprite-dark_oak_wood_fence_gate {
+ background-position: -128px -288px
+}
+
+.mcsprite-dark_oak_wood_planks {
+ background-position: -160px -288px
+}
+
+.mcsprite-dark_oak_wood_pressure_plate {
+ background-position: -192px -288px
+}
+
+.mcsprite-dark_oak_wood_sign {
+ background-position: -224px -288px
+}
+
+.mcsprite-dark_oak_wood_slab {
+ background-position: -256px -288px
+}
+
+.mcsprite-dark_oak_wood_stairs {
+ background-position: -288px -288px
+}
+
+.mcsprite-dark_oak_wood_trapdoor {
+ background-position: -320px -288px
+}
+
+.mcsprite-dark_prismarine {
+ background-position: -352px -288px
+}
+
+.mcsprite-dark_prismarine_slab {
+ background-position: -384px -288px
+}
+
+.mcsprite-dark_prismarine_stairs {
+ background-position: -416px -288px
+}
+
+.mcsprite-daylight_detector {
+ background-position: -448px -288px
+}
+
+.mcsprite-daylight_sensor {
+ background-position: -480px -288px
+}
+
+.mcsprite-dead_brain_coral {
+ background-position: -512px -288px
+}
+
+.mcsprite-dead_brain_coral_block {
+ background-position: -544px -288px
+}
+
+.mcsprite-dead_brain_coral_fan {
+ background-position: -576px -288px
+}
+
+.mcsprite-dead_bubble_coral {
+ background-position: -608px -288px
+}
+
+.mcsprite-dead_bubble_coral_block {
+ background-position: -640px -288px
+}
+
+.mcsprite-dead_bubble_coral_fan {
+ background-position: -672px -288px
+}
+
+.mcsprite-dead_bush {
+ background-position: -704px -288px
+}
+
+.mcsprite-dead_fire_coral {
+ background-position: -736px -288px
+}
+
+.mcsprite-dead_fire_coral_block {
+ background-position: -768px -288px
+}
+
+.mcsprite-dead_fire_coral_fan {
+ background-position: -800px -288px
+}
+
+.mcsprite-dead_horn_coral {
+ background-position: -832px -288px
+}
+
+.mcsprite-dead_horn_coral_block {
+ background-position: -864px -288px
+}
+
+.mcsprite-dead_horn_coral_fan {
+ background-position: -896px -288px
+}
+
+.mcsprite-dead_tube_coral {
+ background-position: -928px -288px
+}
+
+.mcsprite-dead_tube_coral_block {
+ background-position: -960px -288px
+}
+
+.mcsprite-dead_tube_coral_fan {
+ background-position: -992px -288px
+}
+
+.mcsprite-debug_stick {
+ background-position: -1024px -288px
+}
+
+.mcsprite-deepslate {
+ background-position: -1056px -288px
+}
+
+.mcsprite-deepslate_brick_slab {
+ background-position: -1088px -288px
+}
+
+.mcsprite-deepslate_brick_stairs {
+ background-position: -1120px -288px
+}
+
+.mcsprite-deepslate_brick_wall {
+ background-position: -1152px -288px
+}
+
+.mcsprite-deepslate_bricks {
+ background-position: -1184px -288px
+}
+
+.mcsprite-deepslate_coal_ore {
+ background-position: -1216px -288px
+}
+
+.mcsprite-deepslate_copper_ore {
+ background-position: -1248px -288px
+}
+
+.mcsprite-deepslate_diamond_ore {
+ background-position: 0 -320px
+}
+
+.mcsprite-deepslate_emerald_ore {
+ background-position: -32px -320px
+}
+
+.mcsprite-deepslate_gold_ore {
+ background-position: -64px -320px
+}
+
+.mcsprite-deepslate_iron_ore {
+ background-position: -96px -320px
+}
+
+.mcsprite-deepslate_lapis_lazuli_ore {
+ background-position: -128px -320px
+}
+
+.mcsprite-deepslate_redstone_ore {
+ background-position: -160px -320px
+}
+
+.mcsprite-deepslate_tile_slab {
+ background-position: -192px -320px
+}
+
+.mcsprite-deepslate_tile_stairs {
+ background-position: -224px -320px
+}
+
+.mcsprite-deepslate_tile_wall {
+ background-position: -256px -320px
+}
+
+.mcsprite-deepslate_tiles {
+ background-position: -288px -320px
+}
+
+.mcsprite-detector_rail {
+ background-position: -320px -320px
+}
+
+.mcsprite-diamond {
+ background-position: -352px -320px
+}
+
+.mcsprite-diamond_axe {
+ background-position: -384px -320px
+}
+
+.mcsprite-diamond_boots {
+ background-position: -416px -320px
+}
+
+.mcsprite-diamond_chestplate {
+ background-position: -448px -320px
+}
+
+.mcsprite-diamond_helmet {
+ background-position: -480px -320px
+}
+
+.mcsprite-diamond_hoe {
+ background-position: -512px -320px
+}
+
+.mcsprite-diamond_horse_armor {
+ background-position: -544px -320px
+}
+
+.mcsprite-diamond_leggings {
+ background-position: -576px -320px
+}
+
+.mcsprite-diamond_ore {
+ background-position: -608px -320px
+}
+
+.mcsprite-diamond_pickaxe {
+ background-position: -640px -320px
+}
+
+.mcsprite-diamond_shovel {
+ background-position: -672px -320px
+}
+
+.mcsprite-diamond_sword {
+ background-position: -704px -320px
+}
+
+.mcsprite-diorite {
+ background-position: -736px -320px
+}
+
+.mcsprite-diorite_slab {
+ background-position: -768px -320px
+}
+
+.mcsprite-diorite_stairs {
+ background-position: -800px -320px
+}
+
+.mcsprite-diorite_wall {
+ background-position: -832px -320px
+}
+
+.mcsprite-dirt {
+ background-position: -864px -320px
+}
+
+.mcsprite-dirt_path {
+ background-position: -896px -320px
+}
+
+.mcsprite-dispenser {
+ background-position: -928px -320px
+}
+
+.mcsprite-dolphin_spawn_egg {
+ background-position: -960px -320px
+}
+
+.mcsprite-donkey_spawn_egg {
+ background-position: -992px -320px
+}
+
+.mcsprite-double_smooth_stone_slab {
+ background-position: -1024px -320px
+}
+
+.mcsprite-dragon_egg {
+ background-position: -1056px -320px
+}
+
+.mcsprite-dragon_head {
+ background-position: -1088px -320px
+}
+
+.mcsprite-dragons_breath {
+ background-position: -1120px -320px
+}
+
+.mcsprite-dried_kelp {
+ background-position: -1152px -320px
+}
+
+.mcsprite-dried_kelp_block {
+ background-position: -1184px -320px
+}
+
+.mcsprite-dripstone_block {
+ background-position: -1216px -320px
+}
+
+.mcsprite-dropper {
+ background-position: -1248px -320px
+}
+
+.mcsprite-drowned_spawn_egg {
+ background-position: 0 -352px
+}
+
+.mcsprite-egg {
+ background-position: -32px -352px
+}
+
+.mcsprite-elder_guardian_spawn_egg {
+ background-position: -64px -352px
+}
+
+.mcsprite-elytra {
+ background-position: -96px -352px
+}
+
+.mcsprite-emerald {
+ background-position: -128px -352px
+}
+
+.mcsprite-emerald_ore {
+ background-position: -160px -352px
+}
+
+.mcsprite-empty_locator_map {
+ background-position: -192px -352px
+}
+
+.mcsprite-empty_map {
+ background-position: -224px -352px
+}
+
+.mcsprite-enchanted_apple {
+ background-position: -256px -352px
+}
+
+.mcsprite-enchanted_book {
+ background-position: -288px -352px
+}
+
+.mcsprite-enchanted_golden_apple {
+ background-position: -320px -352px
+}
+
+.mcsprite-enchanting_table {
+ background-position: -352px -352px
+}
+
+.mcsprite-enchantment_table {
+ background-position: -384px -352px
+}
+
+.mcsprite-end_crystal {
+ background-position: -416px -352px
+}
+
+.mcsprite-end_gateway {
+ background-position: -448px -352px
+}
+
+.mcsprite-end_portal {
+ background-position: -480px -352px
+}
+
+.mcsprite-end_portal_frame {
+ background-position: -512px -352px
+}
+
+.mcsprite-end_rod {
+ background-position: -544px -352px
+}
+
+.mcsprite-end_stone {
+ background-position: -576px -352px
+}
+
+.mcsprite-end_stone_brick_slab {
+ background-position: -608px -352px
+}
+
+.mcsprite-end_stone_brick_stairs {
+ background-position: -640px -352px
+}
+
+.mcsprite-end_stone_brick_wall {
+ background-position: -672px -352px
+}
+
+.mcsprite-end_stone_bricks {
+ background-position: -704px -352px
+}
+
+.mcsprite-ender_chest {
+ background-position: -736px -352px
+}
+
+.mcsprite-ender_pearl {
+ background-position: -768px -352px
+}
+
+.mcsprite-enderman_spawn_egg {
+ background-position: -800px -352px
+}
+
+.mcsprite-endermite_spawn_egg {
+ background-position: -832px -352px
+}
+
+.mcsprite-evoker_spawn_egg {
+ background-position: -864px -352px
+}
+
+.mcsprite-exposed_copper {
+ background-position: -896px -352px
+}
+
+.mcsprite-exposed_copper_block {
+ background-position: -928px -352px
+}
+
+.mcsprite-exposed_cut_copper {
+ background-position: -960px -352px
+}
+
+.mcsprite-exposed_cut_copper_block {
+ background-position: -992px -352px
+}
+
+.mcsprite-exposed_cut_copper_slab {
+ background-position: -1024px -352px
+}
+
+.mcsprite-exposed_cut_copper_stairs {
+ background-position: -1056px -352px
+}
+
+.mcsprite-eye_of_ender {
+ background-position: -1088px -352px
+}
+
+.mcsprite-farmland {
+ background-position: -1120px -352px
+}
+
+.mcsprite-feather {
+ background-position: -1152px -352px
+}
+
+.mcsprite-fermented_spider_eye {
+ background-position: -1184px -352px
+}
+
+.mcsprite-fern {
+ background-position: -1216px -352px
+}
+
+.mcsprite-filled_bundle {
+ background-position: -1248px -352px
+}
+
+.mcsprite-fire_charge {
+ background-position: 0 -384px
+}
+
+.mcsprite-fire_coral {
+ background-position: -32px -384px
+}
+
+.mcsprite-fire_coral_block {
+ background-position: -64px -384px
+}
+
+.mcsprite-fire_coral_fan {
+ background-position: -96px -384px
+}
+
+.mcsprite-firework_loaded_crossbow {
+ background-position: -128px -384px
+}
+
+.mcsprite-firework_rocket {
+ background-position: -160px -384px
+}
+
+.mcsprite-firework_star {
+ background-position: -192px -384px
+}
+
+.mcsprite-fishing_rod {
+ background-position: -224px -384px
+}
+
+.mcsprite-fletching_table {
+ background-position: -256px -384px
+}
+
+.mcsprite-flint {
+ background-position: -288px -384px
+}
+
+.mcsprite-flint_and_steel {
+ background-position: -320px -384px
+}
+
+.mcsprite-flower_pot {
+ background-position: -352px -384px
+}
+
+.mcsprite-flowering_azalea {
+ background-position: -384px -384px
+}
+
+.mcsprite-flowering_azalea_leaves {
+ background-position: -416px -384px
+}
+
+.mcsprite-flowing_lava {
+ background-position: -448px -384px
+}
+
+.mcsprite-flowing_water {
+ background-position: -480px -384px
+}
+
+.mcsprite-fox_spawn_egg {
+ background-position: -512px -384px
+}
+
+.mcsprite-frosted_ice {
+ background-position: -544px -384px
+}
+
+.mcsprite-furnace {
+ background-position: -576px -384px
+}
+
+.mcsprite-ghast_spawn_egg {
+ background-position: -608px -384px
+}
+
+.mcsprite-ghast_tear {
+ background-position: -640px -384px
+}
+
+.mcsprite-gilded_blackstone {
+ background-position: -672px -384px
+}
+
+.mcsprite-glass {
+ background-position: -704px -384px
+}
+
+.mcsprite-glass_bottle {
+ background-position: -736px -384px
+}
+
+.mcsprite-glass_pane {
+ background-position: -768px -384px
+}
+
+.mcsprite-glistering_melon {
+ background-position: -800px -384px
+}
+
+.mcsprite-glistering_melon_slice {
+ background-position: -832px -384px
+}
+
+.mcsprite-glow_berries {
+ background-position: -864px -384px
+}
+
+.mcsprite-glow_ink_sac {
+ background-position: -896px -384px
+}
+
+.mcsprite-glow_item_frame {
+ background-position: -928px -384px
+}
+
+.mcsprite-glow_lichen {
+ background-position: -960px -384px
+}
+
+.mcsprite-glow_squid_spawn_egg {
+ background-position: -992px -384px
+}
+
+.mcsprite-glowstone {
+ background-position: -1024px -384px
+}
+
+.mcsprite-glowstone_dust {
+ background-position: -1056px -384px
+}
+
+.mcsprite-goat_horn {
+ background-position: -1088px -384px
+}
+
+.mcsprite-goat_spawn_egg {
+ background-position: -1120px -384px
+}
+
+.mcsprite-gold_ingot {
+ background-position: -1152px -384px
+}
+
+.mcsprite-gold_nugget {
+ background-position: -1184px -384px
+}
+
+.mcsprite-gold_ore {
+ background-position: -1216px -384px
+}
+
+.mcsprite-golden_apple {
+ background-position: -1248px -384px
+}
+
+.mcsprite-golden_axe {
+ background-position: 0 -416px
+}
+
+.mcsprite-golden_boots {
+ background-position: -32px -416px
+}
+
+.mcsprite-golden_carrot {
+ background-position: -64px -416px
+}
+
+.mcsprite-golden_chestplate {
+ background-position: -96px -416px
+}
+
+.mcsprite-golden_helmet {
+ background-position: -128px -416px
+}
+
+.mcsprite-golden_hoe {
+ background-position: -160px -416px
+}
+
+.mcsprite-golden_horse_armor {
+ background-position: -192px -416px
+}
+
+.mcsprite-golden_leggings {
+ background-position: -224px -416px
+}
+
+.mcsprite-golden_pickaxe {
+ background-position: -256px -416px
+}
+
+.mcsprite-golden_shovel {
+ background-position: -288px -416px
+}
+
+.mcsprite-golden_sword {
+ background-position: -320px -416px
+}
+
+.mcsprite-granite {
+ background-position: -352px -416px
+}
+
+.mcsprite-granite_slab {
+ background-position: -384px -416px
+}
+
+.mcsprite-granite_stairs {
+ background-position: -416px -416px
+}
+
+.mcsprite-granite_wall {
+ background-position: -448px -416px
+}
+
+.mcsprite-grass {
+ background-position: -480px -416px
+}
+
+.mcsprite-grass_block {
+ background-position: -512px -416px
+}
+
+.mcsprite-grass_path {
+ background-position: -544px -416px
+}
+
+.mcsprite-gravel {
+ background-position: -576px -416px
+}
+
+.mcsprite-gray_banner {
+ background-position: -608px -416px
+}
+
+.mcsprite-gray_bed {
+ background-position: -640px -416px
+}
+
+.mcsprite-gray_bed_lce {
+ background-position: -672px -416px
+}
+
+.mcsprite-gray_candle {
+ background-position: -704px -416px
+}
+
+.mcsprite-gray_carpet {
+ background-position: -736px -416px
+}
+
+.mcsprite-gray_concrete {
+ background-position: -768px -416px
+}
+
+.mcsprite-gray_concrete_powder {
+ background-position: -800px -416px
+}
+
+.mcsprite-gray_dye {
+ background-position: -832px -416px
+}
+
+.mcsprite-gray_firework_star {
+ background-position: -864px -416px
+}
+
+.mcsprite-gray_glazed_terracotta {
+ background-position: -896px -416px
+}
+
+.mcsprite-gray_shield {
+ background-position: -928px -416px
+}
+
+.mcsprite-gray_shulker_box {
+ background-position: -960px -416px
+}
+
+.mcsprite-gray_stained_glass {
+ background-position: -992px -416px
+}
+
+.mcsprite-gray_stained_glass_pane {
+ background-position: -1024px -416px
+}
+
+.mcsprite-gray_terracotta {
+ background-position: -1056px -416px
+}
+
+.mcsprite-gray_wool {
+ background-position: -1088px -416px
+}
+
+.mcsprite-green_banner {
+ background-position: -1120px -416px
+}
+
+.mcsprite-green_bed {
+ background-position: -1152px -416px
+}
+
+.mcsprite-green_bed_lce {
+ background-position: -1184px -416px
+}
+
+.mcsprite-green_candle {
+ background-position: -1216px -416px
+}
+
+.mcsprite-green_carpet {
+ background-position: -1248px -416px
+}
+
+.mcsprite-green_concrete {
+ background-position: 0 -448px
+}
+
+.mcsprite-green_concrete_powder {
+ background-position: -32px -448px
+}
+
+.mcsprite-green_dye {
+ background-position: -64px -448px
+}
+
+.mcsprite-green_firework_star {
+ background-position: -96px -448px
+}
+
+.mcsprite-green_glazed_terracotta {
+ background-position: -128px -448px
+}
+
+.mcsprite-green_shield {
+ background-position: -160px -448px
+}
+
+.mcsprite-green_shulker_box {
+ background-position: -192px -448px
+}
+
+.mcsprite-green_stained_glass {
+ background-position: -224px -448px
+}
+
+.mcsprite-green_stained_glass_pane {
+ background-position: -256px -448px
+}
+
+.mcsprite-green_terracotta {
+ background-position: -288px -448px
+}
+
+.mcsprite-green_wool {
+ background-position: -320px -448px
+}
+
+.mcsprite-grindstone {
+ background-position: -352px -448px
+}
+
+.mcsprite-guardian_spawn_egg {
+ background-position: -384px -448px
+}
+
+.mcsprite-gunpowder {
+ background-position: -416px -448px
+}
+
+.mcsprite-half_filled_bundle {
+ background-position: -448px -448px
+}
+
+.mcsprite-hanging_roots {
+ background-position: -480px -448px
+}
+
+.mcsprite-hay_bale {
+ background-position: -512px -448px
+}
+
+.mcsprite-head {
+ background-position: -544px -448px
+}
+
+.mcsprite-heart_of_the_sea {
+ background-position: -576px -448px
+}
+
+.mcsprite-heavy_weighted_pressure_plate {
+ background-position: -608px -448px
+}
+
+.mcsprite-hoglin_spawn_egg {
+ background-position: -640px -448px
+}
+
+.mcsprite-honey_block {
+ background-position: -672px -448px
+}
+
+.mcsprite-honey_bottle {
+ background-position: -704px -448px
+}
+
+.mcsprite-honeycomb {
+ background-position: -736px -448px
+}
+
+.mcsprite-honeycomb_block {
+ background-position: -768px -448px
+}
+
+.mcsprite-hopper {
+ background-position: -800px -448px
+}
+
+.mcsprite-horn_coral {
+ background-position: -832px -448px
+}
+
+.mcsprite-horn_coral_block {
+ background-position: -864px -448px
+}
+
+.mcsprite-horn_coral_fan {
+ background-position: -896px -448px
+}
+
+.mcsprite-horse_spawn_egg {
+ background-position: -928px -448px
+}
+
+.mcsprite-husk_spawn_egg {
+ background-position: -960px -448px
+}
+
+.mcsprite-ice {
+ background-position: -992px -448px
+}
+
+.mcsprite-infested_chiseled_stone_bricks {
+ background-position: -1024px -448px
+}
+
+.mcsprite-infested_cobblestone {
+ background-position: -1056px -448px
+}
+
+.mcsprite-infested_cracked_stone_bricks {
+ background-position: -1088px -448px
+}
+
+.mcsprite-infested_deepslate {
+ background-position: -1120px -448px
+}
+
+.mcsprite-infested_mossy_stone_bricks {
+ background-position: -1152px -448px
+}
+
+.mcsprite-infested_stone {
+ background-position: -1184px -448px
+}
+
+.mcsprite-infested_stone_bricks {
+ background-position: -1216px -448px
+}
+
+.mcsprite-ink_sac {
+ background-position: -1248px -448px
+}
+
+.mcsprite-inverted_daylight_detector {
+ background-position: 0 -480px
+}
+
+.mcsprite-inverted_daylight_sensor {
+ background-position: -32px -480px
+}
+
+.mcsprite-invisible_bedrock {
+ background-position: -64px -480px
+}
+
+.mcsprite-iron_axe {
+ background-position: -96px -480px
+}
+
+.mcsprite-iron_bars {
+ background-position: -128px -480px
+}
+
+.mcsprite-iron_boots {
+ background-position: -160px -480px
+}
+
+.mcsprite-iron_chestplate {
+ background-position: -192px -480px
+}
+
+.mcsprite-iron_door {
+ background-position: -224px -480px
+}
+
+.mcsprite-iron_helmet {
+ background-position: -256px -480px
+}
+
+.mcsprite-iron_hoe {
+ background-position: -288px -480px
+}
+
+.mcsprite-iron_horse_armor {
+ background-position: -320px -480px
+}
+
+.mcsprite-iron_ingot {
+ background-position: -352px -480px
+}
+
+.mcsprite-iron_leggings {
+ background-position: -384px -480px
+}
+
+.mcsprite-iron_nugget {
+ background-position: -416px -480px
+}
+
+.mcsprite-iron_ore {
+ background-position: -448px -480px
+}
+
+.mcsprite-iron_pickaxe {
+ background-position: -480px -480px
+}
+
+.mcsprite-iron_shovel {
+ background-position: -512px -480px
+}
+
+.mcsprite-iron_sword {
+ background-position: -544px -480px
+}
+
+.mcsprite-iron_trapdoor {
+ background-position: -576px -480px
+}
+
+.mcsprite-item_frame {
+ background-position: -608px -480px
+}
+
+.mcsprite-jack_olantern {
+ background-position: -640px -480px
+}
+
+.mcsprite-jigsaw {
+ background-position: -672px -480px
+}
+
+.mcsprite-jigsaw_block {
+ background-position: -704px -480px
+}
+
+.mcsprite-jukebox {
+ background-position: -736px -480px
+}
+
+.mcsprite-jungle_boat {
+ background-position: -768px -480px
+}
+
+.mcsprite-jungle_button {
+ background-position: -800px -480px
+}
+
+.mcsprite-jungle_door {
+ background-position: -832px -480px
+}
+
+.mcsprite-jungle_fence {
+ background-position: -864px -480px
+}
+
+.mcsprite-jungle_fence_gate {
+ background-position: -896px -480px
+}
+
+.mcsprite-jungle_leaves {
+ background-position: -928px -480px
+}
+
+.mcsprite-jungle_log {
+ background-position: -960px -480px
+}
+
+.mcsprite-jungle_planks {
+ background-position: -992px -480px
+}
+
+.mcsprite-jungle_pressure_plate {
+ background-position: -1024px -480px
+}
+
+.mcsprite-jungle_sapling {
+ background-position: -1056px -480px
+}
+
+.mcsprite-jungle_sign {
+ background-position: -1088px -480px
+}
+
+.mcsprite-jungle_slab {
+ background-position: -1120px -480px
+}
+
+.mcsprite-jungle_stairs {
+ background-position: -1152px -480px
+}
+
+.mcsprite-jungle_trapdoor {
+ background-position: -1184px -480px
+}
+
+.mcsprite-jungle_wood {
+ background-position: -1216px -480px
+}
+
+.mcsprite-jungle_wood_button {
+ background-position: -1248px -480px
+}
+
+.mcsprite-jungle_wood_door {
+ background-position: 0 -512px
+}
+
+.mcsprite-jungle_wood_fence {
+ background-position: -32px -512px
+}
+
+.mcsprite-jungle_wood_fence_gate {
+ background-position: -64px -512px
+}
+
+.mcsprite-jungle_wood_planks {
+ background-position: -96px -512px
+}
+
+.mcsprite-jungle_wood_pressure_plate {
+ background-position: -128px -512px
+}
+
+.mcsprite-jungle_wood_sign {
+ background-position: -160px -512px
+}
+
+.mcsprite-jungle_wood_slab {
+ background-position: -192px -512px
+}
+
+.mcsprite-jungle_wood_stairs {
+ background-position: -224px -512px
+}
+
+.mcsprite-jungle_wood_trapdoor {
+ background-position: -256px -512px
+}
+
+.mcsprite-kelp {
+ background-position: -288px -512px
+}
+
+.mcsprite-knowledge_book {
+ background-position: -320px -512px
+}
+
+.mcsprite-ladder {
+ background-position: -352px -512px
+}
+
+.mcsprite-lantern {
+ background-position: -384px -512px
+}
+
+.mcsprite-lapis_lazuli {
+ background-position: -416px -512px
+}
+
+.mcsprite-lapis_lazuli_block {
+ background-position: -448px -512px
+}
+
+.mcsprite-lapis_lazuli_ore {
+ background-position: -480px -512px
+}
+
+.mcsprite-large_amethyst_bud {
+ background-position: -512px -512px
+}
+
+.mcsprite-large_fern {
+ background-position: -544px -512px
+}
+
+.mcsprite-lava {
+ background-position: -576px -512px
+}
+
+.mcsprite-lava_bucket {
+ background-position: -608px -512px
+}
+
+.mcsprite-lead {
+ background-position: -640px -512px
+}
+
+.mcsprite-leather {
+ background-position: -672px -512px
+}
+
+.mcsprite-leather_boots {
+ background-position: -704px -512px
+}
+
+.mcsprite-leather_boots_black {
+ background-position: -736px -512px
+}
+
+.mcsprite-leather_boots_blue {
+ background-position: -768px -512px
+}
+
+.mcsprite-leather_boots_cyan {
+ background-position: -800px -512px
+}
+
+.mcsprite-leather_boots_gray {
+ background-position: -832px -512px
+}
+
+.mcsprite-leather_boots_green {
+ background-position: -864px -512px
+}
+
+.mcsprite-leather_boots_light_blue {
+ background-position: -896px -512px
+}
+
+.mcsprite-leather_boots_light_gray {
+ background-position: -928px -512px
+}
+
+.mcsprite-leather_boots_lime {
+ background-position: -960px -512px
+}
+
+.mcsprite-leather_boots_magenta {
+ background-position: -992px -512px
+}
+
+.mcsprite-leather_boots_orange {
+ background-position: -1024px -512px
+}
+
+.mcsprite-leather_boots_pink {
+ background-position: -1056px -512px
+}
+
+.mcsprite-leather_boots_purple {
+ background-position: -1088px -512px
+}
+
+.mcsprite-leather_boots_red {
+ background-position: -1120px -512px
+}
+
+.mcsprite-leather_boots_white {
+ background-position: -1152px -512px
+}
+
+.mcsprite-leather_boots_yellow {
+ background-position: -1184px -512px
+}
+
+.mcsprite-leather_cap {
+ background-position: -1216px -512px
+}
+
+.mcsprite-leather_cap_black {
+ background-position: -1248px -512px
+}
+
+.mcsprite-leather_cap_blue {
+ background-position: 0 -544px
+}
+
+.mcsprite-leather_cap_cyan {
+ background-position: -32px -544px
+}
+
+.mcsprite-leather_cap_gray {
+ background-position: -64px -544px
+}
+
+.mcsprite-leather_cap_green {
+ background-position: -96px -544px
+}
+
+.mcsprite-leather_cap_light_blue {
+ background-position: -128px -544px
+}
+
+.mcsprite-leather_cap_light_gray {
+ background-position: -160px -544px
+}
+
+.mcsprite-leather_cap_lime {
+ background-position: -192px -544px
+}
+
+.mcsprite-leather_cap_magenta {
+ background-position: -224px -544px
+}
+
+.mcsprite-leather_cap_orange {
+ background-position: -256px -544px
+}
+
+.mcsprite-leather_cap_pink {
+ background-position: -288px -544px
+}
+
+.mcsprite-leather_cap_purple {
+ background-position: -320px -544px
+}
+
+.mcsprite-leather_cap_red {
+ background-position: -352px -544px
+}
+
+.mcsprite-leather_cap_white {
+ background-position: -384px -544px
+}
+
+.mcsprite-leather_cap_yellow {
+ background-position: -416px -544px
+}
+
+.mcsprite-leather_horse_armor {
+ background-position: -448px -544px
+}
+
+.mcsprite-leather_pants {
+ background-position: -480px -544px
+}
+
+.mcsprite-leather_pants_black {
+ background-position: -512px -544px
+}
+
+.mcsprite-leather_pants_blue {
+ background-position: -544px -544px
+}
+
+.mcsprite-leather_pants_cyan {
+ background-position: -576px -544px
+}
+
+.mcsprite-leather_pants_gray {
+ background-position: -608px -544px
+}
+
+.mcsprite-leather_pants_green {
+ background-position: -640px -544px
+}
+
+.mcsprite-leather_pants_light_blue {
+ background-position: -672px -544px
+}
+
+.mcsprite-leather_pants_light_gray {
+ background-position: -704px -544px
+}
+
+.mcsprite-leather_pants_lime {
+ background-position: -736px -544px
+}
+
+.mcsprite-leather_pants_magenta {
+ background-position: -768px -544px
+}
+
+.mcsprite-leather_pants_orange {
+ background-position: -800px -544px
+}
+
+.mcsprite-leather_pants_pink {
+ background-position: -832px -544px
+}
+
+.mcsprite-leather_pants_purple {
+ background-position: -864px -544px
+}
+
+.mcsprite-leather_pants_red {
+ background-position: -896px -544px
+}
+
+.mcsprite-leather_pants_white {
+ background-position: -928px -544px
+}
+
+.mcsprite-leather_pants_yellow {
+ background-position: -960px -544px
+}
+
+.mcsprite-leather_tunic {
+ background-position: -992px -544px
+}
+
+.mcsprite-leather_tunic_black {
+ background-position: -1024px -544px
+}
+
+.mcsprite-leather_tunic_blue {
+ background-position: -1056px -544px
+}
+
+.mcsprite-leather_tunic_cyan {
+ background-position: -1088px -544px
+}
+
+.mcsprite-leather_tunic_gray {
+ background-position: -1120px -544px
+}
+
+.mcsprite-leather_tunic_green {
+ background-position: -1152px -544px
+}
+
+.mcsprite-leather_tunic_light_blue {
+ background-position: -1184px -544px
+}
+
+.mcsprite-leather_tunic_light_gray {
+ background-position: -1216px -544px
+}
+
+.mcsprite-leather_tunic_lime {
+ background-position: -1248px -544px
+}
+
+.mcsprite-leather_tunic_magenta {
+ background-position: 0 -576px
+}
+
+.mcsprite-leather_tunic_orange {
+ background-position: -32px -576px
+}
+
+.mcsprite-leather_tunic_pink {
+ background-position: -64px -576px
+}
+
+.mcsprite-leather_tunic_purple {
+ background-position: -96px -576px
+}
+
+.mcsprite-leather_tunic_red {
+ background-position: -128px -576px
+}
+
+.mcsprite-leather_tunic_white {
+ background-position: -160px -576px
+}
+
+.mcsprite-leather_tunic_yellow {
+ background-position: -192px -576px
+}
+
+.mcsprite-lectern {
+ background-position: -224px -576px
+}
+
+.mcsprite-lever {
+ background-position: -256px -576px
+}
+
+.mcsprite-light_blue_banner {
+ background-position: -288px -576px
+}
+
+.mcsprite-light_blue_bed {
+ background-position: -320px -576px
+}
+
+.mcsprite-light_blue_bed_lce {
+ background-position: -352px -576px
+}
+
+.mcsprite-light_blue_candle {
+ background-position: -384px -576px
+}
+
+.mcsprite-light_blue_carpet {
+ background-position: -416px -576px
+}
+
+.mcsprite-light_blue_concrete {
+ background-position: -448px -576px
+}
+
+.mcsprite-light_blue_concrete_powder {
+ background-position: -480px -576px
+}
+
+.mcsprite-light_blue_dye {
+ background-position: -512px -576px
+}
+
+.mcsprite-light_blue_firework_star {
+ background-position: -544px -576px
+}
+
+.mcsprite-light_blue_glazed_terracotta {
+ background-position: -576px -576px
+}
+
+.mcsprite-light_blue_shield {
+ background-position: -608px -576px
+}
+
+.mcsprite-light_blue_shulker_box {
+ background-position: -640px -576px
+}
+
+.mcsprite-light_blue_stained_glass {
+ background-position: -672px -576px
+}
+
+.mcsprite-light_blue_stained_glass_pane {
+ background-position: -704px -576px
+}
+
+.mcsprite-light_blue_terracotta {
+ background-position: -736px -576px
+}
+
+.mcsprite-light_blue_wool {
+ background-position: -768px -576px
+}
+
+.mcsprite-light_gray_banner {
+ background-position: -800px -576px
+}
+
+.mcsprite-light_gray_bed {
+ background-position: -832px -576px
+}
+
+.mcsprite-light_gray_bed_lce {
+ background-position: -864px -576px
+}
+
+.mcsprite-light_gray_candle {
+ background-position: -896px -576px
+}
+
+.mcsprite-light_gray_carpet {
+ background-position: -928px -576px
+}
+
+.mcsprite-light_gray_concrete {
+ background-position: -960px -576px
+}
+
+.mcsprite-light_gray_concrete_powder {
+ background-position: -992px -576px
+}
+
+.mcsprite-light_gray_dye {
+ background-position: -1024px -576px
+}
+
+.mcsprite-light_gray_firework_star {
+ background-position: -1056px -576px
+}
+
+.mcsprite-light_gray_glazed_terracotta {
+ background-position: -1088px -576px
+}
+
+.mcsprite-light_gray_shield {
+ background-position: -1120px -576px
+}
+
+.mcsprite-light_gray_shulker_box {
+ background-position: -1152px -576px
+}
+
+.mcsprite-light_gray_stained_glass {
+ background-position: -1184px -576px
+}
+
+.mcsprite-light_gray_stained_glass_pane {
+ background-position: -1216px -576px
+}
+
+.mcsprite-light_gray_terracotta {
+ background-position: -1248px -576px
+}
+
+.mcsprite-light_gray_wool {
+ background-position: 0 -608px
+}
+
+.mcsprite-light_negative {
+ background-position: -32px -608px
+}
+
+.mcsprite-light_weighted_pressure_plate {
+ background-position: -64px -608px
+}
+
+.mcsprite-lightning_rod {
+ background-position: -96px -608px
+}
+
+.mcsprite-lilac {
+ background-position: -128px -608px
+}
+
+.mcsprite-lily_of_the_valley {
+ background-position: -160px -608px
+}
+
+.mcsprite-lily_pad {
+ background-position: -192px -608px
+}
+
+.mcsprite-lime_banner {
+ background-position: -224px -608px
+}
+
+.mcsprite-lime_bed {
+ background-position: -256px -608px
+}
+
+.mcsprite-lime_bed_lce {
+ background-position: -288px -608px
+}
+
+.mcsprite-lime_candle {
+ background-position: -320px -608px
+}
+
+.mcsprite-lime_carpet {
+ background-position: -352px -608px
+}
+
+.mcsprite-lime_concrete {
+ background-position: -384px -608px
+}
+
+.mcsprite-lime_concrete_powder {
+ background-position: -416px -608px
+}
+
+.mcsprite-lime_dye {
+ background-position: -448px -608px
+}
+
+.mcsprite-lime_firework_star {
+ background-position: -480px -608px
+}
+
+.mcsprite-lime_glazed_terracotta {
+ background-position: -512px -608px
+}
+
+.mcsprite-lime_shield {
+ background-position: -544px -608px
+}
+
+.mcsprite-lime_shulker_box {
+ background-position: -576px -608px
+}
+
+.mcsprite-lime_stained_glass {
+ background-position: -608px -608px
+}
+
+.mcsprite-lime_stained_glass_pane {
+ background-position: -640px -608px
+}
+
+.mcsprite-lime_terracotta {
+ background-position: -672px -608px
+}
+
+.mcsprite-lime_wool {
+ background-position: -704px -608px
+}
+
+.mcsprite-lingering_potion_of_decay {
+ background-position: -736px -608px
+}
+
+.mcsprite-lingering_potion_of_fire_resistance {
+ background-position: -768px -608px
+}
+
+.mcsprite-lingering_potion_of_harming {
+ background-position: -800px -608px
+}
+
+.mcsprite-lingering_potion_of_healing {
+ background-position: -832px -608px
+}
+
+.mcsprite-lingering_potion_of_invisibility {
+ background-position: -864px -608px
+}
+
+.mcsprite-lingering_potion_of_leaping {
+ background-position: -896px -608px
+}
+
+.mcsprite-lingering_potion_of_levitation {
+ background-position: -928px -608px
+}
+
+.mcsprite-lingering_potion_of_luck {
+ background-position: -960px -608px
+}
+
+.mcsprite-lingering_potion_of_night_vision {
+ background-position: -992px -608px
+}
+
+.mcsprite-lingering_potion_of_poison {
+ background-position: -1024px -608px
+}
+
+.mcsprite-lingering_potion_of_regeneration {
+ background-position: -1056px -608px
+}
+
+.mcsprite-lingering_potion_of_slow_falling {
+ background-position: -1088px -608px
+}
+
+.mcsprite-lingering_potion_of_slowness {
+ background-position: -1120px -608px
+}
+
+.mcsprite-lingering_potion_of_strength {
+ background-position: -1152px -608px
+}
+
+.mcsprite-lingering_potion_of_swiftness {
+ background-position: -1184px -608px
+}
+
+.mcsprite-lingering_potion_of_the_turtle_master {
+ background-position: -1216px -608px
+}
+
+.mcsprite-lingering_potion_of_water_breathing {
+ background-position: -1248px -608px
+}
+
+.mcsprite-lingering_potion_of_weakness {
+ background-position: 0 -640px
+}
+
+.mcsprite-lingering_water_bottle {
+ background-position: -32px -640px
+}
+
+.mcsprite-llama_spawn_egg {
+ background-position: -64px -640px
+}
+
+.mcsprite-locked_map {
+ background-position: -96px -640px
+}
+
+.mcsprite-lodestone {
+ background-position: -128px -640px
+}
+
+.mcsprite-loom {
+ background-position: -160px -640px
+}
+
+.mcsprite-magenta_banner {
+ background-position: -192px -640px
+}
+
+.mcsprite-magenta_bed {
+ background-position: -224px -640px
+}
+
+.mcsprite-magenta_bed_lce {
+ background-position: -256px -640px
+}
+
+.mcsprite-magenta_candle {
+ background-position: -288px -640px
+}
+
+.mcsprite-magenta_carpet {
+ background-position: -320px -640px
+}
+
+.mcsprite-magenta_concrete {
+ background-position: -352px -640px
+}
+
+.mcsprite-magenta_concrete_powder {
+ background-position: -384px -640px
+}
+
+.mcsprite-magenta_dye {
+ background-position: -416px -640px
+}
+
+.mcsprite-magenta_firework_star {
+ background-position: -448px -640px
+}
+
+.mcsprite-magenta_glazed_terracotta {
+ background-position: -480px -640px
+}
+
+.mcsprite-magenta_shield {
+ background-position: -512px -640px
+}
+
+.mcsprite-magenta_shulker_box {
+ background-position: -544px -640px
+}
+
+.mcsprite-magenta_stained_glass {
+ background-position: -576px -640px
+}
+
+.mcsprite-magenta_stained_glass_pane {
+ background-position: -608px -640px
+}
+
+.mcsprite-magenta_terracotta {
+ background-position: -640px -640px
+}
+
+.mcsprite-magenta_wool {
+ background-position: -672px -640px
+}
+
+.mcsprite-magma_cream {
+ background-position: -704px -640px
+}
+
+.mcsprite-magma_cube_spawn_egg {
+ background-position: -736px -640px
+}
+
+.mcsprite-map {
+ background-position: -768px -640px
+}
+
+.mcsprite-medium_amethyst_bud {
+ background-position: -800px -640px
+}
+
+.mcsprite-melon {
+ background-position: -832px -640px
+}
+
+.mcsprite-melon_seeds {
+ background-position: -864px -640px
+}
+
+.mcsprite-melon_slice {
+ background-position: -896px -640px
+}
+
+.mcsprite-mhf_alex {
+ background-position: -928px -640px
+}
+
+.mcsprite-mhf_arrowdown {
+ background-position: -960px -640px
+}
+
+.mcsprite-mhf_arrowleft {
+ background-position: -992px -640px
+}
+
+.mcsprite-mhf_arrowright {
+ background-position: -1024px -640px
+}
+
+.mcsprite-mhf_arrowup {
+ background-position: -1056px -640px
+}
+
+.mcsprite-mhf_blaze {
+ background-position: -1088px -640px
+}
+
+.mcsprite-mhf_cactus {
+ background-position: -1120px -640px
+}
+
+.mcsprite-mhf_cake {
+ background-position: -1152px -640px
+}
+
+.mcsprite-mhf_cavespider {
+ background-position: -1184px -640px
+}
+
+.mcsprite-mhf_chest {
+ background-position: -1216px -640px
+}
+
+.mcsprite-mhf_chicken {
+ background-position: -1248px -640px
+}
+
+.mcsprite-mhf_coconutb {
+ background-position: 0 -672px
+}
+
+.mcsprite-mhf_coconutg {
+ background-position: -32px -672px
+}
+
+.mcsprite-mhf_cow {
+ background-position: -64px -672px
+}
+
+.mcsprite-mhf_creeper {
+ background-position: -96px -672px
+}
+
+.mcsprite-mhf_enderman {
+ background-position: -128px -672px
+}
+
+.mcsprite-mhf_exclamation {
+ background-position: -160px -672px
+}
+
+.mcsprite-mhf_ghast {
+ background-position: -192px -672px
+}
+
+.mcsprite-mhf_golem {
+ background-position: -224px -672px
+}
+
+.mcsprite-mhf_herobrine {
+ background-position: -256px -672px
+}
+
+.mcsprite-mhf_lavaslime {
+ background-position: -288px -672px
+}
+
+.mcsprite-mhf_melon {
+ background-position: -320px -672px
+}
+
+.mcsprite-mhf_mushroomcow {
+ background-position: -352px -672px
+}
+
+.mcsprite-mhf_oaklog {
+ background-position: -384px -672px
+}
+
+.mcsprite-mhf_ocelot {
+ background-position: -416px -672px
+}
+
+.mcsprite-mhf_pig {
+ background-position: -448px -672px
+}
+
+.mcsprite-mhf_pigzombie {
+ background-position: -480px -672px
+}
+
+.mcsprite-mhf_present1 {
+ background-position: -512px -672px
+}
+
+.mcsprite-mhf_present2 {
+ background-position: -544px -672px
+}
+
+.mcsprite-mhf_pumpkin {
+ background-position: -576px -672px
+}
+
+.mcsprite-mhf_question {
+ background-position: -608px -672px
+}
+
+.mcsprite-mhf_sheep {
+ background-position: -640px -672px
+}
+
+.mcsprite-mhf_skeleton {
+ background-position: -672px -672px
+}
+
+.mcsprite-mhf_slime {
+ background-position: -704px -672px
+}
+
+.mcsprite-mhf_spider {
+ background-position: -736px -672px
+}
+
+.mcsprite-mhf_squid {
+ background-position: -768px -672px
+}
+
+.mcsprite-mhf_steve {
+ background-position: -800px -672px
+}
+
+.mcsprite-mhf_tnt {
+ background-position: -832px -672px
+}
+
+.mcsprite-mhf_tnt2 {
+ background-position: -864px -672px
+}
+
+.mcsprite-mhf_villager {
+ background-position: -896px -672px
+}
+
+.mcsprite-mhf_wskeleton {
+ background-position: -928px -672px
+}
+
+.mcsprite-mhf_zombie {
+ background-position: -960px -672px
+}
+
+.mcsprite-milk_bucket {
+ background-position: -992px -672px
+}
+
+.mcsprite-minecart {
+ background-position: -1024px -672px
+}
+
+.mcsprite-minecart_with_chest {
+ background-position: -1056px -672px
+}
+
+.mcsprite-minecart_with_command_block {
+ background-position: -1088px -672px
+}
+
+.mcsprite-minecart_with_furnace {
+ background-position: -1120px -672px
+}
+
+.mcsprite-minecart_with_hopper {
+ background-position: -1152px -672px
+}
+
+.mcsprite-minecart_with_tnt {
+ background-position: -1184px -672px
+}
+
+.mcsprite-monster_spawner {
+ background-position: -1216px -672px
+}
+
+.mcsprite-mooshroom_spawn_egg {
+ background-position: -1248px -672px
+}
+
+.mcsprite-moss_block {
+ background-position: 0 -704px
+}
+
+.mcsprite-moss_carpet {
+ background-position: -32px -704px
+}
+
+.mcsprite-moss_stone {
+ background-position: -64px -704px
+}
+
+.mcsprite-mossy_cobblestone {
+ background-position: -96px -704px
+}
+
+.mcsprite-mossy_cobblestone_slab {
+ background-position: -128px -704px
+}
+
+.mcsprite-mossy_cobblestone_stairs {
+ background-position: -160px -704px
+}
+
+.mcsprite-mossy_cobblestone_wall {
+ background-position: -192px -704px
+}
+
+.mcsprite-mossy_stone_brick_slab {
+ background-position: -224px -704px
+}
+
+.mcsprite-mossy_stone_brick_stairs {
+ background-position: -256px -704px
+}
+
+.mcsprite-mossy_stone_brick_wall {
+ background-position: -288px -704px
+}
+
+.mcsprite-mossy_stone_bricks {
+ background-position: -320px -704px
+}
+
+.mcsprite-mossy_stone_bricks_monster_egg {
+ background-position: -352px -704px
+}
+
+.mcsprite-mule_spawn_egg {
+ background-position: -384px -704px
+}
+
+.mcsprite-mundane_lingering_potion {
+ background-position: -416px -704px
+}
+
+.mcsprite-mundane_potion {
+ background-position: -448px -704px
+}
+
+.mcsprite-mundane_splash_potion {
+ background-position: -480px -704px
+}
+
+.mcsprite-mushroom_stem {
+ background-position: -512px -704px
+}
+
+.mcsprite-mushroom_stew {
+ background-position: -544px -704px
+}
+
+.mcsprite-music_disc_11 {
+ background-position: -576px -704px
+}
+
+.mcsprite-music_disc_13 {
+ background-position: -608px -704px
+}
+
+.mcsprite-music_disc_blocks {
+ background-position: -640px -704px
+}
+
+.mcsprite-music_disc_cat {
+ background-position: -672px -704px
+}
+
+.mcsprite-music_disc_chirp {
+ background-position: -704px -704px
+}
+
+.mcsprite-music_disc_far {
+ background-position: -736px -704px
+}
+
+.mcsprite-music_disc_mall {
+ background-position: -768px -704px
+}
+
+.mcsprite-music_disc_mellohi {
+ background-position: -800px -704px
+}
+
+.mcsprite-music_disc_pigstep {
+ background-position: -832px -704px
+}
+
+.mcsprite-music_disc_stal {
+ background-position: -864px -704px
+}
+
+.mcsprite-music_disc_strad {
+ background-position: -896px -704px
+}
+
+.mcsprite-music_disc_wait {
+ background-position: -928px -704px
+}
+
+.mcsprite-music_disc_ward {
+ background-position: -960px -704px
+}
+
+.mcsprite-mycelium {
+ background-position: -992px -704px
+}
+
+.mcsprite-name_tag {
+ background-position: -1024px -704px
+}
+
+.mcsprite-nautilus_shell {
+ background-position: -1056px -704px
+}
+
+.mcsprite-nether_brick {
+ background-position: -1088px -704px
+}
+
+.mcsprite-nether_brick_block {
+ background-position: -1120px -704px
+}
+
+.mcsprite-nether_brick_fence {
+ background-position: -1152px -704px
+}
+
+.mcsprite-nether_brick_slab {
+ background-position: -1184px -704px
+}
+
+.mcsprite-nether_brick_stairs {
+ background-position: -1216px -704px
+}
+
+.mcsprite-nether_brick_wall {
+ background-position: -1248px -704px
+}
+
+.mcsprite-nether_bricks {
+ background-position: 0 -736px
+}
+
+.mcsprite-nether_gold_ore {
+ background-position: -32px -736px
+}
+
+.mcsprite-nether_quartz {
+ background-position: -64px -736px
+}
+
+.mcsprite-nether_quartz_ore {
+ background-position: -96px -736px
+}
+
+.mcsprite-nether_sprouts {
+ background-position: -128px -736px
+}
+
+.mcsprite-nether_sprouts_old {
+ background-position: -160px -736px
+}
+
+.mcsprite-nether_star {
+ background-position: -192px -736px
+}
+
+.mcsprite-nether_wart {
+ background-position: -224px -736px
+}
+
+.mcsprite-nether_wart_block {
+ background-position: -256px -736px
+}
+
+.mcsprite-netherite_axe {
+ background-position: -288px -736px
+}
+
+.mcsprite-netherite_boots {
+ background-position: -320px -736px
+}
+
+.mcsprite-netherite_chestplate {
+ background-position: -352px -736px
+}
+
+.mcsprite-netherite_helmet {
+ background-position: -384px -736px
+}
+
+.mcsprite-netherite_hoe {
+ background-position: -416px -736px
+}
+
+.mcsprite-netherite_ingot {
+ background-position: -448px -736px
+}
+
+.mcsprite-netherite_leggings {
+ background-position: -480px -736px
+}
+
+.mcsprite-netherite_pickaxe {
+ background-position: -512px -736px
+}
+
+.mcsprite-netherite_scrap {
+ background-position: -544px -736px
+}
+
+.mcsprite-netherite_shovel {
+ background-position: -576px -736px
+}
+
+.mcsprite-netherite_sword {
+ background-position: -608px -736px
+}
+
+.mcsprite-netherrack {
+ background-position: -640px -736px
+}
+
+.mcsprite-note_block {
+ background-position: -672px -736px
+}
+
+.mcsprite-oak_boat {
+ background-position: -704px -736px
+}
+
+.mcsprite-oak_button {
+ background-position: -736px -736px
+}
+
+.mcsprite-oak_door {
+ background-position: -768px -736px
+}
+
+.mcsprite-oak_fence {
+ background-position: -800px -736px
+}
+
+.mcsprite-oak_fence_gate {
+ background-position: -832px -736px
+}
+
+.mcsprite-oak_leaves {
+ background-position: -864px -736px
+}
+
+.mcsprite-oak_log {
+ background-position: -896px -736px
+}
+
+.mcsprite-oak_planks {
+ background-position: -928px -736px
+}
+
+.mcsprite-oak_pressure_plate {
+ background-position: -960px -736px
+}
+
+.mcsprite-oak_sapling {
+ background-position: -992px -736px
+}
+
+.mcsprite-oak_sign {
+ background-position: -1024px -736px
+}
+
+.mcsprite-oak_slab {
+ background-position: -1056px -736px
+}
+
+.mcsprite-oak_stairs {
+ background-position: -1088px -736px
+}
+
+.mcsprite-oak_trapdoor {
+ background-position: -1120px -736px
+}
+
+.mcsprite-oak_wood {
+ background-position: -1152px -736px
+}
+
+.mcsprite-oak_wood_button {
+ background-position: -1184px -736px
+}
+
+.mcsprite-oak_wood_door {
+ background-position: -1216px -736px
+}
+
+.mcsprite-oak_wood_fence {
+ background-position: -1248px -736px
+}
+
+.mcsprite-oak_wood_fence_gate {
+ background-position: 0 -768px
+}
+
+.mcsprite-oak_wood_planks {
+ background-position: -32px -768px
+}
+
+.mcsprite-oak_wood_pressure_plate {
+ background-position: -64px -768px
+}
+
+.mcsprite-oak_wood_sign {
+ background-position: -96px -768px
+}
+
+.mcsprite-oak_wood_slab {
+ background-position: -128px -768px
+}
+
+.mcsprite-oak_wood_stairs {
+ background-position: -160px -768px
+}
+
+.mcsprite-oak_wood_trapdoor {
+ background-position: -192px -768px
+}
+
+.mcsprite-observer {
+ background-position: -224px -768px
+}
+
+.mcsprite-obsidian {
+ background-position: -256px -768px
+}
+
+.mcsprite-ocean_explorer_map {
+ background-position: -288px -768px
+}
+
+.mcsprite-ocelot_spawn_egg {
+ background-position: -320px -768px
+}
+
+.mcsprite-ominous_shield {
+ background-position: -352px -768px
+}
+
+.mcsprite-orange_banner {
+ background-position: -384px -768px
+}
+
+.mcsprite-orange_bed {
+ background-position: -416px -768px
+}
+
+.mcsprite-orange_bed_lce {
+ background-position: -448px -768px
+}
+
+.mcsprite-orange_candle {
+ background-position: -480px -768px
+}
+
+.mcsprite-orange_carpet {
+ background-position: -512px -768px
+}
+
+.mcsprite-orange_concrete {
+ background-position: -544px -768px
+}
+
+.mcsprite-orange_concrete_powder {
+ background-position: -576px -768px
+}
+
+.mcsprite-orange_dye {
+ background-position: -608px -768px
+}
+
+.mcsprite-orange_firework_star {
+ background-position: -640px -768px
+}
+
+.mcsprite-orange_glazed_terracotta {
+ background-position: -672px -768px
+}
+
+.mcsprite-orange_shield {
+ background-position: -704px -768px
+}
+
+.mcsprite-orange_shulker_box {
+ background-position: -736px -768px
+}
+
+.mcsprite-orange_stained_glass {
+ background-position: -768px -768px
+}
+
+.mcsprite-orange_stained_glass_pane {
+ background-position: -800px -768px
+}
+
+.mcsprite-orange_terracotta {
+ background-position: -832px -768px
+}
+
+.mcsprite-orange_tulip {
+ background-position: -864px -768px
+}
+
+.mcsprite-orange_wool {
+ background-position: -896px -768px
+}
+
+.mcsprite-oxeye_daisy {
+ background-position: -928px -768px
+}
+
+.mcsprite-oxidized_copper {
+ background-position: -960px -768px
+}
+
+.mcsprite-oxidized_copper_block {
+ background-position: -992px -768px
+}
+
+.mcsprite-oxidized_cut_copper {
+ background-position: -1024px -768px
+}
+
+.mcsprite-oxidized_cut_copper_block {
+ background-position: -1056px -768px
+}
+
+.mcsprite-oxidized_cut_copper_slab {
+ background-position: -1088px -768px
+}
+
+.mcsprite-oxidized_cut_copper_stairs {
+ background-position: -1120px -768px
+}
+
+.mcsprite-packed_ice {
+ background-position: -1152px -768px
+}
+
+.mcsprite-painting {
+ background-position: -1184px -768px
+}
+
+.mcsprite-panda_spawn_egg {
+ background-position: -1216px -768px
+}
+
+.mcsprite-paper {
+ background-position: -1248px -768px
+}
+
+.mcsprite-parrot_spawn_egg {
+ background-position: 0 -800px
+}
+
+.mcsprite-peony {
+ background-position: -32px -800px
+}
+
+.mcsprite-petrified_oak_slab {
+ background-position: -64px -800px
+}
+
+.mcsprite-phantom_membrane {
+ background-position: -96px -800px
+}
+
+.mcsprite-phantom_spawn_egg {
+ background-position: -128px -800px
+}
+
+.mcsprite-pig_spawn_egg {
+ background-position: -160px -800px
+}
+
+.mcsprite-piglin_brute_spawn_egg {
+ background-position: -192px -800px
+}
+
+.mcsprite-piglin_spawn_egg {
+ background-position: -224px -800px
+}
+
+.mcsprite-pillager_spawn_egg {
+ background-position: -256px -800px
+}
+
+.mcsprite-pink_banner {
+ background-position: -288px -800px
+}
+
+.mcsprite-pink_bed {
+ background-position: -320px -800px
+}
+
+.mcsprite-pink_bed_lce {
+ background-position: -352px -800px
+}
+
+.mcsprite-pink_candle {
+ background-position: -384px -800px
+}
+
+.mcsprite-pink_carpet {
+ background-position: -416px -800px
+}
+
+.mcsprite-pink_concrete {
+ background-position: -448px -800px
+}
+
+.mcsprite-pink_concrete_powder {
+ background-position: -480px -800px
+}
+
+.mcsprite-pink_dye {
+ background-position: -512px -800px
+}
+
+.mcsprite-pink_firework_star {
+ background-position: -544px -800px
+}
+
+.mcsprite-pink_glazed_terracotta {
+ background-position: -576px -800px
+}
+
+.mcsprite-pink_shield {
+ background-position: -608px -800px
+}
+
+.mcsprite-pink_shulker_box {
+ background-position: -640px -800px
+}
+
+.mcsprite-pink_stained_glass {
+ background-position: -672px -800px
+}
+
+.mcsprite-pink_stained_glass_pane {
+ background-position: -704px -800px
+}
+
+.mcsprite-pink_terracotta {
+ background-position: -736px -800px
+}
+
+.mcsprite-pink_tulip {
+ background-position: -768px -800px
+}
+
+.mcsprite-pink_wool {
+ background-position: -800px -800px
+}
+
+.mcsprite-piston {
+ background-position: -832px -800px
+}
+
+.mcsprite-player_head {
+ background-position: -864px -800px
+}
+
+.mcsprite-podzol {
+ background-position: -896px -800px
+}
+
+.mcsprite-pointed_dripstone {
+ background-position: -928px -800px
+}
+
+.mcsprite-poisonous_potato {
+ background-position: -960px -800px
+}
+
+.mcsprite-polar_bear_spawn_egg {
+ background-position: -992px -800px
+}
+
+.mcsprite-polished_andesite {
+ background-position: -1024px -800px
+}
+
+.mcsprite-polished_andesite_slab {
+ background-position: -1056px -800px
+}
+
+.mcsprite-polished_andesite_stairs {
+ background-position: -1088px -800px
+}
+
+.mcsprite-polished_basalt {
+ background-position: -1120px -800px
+}
+
+.mcsprite-polished_blackstone {
+ background-position: -1152px -800px
+}
+
+.mcsprite-polished_blackstone_brick_slab {
+ background-position: -1184px -800px
+}
+
+.mcsprite-polished_blackstone_brick_stairs {
+ background-position: -1216px -800px
+}
+
+.mcsprite-polished_blackstone_brick_wall {
+ background-position: -1248px -800px
+}
+
+.mcsprite-polished_blackstone_bricks {
+ background-position: 0 -832px
+}
+
+.mcsprite-polished_blackstone_button {
+ background-position: -32px -832px
+}
+
+.mcsprite-polished_blackstone_pressure_plate {
+ background-position: -64px -832px
+}
+
+.mcsprite-polished_blackstone_slab {
+ background-position: -96px -832px
+}
+
+.mcsprite-polished_blackstone_stairs {
+ background-position: -128px -832px
+}
+
+.mcsprite-polished_blackstone_wall {
+ background-position: -160px -832px
+}
+
+.mcsprite-polished_deepslate {
+ background-position: -192px -832px
+}
+
+.mcsprite-polished_deepslate_slab {
+ background-position: -224px -832px
+}
+
+.mcsprite-polished_deepslate_stairs {
+ background-position: -256px -832px
+}
+
+.mcsprite-polished_deepslate_wall {
+ background-position: -288px -832px
+}
+
+.mcsprite-polished_diorite {
+ background-position: -320px -832px
+}
+
+.mcsprite-polished_diorite_slab {
+ background-position: -352px -832px
+}
+
+.mcsprite-polished_diorite_stairs {
+ background-position: -384px -832px
+}
+
+.mcsprite-polished_granite {
+ background-position: -416px -832px
+}
+
+.mcsprite-polished_granite_slab {
+ background-position: -448px -832px
+}
+
+.mcsprite-polished_granite_stairs {
+ background-position: -480px -832px
+}
+
+.mcsprite-popped_chorus_fruit {
+ background-position: -512px -832px
+}
+
+.mcsprite-poppy {
+ background-position: -544px -832px
+}
+
+.mcsprite-portal {
+ background-position: -576px -832px
+}
+
+.mcsprite-potato {
+ background-position: -608px -832px
+}
+
+.mcsprite-potion_of_decay {
+ background-position: -640px -832px
+}
+
+.mcsprite-potion_of_fire_resistance {
+ background-position: -672px -832px
+}
+
+.mcsprite-potion_of_harming {
+ background-position: -704px -832px
+}
+
+.mcsprite-potion_of_healing {
+ background-position: -736px -832px
+}
+
+.mcsprite-potion_of_invisibility {
+ background-position: -768px -832px
+}
+
+.mcsprite-potion_of_leaping {
+ background-position: -800px -832px
+}
+
+.mcsprite-potion_of_levitation {
+ background-position: -832px -832px
+}
+
+.mcsprite-potion_of_luck {
+ background-position: -864px -832px
+}
+
+.mcsprite-potion_of_night_vision {
+ background-position: -896px -832px
+}
+
+.mcsprite-potion_of_poison {
+ background-position: -928px -832px
+}
+
+.mcsprite-potion_of_regeneration {
+ background-position: -960px -832px
+}
+
+.mcsprite-potion_of_slow_falling {
+ background-position: -992px -832px
+}
+
+.mcsprite-potion_of_slowness {
+ background-position: -1024px -832px
+}
+
+.mcsprite-potion_of_strength {
+ background-position: -1056px -832px
+}
+
+.mcsprite-potion_of_swiftness {
+ background-position: -1088px -832px
+}
+
+.mcsprite-potion_of_the_turtle_master {
+ background-position: -1120px -832px
+}
+
+.mcsprite-potion_of_water_breathing {
+ background-position: -1152px -832px
+}
+
+.mcsprite-potion_of_weakness {
+ background-position: -1184px -832px
+}
+
+.mcsprite-powder_snow {
+ background-position: -1216px -832px
+}
+
+.mcsprite-powder_snow_bucket {
+ background-position: -1248px -832px
+}
+
+.mcsprite-powered_rail {
+ background-position: 0 -864px
+}
+
+.mcsprite-prismarine {
+ background-position: -32px -864px
+}
+
+.mcsprite-prismarine_brick_slab {
+ background-position: -64px -864px
+}
+
+.mcsprite-prismarine_brick_stairs {
+ background-position: -96px -864px
+}
+
+.mcsprite-prismarine_brick_stairs_old {
+ background-position: -128px -864px
+}
+
+.mcsprite-prismarine_bricks {
+ background-position: -160px -864px
+}
+
+.mcsprite-prismarine_bricks_slab {
+ background-position: -192px -864px
+}
+
+.mcsprite-prismarine_crystals {
+ background-position: -224px -864px
+}
+
+.mcsprite-prismarine_shard {
+ background-position: -256px -864px
+}
+
+.mcsprite-prismarine_wall {
+ background-position: -288px -864px
+}
+
+.mcsprite-pufferfish {
+ background-position: -320px -864px
+}
+
+.mcsprite-pufferfish_spawn_egg {
+ background-position: -352px -864px
+}
+
+.mcsprite-pumpkin {
+ background-position: -384px -864px
+}
+
+.mcsprite-pumpkin_pie {
+ background-position: -416px -864px
+}
+
+.mcsprite-pumpkin_seeds {
+ background-position: -448px -864px
+}
+
+.mcsprite-purple_banner {
+ background-position: -480px -864px
+}
+
+.mcsprite-purple_bed {
+ background-position: -512px -864px
+}
+
+.mcsprite-purple_bed_lce {
+ background-position: -544px -864px
+}
+
+.mcsprite-purple_candle {
+ background-position: -576px -864px
+}
+
+.mcsprite-purple_carpet {
+ background-position: -608px -864px
+}
+
+.mcsprite-purple_concrete {
+ background-position: -640px -864px
+}
+
+.mcsprite-purple_concrete_powder {
+ background-position: -672px -864px
+}
+
+.mcsprite-purple_dye {
+ background-position: -704px -864px
+}
+
+.mcsprite-purple_firework_star {
+ background-position: -736px -864px
+}
+
+.mcsprite-purple_glazed_terracotta {
+ background-position: -768px -864px
+}
+
+.mcsprite-purple_shield {
+ background-position: -800px -864px
+}
+
+.mcsprite-purple_shulker_box {
+ background-position: -832px -864px
+}
+
+.mcsprite-purple_stained_glass {
+ background-position: -864px -864px
+}
+
+.mcsprite-purple_stained_glass_pane {
+ background-position: -896px -864px
+}
+
+.mcsprite-purple_terracotta {
+ background-position: -928px -864px
+}
+
+.mcsprite-purple_wool {
+ background-position: -960px -864px
+}
+
+.mcsprite-purpur_block {
+ background-position: -992px -864px
+}
+
+.mcsprite-purpur_pillar {
+ background-position: -1024px -864px
+}
+
+.mcsprite-purpur_slab {
+ background-position: -1056px -864px
+}
+
+.mcsprite-purpur_stairs {
+ background-position: -1088px -864px
+}
+
+.mcsprite-quartz_bricks {
+ background-position: -1120px -864px
+}
+
+.mcsprite-quartz_pillar {
+ background-position: -1152px -864px
+}
+
+.mcsprite-quartz_slab {
+ background-position: -1184px -864px
+}
+
+.mcsprite-quartz_stairs {
+ background-position: -1216px -864px
+}
+
+.mcsprite-rabbit_hide {
+ background-position: -1248px -864px
+}
+
+.mcsprite-rabbit_spawn_egg {
+ background-position: 0 -896px
+}
+
+.mcsprite-rabbit_stew {
+ background-position: -32px -896px
+}
+
+.mcsprite-rabbits_foot {
+ background-position: -64px -896px
+}
+
+.mcsprite-rail {
+ background-position: -96px -896px
+}
+
+.mcsprite-ravager_spawn_egg {
+ background-position: -128px -896px
+}
+
+.mcsprite-raw_beef {
+ background-position: -160px -896px
+}
+
+.mcsprite-raw_chicken {
+ background-position: -192px -896px
+}
+
+.mcsprite-raw_cod {
+ background-position: -224px -896px
+}
+
+.mcsprite-raw_copper {
+ background-position: -256px -896px
+}
+
+.mcsprite-raw_fish {
+ background-position: -288px -896px
+}
+
+.mcsprite-raw_gold {
+ background-position: -320px -896px
+}
+
+.mcsprite-raw_iron {
+ background-position: -352px -896px
+}
+
+.mcsprite-raw_mutton {
+ background-position: -384px -896px
+}
+
+.mcsprite-raw_porkchop {
+ background-position: -416px -896px
+}
+
+.mcsprite-raw_rabbit {
+ background-position: -448px -896px
+}
+
+.mcsprite-raw_salmon {
+ background-position: -480px -896px
+}
+
+.mcsprite-red_banner {
+ background-position: -512px -896px
+}
+
+.mcsprite-red_bed {
+ background-position: -544px -896px
+}
+
+.mcsprite-red_bed_lce {
+ background-position: -576px -896px
+}
+
+.mcsprite-red_candle {
+ background-position: -608px -896px
+}
+
+.mcsprite-red_carpet {
+ background-position: -640px -896px
+}
+
+.mcsprite-red_concrete {
+ background-position: -672px -896px
+}
+
+.mcsprite-red_concrete_powder {
+ background-position: -704px -896px
+}
+
+.mcsprite-red_dye {
+ background-position: -736px -896px
+}
+
+.mcsprite-red_firework_star {
+ background-position: -768px -896px
+}
+
+.mcsprite-red_glazed_terracotta {
+ background-position: -800px -896px
+}
+
+.mcsprite-red_mushroom {
+ background-position: -832px -896px
+}
+
+.mcsprite-red_mushroom_block {
+ background-position: -864px -896px
+}
+
+.mcsprite-red_nether_brick_slab {
+ background-position: -896px -896px
+}
+
+.mcsprite-red_nether_brick_stairs {
+ background-position: -928px -896px
+}
+
+.mcsprite-red_nether_brick_wall {
+ background-position: -960px -896px
+}
+
+.mcsprite-red_nether_bricks {
+ background-position: -992px -896px
+}
+
+.mcsprite-red_sand {
+ background-position: -1024px -896px
+}
+
+.mcsprite-red_sandstone {
+ background-position: -1056px -896px
+}
+
+.mcsprite-red_sandstone_slab {
+ background-position: -1088px -896px
+}
+
+.mcsprite-red_sandstone_stairs {
+ background-position: -1120px -896px
+}
+
+.mcsprite-red_sandstone_wall {
+ background-position: -1152px -896px
+}
+
+.mcsprite-red_shield {
+ background-position: -1184px -896px
+}
+
+.mcsprite-red_shulker_box {
+ background-position: -1216px -896px
+}
+
+.mcsprite-red_stained_glass {
+ background-position: -1248px -896px
+}
+
+.mcsprite-red_stained_glass_pane {
+ background-position: 0 -928px
+}
+
+.mcsprite-red_terracotta {
+ background-position: -32px -928px
+}
+
+.mcsprite-red_tulip {
+ background-position: -64px -928px
+}
+
+.mcsprite-red_wool {
+ background-position: -96px -928px
+}
+
+.mcsprite-redstone {
+ background-position: -128px -928px
+}
+
+.mcsprite-redstone_comparator {
+ background-position: -160px -928px
+}
+
+.mcsprite-redstone_dust {
+ background-position: -192px -928px
+}
+
+.mcsprite-redstone_lamp {
+ background-position: -224px -928px
+}
+
+.mcsprite-redstone_ore {
+ background-position: -256px -928px
+}
+
+.mcsprite-redstone_repeater {
+ background-position: -288px -928px
+}
+
+.mcsprite-redstone_torch {
+ background-position: -320px -928px
+}
+
+.mcsprite-respawn_anchor {
+ background-position: -352px -928px
+}
+
+.mcsprite-rooted_dirt {
+ background-position: -384px -928px
+}
+
+.mcsprite-rose_bush {
+ background-position: -416px -928px
+}
+
+.mcsprite-rose_red {
+ background-position: -448px -928px
+}
+
+.mcsprite-rotten_flesh {
+ background-position: -480px -928px
+}
+
+.mcsprite-saddle {
+ background-position: -512px -928px
+}
+
+.mcsprite-salmon_spawn_egg {
+ background-position: -544px -928px
+}
+
+.mcsprite-sand {
+ background-position: -576px -928px
+}
+
+.mcsprite-sandstone {
+ background-position: -608px -928px
+}
+
+.mcsprite-sandstone_slab {
+ background-position: -640px -928px
+}
+
+.mcsprite-sandstone_stairs {
+ background-position: -672px -928px
+}
+
+.mcsprite-sandstone_wall {
+ background-position: -704px -928px
+}
+
+.mcsprite-scaffolding {
+ background-position: -736px -928px
+}
+
+.mcsprite-sculk_sensor {
+ background-position: -768px -928px
+}
+
+.mcsprite-scute {
+ background-position: -800px -928px
+}
+
+.mcsprite-sea_lantern {
+ background-position: -832px -928px
+}
+
+.mcsprite-sea_pickle {
+ background-position: -864px -928px
+}
+
+.mcsprite-seagrass {
+ background-position: -896px -928px
+}
+
+.mcsprite-seeds {
+ background-position: -928px -928px
+}
+
+.mcsprite-shears {
+ background-position: -960px -928px
+}
+
+.mcsprite-sheep_spawn_egg {
+ background-position: -992px -928px
+}
+
+.mcsprite-shield {
+ background-position: -1024px -928px
+}
+
+.mcsprite-shroomlight {
+ background-position: -1056px -928px
+}
+
+.mcsprite-shrub_lce {
+ background-position: -1088px -928px
+}
+
+.mcsprite-shulker_box {
+ background-position: -1120px -928px
+}
+
+.mcsprite-shulker_shell {
+ background-position: -1152px -928px
+}
+
+.mcsprite-shulker_spawn_egg {
+ background-position: -1184px -928px
+}
+
+.mcsprite-silverfish_spawn_egg {
+ background-position: -1216px -928px
+}
+
+.mcsprite-skeleton_horse_spawn_egg {
+ background-position: -1248px -928px
+}
+
+.mcsprite-skeleton_skull {
+ background-position: 0 -960px
+}
+
+.mcsprite-skeleton_spawn_egg {
+ background-position: -32px -960px
+}
+
+.mcsprite-slime_block {
+ background-position: -64px -960px
+}
+
+.mcsprite-slime_spawn_egg {
+ background-position: -96px -960px
+}
+
+.mcsprite-slimeball {
+ background-position: -128px -960px
+}
+
+.mcsprite-small_amethyst_bud {
+ background-position: -160px -960px
+}
+
+.mcsprite-small_dripleaf {
+ background-position: -192px -960px
+}
+
+.mcsprite-smithing_table {
+ background-position: -224px -960px
+}
+
+.mcsprite-smoker {
+ background-position: -256px -960px
+}
+
+.mcsprite-smooth_basalt {
+ background-position: -288px -960px
+}
+
+.mcsprite-smooth_quartz {
+ background-position: -320px -960px
+}
+
+.mcsprite-smooth_quartz_block {
+ background-position: -352px -960px
+}
+
+.mcsprite-smooth_quartz_slab {
+ background-position: -384px -960px
+}
+
+.mcsprite-smooth_quartz_stairs {
+ background-position: -416px -960px
+}
+
+.mcsprite-smooth_red_sandstone {
+ background-position: -448px -960px
+}
+
+.mcsprite-smooth_red_sandstone_slab {
+ background-position: -480px -960px
+}
+
+.mcsprite-smooth_red_sandstone_stairs {
+ background-position: -512px -960px
+}
+
+.mcsprite-smooth_sandstone {
+ background-position: -544px -960px
+}
+
+.mcsprite-smooth_sandstone_slab {
+ background-position: -576px -960px
+}
+
+.mcsprite-smooth_sandstone_stairs {
+ background-position: -608px -960px
+}
+
+.mcsprite-smooth_stone {
+ background-position: -640px -960px
+}
+
+.mcsprite-smooth_stone_bricks {
+ background-position: -672px -960px
+}
+
+.mcsprite-smooth_stone_slab {
+ background-position: -704px -960px
+}
+
+.mcsprite-snow {
+ background-position: -736px -960px
+}
+
+.mcsprite-snow_block {
+ background-position: -768px -960px
+}
+
+.mcsprite-snowball {
+ background-position: -800px -960px
+}
+
+.mcsprite-soul_campfire {
+ background-position: -832px -960px
+}
+
+.mcsprite-soul_lantern {
+ background-position: -864px -960px
+}
+
+.mcsprite-soul_sand {
+ background-position: -896px -960px
+}
+
+.mcsprite-soul_soil {
+ background-position: -928px -960px
+}
+
+.mcsprite-soul_torch {
+ background-position: -960px -960px
+}
+
+.mcsprite-spawn_agent {
+ background-position: -992px -960px
+}
+
+.mcsprite-spawn_bat {
+ background-position: -1024px -960px
+}
+
+.mcsprite-spawn_bee {
+ background-position: -1056px -960px
+}
+
+.mcsprite-spawn_blaze {
+ background-position: -1088px -960px
+}
+
+.mcsprite-spawn_cat {
+ background-position: -1120px -960px
+}
+
+.mcsprite-spawn_cave_spider {
+ background-position: -1152px -960px
+}
+
+.mcsprite-spawn_chicken {
+ background-position: -1184px -960px
+}
+
+.mcsprite-spawn_cod {
+ background-position: -1216px -960px
+}
+
+.mcsprite-spawn_cow {
+ background-position: -1248px -960px
+}
+
+.mcsprite-spawn_creeper {
+ background-position: 0 -992px
+}
+
+.mcsprite-spawn_dolphin {
+ background-position: -32px -992px
+}
+
+.mcsprite-spawn_donkey {
+ background-position: -64px -992px
+}
+
+.mcsprite-spawn_drowned {
+ background-position: -96px -992px
+}
+
+.mcsprite-spawn_elder_guardian {
+ background-position: -128px -992px
+}
+
+.mcsprite-spawn_enderman {
+ background-position: -160px -992px
+}
+
+.mcsprite-spawn_endermite {
+ background-position: -192px -992px
+}
+
+.mcsprite-spawn_evoker {
+ background-position: -224px -992px
+}
+
+.mcsprite-spawn_fox {
+ background-position: -256px -992px
+}
+
+.mcsprite-spawn_ghast {
+ background-position: -288px -992px
+}
+
+.mcsprite-spawn_goat {
+ background-position: -320px -992px
+}
+
+.mcsprite-spawn_guardian {
+ background-position: -352px -992px
+}
+
+.mcsprite-spawn_horse {
+ background-position: -384px -992px
+}
+
+.mcsprite-spawn_husk {
+ background-position: -416px -992px
+}
+
+.mcsprite-spawn_llama {
+ background-position: -448px -992px
+}
+
+.mcsprite-spawn_magma_cube {
+ background-position: -480px -992px
+}
+
+.mcsprite-spawn_mask {
+ background-position: -512px -992px
+}
+
+.mcsprite-spawn_mooshroom {
+ background-position: -544px -992px
+}
+
+.mcsprite-spawn_mule {
+ background-position: -576px -992px
+}
+
+.mcsprite-spawn_npc {
+ background-position: -608px -992px
+}
+
+.mcsprite-spawn_ocelot {
+ background-position: -640px -992px
+}
+
+.mcsprite-spawn_panda {
+ background-position: -672px -992px
+}
+
+.mcsprite-spawn_parrot {
+ background-position: -704px -992px
+}
+
+.mcsprite-spawn_phantom {
+ background-position: -736px -992px
+}
+
+.mcsprite-spawn_pig {
+ background-position: -768px -992px
+}
+
+.mcsprite-spawn_pillager {
+ background-position: -800px -992px
+}
+
+.mcsprite-spawn_polar_bear {
+ background-position: -832px -992px
+}
+
+.mcsprite-spawn_pufferfish {
+ background-position: -864px -992px
+}
+
+.mcsprite-spawn_rabbit {
+ background-position: -896px -992px
+}
+
+.mcsprite-spawn_ravager {
+ background-position: -928px -992px
+}
+
+.mcsprite-spawn_salmon {
+ background-position: -960px -992px
+}
+
+.mcsprite-spawn_sheep {
+ background-position: -992px -992px
+}
+
+.mcsprite-spawn_shulker {
+ background-position: -1024px -992px
+}
+
+.mcsprite-spawn_silverfish {
+ background-position: -1056px -992px
+}
+
+.mcsprite-spawn_skeleton {
+ background-position: -1088px -992px
+}
+
+.mcsprite-spawn_skeleton_horse {
+ background-position: -1120px -992px
+}
+
+.mcsprite-spawn_slime {
+ background-position: -1152px -992px
+}
+
+.mcsprite-spawn_spider {
+ background-position: -1184px -992px
+}
+
+.mcsprite-spawn_squid {
+ background-position: -1216px -992px
+}
+
+.mcsprite-spawn_stray {
+ background-position: -1248px -992px
+}
+
+.mcsprite-spawn_strider {
+ background-position: 0 -1024px
+}
+
+.mcsprite-spawn_trader_llama {
+ background-position: -32px -1024px
+}
+
+.mcsprite-spawn_tropical_fish {
+ background-position: -64px -1024px
+}
+
+.mcsprite-spawn_turtle {
+ background-position: -96px -1024px
+}
+
+.mcsprite-spawn_vex {
+ background-position: -128px -1024px
+}
+
+.mcsprite-spawn_villager {
+ background-position: -160px -1024px
+}
+
+.mcsprite-spawn_vindicator {
+ background-position: -192px -1024px
+}
+
+.mcsprite-spawn_wandering_trader {
+ background-position: -224px -1024px
+}
+
+.mcsprite-spawn_witch {
+ background-position: -256px -1024px
+}
+
+.mcsprite-spawn_wither_skeleton {
+ background-position: -288px -1024px
+}
+
+.mcsprite-spawn_wolf {
+ background-position: -320px -1024px
+}
+
+.mcsprite-spawn_zoglin {
+ background-position: -352px -1024px
+}
+
+.mcsprite-spawn_zombie {
+ background-position: -384px -1024px
+}
+
+.mcsprite-spawn_zombie_horse {
+ background-position: -416px -1024px
+}
+
+.mcsprite-spawn_zombie_pigman {
+ background-position: -448px -1024px
+}
+
+.mcsprite-spawn_zombie_villager {
+ background-position: -480px -1024px
+}
+
+.mcsprite-spawner {
+ background-position: -512px -1024px
+}
+
+.mcsprite-spectral_arrow {
+ background-position: -544px -1024px
+}
+
+.mcsprite-spider_eye {
+ background-position: -576px -1024px
+}
+
+.mcsprite-spider_spawn_egg {
+ background-position: -608px -1024px
+}
+
+.mcsprite-splash_mundane_potion {
+ background-position: -640px -1024px
+}
+
+.mcsprite-splash_potion_of_decay {
+ background-position: -672px -1024px
+}
+
+.mcsprite-splash_potion_of_fire_resistance {
+ background-position: -704px -1024px
+}
+
+.mcsprite-splash_potion_of_harming {
+ background-position: -736px -1024px
+}
+
+.mcsprite-splash_potion_of_healing {
+ background-position: -768px -1024px
+}
+
+.mcsprite-splash_potion_of_invisibility {
+ background-position: -800px -1024px
+}
+
+.mcsprite-splash_potion_of_leaping {
+ background-position: -832px -1024px
+}
+
+.mcsprite-splash_potion_of_levitation {
+ background-position: -864px -1024px
+}
+
+.mcsprite-splash_potion_of_luck {
+ background-position: -896px -1024px
+}
+
+.mcsprite-splash_potion_of_night_vision {
+ background-position: -928px -1024px
+}
+
+.mcsprite-splash_potion_of_poison {
+ background-position: -960px -1024px
+}
+
+.mcsprite-splash_potion_of_regeneration {
+ background-position: -992px -1024px
+}
+
+.mcsprite-splash_potion_of_slow_falling {
+ background-position: -1024px -1024px
+}
+
+.mcsprite-splash_potion_of_slowness {
+ background-position: -1056px -1024px
+}
+
+.mcsprite-splash_potion_of_strength {
+ background-position: -1088px -1024px
+}
+
+.mcsprite-splash_potion_of_swiftness {
+ background-position: -1120px -1024px
+}
+
+.mcsprite-splash_potion_of_the_turtle_master {
+ background-position: -1152px -1024px
+}
+
+.mcsprite-splash_potion_of_water_breathing {
+ background-position: -1184px -1024px
+}
+
+.mcsprite-splash_potion_of_weakness {
+ background-position: -1216px -1024px
+}
+
+.mcsprite-splash_water_bottle {
+ background-position: -1248px -1024px
+}
+
+.mcsprite-sponge {
+ background-position: 0 -1056px
+}
+
+.mcsprite-spore_blossom {
+ background-position: -32px -1056px
+}
+
+.mcsprite-spruce_boat {
+ background-position: -64px -1056px
+}
+
+.mcsprite-spruce_button {
+ background-position: -96px -1056px
+}
+
+.mcsprite-spruce_door {
+ background-position: -128px -1056px
+}
+
+.mcsprite-spruce_fence {
+ background-position: -160px -1056px
+}
+
+.mcsprite-spruce_fence_gate {
+ background-position: -192px -1056px
+}
+
+.mcsprite-spruce_leaves {
+ background-position: -224px -1056px
+}
+
+.mcsprite-spruce_log {
+ background-position: -256px -1056px
+}
+
+.mcsprite-spruce_planks {
+ background-position: -288px -1056px
+}
+
+.mcsprite-spruce_pressure_plate {
+ background-position: -320px -1056px
+}
+
+.mcsprite-spruce_sapling {
+ background-position: -352px -1056px
+}
+
+.mcsprite-spruce_sign {
+ background-position: -384px -1056px
+}
+
+.mcsprite-spruce_slab {
+ background-position: -416px -1056px
+}
+
+.mcsprite-spruce_stairs {
+ background-position: -448px -1056px
+}
+
+.mcsprite-spruce_trapdoor {
+ background-position: -480px -1056px
+}
+
+.mcsprite-spruce_wood {
+ background-position: -512px -1056px
+}
+
+.mcsprite-spruce_wood_button {
+ background-position: -544px -1056px
+}
+
+.mcsprite-spruce_wood_door {
+ background-position: -576px -1056px
+}
+
+.mcsprite-spruce_wood_fence {
+ background-position: -608px -1056px
+}
+
+.mcsprite-spruce_wood_fence_gate {
+ background-position: -640px -1056px
+}
+
+.mcsprite-spruce_wood_planks {
+ background-position: -672px -1056px
+}
+
+.mcsprite-spruce_wood_pressure_plate {
+ background-position: -704px -1056px
+}
+
+.mcsprite-spruce_wood_sign {
+ background-position: -736px -1056px
+}
+
+.mcsprite-spruce_wood_slab {
+ background-position: -768px -1056px
+}
+
+.mcsprite-spruce_wood_stairs {
+ background-position: -800px -1056px
+}
+
+.mcsprite-spruce_wood_trapdoor {
+ background-position: -832px -1056px
+}
+
+.mcsprite-spyglass {
+ background-position: -864px -1056px
+}
+
+.mcsprite-squid_spawn_egg {
+ background-position: -896px -1056px
+}
+
+.mcsprite-steak {
+ background-position: -928px -1056px
+}
+
+.mcsprite-stick {
+ background-position: -960px -1056px
+}
+
+.mcsprite-sticky_piston {
+ background-position: -992px -1056px
+}
+
+.mcsprite-stone {
+ background-position: -1024px -1056px
+}
+
+.mcsprite-stone_axe {
+ background-position: -1056px -1056px
+}
+
+.mcsprite-stone_brick_slab {
+ background-position: -1088px -1056px
+}
+
+.mcsprite-stone_brick_stairs {
+ background-position: -1120px -1056px
+}
+
+.mcsprite-stone_brick_wall {
+ background-position: -1152px -1056px
+}
+
+.mcsprite-stone_bricks {
+ background-position: -1184px -1056px
+}
+
+.mcsprite-stone_bricks_monster_egg {
+ background-position: -1216px -1056px
+}
+
+.mcsprite-stone_button {
+ background-position: -1248px -1056px
+}
+
+.mcsprite-stone_hoe {
+ background-position: 0 -1088px
+}
+
+.mcsprite-stone_monster_egg {
+ background-position: -32px -1088px
+}
+
+.mcsprite-stone_pickaxe {
+ background-position: -64px -1088px
+}
+
+.mcsprite-stone_pressure_plate {
+ background-position: -96px -1088px
+}
+
+.mcsprite-stone_shovel {
+ background-position: -128px -1088px
+}
+
+.mcsprite-stone_slab {
+ background-position: -160px -1088px
+}
+
+.mcsprite-stone_stairs {
+ background-position: -192px -1088px
+}
+
+.mcsprite-stone_sword {
+ background-position: -224px -1088px
+}
+
+.mcsprite-stray_spawn_egg {
+ background-position: -256px -1088px
+}
+
+.mcsprite-strider_spawn_egg {
+ background-position: -288px -1088px
+}
+
+.mcsprite-string {
+ background-position: -320px -1088px
+}
+
+.mcsprite-stripped_acacia_log {
+ background-position: -352px -1088px
+}
+
+.mcsprite-stripped_acacia_wood {
+ background-position: -384px -1088px
+}
+
+.mcsprite-stripped_birch_log {
+ background-position: -416px -1088px
+}
+
+.mcsprite-stripped_birch_wood {
+ background-position: -448px -1088px
+}
+
+.mcsprite-stripped_crimson_hyphae {
+ background-position: -480px -1088px
+}
+
+.mcsprite-stripped_crimson_stem {
+ background-position: -512px -1088px
+}
+
+.mcsprite-stripped_dark_oak_log {
+ background-position: -544px -1088px
+}
+
+.mcsprite-stripped_dark_oak_wood {
+ background-position: -576px -1088px
+}
+
+.mcsprite-stripped_jungle_log {
+ background-position: -608px -1088px
+}
+
+.mcsprite-stripped_jungle_wood {
+ background-position: -640px -1088px
+}
+
+.mcsprite-stripped_oak_log {
+ background-position: -672px -1088px
+}
+
+.mcsprite-stripped_oak_wood {
+ background-position: -704px -1088px
+}
+
+.mcsprite-stripped_spruce_log {
+ background-position: -736px -1088px
+}
+
+.mcsprite-stripped_spruce_wood {
+ background-position: -768px -1088px
+}
+
+.mcsprite-stripped_warped_hyphae {
+ background-position: -800px -1088px
+}
+
+.mcsprite-stripped_warped_stem {
+ background-position: -832px -1088px
+}
+
+.mcsprite-structure_block {
+ background-position: -864px -1088px
+}
+
+.mcsprite-structure_void {
+ background-position: -896px -1088px
+}
+
+.mcsprite-sugar {
+ background-position: -928px -1088px
+}
+
+.mcsprite-sugar_cane {
+ background-position: -960px -1088px
+}
+
+.mcsprite-sunflower {
+ background-position: -992px -1088px
+}
+
+.mcsprite-suspicious_stew {
+ background-position: -1024px -1088px
+}
+
+.mcsprite-sweet_berries {
+ background-position: -1056px -1088px
+}
+
+.mcsprite-tall_grass {
+ background-position: -1088px -1088px
+}
+
+.mcsprite-target {
+ background-position: -1120px -1088px
+}
+
+.mcsprite-terracotta {
+ background-position: -1152px -1088px
+}
+
+.mcsprite-thick_lingering_potion {
+ background-position: -1184px -1088px
+}
+
+.mcsprite-thick_potion {
+ background-position: -1216px -1088px
+}
+
+.mcsprite-thick_splash_potion {
+ background-position: -1248px -1088px
+}
+
+.mcsprite-tinted_glass {
+ background-position: 0 -1120px
+}
+
+.mcsprite-tipped_arrow {
+ background-position: -32px -1120px
+}
+
+.mcsprite-tnt {
+ background-position: -64px -1120px
+}
+
+.mcsprite-top_snow {
+ background-position: -96px -1120px
+}
+
+.mcsprite-torch {
+ background-position: -128px -1120px
+}
+
+.mcsprite-totem_of_undying {
+ background-position: -160px -1120px
+}
+
+.mcsprite-trader_llama_spawn_egg {
+ background-position: -192px -1120px
+}
+
+.mcsprite-trapped_chest {
+ background-position: -224px -1120px
+}
+
+.mcsprite-treasure_map {
+ background-position: -256px -1120px
+}
+
+.mcsprite-trident {
+ background-position: -288px -1120px
+}
+
+.mcsprite-tripwire_hook {
+ background-position: -320px -1120px
+}
+
+.mcsprite-tropical_fish {
+ background-position: -352px -1120px
+}
+
+.mcsprite-tropical_fish_spawn_egg {
+ background-position: -384px -1120px
+}
+
+.mcsprite-tube_coral {
+ background-position: -416px -1120px
+}
+
+.mcsprite-tube_coral_block {
+ background-position: -448px -1120px
+}
+
+.mcsprite-tube_coral_fan {
+ background-position: -480px -1120px
+}
+
+.mcsprite-tuff {
+ background-position: -512px -1120px
+}
+
+.mcsprite-turtle_egg {
+ background-position: -544px -1120px
+}
+
+.mcsprite-turtle_helmet {
+ background-position: -576px -1120px
+}
+
+.mcsprite-turtle_shell {
+ background-position: -608px -1120px
+}
+
+.mcsprite-turtle_spawn_egg {
+ background-position: -640px -1120px
+}
+
+.mcsprite-twisting_vines {
+ background-position: -672px -1120px
+}
+
+.mcsprite-uncraftable_lingering_potion {
+ background-position: -704px -1120px
+}
+
+.mcsprite-uncraftable_potion {
+ background-position: -736px -1120px
+}
+
+.mcsprite-uncraftable_splash_potion {
+ background-position: -768px -1120px
+}
+
+.mcsprite-uncraftable_tipped_arrow {
+ background-position: -800px -1120px
+}
+
+.mcsprite-vex_spawn_egg {
+ background-position: -832px -1120px
+}
+
+.mcsprite-villager_spawn_egg {
+ background-position: -864px -1120px
+}
+
+.mcsprite-vindicator_spawn_egg {
+ background-position: -896px -1120px
+}
+
+.mcsprite-vines {
+ background-position: -928px -1120px
+}
+
+.mcsprite-void_air {
+ background-position: -960px -1120px
+}
+
+.mcsprite-wandering_trader_spawn_egg {
+ background-position: -992px -1120px
+}
+
+.mcsprite-warped_button {
+ background-position: -1024px -1120px
+}
+
+.mcsprite-warped_door {
+ background-position: -1056px -1120px
+}
+
+.mcsprite-warped_fence {
+ background-position: -1088px -1120px
+}
+
+.mcsprite-warped_fence_gate {
+ background-position: -1120px -1120px
+}
+
+.mcsprite-warped_fungus {
+ background-position: -1152px -1120px
+}
+
+.mcsprite-warped_fungus_on_a_stick {
+ background-position: -1184px -1120px
+}
+
+.mcsprite-warped_hyphae {
+ background-position: -1216px -1120px
+}
+
+.mcsprite-warped_nylium {
+ background-position: -1248px -1120px
+}
+
+.mcsprite-warped_planks {
+ background-position: 0 -1152px
+}
+
+.mcsprite-warped_pressure_plate {
+ background-position: -32px -1152px
+}
+
+.mcsprite-warped_roots {
+ background-position: -64px -1152px
+}
+
+.mcsprite-warped_sign {
+ background-position: -96px -1152px
+}
+
+.mcsprite-warped_slab {
+ background-position: -128px -1152px
+}
+
+.mcsprite-warped_stairs {
+ background-position: -160px -1152px
+}
+
+.mcsprite-warped_stem {
+ background-position: -192px -1152px
+}
+
+.mcsprite-warped_trapdoor {
+ background-position: -224px -1152px
+}
+
+.mcsprite-warped_wart_block {
+ background-position: -256px -1152px
+}
+
+.mcsprite-water {
+ background-position: -288px -1152px
+}
+
+.mcsprite-water_bottle {
+ background-position: -320px -1152px
+}
+
+.mcsprite-water_bucket {
+ background-position: -352px -1152px
+}
+
+.mcsprite-waxed_block_of_copper {
+ background-position: -384px -1152px
+}
+
+.mcsprite-waxed_copper {
+ background-position: -416px -1152px
+}
+
+.mcsprite-waxed_copper_block {
+ background-position: -448px -1152px
+}
+
+.mcsprite-waxed_cut_copper {
+ background-position: -480px -1152px
+}
+
+.mcsprite-waxed_cut_copper_block {
+ background-position: -512px -1152px
+}
+
+.mcsprite-waxed_cut_copper_slab {
+ background-position: -544px -1152px
+}
+
+.mcsprite-waxed_cut_copper_stairs {
+ background-position: -576px -1152px
+}
+
+.mcsprite-waxed_exposed_copper {
+ background-position: -608px -1152px
+}
+
+.mcsprite-waxed_exposed_copper_block {
+ background-position: -640px -1152px
+}
+
+.mcsprite-waxed_exposed_cut_copper {
+ background-position: -672px -1152px
+}
+
+.mcsprite-waxed_exposed_cut_copper_block {
+ background-position: -704px -1152px
+}
+
+.mcsprite-waxed_exposed_cut_copper_slab {
+ background-position: -736px -1152px
+}
+
+.mcsprite-waxed_exposed_cut_copper_stairs {
+ background-position: -768px -1152px
+}
+
+.mcsprite-waxed_oxidized_copper {
+ background-position: -800px -1152px
+}
+
+.mcsprite-waxed_oxidized_copper_block {
+ background-position: -832px -1152px
+}
+
+.mcsprite-waxed_oxidized_cut_copper {
+ background-position: -864px -1152px
+}
+
+.mcsprite-waxed_oxidized_cut_copper_block {
+ background-position: -896px -1152px
+}
+
+.mcsprite-waxed_oxidized_cut_copper_slab {
+ background-position: -928px -1152px
+}
+
+.mcsprite-waxed_oxidized_cut_copper_stairs {
+ background-position: -960px -1152px
+}
+
+.mcsprite-waxed_weathered_copper {
+ background-position: -992px -1152px
+}
+
+.mcsprite-waxed_weathered_copper_block {
+ background-position: -1024px -1152px
+}
+
+.mcsprite-waxed_weathered_cut_copper {
+ background-position: -1056px -1152px
+}
+
+.mcsprite-waxed_weathered_cut_copper_block {
+ background-position: -1088px -1152px
+}
+
+.mcsprite-waxed_weathered_cut_copper_slab {
+ background-position: -1120px -1152px
+}
+
+.mcsprite-waxed_weathered_cut_copper_stairs {
+ background-position: -1152px -1152px
+}
+
+.mcsprite-weathered_copper {
+ background-position: -1184px -1152px
+}
+
+.mcsprite-weathered_copper_block {
+ background-position: -1216px -1152px
+}
+
+.mcsprite-weathered_cut_copper {
+ background-position: -1248px -1152px
+}
+
+.mcsprite-weathered_cut_copper_block {
+ background-position: 0 -1184px
+}
+
+.mcsprite-weathered_cut_copper_slab {
+ background-position: -32px -1184px
+}
+
+.mcsprite-weathered_cut_copper_stairs {
+ background-position: -64px -1184px
+}
+
+.mcsprite-weeping_vines {
+ background-position: -96px -1184px
+}
+
+.mcsprite-wet_sponge {
+ background-position: -128px -1184px
+}
+
+.mcsprite-wheat {
+ background-position: -160px -1184px
+}
+
+.mcsprite-wheat_seeds {
+ background-position: -192px -1184px
+}
+
+.mcsprite-white_banner {
+ background-position: -224px -1184px
+}
+
+.mcsprite-white_bed {
+ background-position: -256px -1184px
+}
+
+.mcsprite-white_bed_lce {
+ background-position: -288px -1184px
+}
+
+.mcsprite-white_candle {
+ background-position: -320px -1184px
+}
+
+.mcsprite-white_carpet {
+ background-position: -352px -1184px
+}
+
+.mcsprite-white_concrete {
+ background-position: -384px -1184px
+}
+
+.mcsprite-white_concrete_powder {
+ background-position: -416px -1184px
+}
+
+.mcsprite-white_dye {
+ background-position: -448px -1184px
+}
+
+.mcsprite-white_firework_star {
+ background-position: -480px -1184px
+}
+
+.mcsprite-white_glazed_terracotta {
+ background-position: -512px -1184px
+}
+
+.mcsprite-white_shield {
+ background-position: -544px -1184px
+}
+
+.mcsprite-white_shulker_box {
+ background-position: -576px -1184px
+}
+
+.mcsprite-white_stained_glass {
+ background-position: -608px -1184px
+}
+
+.mcsprite-white_stained_glass_pane {
+ background-position: -640px -1184px
+}
+
+.mcsprite-white_terracotta {
+ background-position: -672px -1184px
+}
+
+.mcsprite-white_tulip {
+ background-position: -704px -1184px
+}
+
+.mcsprite-white_wool {
+ background-position: -736px -1184px
+}
+
+.mcsprite-witch_spawn_egg {
+ background-position: -768px -1184px
+}
+
+.mcsprite-wither_rose {
+ background-position: -800px -1184px
+}
+
+.mcsprite-wither_skeleton_skull {
+ background-position: -832px -1184px
+}
+
+.mcsprite-wither_skeleton_spawn_egg {
+ background-position: -864px -1184px
+}
+
+.mcsprite-wolf_spawn_egg {
+ background-position: -896px -1184px
+}
+
+.mcsprite-wooden_axe {
+ background-position: -928px -1184px
+}
+
+.mcsprite-wooden_hoe {
+ background-position: -960px -1184px
+}
+
+.mcsprite-wooden_pickaxe {
+ background-position: -992px -1184px
+}
+
+.mcsprite-wooden_shovel {
+ background-position: -1024px -1184px
+}
+
+.mcsprite-wooden_slab {
+ background-position: -1056px -1184px
+}
+
+.mcsprite-wooden_sword {
+ background-position: -1088px -1184px
+}
+
+.mcsprite-woodland_explorer_map {
+ background-position: -1120px -1184px
+}
+
+.mcsprite-written_book {
+ background-position: -1152px -1184px
+}
+
+.mcsprite-yellow_banner {
+ background-position: -1184px -1184px
+}
+
+.mcsprite-yellow_bed {
+ background-position: -1216px -1184px
+}
+
+.mcsprite-yellow_bed_lce {
+ background-position: -1248px -1184px
+}
+
+.mcsprite-yellow_candle {
+ background-position: 0 -1216px
+}
+
+.mcsprite-yellow_carpet {
+ background-position: -32px -1216px
+}
+
+.mcsprite-yellow_concrete {
+ background-position: -64px -1216px
+}
+
+.mcsprite-yellow_concrete_powder {
+ background-position: -96px -1216px
+}
+
+.mcsprite-yellow_dye {
+ background-position: -128px -1216px
+}
+
+.mcsprite-yellow_firework_star {
+ background-position: -160px -1216px
+}
+
+.mcsprite-yellow_glazed_terracotta {
+ background-position: -192px -1216px
+}
+
+.mcsprite-yellow_shield {
+ background-position: -224px -1216px
+}
+
+.mcsprite-yellow_shulker_box {
+ background-position: -256px -1216px
+}
+
+.mcsprite-yellow_stained_glass {
+ background-position: -288px -1216px
+}
+
+.mcsprite-yellow_stained_glass_pane {
+ background-position: -320px -1216px
+}
+
+.mcsprite-yellow_terracotta {
+ background-position: -352px -1216px
+}
+
+.mcsprite-yellow_wool {
+ background-position: -384px -1216px
+}
+
+.mcsprite-zoglin_spawn_egg {
+ background-position: -416px -1216px
+}
+
+.mcsprite-zombie_head {
+ background-position: -448px -1216px
+}
+
+.mcsprite-zombie_horse_spawn_egg {
+ background-position: -480px -1216px
+}
+
+.mcsprite-zombie_pigman_spawn_egg {
+ background-position: -512px -1216px
+}
+
+.mcsprite-zombie_spawn_egg {
+ background-position: -544px -1216px
+}
+
+.mcsprite-zombie_villager_spawn_egg {
+ background-position: -576px -1216px
+}
+
+.mcsprite-zombified_piglin_spawn_egg {
+ background-position: -608px -1216px
+}
+
+.toc {
+ display: none;
+ position: relative;
+ margin: 1em 0;
+ padding: .2em .5em;
+ background-color: #f8f9fa;
+ border: solid 1px #eaecf0;
+ box-sizing: border-box
+}
+
+.toctogglecheckbox ~ ul {
+ visibility: hidden;
+ height: 0
+}
+
+.toctogglecheckbox:not(:checked) ~ ul {
+ visibility: visible;
+ padding-bottom: 20px;
+ height: auto
+}
+
+.toctitle {
+ padding: 0 25px 0 32px
+}
+
+.toctitle .mw-ui-icon {
+ position: absolute;
+ left: 0
+}
+
+.toctitle .toctogglespan + .mw-ui-icon {
+ top: 8px;
+ right: 0;
+ left: auto
+}
+
+.toctogglelabel {
+ cursor: pointer;
+ position: absolute;
+ left: 0;
+ top: 0;
+ right: 0;
+ height: 50px;
+ z-index: 1
+}
+
+.client-js .toc .toctitle {
+ visibility: hidden;
+ background-position: right center;
+ font-weight: 700;
+ border-bottom: 0
+}
+
+.client-js .toc .toctitle h2 {
+ display: inline-block;
+ font-family: -apple-system, blinkmacsystemfont, segoe ui, roboto, lato, helvetica, arial, sans-serif;
+ font-size: 1.125em;
+ vertical-align: middle
+}
+
+.client-js .toc .tocnumber {
+ display: none
+}
+
+.client-js .toc > ul {
+ margin: 0 22.85714286em 0 32px;
+ padding-left: 0;
+ font-size: .875em
+}
+
+.client-js .toc ul {
+ list-style: none
+}
+
+@media screen and (min-width: 720px) {
+ .client-js .toc {
+ display: table
+ }
+
+ .client-js .toc .toctitle {
+ visibility: visible
+ }
+}
+
+body {
+ font-family: -apple-system, blinkmacsystemfont, segoe ui, roboto, lato, helvetica, arial, sans-serif;
+ line-height: 1.4;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, .2);
+ overflow-y: scroll
+}
+
+.content {
+ line-height: 1.65;
+ word-wrap: break-word
+}
+
+.content .center {
+ width: 100%;
+ text-align: center
+}
+
+.content .center > *, .content .center .thumb {
+ margin-left: auto;
+ margin-right: auto
+}
+
+@media all and (max-width: 320px -1) {
+ html {
+ font-size: 80%
+ }
+
+ .content {
+ margin: 0 12px
+ }
+}
+
+.nomobile {
+ display: none !important
+}
+
+@supports (font: -apple-system-body) {
+ html {
+ font: -apple-system-body
+ }
+
+ body {
+ font-size: 94.11764706%
+ }
+
+ @media all and (max-width: 320px -1) {
+ body {
+ font-size: 75.29411765%
+ }
+ }
+}
+
+.content figure, .content .thumb {
+ margin: .6em 0
+}
+
+.content figure .thumbinner, .content .thumb .thumbinner {
+ margin: 0 auto;
+ max-width: 100% !important
+}
+
+.content figcaption, .content .thumbcaption {
+ margin: .5em 0 0;
+ font-size: .8125em;
+ line-height: 1.5;
+ padding: 0 !important;
+ color: #54595d
+}
+
+.content .thumbcaption {
+ width: auto !important
+}
+
+.content .mw-image-border, .content .thumbborder {
+ border: 1px solid #c8ccd1
+}
+
+.content .magnify {
+ display: none
+}
+
+.content img {
+ vertical-align: middle
+}
+
+.content .floatright {
+ clear: right;
+ float: right;
+ margin: 0 0 .6em .6em
+}
+
+.content .floatleft {
+ clear: left;
+ float: left;
+ margin: 0 .6em .6em 0
+}
+
+.content a > img, .content noscript > img {
+ max-width: 100% !important;
+ height: auto !important
+}
+
+.content .noresize {
+ max-width: 100%;
+ overflow-x: auto
+}
+
+.content .noresize a > img {
+ max-width: none !important
+}
+
+h1 {
+ font-size: 1.7em
+}
+
+h2 {
+ font-size: 1.5em
+}
+
+h3 {
+ font-size: 1.2em;
+ font-weight: 700
+}
+
+h4 {
+ font-weight: 700
+}
+
+.pre-content h1, .content h1, .content h2 {
+ font-family: linux libertine, helvetica, georgia, times, serif
+}
+
+.pre-content h1, .content h1, .content h2, h3, h4, h5, h6 {
+ line-height: 1.3;
+ word-wrap: break-word;
+ word-break: break-word
+}
+
+.content h2, .content h3, .content h4, .content h5, .content h6 {
+ padding: .5em 0
+}
+
+.content p + h3 {
+ margin-top: 1.5em
+}
+
+.content {
+}
+
+.content ol {
+ padding-left: 2.25em
+}
+
+.content ul {
+ list-style-type: disc;
+ padding-left: 1em
+}
+
+.content ul > li > ul {
+ list-style-type: circle
+}
+
+.content ul > li > ul > li > ul {
+ list-style-type: square
+}
+
+.content ol ol, .content ul ol, .content ol ul, .content ul ul {
+ margin-left: 1em
+}
+
+.content li {
+ margin-bottom: 10px
+}
+
+.content li:last-child {
+ margin-bottom: inherit
+}
+
+dl {
+ margin-left: 1em
+}
+
+dl dt {
+ font-weight: 700
+}
+
+dl dd {
+ display: block;
+ overflow: auto
+}
+
+body.mw-hide-empty-elt .mw-empty-elt {
+ display: none
+}
+
+a:not([href]) {
+ color: #3f7dfb;
+ cursor: pointer
+}
+
+a {
+ color: #3f7dfb;
+ text-decoration: none
+}
+
+a:visited {
+ color: #ba91ff
+}
+
+a:active {
+ color: #986be5
+}
+
+a:hover {
+ text-decoration: underline
+}
+
+a.new, a.new:visited, a.new:hover {
+ color: #d33
+}
+
+a.new > *, a.new:visited > *, a.new:hover > * {
+ color: #d33
+}
+
+a.external {
+ background-size: 10px;
+ background-repeat: no-repeat;
+ background-position: center right;
+ padding-right: 13px
+}
+
+.return-link {
+ display: block;
+ font-size: .875em;
+ margin-top: 1.5em
+}
+
+.plainlinks a {
+ background: 0 0 !important;
+ padding: 0 !important
+}
+
+.content p {
+ margin: .5em 0 1em
+}
+
+.content hr {
+ background-color: #a2a9b1;
+ height: 1px;
+ border: 0
+}
+
+.content kbd, .content samp, .content code, .content pre {
+ font-family: menlo, consolas, liberation mono, courier new, monospace;
+ border: solid 1px #c8ccd1;
+ white-space: pre-wrap
+}
+
+.content code {
+ padding: .2em .5em
+}
+
+.content pre {
+ padding: 1em
+}
+
+b, strong {
+ font-weight: 700
+}
+
+blockquote {
+ border-left: 3px solid #c8ccd1;
+ padding: 8px 24px 8px 32px;
+ font-family: linux libertine, helvetica, georgia, times, serif;
+ font-size: 1.1em
+}
+
+blockquote > :first-child {
+ margin-top: 0
+}
+
+blockquote > :last-child {
+ margin-bottom: 0
+}
+
+blockquote > :only-child {
+ margin-top: 0;
+ margin-bottom: 0
+}
+
+em, i {
+ font-style: italic
+}
+
+sup {
+ vertical-align: super
+}
+
+sub {
+ vertical-align: sub
+}
+
+sub, sup, .content .mw-ref {
+ font-size: .75em;
+ line-height: 1
+}
+
+@media all and (max-width: 720px) {
+ .content table {
+ display: block;
+ width: 100% !important;
+ box-sizing: border-box
+ }
+
+ .content table.wikitable {
+ border: 0
+ }
+
+ .content caption {
+ display: block
+ }
+}
+
+.content table {
+ margin: 1em 0;
+ overflow: auto;
+ overflow-y: hidden;
+ overflow-x: auto
+}
+
+.content table caption {
+ text-align: left
+}
+
+.wikitable {
+ border: 1px solid #54595d;
+ border-color: rgba(84, 89, 93, .3)
+}
+
+.wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td {
+ border: 1px solid #54595d;
+ border-color: rgba(84, 89, 93, .3);
+ padding: .2em
+}
+
+.wikitable > tr > th, .wikitable > * > tr > th {
+ background-color: #eaecf0
+}
+
+@media screen and (min-width: 720px) {
+ .client-js #searchIcon {
+ display: none
+ }
+
+ .header .branding-box {
+ width: 10.0625em
+ }
+
+ .header .search-box {
+ display: table-cell;
+ width: auto
+ }
+
+ .header .search-box .search {
+ width: 23.4375em
+ }
+
+ .pre-content, #mw-content-text > form, .content, .post-content {
+ max-width: 993.3px;
+ margin: 0 3.35em
+ }
+
+ .content figure, .content .thumb {
+ max-width: 704px
+ }
+
+ .content figure.mw-halign-left, .content .thumb.mw-halign-left, .content figure.tleft, .content .thumb.tleft {
+ float: left;
+ clear: left;
+ margin-right: 1.4em
+ }
+
+ .content figure.mw-default-size, .content .thumb.mw-default-size, .content figure.mw-halign-right, .content .thumb.mw-halign-right, .content figure.tright, .content .thumb.tright {
+ float: right;
+ clear: right;
+ margin-left: 1.4em
+ }
+
+ .content table caption {
+ background: inherit
+ }
+
+ .content table tbody {
+ display: table-row-group
+ }
+
+ .last-modified-bar {
+ background-color: transparent;
+ padding-left: 0;
+ padding-right: 0;
+ font-size: 1em
+ }
+}
+
+@media screen and (min-width: 1000px) {
+ .banner-container, .header, .page-header-bar, .overlay-header, .content, .overlay-content, .content-unstyled, .pre-content, .post-content, #mw-content-text > form {
+ margin-left: auto;
+ margin-right: auto;
+ width: 90%;
+ max-width: 993.3px
+ }
+
+ .header {
+ max-width: 995.3px
+ }
+}
+
+toast.mw-notification-type-error, .mw-notification.mw-notification-type-error {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=toast.mw-notification-type-error%2C.mw-notification.mw-notification-type-error&format=rasterized&skin=minerva&version=qhhuv);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=toast.mw-notification-type-error%2C.mw-notification.mw-notification-type-error&format=original&skin=minerva&version=qhhuv)
+}
+
+toast.mw-notification-type-error, .mw-notification.mw-notification-type-error--reference {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=toast.mw-notification-type-error%2C.mw-notification.mw-notification-type-error&variant=reference&format=rasterized&skin=minerva&version=qhhuv);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=toast.mw-notification-type-error%2C.mw-notification.mw-notification-type-error&variant=reference&format=original&skin=minerva&version=qhhuv)
+}
+
+a.external {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=a.external&format=rasterized&lang=en&skin=minerva&version=qhhuv);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=a.external&format=original&lang=en&skin=minerva&version=qhhuv)
+}
+
+a.external--reference {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=a.external&variant=reference&format=rasterized&lang=en&skin=minerva&version=qhhuv);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.content.styles.images&image=a.external&variant=reference&format=original&lang=en&skin=minerva&version=qhhuv)
+}
+
+.mw-ui-icon-wikimedia-history-base20:before, .mw-ui-background-icon-history {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-history-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-history-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=history&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-language-base20:before, .mw-ui-background-icon-language {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-language-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-language-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=language&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-edit-base20:before, .mw-ui-background-icon-edit {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-edit-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-edit-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=edit&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-editLock-base20:before, .mw-ui-background-icon-editLock {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-editLock-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-editLock-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=editLock&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-search-base20:before, .mw-ui-background-icon-search {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-search-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-search-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=search&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-menu-base20:before, .mw-ui-background-icon-menu {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-menu-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-menu-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=menu&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-star-base20:before, .mw-ui-background-icon-star {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-star-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-star-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=star&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-halfStar-base20:before, .mw-ui-background-icon-halfStar {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&format=rasterized&lang=en&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&format=original&lang=en&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-halfStar-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&variant=invert&format=rasterized&lang=en&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&variant=invert&format=original&lang=en&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-halfStar-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&variant=progressive&format=rasterized&lang=en&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=halfStar&variant=progressive&format=original&lang=en&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-unStar-base20:before, .mw-ui-background-icon-unStar {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-unStar-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-unStar-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=unStar&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-userAvatar-base20:before, .mw-ui-background-icon-userAvatar {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-userAvatar-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&variant=invert&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&variant=invert&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-wikimedia-userAvatar-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&variant=progressive&format=rasterized&skin=minerva&version=4y50j);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.icons.wikimedia&image=userAvatar&variant=progressive&format=original&skin=minerva&version=4y50j)
+}
+
+.mw-ui-icon-minerva-speechBubbles:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.advanced.icons&image=speechBubbles&format=rasterized&lang=en&skin=minerva&version=jhnt0);
+ background-image: linear-gradient(transparent, transparent), url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+c3BlZWNoIGJ1YmJsZXM8L3RpdGxlPjxnIGZpbGw9IiM1NDU5NWQiPjxwYXRoIGQ9Ik0xNyA0djdhMiAyIDAgMDEtMiAySDR2MWEyIDIgMCAwMDIgMmgxMGw0IDRWNmEyIDIgMCAwMC0yLTJ6TTYgMTBIMHY2eiIvPjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxMiIgcng9IjIiLz48L2c+PC9zdmc+)
+}
+
+.mw-ui-icon-minerva-specialPages:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.advanced.icons&image=specialPages&format=rasterized&lang=en&skin=minerva&version=jhnt0);
+ background-image: linear-gradient(transparent, transparent), url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+c3BlY2lhbCBwYWdlczwvdGl0bGU+PGcgZmlsbD0iIzU0NTk1ZCI+PHBhdGggZD0iTTcgMGEyIDIgMCAwMC0yIDJoOWEyIDIgMCAwMTIgMnYxMmEyIDIgMCAwMDItMlYyYTIgMiAwIDAwLTItMnoiLz48cGF0aCBkPSJNMTMgMjBINGEyIDIgMCAwMS0yLTJWNWEyIDIgMCAwMTItMmg5YTIgMiAwIDAxMiAydjEzYTIgMiAwIDAxLTIgMnptLTYuNS0zLjVsLjQxLTEuMDlMOCAxNWwtMS4wOS0uNDEtLjQxLTEuMDktLjQxIDEuMDlMNSAxNWwxLjA5LjQxLjQxIDEuMDl6bTIuOTgyLS45NDlsLjk1Mi0yLjU2MSAyLjUzLS45NjQtMi41My0uOTY0TDkuNDgyIDguNWwtLjk1MiAyLjU2Mi0yLjUzLjk2NCAyLjUzLjk2NC45NTIgMi41NjF6TTYgMTAuNWwuNTQ3LTEuNDUzTDggOC41bC0xLjQ1My0uNTQ3TDYgNi41bC0uNTQ3IDEuNDUzTDQgOC41bDEuNDUzLjU0N0w2IDEwLjV6Ii8+PC9nPjwvc3ZnPg==)
+}
+
+.mw-ui-icon-minerva-recentChanges:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.advanced.icons&image=recentChanges&format=rasterized&lang=en&skin=minerva&version=jhnt0);
+ background-image: linear-gradient(transparent, transparent), url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+cmVjZW50IGNoYW5nZXM8L3RpdGxlPjxnIGZpbGw9IiM1NDU5NWQiPjxjaXJjbGUgY3g9IjIiIGN5PSI0IiByPSIyIi8+PGNpcmNsZSBjeD0iMiIgY3k9IjEwIiByPSIyIi8+PGNpcmNsZSBjeD0iMiIgY3k9IjE2IiByPSIyIi8+PHBhdGggZD0iTTYgM2gxMXYySDZ6bTAgNmg2djJINnptMCA2aDJ2Mkg2em0xMi43Ni0zLjExbDEuMDc4LTEuMTEyYS41NTYuNTU2IDAgMDAwLS43ODNsLTEuODU1LTEuODMzYS41NTYuNTU2IDAgMDAtLjc4MyAwbC0xLjA5IDEuMDc3IDIuNjUgMi42NXptLTMuMjI3LTIuMDYyTDEwIDE1LjM2MVYxOGgyLjYzOWw1LjUzMy01LjUzM3oiLz48L2c+PC9zdmc+)
+}
+
+.mw-ui-icon-minerva-die:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=die&format=rasterized&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=die&format=original&skin=minerva&version=17p52)
+}
+
+.mw-ui-icon-minerva-heart:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=heart&format=rasterized&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=heart&format=original&skin=minerva&version=17p52)
+}
+
+.mw-ui-icon-minerva-home:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=home&format=rasterized&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=home&format=original&skin=minerva&version=17p52)
+}
+
+.mw-ui-icon-minerva-logIn:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=logIn&format=rasterized&lang=en&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=logIn&format=original&lang=en&skin=minerva&version=17p52)
+}
+
+.mw-ui-icon-minerva-logOut:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=logOut&format=rasterized&lang=en&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=logOut&format=original&lang=en&skin=minerva&version=17p52)
+}
+
+.mw-ui-icon-minerva-settings:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=settings&format=rasterized&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=settings&format=original&skin=minerva&version=17p52)
+}
+
+.mw-ui-icon-minerva-mapPin:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=mapPin&format=rasterized&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=mapPin&format=original&skin=minerva&version=17p52)
+}
+
+.mw-ui-icon-minerva-unStar:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=unStar&format=rasterized&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=unStar&format=original&skin=minerva&version=17p52)
+}
+
+.mw-ui-icon-minerva-userContributions:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=userContributions&format=rasterized&lang=en&skin=minerva&version=17p52);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.mainMenu.icons&image=userContributions&format=original&lang=en&skin=minerva&version=17p52)
+}
+
+#mw-mf-page-left {
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ min-width: 275px;
+ visibility: hidden;
+ max-width: 80%;
+ z-index: 2;
+ overflow-y: auto;
+ background-color: #eaecf0;
+ -webkit-transform: translate(-100%, 0);
+ -ms-transform: translate(-100%, 0);
+ transform: translate(-100%, 0)
+}
+
+@media screen and (min-width: 720px) {
+ #mw-mf-page-left {
+ min-width: 320px
+ }
+}
+
+#mw-mf-page-left ul {
+ padding-bottom: 22px
+}
+
+.main-menu-mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ opacity: 0;
+ bottom: 0;
+ background: rgba(0, 0, 0, .8);
+ z-index: 1;
+ visibility: hidden
+}
+
+#main-menu-input:checked ~ .main-menu-mask {
+ visibility: visible;
+ opacity: .5
+}
+
+#main-menu-input:checked ~ #mw-mf-page-left {
+ visibility: visible;
+ box-shadow: 1px 0 8px 0 rgba(0, 0, 0, .35);
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0)
+}
+
+.minerva-animations-ready #mw-mf-page-left {
+ -webkit-transition: opacity 250ms ease-in-out, visibility 250ms ease-in-out, transform 250ms ease-in-out;
+ transition: opacity 250ms ease-in-out, visibility 250ms ease-in-out, transform 250ms ease-in-out
+}
+
+.minerva-animations-ready .main-menu-mask {
+ -webkit-transition: opacity 100ms ease-in-out, visibility 0ms linear 100ms;
+ transition: opacity 100ms ease-in-out, visibility 0ms linear 100ms
+}
+
+.minerva-animations-ready #main-menu-input:checked ~ .main-menu-mask {
+ -webkit-transition: opacity 100ms ease-in-out;
+ transition: opacity 100ms ease-in-out
+}
+
+.navigation-full-screen #mw-mf-page-left {
+ max-width: none;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none
+}
+
+.hotfix-T264376 .main-menu-mask {
+ display: none
+}
+
+.hotfix-T264376 #main-menu-input:checked ~ .main-menu-mask {
+ display: block
+}
+
+#mw-mf-page-left .secondary-action {
+ border: 0;
+ font-size: 16px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ border-left: 1px solid #a2a9b1;
+ color: transparent
+}
+
+#mw-mf-page-left .primary-action {
+ margin-right: 3.5em
+}
+
+#mw-mf-page-left ul:first-child li:first-child {
+ border-top: 0
+}
+
+#mw-mf-page-left ul li {
+ background-color: #fff;
+ position: relative;
+ border-top: 1px solid #eaecf0;
+ margin-top: -1px
+}
+
+#mw-mf-page-left ul li:first-child {
+ border-top: 0
+}
+
+#mw-mf-page-left ul li a {
+ color: #54595d;
+ display: block;
+ max-width: 100%;
+ padding: 12px 10px 12px 15px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap
+}
+
+#mw-mf-page-left ul li a.secondary-action {
+ padding-left: 10px
+}
+
+#mw-mf-page-left ul li a:hover {
+ box-shadow: inset 4px 0 0 0 #36c;
+ text-decoration: none
+}
+
+#mw-mf-page-left ul li a span {
+ font-size: .875em;
+ font-weight: 700;
+ vertical-align: middle
+}
+
+#mw-mf-page-left ul.hlist li {
+ background-color: transparent;
+ border: 0;
+ margin: 0;
+ font-size: .75em
+}
+
+#mw-mf-page-left ul.hlist li:after {
+ content: none
+}
+
+#mw-mf-page-left ul.hlist li a {
+ color: #36c;
+ padding: .7em 12px
+}
+
+#mw-mf-page-left ul.hlist li a:hover {
+ background-color: transparent;
+ box-shadow: none
+}
+
+.notifications-overlay {
+ visibility: visible
+}
+
+.notifications-overlay.navigation-drawer {
+ display: block;
+ width: auto;
+ right: 0;
+ box-shadow: -5px 0 0 0 rgba(0, 0, 0, .35);
+ -webkit-transform: translate(100%, 0);
+ -ms-transform: translate(100%, 0);
+ transform: translate(100%, 0);
+ -webkit-transition: transform 250ms ease-in-out;
+ transition: transform 250ms ease-in-out
+}
+
+.notifications-overlay.navigation-drawer.visible {
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0)
+}
+
+@media all and (min-width: 720px) {
+ .notifications-overlay.navigation-drawer {
+ left: 40%
+ }
+
+ .notifications-overlay.navigation-drawer .overlay-header {
+ margin: 0;
+ width: 100%;
+ max-width: none
+ }
+
+ .notifications-overlay.navigation-drawer .overlay-header .cancel {
+ left: 0
+ }
+}
+
+.toggle-list__checkbox {
+ position: absolute;
+ z-index: -1;
+ opacity: 0
+}
+
+.toggle-list__toggle {
+ display: inline-block;
+ cursor: pointer
+}
+
+.toggle-list__checkbox:focus + .toggle-list__toggle {
+ outline: dotted 1px;
+ outline: auto #447ff5
+}
+
+.toggle-list__checkbox:checked + .toggle-list__toggle {
+ outline: 0;
+ background: rgba(1, 1, 1, .1)
+}
+
+.touch-events .toggle-list__checkbox:focus + .toggle-list__toggle {
+ outline: 0
+}
+
+.toggle-list__list {
+ background: #fff;
+ position: absolute;
+ overflow-y: auto;
+ z-index: 2;
+ box-shadow: 0 5px 17px 0 rgba(0, 0, 0, .24), 0 0 1px #a2a9b1;
+ visibility: hidden;
+ opacity: 0
+}
+
+.toggle-list__checkbox:checked ~ .toggle-list__list {
+ visibility: visible;
+ opacity: 1
+}
+
+.mw-ui-icon-minerva-articleRedirect:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-articleRedirect, .mw-ui-icon-articleRedirect-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-articleRedirect, .mw-ui-icon-articleRedirect-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=articleRedirect&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-infoFilled:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-infoFilled, .mw-ui-icon-infoFilled-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-infoFilled, .mw-ui-icon-infoFilled-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=infoFilled&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-quotes:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-quotes, .mw-ui-icon-quotes-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-quotes, .mw-ui-icon-quotes-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=quotes&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-link:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-link, .mw-ui-icon-link-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&variant=invert&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&variant=invert&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-link, .mw-ui-icon-link-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&variant=progressive&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=link&variant=progressive&format=original&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-listBullet:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-listBullet, .mw-ui-icon-listBullet-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-listBullet, .mw-ui-icon-listBullet-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=listBullet&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-ellipsis:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-ellipsis, .mw-ui-icon-ellipsis-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&variant=invert&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&variant=invert&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-ellipsis, .mw-ui-icon-ellipsis-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&variant=progressive&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=ellipsis&variant=progressive&format=original&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-userAvatar:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-userAvatar, .mw-ui-icon-userAvatar-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&variant=invert&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&variant=invert&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-userAvatar, .mw-ui-icon-userAvatar-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&variant=progressive&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatar&variant=progressive&format=original&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-userAvatarOutline:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-userAvatarOutline, .mw-ui-icon-userAvatarOutline-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&variant=invert&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&variant=invert&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-userAvatarOutline, .mw-ui-icon-userAvatarOutline-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&variant=progressive&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userAvatarOutline&variant=progressive&format=original&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-userGroup:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-userGroup, .mw-ui-icon-userGroup-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-userGroup, .mw-ui-icon-userGroup-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userGroup&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-userTalk:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-userTalk, .mw-ui-icon-userTalk-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&variant=invert&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&variant=invert&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-userTalk, .mw-ui-icon-userTalk-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&variant=progressive&format=rasterized&lang=en&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=userTalk&variant=progressive&format=original&lang=en&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-logoWikidata:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-invert.oo-ui-icon-logoWikidata, .mw-ui-icon-logoWikidata-invert:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&variant=invert&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&variant=invert&format=original&skin=minerva&version=bdzvr)
+}
+
+.oo-ui-image-progressive.oo-ui-icon-logoWikidata, .mw-ui-icon-logoWikidata-progressive:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&variant=progressive&format=rasterized&skin=minerva&version=bdzvr);
+ background-image: linear-gradient(transparent, transparent), url(https://wiki.hypixel.net/load.php?modules=skins.minerva.overflow.icons&image=logoWikidata&variant=progressive&format=original&skin=minerva&version=bdzvr)
+}
+
+.mw-ui-icon-minerva-markup:before {
+ background-image: url(https://wiki.hypixel.net/load.php?modules=skins.minerva.personalMenu.icons&image=markup&format=rasterized&skin=minerva&version=1j2d9);
+ background-image: linear-gradient(transparent, transparent), url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+bWFya3VwPC90aXRsZT48ZyBmaWxsPSIjNTQ1OTVkIj48cGF0aCBkPSJNNi41IDMuNUwwIDEwbDEuNSAxLjUgNSA1TDggMTVsLTUtNSA1LTV6bTcgMEwxMiA1bDUgNS01IDUgMS41IDEuNUwyMCAxMHoiLz48L2c+PC9zdmc+)
+}
+
+div#mw-content-text {
+ position: absolute;
+}
+
+body {
+ text-rendering: optimizeLegibility;
+ text-rendering: geometricPrecision
+}
diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/blur.json b/src/main/resources/assets/notenoughupdates/shaders/program/blur.json
index 9da3c2e8..01c0578d 100644
--- a/src/main/resources/assets/notenoughupdates/shaders/program/blur.json
+++ b/src/main/resources/assets/notenoughupdates/shaders/program/blur.json
@@ -1,21 +1,85 @@
{
- "blend": {
- "func": "add",
- "srcrgb": "srcalpha",
- "dstrgb": "1-srcalpha"
+ "blend": {
+ "func": "add",
+ "srcrgb": "srcalpha",
+ "dstrgb": "1-srcalpha"
+ },
+ "vertex": "sobel",
+ "fragment": "blur2",
+ "attributes": [
+ "Position"
+ ],
+ "samplers": [
+ {
+ "name": "DiffuseSampler"
+ }
+ ],
+ "uniforms": [
+ {
+ "name": "ProjMat",
+ "type": "matrix4x4",
+ "count": 16,
+ "values": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ]
},
- "vertex": "sobel",
- "fragment": "blur2",
- "attributes": [ "Position" ],
- "samplers": [
- { "name": "DiffuseSampler" }
- ],
- "uniforms": [
- { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
- { "name": "InSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] },
- { "name": "OutSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] },
- { "name": "BlurDir", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] },
- { "name": "Radius", "type": "float", "count": 1, "values": [ 5.0 ] },
- { "name": "AlphaMult", "type": "float", "count": 1, "values": [ 1.0 ] }
- ]
+ {
+ "name": "InSize",
+ "type": "float",
+ "count": 2,
+ "values": [
+ 1.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "OutSize",
+ "type": "float",
+ "count": 2,
+ "values": [
+ 1.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "BlurDir",
+ "type": "float",
+ "count": 2,
+ "values": [
+ 1.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "Radius",
+ "type": "float",
+ "count": 1,
+ "values": [
+ 5.0
+ ]
+ },
+ {
+ "name": "AlphaMult",
+ "type": "float",
+ "count": 1,
+ "values": [
+ 1.0
+ ]
+ }
+ ]
}
diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json b/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json
index bb41ffd5..a8a3fc79 100644
--- a/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json
+++ b/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json
@@ -6,14 +6,63 @@
},
"vertex": "dungeonmap",
"fragment": "dungeonmap",
- "attributes": [ "Position" ],
+ "attributes": [
+ "Position"
+ ],
"samplers": [
- { "name": "DiffuseSampler" }
+ {
+ "name": "DiffuseSampler"
+ }
],
"uniforms": [
- { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
- { "name": "OutSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] },
- { "name": "InSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] },
- { "name": "radiusSq", "type": "float", "count": 1, "values": [ 1.0 ] }
+ {
+ "name": "ProjMat",
+ "type": "matrix4x4",
+ "count": 16,
+ "values": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "OutSize",
+ "type": "float",
+ "count": 2,
+ "values": [
+ 1.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "InSize",
+ "type": "float",
+ "count": 2,
+ "values": [
+ 1.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "radiusSq",
+ "type": "float",
+ "count": 1,
+ "values": [
+ 1.0
+ ]
+ }
]
}
diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.json b/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.json
index 048ceb9f..2878f3ed 100644
--- a/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.json
+++ b/src/main/resources/assets/notenoughupdates/shaders/program/grayscale.json
@@ -6,12 +6,46 @@
},
"vertex": "blit",
"fragment": "grayscale",
- "attributes": [ "Position" ],
+ "attributes": [
+ "Position"
+ ],
"samplers": [
- { "name": "DiffuseSampler" }
+ {
+ "name": "DiffuseSampler"
+ }
],
"uniforms": [
- { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
- { "name": "OutSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] }
+ {
+ "name": "ProjMat",
+ "type": "matrix4x4",
+ "count": 16,
+ "values": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "OutSize",
+ "type": "float",
+ "count": 2,
+ "values": [
+ 1.0,
+ 1.0
+ ]
+ }
]
}
diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/setrgbtoalpha.json b/src/main/resources/assets/notenoughupdates/shaders/program/setrgbtoalpha.json
index 653764fb..3bd50d8b 100644
--- a/src/main/resources/assets/notenoughupdates/shaders/program/setrgbtoalpha.json
+++ b/src/main/resources/assets/notenoughupdates/shaders/program/setrgbtoalpha.json
@@ -6,12 +6,46 @@
},
"vertex": "blit",
"fragment": "setrgbtoalpha",
- "attributes": [ "Position" ],
+ "attributes": [
+ "Position"
+ ],
"samplers": [
- { "name": "DiffuseSampler" }
+ {
+ "name": "DiffuseSampler"
+ }
],
"uniforms": [
- { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
- { "name": "OutSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] }
+ {
+ "name": "ProjMat",
+ "type": "matrix4x4",
+ "count": 16,
+ "values": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "OutSize",
+ "type": "float",
+ "count": 2,
+ "values": [
+ 1.0,
+ 1.0
+ ]
+ }
]
}
diff --git a/src/main/resources/assets/notenoughupdates/sounds.json b/src/main/resources/assets/notenoughupdates/sounds.json
index 6d827876..5a3b5528 100644
--- a/src/main/resources/assets/notenoughupdates/sounds.json
+++ b/src/main/resources/assets/notenoughupdates/sounds.json
@@ -71,7 +71,6 @@
}
]
},
-
"titanium.break": {
"category": "block",
"sounds": [
diff --git a/src/main/resources/assets/notenoughupdates/sounds/gemstoneamberbreak.json b/src/main/resources/assets/notenoughupdates/sounds/gemstoneamberbreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/gemstoneamberbreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/gemstoneamberbreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/assets/notenoughupdates/sounds/gemstoneamethystbreak.json b/src/main/resources/assets/notenoughupdates/sounds/gemstoneamethystbreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/gemstoneamethystbreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/gemstoneamethystbreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/assets/notenoughupdates/sounds/gemstonejadebreak.json b/src/main/resources/assets/notenoughupdates/sounds/gemstonejadebreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/gemstonejadebreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/gemstonejadebreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/assets/notenoughupdates/sounds/gemstonejasperbreak.json b/src/main/resources/assets/notenoughupdates/sounds/gemstonejasperbreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/gemstonejasperbreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/gemstonejasperbreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/assets/notenoughupdates/sounds/gemstonerubybreak.json b/src/main/resources/assets/notenoughupdates/sounds/gemstonerubybreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/gemstonerubybreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/gemstonerubybreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/assets/notenoughupdates/sounds/gemstonesapphirebreak.json b/src/main/resources/assets/notenoughupdates/sounds/gemstonesapphirebreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/gemstonesapphirebreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/gemstonesapphirebreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/assets/notenoughupdates/sounds/gemstonetopazbreak.json b/src/main/resources/assets/notenoughupdates/sounds/gemstonetopazbreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/gemstonetopazbreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/gemstonetopazbreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/assets/notenoughupdates/sounds/mithrilbreak.json b/src/main/resources/assets/notenoughupdates/sounds/mithrilbreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/mithrilbreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/mithrilbreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/assets/notenoughupdates/sounds/titaniumbreak.json b/src/main/resources/assets/notenoughupdates/sounds/titaniumbreak.json
index b02ee0c7..e46a3897 100644
--- a/src/main/resources/assets/notenoughupdates/sounds/titaniumbreak.json
+++ b/src/main/resources/assets/notenoughupdates/sounds/titaniumbreak.json
@@ -1 +1,3 @@
-{ "debouncer": 20 }
+{
+ "debouncer": 20
+}
diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info
index d20efafe..70f63a48 100644
--- a/src/main/resources/mcmod.info
+++ b/src/main/resources/mcmod.info
@@ -1,16 +1,18 @@
[
-{
- "modid": "notenoughupdates",
- "name": "NotEnoughUpdates",
- "description": "Mod that shows recipes and useful info for Hypixel's Skyblock gamemode.",
- "version": "${version}",
- "mcversion": "${mcversion}",
- "url": "https://github.com/Moulberry/NotEnoughUpdates/",
- "updateUrl": "https://github.com/Moulberry/NotEnoughUpdates/releases",
- "authorList": ["Moulberry"],
- "credits": "",
- "logoFile": "",
- "screenshots": [],
- "dependencies": []
-}
+ {
+ "modid": "notenoughupdates",
+ "name": "NotEnoughUpdates",
+ "description": "Mod that shows recipes and useful info for Hypixel's Skyblock gamemode.",
+ "version": "${version}",
+ "mcversion": "${mcversion}",
+ "url": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/",
+ "updateUrl": "https://github.com/NotEnoughUpdates/NotEnoughUpdates/releases",
+ "authorList": [
+ "Moulberry"
+ ],
+ "credits": "",
+ "logoFile": "",
+ "screenshots": [],
+ "dependencies": []
+ }
]
diff --git a/src/main/resources/mixins.notenoughupdates.json b/src/main/resources/mixins.notenoughupdates.json
index ab2c705e..63b8211b 100644
--- a/src/main/resources/mixins.notenoughupdates.json
+++ b/src/main/resources/mixins.notenoughupdates.json
@@ -4,51 +4,47 @@
"minVersion": "0.7",
"compatibilityLevel": "JAVA_8",
"mixins": [
- "AccessorEntityAgeable",
- "AccessorEntityArmorStand",
- "AccessorGuiPlayerTabOverlay",
- "MixinAbstractClientPlayer",
- "MixinContainer",
- "MixinEffectRenderer",
- "MixinEntity",
- "MixinEntityAgeable",
- "MixinEntityHorse",
- "MixinEntityPlayer",
- "MixinEntityPlayerSP",
- "MixinEntityRenderer",
- "MixinEntitySkeleton",
- "MixinGuiChest",
- "MixinGuiContainer",
- "MixinGuiIngame",
- "MixinGuiInventory",
- "MixinGuiScreen",
- "MixinInventoryEffectRenderer",
- "MixinInventoryPlayer",
- "MixinItemCameraTransforms",
- "MixinItemRenderer",
- "MixinItemStack",
- "MixinLayerArmorBase",
- "MixinLayerCustomHead",
- "MixinMinecraft",
- "MixinMouseHelper",
- "MixinNetHandlerPlayClient",
- "MixinPlayerControllerMP",
- "MixinRender",
- "MixinRendererLivingEntity",
- "MixinRenderFish",
- "MixinRenderGlobal",
- "MixinRenderItem",
- "MixinRenderList",
- "MixinTextureManager",
- "MixinTileEntitySkullRenderer",
- "MixinTileEntitySpecialRenderer",
- "MixinVboRenderList",
- "MixinWorld",
- "MixinWorldClient"
+ "AccessorEntityAgeable",
+ "AccessorEntityArmorStand",
+ "AccessorGuiPlayerTabOverlay",
+ "MixinAbstractClientPlayer",
+ "MixinContainer",
+ "MixinEffectRenderer",
+ "MixinEntity",
+ "MixinEntityAgeable",
+ "MixinEntityHorse",
+ "MixinEntityPlayer",
+ "MixinEntityPlayerSP",
+ "MixinEntityRenderer",
+ "MixinEntitySkeleton",
+ "MixinGuiChest",
+ "MixinGuiContainer",
+ "MixinGuiIngame",
+ "MixinGuiInventory",
+ "MixinGuiScreen",
+ "MixinInventoryEffectRenderer",
+ "MixinInventoryPlayer",
+ "MixinItemCameraTransforms",
+ "MixinItemRenderer",
+ "MixinItemStack",
+ "MixinLayerArmorBase",
+ "MixinLayerCustomHead",
+ "MixinMinecraft",
+ "MixinMouseHelper",
+ "MixinNetHandlerPlayClient",
+ "MixinPlayerControllerMP",
+ "MixinRender",
+ "MixinRendererLivingEntity",
+ "MixinRenderFish",
+ "MixinRenderGlobal",
+ "MixinRenderItem",
+ "MixinRenderList",
+ "MixinTextureManager",
+ "MixinTileEntitySkullRenderer",
+ "MixinTileEntitySpecialRenderer",
+ "MixinVboRenderList",
+ "MixinWorld",
+ "MixinWorldClient"
],
- "client": [
- "AccessorGuiContainer",
- "AccessorGuiEditSign",
- "AccessorMinecraft"
- ]
+ "client": ["AccessorGuiContainer", "AccessorGuiEditSign", "AccessorMinecraft"]
}
diff --git a/src/test/java/io/github/moulberry/notenoughupdates/core/util/Vec3ComparableTest.java b/src/test/java/io/github/moulberry/notenoughupdates/core/util/Vec3ComparableTest.java
index c0b451e3..12645152 100644
--- a/src/test/java/io/github/moulberry/notenoughupdates/core/util/Vec3ComparableTest.java
+++ b/src/test/java/io/github/moulberry/notenoughupdates/core/util/Vec3ComparableTest.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.core.util;
import net.minecraft.util.BlockPos;
diff --git a/src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolverTest.java b/src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolverTest.java
index 58233410..123f5bf3 100644
--- a/src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolverTest.java
+++ b/src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalMetalDetectorSolverTest.java
@@ -1,12 +1,31 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.core.util.Vec3Comparable;
import io.github.moulberry.notenoughupdates.miscfeatures.CrystalMetalDetectorSolver.SolutionState;
import io.github.moulberry.notenoughupdates.util.NEUDebugLogger;
import net.minecraft.util.BlockPos;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.Assertions;
import java.util.ArrayList;
@@ -17,10 +36,12 @@ class CrystalMetalDetectorSolverTest {
SolutionState expectedState;
boolean centerKnown;
- public Location(double distance,
- Vec3Comparable playerPosition,
- SolutionState expectedState,
- boolean centerKnown) {
+ public Location(
+ double distance,
+ Vec3Comparable playerPosition,
+ SolutionState expectedState,
+ boolean centerKnown
+ ) {
this.distance = distance;
this.playerPosition = playerPosition;
this.expectedState = expectedState;
@@ -38,7 +59,7 @@ class CrystalMetalDetectorSolverTest {
void setUp() {
CrystalMetalDetectorSolver.initWorld();
CrystalMetalDetectorSolver.treasureAllowedPredicate = blockPos -> true;
- NEUDebugLogger.logMethod = CrystalMetalDetectorSolverTest::neuDebugLog;
+ NEUDebugLogger.logMethod = CrystalMetalDetectorSolverTest::neuDebugLog;
NEUDebugLogger.allFlagsEnabled = true;
}
@@ -59,9 +80,11 @@ class CrystalMetalDetectorSolverTest {
} else {
findPossibleSolutionsTwice(loc, false);
}
- Assertions.assertEquals(loc.expectedState,
+ Assertions.assertEquals(
+ loc.expectedState,
CrystalMetalDetectorSolver.currentState,
- "Location index " + index);
+ "Location index " + index
+ );
index++;
}
@@ -70,30 +93,38 @@ class CrystalMetalDetectorSolverTest {
@Test
void findPossibleSolutions_single_location_sample_is_ignored() {
- Location location = new Location(37.3,
+ Location location = new Location(
+ 37.3,
new Vec3Comparable(779.1057116115207, 70.5, 502.2997937667801),
SolutionState.MULTIPLE,
- false);
+ false
+ );
CrystalMetalDetectorSolver.findPossibleSolutions(location.distance, location.playerPosition, false);
Assertions.assertEquals(SolutionState.NOT_STARTED, CrystalMetalDetectorSolver.previousState,
- "Previous state");
+ "Previous state"
+ );
Assertions.assertEquals(SolutionState.NOT_STARTED, CrystalMetalDetectorSolver.currentState,
- "Current state");
+ "Current state"
+ );
}
@Test
void findPossibleSolutions_currentState_becomes_previousState() {
- Location location = new Location(37.3,
+ Location location = new Location(
+ 37.3,
new Vec3Comparable(779.1057116115207, 70.5, 502.2997937667801),
SolutionState.MULTIPLE,
- false);
+ false
+ );
findPossibleSolutionsTwice(location, false);
Assertions.assertEquals(SolutionState.NOT_STARTED, CrystalMetalDetectorSolver.previousState,
- "Previous state");
+ "Previous state"
+ );
Assertions.assertEquals(location.expectedState, CrystalMetalDetectorSolver.currentState,
- "Current state");
+ "Current state"
+ );
}
@Test
@@ -101,15 +132,19 @@ class CrystalMetalDetectorSolverTest {
Solution solution = new Solution();
solution.center = new BlockPos(736, 88, 547);
solution.expectedSolution = new BlockPos(722, 67, 590);
- solution.locations.add(new Location(67.5,
+ solution.locations.add(new Location(
+ 67.5,
new Vec3Comparable(757.8235166144441, 68.0, 532.8037800566217),
SolutionState.FOUND_KNOWN,
- true));
+ true
+ ));
// slightly different player position with invalid distance
- solution.locations.add(new Location(4.0,
+ solution.locations.add(new Location(
+ 4.0,
new Vec3Comparable(757.8235166144441, 69.0, 532.8037800566217),
SolutionState.INVALID,
- true));
+ true
+ ));
checkSolution(solution);
}
@@ -117,14 +152,18 @@ class CrystalMetalDetectorSolverTest {
void findPossibleSolutions_state_is_failed_when_second_location_eliminates_all_blocks() {
Solution solution = new Solution();
solution.center = new BlockPos(736, 88, 547);
- solution.locations.add(new Location(29.4,
+ solution.locations.add(new Location(
+ 29.4,
new Vec3Comparable(721.5979761606153, 68.0, 590.9056839507032),
SolutionState.MULTIPLE_KNOWN,
- true));
- solution.locations.add(new Location(4.0, // actual distance should be 38.2
+ true
+ ));
+ solution.locations.add(new Location(
+ 4.0, // actual distance should be 38.2
new Vec3Comparable(711.858759313838, 67.0, 590.3583935310772),
SolutionState.FAILED,
- true));
+ true
+ ));
checkSolution(solution);
}
@@ -132,10 +171,12 @@ class CrystalMetalDetectorSolverTest {
void findPossibleSolutions_state_is_found_known_when_center_found_after_location() {
Solution solution = new Solution();
solution.center = new BlockPos(736, 88, 547);
- solution.locations.add(new Location(67.5,
+ solution.locations.add(new Location(
+ 67.5,
new Vec3Comparable(757.8235166144441, 68.0, 532.8037800566217),
SolutionState.MULTIPLE,
- false));
+ false
+ ));
checkSolution(solution);
solution.locations.get(0).centerKnown = true;
@@ -149,24 +190,30 @@ class CrystalMetalDetectorSolverTest {
Solution solution = new Solution();
solution.center = new BlockPos(736, 88, 547);
solution.expectedSolution = new BlockPos(722, 67, 590);
- solution.locations.add(new Location(67.5,
+ solution.locations.add(new Location(
+ 67.5,
new Vec3Comparable(757.8235166144441, 68.0, 532.8037800566217),
SolutionState.FOUND_KNOWN,
- true));
+ true
+ ));
checkSolution(solution);
}
@Test
void findPossibleSolutions_states_are_correct_using_multiple_locations_with_unknown_center() {
Solution solution = new Solution();
- solution.locations.add(new Location(37.3,
+ solution.locations.add(new Location(
+ 37.3,
new Vec3Comparable(779.1057116115207, 70.5, 502.2997937667801),
SolutionState.MULTIPLE,
- false));
- solution.locations.add(new Location(34.8,
+ false
+ ));
+ solution.locations.add(new Location(
+ 34.8,
new Vec3Comparable(782.6999999880791, 71.0, 508.69999998807907),
SolutionState.FOUND,
- false));
+ false
+ ));
solution.expectedSolution = new BlockPos(758, 67, 533);
checkSolution(solution);
@@ -177,14 +224,18 @@ class CrystalMetalDetectorSolverTest {
Solution solution = new Solution();
// First, validate that the solution doesn't work without the center
- solution.locations.add(new Location(29.4,
+ solution.locations.add(new Location(
+ 29.4,
new Vec3Comparable(721.5979761606153, 68.0, 590.9056839507032),
SolutionState.MULTIPLE,
- false));
- solution.locations.add(new Location(38.2,
+ false
+ ));
+ solution.locations.add(new Location(
+ 38.2,
new Vec3Comparable(711.858759313838, 67.0, 590.3583935310772),
SolutionState.MULTIPLE,
- false));
+ false
+ ));
checkSolution(solution);
// Now validate that the solution works with the center
diff --git a/src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolverTest.java b/src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolverTest.java
index dff8749c..5cf5fa90 100644
--- a/src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolverTest.java
+++ b/src/test/java/io/github/moulberry/notenoughupdates/miscfeatures/CrystalWishingCompassSolverTest.java
@@ -1,3 +1,22 @@
+/*
+ * Copyright (C) 2022 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
package io.github.moulberry.notenoughupdates.miscfeatures;
import io.github.moulberry.notenoughupdates.core.util.Vec3Comparable;
@@ -17,7 +36,10 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.EnumSet;
-import static io.github.moulberry.notenoughupdates.miscfeatures.CrystalWishingCompassSolver.*;
+import static io.github.moulberry.notenoughupdates.miscfeatures.CrystalWishingCompassSolver.ALL_PARTICLES_MAX_MILLIS;
+import static io.github.moulberry.notenoughupdates.miscfeatures.CrystalWishingCompassSolver.Crystal;
+import static io.github.moulberry.notenoughupdates.miscfeatures.CrystalWishingCompassSolver.HollowsZone;
+import static io.github.moulberry.notenoughupdates.miscfeatures.CrystalWishingCompassSolver.getInstance;
class CrystalWishingCompassSolverTest {
private static final CrystalWishingCompassSolver solver = getInstance();
@@ -51,7 +73,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(754.333618, 138.527710, 239.197800), 55)
)),
HandleCompassResult.SUCCESS,
- SolverState.NEED_SECOND_COMPASS);
+ SolverState.NEED_SECOND_COMPASS
+ );
private final CompassUse minesOfDivanCompassUse2 = new CompassUse(
DELAY_AFTER_FIRST_COMPASS_LAST_PARTICLE,
@@ -80,7 +103,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(759.636658, 135.522827, 266.186371), 0)
)),
HandleCompassResult.SUCCESS,
- SolverState.SOLVED);
+ SolverState.SOLVED
+ );
Vec3i minesOfDivanSolution = new Vec3i(735, 98, 451);
@@ -110,7 +134,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(454.183441, 88.616600, 775.803040), 54)
)),
HandleCompassResult.SUCCESS,
- SolverState.NEED_SECOND_COMPASS);
+ SolverState.NEED_SECOND_COMPASS
+ );
private final CompassUse goblinHoldoutCompassUse2 = new CompassUse(
DELAY_AFTER_FIRST_COMPASS_LAST_PARTICLE,
@@ -139,7 +164,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(439.108551, 86.620811, 776.031067), 0)
)),
HandleCompassResult.SUCCESS,
- SolverState.SOLVED);
+ SolverState.SOLVED
+ );
Vec3i goblinHoldoutKingSolution = new Vec3i(377, 87, 550);
Vec3i goblinHoldoutQueenSolution = new Vec3i(322, 139, 769);
@@ -171,7 +197,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(570.372192, 121.631874, 565.694946), 0)
)),
HandleCompassResult.SUCCESS,
- SolverState.NEED_SECOND_COMPASS);
+ SolverState.NEED_SECOND_COMPASS
+ );
private final CompassUse precursorCityCompassUse2 = new CompassUse(
DELAY_AFTER_FIRST_COMPASS_LAST_PARTICLE,
@@ -200,7 +227,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(590.766357, 137.556885, 579.791565), 0)
)),
HandleCompassResult.SUCCESS,
- SolverState.SOLVED);
+ SolverState.SOLVED
+ );
Vec3i precursorCitySolution = new Vec3i(604, 124, 681);
@@ -231,7 +259,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(453.975647, 122.920158, 458.668488), 0)
)),
HandleCompassResult.SUCCESS,
- SolverState.NEED_SECOND_COMPASS);
+ SolverState.NEED_SECOND_COMPASS
+ );
private final CompassUse jungleCompassUse2 = new CompassUse(
DELAY_AFTER_FIRST_COMPASS_LAST_PARTICLE,
@@ -260,13 +289,15 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(437.732666, 127.385803, 467.381592), 1)
)),
HandleCompassResult.SUCCESS,
- SolverState.SOLVED);
+ SolverState.SOLVED
+ );
Vec3i jungleSolution = new Vec3i(343, 72, 424);
Vec3i jungleSolutionTempleDoor = new Vec3i(
jungleSolution.getX() - 57,
jungleSolution.getY() + 36,
- jungleSolution.getZ() -21);
+ jungleSolution.getZ() - 21
+ );
private final CompassUse magmaCompassUse1 = new CompassUse(
1647745029814L,
@@ -295,7 +326,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(462.221954, 59.614719, 550.019165), 0)
)),
HandleCompassResult.SUCCESS,
- SolverState.NEED_SECOND_COMPASS);
+ SolverState.NEED_SECOND_COMPASS
+ );
private final CompassUse magmaCompassUse2 = new CompassUse(
DELAY_AFTER_FIRST_COMPASS_LAST_PARTICLE,
@@ -323,7 +355,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(449.110443, 54.623035, 556.079163), 49)
)),
HandleCompassResult.SUCCESS,
- SolverState.SOLVED);
+ SolverState.SOLVED
+ );
Vec3i magmaSolution = new Vec3i(737, 56, 444);
@@ -336,7 +369,8 @@ class CrystalWishingCompassSolverTest {
new BlockPos(512, 106, 512),
null,
HandleCompassResult.PLAYER_IN_NUCLEUS,
- SolverState.NOT_STARTED);
+ SolverState.NOT_STARTED
+ );
private void resetSolverState() {
solver.initWorld();
@@ -351,7 +385,7 @@ class CrystalWishingCompassSolverTest {
@BeforeEach
void setUp() {
- NEUDebugLogger.logMethod = CrystalWishingCompassSolverTest::neuDebugLog;
+ NEUDebugLogger.logMethod = CrystalWishingCompassSolverTest::neuDebugLog;
NEUDebugLogger.allFlagsEnabled = true;
resetSolverState();
}
@@ -361,9 +395,11 @@ class CrystalWishingCompassSolverTest {
for (CompassUse compassUse : solution.compassUses) {
systemTimeMillis += compassUse.timeIncrementMillis;
HandleCompassResult handleCompassResult = solver.handleCompassUse(compassUse.playerPos);
- Assertions.assertEquals(compassUse.expectedHandleCompassUseResult,
+ Assertions.assertEquals(
+ compassUse.expectedHandleCompassUseResult,
handleCompassResult,
- "CompassUse index " + index);
+ "CompassUse index " + index
+ );
for (ParticleSpawn particle : compassUse.particles) {
systemTimeMillis += particle.timeIncrementMillis;
@@ -371,15 +407,20 @@ class CrystalWishingCompassSolverTest {
particle.spawnLocation.xCoord,
particle.spawnLocation.yCoord,
particle.spawnLocation.zCoord,
- systemTimeMillis);
+ systemTimeMillis
+ );
}
- Assertions.assertEquals(compassUse.expectedSolverState,
+ Assertions.assertEquals(
+ compassUse.expectedSolverState,
solver.getSolverState(),
- "CompassUse index " + index);
+ "CompassUse index " + index
+ );
if (compassUse.expectedSolverState == SolverState.SOLVED) {
- Assertions.assertEquals(solution.expectedSolutionCoords,
- solver.getSolutionCoords());
+ Assertions.assertEquals(
+ solution.expectedSolutionCoords,
+ solver.getSolutionCoords()
+ );
}
index++;
@@ -395,7 +436,8 @@ class CrystalWishingCompassSolverTest {
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(compassUse)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -409,7 +451,8 @@ class CrystalWishingCompassSolverTest {
processingFirstUseCompassUse.expectedSolverState = SolverState.PROCESSING_FIRST_USE;
Solution processingFirstUseSolution = new Solution(
new ArrayList<>(Collections.singletonList(processingFirstUseCompassUse)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
checkSolution(processingFirstUseSolution);
Assertions.assertEquals(SolverState.PROCESSING_FIRST_USE, solver.getSolverState());
@@ -419,7 +462,8 @@ class CrystalWishingCompassSolverTest {
resetStateCompassUse.expectedSolverState = SolverState.FAILED_TIMEOUT_NO_REPEATING;
Solution goodSolution = new Solution(
new ArrayList<>(Collections.singletonList(resetStateCompassUse)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(goodSolution);
@@ -430,7 +474,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(minesOfDivanCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -441,7 +486,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(nucleusCompass)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -457,7 +503,8 @@ class CrystalWishingCompassSolverTest {
new ParticleSpawn(new Vec3Comparable(754.358459, 138.536407, 239.200928), 137)
)),
HandleCompassResult.SUCCESS,
- SolverState.PROCESSING_FIRST_USE);
+ SolverState.PROCESSING_FIRST_USE
+ );
// STILL_PROCESSING_FIRST_USE is expected instead of LOCATION_TOO_CLOSE since the solver
// isn't ready for the second compass use, which includes the location check
@@ -467,7 +514,8 @@ class CrystalWishingCompassSolverTest {
Solution solution = new Solution(
new ArrayList<>(Arrays.asList(compassUse1, compassUse2)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -477,13 +525,14 @@ class CrystalWishingCompassSolverTest {
void missing_repeating_particles_sets_state_to_failed_timeout_no_repeating() {
// Arrange
CompassUse compassUse = new CompassUse(minesOfDivanCompassUse1);
- compassUse.particles.remove(compassUse.particles.size()-1);
- compassUse.particles.get(compassUse.particles.size()-1).timeIncrementMillis += ALL_PARTICLES_MAX_MILLIS;
+ compassUse.particles.remove(compassUse.particles.size() - 1);
+ compassUse.particles.get(compassUse.particles.size() - 1).timeIncrementMillis += ALL_PARTICLES_MAX_MILLIS;
compassUse.expectedSolverState = SolverState.FAILED_TIMEOUT_NO_REPEATING;
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(compassUse)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -498,11 +547,12 @@ class CrystalWishingCompassSolverTest {
null,
HandleCompassResult.LOCATION_TOO_CLOSE,
SolverState.NEED_SECOND_COMPASS
- );
+ );
Solution solution = new Solution(
new ArrayList<>(Arrays.asList(minesOfDivanCompassUse1, secondCompassUse)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -557,7 +607,7 @@ class CrystalWishingCompassSolverTest {
// reverse the direction of the particles, moving the repeat particle
// to "new" end
- compassUse2.particles.remove(compassUse2.particles.size()-1);
+ compassUse2.particles.remove(compassUse2.particles.size() - 1);
Collections.reverse(compassUse2.particles);
// add a new repeat particle
compassUse2.particles.add(new ParticleSpawn(compassUse2.particles.get(0)));
@@ -567,7 +617,8 @@ class CrystalWishingCompassSolverTest {
compassUse2.expectedSolverState = SolverState.FAILED_INVALID_SOLUTION;
Solution solution = new Solution(
new ArrayList<>(Arrays.asList(minesOfDivanCompassUse1, compassUse2)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -584,7 +635,7 @@ class CrystalWishingCompassSolverTest {
// Arrange
CompassUse compassUse1 = new CompassUse(minesOfDivanCompassUse1);
CompassUse compassUse2 = new CompassUse(minesOfDivanCompassUse2);
- double invalidYOffset = -(minesOfDivanSolution.getY() - (CH_LOWEST_VALID_Y -1));
+ double invalidYOffset = -(minesOfDivanSolution.getY() - (CH_LOWEST_VALID_Y - 1));
Vec3 offset = new Vec3(0.0, invalidYOffset, 0.0);
compassUse1.playerPos = compassUse1.playerPos.add(offset.xCoord, offset.yCoord, offset.zCoord);
@@ -600,7 +651,8 @@ class CrystalWishingCompassSolverTest {
Solution solution = new Solution(
new ArrayList<>(Arrays.asList(compassUse1, compassUse2)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -646,7 +698,8 @@ class CrystalWishingCompassSolverTest {
compassUse.particles.get(2).spawnLocation.addVector(100.0, 100.0, 100.0);
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(minesOfDivanCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act & Assert
checkSolution(solution);
@@ -657,7 +710,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(goblinHoldoutCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
solver.kingsScentPresent = () -> true;
// Act
@@ -674,7 +728,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(goblinHoldoutCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
solver.kingsScentPresent = () -> false;
// Act
@@ -691,7 +746,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(jungleCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
solver.keyInInventory = () -> true;
// Act
@@ -708,7 +764,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(jungleCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
solver.keyInInventory = () -> false;
// Act
@@ -725,7 +782,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(precursorCityCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
solver.foundCrystals = () -> EnumSet.noneOf(Crystal.class);
solver.keyInInventory = () -> false;
solver.kingsScentPresent = () -> false;
@@ -747,14 +805,16 @@ class CrystalWishingCompassSolverTest {
}
private void CheckExcludedTargetsForCrystals(
- CompassUse compassUseToExecute,
- ArrayList<CompassTarget> excludedTargets,
- EnumSet<Crystal> foundCrystals) {
+ CompassUse compassUseToExecute,
+ ArrayList<CompassTarget> excludedTargets,
+ EnumSet<Crystal> foundCrystals
+ ) {
// Arrange
EnumSet<CompassTarget> targets;
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(compassUseToExecute)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act
checkSolution(solution);
@@ -796,7 +856,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
ArrayList<CompassTarget> excludedTargets = new ArrayList<>(Arrays.asList(
CompassTarget.ODAWA,
- CompassTarget.JUNGLE_TEMPLE));
+ CompassTarget.JUNGLE_TEMPLE
+ ));
// Act & Assert
CheckExcludedTargetsForCrystals(jungleCompassUse1, excludedTargets, EnumSet.of(Crystal.AMETHYST));
@@ -837,7 +898,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(minesOfDivanCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act
checkSolution(solution);
@@ -855,12 +917,13 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(minesOfDivanCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act
checkSolution(solution);
systemTimeMillis += minesOfDivanCompassUse2.timeIncrementMillis;
- BlockPos newLocation = minesOfDivanCompassUse2.playerPos.add(-400, 0 ,0);
+ BlockPos newLocation = minesOfDivanCompassUse2.playerPos.add(-400, 0, 0);
HandleCompassResult handleCompassResult = solver.handleCompassUse(newLocation);
// Assert
@@ -873,7 +936,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(jungleCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act
solver.keyInInventory = () -> false;
@@ -892,7 +956,8 @@ class CrystalWishingCompassSolverTest {
// Arrange
Solution solution = new Solution(
new ArrayList<>(Collections.singletonList(goblinHoldoutCompassUse1)),
- Vec3i.NULL_VECTOR);
+ Vec3i.NULL_VECTOR
+ );
// Act
solver.kingsScentPresent = () -> false;
@@ -980,17 +1045,19 @@ class CrystalWishingCompassSolverTest {
}
EnumSet<CompassTarget> GetSolutionTargetsHelper(
- HollowsZone compassUsedZone,
- EnumSet<Crystal> foundCrystals,
- EnumSet<CompassTarget> possibleTargets,
- Vec3Comparable solutionCoords,
- int expectedSolutionCount) {
+ HollowsZone compassUsedZone,
+ EnumSet<Crystal> foundCrystals,
+ EnumSet<CompassTarget> possibleTargets,
+ Vec3Comparable solutionCoords,
+ int expectedSolutionCount
+ ) {
EnumSet<CompassTarget> solutionTargets =
CrystalWishingCompassSolver.getSolutionTargets(
compassUsedZone,
foundCrystals,
possibleTargets,
- solutionCoords);
+ solutionCoords
+ );
Assertions.assertEquals(expectedSolutionCount, solutionTargets.size());
return solutionTargets;
}
@@ -1003,7 +1070,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
EnumSet.allOf(CompassTarget.class),
new Vec3Comparable(minesOfDivanSolution),
- 1);
+ 1
+ );
// Assert
Assertions.assertFalse(solutionTargets.contains(CompassTarget.CRYSTAL_NUCLEUS));
@@ -1021,7 +1089,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.of(Crystal.AMBER),
possibleTargets,
new Vec3Comparable(202, 72, 513), // upper left of Goblin Holdout
- 2);
+ 2
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.JUNGLE_TEMPLE));
@@ -1036,7 +1105,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
EnumSet.allOf(CompassTarget.class),
kingOdawaMinesOrNucleusCoordsInRemnants,
- 3);
+ 3
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.GOBLIN_KING));
@@ -1057,7 +1127,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
possibleTargets,
queenKingOdawaOrCityNucleusCoordsInMithrilDeposits,
- 2);
+ 2
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.GOBLIN_QUEEN));
@@ -1067,7 +1138,7 @@ class CrystalWishingCompassSolverTest {
@Test
void solutionPossibleTargets_excludes_jungle_temple_from_other_zone_when_not_overlapping() {
// Arrange
- Vec3Comparable notOverlapping = new Vec3Comparable(202, 72, 513+110); // upper left of Goblin Holdout
+ Vec3Comparable notOverlapping = new Vec3Comparable(202, 72, 513 + 110); // upper left of Goblin Holdout
EnumSet<CompassTarget> possibleTargets = EnumSet.allOf(CompassTarget.class);
possibleTargets.remove(CompassTarget.ODAWA);
@@ -1077,7 +1148,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.of(Crystal.AMBER),
possibleTargets,
notOverlapping,
- 1);
+ 1
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.BAL));
@@ -1094,7 +1166,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
EnumSet.allOf(CompassTarget.class),
notOverlapping,
- 0);
+ 0
+ );
}
@Test
@@ -1111,7 +1184,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
possibleTargets,
notOverlapping,
- 0);
+ 0
+ );
}
@Test
@@ -1126,7 +1200,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
possibleTargets,
new Vec3Comparable(goblinHoldoutKingSolution),
- 1);
+ 1
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.GOBLIN_KING));
@@ -1144,7 +1219,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
possibleTargets,
new Vec3Comparable(odawaSolution),
- 1);
+ 1
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.ODAWA));
@@ -1162,7 +1238,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
possibleTargets,
new Vec3Comparable(minesOfDivanSolution),
- 1);
+ 1
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.MINES_OF_DIVAN));
@@ -1182,7 +1259,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
possibleTargets,
new Vec3Comparable(jungleSolution),
- 1);
+ 1
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.JUNGLE_TEMPLE));
@@ -1201,7 +1279,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
possibleTargets,
new Vec3Comparable(goblinHoldoutQueenSolution),
- 1);
+ 1
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.GOBLIN_QUEEN));
@@ -1219,7 +1298,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
possibleTargets,
new Vec3Comparable(precursorCitySolution),
- 1);
+ 1
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.PRECURSOR_CITY));
@@ -1233,7 +1313,8 @@ class CrystalWishingCompassSolverTest {
EnumSet.noneOf(Crystal.class),
EnumSet.allOf(CompassTarget.class),
new Vec3Comparable(magmaSolution),
- 1);
+ 1
+ );
// Assert
Assertions.assertTrue(solutionTargets.contains(CompassTarget.BAL));
@@ -1269,11 +1350,13 @@ class CrystalWishingCompassSolverTest {
HandleCompassResult expectedHandleCompassUseResult;
SolverState expectedSolverState;
- CompassUse(long timeIncrementMillis,
- BlockPos playerPos,
- ArrayList<ParticleSpawn> particles,
- HandleCompassResult expectedHandleCompassUseResult,
- SolverState expectedState) {
+ CompassUse(
+ long timeIncrementMillis,
+ BlockPos playerPos,
+ ArrayList<ParticleSpawn> particles,
+ HandleCompassResult expectedHandleCompassUseResult,
+ SolverState expectedState
+ ) {
this.timeIncrementMillis = timeIncrementMillis;
this.playerPos = playerPos;
this.particles = particles != null ? particles : new ArrayList<>();
@@ -1296,7 +1379,11 @@ class CrystalWishingCompassSolverTest {
Solution(ArrayList<CompassUse> compassUses, Vec3i expectedSolutionCoords) {
this.compassUses = compassUses;
- this.expectedSolutionCoords = new Vec3i(expectedSolutionCoords.getX(), expectedSolutionCoords.getY(), expectedSolutionCoords.getZ());
+ this.expectedSolutionCoords = new Vec3i(
+ expectedSolutionCoords.getX(),
+ expectedSolutionCoords.getY(),
+ expectedSolutionCoords.getZ()
+ );
}
}
diff --git a/src/test/resources/log4j2-test.xml b/src/test/resources/log4j2-test.xml
index 25209eae..61ee1966 100644
--- a/src/test/resources/log4j2-test.xml
+++ b/src/test/resources/log4j2-test.xml
@@ -2,13 +2,13 @@
<Configuration status="WARN">
<Appenders>
<Console name="SysOut" target="SYSTEM_OUT">
- <PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg{nolookups}%n" />
+ <PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg{nolookups}%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<filters>
- <MarkerFilter marker="NETWORK_PACKETS" onMatch="DENY" onMismatch="NEUTRAL" />
+ <MarkerFilter marker="NETWORK_PACKETS" onMatch="DENY" onMismatch="NEUTRAL"/>
</filters>
<AppenderRef ref="SysOut"/>
</Root>