diff --git a/patches/0006-Distant-horizon-headlights-and-qol-perf.patch b/patches/0006-Distant-horizon-headlights-and-qol-perf.patch deleted file mode 100644 index f48496cc6..000000000 --- a/patches/0006-Distant-horizon-headlights-and-qol-perf.patch +++ /dev/null @@ -1,815 +0,0 @@ -From b77da7755473b73f530cf118e33e182a43a534e6 Mon Sep 17 00:00:00 2001 -From: Jika -Date: Sun, 21 Sep 2025 21:10:11 +0200 -Subject: [PATCH 6/9] Distant horizon and qol/perf config / add headlights js - ---- - config/DistantHorizons.toml | 790 ++++++++++++++ - config/smoothchunk.json | 10 + - kubejs/server_scripts/headlight/recipes.js | 24 + - kubejs/server_scripts/headlight/tags.js | 14 + - kubejs/server_scripts/main_server_script.js | 2 + - pakku.json | 7 +- - 7 files changed, 1909 insertions(+), 3 deletions(-) - create mode 100644 config/DistantHorizons.toml - create mode 100644 config/smoothchunk.json - create mode 100644 kubejs/server_scripts/headlight/recipes.js - create mode 100644 kubejs/server_scripts/headlight/tags.js - -diff --git a/config/DistantHorizons.toml b/config/DistantHorizons.toml -new file mode 100644 -index 00000000..e3ce8515 ---- /dev/null -+++ b/config/DistantHorizons.toml -@@ -0,0 +1,790 @@ -+_version = 3 -+ -+[server] -+ # -+ # Defines the Z-coordinate of the central point for generation boundaries, in blocks. -+ generationBoundsZ = 0 -+ # -+ # Defines the distance the player will receive updates around. -+ realTimeUpdateDistanceRadiusInChunks = 256 -+ # -+ # Prefix of the level keys sent to the clients. -+ # If the mod is running behind a proxy, each backend should use a unique value. -+ # If this value is empty, level key will be based on the server's seed hash. -+ levelKeyPrefix = "" -+ # -+ # Defines the distance allowed to be synchronized around the player. -+ # Should be the same or larger than maxGenerationRequestDistance in most cases. -+ maxSyncOnLoadRequestDistance = 4096 -+ # -+ # If true, clients will receive updated LODs when joining or loading new LODs. -+ synchronizeOnLoad = true -+ # -+ # Defines the distance allowed to generate around the player. -+ maxGenerationRequestDistance = 4096 -+ # -+ # Defines the X-coordinate of the central point for generation boundaries, in blocks. -+ generationBoundsX = 0 -+ # -+ # Makes the server send level keys for each world. -+ # Disable this if you use alternative ways to send level keys. -+ sendLevelKeys = true -+ # -+ # How many LOD generation requests per second should a client send? -+ # Also limits the number of client requests allowed to stay in the server's queue. -+ generationRequestRateLimit = 20 -+ # -+ # How many LOD sync requests per second should a client send? -+ # Also limits the amount of player's requests allowed to stay in the server's queue. -+ syncOnLoadRateLimit = 50 -+ # -+ # Defines the radius around the central point within which generation is allowed, in blocks. -+ # If this value is set to 0, generation bounds are disabled. -+ generationBoundsRadius = 0 -+ # -+ # Maximum speed for uploading LODs to the clients, in KB/s. -+ # Value of 0 disables the limit. -+ maxDataTransferSpeed = 500 -+ # -+ # If true, clients will receive real-time LOD updates for chunks outside the client's render distance. -+ enableRealTimeUpdates = true -+ -+ [server.experimental] -+ # -+ # When enabled on the client, this allows loading lower detail levels as needed to speed up terrain generation. -+ # This must also be enabled on the server; otherwise, it will have no effect. -+ # For better performance when switching LOD detail levels, enabling [upsampleLowerDetailLodsToFillHoles] is recommended. -+ enableNSizedGeneration = false -+ -+[common] -+ -+ [common.lodBuilding] -+ # -+ # How should block data be compressed when creating LOD data? -+ # This setting will only affect new or updated LOD data, -+ # any data already generated when this setting is changed will be -+ # unaffected until it is modified or re-loaded. -+ # -+ # MERGE_SAME_BLOCKS -+ # Every block/biome change is recorded in the database. -+ # This is what DH 2.0 and 2.0.1 all used by default and will store a lot of data. -+ # Expected Compression Ratio: 1.0 -+ # -+ # VISUALLY_EQUAL -+ # Only visible block/biome changes are recorded in the database. -+ # Hidden blocks (IE ores) are ignored. -+ # Expected Compression Ratio: 0.7 -+ worldCompression = "VISUALLY_EQUAL" -+ # -+ # When DH pulls in pre-existing chunks it will attempt to -+ # run any missing world generation steps; for example: -+ # if a chunk has the status SURFACE, DH will skip BIOMES -+ # and SURFACE, but will run FEATURES. -+ # -+ # However if for some reason the chunks are malformed -+ # or there's some other issue that causes the status -+ # to be incorrect that can either cause world gen -+ # lock-ups and/or crashes. -+ # If either of those happen try setting this to True. -+ assumePreExistingChunksAreFinished = false -+ # -+ # If true LOD generation for pre-existing chunks will attempt to pull the lighting data -+ # saved in Minecraft's Region files. -+ # If false DH will pull in chunks without lighting and re-light them. -+ # -+ # Setting this to true will result in faster LOD generation -+ # for already generated worlds, but is broken by most lighting mods. -+ # -+ # Set this to false if LODs are black. -+ pullLightingForPregeneratedChunks = false -+ # -+ # What algorithm should be used to compress new LOD data? -+ # This setting will only affect new or updated LOD data, -+ # any data already generated when this setting is changed will be -+ # unaffected until it needs to be re-written to the database. -+ # -+ # UNCOMPRESSED -+ # Should only be used for testing, is worse in every way vs [LZ4]. -+ # Expected Compression Ratio: 1.0 -+ # Estimated average DTO read speed: 1.64 milliseconds -+ # Estimated average DTO write speed: 12.44 milliseconds -+ # -+ # LZ4 -+ # A good option if you're CPU limited and have plenty of hard drive space. -+ # Expected Compression Ratio: 0.36 -+ # Estimated average DTO read speed: 1.85 ms -+ # Estimated average DTO write speed: 9.46 ms -+ # -+ # LZMA2 -+ # Slow but very good compression. -+ # Expected Compression Ratio: 0.14 -+ # Estimated average DTO read speed: 11.89 ms -+ # Estimated average DTO write speed: 192.01 ms -+ dataCompression = "LZMA2" -+ # -+ # Enabling this will drastically increase chunk processing time -+ # and you may need to increase your CPU load to handle it. -+ # -+ # Normally DH will attempt to skip creating LODs for chunks it's already seen -+ # and that haven't changed. -+ # -+ # However sometimes that logic incorrectly prevents LODs from being updated. -+ # Disabling this check may fix issues where LODs aren't updated after -+ # blocks have been changed. -+ disableUnchangedChunkCheck = false -+ # -+ # True: Recalculate chunk height maps before chunks can be used by DH. -+ # This can fix problems with worlds created by World Painter or -+ # other external tools where the heightmap format may be incorrect. -+ # False: Assume any height maps handled by Minecraft are correct. -+ # -+ # Fastest: False -+ # Most Compatible: True -+ recalculateChunkHeightmaps = false -+ -+ [common.lodBuilding.experimental] -+ # -+ # When active DH will attempt to fill missing LOD data -+ # with any data that is present in the tree, preventing holes when moving -+ # when a N-sized generator (or server) is active. -+ # -+ # This is only used when N-sized world generation is available -+ # and/or when on a server where [generateOnlyInHighestDetail] is false. -+ # -+ # Experimental: -+ # Enabling this option will increase CPU and harddrive use -+ # and may cause rendering bugs. -+ upsampleLowerDetailLodsToFillHoles = false -+ -+ [common.multiThreading] -+ # -+ # How many threads should be used by Distant Horizons? -+ numberOfThreads = 8 -+ # -+ # A value between 1.0 and 0.0 that represents the percentage -+ # of time each thread can run before going idle. -+ # -+ # This can be used to reduce CPU usage if the thread count -+ # is already set to 1 for the given option, or more finely -+ # tune CPU performance. -+ threadRunTimeRatio = "1.0" -+ -+ [common.logging] -+ # -+ # If enabled, the mod will log information about the renderer OpenGL process. -+ # This can be useful for debugging. -+ logRendererGLEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" -+ # -+ # If enabled, the mod will log performance about the world generation process. -+ # This can be useful for debugging. -+ logWorldGenPerformance = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" -+ # -+ # If enabled, the mod will log information about network operations. -+ # This can be useful for debugging. -+ logNetworkEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" -+ # -+ # If enabled, the mod will log information about the renderer buffer process. -+ # This can be useful for debugging. -+ logRendererBufferEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" -+ # -+ # If enabled, the mod will log information about the world generation process. -+ # This can be useful for debugging. -+ logWorldGenEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" -+ # -+ # If enabled, the mod will log information about the world generation process. -+ # This can be useful for debugging. -+ logWorldGenLoadEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" -+ -+ [common.logging.warning] -+ # -+ # If enabled, a chat message will be displayed when DH has too many chunks -+ # queued for updating. -+ showUpdateQueueOverloadedChatWarning = false -+ # -+ # If enabled, a chat message will be displayed if Java doesn't have enough -+ # memory allocated to run DH well. -+ showLowMemoryWarningOnStartup = true -+ # -+ # If enabled, a chat message will be displayed when a replay is started -+ # giving some basic information about how DH will function. -+ showReplayWarningOnStartup = true -+ # -+ # If enabled, a chat message will be displayed when a potentially problematic -+ # mod is installed alongside DH. -+ showModCompatibilityWarningsOnStartup = true -+ # -+ # If enabled, a chat message will be displayed if vanilla MC's -+ # render distance is higher than the recommended amount. -+ showHighVanillaRenderDistanceWarning = true -+ # -+ # If enabled, a chat message will be displayed if DH detects -+ # that any pooled objects have been garbage collected. -+ showPoolInsufficientMemoryWarning = true -+ -+ [common.worldGenerator] -+ # -+ # How detailed should LODs be generated outside the vanilla render distance? -+ # -+ # PRE_EXISTING_ONLY -+ # Only create LOD data for already generated chunks. -+ # -+ # -+ # SURFACE -+ # Generate the world surface, -+ # this does NOT include trees, -+ # or structures. -+ # -+ # FEATURES -+ # Generate everything except structures. -+ # WARNING: This may cause world generator bugs or instability when paired with certain world generator mods. -+ # -+ # INTERNAL_SERVER -+ # Ask the local server to generate/load each chunk. -+ # This is the most compatible and will generate structures correctly, -+ # but may cause server/simulation lag. -+ # Note: unlike other modes this option DOES save generated chunks to -+ # Minecraft's region files. -+ distantGeneratorMode = "PRE_EXISTING_ONLY" -+ # -+ # How should distant generator progress be displayed? -+ # -+ # OVERLAY: may be the same as CHAT for some Minecraft versions -+ # CHAT -+ # LOG -+ # DISABLED -+ showGenerationProgress = "OVERLAY" -+ # -+ # How often should the distant generator progress be displayed? -+ generationProgressDisplayIntervalInSeconds = 2 -+ # -+ # For how many seconds should instructions for disabling the distant generator progress be displayed? -+ # Setting this to 0 hides the instructional message so the world gen progress is shown immediately when it starts. -+ generationProgressDisableMessageDisplayTimeInSeconds = 20 -+ # -+ # Should Distant Horizons slowly generate LODs -+ # outside the vanilla render distance? -+ # Depending on the generator mode, this will import existing chunks -+ # and/or generating missing chunks. -+ enableDistantGeneration = false -+ -+[client] -+ # -+ # Should Distant Horizon's config button appear in Minecraft's options screen next to the fov slider? -+ showDhOptionsButtonInMinecraftUi = true -+ -+ [client.advanced] -+ -+ [client.advanced.autoUpdater] -+ # -+ # If DH should use the nightly (provided by Gitlab), or stable (provided by Modrinth) build. -+ # If [AUTO] is selected DH will update to new stable releases if the current jar is a stable jar -+ # and will update to new nightly builds if the current jar is a nightly jar (IE the version number ends in '-dev'). -+ updateBranch = "AUTO" -+ # -+ # Automatically check for updates on game launch? -+ enableAutoUpdater = false -+ # -+ # Should Distant Horizons silently, automatically download and install new versions? -+ # This setting is force disabled on dedicated servers for stability reasons. -+ enableSilentUpdates = false -+ -+ [client.advanced.debugging] -+ # -+ # If enabled this will disable (most) vanilla Minecraft rendering. -+ # -+ # NOTE: Do not report any issues when this mode is on! -+ # This setting is only for fun and debugging. -+ # Mod compatibility is not guaranteed. -+ lodOnlyMode = false -+ # -+ # Stops vertex colors from being passed. -+ # Useful for debugging shaders -+ enableWhiteWorld = false -+ # -+ # What renderer is active? -+ # -+ # DEFAULT: Default lod renderer -+ # DEBUG: Debug testing renderer -+ # DISABLED: Disable rendering -+ rendererMode = "DEFAULT" -+ # -+ # If enabled the LODs will render as wireframe. -+ renderWireframe = false -+ # -+ # If true the F8 key can be used to cycle through the different debug modes. -+ # and the F6 key can be used to enable and disable LOD rendering. -+ enableDebugKeybindings = false -+ # -+ # If true overlapping quads will be rendered as bright red for easy identification. -+ # If false the quads will be rendered normally. -+ showOverlappingQuadErrors = false -+ # -+ # Should specialized colors/rendering modes be used? -+ # -+ # OFF: LODs will be drawn with their normal colors. -+ # SHOW_DETAIL: LODs' color will be based on their detail level. -+ # SHOW_BLOCK_MATERIAL: LODs' color will be based on their material. -+ # SHOW_OVERLAPPING_QUADS: LODs will be drawn with total white, but overlapping quads will be drawn with red. -+ debugRendering = "OFF" -+ # -+ # If true OpenGL Buffer garbage collection will be logged -+ # this also includes the number of live buffers. -+ logBufferGarbageCollection = false -+ -+ [client.advanced.debugging.debugWireframe] -+ # -+ # Render LOD section status? -+ showRenderSectionStatus = false -+ # -+ # Render queued network sync on load tasks? -+ showNetworkSyncOnLoadQueue = false -+ # -+ # Render full data update/lock status? -+ showFullDataUpdateStatus = false -+ # -+ # Render queued world gen tasks? -+ showWorldGenQueue = false -+ # -+ # A white box will be drawn when an LOD starts rendering -+ # and a purple box when an LOD stops rendering. -+ # -+ # This can be used to debug Quad Tree holes. -+ showRenderSectionToggling = false -+ # -+ # Render Quad Tree Rendering status? -+ showQuadTreeRenderStatus = false -+ # -+ # If enabled, various wireframes for debugging internal functions will be drawn. -+ # -+ # NOTE: There WILL be performance hit! -+ # Additionally, only stuff that's loaded after you enable this -+ # will render their debug wireframes. -+ enableRendering = false -+ -+ [client.advanced.debugging.f3Screen] -+ # -+ # Shows how many chunks are queud for processing and the max count that can be queued. -+ showQueuedChunkUpdateCount = true -+ # -+ # Shows the memory use and array counts for each DH object pool. -+ showSeparatedObjectPools = false -+ # -+ # Shows info about each thread pool. -+ showPlayerPos = true -+ # -+ # Shows the combined memory use and array counts for all DH pooled objects. -+ showCombinedObjectPools = false -+ # -+ # Defines what internal detail level the player position will be shown as. -+ # Internal detail level means: 6 = 1x1 block, 7 = 2x2 blocks, etc. -+ playerPosSectionDetailLevel = 6 -+ # -+ # Shows info about each thread pool. -+ showThreadPools = true -+ # -+ # Shows what levels are loaded and world gen/rendering info about those levels. -+ showLevelStatus = true -+ -+ [client.advanced.debugging.openGl] -+ # -+ # Defines how OpenGL errors are handled. -+ # Requires rebooting Minecraft to change. -+ # Will catch OpenGL errors thrown by other mods. -+ overrideVanillaGLLogger = true -+ # -+ # Defines how OpenGL errors are handled. -+ # May incorrectly catch OpenGL errors thrown by other mods. -+ # -+ # IGNORE: Do nothing. -+ # LOG: write an error to the log. -+ # LOG_THROW: write to the log and throw an exception. -+ # Warning: this should only be enabled when debugging the LOD renderer -+ # as it may break Minecraft's renderer when an exception is thrown. -+ glErrorHandlingMode = "IGNORE" -+ # -+ # Massively reduces FPS. -+ # Should only be used if mysterious EXCEPTION_ACCESS_VIOLATION crashes are happening in DH's rendering code for troubleshooting. -+ validateBufferIdsBeforeRendering = false -+ # -+ # If true each Open GL error will only be logged once. -+ # Enabling this may cause some error logs to be missed. -+ # Does nothing if overrideVanillaGLLogger is set to false. -+ # -+ # Generally this can be kept as 'true' to prevent log spam. -+ # However, Please set this to 'false' if a developer needs your log to debug a GL issue. -+ onlyLogGlErrorsOnce = true -+ -+ [client.advanced.debugging.exampleConfigScreen] -+ shortTest = "69" -+ mapTest = "{}" -+ byteTest = "8" -+ longTest = "42069" -+ listTest = ["option 1", "option 2", "option 3"] -+ boolTest = false -+ doubleTest = "420.69" -+ floatTest = "0.42069" -+ linkableTest = 420 -+ intTest = 69420 -+ stringTest = "Test input box" -+ -+ [client.advanced.graphics] -+ -+ [client.advanced.graphics.culling] -+ # -+ # If false all beacons near the camera won't be drawn to prevent vanilla overdraw. -+ # If true all beacons will be rendered. -+ # -+ # Generally this should be left as true. It's main purpose is for debugging -+ # beacon updating/rendering. -+ disableBeaconDistanceCulling = true -+ # -+ # Determines how far from the camera Distant Horizons will start rendering. -+ # Measured as a percentage of the vanilla render distance. -+ # -+ # 0 = auto, overdraw will change based on the vanilla render distance. -+ # -+ # Higher values will prevent LODs from rendering behind vanilla blocks at a higher distance, -+ # but may cause holes in the world. -+ # Holes are most likely to appear when flying through unloaded terrain. -+ # -+ # Increasing the vanilla render distance increases the effectiveness of this setting. -+ overdrawPrevention = "0.0" -+ # -+ # If enabled caves won't be rendered. -+ # -+ # Note: for some world types this can cause -+ # overhangs or walls for floating objects. -+ # Tweaking the caveCullingHeight, can resolve some -+ # of those issues. -+ enableCaveCulling = true -+ # -+ # Identical to the other frustum culling option -+ # only used when a shader mod is present using the DH API -+ # and the shadow pass is being rendered. -+ # -+ # Disable this if shadows render incorrectly. -+ disableShadowPassFrustumCulling = false -+ # -+ # At what Y value should cave culling start? -+ # Lower this value if you get walls for areas with 0 light. -+ caveCullingHeight = 60 -+ # -+ # A comma separated list of block resource locations that shouldn't be rendered -+ # if they are in a 0 sky light underground area. -+ # Air is always included in this list. -+ # Requires a restart to change. -+ ignoredRenderCaveBlockCsv = "minecraft:glow_lichen,minecraft:rail,minecraft:water,minecraft:lava,minecraft:bubble_column,minecraft:cave_vines_plant,minecraft:vine,minecraft:cave_vines,minecraft:short_grass,minecraft:tall_grass,minecraft:small_dripleaf,minecraft:big_dripleaf,minecraft:big_dripleaf_stem,minecraft:sculk_vein" -+ # -+ # A comma separated list of block resource locations that won't be rendered by DH. -+ # Air is always included in this list. -+ # Requires a restart to change. -+ ignoredRenderBlockCsv = "minecraft:barrier,minecraft:structure_void,minecraft:light,minecraft:tripwire,minecraft:brown_mushroom" -+ # -+ # If true LODs outside the player's camera -+ # aren't drawn, increasing GPU performance. -+ # -+ # If false all LODs are drawn, even those behind -+ # the player's camera, decreasing GPU performance. -+ # -+ # Disable this if you see LODs disappearing at the corners of your vision. -+ disableFrustumCulling = false -+ -+ [client.advanced.graphics.ssao] -+ # -+ # Determines how many points in space are sampled for the occlusion test. -+ # Higher numbers will improve quality and reduce banding, but will increase GPU load. -+ sampleCount = 6 -+ # -+ # Determines how dark the Screen Space Ambient Occlusion effect will be. -+ strength = "0.2" -+ # -+ # The radius, measured in pixels, that blurring is calculated for the SSAO. -+ # Higher numbers will reduce banding at the cost of GPU performance. -+ blurRadius = 2 -+ # -+ # Increasing the value can reduce banding at the cost of reducing the strength of the effect. -+ bias = "0.02" -+ # -+ # Determines how dark the occlusion shadows can be. -+ # 0 = totally black at the corners -+ # 1 = no shadow -+ minLight = "0.25" -+ # -+ # Enable Screen Space Ambient Occlusion -+ enableSsao = true -+ # -+ # Determines the radius Screen Space Ambient Occlusion is applied, measured in blocks. -+ radius = "4.0" -+ -+ [client.advanced.graphics.noiseTexture] -+ # -+ # Should a noise texture be applied to LODs? -+ # -+ # This is done to simulate textures and make the LODs appear more detailed. -+ enableNoiseTexture = true -+ # -+ # Defines how far should the noise texture render before it fades away. (in blocks) -+ # Set to 0 to disable noise from fading away -+ noiseDropoff = 1024 -+ # -+ # How many steps of noise should be applied to LODs? -+ noiseSteps = 4 -+ # -+ # How intense should the noise should be? -+ noiseIntensity = "5.0" -+ -+ [client.advanced.graphics.experimental] -+ # -+ # This is the earth size ratio when applying the curvature shader effect. -+ # Note: Enabling this feature may cause rendering bugs. -+ # -+ # 0 = flat/disabled -+ # 1 = 1 to 1 (6,371,000 blocks) -+ # 100 = 1 to 100 (63,710 blocks) -+ # 10000 = 1 to 10000 (637.1 blocks) -+ # -+ # Note: Due to current limitations, the min value is 50 -+ # and the max value is 5000. Any values outside this range -+ # will be set to 0 (disabled). -+ earthCurveRatio = 0 -+ -+ [client.advanced.graphics.genericRendering] -+ # -+ # If true LOD clouds will be rendered. -+ enableCloudRendering = true -+ # -+ # Sets the maximum height at which beacons will render.This will only affect new beacons coming into LOD render distance.Beacons currently visible in LOD chunks will not be affected. -+ beaconRenderHeight = 6000 -+ # -+ # If true LOD beacon beams will be rendered. -+ enableBeaconRendering = true -+ # -+ # If true non terrain objects will be rendered in DH's terrain. -+ # This includes beacon beams and clouds. -+ enableGenericRendering = true -+ # -+ # Can be disabled to use much slower but more compatible direct rendering. -+ # Disabling this can be used to fix some crashes on Mac. -+ enableInstancedRendering = true -+ -+ [client.advanced.graphics.quality] -+ # -+ # What is the maximum detail LODs should be drawn at? -+ # Higher settings will increase memory and GPU usage. -+ # -+ # CHUNK: render 1 LOD for each Chunk. -+ # HALF_CHUNK: render 4 LODs for each Chunk. -+ # FOUR_BLOCKS: render 16 LODs for each Chunk. -+ # TWO_BLOCKS: render 64 LODs for each Chunk. -+ # BLOCK: render 256 LODs for each Chunk (width of one block). -+ # -+ # Lowest Quality: CHUNK -+ # Highest Quality: BLOCK -+ maxHorizontalResolution = "BLOCK" -+ # -+ # If true LODs will fade away as you get closer to them. -+ # If false LODs will cut off abruptly at a set distance from the camera. -+ # This setting is affected by the vanilla overdraw prevention config. -+ ditherDhFade = true -+ # -+ # How bright LOD colors are. -+ # -+ # 0 = black -+ # 1 = normal -+ # 2 = near white -+ brightnessMultiplier = "1.0" -+ # -+ # How should LODs be shaded? -+ # -+ # AUTO: Uses the same side shading as vanilla Minecraft blocks. -+ # ENABLED: Simulates Minecraft's block shading for LODs. -+ # Can be used to force LOD shading when using some shaders. -+ # DISABLED: All LOD sides will be rendered with the same brightness. -+ lodShading = "AUTO" -+ # -+ # How saturated LOD colors are. -+ # -+ # 0 = black and white -+ # 1 = normal -+ # 2 = very saturated -+ saturationMultiplier = "1.0" -+ # -+ # This indicates how well LODs will represent -+ # overhangs, caves, floating islands, etc. -+ # Higher options will make the world more accurate, butwill increase memory and GPU usage. -+ # -+ # Lowest Quality: HEIGHT_MAP -+ # Highest Quality: EXTREME -+ verticalQuality = "MEDIUM" -+ # -+ # What blocks shouldn't be rendered as LODs? -+ # -+ # NONE: Represent all blocks in the LODs -+ # NON_COLLIDING: Only represent solid blocks in the LODs (tall grass, torches, etc. won't count for a LOD's height) -+ blocksToIgnore = "NON_COLLIDING" -+ # -+ # The radius of the mod's render distance. (measured in chunks) -+ lodChunkRenderDistanceRadius = 256 -+ # -+ # What the value should vanilla Minecraft's texture LodBias be? -+ # If set to 0 the mod wont overwrite vanilla's default (which so happens to also be 0) -+ lodBias = "0.0" -+ # -+ # How should the sides and bottom of grass block LODs render? -+ # -+ # AS_GRASS: all sides of dirt LOD's render using the top (green) color. -+ # FADE_TO_DIRT: sides fade from grass to dirt. -+ # AS_DIRT: sides render entirely as dirt. -+ grassSideRendering = "FADE_TO_DIRT" -+ # -+ # Should the blocks underneath avoided blocks gain the color of the avoided block? -+ # -+ # True: a red flower will tint the grass below it red. -+ # False: skipped blocks will not change color of surface below them. -+ tintWithAvoidedBlocks = true -+ # -+ # This indicates how quickly LODs decrease in quality the further away they are. -+ # Higher settings will render higher quality fake chunks farther away, -+ # but will increase memory and GPU usage. -+ horizontalQuality = "MEDIUM" -+ # -+ # How should LOD transparency be handled. -+ # -+ # COMPLETE: LODs will render transparent. -+ # FAKE: LODs will be opaque, but shaded to match the blocks underneath. -+ # DISABLED: LODs will be opaque. -+ transparency = "COMPLETE" -+ # -+ # How should vanilla Minecraft fade into Distant Horizons LODs? -+ # -+ # NONE: Fastest, there will be a pronounced border between DH and MC rendering. -+ # SINGLE_PASS: Fades after MC's transparent pass, opaque blocks underwater won't be faded. -+ # DOUBLE_PASS: Slowest, fades after both MC's opaque and transparent passes, provides the smoothest transition. -+ vanillaFadeMode = "DOUBLE_PASS" -+ -+ [client.advanced.graphics.fog] -+ # -+ # Should Minecraft's fog render? -+ # Note: Other mods may conflict with this setting. -+ enableVanillaFog = false -+ # -+ # What is the maximum fog thickness? -+ # -+ # 0.0: No fog. -+ # 1.0: Fully opaque fog. -+ farFogMax = "1.0" -+ # -+ # Determines if fog is drawn on DH LODs. -+ enableDhFog = true -+ # -+ # At what distance should the far fog start? -+ # -+ # 0.0: Fog starts at the player's position. -+ # 1.0: Fog starts at the closest edge of the vanilla render distance. -+ # 1.414: Fog starts at the corner of the vanilla render distance. -+ farFogStart = "0.4" -+ # -+ # What is the minimum fog thickness? -+ # -+ # 0.0: No fog. -+ # 1.0: Fully opaque fog. -+ farFogMin = "0.0" -+ # -+ # What color should fog use? -+ # -+ # USE_WORLD_FOG_COLOR: Use the world's fog color. -+ # USE_SKY_COLOR: Use the sky's color. -+ colorMode = "USE_WORLD_FOG_COLOR" -+ # -+ # How should the fog thickness should be calculated? -+ # -+ # LINEAR: Linear based on distance (will ignore 'density') -+ # EXPONENTIAL: 1/(e^(distance*density)) -+ # EXPONENTIAL_SQUARED: 1/(e^((distance*density)^2) -+ farFogFalloff = "EXPONENTIAL_SQUARED" -+ # -+ # Used in conjunction with the Fog Falloff. -+ farFogDensity = "2.5" -+ # -+ # Where should the far fog end? -+ # -+ # 0.0: Fog ends at player's position. -+ # 1.0: Fog ends at the closest edge of the vanilla render distance. -+ # 1.414: Fog ends at the corner of the vanilla render distance. -+ farFogEnd = "1.0" -+ -+ [client.advanced.graphics.fog.heightFog] -+ # -+ # Where should the height fog start? -+ # -+ # ABOVE_CAMERA: Height fog starts at the camera and goes towards the sky -+ # BELOW_CAMERA: Height fog starts at the camera and goes towards the void -+ # ABOVE_AND_BELOW_CAMERA: Height fog starts from the camera to goes towards both the sky and void -+ # ABOVE_SET_HEIGHT: Height fog starts from a set height and goes towards the sky -+ # BELOW_SET_HEIGHT: Height fog starts from a set height and goes towards the void -+ # ABOVE_AND_BELOW_SET_HEIGHT: Height fog starts from a set height and goes towards both the sky and void -+ heightFogDirection = "BELOW_SET_HEIGHT" -+ # -+ # What is the minimum fog thickness? -+ # -+ # 0.0: No fog. -+ # 1.0: Fully opaque fog. -+ heightFogMin = "0.0" -+ # -+ # If the height fog is calculated around a set height, what is that height position? -+ heightFogBaseHeight = "80.0" -+ # -+ # What is the maximum fog thickness? -+ # -+ # 0.0: No fog. -+ # 1.0: Fully opaque fog. -+ heightFogMax = "1.0" -+ # -+ # How should the height fog thickness should be calculated? -+ # -+ # LINEAR: Linear based on height (will ignore 'density') -+ # EXPONENTIAL: 1/(e^(height*density)) -+ # EXPONENTIAL_SQUARED: 1/(e^((height*density)^2) -+ heightFogFalloff = "EXPONENTIAL_SQUARED" -+ # -+ # What is the height fog's density? -+ heightFogDensity = "20.0" -+ # -+ # How should height effect the fog thickness? -+ # Note: height fog is combined with the other fog settings. -+ # -+ # SPHERICAL: Fog is calculated based on camera distance. -+ # CYLINDRICAL: Ignore height, fog is calculated based on horizontal distance. -+ # -+ # MAX: max(heightFog, farFog) -+ # ADDITION: heightFog + farFog -+ # MULTIPLY: heightFog * farFog -+ # INVERSE_MULTIPLY: 1 - (1-heightFog) * (1-farFog) -+ # LIMITED_ADDITION: farFog + max(farFog, heightFog) -+ # MULTIPLY_ADDITION: farFog + farFog * heightFog -+ # INVERSE_MULTIPLY_ADDITION: farFog + 1 - (1-heightFog) * (1-farFog) -+ # AVERAGE: farFog*0.5 + heightFog*0.5 -+ heightFogMixMode = "SPHERICAL" -+ # -+ # Should the start of the height fog be offset? -+ # -+ # 0.0: Fog start with no offset. -+ # 1.0: Fog start with offset of the entire world's height. (Includes depth) -+ heightFogStart = "0.0" -+ # -+ # Should the end of the height fog be offset? -+ # -+ # 0.0: Fog end with no offset. -+ # 1.0: Fog end with offset of the entire world's height. (Include depth) -+ heightFogEnd = "0.6" -+ -+ [client.advanced.multiplayer] -+ # -+ # How should multiplayer save folders should be named? -+ # -+ # NAME_ONLY: Example: "Minecraft Server" -+ # IP_ONLY: Example: "192.168.1.40" -+ # NAME_IP: Example: "Minecraft Server IP 192.168.1.40" -+ # NAME_IP_PORT: Example: "Minecraft Server IP 192.168.1.40:25565"NAME_IP_PORT_MC_VERSION: Example: "Minecraft Server IP 192.168.1.40:25565 GameVersion 1.16.5" -+ serverFolderNameMode = "NAME_ONLY" -+ - diff --git a/patches/commit_summaries.md b/patches/commit_summaries.md deleted file mode 100644 index a8d15571f..000000000 --- a/patches/commit_summaries.md +++ /dev/null @@ -1,19 +0,0 @@ -## 483938fc – Add QoL Scripts for Local Server Dev -- Adds `.pakku/server-overrides/start_server.sh`, a parameterised Bash launcher that validates `minecraft_server.jar` and honours `JAVA_BIN`, `XMS`, `XMX` overrides before execing the server. -- Introduces `scripts/update_forge_auto_install.sh`, which pulls loader data from `pakku-lock.json` via `jq`, refreshes `forge-auto-install.txt`, and patches every built serverpack ZIP to mirror the CI workflow. - -## 7eb9a384 – Add BlazeMap and Storage Drawers -- Ships `config/blazemap-client.toml` with default overlays (coords, mob markers, layered maps) and adds the launcher script to the serverpack payload list. - -## b77da775 – Distant Horizon Headlights and QoL/Perf -- Adds curated configs for Distant Horizons and Smooth Chunk to stabilise long-range rendering performance. -- Integrates Headlight via KubeJS, replacing the default recipe and tagging TFC torches so they emit handheld light. - -## 86ee31e0 – Port Gregitas Certus to Wafer Chain -- Establishes a Certus element/material family, adds boule/wafer items with textures, and rebuilds AE2 processor production around MV-tier chemistry, EBF boule growth, and laser engraving. -- Removes the legacy inscriber print recipes in favour of GTCEu cutters that slice wafers into eight processor prints per press. -- Updates localisation with names for the new fluids/materials and fixes the chemical formulas for Certus and Fluix to reflect the revamped chain. - -## 4a8847cf – Update AE2 Quest with New Progression -- Extends the AE2 quest chapter to cover every step of the certus chemical loop—four fluid tasks, boule crafting, and wafer slicing—aligning it with the new wafer pipeline. -- Adds localisation strings for the fresh quests and repositions several quest nodes to accommodate the expanded progression path.