Distant horizon headlights and qol/perf

This commit is contained in:
2025-09-21 21:10:11 +02:00
parent a1d73d8729
commit 4b0caaac71
7 changed files with 1779 additions and 3 deletions

790
config/DistantHorizons.toml Normal file
View File

@@ -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"

10
config/smoothchunk.json Normal file
View File

@@ -0,0 +1,10 @@
{
"chunkSaveDelay": {
"desc:": "Delay before a chunk is saved to disk, default: 300 seconds",
"chunkSaveDelay": 300
},
"debugLogging": {
"desc:": "Enables debug logging of how many chunks got saved in a tick. default: false",
"debugLogging": false
}
}

View File

@@ -0,0 +1,24 @@
// priority: 0
"use strict";
// Headlight: replace default recipe and add TFG-specific one
/**
* @param {Internal.RecipesEventJS} event
*/
const registerHeadlightRecipes = (event) => {
// Remove default Headlight recipe (as done in Gravitas²)
event.remove({ id: "headlight:headlight" })
// Add shaped recipe aligned with Gravitas², using TFG ID namespace
event.shaped("headlight:headlight", [
" I ",
"LPL",
"S S"
], {
I: "minecraft:item_frame",
L: "#forge:leather",
P: "tfc:wool_cloth",
S: "minecraft:string"
}).id("tfg:headlight/headlight")
}

View File

@@ -0,0 +1,14 @@
// priority: 0
"use strict";
// Headlight integration: define which items count as lights
// Adds TFC torches to Headlight's lights tag so they emit handheld light
/**
* @param {Internal.TagsItemEventJS} event
*/
const registerHeadlightItemTags = (event) => {
event.add("headlight:lights", [
"tfc:torch"
])
}

View File

@@ -41,6 +41,7 @@ ServerEvents.tags('item', event => {
registerModernMarkingsItemTags(event)
registerMoreRedItemTags(event)
registerHotOrNotItemTags(event)
registerHeadlightItemTags(event)
registerPrimitiveCreaturesItemTags(event)
registerRailWaysItemTags(event)
registerRnrItemTags(event)
@@ -241,6 +242,7 @@ ServerEvents.recipes(event => {
registerGreateRecipes(event)
registerGTCEURecipes(event);
registerHandGliderRecipes(event)
registerHeadlightRecipes(event)
registerHotOrNotRecipes(event)
registerImmersiveAircraftRecipes(event)
registerMacawsForTFCRecipes(event)

View File

@@ -3102,6 +3102,67 @@
}
]
},
{
"pakku_id": "BU3ok6GAelScm3WD",
"type": "MOD",
"side": "BOTH",
"slug": {
"curseforge": "clumps",
"modrinth": "clumps"
},
"name": {
"curseforge": "Clumps",
"modrinth": "Clumps"
},
"id": {
"curseforge": "256717",
"modrinth": "Wnxd13zP"
},
"files": [
{
"type": "curseforge",
"file_name": "Clumps-forge-1.20.1-12.0.0.4.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/5278/538/Clumps-forge-1.20.1-12.0.0.4.jar",
"id": "5278538",
"parent_id": "256717",
"hashes": {
"sha1": "97cc669f68dbe812cb77cc3631339334fc28b877",
"md5": "c9efc71827df6ab51e8dd0e40c3d4975"
},
"required_dependencies": [],
"size": 20299,
"date_published": "2024-04-21T05:04:02.807Z"
},
{
"type": "modrinth",
"file_name": "Clumps-forge-1.20.1-12.0.0.4.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/Wnxd13zP/versions/nAHGB5ls/Clumps-forge-1.20.1-12.0.0.4.jar",
"id": "nAHGB5ls",
"parent_id": "Wnxd13zP",
"hashes": {
"sha512": "ffd8ff2438e9f9d260d3926ccdd0cccc4772c6f99f29715690aed4f6e97a76035f3aeaa78168e2a458bc4cccf521e97ebdb6e0b61c819facb04af9ebb3638383",
"sha1": "8809c7aa6c71389e9c59abfe5def52c1cb8d4f1c"
},
"required_dependencies": [],
"size": 20300,
"date_published": "2024-04-21T05:04:09.708311Z"
}
]
},
{
"pakku_id": "fYzrRo2M24y3MX3e",
"type": "MOD",
@@ -4847,6 +4908,43 @@
}
]
},
{
"pakku_id": "bhDvfgaQYfIpHmhg",
"type": "MOD",
"slug": {
"curseforge": "cupboard"
},
"name": {
"curseforge": "Cupboard"
},
"id": {
"curseforge": "326652"
},
"files": [
{
"type": "curseforge",
"file_name": "cupboard-1.20.1-2.7.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"neoforge",
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/5470/32/cupboard-1.20.1-2.7.jar",
"id": "5470032",
"parent_id": "326652",
"hashes": {
"sha1": "204bc8aa83e8a685f64311b72d55505ab2eca867",
"md5": "3620912474f47bf58d1fe5bfe133763a"
},
"required_dependencies": [],
"size": 25983,
"date_published": "2024-06-24T20:50:03.140Z"
}
]
},
{
"pakku_id": "0DMPJ1AWW6qfYubI",
"type": "MOD",
@@ -5278,6 +5376,69 @@
}
]
},
{
"pakku_id": "UJ2oKRKYWwRJwKcM",
"type": "MOD",
"side": "BOTH",
"slug": {
"modrinth": "distanthorizons",
"curseforge": "distant-horizons"
},
"name": {
"modrinth": "Distant Horizons",
"curseforge": "Distant Horizons: A Level of Detail mod"
},
"id": {
"modrinth": "uCdwusMi",
"curseforge": "508933"
},
"files": [
{
"type": "modrinth",
"file_name": "DistantHorizons-2.3.4-b-1.20.1-fabric-forge.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"fabric",
"forge"
],
"release_type": "beta",
"url": "https://cdn.modrinth.com/data/uCdwusMi/versions/MhxUKxWI/DistantHorizons-2.3.4-b-1.20.1-fabric-forge.jar",
"id": "MhxUKxWI",
"parent_id": "uCdwusMi",
"hashes": {
"sha512": "85bb5245abb723cee7c10ae471e811266a66e5f78bd4a09a35bf45e64d463d244989c6e4d301c2b97b896e7513d75fc8000460148554a245f6e630bdf9a68c45",
"sha1": "fcbb4a39846af6d5cd41bc98405031f2010eef90"
},
"required_dependencies": [],
"size": 17926585,
"date_published": "2025-07-20T13:27:54.291517Z"
},
{
"type": "curseforge",
"file_name": "DistantHorizons-2.3.4-b-1.20.1-fabric-forge.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"fabric",
"forge"
],
"release_type": "beta",
"url": "https://edge.forgecdn.net/files/6791/186/DistantHorizons-2.3.4-b-1.20.1-fabric-forge.jar",
"id": "6791186",
"parent_id": "508933",
"hashes": {
"sha1": "fcbb4a39846af6d5cd41bc98405031f2010eef90",
"md5": "a1400fe73ebdbd4f2900604435174924"
},
"required_dependencies": [],
"size": 17926585,
"date_published": "2025-07-20T13:36:46.100Z"
}
]
},
{
"pakku_id": "lv9zy1yqw8z5AIQb",
"type": "MOD",
@@ -7768,6 +7929,69 @@
}
]
},
{
"pakku_id": "PHnfvnEoXXzwdOb3",
"type": "MOD",
"side": "BOTH",
"slug": {
"curseforge": "headlight",
"modrinth": "headlight"
},
"name": {
"curseforge": "Headlight",
"modrinth": "Headlight"
},
"id": {
"curseforge": "1190219",
"modrinth": "94Jn0x9e"
},
"files": [
{
"type": "curseforge",
"file_name": "Headlight-1.20.1-1.0.3.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"neoforge",
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6277/231/Headlight-1.20.1-1.0.3.jar",
"id": "6277231",
"parent_id": "1190219",
"hashes": {
"sha1": "9e844f71c6a4c98a896aefae6ec4481d5c3a4eda",
"md5": "cd3dca93ad5e831ab70d0598e28be369"
},
"required_dependencies": [],
"size": 63791,
"date_published": "2025-03-07T23:47:50.090Z"
},
{
"type": "modrinth",
"file_name": "Headlight-1.20.1-1.0.3.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge",
"neoforge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/94Jn0x9e/versions/3ywgNbsV/Headlight-1.20.1-1.0.3.jar",
"id": "3ywgNbsV",
"parent_id": "94Jn0x9e",
"hashes": {
"sha512": "647bf76e454144d280f6841d6c6788ceea725b1aec4d1aa8501cd66a619a6138d4826dea74711c603ccfa0be9a38e3ed8e0d86d70404d77a5e049c437e0f2446",
"sha1": "9ab03ca9c77f5dfe3bb96c68f31053bfb64a4c74"
},
"required_dependencies": [],
"size": 63791,
"date_published": "2025-03-07T23:48:02.673476Z"
}
]
},
{
"pakku_id": "tc7AIGQtKog7l0AS",
"type": "MOD",
@@ -12086,6 +12310,43 @@
}
]
},
{
"pakku_id": "eHzZHVu5ddrqh12m",
"type": "MOD",
"slug": {
"curseforge": "smooth-chunk-save"
},
"name": {
"curseforge": "Server Performance - Smooth Chunk Save[Forge/Fabric]"
},
"id": {
"curseforge": "582327"
},
"files": [
{
"type": "curseforge",
"file_name": "smoothchunk-1.20.1-4.1.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"neoforge",
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6296/598/smoothchunk-1.20.1-4.1.jar",
"id": "6296598",
"parent_id": "582327",
"hashes": {
"sha1": "3e142e4a2e12db1c9a3777879cc021aff49da088",
"md5": "66c9037777d4cafe6d5464f6eff5d8e2"
},
"required_dependencies": [],
"size": 14249,
"date_published": "2025-03-12T16:39:35.327Z"
}
]
},
{
"pakku_id": "pLkDut7s59n6uQin",
"type": "MOD",
@@ -13183,7 +13444,7 @@
"64uacGcEw697jVGs"
],
"type": "MOD",
"side": "BOTH",
"side": "CLIENT",
"slug": {
"curseforge": "tfc-caelum",
"modrinth": "tfc-caelum"
@@ -15354,6 +15615,678 @@
}
]
},
{
"pakku_id": "K2IomIwLAYiJAm1W",
"type": "MOD",
"side": "CLIENT",
"slug": {
"curseforge": "zume",
"modrinth": "zume"
},
"name": {
"curseforge": "Zume",
"modrinth": "Zume"
},
"id": {
"curseforge": "927564",
"modrinth": "o6qsdrrQ"
},
"files": [
{
"type": "curseforge",
"file_name": "zume-1.1.4.jar",
"mc_versions": [
"1.20.2",
"1.20.5",
"1.20.2-Snapshot",
"1.20.5-Snapshot",
"1.20.3-Snapshot",
"1.20.3",
"1.20.1",
"1.20",
"1.20.6",
"1.20.4",
"1.20-Snapshot"
],
"loaders": [
"fabric",
"neoforge",
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/5861/244/zume-1.1.4.jar",
"id": "5861244",
"parent_id": "927564",
"hashes": {
"sha1": "e38c66e88e30625475fca7fbf89b11d7d5ba1030",
"md5": "facef56d678a6a85c036440e69a2753c"
},
"required_dependencies": [],
"size": 97235,
"date_published": "2024-10-30T21:45:06.903Z"
},
{
"type": "modrinth",
"file_name": "zume-1.1.4.jar",
"mc_versions": [
"b1.7.3",
"1.6.4",
"13w38a",
"13w38b",
"13w38c",
"13w39a",
"13w39b",
"13w41a",
"13w41b",
"13w42a",
"13w42b",
"13w43a",
"1.7",
"1.7.1",
"1.7.2",
"13w47a",
"13w47b",
"13w47c",
"13w47d",
"13w47e",
"13w48a",
"13w48b",
"13w49a",
"1.7.3",
"1.7.4",
"14w02a",
"14w02b",
"14w02c",
"14w03a",
"14w03b",
"14w04a",
"14w04b",
"14w05a",
"14w05b",
"14w06a",
"14w06b",
"14w07a",
"1.7.5",
"14w08a",
"14w10a",
"14w10b",
"14w10c",
"1.7.6-pre1",
"1.7.6-pre2",
"14w11a",
"1.7.6",
"1.7.7",
"1.7.8",
"1.7.9",
"14w11b",
"14w17a",
"14w18a",
"14w18b",
"14w19a",
"1.7.10-pre1",
"1.7.10-pre2",
"1.7.10-pre3",
"1.7.10-pre4",
"1.7.10",
"14w20a",
"14w20b",
"14w21a",
"14w21b",
"14w25a",
"14w25b",
"14w26a",
"14w26b",
"14w26c",
"14w27a",
"14w27b",
"14w28a",
"14w28b",
"14w29a",
"14w29b",
"14w30a",
"14w30b",
"14w30c",
"14w31a",
"14w32a",
"14w32b",
"14w32c",
"14w32d",
"14w33a",
"14w33b",
"14w33c",
"14w34a",
"14w34b",
"14w34c",
"14w34d",
"1.8-pre1",
"1.8-pre2",
"1.8-pre3",
"1.8",
"1.8.1-pre1",
"1.8.1-pre2",
"1.8.1-pre3",
"1.8.1-pre4",
"1.8.1-pre5",
"1.8.1",
"1.8.2-pre1",
"1.8.2-pre2",
"1.8.2-pre3",
"1.8.2-pre4",
"1.8.2-pre5",
"1.8.2-pre6",
"1.8.2-pre7",
"1.8.2",
"1.8.3",
"15w14a",
"1.8.4",
"1.8.5",
"1.8.6",
"1.8.7",
"1.8.8",
"15w31a",
"15w31b",
"15w31c",
"15w32a",
"15w32b",
"15w32c",
"15w33a",
"15w33b",
"15w33c",
"15w34a",
"15w34b",
"15w34c",
"15w34d",
"15w35a",
"15w35b",
"15w35c",
"15w35d",
"15w35e",
"15w36a",
"15w36b",
"15w36c",
"15w36d",
"15w37a",
"15w38a",
"15w38b",
"15w39a",
"15w39b",
"15w39c",
"15w40a",
"15w40b",
"15w41a",
"15w41b",
"15w42a",
"15w43a",
"15w43b",
"15w43c",
"15w44a",
"15w44b",
"15w45a",
"15w46a",
"15w47a",
"15w47b",
"15w47c",
"15w49a",
"1.8.9",
"15w49b",
"15w50a",
"15w51a",
"15w51b",
"16w02a",
"16w03a",
"16w04a",
"16w05a",
"16w05b",
"16w06a",
"16w07a",
"16w07b",
"1.9-pre1",
"1.9-pre2",
"1.9-pre3",
"1.9-pre4",
"1.9",
"1.9.1-pre1",
"1.9.1-pre2",
"1.9.1-pre3",
"1.9.1",
"1.9.2",
"1.RV-Pre1",
"16w14a",
"16w15a",
"16w15b",
"1.9.3-pre1",
"1.9.3-pre2",
"1.9.3-pre3",
"1.9.3",
"1.9.4",
"16w20a",
"16w21a",
"16w21b",
"1.10-pre1",
"1.10-pre2",
"1.10",
"1.10.1",
"1.10.2",
"16w32a",
"16w32b",
"16w33a",
"16w35a",
"16w36a",
"16w38a",
"16w39a",
"16w39b",
"16w39c",
"16w40a",
"16w41a",
"16w42a",
"16w43a",
"16w44a",
"1.11-pre1",
"1.11",
"16w50a",
"1.11.1",
"1.11.2",
"17w06a",
"17w13a",
"17w13b",
"17w14a",
"17w15a",
"17w16a",
"17w16b",
"17w17a",
"17w17b",
"17w18a",
"17w18b",
"1.12-pre1",
"1.12-pre2",
"1.12-pre3",
"1.12-pre4",
"1.12-pre5",
"1.12-pre6",
"1.12-pre7",
"1.12",
"17w31a",
"1.12.1-pre1",
"1.12.1",
"1.12.2-pre1",
"1.12.2-pre2",
"1.12.2",
"1.14.4",
"19w34a",
"19w35a",
"19w36a",
"19w37a",
"19w38a",
"19w38b",
"19w39a",
"19w40a",
"19w41a",
"19w42a",
"19w44a",
"19w45a",
"19w45b",
"19w46a",
"19w46b",
"1.15-pre1",
"1.15-pre2",
"1.15-pre3",
"1.15-pre4",
"1.15-pre5",
"1.15-pre6",
"1.15-pre7",
"1.15",
"1.15.1-pre1",
"1.15.1",
"1.15.2-pre1",
"1.15.2-pre2",
"1.15.2",
"20w06a",
"20w07a",
"20w08a",
"20w09a",
"20w10a",
"20w11a",
"20w12a",
"20w13a",
"20w13b",
"20w14infinite",
"20w14a",
"20w15a",
"20w16a",
"20w17a",
"20w18a",
"20w19a",
"20w20a",
"20w20b",
"20w21a",
"20w22a",
"1.16-pre1",
"1.16-pre2",
"1.16-pre3",
"1.16-pre4",
"1.16-pre5",
"1.16-pre6",
"1.16-pre7",
"1.16-pre8",
"1.16-rc1",
"1.16",
"1.16.1",
"20w27a",
"20w28a",
"20w29a",
"20w30a",
"1.16.2-pre1",
"1.16.2-pre2",
"1.16.2-pre3",
"1.16.2-rc1",
"1.16.2-rc2",
"1.16.2",
"1.16.3-rc1",
"1.16.3",
"1.16.4-pre1",
"1.16.4-pre2",
"1.16.4-rc1",
"1.16.4",
"20w45a",
"20w46a",
"20w48a",
"20w49a",
"20w51a",
"1.16.5-rc1",
"1.16.5",
"21w03a",
"21w05a",
"21w05b",
"21w06a",
"21w07a",
"21w08a",
"21w08b",
"21w10a",
"21w11a",
"21w13a",
"21w14a",
"21w15a",
"21w16a",
"21w17a",
"21w18a",
"21w19a",
"21w20a",
"1.17-pre1",
"1.17-pre2",
"1.17-pre3",
"1.17-pre4",
"1.17-pre5",
"1.17-rc1",
"1.17-rc2",
"1.17",
"1.17.1-pre1",
"1.17.1-pre2",
"1.17.1-pre3",
"1.17.1-rc1",
"1.17.1-rc2",
"1.17.1",
"21w37a",
"21w38a",
"21w39a",
"21w40a",
"21w41a",
"21w42a",
"21w43a",
"21w44a",
"1.18-pre1",
"1.18-pre2",
"1.18-pre3",
"1.18-pre4",
"1.18-pre5",
"1.18-pre6",
"1.18-pre7",
"1.18-pre8",
"1.18-rc1",
"1.18-rc2",
"1.18-rc3",
"1.18-rc4",
"1.18",
"1.18.1-pre1",
"1.18.1-rc1",
"1.18.1-rc2",
"1.18.1-rc3",
"1.18.1",
"22w03a",
"22w05a",
"22w06a",
"22w07a",
"1.18.2-pre1",
"1.18.2-pre2",
"1.18.2-pre3",
"1.18.2-rc1",
"1.18.2",
"22w11a",
"22w12a",
"22w13a",
"22w13oneblockatatime",
"22w14a",
"22w15a",
"22w16a",
"22w16b",
"22w17a",
"22w18a",
"22w19a",
"1.19-pre1",
"1.19-pre2",
"1.19-pre3",
"1.19-pre4",
"1.19-pre5",
"1.19-rc1",
"1.19-rc2",
"1.19",
"22w24a",
"1.19.1-pre1",
"1.19.1-rc1",
"1.19.1-pre2",
"1.19.1-pre3",
"1.19.1-pre4",
"1.19.1-pre5",
"1.19.1-pre6",
"1.19.1-rc2",
"1.19.1-rc3",
"1.19.1",
"1.19.2-rc1",
"1.19.2-rc2",
"1.19.2",
"22w42a",
"22w43a",
"22w44a",
"22w45a",
"22w46a",
"1.19.3-pre1",
"1.19.3-pre2",
"1.19.3-pre3",
"1.19.3-rc1",
"1.19.3-rc2",
"1.19.3-rc3",
"1.19.3",
"23w03a",
"23w04a",
"23w05a",
"23w06a",
"23w07a",
"1.19.4-pre1",
"1.19.4-pre2",
"1.19.4-pre3",
"1.19.4-pre4",
"1.19.4-rc1",
"1.19.4-rc2",
"1.19.4-rc3",
"1.19.4",
"23w12a",
"23w13a",
"23w13a_or_b",
"23w14a",
"23w16a",
"23w17a",
"23w18a",
"1.20-pre1",
"1.20-pre2",
"1.20-pre3",
"1.20-pre4",
"1.20-pre5",
"1.20-pre6",
"1.20-pre7",
"1.20-rc1",
"1.20",
"1.20.1-rc1",
"1.20.1",
"23w31a",
"23w32a",
"23w33a",
"23w35a",
"1.20.2-pre1",
"1.20.2-pre2",
"1.20.2-pre3",
"1.20.2-pre4",
"1.20.2-rc1",
"1.20.2-rc2",
"1.20.2",
"23w40a",
"23w41a",
"23w42a",
"23w43a",
"23w43b",
"23w44a",
"23w45a",
"23w46a",
"1.20.3-pre1",
"1.20.3-pre2",
"1.20.3-pre3",
"1.20.3-pre4",
"1.20.3-rc1",
"1.20.3",
"1.20.4-rc1",
"1.20.4",
"23w51a",
"23w51b",
"24w03a",
"24w03b",
"24w04a",
"24w05a",
"24w05b",
"24w06a",
"24w07a",
"24w09a",
"24w10a",
"24w11a",
"24w12a",
"24w13a",
"24w14potato",
"24w14a",
"1.20.5-pre1",
"1.20.5-pre2",
"1.20.5-pre3",
"1.20.5-pre4",
"1.20.5-rc1",
"1.20.5-rc2",
"1.20.5-rc3",
"1.20.5",
"1.20.6-rc1",
"1.20.6",
"24w18a",
"24w19a",
"24w19b",
"24w20a",
"24w21a",
"24w21b",
"1.21-pre1",
"1.21-pre2",
"1.21-pre3",
"1.21-pre4",
"1.21-rc1",
"1.21",
"1.21.1-rc1",
"1.21.1",
"24w33a",
"24w34a",
"24w35a",
"24w36a",
"24w37a",
"24w38a",
"24w39a",
"24w40a",
"1.21.2-pre1",
"1.21.2-pre2",
"1.21.2-pre3",
"1.21.2-pre4",
"1.21.2-pre5",
"1.21.2-rc1",
"1.21.2-rc2",
"1.21.2",
"1.21.3",
"24w44a",
"24w45a",
"24w46a",
"1.21.4-pre1",
"1.21.4-pre2",
"1.21.4-pre3",
"1.21.4-rc1",
"1.21.4-rc2",
"1.21.4-rc3",
"1.21.4",
"25w02a",
"25w03a",
"25w04a",
"25w05a",
"25w06a",
"25w07a",
"25w08a",
"25w09a",
"25w09b",
"25w10a",
"1.21.5-pre1",
"1.21.5-pre2",
"1.21.5-pre3",
"1.21.5-rc1",
"1.21.5-rc2",
"1.21.5",
"25w14craftmine",
"25w15a",
"25w16a",
"25w17a",
"25w18a",
"25w19a",
"25w20a",
"25w21a",
"1.21.6-pre1",
"1.21.6-pre2",
"1.21.6-pre3",
"1.21.6-pre4",
"1.21.6-rc1",
"1.21.6",
"1.21.7-rc1",
"1.21.7-rc2",
"1.21.7",
"1.21.8-rc1",
"1.21.8",
"25w31a",
"25w32a"
],
"loaders": [
"fabric",
"forge",
"neoforge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/o6qsdrrQ/versions/5J6WsndO/zume-1.1.4.jar",
"id": "5J6WsndO",
"parent_id": "o6qsdrrQ",
"hashes": {
"sha512": "a8d922294ff8633a1e8872e9cedc1a125027692906c6ee1a828aaf517f7774d0f494dc8879f53a90fe7200b3c46890a725f83d2f2aa3aa4aa59d1bdd4c3dae12",
"sha1": "e38c66e88e30625475fca7fbf89b11d7d5ba1030"
},
"required_dependencies": [],
"size": 97235,
"date_published": "2024-10-30T21:45:07.837775Z"
}
]
},
{
"pakku_id": "GXyDUWkiW0nLPTdo",
"type": "MOD",

View File

@@ -289,8 +289,11 @@
"side": "CLIENT",
"export": false
},
"tfc-caelum":{
"side": "CLIENT"
"tfc-caelum": {
"side": "CLIENT"
},
"distant-horizon": {
"side": "CLIENT"
}
}
}