From 6a7573157c9292f329fad31f650f5aaefaeb4cab Mon Sep 17 00:00:00 2001 From: Intege-rs Date: Sat, 24 Jan 2026 08:48:01 -0500 Subject: [PATCH] 2026.01.24-6e2d4fc36 --- .gitignore | 30 +- .idea/gradle.xml | 1 + .idea/misc.xml | 1 - .idea/vcs.xml | 6 + _decomp/decomp.ps1 | 23 + build.gradle.kts | 13 +- gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 6 - gradlew | 234 ------ gradlew.bat | 89 --- .../hypixel/fastutil/util/SneakyThrow.java | 3 - src/com/hypixel/fastutil/util/TLRUtil.java | 3 - src/com/hypixel/hytale/LateMain.java | 3 - src/com/hypixel/hytale/Main.java | 3 - .../hytale/assetstore/AssetConstants.java | 3 - .../hypixel/hytale/assetstore/AssetMap.java | 3 - .../hytale/assetstore/AssetRegistry.java | 3 - .../assetstore/AssetValidationResults.java | 5 +- .../assetstore/codec/ContainedAssetCodec.java | 3 - .../hytale/assetstore/event/AssetsEvent.java | 2 - .../assetstore/map/AssetMapWithIndexes.java | 3 - .../map/CaseInsensitiveHashStrategy.java | 3 - .../camera/asset/CameraShakeConfig.java | 9 - .../adventure/camera/asset/EasingConfig.java | 3 - .../adventure/camera/asset/NoiseConfig.java | 6 - .../asset/cameraeffect/CameraShakeEffect.java | 3 - .../asset/cameraeffect/ShakeIntensity.java | 6 - .../CameraShakePacketGenerator.java | 3 - .../camera/asset/viewbobbing/ViewBobbing.java | 3 - .../ViewBobbingPacketGenerator.java | 3 - .../camera/command/CameraEffectCommand.java | 27 +- .../interaction/CameraShakeInteraction.java | 3 - .../camera/system/CameraEffectSystem.java | 3 - .../adventure/farming/FarmingSystems.java | 134 ++-- .../adventure/farming/FarmingUtil.java | 29 +- .../component/CoopResidentComponent.java | 7 +- .../FertilizerGrowthModifierAsset.java | 3 - .../LightLevelGrowthModifierAsset.java | 6 - .../modifiers/WaterGrowthModifierAsset.java | 3 - .../stages/BlockStateFarmingStageData.java | 3 - .../stages/BlockTypeFarmingStageData.java | 3 - .../config/stages/PrefabFarmingStageData.java | 6 - .../spread/DirectionalGrowthBehaviour.java | 6 - .../stages/spread/SpreadFarmingStageData.java | 3 - .../stages/spread/SpreadGrowthBehaviour.java | 3 - .../ChangeFarmingStageInteraction.java | 3 - .../FertilizeSoilInteraction.java | 3 - .../interactions/HarvestCropInteraction.java | 3 - .../UseCaptureCrateInteraction.java | 207 +++--- .../interactions/UseCoopInteraction.java | 27 +- .../UseWateringCanInteraction.java | 3 - .../adventure/farming/states/CoopBlock.java | 16 +- .../farming/states/FarmingBlockState.java | 6 - .../memories/MemoriesGameplayConfig.java | 30 +- .../adventure/memories/MemoriesPlugin.java | 87 ++- .../memories/commands/MemoriesCommand.java | 1 + .../commands/MemoriesSetCountCommand.java | 34 + .../memories/component/PlayerMemories.java | 3 - .../MemoriesConditionInteraction.java | 8 +- .../SetMemoriesCapacityInteraction.java | 3 - .../adventure/memories/memories/Memory.java | 3 - .../memories/memories/npc/NPCMemory.java | 46 +- .../memories/npc/NPCMemoryProvider.java | 3 +- .../adventure/memories/page/MemoriesPage.java | 16 +- .../memories/page/MemoriesPageSupplier.java | 7 +- .../memories/page/MemoriesUnlockedPage.java | 71 ++ .../page/MemoriesUnlockedPageSuplier.java | 18 + .../temple/ForgottenTempleConfig.java | 3 - .../temple/TempleRespawnPlayersSystem.java | 23 +- .../memories/window/MemoriesWindow.java | 15 +- .../KillSpawnBeaconObjectiveTaskAsset.java | 3 - .../builders/BuilderActionCompleteTask.java | 3 - .../builders/BuilderActionStartObjective.java | 3 - .../npc/builders/BuilderSensorHasTask.java | 3 - .../resources/KillTrackerResource.java | 3 - .../systems/KillTrackerSystem.java | 3 - .../SpawnBeaconCheckRemovalSystem.java | 3 - .../ReputationAttitudeSystem.java | 3 - .../builders/BuilderActionOpenBarterShop.java | 3 - .../npc/builders/BuilderActionOpenShop.java | 3 - .../adventure/objectives/DialogPage.java | 3 - .../adventure/objectives/ObjectivePlugin.java | 3 - .../blockstates/TreasureChestState.java | 3 - .../ObjectiveLocationMarkerCommand.java | 21 +- .../ObjectiveReachLocationMarkerCommand.java | 19 +- .../commands/ObjectiveStartCommand.java | 32 +- .../ClearObjectiveItemsCompletion.java | 6 +- .../components/ObjectiveHistoryComponent.java | 3 - .../config/ObjectiveLocationMarkerAsset.java | 3 - .../ObjectiveGameplayConfig.java | 3 - .../ObjectiveLocationMarkerArea.java | 3 - .../objectivesetup/ObjectiveTypeSetup.java | 3 - .../config/objectivesetup/SetupObjective.java | 3 - .../objectivesetup/SetupObjectiveLine.java | 3 - .../config/task/ObjectiveTaskAsset.java | 3 - .../config/task/ReachLocationTaskAsset.java | 3 - .../task/TreasureMapObjectiveTaskAsset.java | 3 - .../taskcondition/SoloInventoryCondition.java | 3 - .../HourRangeTriggerCondition.java | 3 - .../ObjectiveLocationTriggerCondition.java | 3 - .../WeatherTriggerCondition.java | 3 - .../LocationRadiusProvider.java | 3 - .../WorldLocationProvider.java | 3 - .../ObjectiveRewardHistoryData.java | 3 - .../CanBreakRespawnPointInteraction.java | 3 - .../StartObjectiveInteraction.java | 3 - .../markers/ObjectiveMarkerProvider.java | 7 +- .../ObjectiveLocationMarkerSystems.java | 6 - .../ReachLocationMarkerAsset.java | 3 - .../ReachLocationMarkerSystems.java | 6 - .../ObjectiveItemEntityRemovalSystem.java | 3 - .../objectives/task/GatherObjectiveTask.java | 27 +- .../transaction/TransactionRecord.java | 3 - .../transaction/TransactionStatus.java | 3 - .../transaction/TransactionUtil.java | 3 - .../transaction/WorldTransactionRecord.java | 3 - .../reputation/ReputationGameplayConfig.java | 6 - .../store/ReputationDataResource.java | 3 - .../builtin/adventure/shop/ShopElement.java | 3 - .../adventure/shop/ShopPageSupplier.java | 3 - .../adventure/shop/barter/BarterPage.java | 3 - .../shop/barter/BarterShopState.java | 3 - .../adventure/stash/StashGameplayConfig.java | 3 - .../teleporter/TeleporterPlugin.java | 6 - .../teleporter/component/Teleporter.java | 11 +- .../server/TeleporterInteraction.java | 37 +- .../page/TeleporterSettingsPage.java | 6 - .../page/TeleporterSettingsPageSupplier.java | 3 - .../CreateWarpWhenTeleporterPlacedSystem.java | 36 +- .../NeighbourBlockTagsLocationCondition.java | 6 - .../builtin/ambience/AmbiencePlugin.java | 3 - .../ambience/components/AmbienceTracker.java | 3 - .../components/AmbientEmitterComponent.java | 3 - .../ambience/resources/AmbienceResource.java | 3 - .../systems/AmbientEmitterSystems.java | 12 - .../ambience/systems/ForcedMusicSystems.java | 25 +- .../asseteditor/AssetEditorPlugin.java | 9 +- .../AssetSpecificFunctionality.java | 6 - .../asseteditor/AssetTypeRegistry.java | 3 - .../hytale/builtin/asseteditor/Messages.java | 3 - .../builtin/asseteditor/UndoRedoManager.java | 3 - .../assettypehandler/AssetTypeHandler.java | 3 - .../builtin/asseteditor/data/AssetState.java | 3 - .../asseteditor/data/AssetUndoRedoInfo.java | 3 - .../asseteditor/data/ModifiedAsset.java | 3 - .../asseteditor/util/AssetPathUtil.java | 3 - .../asseteditor/util/AssetStoreUtil.java | 3 - .../util/BsonTransformationUtil.java | 3 - .../beds/interactions/BedInteraction.java | 50 +- .../beds/respawn/RespawnPointPage.java | 3 - .../beds/sleep/components/PlayerSleep.java | 3 - .../sleep/components/PlayerSomnolence.java | 4 +- .../beds/sleep/components/SleepTracker.java | 6 +- .../beds/sleep/resources/WorldSleep.java | 3 - .../beds/sleep/resources/WorldSomnolence.java | 10 +- .../sleep/systems/player/EnterBedSystem.java | 34 +- .../systems/player/RegisterTrackerSystem.java | 13 +- .../player/UpdateSleepPacketSystem.java | 34 +- .../player/WakeUpOnDismountSystem.java | 27 +- .../sleep/systems/world/CanSleepInWorld.java | 6 - .../systems/world/StartSlumberSystem.java | 12 +- .../world/UpdateWorldSlumberSystem.java | 24 +- .../blockphysics/BlockPhysicsSystems.java | 6 - .../blockphysics/BlockPhysicsUtil.java | 6 - .../blockphysics/PrefabBufferValidator.java | 19 +- .../blockphysics/WorldValidationUtil.java | 13 +- .../blockspawner/BlockSpawnerEntry.java | 6 - .../blockspawner/BlockSpawnerPlugin.java | 46 +- .../system/ChunkBlockTickSystem.java | 9 - .../system/MergeWaitingBlocksSystem.java | 3 - .../builtin/buildertools/BlockColorIndex.java | 3 - .../BuilderToolsPacketHandler.java | 42 +- .../buildertools/BuilderToolsPlugin.java | 172 +++-- .../buildertools/BuilderToolsSystems.java | 6 - .../buildertools/BuilderToolsUserData.java | 3 - .../BuilderToolsUserDataSystem.java | 3 - .../builtin/buildertools/CopyCutSettings.java | 3 - .../commands/ClearBlocksCommand.java | 4 + .../commands/ClearEntitiesCommand.java | 4 +- .../buildertools/commands/CopyCommand.java | 63 +- .../buildertools/commands/PasteCommand.java | 12 +- .../buildertools/commands/PrefabCommand.java | 59 +- .../buildertools/commands/ReplaceCommand.java | 72 +- .../imageimport/ImageImportPage.java | 240 ++---- .../buildertools/objimport/ObjImportPage.java | 251 +++---- .../PrefabEditSessionManager.java | 9 +- .../prefabeditor/PrefabLoadingState.java | 3 - .../prefabeditor/PrefabMarkerProvider.java | 10 +- .../PrefabSelectionInteraction.java | 3 - .../PrefabSetAnchorInteraction.java | 3 - .../enums/PrefabStackingAxis.java | 3 - .../prefabeditor/saving/PrefabSaver.java | 360 +++++---- .../saving/PrefabSaverSettings.java | 3 - .../ui/PrefabEditorExitConfirmPage.java | 5 +- .../ui/PrefabEditorLoadSettingsPage.java | 20 +- .../ui/PrefabEditorSaveSettingsPage.java | 32 +- .../prefabeditor/ui/PrefabTeleportPage.java | 5 +- .../prefablist/AssetPrefabFileProvider.java | 16 +- .../buildertools/prefablist/PrefabPage.java | 76 +- .../prefablist/PrefabSavePage.java | 32 +- .../scriptedbrushes/BrushConfig.java | 6 - .../BrushConfigCommandExecutor.java | 3 - .../scriptedbrushes/ScriptedBrushAsset.java | 3 - .../commands/BrushConfigLoadCommand.java | 4 +- .../sequential/HeightmapLayerOperation.java | 4 + .../operations/sequential/LayerOperation.java | 4 + .../flowcontrol/JumpIfBlockTypeOperation.java | 49 +- .../flowcontrol/JumpIfClickType.java | 3 - .../flowcontrol/JumpIfToolArgOperation.java | 3 - .../scriptedbrushes/ui/ScriptedBrushPage.java | 16 +- .../tooloperations/LayersOperation.java | 25 +- .../tooloperations/TintOperation.java | 7 +- .../buildertools/utils/PasteToolUtil.java | 71 ++ .../utils/RecursivePrefabLoader.java | 3 - .../commandmacro/MacroCommandBuilder.java | 3 - .../commandmacro/MacroCommandParameter.java | 6 - .../builtin/crafting/CraftingPlugin.java | 8 +- .../crafting/component/CraftingManager.java | 312 +++++--- .../interaction/LearnRecipeInteraction.java | 3 - .../interaction/OpenBenchPageInteraction.java | 23 +- .../OpenProcessingBenchInteraction.java | 6 +- .../builtin/crafting/state/BenchState.java | 15 +- .../crafting/state/ProcessingBenchState.java | 28 +- .../system/PlayerCraftingSystems.java | 79 +- .../builtin/crafting/window/BenchWindow.java | 64 +- .../crafting/window/CraftingWindow.java | 46 +- .../window/DiagramCraftingWindow.java | 135 ++-- .../crafting/window/FieldCraftingWindow.java | 9 +- .../window/ProcessingBenchWindow.java | 20 +- .../crafting/window/SimpleCraftingWindow.java | 4 +- .../window/StructuralCraftingWindow.java | 40 +- .../config/CreativeHubEntityConfig.java | 3 - .../config/CreativeHubWorldConfig.java | 3 - .../interactions/HubPortalInteraction.java | 9 +- .../builtin/deployables/DeployablesUtils.java | 3 - .../component/DeployableComponent.java | 6 - .../component/DeployableOwnerComponent.java | 3 - .../DeployableProjectileShooterComponent.java | 3 - .../config/DeployableAoeConfig.java | 3 - .../config/DeployableTrapSpawnerConfig.java | 3 - .../config/DeployableTurretConfig.java | 3 - ...awnDeployableAtHitLocationInteraction.java | 6 +- ...SpawnDeployableFromRaycastInteraction.java | 8 +- .../deployables/system/DeployablesSystem.java | 12 - .../hytale/builtin/fluid/FluidSystems.java | 21 - .../builtin/hytalegenerator/ArrayUtil.java | 3 - .../builtin/hytalegenerator/BlockMask.java | 3 - .../builtin/hytalegenerator/FutureUtils.java | 3 - .../builtin/hytalegenerator/Indexer.java | 3 - .../builtin/hytalegenerator/LoggerUtil.java | 3 - .../builtin/hytalegenerator/VectorUtil.java | 3 - .../hytalegenerator/assets/AssetManager.java | 8 +- .../hytalegenerator/assets/ValidatorUtil.java | 3 - .../assets/blockmask/BlockMaskAsset.java | 6 - .../assets/blockset/MaterialSetAsset.java | 3 - .../assets/curves/CeilingCurveAsset.java | 3 - .../assets/curves/ClampCurveAsset.java | 3 - .../curves/DistanceExponentialCurveAsset.java | 3 - .../assets/curves/DistanceSCurveAsset.java | 3 - .../assets/curves/FloorCurveAsset.java | 3 - .../assets/curves/ImportedCurveAsset.java | 3 - .../assets/curves/InverterCurveAsset.java | 3 - .../assets/curves/MaxCurveAsset.java | 3 - .../assets/curves/MinCurveAsset.java | 3 - .../assets/curves/MultiplierCurveAsset.java | 3 - .../assets/curves/NotCurveAsset.java | 3 - .../curves/SmoothCeilingCurveAsset.java | 3 - .../assets/curves/SmoothClampCurveAsset.java | 3 - .../assets/curves/SmoothFloorCurveAsset.java | 3 - .../assets/curves/SmoothMaxCurveAsset.java | 3 - .../assets/curves/SmoothMinCurveAsset.java | 3 - .../assets/curves/SumCurveAsset.java | 3 - .../curves/legacy/NodeFunctionYOutAsset.java | 3 - .../assets/delimiters/RangeDoubleAsset.java | 3 - .../assets/delimiters/RangeIntAsset.java | 3 - .../assets/density/AbsDensityAsset.java | 3 - .../density/AmplitudeConstantAsset.java | 3 - .../assets/density/AmplitudeDensityAsset.java | 3 - .../assets/density/AnchorDensityAsset.java | 3 - .../assets/density/AngleDensityAsset.java | 3 - .../assets/density/AxisDensityAsset.java | 3 - .../density/BaseHeightDensityAsset.java | 3 - .../Cache2dDensityAsset_Deprecated.java | 3 - .../assets/density/CacheDensityAsset.java | 3 - .../assets/density/CeilingDensityAsset.java | 3 - .../density/CellNoise2DDensityAsset.java | 3 - .../density/CellNoise3DDensityAsset.java | 3 - .../density/CellWallDistanceDensityAsset.java | 3 - .../assets/density/ClampDensityAsset.java | 3 - .../assets/density/ConstantDensityAsset.java | 3 - .../assets/density/CubeDensityAsset.java | 3 - .../assets/density/CuboidDensityAsset.java | 3 - .../density/CurveMapperDensityAsset.java | 3 - .../assets/density/CylinderDensityAsset.java | 3 - .../assets/density/DensityAsset.java | 3 - .../assets/density/DistanceDensityAsset.java | 3 - .../DistanceToBiomeEdgeDensityAsset.java | 3 - .../assets/density/EllipsoidDensityAsset.java | 3 - .../assets/density/ExportedDensityAsset.java | 3 - .../density/FastGradientWarpDensityAsset.java | 3 - .../assets/density/FloorDensityAsset.java | 3 - .../assets/density/GradientDensityAsset.java | 3 - .../density/GradientWarpDensityAsset.java | 6 - .../assets/density/ImportedDensityAsset.java | 3 - .../assets/density/InverterDensityAsset.java | 3 - .../assets/density/MaxDensityAsset.java | 3 - .../assets/density/MinDensityAsset.java | 3 - .../assets/density/MixDensityAsset.java | 3 - .../assets/density/MultiMixDensityAsset.java | 6 - .../density/MultiplierDensityAsset.java | 3 - .../density/NormalizerDensityAsset.java | 3 - .../assets/density/OffsetConstantAsset.java | 3 - .../assets/density/OffsetDensityAsset.java | 3 - .../assets/density/PipelineDensityAsset.java | 3 - .../assets/density/PlaneDensityAsset.java | 3 - .../density/PositionsPinchDensityAsset.java | 3 - .../density/PositionsTwistDensityAsset.java | 3 - .../assets/density/PowDensityAsset.java | 3 - .../assets/density/RotatorDensityAsset.java | 3 - .../assets/density/ScaleDensityAsset.java | 3 - .../assets/density/SelectorDensityAsset.java | 3 - .../assets/density/ShellDensityAsset.java | 3 - .../density/SimplexNoise2dDensityAsset.java | 3 - .../density/SimplexNoise3DDensityAsset.java | 3 - .../assets/density/SliderDensityAsset.java | 3 - .../density/SmoothCeilingDensityAsset.java | 3 - .../density/SmoothClampDensityAsset.java | 3 - .../density/SmoothFloorDensityAsset.java | 3 - .../assets/density/SmoothMaxDensityAsset.java | 3 - .../assets/density/SmoothMinDensityAsset.java | 3 - .../assets/density/SqrtDensityAsset.java | 3 - .../assets/density/SumDensityAsset.java | 3 - .../assets/density/SwitchDensityAsset.java | 6 - .../density/SwitchStateDensityAsset.java | 3 - .../assets/density/TerrainDensityAsset.java | 3 - .../density/VectorWarpDensityAsset.java | 3 - .../assets/density/XOverrideDensityAsset.java | 3 - .../assets/density/XValueDensityAsset.java | 3 - .../assets/density/YOverrideDensityAsset.java | 3 - .../assets/density/YValueDensityAsset.java | 3 - .../assets/density/ZOverrideDensityAsset.java | 3 - .../assets/density/ZValueDensityAsset.java | 3 - .../positions/Positions3DDensityAsset.java | 3 - .../PositionsCellNoiseDensityAsset.java | 3 - .../EuclideanDistanceFunctionAsset.java | 3 - .../ManhattanDistanceFunctionAsset.java | 3 - .../returntypes/CellValueReturnTypeAsset.java | 3 - .../returntypes/CurveReturnTypeAsset.java | 3 - .../returntypes/DensityReturnTypeAsset.java | 6 - .../Distance2AddReturnTypeAsset.java | 3 - .../Distance2DivReturnTypeAsset.java | 3 - .../Distance2MulReturnTypeAsset.java | 3 - .../returntypes/Distance2ReturnTypeAsset.java | 3 - .../Distance2SubReturnTypeAsset.java | 3 - .../returntypes/DistanceReturnTypeAsset.java | 3 - .../returntypes/ImportedReturnTypeAsset.java | 3 - .../ConstantEnvironmentProviderAsset.java | 3 - ...sityDelimitedEnvironmentProviderAsset.java | 6 - .../ConstantMaterialProviderAsset.java | 3 - .../DownwardDepthMaterialProviderAsset.java | 3 - .../DownwardSpaceMaterialProviderAsset.java | 3 - .../FieldFunctionMaterialProviderAsset.java | 6 - .../ImportedMaterialProviderAsset.java | 3 - .../QueueMaterialProviderAsset.java | 3 - ...SimpleHorizontalMaterialProviderAsset.java | 3 - .../SolidityMaterialProviderAsset.java | 3 - .../StripedMaterialProviderAsset.java | 6 - .../TerrainDensityMaterialProviderAsset.java | 6 - .../UpwardDepthMaterialProviderAsset.java | 3 - .../UpwardSpaceMaterialProviderAsset.java | 3 - .../WeightedMaterialProviderAsset.java | 6 - .../SpaceAndDepthMaterialProviderAsset.java | 3 - .../AlwaysTrueConditionAsset.java | 3 - .../conditionassets/AndConditionAsset.java | 3 - .../conditionassets/EqualsConditionAsset.java | 3 - .../GreaterThanConditionAsset.java | 3 - .../conditionassets/NotConditionAsset.java | 3 - .../conditionassets/OrConditionAsset.java | 3 - .../SmallerThanConditionAsset.java | 3 - .../ConstantThicknessLayerAsset.java | 3 - .../layerassets/NoiseThicknessAsset.java | 3 - .../layerassets/RangeThicknessAsset.java | 3 - .../WeightedThicknessLayerAsset.java | 6 - .../noisegenerators/CellNoiseAsset.java | 3 - .../noisegenerators/SimplexNoiseAsset.java | 3 - .../assets/patterns/AndPatternAsset.java | 3 - .../assets/patterns/BlockSetPatternAsset.java | 3 - .../assets/patterns/CeilingPatternAsset.java | 3 - .../assets/patterns/ConstantPatternAsset.java | 3 - .../assets/patterns/CuboidPatternAsset.java | 3 - .../assets/patterns/DensityPatternAsset.java | 6 - .../assets/patterns/FloorPatternAsset.java | 3 - .../assets/patterns/GapPatternAsset.java | 3 - .../assets/patterns/ImportedPatternAsset.java | 3 - .../assets/patterns/MaterialPatternAsset.java | 3 - .../assets/patterns/NotPatternAsset.java | 3 - .../assets/patterns/OffsetPatternAsset.java | 3 - .../assets/patterns/OrPatternAsset.java | 3 - .../assets/patterns/SurfacePatternAsset.java | 3 - .../assets/patterns/WallPatternAsset.java | 3 - .../MeshPointGeneratorAsset.java | 3 - .../NoPointGeneratorAsset.java | 3 - .../AnchorPositionProviderAsset.java | 3 - .../BaseHeightPositionProviderAsset.java | 3 - .../CachedPositionProviderAsset.java | 3 - ...nctionOccurrencePositionProviderAsset.java | 3 - .../FieldFunctionPositionProviderAsset.java | 6 - .../ImportedPositionProviderAsset.java | 3 - .../ListPositionProviderAsset.java | 6 - .../Mesh2DPositionProviderAsset.java | 3 - .../Mesh3DPositionProviderAsset.java | 3 - .../OffsetPositionProviderAsset.java | 3 - ...impleHorizontalPositionProviderAsset.java} | 22 +- .../SpherePositionProviderAsset.java | 3 - .../UnionPositionProviderAsset.java | 3 - .../ConstantAssignmentsAsset.java | 3 - .../FieldFunctionAssignmentsAsset.java | 6 - .../ImportedAssignmentsAsset.java | 3 - .../SandwichAssignmentsAsset.java | 6 - .../WeightedAssignmentsAsset.java | 6 - .../assets/props/BoxPropAsset.java | 3 - .../assets/props/ClusterPropAsset.java | 20 +- .../assets/props/ColumnPropAsset.java | 6 - .../assets/props/DensityPropAsset.java | 3 - .../assets/props/ImportedPropAsset.java | 3 - .../assets/props/NoPropAsset.java | 16 +- .../assets/props/OffsetPropAsset.java | 30 + .../assets/props/PondFillerPropAsset.java | 3 - .../assets/props/QueuePropAsset.java | 3 - .../assets/props/UnionPropAsset.java | 3 - .../assets/props/WeightedPropAsset.java | 87 +++ .../assets/props/prefabprop/PrefabLoader.java | 3 - .../props/prefabprop/PrefabPropAsset.java | 6 - .../ImportedDirectionalityAsset.java | 3 - .../PatternDirectionalityAsset.java | 3 - .../RandomDirectionalityAsset.java | 3 - .../StaticDirectionalityAsset.java | 3 - .../assets/scanners/AreaScannerAsset.java | 3 - .../scanners/ColumnLinearScannerAsset.java | 3 - .../scanners/ColumnRandomScannerAsset.java | 3 - .../assets/scanners/ImportedScannerAsset.java | 3 - .../assets/scanners/OriginScannerAsset.java | 3 - .../assets/terrains/DensityTerrainAsset.java | 3 - .../ConstantTintProviderAsset.java | 3 - .../DensityDelimitedTintProviderAsset.java | 6 - .../DensityGradientVectorProviderAsset.java | 3 - .../ExportedVectorProviderAsset.java | 3 - .../ImportedVectorProviderAsset.java | 3 - .../vectorproviders/VectorProviderAsset.java | 3 - .../basic/BasicWorldStructureAsset.java | 3 - .../hytalegenerator/biomemap/BiomeMap.java | 2 - .../hytalegenerator/bounds/SpaceSize.java | 5 + .../chunkgenerator/ChunkRequest.java | 19 +- .../chunkgenerator/FallbackGenerator.java | 3 - .../stagedconveyor/ContextDependency.java | 20 +- .../datastructures/CollectionFactory.java | 3 - .../HashedBiCoordinateCache.java | 3 - .../compression/Compressor.java | 3 - .../voxelspace/VoxelSpaceUtil.java | 3 - .../hytalegenerator/density/Density.java | 3 - .../density/nodes/CacheDensity.java | 3 - .../nodes/CellWallDistanceDensity.java | 3 - .../nodes/DistanceToBiomeEdgeDensity.java | 3 - .../density/nodes/MultiMixDensity.java | 3 - .../PositionsHorizontalPinchDensity.java | 3 - .../density/nodes/RotatorDensity.java | 3 - .../density/nodes/TerrainDensity.java | 3 - .../density/nodes/XValueDensity.java | 3 - .../density/nodes/YValueDensity.java | 3 - .../density/nodes/ZValueDensity.java | 3 - .../distancefunctions/DistanceFunction.java | 3 - .../EuclideanDistanceFunction.java | 3 - .../ManhattanDistanceFunction.java | 3 - .../returntypes/DensityReturnType.java | 3 - .../returntypes/Distance2AddReturnType.java | 3 - .../returntypes/Distance2DivReturnType.java | 3 - .../returntypes/Distance2MulReturnType.java | 3 - .../returntypes/Distance2ReturnType.java | 3 - .../returntypes/Distance2SubReturnType.java | 3 - .../returntypes/DistanceReturnType.java | 3 - .../positions/returntypes/ReturnType.java | 3 - .../EnvironmentProvider.java | 3 - .../hytalegenerator/fields/FastNoiseLite.java | 21 - .../fields/noise/NoiseField.java | 3 - .../hytalegenerator/fields/noise/Simplex.java | 3 - .../fields/points/PointField.java | 3 - .../framework/cartas/ImageCarta.java | 3 - .../interfaces/functions/BiCarta.java | 3 - .../interfaces/functions/TriCarta.java | 3 - .../framework/math/BitConverter.java | 3 - .../framework/math/Calculator.java | 3 - .../framework/math/CoPrimeGenerator.java | 3 - .../framework/math/Combiner.java | 3 - .../framework/math/Interpolation.java | 3 - .../framework/math/MultipliedIteration.java | 3 - .../framework/math/NodeFunction.java | 3 - .../framework/math/Normalizer.java | 3 - .../framework/math/Probability.java | 3 - .../framework/math/Splitter.java | 3 - .../iterators/IntIterators.java | 3 - .../hytalegenerator/material/Material.java | 3 - .../material/MaterialCache.java | 3 - .../materialproviders/MaterialProvider.java | 3 - .../SpaceAndDepthMaterialProvider.java | 6 - .../conditions/ConditionParameter.java | 3 - .../hytalegenerator/newsystem/GridUtils.java | 3 - .../newsystem/NStagedChunkGenerator.java | 3 - .../newsystem/bufferbundle/NBufferBundle.java | 9 - .../bufferbundle/buffers/NBuffer.java | 2 - .../buffers/NCountedPixelBuffer.java | 6 - .../bufferbundle/buffers/NEntityBuffer.java | 3 - .../bufferbundle/buffers/NPixelBuffer.java | 3 - .../buffers/NSimplePixelBuffer.java | 6 - .../bufferbundle/buffers/NVoxelBuffer.java | 6 - .../TimeInstrument.java | 3 - .../newsystem/stages/NBiomeDistanceStage.java | 3 - .../newsystem/stages/NPropStage.java | 2 +- .../newsystem/stages/NTerrainStage.java | 3 - .../patterns/FieldFunctionPattern.java | 3 - .../hytalegenerator/patterns/Pattern.java | 3 - .../patterns/SurfacePattern.java | 3 - .../hytalegenerator/patterns/WallPattern.java | 3 - .../hytalegenerator/plugin/Handle.java | 2 +- .../plugin/HandleProvider.java | 19 +- .../plugin/HytaleGenerator.java | 9 +- .../FieldFunctionPositionProvider.java | 3 - .../positionproviders/PositionProvider.java | 3 - ... => SimpleHorizontalPositionProvider.java} | 13 +- .../propdistributions/Assignments.java | 3 - .../hytalegenerator/props/BoxProp.java | 13 +- .../hytalegenerator/props/ClusterProp.java | 13 +- .../hytalegenerator/props/ColumnProp.java | 15 +- .../hytalegenerator/props/DensityProp.java | 13 +- .../hytalegenerator/props/OffsetProp.java | 54 ++ .../builtin/hytalegenerator/props/Prop.java | 21 +- .../hytalegenerator/props/QueueProp.java | 19 +- .../hytalegenerator/props/UnionProp.java | 19 +- .../hytalegenerator/props/WeightedProp.java | 107 +++ .../props/directionality/Directionality.java | 3 - .../directionality/OrthogonalDirection.java | 3 - .../props/filler/PondFillerProp.java | 13 +- .../props/prefab/MoldingDirection.java | 3 - .../props/prefab/PrefabProp.java | 15 +- .../props/prefab/PropPrefabUtil.java | 3 - .../rangemaps/DoubleRangeMap.java | 3 - .../referencebundle/Reference.java | 2 - .../referencebundle/ReferenceBundle.java | 3 - .../hytalegenerator/scanners/AreaScanner.java | 6 - .../scanners/ColumnRandomScanner.java | 3 - .../hytalegenerator/scanners/Scanner.java | 3 - .../threadindexer/WorkerIndexer.java | 3 - .../tintproviders/NoTintProvider.java | 3 - .../tintproviders/TintProvider.java | 3 - .../vectorproviders/CacheVectorProvider.java | 3 - .../vectorproviders/VectorProvider.java | 3 - .../builtin/instances/InstanceValidator.java | 3 - .../builtin/instances/InstancesPlugin.java | 14 +- .../blocks/ConfigurableInstanceBlock.java | 3 - .../instances/blocks/InstanceBlock.java | 3 - .../command/InstanceEditLoadCommand.java | 5 +- .../instances/config/ExitInstance.java | 13 +- .../config/InstanceDiscoveryConfig.java | 3 - .../config/InstanceEntityConfig.java | 3 - .../instances/config/InstanceWorldConfig.java | 3 - .../interactions/ExitInstanceInteraction.java | 3 - .../TeleportConfigInstanceInteraction.java | 3 - .../TeleportInstanceInteraction.java | 6 - .../page/ConfigureInstanceBlockPage.java | 6 - .../instances/page/InstanceListPage.java | 219 ++++-- .../removal/IdleTimeoutCondition.java | 3 - .../removal/InstanceDataResource.java | 3 - .../instances/removal/RemovalSystem.java | 3 - .../builtin/model/pages/ChangeModelPage.java | 3 - .../hytale/builtin/mounts/BlockMountAPI.java | 3 - .../hytale/builtin/mounts/MountSystems.java | 39 - .../builtin/mounts/MountedByComponent.java | 3 - .../builtin/mounts/NPCMountComponent.java | 3 - .../builtin/mounts/NPCMountSystems.java | 9 - .../mounts/interactions/MountInteraction.java | 3 - .../interactions/SeatingInteraction.java | 5 +- .../SpawnMinecartInteraction.java | 3 - .../npc/builders/BuilderActionMount.java | 3 - .../CombatActionEvaluatorSystems.java | 6 - .../npccombatactionevaluator/Positioning.java | 3 - .../RecentSustainedDamageCondition.java | 3 - .../TargetMemoryCountCondition.java | 6 - .../TotalSustainedDamageCondition.java | 3 - .../config/CombatBalanceAsset.java | 5 +- .../corecomponents/CombatTargetCollector.java | 3 - .../BuilderActionAddToTargetMemory.java | 3 - .../builders/BuilderActionCombatAbility.java | 3 - .../BuilderCombatTargetCollector.java | 3 - .../BuilderSensorCombatActionEvaluator.java | 3 - .../BuilderSensorHasHostileTargetMemory.java | 3 - .../CombatActionEvaluatorConfig.java | 3 - .../combatactions/AbilityCombatAction.java | 3 - .../BasicAttackTargetCombatAction.java | 3 - .../combatactions/CombatActionOption.java | 3 - .../combatactions/StateCombatAction.java | 3 - .../memory/DamageMemory.java | 3 - .../memory/DamageMemorySystems.java | 3 - .../memory/TargetMemorySystems.java | 3 - .../parkour/ParkourCheckpointSystems.java | 6 - .../builtin/path/PrefabPathCollection.java | 3 - .../builtin/path/PrefabPathSystems.java | 44 +- .../hytale/builtin/path/WorldPathBuilder.java | 3 - .../hytale/builtin/path/WorldPathData.java | 3 - .../commands/WorldPathBuilderCommand.java | 9 +- .../builtin/path/path/TransientPath.java | 3 - .../components/PortalDeviceConfig.java | 3 - .../components/voidevent/VoidEvent.java | 3 - .../components/voidevent/VoidSpawner.java | 3 - .../config/InvasionPortalConfig.java | 3 - .../voidevent/config/VoidEventConfig.java | 3 - .../voidevent/config/VoidEventStage.java | 3 - .../integrations/PortalGameplayConfig.java | 3 - .../integrations/PortalMarkerProvider.java | 12 +- .../interactions/EnterPortalInteraction.java | 6 - .../interactions/ReturnPortalInteraction.java | 3 - .../portals/resources/PortalWorld.java | 3 - .../CloseWorldWhenBreakingDeviceSystems.java | 45 +- .../PortalInvalidDestinationSystem.java | 3 - .../portals/systems/PortalTrackerSystems.java | 3 - .../systems/curse/CurseItemDropsSystem.java | 3 - .../curse/DeleteCursedItemsOnSpawnSystem.java | 3 - .../systems/curse/DiedInPortalSystem.java | 3 - .../systems/voidevent/VoidEventRefSystem.java | 3 - .../systems/voidevent/VoidSpawnerSystems.java | 6 - .../portals/ui/PortalDeviceActivePage.java | 6 - .../portals/ui/PortalDevicePageSupplier.java | 3 - .../portals/ui/PortalDeviceSummonPage.java | 20 +- .../builtin/portals/ui/PortalSpawnFinder.java | 6 - .../utils/posqueries/SpatialQueryDebug.java | 4 +- .../posqueries/generators/SearchCone.java | 2 +- .../posqueries/predicates/FitsAPortal.java | 3 - .../hytale/builtin/tagset/TagSetPlugin.java | 3 - .../builtin/teleport/TeleportPlugin.java | 15 +- .../hypixel/hytale/builtin/teleport/Warp.java | 6 +- .../hytale/builtin/teleport/WarpListPage.java | 3 - .../commands/teleport/SpawnCommand.java | 18 +- .../commands/teleport/SpawnSetCommand.java | 4 +- .../commands/teleport/TeleportAllCommand.java | 40 +- .../teleport/TeleportHistoryCommand.java | 4 +- .../teleport/TeleportHomeCommand.java | 15 +- .../commands/teleport/TeleportTopCommand.java | 4 +- .../teleport/TeleportWorldCommand.java | 14 +- .../variant/TeleportOtherToPlayerCommand.java | 19 +- .../TeleportPlayerToCoordinatesCommand.java | 16 +- .../variant/TeleportToCoordinatesCommand.java | 15 +- .../variant/TeleportToPlayerCommand.java | 13 +- .../teleport/commands/warp/WarpCommand.java | 21 +- .../commands/warp/WarpListCommand.java | 14 +- .../commands/warp/WarpReloadCommand.java | 3 +- .../commands/warp/WarpRemoveCommand.java | 6 +- .../commands/warp/WarpSetCommand.java | 16 +- .../teleport/components/TeleportHistory.java | 48 +- .../weather/commands/WeatherGetCommand.java | 5 +- .../weather/commands/WeatherResetCommand.java | 5 +- .../weather/commands/WeatherSetCommand.java | 4 +- .../weather/systems/WeatherSystem.java | 52 +- .../hytale/codec/builder/BuilderCodec.java | 3 - .../codec/codecs/BsonDocumentCodec.java | 3 - .../hytale/codec/codecs/EnumCodec.java | 3 - .../codec/codecs/StringIntegerCodec.java | 3 - .../hytale/codec/codecs/UUIDBinaryCodec.java | 3 - .../codec/codecs/array/DoubleArrayCodec.java | 3 - .../codec/codecs/array/FloatArrayCodec.java | 3 - .../codec/codecs/array/IntArrayCodec.java | 3 - .../codec/codecs/array/LongArrayCodec.java | 3 - .../codec/codecs/simple/BooleanCodec.java | 3 - .../hytale/codec/codecs/simple/ByteCodec.java | 3 - .../codec/codecs/simple/DoubleCodec.java | 3 - .../codec/codecs/simple/FloatCodec.java | 3 - .../codec/codecs/simple/IntegerCodec.java | 3 - .../hytale/codec/codecs/simple/LongCodec.java | 3 - .../codec/codecs/simple/ShortCodec.java | 3 - .../codec/codecs/simple/StringCodec.java | 3 - .../hytale/codec/schema/SchemaContext.java | 3 - .../codec/schema/config/ArraySchema.java | 3 - .../codec/schema/config/BooleanSchema.java | 3 - .../codec/schema/config/IntegerSchema.java | 6 - .../codec/schema/config/NullSchema.java | 3 - .../codec/schema/config/NumberSchema.java | 6 - .../codec/schema/config/ObjectSchema.java | 3 - .../hytale/codec/schema/config/Schema.java | 15 +- .../codec/schema/config/StringSchema.java | 3 - .../schema/metadata/ui/UIDisplayMode.java | 3 - .../codec/schema/metadata/ui/UIEditor.java | 9 - .../schema/metadata/ui/UIEditorFeatures.java | 3 - .../schema/metadata/ui/UIEditorPreview.java | 3 - .../schema/metadata/ui/UIRebuildCaches.java | 3 - .../hytale/codec/util/Documentation.java | 51 +- .../codec/validation/ValidationResults.java | 3 - .../hytale/codec/validation/Validators.java | 3 - .../benchmark/ContinuousValueRecorder.java | 3 - .../hytale/common/benchmark/TimeRecorder.java | 3 - .../hytale/common/collection/BucketItem.java | 3 - .../common/collection/BucketItemPool.java | 3 - .../hytale/common/collection/BucketList.java | 3 - .../common/fastutil/HLongOpenHashSet.java | 3 - .../common/fastutil/HObjectOpenHashSet.java | 3 - .../hytale/common/plugin/AuthorInfo.java | 3 - .../thread/HytaleForkJoinThreadFactory.java | 3 - .../hypixel/hytale/common/util/ArrayUtil.java | 3 - .../hypixel/hytale/common/util/AudioUtil.java | 3 - .../hytale/common/util/BitSetUtil.java | 3 - .../hypixel/hytale/common/util/BitUtil.java | 3 - .../common/util/CompletableFutureUtil.java | 3 - .../hytale/common/util/ExceptionUtil.java | 3 - .../hytale/common/util/FormatUtil.java | 3 - .../hypixel/hytale/common/util/GCUtil.java | 3 - .../hytale/common/util/HardwareUtil.java | 3 - .../hypixel/hytale/common/util/ListUtil.java | 3 - .../hypixel/hytale/common/util/MapUtil.java | 3 - .../hytale/common/util/NetworkUtil.java | 3 - .../hypixel/hytale/common/util/PathUtil.java | 3 - .../hytale/common/util/PatternUtil.java | 3 - .../hytale/common/util/RandomUtil.java | 3 - .../hytale/common/util/StringCompareUtil.java | 3 - .../hytale/common/util/StringUtil.java | 8 +- .../hytale/common/util/SystemUtil.java | 11 +- .../hypixel/hytale/common/util/TimeUtil.java | 3 - .../hytale/common/util/java/ManifestUtil.java | 3 - .../hypixel/hytale/component/AddReason.java | 3 - .../hypixel/hytale/component/Archetype.java | 3 +- .../hytale/component/ComponentRegistry.java | 3 +- .../hytale/component/ComponentType.java | 5 +- .../component/EmptyResourceStorage.java | 3 - src/com/hypixel/hytale/component/Holder.java | 31 + .../hytale/component/NonSerialized.java | 8 +- .../hypixel/hytale/component/NonTicking.java | 8 +- .../hytale/component/ReadWriteQuery.java | 8 +- .../hytale/component/RemoveReason.java | 3 - .../hytale/component/ResourceType.java | 3 - src/com/hypixel/hytale/component/Store.java | 5 +- .../component/data/ForEachTaskData.java | 3 - .../component/data/change/ChangeType.java | 3 - .../data/unknown/TempUnknownComponent.java | 7 +- .../data/unknown/UnknownComponents.java | 15 +- .../component/dependency/Dependency.java | 2 +- .../component/dependency/DependencyGraph.java | 14 +- .../hytale/component/dependency/Order.java | 3 - .../component/dependency/OrderPriority.java | 2 +- .../hytale/component/query/AndQuery.java | 13 +- .../hytale/component/query/AnyQuery.java | 9 +- .../component/query/ExactArchetypeQuery.java | 7 +- .../hytale/component/query/NotQuery.java | 8 +- .../hytale/component/query/OrQuery.java | 15 +- .../hypixel/hytale/component/query/Query.java | 8 +- .../query/ReadWriteArchetypeQuery.java | 2 +- .../hytale/component/spatial/KDTree.java | 2 +- .../hytale/component/spatial/MortonCode.java | 3 - .../hytale/component/spatial/SpatialData.java | 3 - .../system/ArchetypeChunkSystem.java | 3 - .../component/system/CancellableEcsEvent.java | 3 - .../component/system/DelayedSystem.java | 3 - .../hytale/component/system/EcsEvent.java | 2 - .../hytale/component/system/HolderSystem.java | 3 - .../component/system/RefChangeSystem.java | 3 - .../hytale/component/system/RefSystem.java | 3 - .../hytale/component/system/StoreSystem.java | 3 - .../hytale/component/system/System.java | 3 - .../system/data/ArchetypeDataSystem.java | 3 - .../system/data/EntityDataSystem.java | 6 - .../system/tick/ArchetypeTickingSystem.java | 3 - .../system/tick/DelayedEntitySystem.java | 3 - .../system/tick/EntityTickingSystem.java | 6 - .../component/system/tick/TickingSystem.java | 3 - .../hytale/event/EventBusRegistry.java | 3 - .../function/supplier/SupplierUtil.java | 3 - .../hypixel/hytale/logger/HytaleLogger.java | 2 - .../HytaleUncaughtExceptionHandler.java | 3 - .../logger/sentry/HytaleSentryHandler.java | 3 - .../hytale/logger/util/GithubMessageUtil.java | 3 - .../hytale/math/block/BlockConeUtil.java | 3 - .../hytale/math/block/BlockCubeUtil.java | 3 - .../hytale/math/block/BlockCylinderUtil.java | 3 - .../hytale/math/block/BlockDiamondUtil.java | 3 - .../hytale/math/block/BlockDomeUtil.java | 3 - .../math/block/BlockInvertedDomeUtil.java | 3 - .../hytale/math/block/BlockPyramidUtil.java | 3 - .../hytale/math/block/BlockSphereUtil.java | 3 - .../hytale/math/block/BlockTorusUtil.java | 3 - .../hypixel/hytale/math/block/BlockUtil.java | 20 +- .../math/codec/FloatRangeArrayCodec.java | 3 - .../hytale/math/codec/IntRangeArrayCodec.java | 3 - .../hytale/math/codec/Vector2dArrayCodec.java | 3 - .../hytale/math/codec/Vector3dArrayCodec.java | 3 - .../hytale/math/codec/Vector3iArrayCodec.java | 3 - .../hitdetection/HitDetectionExecutor.java | 3 - .../hytale/math/iterator/BlockIterator.java | 3 - .../math/iterator/BoxBlockIterator.java | 3 - .../math/iterator/CircleSpiralIterator.java | 3 - .../hytale/math/raycast/RaycastAABB.java | 3 - .../hypixel/hytale/math/util/NumberUtil.java | 3 - .../hytale/math/util/TrigMathUtil.java | 6 - .../hytale/math/vector/VectorBoxUtil.java | 3 - .../hytale/math/vector/VectorSphereUtil.java | 3 - .../metrics/ExecutorMetricsRegistry.java | 3 - .../hypixel/hytale/metrics/JVMMetrics.java | 3 - .../hypixel/hytale/metrics/MetricResults.java | 3 - .../metrics/metric/AverageCollector.java | 3 - .../metric/SynchronizedAverageCollector.java | 3 - .../hytale/procedurallib/NoiseType.java | 3 - .../condition/DoubleThreshold.java | 3 - .../hytale/procedurallib/json/JsonLoader.java | 20 +- .../procedurallib/logic/DoubleArray.java | 3 - .../procedurallib/logic/ResultBuffer.java | 12 - .../procedurallib/logic/cell/CellType.java | 3 - .../logic/cell/GridCellDistanceFunction.java | 3 - .../logic/cell/HexCellDistanceFunction.java | 6 - .../logic/cell/MeasurementMode.java | 3 - .../cell/evaluator/BorderPointEvaluator.java | 3 - .../logic/cell/evaluator/BranchEvaluator.java | 3 - .../evaluator/SkipCellPointEvaluator.java | 6 +- .../logic/cell/jitter/DefaultCellJitter.java | 3 - .../property/GradientNoiseProperty.java | 3 - .../property/NoisePropertyType.java | 3 - .../random/CoordinateRandomizer.java | 3 - .../procedurallib/supplier/DoubleRange.java | 3 - .../procedurallib/supplier/FloatRange.java | 3 - .../hypixel/hytale/protocol/AmbienceFX.java | 44 +- .../hytale/protocol/AmbienceFXConditions.java | 56 +- .../hypixel/hytale/protocol/AnimationSet.java | 20 +- .../hytale/protocol/ApplicationEffects.java | 44 +- .../protocol/ApplyForceInteraction.java | 56 +- .../hytale/protocol/BlockParticleSet.java | 20 +- .../hytale/protocol/BlockSoundSet.java | 20 +- .../hypixel/hytale/protocol/BlockType.java | 164 ++--- .../hytale/protocol/ChargingInteraction.java | 60 +- .../hytale/protocol/ComponentUpdate.java | 112 +-- .../hytale/protocol/ConditionInteraction.java | 64 +- .../hytale/protocol/EntityStatUpdate.java | 20 +- src/com/hypixel/hytale/protocol/Fluid.java | 40 +- src/com/hypixel/hytale/protocol/FluidFX.java | 32 +- .../hytale/protocol/FluidParticle.java | 12 +- .../hypixel/hytale/protocol/Interaction.java | 14 +- .../hytale/protocol/InteractionChainData.java | 16 +- .../hytale/protocol/InteractionEffects.java | 48 +- .../hytale/protocol/InteractionSyncData.java | 36 +- .../protocol/ItemAppearanceCondition.java | 44 +- src/com/hypixel/hytale/protocol/ItemBase.java | 228 +++--- .../hytale/protocol/ItemEntityConfig.java | 12 +- .../hytale/protocol/ItemPlayerAnimations.java | 32 +- .../hypixel/hytale/protocol/ItemQuality.java | 52 +- src/com/hypixel/hytale/protocol/Model.java | 88 +-- .../hypixel/hytale/protocol/ModelDisplay.java | 28 +- .../hytale/protocol/ModelParticle.java | 28 +- .../hypixel/hytale/protocol/ModelTrail.java | 24 +- src/com/hypixel/hytale/protocol/ModelVFX.java | 28 +- .../protocol/ModifyInventoryInteraction.java | 44 +- .../hytale/protocol/MouseMotionEvent.java | 12 +- .../hytale/protocol/PacketRegistry.java | 4 +- .../hypixel/hytale/protocol/ParamValue.java | 3 - src/com/hypixel/hytale/protocol/Particle.java | 20 +- .../hytale/protocol/ParticleSpawner.java | 64 +- .../hytale/protocol/ParticleSpawnerGroup.java | 36 +- src/com/hypixel/hytale/protocol/Phobia.java | 3 +- .../hytale/protocol/ProjectileConfig.java | 16 +- .../hytale/protocol/ProtocolSettings.java | 11 +- .../protocol/RefillContainerInteraction.java | 605 ---------------- src/com/hypixel/hytale/protocol/Selector.java | 3 - src/com/hypixel/hytale/protocol/Trail.java | 36 +- src/com/hypixel/hytale/protocol/Weather.java | 200 ++--- .../hytale/protocol/WeatherParticle.java | 12 +- .../hytale/protocol/WieldingInteraction.java | 72 +- .../hytale/protocol/WorldEnvironment.java | 12 +- .../hytale/protocol/WorldParticle.java | 20 +- .../protocol/io/NoopPacketStatsRecorder.java | 3 - .../protocol/io/netty/PacketDecoder.java | 58 +- .../protocol/io/netty/PacketEncoder.java | 3 - .../protocol/io/netty/ProtocolUtil.java | 22 + .../asseteditor/AssetEditorCreateAsset.java | 20 +- .../AssetEditorExportAssetFinalize.java | 3 - .../AssetEditorFetchLastModifiedAssets.java | 3 - .../asseteditor/AssetEditorInitialize.java | 3 - .../AssetEditorUpdateModelPreview.java | 28 +- .../asseteditor/JsonUpdateCommand.java | 36 +- .../packets/asseteditor/SchemaFile.java | 12 +- .../packets/auth/PasswordAccepted.java | 3 - .../packets/buildertools/BuilderToolArg.java | 40 +- .../buildertools/BuilderToolBrushData.java | 80 +- .../buildertools/BuilderToolHideAnchors.java | 3 - ...ilderToolSelectionToolAskForClipboard.java | 3 - .../BuilderToolSelectionTransform.java | 24 +- .../buildertools/PrefabUnselectPrefab.java | 3 - .../protocol/packets/connection/Connect.java | 459 ++++++------ .../packets/interaction/DismountNPC.java | 3 - .../interface_/ResetUserInterfaceState.java | 3 - .../interface_/ServerPlayerListPlayer.java | 12 +- .../packets/player/ClearDebugShapes.java | 3 - .../protocol/packets/player/DisplayDebug.java | 12 +- .../packets/player/MouseInteraction.java | 28 +- .../packets/player/SyncPlayerPreferences.java | 54 +- .../protocol/packets/setup/AssetFinalize.java | 3 - .../protocol/packets/setup/ClientFeature.java | 6 +- .../setup/RequestCommonAssetsRebuild.java | 3 - .../packets/setup/WorldLoadFinished.java | 3 - .../packets/window/CancelCraftingAction.java | 3 - .../packets/window/CraftItemAction.java | 3 - .../packets/window/TierUpgradeAction.java | 3 - .../protocol/packets/window/WindowAction.java | 3 - .../world/ClearEditorTimeOverride.java | 3 - .../packets/world/SpawnParticleSystem.java | 20 +- .../packets/worldmap/ClearWorldMap.java | 3 - .../protocol/packets/worldmap/MapMarker.java | 28 +- .../hypixel/hytale/server/core/Constants.java | 5 +- .../hytale/server/core/HytaleServer.java | 62 +- .../server/core/HytaleServerConfig.java | 448 +++++++++--- .../hypixel/hytale/server/core/Message.java | 12 +- .../hypixel/hytale/server/core/Options.java | 24 - .../hytale/server/core/ShutdownReason.java | 2 + .../hytale/server/core/asset/AssetModule.java | 87 +-- .../server/core/asset/AssetNotifications.java | 3 - .../core/asset/AssetRegistryLoader.java | 3 - .../asset/common/BlockyAnimationCache.java | 6 - .../asset/common/CommonAssetRegistry.java | 6 - .../core/asset/common/HytaleFileTypes.java | 3 - .../core/asset/common/OggVorbisInfoCache.java | 3 - .../asset/common/SoundFileValidators.java | 3 - .../server/core/asset/monitor/EventKind.java | 3 - .../asset/packet/AssetPacketGenerator.java | 3 - .../packet/DefaultAssetPacketGenerator.java | 3 - .../packet/SimpleAssetPacketGenerator.java | 3 - .../ambiencefx/AmbienceFXPacketGenerator.java | 3 - .../AudioCategoryPacketGenerator.java | 3 - .../BlockBreakingDecalPacketGenerator.java | 3 - .../BlockBoundingBoxesPacketGenerator.java | 3 - .../BlockParticleSetPacketGenerator.java | 3 - .../blockset/BlockSetPacketGenerator.java | 3 - .../BlockSoundSetPacketGenerator.java | 3 - .../type/blocktick/BlockTickStrategy.java | 3 - .../type/blocktick/config/TickProcedure.java | 3 - .../blocktype/BlockGroupPacketGenerator.java | 3 - .../blocktype/BlockTypePacketGenerator.java | 3 - .../type/blocktype/config/BlockFace.java | 3 - .../type/blocktype/config/BlockFlipType.java | 3 - .../type/blocktype/config/BlockGathering.java | 3 - .../config/BlockPlacementSettings.java | 6 - .../config/BlockSupportsRequiredForType.java | 3 - .../type/blocktype/config/BlockType.java | 2 +- .../config/RequiredBlockFaceSupport.java | 3 - .../RequiredBlockFaceSupportValidator.java | 3 - .../blocktype/config/SupportDropType.java | 3 - .../type/blocktype/config/bench/Bench.java | 3 - .../blocktype/config/bench/CraftingBench.java | 3 - .../config/bench/DiagramCraftingBench.java | 3 - .../config/bench/ProcessingBench.java | 9 - .../config/bench/StructuralCraftingBench.java | 3 - .../blocktype/config/farming/FarmingData.java | 6 - .../config/farming/FarmingStageData.java | 3 - .../config/BlockTypeListAsset.java | 3 - .../type/buildertool/config/BuilderTool.java | 3 - .../buildertool/config/PrefabListAsset.java | 6 - .../type/buildertool/config/args/ToolArg.java | 3 - .../core/asset/type/camera/CameraEffect.java | 3 - .../EntityEffectPacketGenerator.java | 3 - .../entityeffect/config/OverlapBehavior.java | 3 - .../entityeffect/config/RemovalBehavior.java | 3 - .../EnvironmentPacketGenerator.java | 3 - .../EqualizerEffectPacketGenerator.java | 3 - .../asset/type/fluid/DefaultFluidTicker.java | 42 +- .../asset/type/fluid/FiniteFluidTicker.java | 6 - .../server/core/asset/type/fluid/Fluid.java | 14 + .../core/asset/type/fluid/FluidTicker.java | 68 +- .../type/fluid/FluidTypePacketGenerator.java | 3 - .../type/fluidfx/FluidFXPacketGenerator.java | 3 - .../asset/type/gameplay/BrokenPenalties.java | 3 - .../type/gameplay/CameraEffectsConfig.java | 3 - .../asset/type/gameplay/CraftingConfig.java | 11 +- .../core/asset/type/gameplay/DeathConfig.java | 6 - .../asset/type/gameplay/GameplayConfig.java | 3 - .../asset/type/gameplay/GatheringConfig.java | 3 - .../type/gameplay/GatheringEffectsConfig.java | 3 - .../type/gameplay/ItemDurabilityConfig.java | 3 - .../asset/type/gameplay/PlayerConfig.java | 50 +- .../asset/type/gameplay/RespawnConfig.java | 3 - .../core/asset/type/gameplay/SleepConfig.java | 3 - .../core/asset/type/gameplay/SpawnConfig.java | 3 - .../core/asset/type/gameplay/WorldConfig.java | 3 - .../asset/type/gameplay/WorldMapConfig.java | 3 - .../gameplay/respawn/HomeOrSpawnPoint.java | 19 +- .../gameplay/respawn/RespawnController.java | 5 +- .../gameplay/respawn/WorldSpawnPoint.java | 20 +- .../core/asset/type/item/DroplistCommand.java | 3 +- .../FieldcraftCategoryPacketGenerator.java | 3 - .../item/ItemCategoryPacketGenerator.java | 3 - .../item/ResourceTypePacketGenerator.java | 3 - .../asset/type/item/config/BlockGroup.java | 3 - .../config/BuilderToolItemReferenceAsset.java | 3 - .../core/asset/type/item/config/Item.java | 2 +- .../item/config/ItemAppearanceCondition.java | 3 - .../asset/type/item/config/ItemArmor.java | 3 - .../asset/type/item/config/ItemGlider.java | 3 - .../item/config/ItemStackContainerConfig.java | 3 - .../asset/type/item/config/ItemUtility.java | 3 - .../asset/type/item/config/ItemWeapon.java | 3 - .../asset/type/item/config/PortalKey.java | 3 - .../container/DroplistItemDropContainer.java | 3 - .../container/EmptyItemDropContainer.java | 3 - .../config/metadata/AdventureMetadata.java | 3 - .../ItemPlayerAnimationsPacketGenerator.java | 3 - .../ItemSoundSetPacketGenerator.java | 3 - .../asset/type/model/config/ModelAsset.java | 3 - .../modelvfx/ModelVFXPacketGenerator.java | 3 - .../ParticleSpawnerPacketGenerator.java | 3 - .../ParticleSystemPacketGenerator.java | 3 - .../particle/pages/ParticleSpawnPage.java | 3 - .../core/asset/type/portalworld/PillTag.java | 3 - .../type/portalworld/PortalDescription.java | 3 - .../asset/type/portalworld/PortalSpawn.java | 3 - .../asset/type/portalworld/PortalType.java | 3 - .../ReverbEffectPacketGenerator.java | 3 - .../soundevent/SoundEventPacketGenerator.java | 3 - .../soundevent/config/SoundEventLayer.java | 3 - .../validator/SoundEventValidators.java | 3 - .../soundset/SoundSetPacketGenerator.java | 3 - .../tagpattern/TagPatternPacketGenerator.java | 3 - .../type/tagpattern/config/AndPatternOp.java | 3 - .../tagpattern/config/MultiplePatternOp.java | 3 - .../type/tagpattern/config/NotPatternOp.java | 3 - .../type/tagpattern/config/OrPatternOp.java | 3 - .../type/tagpattern/config/TagPattern.java | 3 - .../type/trail/TrailPacketGenerator.java | 3 - .../asset/type/trail/config/Animation.java | 3 - .../core/asset/type/trail/config/Edge.java | 3 - .../type/weather/WeatherPacketGenerator.java | 3 - .../asset/type/weather/config/FogOptions.java | 3 - .../core/asset/util/ColorParseUtil.java | 3 - .../hytale/server/core/auth/AuthConfig.java | 2 +- .../server/core/auth/CertificateUtil.java | 3 - .../core/auth/DefaultAuthCredentialStore.java | 3 - .../auth/EncryptedAuthCredentialStore.java | 3 - .../EncryptedAuthCredentialStoreProvider.java | 3 - .../hytale/server/core/auth/JWTValidator.java | 133 +++- .../MemoryAuthCredentialStoreProvider.java | 3 - .../core/auth/ProfileServiceClient.java | 161 +++++ .../server/core/auth/ServerAuthManager.java | 684 ++++++++++-------- .../core/auth/SessionServiceClient.java | 21 - .../core/auth/oauth/OAuthBrowserFlow.java | 3 - .../server/core/auth/oauth/OAuthClient.java | 5 +- .../core/auth/oauth/OAuthDeviceFlow.java | 3 - .../server/core/auth/oauth/OAuthFlow.java | 3 - .../server/core/auth/oauth/OAuthResult.java | 3 - .../core/blocktype/BlockTypeModule.java | 6 - .../blocktype/component/BlockPhysics.java | 3 - .../core/client/ClientFeatureHandler.java | 3 - .../core/codec/BoolDoublePairCodec.java | 3 - .../server/core/codec/LayerEntryCodec.java | 7 + .../hytale/server/core/codec/PairCodec.java | 3 - .../server/core/codec/ProtocolCodecs.java | 3 - .../hytale/server/core/codec/ShapeCodecs.java | 3 - .../core/codec/protocol/ColorAlphaCodec.java | 3 - .../core/codec/protocol/ColorCodec.java | 3 - .../commands/debug/AssetTagsCommand.java | 4 +- .../debug/DebugPlayerPositionCommand.java | 26 +- .../commands/debug/VersionCommand.java | 12 +- .../debug/server/ServerStatsCpuCommand.java | 10 +- .../debug/server/ServerStatsGcCommand.java | 6 +- .../server/ServerStatsMemoryCommand.java | 10 +- .../commands/debug/stresstest/Bot.java | 4 +- .../stresstest/StressTestStartCommand.java | 6 - .../commands/player/PlayerRespawnCommand.java | 4 +- .../command/commands/player/ReferCommand.java | 8 +- .../commands/player/camera/CameraDemo.java | 3 - .../effect/PlayerEffectApplyCommand.java | 7 +- .../effect/PlayerEffectClearCommand.java | 29 +- .../player/inventory/GiveCommand.java | 53 +- .../inventory/InventoryBackpackCommand.java | 10 +- .../command/commands/server/KickCommand.java | 4 +- .../command/commands/server/WhoCommand.java | 7 +- .../server/auth/AuthLoginBrowserCommand.java | 11 +- .../server/auth/AuthLoginDeviceCommand.java | 3 - .../server/auth/AuthLogoutCommand.java | 4 +- .../server/auth/AuthPersistenceCommand.java | 16 +- .../server/auth/AuthStatusCommand.java | 5 +- .../commands/utility/StashCommand.java | 6 +- .../{UpdateCommand.java => GitCommand.java} | 6 +- .../utility/git/UpdateAssetsCommand.java | 18 +- .../utility/git/UpdatePrefabsCommand.java | 36 +- .../lighting/LightingCalculationCommand.java | 3 - .../world/chunk/ChunkFixHeightMapCommand.java | 22 +- .../world/chunk/ChunkForceTickCommand.java | 17 +- .../world/chunk/ChunkInfoCommand.java | 8 +- .../world/chunk/ChunkLightingCommand.java | 13 +- .../world/chunk/ChunkLoadCommand.java | 40 +- .../world/chunk/ChunkMarkSaveCommand.java | 38 +- .../world/chunk/ChunkMaxSendRateCommand.java | 13 +- .../world/chunk/ChunkRegenerateCommand.java | 5 +- .../world/chunk/ChunkTintCommand.java | 19 +- .../world/chunk/ChunkTrackerCommand.java | 6 +- .../world/chunk/ChunkUnloadCommand.java | 16 +- .../worldgen/WorldGenBenchmarkCommand.java | 94 +-- .../core/command/system/AbbreviationMap.java | 3 - .../core/command/system/CommandManager.java | 4 +- .../core/command/system/CommandUtil.java | 3 - .../core/command/system/ParserContext.java | 3 - .../server/core/command/system/Tokenizer.java | 3 - .../system/arguments/types/ArgTypes.java | 101 ++- .../arguments/types/MultiArgumentContext.java | 3 - .../arguments/types/RelativeDirection.java | 3 - .../system/exceptions/CommandException.java | 3 - .../command/system/pages/CommandListPage.java | 3 - .../system/suggestion/SuggestionResult.java | 3 - .../server/core/cosmetics/BodyType.java | 3 - .../server/core/cosmetics/CosmeticType.java | 3 - .../core/cosmetics/CosmeticsModule.java | 64 +- .../server/core/cosmetics/PlayerSkinPart.java | 6 - .../core/cosmetics/PlayerSkinPartType.java | 3 - .../server/core/entity/AnimationUtils.java | 3 - .../hytale/server/core/entity/Entity.java | 3 - .../server/core/entity/EntityUtils.java | 3 - .../server/core/entity/ExplosionConfig.java | 3 - .../server/core/entity/ExplosionUtils.java | 3 - .../hytale/server/core/entity/Frozen.java | 2 + .../server/core/entity/InteractionChain.java | 22 +- .../core/entity/InteractionContext.java | 8 + .../server/core/entity/InteractionEntry.java | 2 +- .../core/entity/InteractionManager.java | 145 +++- .../hytale/server/core/entity/ItemUtils.java | 3 - .../core/entity/StatModifiersManager.java | 11 +- .../entity/damage/DamageDataComponent.java | 3 - .../server/core/entity/entities/Player.java | 126 +++- .../entities/player/HiddenPlayersManager.java | 3 - .../entity/entities/player/HotbarManager.java | 3 - .../player/data/PlayerConfigData.java | 3 - .../data/UniqueItemUsagesComponent.java | 9 +- .../entities/player/pages/PageManager.java | 7 +- .../entities/player/pages/RespawnPage.java | 35 +- .../player/pages/audio/PlaySoundPage.java | 3 - .../player/pages/choices/ChoiceBasePage.java | 3 - .../entities/player/windows/BlockWindow.java | 44 +- .../player/windows/ContainerBlockWindow.java | 5 +- .../player/windows/ContainerWindow.java | 8 +- .../windows/ItemStackContainerWindow.java | 10 +- .../MaterialExtraResourcesSection.java | 3 - .../player/windows/ValidatedWindow.java | 7 +- .../entities/player/windows/Window.java | 23 +- .../player/windows/WindowManager.java | 84 ++- .../server/core/entity/group/EntityGroup.java | 3 - .../entity/knockback/KnockbackComponent.java | 3 - .../entity/knockback/KnockbackSystems.java | 9 - .../movement/MovementStatesSystems.java | 3 - .../entity/nameplate/NameplateSystems.java | 3 - .../reference/InvalidatablePersistentRef.java | 3 - .../core/entity/reference/PersistentRef.java | 3 - .../entity/reference/PersistentRefCount.java | 3 - .../server/core/event/events/BootEvent.java | 3 - .../core/event/events/ShutdownEvent.java | 3 - .../core/event/events/ecs/DropItemEvent.java | 3 - .../server/core/inventory/Inventory.java | 27 +- .../server/core/inventory/ItemStack.java | 3 - .../InternalContainerUtilItemStack.java | 3 - .../InternalContainerUtilMaterial.java | 3 - .../InternalContainerUtilResource.java | 3 - .../container/InternalContainerUtilTag.java | 3 - .../inventory/container/ItemContainer.java | 3 - .../container/ItemContainerUtil.java | 3 - .../core/inventory/container/SortType.java | 6 - .../container/filter/FilterActionType.java | 3 - .../core/inventory/transaction/MoveType.java | 3 - .../hytale/server/core/io/PacketHandler.java | 54 +- .../server/core/io/ProtocolVersion.java | 16 +- .../core/io/adapter/PacketAdapters.java | 3 - .../io/handlers/InitialPacketHandler.java | 252 ++++--- .../core/io/handlers/SetupPacketHandler.java | 62 +- .../io/handlers/game/GamePacketHandler.java | 94 +-- .../io/handlers/login/HandshakeHandler.java | 32 +- .../handlers/login/PasswordPacketHandler.java | 13 +- .../io/netty/HytaleChannelInitializer.java | 84 ++- .../server/core/io/netty/NettyUtil.java | 33 +- .../core/io/netty/PacketArrayEncoder.java | 3 - .../core/io/transport/QUICTransport.java | 29 +- .../core/io/transport/TransportType.java | 3 - .../hytale/server/core/meta/MetaRegistry.java | 3 - .../server/core/modules/LegacyModule.java | 3 - .../accesscontrol/commands/BanCommand.java | 53 +- .../accesscontrol/commands/UnbanCommand.java | 27 +- .../commands/WhitelistAddCommand.java | 27 +- .../commands/WhitelistRemoveCommand.java | 27 +- .../commands/WhitelistStatusCommand.java | 4 +- .../provider/ClientDelegatingProvider.java | 3 - .../provider/HytaleWhitelistProvider.java | 4 + .../core/modules/block/BlockModule.java | 5 - .../modules/blockhealth/BlockHealthChunk.java | 3 - .../modules/collision/BasicCollisionData.java | 3 - .../modules/collision/BlockCollisionData.java | 3 - .../collision/BlockCollisionProvider.java | 3 - .../modules/collision/BlockContactData.java | 3 - .../core/modules/collision/BlockData.java | 3 - .../modules/collision/BlockDataProvider.java | 3 - .../modules/collision/BoxCollisionData.java | 3 - .../collision/CharacterCollisionData.java | 3 - .../modules/collision/CollisionConfig.java | 3 - .../modules/collision/CollisionMaterial.java | 3 - .../collision/CollisionModuleConfig.java | 3 - .../modules/collision/CollisionResult.java | 3 +- .../modules/collision/EntityContactData.java | 3 - .../collision/IBlockCollisionConsumer.java | 3 - .../MovingBoxBoxCollisionEvaluator.java | 3 - .../core/modules/collision/WorldUtil.java | 5 +- .../server/core/modules/debug/DebugUtils.java | 3 - .../entity/AllLegacyEntityTypesQuery.java | 6 +- .../AllLegacyLivingEntityTypesQuery.java | 5 +- .../modules/entity/BlockEntitySystems.java | 3 - .../core/modules/entity/EntityModule.java | 27 +- .../entity/LegacyProjectileSystems.java | 20 +- .../component/DisplayNameComponent.java | 3 +- .../component/MovementAudioComponent.java | 6 - .../entity/component/PropComponent.java | 3 - .../entity/component/SnapshotBuffer.java | 3 - .../damage/DamageCalculatorSystems.java | 14 +- .../modules/entity/damage/DamageModule.java | 4 - .../modules/entity/damage/DamageSystems.java | 404 +++++------ .../modules/entity/damage/DeathComponent.java | 36 +- .../modules/entity/damage/DeathSystems.java | 64 +- .../modules/entity/damage/RespawnSystems.java | 42 -- .../entity/damage/event/KillFeedEvent.java | 3 - .../dynamiclight/DynamicLightSystems.java | 6 - .../HitboxCollisionConfigPacketGenerator.java | 3 - .../HitboxCollisionSystems.java | 3 - .../modules/entity/item/ItemMergeSystem.java | 7 +- .../entity/item/ItemPhysicsSystem.java | 15 +- .../core/modules/entity/item/ItemSystems.java | 6 - .../entity/item/PickupItemComponent.java | 8 +- .../modules/entity/item/PickupItemSystem.java | 27 +- .../LivingEntityEffectClearChangesSystem.java | 3 - .../LivingEntityEffectSystem.java | 104 +-- .../ApplyRandomSkinPersistedComponent.java | 3 - .../modules/entity/player/ChunkTracker.java | 150 ++-- .../player/KnockbackPredictionSystems.java | 25 +- .../entity/player/KnockbackSimulation.java | 3 - .../entity/player/PlayerCameraAddSystem.java | 3 - .../player/PlayerChunkTrackerSystems.java | 36 +- .../player/PlayerHudManagerSystems.java | 6 - .../modules/entity/player/PlayerInput.java | 3 - .../player/PlayerItemEntityPickupSystem.java | 1 + .../player/PlayerMovementManagerSystems.java | 9 - .../entity/player/PlayerPingSystem.java | 3 - .../player/PlayerProcessMovementSystem.java | 135 ++-- .../entity/player/PlayerSavingSystems.java | 6 - .../modules/entity/player/PlayerSettings.java | 24 +- .../modules/entity/player/PlayerSystems.java | 262 +++++-- .../RepulsionConfigPacketGenerator.java | 3 - .../entity/repulsion/RepulsionSystems.java | 51 +- .../entity/stamina/StaminaGameplayConfig.java | 6 - .../entity/stamina/StaminaSystems.java | 6 - .../modules/entity/system/AudioSystems.java | 9 - .../system/EntityInteractableSystems.java | 6 - .../modules/entity/system/EntitySystems.java | 12 - .../entity/system/HideEntitySystems.java | 6 - .../entity/system/IntangibleSystems.java | 6 - .../entity/system/InvulnerableSystems.java | 6 - .../modules/entity/system/ModelSystems.java | 39 +- .../entity/system/RespondToHitSystems.java | 35 +- .../entity/system/RotateObjectSystem.java | 10 +- .../entity/system/SnapshotSystems.java | 12 - .../entity/system/TransformSystems.java | 9 - .../entity/system/UpdateLocationSystems.java | 21 +- .../entity/teleport/PendingTeleport.java | 6 - .../modules/entity/teleport/Teleport.java | 55 +- .../entity/teleport/TeleportRecord.java | 51 ++ .../entity/teleport/TeleportSystems.java | 26 +- .../entity/tracker/EntityTrackerSystems.java | 6 - .../tracker/LegacyEntityTrackerSystems.java | 197 ++--- .../modules/entitystats/EntityStatMap.java | 6 - .../modules/entitystats/EntityStatValue.java | 2 +- .../entitystats/EntityStatsSystems.java | 8 +- .../entitystats/asset/EntityStatType.java | 3 - .../asset/EntityStatTypePacketGenerator.java | 3 - .../asset/condition/LogicCondition.java | 3 - .../asset/condition/SuffocatingCondition.java | 4 +- .../entitystats/modifier/Modifier.java | 3 - .../entitystats/modifier/StaticModifier.java | 3 - .../modules/entityui/UIComponentSystems.java | 3 - .../entityui/asset/CombatTextUIComponent.java | 3 - .../CombatTextUIComponentAnimationEvent.java | 3 - ...tTextUIComponentOpacityAnimationEvent.java | 3 - ...TextUIComponentPositionAnimationEvent.java | 3 - ...batTextUIComponentScaleAnimationEvent.java | 3 - .../entityui/asset/EntityStatUIComponent.java | 3 - .../EntityUIComponentPacketGenerator.java | 3 - .../server/core/modules/i18n/I18nModule.java | 14 - .../modules/i18n/parser/LangFileParser.java | 3 - .../interaction/BlockHarvestUtils.java | 11 +- .../interaction/BlockInteractionUtils.java | 3 - .../modules/interaction/BlockPlaceUtils.java | 3 - .../interaction/InteractionModule.java | 2 + .../InteractionSimulationHandler.java | 3 - .../modules/interaction/Interactions.java | 7 + .../blocktrack/TrackedPlacement.java | 3 - .../interaction/CooldownHandler.java | 3 - .../InteractionPacketGenerator.java | 3 - .../RootInteractionPacketGenerator.java | 3 - .../interaction/UnarmedInteractions.java | 3 - .../UnarmedInteractionsPacketGenerator.java | 3 - .../config/InteractionCameraSettings.java | 6 - .../config/InteractionConfiguration.java | 4 + .../config/InteractionPriorityCodec.java | 3 - .../interaction/config/InteractionRules.java | 3 - .../config/InteractionTypeUtils.java | 3 - .../config/SimpleInstantInteraction.java | 5 +- .../interaction/config/SimpleInteraction.java | 7 +- .../config/client/AddItemInteraction.java | 3 - .../config/client/ApplyForceInteraction.java | 11 +- .../client/BlockConditionInteraction.java | 9 - .../config/client/BreakBlockInteraction.java | 3 - .../config/client/ChainingInteraction.java | 11 +- .../config/client/ChangeBlockInteraction.java | 3 - .../config/client/ChangeStateInteraction.java | 3 - .../config/client/ChargingInteraction.java | 8 +- .../client/CooldownConditionInteraction.java | 3 - .../client/CycleBlockGroupInteraction.java | 3 - .../client/DestroyBlockInteraction.java | 3 - .../config/client/ExplodeInteraction.java | 3 - .../config/client/FirstClickInteraction.java | 8 +- .../client/IncrementCooldownInteraction.java | 3 - .../client/MovementConditionInteraction.java | 8 +- .../config/client/PickBlockInteraction.java | 26 +- .../config/client/PlaceBlockInteraction.java | 8 +- .../config/client/PlaceFluidInteraction.java | 3 - .../client/ResetCooldownInteraction.java | 3 - .../config/client/SimpleBlockInteraction.java | 9 +- .../client/ToggleGliderInteraction.java | 3 - .../client/TriggerCooldownInteraction.java | 3 - .../config/client/UseBlockInteraction.java | 3 - .../config/client/UseEntityInteraction.java | 3 - .../config/client/WieldingInteraction.java | 17 +- .../config/none/BuilderToolInteraction.java | 6 +- .../config/none/CameraInteraction.java | 6 +- .../config/none/CancelChainInteraction.java | 3 - .../config/none/ChainFlagInteraction.java | 3 - .../none/ChangeActiveSlotInteraction.java | 5 +- .../config/none/ConditionInteraction.java | 6 +- .../none/EffectConditionInteraction.java | 5 +- .../config/none/ParallelInteraction.java | 8 +- .../config/none/RepeatInteraction.java | 8 +- .../config/none/ReplaceInteraction.java | 8 +- .../config/none/RunRootInteraction.java | 3 - .../config/none/SelectInteraction.java | 52 +- .../config/none/SerialInteraction.java | 8 +- .../none/StatsConditionBaseInteraction.java | 3 - .../none/StatsConditionInteraction.java | 3 - ...StatsConditionWithModifierInteraction.java | 3 - .../none/simple/ApplyEffectInteraction.java | 3 - .../none/simple/RemoveEntityInteraction.java | 3 - .../config/selector/AOECircleSelector.java | 6 - .../config/selector/AOECylinderSelector.java | 6 - .../config/selector/HorizontalSelector.java | 135 ++-- .../config/selector/PlayerMatcher.java | 8 +- .../config/selector/RaycastSelector.java | 9 - .../config/selector/SelectorType.java | 7 +- .../config/selector/StabSelector.java | 137 ++-- .../config/selector/VulnerableMatcher.java | 8 +- .../server/ChangeStatBaseInteraction.java | 3 - .../config/server/ChangeStatInteraction.java | 3 - .../ChangeStatWithModifierInteraction.java | 6 +- .../CheckUniqueItemUsageInteraction.java | 6 +- .../server/ClearEntityEffectInteraction.java | 3 - .../server/DamageEntityInteraction.java | 17 +- .../server/DestroyConditionInteraction.java | 3 - .../config/server/DoorInteraction.java | 6 - .../config/server/EquipItemInteraction.java | 6 +- .../IncreaseBackpackCapacityInteraction.java | 6 +- .../config/server/InterruptInteraction.java | 3 - .../config/server/LaunchPadInteraction.java | 3 - .../server/LaunchProjectileInteraction.java | 74 +- .../server/ModifyInventoryInteraction.java | 7 +- .../server/OpenContainerInteraction.java | 3 - .../server/OpenCustomUIInteraction.java | 3 - .../OpenItemStackContainerInteraction.java | 3 - .../config/server/OpenPageInteraction.java | 3 - .../PlacementCountConditionInteraction.java | 3 - .../server/RefillContainerInteraction.java | 278 ++++--- .../server/RunOnBlockTypesInteraction.java | 376 ++++++++++ .../config/server/SpawnPrefabInteraction.java | 6 - .../server/combat/DamageCalculator.java | 3 - .../config/server/combat/DamageClass.java | 3 - .../server/combat/DirectionalKnockback.java | 3 - .../config/server/combat/ForceKnockback.java | 3 - .../config/server/combat/PointKnockback.java | 3 - .../operation/OperationsBuilder.java | 3 - .../interaction/util/InteractionTarget.java | 15 +- .../suppliers/ItemRepairPageSupplier.java | 3 - .../system/InteractionSystems.java | 19 +- .../item/CraftingRecipePacketGenerator.java | 3 - .../modules/item/ItemPacketGenerator.java | 3 - .../item/ItemQualityPacketGenerator.java | 3 - .../ItemReticleConfigPacketGenerator.java | 3 - .../modules/item/RecipePacketGenerator.java | 3 - .../ChunkColumnMigrationSystem.java | 2 - .../ChunkSectionMigrationSystem.java | 2 - .../core/modules/physics/RestingSupport.java | 3 - .../physics/SimplePhysicsProvider.java | 11 +- .../GenericVelocityInstructionSystem.java | 3 - .../physics/systems/VelocitySystems.java | 3 - .../physics/util/ForceAccumulator.java | 3 - .../physics/util/ForceProviderStandard.java | 3 - .../physics/util/PhysicsBodyState.java | 3 - .../physics/util/PhysicsBodyStateUpdater.java | 3 - .../util/PhysicsBodyStateUpdaterMidpoint.java | 3 - .../util/PhysicsBodyStateUpdaterRK4.java | 3 - ...hysicsBodyStateUpdaterSymplecticEuler.java | 3 - .../physics/util/PhysicsConstants.java | 3 - .../modules/physics/util/PhysicsFlags.java | 3 - .../modules/physics/util/PhysicsMath.java | 3 - .../prefabspawner/PrefabSpawnerState.java | 6 - .../projectile/config/ProjectileConfig.java | 3 - .../ProjectileConfigPacketGenerator.java | 3 - .../config/StandardPhysicsConfig.java | 3 - .../config/StandardPhysicsProvider.java | 3 - .../interaction/ProjectileInteraction.java | 3 - .../system/PredictedProjectileSystems.java | 6 - .../system/StandardPhysicsTickSystem.java | 3 - .../modules/splitvelocity/VelocityConfig.java | 3 - .../core/modules/time/WorldTimeResource.java | 3 - .../core/modules/time/WorldTimeSystems.java | 3 - .../core/permissions/HytalePermissions.java | 6 +- .../permissions/commands/op/OpAddCommand.java | 18 +- .../commands/op/OpRemoveCommand.java | 18 +- .../commands/op/OpSelfCommand.java | 18 +- .../server/core/plugin/PluginState.java | 3 - .../core/plugin/pages/PluginListPage.java | 3 - .../core/prefab/PrefabCopyableComponent.java | 5 +- .../core/prefab/PrefabLoadException.java | 3 - .../server/core/prefab/PrefabRotation.java | 12 - .../core/prefab/PrefabSaveException.java | 3 - .../server/core/prefab/PrefabStore.java | 2 +- .../server/core/prefab/PrefabWeights.java | 3 - .../config/SelectionPrefabSerializer.java | 10 +- .../buffer/BinaryPrefabBufferCodec.java | 3 - .../buffer/BsonPrefabBufferDeserializer.java | 3 - .../selection/buffer/PrefabBufferUtil.java | 6 - .../prefab/selection/mask/BlockPattern.java | 4 + .../selection/standard/BlockSelection.java | 47 +- .../hypixel/hytale/server/core/ui/Anchor.java | 3 - .../hypixel/hytale/server/core/ui/Area.java | 3 - .../server/core/ui/LocalizableString.java | 6 - .../core/ui/browser/FileBrowserConfig.java | 32 +- .../core/ui/browser/FileBrowserEventData.java | 3 - .../core/ui/browser/FileListProvider.java | 10 +- .../core/ui/browser/ServerFileBrowser.java | 293 +++++++- .../core/ui/builder/UICommandBuilder.java | 3 - .../core/ui/builder/UIEventBuilder.java | 3 - .../hytale/server/core/universe/Universe.java | 19 +- .../universe/WorldLoadCancelledException.java | 2 - .../DefaultPlayerStorageProvider.java | 3 - .../playerdata/DiskPlayerStorageProvider.java | 3 - .../PlayerVelocityInstructionSystem.java | 21 +- .../world/ClientEffectWorldSettings.java | 3 - .../core/universe/world/ParticleUtil.java | 3 - .../universe/world/PlaceBlockSettings.java | 3 - .../core/universe/world/PlayerUtil.java | 3 - .../core/universe/world/SetBlockSettings.java | 3 - .../server/core/universe/world/SoundUtil.java | 3 - .../server/core/universe/world/SpawnUtil.java | 3 - .../core/universe/world/ValidationOption.java | 3 - .../server/core/universe/world/World.java | 15 +- .../core/universe/world/WorldConfig.java | 3 - .../universe/world/WorldConfigProvider.java | 2 - .../core/universe/world/WorldMapTracker.java | 176 +---- .../world/accessor/BlockAccessor.java | 16 +- .../world/accessor/EmptyBlockAccessor.java | 3 - .../world/accessor/IChunkAccessorSync.java | 4 + .../world/chunk/BlockComponentChunk.java | 19 +- .../world/chunk/BlockRotationUtil.java | 3 - .../core/universe/world/chunk/ChunkFlag.java | 3 - .../universe/world/chunk/EntityChunk.java | 54 +- .../core/universe/world/chunk/WorldChunk.java | 30 +- .../world/chunk/section/BlockSection.java | 12 +- .../world/chunk/section/FluidSection.java | 3 - .../section/palette/ISectionPalette.java | 3 - .../world/chunk/systems/ChunkSystems.java | 21 - .../world/perf/WorldPerfResetCommand.java | 3 +- .../commands/world/tps/WorldTpsCommand.java | 11 +- .../ConnectedBlockFaceTags.java | 3 - .../ConnectedBlockPatternRule.java | 6 - .../ConnectedBlockRuleSet.java | 3 - .../connectedblocks/ConnectedBlockShape.java | 3 - .../connectedblocks/ConnectedBlocksUtil.java | 3 - .../CustomConnectedBlockPattern.java | 3 - .../CustomConnectedBlockTemplateAsset.java | 3 - .../CustomTemplateConnectedBlockPattern.java | 3 - .../CustomTemplateConnectedBlockRuleSet.java | 3 - .../PatternRotationDefinition.java | 6 - .../builtin/RoofConnectedBlockRuleSet.java | 38 +- .../builtin/StairConnectedBlockRuleSet.java | 9 - .../world/events/AllWorldsLoadedEvent.java | 3 - .../world/events/RemoveWorldEvent.java | 3 - .../world/lighting/CalculationResult.java | 3 - .../core/universe/world/meta/BlockState.java | 9 +- .../universe/world/meta/BlockStateModule.java | 7 +- .../world/meta/state/BlockMapMarker.java | 11 +- .../world/meta/state/ItemContainerState.java | 3 - .../universe/world/meta/state/LaunchPad.java | 3 - .../world/meta/state/RespawnBlock.java | 74 +- .../world/path/SimplePathWaypoint.java | 3 +- .../universe/world/path/WorldPathConfig.java | 3 - .../spawn/FitToHeightMapSpawnProvider.java | 2 +- .../world/spawn/GlobalSpawnProvider.java | 4 +- .../world/spawn/IndividualSpawnProvider.java | 6 +- .../universe/world/storage/ChunkStore.java | 82 ++- .../universe/world/storage/EntityStore.java | 6 - .../universe/world/storage/GetChunkFlags.java | 3 - .../storage/component/ChunkSavingSystems.java | 18 +- .../component/ChunkUnloadingSystem.java | 3 - .../provider/DefaultChunkStorageProvider.java | 10 +- .../provider/EmptyChunkStorageProvider.java | 16 +- .../IndexedStorageChunkStorageProvider.java | 63 +- .../MigrationChunkStorageProvider.java | 5 +- .../DefaultResourceStorageProvider.java | 3 - .../DiskResourceStorageProvider.java | 3 - .../EmptyResourceStorageProvider.java | 3 - .../world/system/WorldPregenerateSystem.java | 3 - .../worldgen/GeneratedBlockStateChunk.java | 3 - .../world/worldgen/GeneratedChunkSection.java | 3 - .../provider/DummyWorldGenProvider.java | 3 - .../WorldLocationCondition.java | 3 - .../world/worldmap/WorldMapManager.java | 19 +- .../worldmap/markers/MapMarkerTracker.java | 179 +++++ .../markers/PlayerIconMarkerProvider.java | 63 -- .../{ => providers}/DeathMarkerProvider.java | 13 +- .../{ => providers}/POIMarkerProvider.java | 9 +- .../PerWorldDataMarkerProvider.java} | 15 +- .../providers/PlayerIconMarkerProvider.java | 56 ++ .../RespawnMarkerProvider.java | 13 +- .../{ => providers}/SpawnMarkerProvider.java | 11 +- .../provider/DisabledWorldMapProvider.java | 6 - .../provider/chunk/ChunkWorldMap.java | 3 - .../worldmap/provider/chunk/ImageBuilder.java | 44 +- .../chunk/WorldGenWorldMapProvider.java | 3 - .../server/core/update/UpdateModule.java | 415 +++++++++++ .../server/core/update/UpdateService.java | 382 ++++++++++ .../update/command/UpdateApplyCommand.java | 122 ++++ .../update/command/UpdateCancelCommand.java | 41 ++ .../update/command/UpdateCheckCommand.java | 58 ++ .../core/update/command/UpdateCommand.java | 36 + .../update/command/UpdateDownloadCommand.java | 115 +++ .../command/UpdatePatchlineCommand.java | 41 ++ .../update/command/UpdateStatusCommand.java | 68 ++ .../hytale/server/core/util/AssetUtil.java | 3 - .../hytale/server/core/util/AuthUtil.java | 23 - .../hytale/server/core/util/BsonUtil.java | 3 - .../server/core/util/ConsoleColorUtil.java | 3 - .../hytale/server/core/util/DumpUtil.java | 3 - .../server/core/util/EventTitleUtil.java | 3 - .../server/core/util/FillerBlockUtil.java | 6 - .../hytale/server/core/util/HashUtil.java | 3 - .../hytale/server/core/util/MessageUtil.java | 212 +++++- .../server/core/util/NotificationUtil.java | 3 - .../hytale/server/core/util/PositionUtil.java | 3 - .../hytale/server/core/util/PrefabUtil.java | 16 +- .../hytale/server/core/util/ProcessUtil.java | 3 - .../hytale/server/core/util/TargetUtil.java | 3 - .../server/core/util/TempAssetIdUtil.java | 3 - .../hytale/server/core/util/UUIDUtil.java | 3 - .../hytale/server/core/util/ValidateUtil.java | 3 - .../server/core/util/backup/BackupUtil.java | 3 - .../core/util/concurrent/ThreadUtil.java | 3 - .../server/core/util/io/ByteBufUtil.java | 3 - .../hytale/server/core/util/io/FileUtil.java | 28 +- .../core/util/message/MessageFormat.java | 3 - .../hypixel/hytale/server/flock/Flock.java | 3 - .../server/flock/FlockDeathSystems.java | 17 +- .../hytale/server/flock/FlockMembership.java | 3 - .../server/flock/FlockMembershipSystems.java | 12 - .../hytale/server/flock/FlockSystems.java | 3 - .../hytale/server/flock/StoredFlock.java | 3 - .../builders/BuilderActionFlockBeacon.java | 3 - .../builders/BuilderActionFlockJoin.java | 3 - .../builders/BuilderActionFlockLeave.java | 3 - .../builders/BuilderActionFlockSetTarget.java | 3 - .../builders/BuilderActionFlockState.java | 3 - .../builders/BuilderBodyMotionFlock.java | 3 - .../builders/BuilderEntityFilterFlock.java | 3 - .../BuilderSensorFlockCombatDamage.java | 3 - .../builders/BuilderSensorFlockLeader.java | 3 - .../BuilderSensorInflictedDamage.java | 3 - .../hypixel/hytale/server/npc/NPCPlugin.java | 9 +- .../builder/BuilderAttributeDescriptor.java | 3 - .../server/npc/asset/builder/BuilderBase.java | 3 - .../asset/builder/BuilderBaseWithType.java | 3 - .../asset/builder/BuilderDescriptorState.java | 3 - .../server/npc/asset/builder/BuilderInfo.java | 3 - .../npc/asset/builder/BuilderManager.java | 9 +- .../npc/asset/builder/BuilderModifier.java | 16 +- .../builder/SpawnableWithModelBuilder.java | 3 - .../npc/asset/builder/StateMappingHelper.java | 3 - .../builder/expression/BuilderExpression.java | 6 - .../BuilderExpressionStaticEmptyArray.java | 3 - .../builder/holder/AssetArrayHolder.java | 3 - .../npc/asset/builder/holder/AssetHolder.java | 3 - .../holder/DeferEvaluateAssetHolder.java | 3 - .../asset/builder/holder/DoubleHolder.java | 3 - .../npc/asset/builder/holder/EnumHolder.java | 3 - .../npc/asset/builder/holder/FloatHolder.java | 3 - .../asset/builder/holder/StringHolder.java | 3 - .../builder/holder/TemporalArrayHolder.java | 3 - .../ProviderEvaluatorTypeRegistry.java | 3 - .../builder/validators/ArrayValidator.java | 3 - .../builder/validators/AssetValidator.java | 3 - .../validators/BooleanArrayValidator.java | 3 - .../validators/DoubleArrayValidator.java | 3 - .../builder/validators/DoubleValidator.java | 3 - .../validators/EnumArrayValidator.java | 3 - .../builder/validators/IntArrayValidator.java | 3 - .../builder/validators/IntValidator.java | 3 - .../validators/RequiredFeatureValidator.java | 3 - .../validators/StringArrayValidator.java | 3 - .../builder/validators/StringValidator.java | 3 - .../validators/TemporalArrayValidator.java | 3 - .../asset/builder/validators/Validator.java | 2 - .../validators/ValidatorTypeRegistry.java | 3 - .../server/npc/blackboard/Blackboard.java | 3 - .../npc/blackboard/view/BlockRegionView.java | 3 - .../view/BlockRegionViewManager.java | 3 - .../view/PrioritisedProviderView.java | 3 - .../blackboard/view/attitude/AttitudeMap.java | 3 - .../view/attitude/ItemAttitudeMap.java | 3 - .../BlockPositionEntryGenerator.java | 6 - .../view/blocktype/BlockTypeViewManager.java | 3 - .../view/combat/CombatViewSystems.java | 30 +- .../view/combat/InterpretedCombatData.java | 3 - .../view/event/EntityEventNotification.java | 3 - .../view/event/EventNotification.java | 3 - .../view/interaction/ReservationStatus.java | 3 - .../view/resource/ResourceViewManager.java | 3 - .../server/npc/commands/NPCCommandUtils.java | 3 - .../npc/commands/NPCRunTestsCommand.java | 3 - .../npc/components/FailedSpawnComponent.java | 3 - .../SortBufferProviderResource.java | 3 - .../npc/components/SpawnBeaconReference.java | 3 - .../npc/components/SpawnMarkerReference.java | 3 - .../server/npc/components/SpawnReference.java | 3 - .../components/messaging/BeaconSupport.java | 3 - .../messaging/EntityEventSupport.java | 3 - .../components/messaging/EventSupport.java | 3 - .../components/messaging/MessageSupport.java | 3 - .../messaging/NPCBlockEventSupport.java | 3 - .../messaging/NPCEntityEventSupport.java | 3 - .../npc/components/messaging/NPCMessage.java | 3 - .../messaging/PlayerBlockEventSupport.java | 3 - .../messaging/PlayerEntityEventSupport.java | 3 - .../AnnotatedComponentBase.java | 3 - .../npc/corecomponents/BlockTarget.java | 3 - .../npc/corecomponents/EntityFilterBase.java | 2 - .../server/npc/corecomponents/MotionBase.java | 2 - .../audiovisual/ActionSpawnParticles.java | 4 +- .../builders/BuilderActionAppearance.java | 3 - .../builders/BuilderActionDisplayName.java | 3 - .../BuilderActionModelAttachment.java | 3 - .../builders/BuilderActionPlayAnimation.java | 3 - .../builders/BuilderActionPlaySound.java | 3 - .../builders/BuilderActionSpawnParticles.java | 25 +- .../builders/BuilderSensorAnimation.java | 3 - .../builders/BuilderActionBase.java | 3 - .../builders/BuilderActionWithDelay.java | 3 - .../builders/BuilderBodyMotionBase.java | 3 - .../builders/BuilderEntityFilterBase.java | 3 - .../BuilderEntityFilterWithToggle.java | 3 - .../builders/BuilderHeadMotionBase.java | 3 - .../builders/BuilderMotionBase.java | 3 - .../builders/BuilderSensorBase.java | 3 - .../BuilderSensorWithEntityFilters.java | 3 - .../builders/BuilderWeightedAction.java | 3 - .../corecomponents/combat/HeadMotionAim.java | 6 +- .../BuilderActionApplyEntityEffect.java | 3 - .../combat/builders/BuilderActionAttack.java | 3 - .../builders/BuilderBodyMotionAimCharge.java | 3 - .../combat/builders/BuilderHeadMotionAim.java | 28 +- .../combat/builders/BuilderSensorDamage.java | 3 - .../builders/BuilderSensorIsBackingAway.java | 3 - .../debug/builders/BuilderActionLog.java | 3 - .../debug/builders/BuilderActionTest.java | 3 - .../builders/BuilderBodyMotionTestProbe.java | 3 - .../entity/builders/BuilderActionBeacon.java | 3 - .../BuilderActionIgnoreForAvoidance.java | 3 - .../entity/builders/BuilderActionNotify.java | 3 - .../BuilderActionOverrideAttitude.java | 3 - .../builders/BuilderActionReleaseTarget.java | 3 - .../BuilderActionSetMarkedTarget.java | 3 - .../entity/builders/BuilderActionSetStat.java | 3 - .../builders/BuilderHeadMotionWatch.java | 3 - .../entity/builders/BuilderSensorBeacon.java | 3 - .../entity/builders/BuilderSensorCount.java | 3 - .../entity/builders/BuilderSensorEntity.java | 3 - .../builders/BuilderSensorEntityBase.java | 3 - .../entity/builders/BuilderSensorKill.java | 3 - .../entity/builders/BuilderSensorPlayer.java | 3 - .../entity/builders/BuilderSensorSelf.java | 3 - .../entity/builders/BuilderSensorTarget.java | 3 - .../entity/filters/EntityFilterCombat.java | 2 +- .../filters/EntityFilterLineOfSight.java | 3 - .../builders/BuilderEntityFilterAltitude.java | 3 - .../builders/BuilderEntityFilterAnd.java | 3 - .../builders/BuilderEntityFilterAttitude.java | 3 - .../builders/BuilderEntityFilterCombat.java | 3 - .../BuilderEntityFilterHeightDifference.java | 3 - .../BuilderEntityFilterInsideBlock.java | 3 - .../BuilderEntityFilterInventory.java | 3 - .../BuilderEntityFilterItemInHand.java | 3 - .../BuilderEntityFilterLineOfSight.java | 3 - .../builders/BuilderEntityFilterMany.java | 3 - .../BuilderEntityFilterMovementState.java | 3 - .../builders/BuilderEntityFilterNPCGroup.java | 3 - .../builders/BuilderEntityFilterNot.java | 3 - .../builders/BuilderEntityFilterOr.java | 3 - .../builders/BuilderEntityFilterSpotsMe.java | 3 - .../BuilderEntityFilterStandingOnBlock.java | 3 - .../builders/BuilderEntityFilterStat.java | 3 - .../BuilderEntityFilterViewSector.java | 3 - .../SensorEntityPrioritiserDefault.java | 3 - .../BuilderActionLockOnInteractionTarget.java | 3 - .../BuilderActionSetInteractable.java | 3 - .../builders/BuilderSensorCanInteract.java | 3 - .../builders/BuilderSensorHasInteracted.java | 3 - .../BuilderSensorInteractionContext.java | 3 - .../corecomponents/items/ActionInventory.java | 2 +- .../items/builders/BuilderActionDropItem.java | 3 - .../builders/BuilderActionInventory.java | 3 - .../builders/BuilderActionPickUpItem.java | 3 - .../builders/BuilderSensorDroppedItem.java | 3 - .../builders/BuilderActionDelayDespawn.java | 3 - .../builders/BuilderActionDespawn.java | 3 - .../lifecycle/builders/BuilderActionDie.java | 3 - .../builders/BuilderActionRemove.java | 3 - .../lifecycle/builders/BuilderActionRole.java | 3 - .../builders/BuilderActionSpawn.java | 3 - .../lifecycle/builders/BuilderSensorAge.java | 3 - .../movement/BodyMotionTeleport.java | 6 +- .../movement/BodyMotionWanderBase.java | 3 - .../builders/BuilderActionCrouch.java | 3 - .../BuilderActionOverrideAltitude.java | 3 - .../builders/BuilderActionRecomputePath.java | 3 - .../builders/BuilderBodyMotionFind.java | 3 - .../builders/BuilderBodyMotionLand.java | 3 - .../BuilderBodyMotionMaintainDistance.java | 3 - .../builders/BuilderBodyMotionMatchLook.java | 3 - .../builders/BuilderBodyMotionMoveAway.java | 3 - .../builders/BuilderBodyMotionTakeOff.java | 3 - .../builders/BuilderBodyMotionTeleport.java | 3 - .../builders/BuilderBodyMotionWander.java | 3 - .../builders/BuilderBodyMotionWanderBase.java | 3 - .../BuilderBodyMotionWanderInCircle.java | 3 - .../BuilderBodyMotionWanderInRect.java | 3 - .../movement/builders/BuilderSensorInAir.java | 3 - .../BuilderSensorMotionController.java | 3 - .../movement/builders/BuilderSensorNav.java | 3 - .../builders/BuilderSensorOnGround.java | 3 - .../builders/BuilderActionParentState.java | 3 - .../builders/BuilderActionState.java | 3 - .../BuilderActionToggleStateEvaluator.java | 3 - .../builders/BuilderSensorIsBusy.java | 3 - .../builders/BuilderSensorState.java | 3 - .../timer/builders/BuilderActionSetAlarm.java | 3 - .../timer/builders/BuilderActionTimer.java | 3 - .../builders/BuilderActionTimerContinue.java | 3 - .../builders/BuilderActionTimerModify.java | 3 - .../builders/BuilderActionTimerPause.java | 3 - .../builders/BuilderActionTimerRestart.java | 3 - .../builders/BuilderActionTimerStart.java | 3 - .../builders/BuilderActionTimerStop.java | 3 - .../timer/builders/BuilderMotionTimer.java | 3 - .../timer/builders/BuilderSensorAlarm.java | 3 - .../timer/builders/BuilderSensorTimer.java | 3 - .../builders/BuilderActionNothing.java | 3 - .../utility/builders/BuilderActionRandom.java | 3 - .../BuilderActionResetInstructions.java | 3 - .../builders/BuilderActionSequence.java | 3 - .../builders/BuilderActionSetFlag.java | 3 - .../builders/BuilderActionTimeout.java | 3 - .../builders/BuilderBodyMotionNothing.java | 3 - .../builders/BuilderHeadMotionNothing.java | 3 - .../builders/BuilderMotionSequence.java | 3 - .../builders/BuilderSensorAdjustPosition.java | 3 - .../utility/builders/BuilderSensorAnd.java | 3 - .../utility/builders/BuilderSensorAny.java | 3 - .../utility/builders/BuilderSensorEval.java | 3 - .../utility/builders/BuilderSensorFlag.java | 3 - .../utility/builders/BuilderSensorMany.java | 3 - .../utility/builders/BuilderSensorNot.java | 3 - .../utility/builders/BuilderSensorOr.java | 3 - .../utility/builders/BuilderSensorRandom.java | 3 - .../utility/builders/BuilderSensorSwitch.java | 3 - .../BuilderSensorValueProviderWrapper.java | 3 - .../BuilderValueToParameterMapping.java | 3 - .../npc/corecomponents/world/SensorPath.java | 3 - .../world/builders/BuilderActionMakePath.java | 3 - .../builders/BuilderActionPlaceBlock.java | 3 - .../BuilderActionResetBlockSensors.java | 3 - .../builders/BuilderActionResetPath.java | 3 - .../BuilderActionResetSearchRays.java | 3 - .../BuilderActionSetBlockToPlace.java | 3 - .../BuilderActionSetLeashPosition.java | 3 - .../builders/BuilderActionStorePosition.java | 3 - .../BuilderActionTriggerSpawners.java | 3 - .../world/builders/BuilderBodyMotionPath.java | 3 - .../builders/BuilderHeadMotionObserve.java | 3 - .../world/builders/BuilderSensorBlock.java | 3 - .../builders/BuilderSensorBlockChange.java | 3 - .../builders/BuilderSensorBlockType.java | 3 - .../world/builders/BuilderSensorCanPlace.java | 3 - .../builders/BuilderSensorEntityEvent.java | 3 - .../world/builders/BuilderSensorEvent.java | 3 - .../world/builders/BuilderSensorInWater.java | 3 - .../world/builders/BuilderSensorLeash.java | 3 - .../world/builders/BuilderSensorLight.java | 3 - .../world/builders/BuilderSensorPath.java | 3 - .../builders/BuilderSensorReadPosition.java | 3 - .../builders/BuilderSensorSearchRay.java | 3 - .../world/builders/BuilderSensorTime.java | 3 - .../world/builders/BuilderSensorWeather.java | 3 - .../decisionmaker/core/EvaluationContext.java | 3 - .../npc/decisionmaker/core/Evaluator.java | 3 - .../core/conditions/LineOfSightCondition.java | 3 - .../core/conditions/RandomiserCondition.java | 3 - .../conditions/TargetDistanceCondition.java | 3 - .../TargetMovementStateCondition.java | 3 - .../server/npc/entities/PathManager.java | 3 - .../server/npc/instructions/NullSensor.java | 3 - .../builders/BuilderActionList.java | 3 - .../builders/BuilderInstruction.java | 3 - .../BuilderInstructionRandomized.java | 3 - .../builders/BuilderInstructionReference.java | 3 - .../NPCInteractionSimulationHandler.java | 3 - .../npc/interactions/SpawnNPCInteraction.java | 3 - .../npc/metadata/CapturedNPCMetadata.java | 3 - .../movement/GroupSteeringAccumulator.java | 3 - .../server/npc/movement/MotionKind.java | 3 - .../hytale/server/npc/movement/Steering.java | 3 - .../BuilderMotionControllerMapUtil.java | 3 - .../controllers/MotionController.java | 5 +- .../controllers/MotionControllerBase.java | 20 +- .../controllers/MotionControllerWalk.java | 10 +- .../movement/controllers/ProbeMoveData.java | 3 - .../builders/BuilderMotionControllerBase.java | 3 - .../builders/BuilderMotionControllerDive.java | 3 - .../builders/BuilderMotionControllerFly.java | 3 - .../builders/BuilderMotionControllerMap.java | 3 - .../builders/BuilderMotionControllerWalk.java | 44 +- .../SteeringForceAvoidCollision.java | 3 - .../steeringforces/SteeringForceRotate.java | 3 - .../SteeringForceWithGroup.java | 3 - .../SteeringForceWithTarget.java | 3 - .../server/npc/navigation/AStarBase.java | 6 - .../server/npc/navigation/AStarDebugBase.java | 26 +- .../npc/navigation/AStarDebugWithTarget.java | 2 +- .../AStarNodePoolProviderSimple.java | 3 - .../npc/navigation/AStarWithTarget.java | 3 - .../server/npc/navigation/PathFollower.java | 6 - .../server/npc/pages/EntitySpawnPage.java | 3 - .../BuilderRelativeWaypointDefinition.java | 3 - .../BuilderTransientPathDefinition.java | 3 - .../hypixel/hytale/server/npc/role/Role.java | 11 +- .../hytale/server/npc/role/RoleUtils.java | 3 - .../server/npc/role/builders/BuilderRole.java | 50 +- .../role/builders/BuilderRoleAbstract.java | 3 - .../npc/role/builders/BuilderRoleVariant.java | 3 - .../npc/role/support/PositionCache.java | 6 - .../server/npc/role/support/RoleStats.java | 6 - .../server/npc/role/support/StateSupport.java | 2 +- .../sensorinfo/CachedPositionProvider.java | 3 - .../server/npc/sensorinfo/PathProvider.java | 3 - .../MultipleParameterProvider.java | 3 - .../builders/BuilderStateTransition.java | 3 - .../BuilderStateTransitionController.java | 3 - .../builders/BuilderStateTransitionEdges.java | 3 - .../hytale/server/npc/storage/AlarmStore.java | 3 - .../BalancingInitialisationSystem.java | 3 - .../server/npc/systems/BlackboardSystems.java | 3 - .../server/npc/systems/FailedSpawnSystem.java | 3 - .../server/npc/systems/NPCDamageSystems.java | 103 ++- .../server/npc/systems/NPCDeathSystems.java | 42 +- .../npc/systems/NPCInteractionSystems.java | 3 - .../hytale/server/npc/systems/NPCSystems.java | 41 +- .../systems/NPCVelocityInstructionSystem.java | 67 +- .../systems/NewSpawnStartTickingSystem.java | 3 - .../npc/systems/PositionCacheSystems.java | 3 - .../server/npc/systems/RoleChangeSystem.java | 3 - .../server/npc/systems/RoleSystems.java | 3 - .../npc/systems/SpawnReferenceSystems.java | 3 - .../npc/systems/StateEvaluatorSystem.java | 64 +- .../server/npc/systems/SteeringSystem.java | 80 +- .../npc/systems/SteppableTickingSystem.java | 3 - .../hytale/server/npc/util/AimingData.java | 3 - .../hytale/server/npc/util/AimingHelper.java | 3 - .../hypixel/hytale/server/npc/util/Alarm.java | 3 - .../server/npc/util/BlockPlacementHelper.java | 3 - .../server/npc/util/InventoryHelper.java | 4 +- .../server/npc/util/NPCPhysicsMath.java | 3 - .../server/npc/util/PositionProbeAir.java | 3 - .../server/npc/util/PositionProbeBase.java | 3 - .../server/npc/util/PositionProbeWater.java | 3 - .../server/npc/util/RayBlockHitTest.java | 3 - .../hytale/server/npc/util/RootSolver.java | 3 - .../npc/util/SensorSupportBenchmark.java | 3 - .../hypixel/hytale/server/npc/util/Timer.java | 3 - .../npc/util/expression/ExecutionContext.java | 3 - .../server/npc/util/expression/ValueType.java | 3 - .../util/expression/compile/LexerContext.java | 3 - .../util/expression/compile/TokenFlags.java | 3 - .../npc/validators/NPCRoleValidator.java | 3 - .../server/npc/valuestore/ValueStore.java | 3 - .../npc/valuestore/ValueStoreValidator.java | 3 - .../server/spawning/SpawnRejection.java | 3 - .../server/spawning/SpawnTestResult.java | 3 - .../server/spawning/SpawningContext.java | 3 - .../server/spawning/SpawningPlugin.java | 6 - .../spawning/assets/spawns/LightType.java | 3 - .../spawning/beacons/InitialBeaconDelay.java | 3 - .../server/spawning/beacons/SpawnBeacon.java | 82 ++- .../spawning/beacons/SpawnBeaconSystems.java | 5 +- .../blockstates/SpawnMarkerBlockState.java | 3 - .../SpawnMarkerBlockStateSystems.java | 3 - .../controllers/BeaconSpawnController.java | 40 +- .../controllers/SpawnControllerSystem.java | 3 - .../spawning/controllers/SpawnJobSystem.java | 6 - .../BuilderActionTriggerSpawnBeacon.java | 3 - .../TriggerSpawnMarkersInteraction.java | 3 - .../spawning/jobs/NPCBeaconSpawnJob.java | 3 - .../spawning/local/LocalSpawnBeacon.java | 3 - .../spawning/local/LocalSpawnController.java | 3 - .../local/LocalSpawnControllerSystem.java | 2 +- .../spawning/local/LocalSpawnState.java | 3 - .../spawning/managers/BeaconSpawnManager.java | 3 - .../spawning/managers/SpawnManager.java | 3 - .../spawnmarkers/SpawnMarkerEntity.java | 277 +++---- .../spawnmarkers/SpawnMarkerSystems.java | 249 ++++--- .../suppression/SuppressionSpanHelper.java | 6 - .../component/ChunkSuppressionQueue.java | 3 - .../component/SpawnSuppressionController.java | 3 - .../system/ChunkSuppressionSystems.java | 3 - .../system/SpawnSuppressionSystems.java | 6 - .../server/spawning/util/ChunkColumnMask.java | 3 - .../FloodFillEntryPoolProviderSimple.java | 3 - .../util/FloodFillEntryPoolSimple.java | 3 - .../util/FloodFillPositionSelector.java | 6 - .../spawning/util/LightRangePredicate.java | 3 - .../world/ChunkEnvironmentSpawnData.java | 3 - .../world/component/ChunkSpawnData.java | 3 - .../world/component/ChunkSpawnedNPCData.java | 3 - .../world/component/WorldSpawnData.java | 3 - .../world/system/ChunkSpawningSystems.java | 3 - .../world/system/WorldSpawnJobSystems.java | 6 - .../worldgen/HytaleWorldGenProvider.java | 3 - .../server/worldgen/SeedStringResource.java | 11 + .../benchmark/ChunkWorldgenBenchmark.java | 3 - .../worldgen/biome/BiomeInterpolation.java | 3 - .../cache/InterpolatedBiomeCountList.java | 3 - .../worldgen/cave/CaveBiomeMaskFlags.java | 6 - .../cave/CaveBlockPriorityModifier.java | 3 - .../server/worldgen/cave/CaveYawMode.java | 3 - .../cave/shape/AbstractCaveNodeShape.java | 5 +- .../cave/shape/CaveNodeShapeEnum.java | 3 - .../cave/shape/CaveNodeShapeUtils.java | 3 - .../cave/shape/DistortedCaveNodeShape.java | 2 +- .../cave/shape/TetrahedronCaveNodeShape.java | 3 - .../distorted/AbstractDistortedBody.java | 3 - .../distorted/DistortedCylinderShape.java | 3 - .../distorted/DistortedEllipsoidShape.java | 3 - .../shape/distorted/DistortedPipeShape.java | 3 - .../worldgen/chunk/BlockPriorityChunk.java | 3 - .../server/worldgen/chunk/ValidationUtil.java | 3 - .../chunk/populator/BlockPopulator.java | 6 - .../chunk/populator/CavePopulator.java | 3 - .../chunk/populator/PrefabPopulator.java | 3 - .../chunk/populator/WaterPopulator.java | 3 - .../server/worldgen/climate/ClimateGraph.java | 3 - .../server/worldgen/climate/ClimateNoise.java | 3 - .../worldgen/climate/ClimateSearch.java | 3 - .../server/worldgen/climate/DirectGrid.java | 3 - .../climate/util/DistanceTransform.java | 3 - .../cave/CaveNodeChildEntryJsonLoader.java | 22 +- .../loader/cave/CaveNodeTypeJsonLoader.java | 5 +- .../loader/cave/CaveNodeTypeStorage.java | 7 +- .../cave/CavePrefabConfigJsonLoader.java | 3 +- .../loader/cave/CaveTypeJsonLoader.java | 17 +- .../loader/cave/CaveTypesJsonLoader.java | 11 +- ...refabCaveNodeShapeGeneratorJsonLoader.java | 3 +- .../prefab/BlockPlacementMaskJsonLoader.java | 33 +- .../prefab/BlockPlacementMaskRegistry.java | 31 +- .../PrefabPatternGeneratorJsonLoader.java | 3 +- .../UniquePrefabConfigurationJsonLoader.java | 3 +- .../worldgen/loader/util/ColorUtil.java | 3 - .../worldgen/loader/util/FileMaskCache.java | 3 - .../worldgen/prefab/BlockPlacementMask.java | 225 ------ .../worldgen/prefab/PrefabLoadingCache.java | 3 - .../worldgen/prefab/PrefabPasteUtil.java | 13 +- .../worldgen/prefab/PrefabStoreRoot.java | 3 - .../server/worldgen/util/ArrayUtli.java | 3 - .../hytale/server/worldgen/util/LogUtil.java | 3 - .../cache/ConcurrentSizedTimeoutCache.java | 11 +- .../util/cache/SizedTimeoutCache.java | 3 - .../util/condition/BlockMaskCondition.java | 160 +++- .../condition/DefaultBlockMaskCondition.java | 25 - .../util/condition/FilteredIntCondition.java | 30 - .../util/condition/flag/FlagOperator.java | 3 - .../worldgen/zone/ZoneColorMapping.java | 3 - .../hytale/sneakythrow/SneakyThrow.java | 3 - .../hytale/storage/IndexedStorageFile.java | 3 - .../hytale/storage/IndexedStorageFile_v0.java | 3 - src/com/hypixel/hytale/unsafe/UnsafeUtil.java | 3 - src/manifests.json | 540 ++++++++++++++ 2003 files changed, 13044 insertions(+), 14337 deletions(-) create mode 100644 .idea/vcs.xml delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties delete mode 100644 gradlew delete mode 100644 gradlew.bat create mode 100644 src/com/hypixel/hytale/builtin/adventure/memories/commands/MemoriesSetCountCommand.java create mode 100644 src/com/hypixel/hytale/builtin/adventure/memories/page/MemoriesUnlockedPage.java create mode 100644 src/com/hypixel/hytale/builtin/adventure/memories/page/MemoriesUnlockedPageSuplier.java create mode 100644 src/com/hypixel/hytale/builtin/buildertools/utils/PasteToolUtil.java rename src/com/hypixel/hytale/builtin/hytalegenerator/assets/positionproviders/{VerticalEliminatorPositionProviderAsset.java => SimpleHorizontalPositionProviderAsset.java} (55%) create mode 100644 src/com/hypixel/hytale/builtin/hytalegenerator/assets/props/OffsetPropAsset.java create mode 100644 src/com/hypixel/hytale/builtin/hytalegenerator/assets/props/WeightedPropAsset.java rename src/com/hypixel/hytale/builtin/hytalegenerator/positionproviders/{VerticalEliminatorPositionProvider.java => SimpleHorizontalPositionProvider.java} (59%) create mode 100644 src/com/hypixel/hytale/builtin/hytalegenerator/props/OffsetProp.java create mode 100644 src/com/hypixel/hytale/builtin/hytalegenerator/props/WeightedProp.java delete mode 100644 src/com/hypixel/hytale/protocol/RefillContainerInteraction.java create mode 100644 src/com/hypixel/hytale/server/core/auth/ProfileServiceClient.java rename src/com/hypixel/hytale/server/core/command/commands/utility/git/{UpdateCommand.java => GitCommand.java} (65%) create mode 100644 src/com/hypixel/hytale/server/core/modules/entity/teleport/TeleportRecord.java create mode 100644 src/com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/RunOnBlockTypesInteraction.java create mode 100644 src/com/hypixel/hytale/server/core/universe/world/worldmap/markers/MapMarkerTracker.java delete mode 100644 src/com/hypixel/hytale/server/core/universe/world/worldmap/markers/PlayerIconMarkerProvider.java rename src/com/hypixel/hytale/server/core/universe/world/worldmap/markers/{ => providers}/DeathMarkerProvider.java (76%) rename src/com/hypixel/hytale/server/core/universe/world/worldmap/markers/{ => providers}/POIMarkerProvider.java (71%) rename src/com/hypixel/hytale/server/core/universe/world/worldmap/markers/{PlayerMarkersProvider.java => providers/PerWorldDataMarkerProvider.java} (62%) create mode 100644 src/com/hypixel/hytale/server/core/universe/world/worldmap/markers/providers/PlayerIconMarkerProvider.java rename src/com/hypixel/hytale/server/core/universe/world/worldmap/markers/{ => providers}/RespawnMarkerProvider.java (76%) rename src/com/hypixel/hytale/server/core/universe/world/worldmap/markers/{ => providers}/SpawnMarkerProvider.java (78%) create mode 100644 src/com/hypixel/hytale/server/core/update/UpdateModule.java create mode 100644 src/com/hypixel/hytale/server/core/update/UpdateService.java create mode 100644 src/com/hypixel/hytale/server/core/update/command/UpdateApplyCommand.java create mode 100644 src/com/hypixel/hytale/server/core/update/command/UpdateCancelCommand.java create mode 100644 src/com/hypixel/hytale/server/core/update/command/UpdateCheckCommand.java create mode 100644 src/com/hypixel/hytale/server/core/update/command/UpdateCommand.java create mode 100644 src/com/hypixel/hytale/server/core/update/command/UpdateDownloadCommand.java create mode 100644 src/com/hypixel/hytale/server/core/update/command/UpdatePatchlineCommand.java create mode 100644 src/com/hypixel/hytale/server/core/update/command/UpdateStatusCommand.java delete mode 100644 src/com/hypixel/hytale/server/core/util/AuthUtil.java delete mode 100644 src/com/hypixel/hytale/server/worldgen/prefab/BlockPlacementMask.java delete mode 100644 src/com/hypixel/hytale/server/worldgen/util/condition/DefaultBlockMaskCondition.java delete mode 100644 src/com/hypixel/hytale/server/worldgen/util/condition/FilteredIntCondition.java create mode 100644 src/manifests.json diff --git a/.gitignore b/.gitignore index 1fac4d5..0735070 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,4 @@ -.gradle build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ .kotlin ### IntelliJ IDEA ### @@ -17,27 +13,7 @@ out/ !**/src/main/**/out/ !**/src/test/**/out/ -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store \ No newline at end of file +gradlew +.gradle +gradle \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 14746e7..2a65317 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,5 +1,6 @@ +