diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5fa3939 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +* +!*/ + +!.gitignore + +!install.sh +!install.ps1 +!options.txt +!cherishedworlds-favorites.dat +!servers.dat + +!mods/* +!resourcepacks/* +!config/* +!presets/* diff --git a/cherishedworlds-favorites.dat b/cherishedworlds-favorites.dat new file mode 100644 index 0000000..bd2b27e Binary files /dev/null and b/cherishedworlds-favorites.dat differ diff --git a/config/DistantHorizons.toml b/config/DistantHorizons.toml new file mode 100644 index 0000000..f85799d --- /dev/null +++ b/config/DistantHorizons.toml @@ -0,0 +1,795 @@ +_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 + # + # Enables adaptive transfer speed based on client performance. + # If true, DH will automatically adjust transfer rate to minimize connection lag. + # If false, transfer speed will remain fixed. + enableAdaptiveTransferSpeed = false + + [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: 3.25 milliseconds + # Estimated average DTO write speed: 5.99 milliseconds + # + # LZ4 + # A good option if you're CPU limited and have plenty of hard drive space. + # Expected Compression Ratio: 0.26 + # 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.2 + # Estimated average DTO read speed: 13.29 ms + # Estimated average DTO write speed: 70.95 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 = 6 + # + # 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 = "FEATURES" + # + # 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 = true + +[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 = true + # + # 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 = "EXTREME" + # + # 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 = 128 + # + # 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 = "HIGH" + # + # 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_IP_PORT_MC_VERSION" + diff --git a/config/appleskin.json5 b/config/appleskin.json5 new file mode 100644 index 0000000..2da9a78 --- /dev/null +++ b/config/appleskin.json5 @@ -0,0 +1,22 @@ +{ + // If true, shows the hunger and saturation values of food in its tooltip while holding SHIFT + "showFoodValuesInTooltip": true, + // If true, shows the hunger and saturation values of food in its tooltip automatically (without needing to hold SHIFT) + "showFoodValuesInTooltipAlways": true, + // If true, shows your current saturation level overlayed on the hunger bar + "showSaturationHudOverlay": true, + // If true, shows the hunger (and saturation if showSaturationHudOverlay is true) that would be restored by food you are currently holding + "showFoodValuesHudOverlay": true, + // If true, enables the hunger/saturation/health overlays for food in your off-hand + "showFoodValuesHudOverlayWhenOffhand": true, + // If true, shows your food exhaustion as a progress bar behind the hunger bar + "showFoodExhaustionHudUnderlay": true, + // If true, shows estimated health restored by food on the health bar + "showFoodHealthHudOverlay": true, + // If true, shows your hunger, saturation, and exhaustion level in Debug Screen + "showFoodDebugInfo": true, + // If true, health/hunger overlay will shake to match Minecraft's icon animations + "showVanillaAnimationsOverlay": true, + // Alpha value of the flashing icons at their most visible point (1.0 = fully opaque, 0.0 = fully transparent) + "maxHudOverlayFlashAlpha": 0.6499999761581421 +} \ No newline at end of file diff --git a/config/betteradvancements.json b/config/betteradvancements.json new file mode 100644 index 0000000..8d790ef --- /dev/null +++ b/config/betteradvancements.json @@ -0,0 +1,18 @@ +{ + "defaultUncompletedIconColor": "#FFFFFF", + "defaultUncompletedTitleColor": "#0489C1", + "defaultCompletedIconColor": "#DBA213", + "defaultCompletedTitleColor": "#DBA213", + "doAdvancementsBackgroundFade": true, + "showDebugCoordinates": false, + "orderTabsAlphabetically": false, + "uiScaling": 100, + "criteriaDetail": "Default", + "criteriaDetailRequiresShift": false, + "addInventoryButton": false, + "defaultDrawDirectLines": false, + "defaultHideLines": false, + "defaultCompletedLineColor": "#FFFFFF", + "defaultUncompletedLineColor": "#FFFFFF", + "onlyUseAboveAdvancementTabs": false +} \ No newline at end of file diff --git a/config/betterf3.json b/config/betterf3.json new file mode 100644 index 0000000..1f3c35d --- /dev/null +++ b/config/betterf3.json @@ -0,0 +1,143 @@ +{ + "general": { + "disable_mod": false, + "hide_bossbar": true, + "shadow_text": true, + "auto_start": false, + "animationSpeed": 1.0, + "always_show_ping": false, + "hide_debug_crosshair": false, + "background_color": 1867534416, + "space_modules": true, + "always_show_profiler": false, + "animations": true, + "fontScale": 1.0, + "hide_sidebar": true, + "always_show_tps": false + }, + "modules_right": [ + { + "name": "system", + "name_color": 16755200, + "value_color": 5636095, + "lines": { + "opengl_version": true, + "allocation_rate": true, + "display": true, + "java_version": true, + "gpu_driver": true, + "memory_usage": true, + "allocated_memory": true, + "cpu": true, + "gpu_utilization": true, + "time": true, + "gpu": true + }, + "enabled": true + }, + { + "name": "target", + "name_color": 43775, + "value_color": 16777045, + "lines": { + "id_fluid": true, + "fluid_tags": true, + "block_states": true, + "targeted_block": true, + "block_tags": true, + "id_block": true, + "nothing": true, + "nothing2": true, + "targeted_fluid": true, + "targeted_entity": true, + "fluid_states": true + }, + "enabled": true + } + ], + "modules_left": [ + { + "name": "minecraft", + "name_color": 10506797, + "value_color": 43520, + "lines": { + "minecraft": true + }, + "enabled": true + }, + { + "color_high": 5635925, + "color_med": 16777045, + "name": "fps", + "lines": { + "fps": true + }, + "enabled": true, + "color_low": 16733525 + }, + { + "color_x": 16733525, + "color_y": 5635925, + "color_z": 5636095, + "name": "coords", + "name_color": 16733525, + "lines": { + "chunk_coords": true, + "player_coords": true, + "block_coords": true, + "absolute_velocity": true, + "velocity": true, + "chunk_relative_coords": true, + "horizontal_velocity": true + }, + "enabled": true + }, + { + "name": "graphics", + "name_color": 16755200, + "value_color": 5636095, + "lines": { + "shader": true, + "render_distance": true, + "graphics": true, + "clouds": true, + "biome_blend_radius": true + }, + "enabled": true + }, + { + "name": "server", + "name_color": 11184810, + "value_color": 16777045, + "lines": { + "server_tick": true, + "packets_sent": true, + "packets_received": true, + "tick_manager_status": true + }, + "enabled": true + }, + { + "name": "chunks", + "chunks_disabled_color": 16733525, + "name_color": 43775, + "value_color": 16777045, + "total_chunks_color": 16755200, + "lines": { + "chunk_file": true, + "available_buffers": true, + "loaded_chunks_server": true, + "forceloaded_chunks": true, + "chunk_culling": true, + "pending_uploads": true, + "pending_chunks": true, + "loaded_chunks": true, + "spawn_chunks": true, + "client_chunk_cache": true, + "chunk_sections": true + }, + "chunks_enabled_color": 5635925, + "enabled": true + } + ] +} \ No newline at end of file diff --git a/config/betterthirdperson.json5 b/config/betterthirdperson.json5 new file mode 100644 index 0000000..260adee --- /dev/null +++ b/config/betterthirdperson.json5 @@ -0,0 +1,16 @@ +{ + // Align player to camera on left & right clicks + "aimOnInteract": true, + // How long player will be aligned to camera after left & right clicks + "aimDuration": 40, + // Angle in degrees within the player will slightly follow camera yaw (while standing still) + "followYaw": 45, + // Does camera should rotate freely during elytra flight + "freeCameraDuringElytraFlight": false, + // Completely remove third-person front view + "skipThirdPersonFrontView": false, + // How fast player changes movement direction in third-person + "playerRotationSpeed": 50, + // How fast player pitch follows camera pitch in third-person + "pitchChangeSpeed": 65 +} \ No newline at end of file diff --git a/config/chat_heads.json5 b/config/chat_heads.json5 new file mode 100644 index 0000000..e1d42f3 --- /dev/null +++ b/config/chat_heads.json5 @@ -0,0 +1,8 @@ +{ + "renderPosition": "BEFORE_NAME", + "offsetNonPlayerText": true, + "senderDetection": "UUID_AND_HEURISTIC", + "smartHeuristics": true, + "handleSystemMessages": true, + "nameAliases": { } +} \ No newline at end of file diff --git a/config/citresewn.json b/config/citresewn.json new file mode 100644 index 0000000..66bf5aa --- /dev/null +++ b/config/citresewn.json @@ -0,0 +1,7 @@ +{ + "enabled": true, + "mute_errors": false, + "mute_warns": false, + "cache_ms": 50, + "broken_paths": false +} \ No newline at end of file diff --git a/config/continuity.json b/config/continuity.json new file mode 100644 index 0000000..9ec8990 --- /dev/null +++ b/config/continuity.json @@ -0,0 +1,6 @@ +{ + "connected_textures": true, + "emissive_textures": true, + "custom_block_layers": true, + "use_manual_culling": true +} \ No newline at end of file diff --git a/config/controlify.json b/config/controlify.json new file mode 100644 index 0000000..5fa49d4 --- /dev/null +++ b/config/controlify.json @@ -0,0 +1,84 @@ +{ + "current_controller": "3a79858fbb9802aaa98d7840da9108ea", + "controllers": { + "3a79858fbb9802aaa98d7840da9108ea": { + "config": { + "controlify:input": { + "h_look_sensitivity": 1.0, + "v_look_sensitivity": 0.9, + "v_look_invert": false, + "virtual_mouse_sensitivity": 1.0, + "reduce_aiming_sensitivity": true, + "button_activation_threshold": 0.5, + "is_l_c_e": false, + "deadzones": { + "controlify:right_stick": 0.08, + "controlify:left_stick": 0.08 + }, + "deadzones_calibrated": true, + "delayed_calibration": false, + "mixed_input": false, + "keep_default_bindings": false, + "radial_actions": [ + "controlify:toggle_hud_visibility", + "controlify:change_perspective", + "controlify:drop_stack", + "controlify:open_chat", + "controlify:swap_hands", + "controlify:pick_block", + "controlify:take_screenshot", + "controlify:show_player_list" + ], + "radial_button_focus_timeout_ticks": 20, + "mapping": null, + "bindings": {} + }, + "controlify:config/generic": { + "nickname": null, + "auto_jump": false, + "toggle_sprint": true, + "toggle_sneak": true, + "disable_fly_drifting": false, + "guide_verbosity": "FULL", + "show_ingame_guide": true, + "ingame_guide_bottom": false, + "show_screen_guides": true, + "show_on_screen_keyboard": true, + "dont_show_controller_submission": false, + "hint_keyboard_cursor": true, + "hint_keyboard_command_suggester": true, + "hint_keyboard_sign_line": true + }, + "controlify:rumble": { + "enabled": true, + "vibration_strengths": { + "controlify:gui": 1.0, + "controlify:interaction": 1.0, + "controlify:player": 1.0, + "controlify:master": 1.0, + "controlify:world": 1.0 + } + } + } + } + }, + "global": { + "virtual_mouse_screens": [ + "net.minecraft.class_465" + ], + "keyboardMovement": false, + "keyboard_movement_whitelist": [], + "out_of_focus_input": false, + "vibration_onboarded": false, + "reach_around": "OFF", + "allow_server_rumble": true, + "extra_ui_sounds": true, + "notify_low_battery": true, + "ingame_button_guide_scale": 1.0, + "use_enhanced_steam_deck_driver": true, + "seen_servers": [ + "uts.divan2000.su", + "sp.spworlds.ru" + ] + } +} \ No newline at end of file diff --git a/config/dynamic_fps.json b/config/dynamic_fps.json new file mode 100644 index 0000000..318e895 --- /dev/null +++ b/config/dynamic_fps.json @@ -0,0 +1,16 @@ +{ + "idle": { + "condition": "none" + }, + "states": { + "unfocused": { + "frame_rate_target": 10 + }, + "hovered": { + "frame_rate_target": -1 + }, + "abandoned": { + "frame_rate_target": 5 + } + } +} diff --git a/config/emotecraft.json b/config/emotecraft.json new file mode 100644 index 0000000..1339667 --- /dev/null +++ b/config/emotecraft.json @@ -0,0 +1,40 @@ +{ + "config_version": 4, + "loadbuiltin": true, + "quark": false, + "dark": false, + "oldChooseWheel": false, + "perspective": true, + "default3rdPersonFront": false, + "showicon": true, + "enableNSFW": false, + "alwaysOpenScreen": false, + "debug": true, + "validate": false, + "validationThreshold": 8.0, + "emotesFolderOnLogicalServer": false, + "emotesDirectory": "emotes", + "autoFixEmoteStop": true, + "checkPose": true, + "alwaysValidateEmote": false, + "playersafety": true, + "stopthreshold": 0.04, + "yratio": 0.75, + "showHiddenConfig": false, + "neverRemoveBadIcon": false, + "exportBuiltin": false, + "hideWarning": false, + "fastmenu": { + "0": { + "0": "33b912f8-0aa0-45e6-a2d4-9b5677e6f35c", + "1": "f9f6669d-f1b3-4170-8bc5-475a9a600439", + "2": "01a53a42-2fd2-418c-8e46-e4ee1ff9ee6a", + "3": "a2969c42-520f-4c5c-a024-a7d0a2b7b4d1", + "4": "33b912f8-0aa0-45e6-a2d4-9b5677e6f35c", + "5": "96506a5e-a69c-4a18-9add-d43dfd272fa6", + "6": "3045b335-12ca-4ddb-aca5-0aef450a5e4c", + "7": "931b2bda-a25e-4e55-957a-88c46f5e9a7b" + } + }, + "keys": {} +} \ No newline at end of file diff --git a/config/emotecraft_emote_map.json b/config/emotecraft_emote_map.json new file mode 100644 index 0000000..6c9cea3 --- /dev/null +++ b/config/emotecraft_emote_map.json @@ -0,0 +1,4 @@ +{ + "bedrock-emote": "java-emote", + "00112233-4455-6677-8899-aabbccddeeff": "ffeeddcc-bbaa-9988-7766-554433221100" +} \ No newline at end of file diff --git a/config/entity_model_features.json b/config/entity_model_features.json new file mode 100644 index 0000000..6602d54 --- /dev/null +++ b/config/entity_model_features.json @@ -0,0 +1,28 @@ +{ + "logModelCreationData": false, + "debugOnRightClick": false, + "renderModeChoice": "NORMAL", + "vanillaModelHologramRenderMode_2": "OFF", + "modelExportMode": "NONE", + "modelUpdateFrequency": "Average", + "entityRenderModeOverrides": {}, + "entityVanillaHologramOverrides": {}, + "modelsNamesDisabled": [], + "allowEBEModConfigModify": true, + "animationLODDistance": 20, + "retainDetailOnLowFps": true, + "retainDetailOnLargerMobs": true, + "animationFrameSkipDuringIrisShadowPass": true, + "preventFirstPersonHandAnimating": false, + "onlyClientPlayerModel": false, + "doubleChestAnimFix": true, + "enforceOptifineVariationRequiresDefaultModel": false, + "enforceOptifineVariationRequiresDefaultModel_v2": false, + "resetPlayerModelEachRender": true, + "resetPlayerModelEachRender_v2": true, + "onlyDebugRenderOnHover": false, + "enforceOptifineSubFoldersVariantOnly": true, + "enforceOptiFineAnimSyntaxLimits": true, + "allowOptifineFallbackProperties": true, + "showReloadErrorToast": true +} \ No newline at end of file diff --git a/config/entity_texture_features.json b/config/entity_texture_features.json new file mode 100644 index 0000000..dd74532 --- /dev/null +++ b/config/entity_texture_features.json @@ -0,0 +1,40 @@ +{ + "optifine_limitRandomVariantGapsBy10": true, + "optifine_allowWeirdSkipsInTrueRandom": true, + "optifine_preventBaseTextureInOptifineDirectory": true, + "illegalPathSupportMode": "None", + "enableCustomTextures": true, + "enableCustomBlockEntities": true, + "textureUpdateFrequency_V2": "Fast", + "enableEmissiveTextures": true, + "enableEnchantedTextures": true, + "enableEmissiveBlockEntities": true, + "emissiveRenderMode": "DULL", + "alwaysCheckVanillaEmissiveSuffix": true, + "enableArmorAndTrims": true, + "skinFeaturesEnabled": true, + "skinTransparencyMode": "ETF_SKINS_ONLY", + "skinTransparencyInExtraPixels": true, + "skinFeaturesEnableTransparency": true, + "skinFeaturesEnableFullTransparency": false, + "tryETFTransparencyForAllSkins": false, + "enableEnemyTeamPlayersSkinFeatures": true, + "enableBlinking": true, + "blinkFrequency": 150, + "blinkLength": 1, + "advanced_IncreaseCacheSizeModifier": 1.0, + "debugLoggingMode": "None", + "logTextureDataInitialization": false, + "hideConfigButton": false, + "configButtonLoc": "BOTTOM_RIGHT", + "disableVanillaDirectoryVariantTextures": false, + "use3DSkinLayerPatch": true, + "enableFullBodyWardenTextures": true, + "entityEmissiveOverrides": {}, + "propertiesDisabled": [], + "propertyInvertUpdatingOverrides": [], + "entityRandomOverrides": {}, + "entityEmissiveBrightOverrides": {}, + "entityRenderLayerOverrides": {}, + "entityLightOverrides": {} +} \ No newline at end of file diff --git a/config/etf_warnings.json b/config/etf_warnings.json new file mode 100644 index 0000000..972c737 --- /dev/null +++ b/config/etf_warnings.json @@ -0,0 +1,3 @@ +{ + "ignoredConfigIds": [] +} \ No newline at end of file diff --git a/config/explosiveenhancement.json b/config/explosiveenhancement.json new file mode 100644 index 0000000..6317540 --- /dev/null +++ b/config/explosiveenhancement.json @@ -0,0 +1,31 @@ +{ + "show_blast_wave": true, + "show_fireball": true, + "show_mushroom_cloud": true, + "show_sparks": true, + "spark_size": 5.3, + "spark_opacity": 0.7, + "show_default_explosion": false, + "underwater_explosions": true, + "show_shockwave": true, + "show_underwater_blast_wave": true, + "bubble_amount": 50, + "show_underwater_sparks": false, + "underwater_spark_size": 4.0, + "underwater_spark_opacity": 0.3, + "show_default_explosion_underwater": false, + "dynamic_size": true, + "dynamic_underwater": true, + "extra_power": false, + "big_extra_power": 0.0, + "small_extra_power": 0.0, + "attempt_better_small_explosions": true, + "small_explosion_y_offset": -0.5, + "attempt_power_knockback_calc": false, + "bypass_power_for_singleplayer": true, + "mod_enabled": true, + "emissive_explosion": true, + "emissive_water_explosion": true, + "always_show": false, + "debug_logs": false +} \ No newline at end of file diff --git a/config/fallingleaves.json b/config/fallingleaves.json new file mode 100644 index 0000000..5818290 --- /dev/null +++ b/config/fallingleaves.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "displayDebugData": false, + "enabled": true, + "leafSize": 5, + "leafLifespan": 200, + "leafSpawnRate": 10, + "coniferLeafSpawnRate": 0, + "cherrySpawnRate": 10, + "snowflakeSpawnRate": 15, + "dropFromPlayerPlacedBlocks": true, + "leavesOnBlockHit": true, + "minimumFreeSpaceBelow": 1, + "windEnabled": true, + "windlessDimensions": [ + "minecraft:the_end", + "minecraft:the_nether" + ], + "leafSettings": {}, + "leafSpawners": [], + "fallSpawnRateFactor": 1.8, + "winterSpawnRateFactor": 0.1, + "startingSpawnRadius": 0, + "decaySpawnRateFactor": 2.6, + "maxDecayLeaves": 9, + "registerParticles": true +} \ No newline at end of file diff --git a/config/firstperson.json b/config/firstperson.json new file mode 100644 index 0000000..50c9d9a --- /dev/null +++ b/config/firstperson.json @@ -0,0 +1,24 @@ +{ + "configVersion": 2, + "enabledByDefault": true, + "xOffset": 0, + "sneakXOffset": 0, + "sitXOffset": 0, + "renderStuckFeatures": true, + "vanillaHandsMode": "ALL", + "dynamicMode": true, + "vanillaHandsSkipSwimming": true, + "autoVanillaHands": [ + "create:potato_cannon", + "create:handheld_worldshaper", + "twilightforest:filled_ore_map", + "map_atlases:atlas", + "twilightforest:filled_magic_map", + "twilightforest:filled_maze_map", + "antiqueatlas:antique_atlas", + "create:extendo_grip" + ], + "autoToggleModItems": [ + "exposure:camera" + ] +} \ No newline at end of file diff --git a/config/iris-excluded.json b/config/iris-excluded.json new file mode 100644 index 0000000..c168c6c --- /dev/null +++ b/config/iris-excluded.json @@ -0,0 +1 @@ +{"excluded":["put:valuesHere"]} \ No newline at end of file diff --git a/config/iris.properties b/config/iris.properties new file mode 100644 index 0000000..9a26c0c --- /dev/null +++ b/config/iris.properties @@ -0,0 +1,9 @@ +#This file stores configuration options for Iris, such as the currently active shaderpack +#Fri Sep 19 15:58:45 SAMT 2025 +allowUnknownShaders=false +colorSpace=SRGB +disableUpdateMessage=false +enableDebugOptions=false +enableShaders=true +maxShadowRenderDistance=32 +shaderPack=Visual-Vibrance-v0.3.4a.zip diff --git a/config/lithium.properties b/config/lithium.properties new file mode 100644 index 0000000..fdb5556 --- /dev/null +++ b/config/lithium.properties @@ -0,0 +1,6 @@ +# This is the configuration file for Lithium. +# +# You can find information on editing this file and all the available options here: +# https://github.com/CaffeineMC/lithium-fabric/wiki/Configuration-File +# +# By default, this file will be empty except for this notice. diff --git a/config/modmenu.json b/config/modmenu.json new file mode 100644 index 0000000..c9b583f --- /dev/null +++ b/config/modmenu.json @@ -0,0 +1,31 @@ +{ + "sorting": "ascending", + "count_libraries": true, + "compact_list": false, + "count_children": true, + "mods_button_style": "classic", + "game_menu_button_style": "insert", + "count_hidden_mods": true, + "mod_count_location": "title_screen", + "hide_mod_links": false, + "show_libraries": false, + "hide_mod_license": false, + "hide_badges": false, + "hide_mod_credits": false, + "easter_eggs": true, + "random_java_colors": false, + "translate_names": true, + "translate_descriptions": true, + "update_checker": true, + "button_update_badge": false, + "update_channel": "release", + "quick_configure": true, + "modify_title_screen": true, + "modify_game_menu": true, + "hide_config_buttons": false, + "config_mode": false, + "disable_drag_and_drop": false, + "hidden_mods": [], + "hidden_configs": [], + "disable_update_checker": [] +} \ No newline at end of file diff --git a/config/notenoughanimations.json b/config/notenoughanimations.json new file mode 100644 index 0000000..f7a011b --- /dev/null +++ b/config/notenoughanimations.json @@ -0,0 +1,79 @@ +{ + "configVersion": 11, + "animationSmoothingSpeed": 0.2, + "holdingItems": [ + "quad-mstv-mtv:pale_oak_torch", + "quad-mstv-mtv:bamboo_torch", + "minecraft:clock", + "quad-mstv-mtv:spruce_soul_torch", + "minecraft:compass", + "minecraft:soul_torch", + "quad-mstv-mtv:jungle_soul_torch", + "quad-mstv-mtv:birch_soul_torch", + "quad-mstv-mtv:warped_soul_torch", + "minecraft:torch", + "quad-mstv-mtv:bamboo_soul_torch", + "quad-mstv-mtv:mangrove_torch", + "quad-mstv-mtv:cherry_soul_torch", + "minecraft:recovery_compass", + "quad-mstv-mtv:jungle_torch", + "quad-mstv-mtv:mangrove_soul_torch", + "minecraft:soul_lantern", + "quad-mstv-mtv:acacia_torch", + "quad-mstv-mtv:cherry_torch", + "quad-mstv-mtv:spruce_torch", + "quad-mstv-mtv:dark_oak_soul_torch", + "quad-mstv-mtv:warped_torch", + "minecraft:lantern", + "quad-mstv-mtv:crimson_soul_torch", + "quad-mstv-mtv:pale_oak_soul_torch", + "quad-mstv-mtv:birch_torch", + "quad-mstv-mtv:acacia_soul_torch", + "quad-mstv-mtv:crimson_torch", + "quad-mstv-mtv:dark_oak_torch" + ], + "enableAnimationSmoothing": true, + "enableInWorldMapRendering": true, + "enableOffhandHiding": true, + "enableRotationLocking": true, + "enableLadderAnimation": true, + "ladderAnimationAmplifier": 0.35, + "ladderAnimationArmHeight": 1.7, + "ladderAnimationArmSpeed": 2.0, + "enableRotateToLadder": true, + "enableEatDrinkAnimation": true, + "enableRowBoatAnimation": true, + "enableHorseAnimation": true, + "enableHorseLegAnimation": false, + "dontHoldItemsInBed": true, + "freezeArmsInBed": true, + "rotationLock": "NONE", + "limitRotationLockToFP": true, + "showLastUsedSword": false, + "sheathSwords": [ + "minecraft:golden_sword", + "minecraft:iron_sword", + "minecraft:wooden_sword", + "minecraft:stone_sword", + "minecraft:diamond_sword", + "minecraft:netherite_sword" + ], + "enableCrawlingAnimation": true, + "holdUpItemsMode": "CONFIG", + "holdUpTarget": "CAMERA", + "holdUpCameraOffset": 0.1, + "holdUpOnlySelf": false, + "holdUpItemOffset": 0.0, + "itemSwapAnimation": true, + "tweakElytraAnimation": true, + "petAnimation": true, + "fallingAnimation": false, + "freezingAnimation": true, + "huggingAnimation": false, + "narutoRunning": false, + "enableInWorldBookRendering": false, + "disableLegSmoothing": false, + "bowAnimation": "CUSTOM_V1", + "customBowRotationLock": false, + "burningAnimation": true +} \ No newline at end of file diff --git a/config/replaymod.json b/config/replaymod.json new file mode 100644 index 0000000..9a6a21b --- /dev/null +++ b/config/replaymod.json @@ -0,0 +1,66 @@ +{ + "core": { + "notifications": true + }, + "advanced": { + "recordingPath": "./replay_recordings/", + "cachePath": "./.replay_cache/", + "renderPath": "./replay_videos/", + "skipPostRenderGui": false, + "askForOpenEye": true, + "skipPostScreenshotGui": false, + "fullBrightness": "replaymod.gui.settings.fullbrightness.gamma", + "fullBrightness_valid_values": [ + "replaymod.gui.settings.fullbrightness.gamma", + "replaymod.gui.settings.fullbrightness.nightvision", + "replaymod.gui.settings.fullbrightness.both" + ] + }, + "recording": { + "recordSingleplayer": true, + "recordServer": true, + "indicator": true, + "autoStartRecording": false, + "autoPostProcess": true, + "renameDialog": true + }, + "replay": { + "showChat": true, + "showServerIPs": true, + "camera": "replaymod.camera.classic", + "camera_valid_values": [ + "replaymod.camera.classic", + "replaymod.camera.vanilla" + ], + "legacyMainMenuButton": false, + "mainMenuButton": "DEFAULT", + "mainMenuButton_valid_values": [ + "BIG", + "DEFAULT", + "TOP_LEFT", + "TOP_RIGHT", + "LEFT_OF_SINGLEPLAYER", + "RIGHT_OF_SINGLEPLAYER", + "LEFT_OF_MULTIPLAYER", + "RIGHT_OF_MULTIPLAYER", + "LEFT_OF_REALMS", + "RIGHT_OF_REALMS", + "LEFT_OF_MODS", + "RIGHT_OF_MODS" + ] + }, + "render": { + "frameTimeFromWorldTime": false + }, + "simplepathing": { + "pathpreview": true, + "autosync": true, + "timelineLength": 1800, + "interpolator": "replaymod.gui.editkeyframe.interpolator.catmullrom.name", + "interpolator_valid_values": [ + "replaymod.gui.editkeyframe.interpolator.catmullrom.name", + "replaymod.gui.editkeyframe.interpolator.cubic.name", + "replaymod.gui.editkeyframe.interpolator.linear.name" + ] + } +} \ No newline at end of file diff --git a/config/shulkerboxtooltip.json5 b/config/shulkerboxtooltip.json5 new file mode 100644 index 0000000..9703662 --- /dev/null +++ b/config/shulkerboxtooltip.json5 @@ -0,0 +1,161 @@ +{ + "colors": { + /* Controls whether the preview window should be colored. + (default value: true) + */ + "coloredPreview": true, + "colors": { + "shulkerboxtooltip:shulker_boxes": { + // (default value: 0x976797) + "shulker_box": 0x976797, + // (default value: 0xf9fffe) + "white_shulker_box": 0xf9fffe, + // (default value: 0xf98026) + "orange_shulker_box": 0xf98026, + // (default value: 0xc74ebd) + "magenta_shulker_box": 0xc74ebd, + // (default value: 0x3ab3da) + "light_blue_shulker_box": 0x3ab3da, + // (default value: 0xfed83d) + "yellow_shulker_box": 0xfed83d, + // (default value: 0x80c726) + "lime_shulker_box": 0x80c726, + // (default value: 0xf38baa) + "pink_shulker_box": 0xf38baa, + // (default value: 0x474f52) + "gray_shulker_box": 0x474f52, + // (default value: 0x9d9d97) + "light_gray_shulker_box": 0x9d9d97, + // (default value: 0x269c9c) + "cyan_shulker_box": 0x269c9c, + // (default value: 0x8932b8) + "purple_shulker_box": 0x8932b8, + // (default value: 0x3c44aa) + "blue_shulker_box": 0x3c44aa, + // (default value: 0x835432) + "brown_shulker_box": 0x835432, + // (default value: 0x5e7c26) + "green_shulker_box": 0x5e7c26, + // (default value: 0xb02e26) + "red_shulker_box": 0xb02e26, + // (default value: 0x262626) + "black_shulker_box": 0x262626 + }, + "shulkerboxtooltip:default": { + // (default value: 0xffffff) + "default": 0xffffff, + // (default value: 0xb4b41) + "ender_chest": 0xb4b41 + } + } + }, + "controls": { + /* Press this key when hovering a container stack to open the preview window. + (default value: key.keyboard.left.shift) + */ + "previewKey": { + "code": "key.keyboard.left.shift" + }, + /* Press this key when hovering a container stack to open the full preview window. + (default value: key.keyboard.left.alt) + */ + "fullPreviewKey": { + "code": "key.keyboard.left.alt" + }, + /* Hold this key when previewing a stack to lock the tooltip. + (default value: key.keyboard.left.control) + */ + "lockTooltipKey": { + "code": "key.keyboard.left.control" + } + }, + "preview": { + /* Toggles the shulker box preview. + (default value: true) + */ + "enable": true, + /* Swaps the preview modes. + If true, pressing the preview key will show the full preview instead. + (default value: false) + */ + "swapModes": false, + /* If on, the preview is always displayed, regardless of the preview key being pressed. + (default value: false) + */ + "alwaysOn": true, + /* In compact mode, how should items with the same ID but different component data be compacted? + IGNORE: Ignores component data + FIRST_ITEM: Items are displayed as all having the same component as the first item + SEPARATE: Separates items with different component data + (default value: SEPARATE) + */ + "compactPreviewNbtBehavior": "SEPARATE", + /* The max number of items in a row. + May not affect modded containers. + (default value: 9) + */ + "defaultMaxRowSize": 9, + /* If on, the client will try to send packets to servers to allow extra preview information such as ender chest previews. + (default value: true) + */ + "serverIntegration": true, + /* The theme to use for preview windows. + SHULKERBOXTOOLTIP: ShulkerBoxTooltip's default look and feel. + VANILLA: Mimics the style of vanilla bundle previews. + (default value: SHULKERBOXTOOLTIP) + */ + "theme": "SHULKERBOXTOOLTIP", + /* The position of the preview window. + INSIDE: Inside the item's tooltip. + OUTSIDE: Outside the item's tooltip, moves depending on the screen borders. + OUTSIDE_TOP: Always at the top of the item's tooltip. + OUTSIDE_BOTTOM: Always at the bottom of the item's tooltip. + (default value: INSIDE) + */ + "position": "OUTSIDE", + /* If on, large item counts in compact previews will be shortened. + (default value: true) + */ + "shortItemCounts": true + }, + "tooltip": { + /* Controls whether the key hints in the container's tooltip should be displayed. + (default value: true) + */ + "showKeyHints": true, + /* The tooltip to use. + VANILLA: The vanilla tooltip (shows the first 5 items) + MOD: The mod's tooltip + NONE: No tooltip + (default value: MOD) + */ + "type": "MOD", + /* Shows info about the current loot table of the item if present. + Visible only when Tooltip Type is set to Modded. + HIDE: No loot table info, default. + SIMPLE: Displays whether the stack uses a loot table. + ADVANCED: Shows the loot table used by the item. + (default value: HIDE) + */ + "lootTableInfoType": "HIDE", + /* If on, the mod hides the custom text on shulker box tooltips. + Use this option when a server-side preview data pack clashes with the mod. + (default value: false) + */ + "hideShulkerBoxLore": false + }, + "server": { + /* If on, the server will be able to provide extra information about containers to the clients with the mod installed. + Disabling this option will disable all the options below. + (default value: true) + */ + "clientIntegration": true, + /* Changes the way the ender chest content preview is synchronized. + NONE: No synchronization, prevents clients from seeing a preview of their ender chest. + ACTIVE: Ender chest contents are synchronized when changed. + PASSIVE: Ender chest contents are synchronized when the client opens a preview. + (default value: ACTIVE) + */ + "enderChestSyncType": "ACTIVE" + } +} \ No newline at end of file diff --git a/config/skinlayers.json b/config/skinlayers.json new file mode 100644 index 0000000..7bb2cc9 --- /dev/null +++ b/config/skinlayers.json @@ -0,0 +1,19 @@ +{ + "enableHat": true, + "enableJacket": true, + "enableLeftSleeve": true, + "enableRightSleeve": true, + "enableLeftPants": true, + "enableRightPants": true, + "baseVoxelSize": 1.15, + "bodyVoxelWidthSize": 1.05, + "headVoxelSize": 1.18, + "renderDistanceLOD": 14, + "enableSkulls": true, + "enableSkullsItems": true, + "skullVoxelSize": 1.1, + "fastRender": true, + "compatibilityMode": true, + "irisCompatibilityMode": false, + "firstPersonPixelScaling": 1.1 +} \ No newline at end of file diff --git a/config/sodium-fingerprint.json b/config/sodium-fingerprint.json new file mode 100644 index 0000000..4e012a0 --- /dev/null +++ b/config/sodium-fingerprint.json @@ -0,0 +1 @@ +{"v":1,"s":"93d94ae3bf4e4d06f846f65b081616f07214d5087b9f94c1224dd020a12fa70f3d147bc2c2e70bf529e69b0445365fdd48b273156c140d3fcab65e1372dba3d6","u":"04ea6a8ed7ebc6742893a2f37c8025bb5aaf970aa7b7616dbda62b8bcaa5e25e2629c01d17535f47f5318701e55a9f1dd6dab9ab8eea380a05721df7a7ac6acb","p":"b857ba55310154ca4377aadb3fe2844e3c5bdf6b48d541ca5a336faa6adada3eeb7101f010637b748e91d58d35a8efd805ea18895bd4643428b7ea1d0a178b0b","t":1758119906} \ No newline at end of file diff --git a/config/sodium-mixins.properties b/config/sodium-mixins.properties new file mode 100644 index 0000000..864cfde --- /dev/null +++ b/config/sodium-mixins.properties @@ -0,0 +1,6 @@ +# This is the configuration file for Sodium. +# +# You can find information on editing this file and all the available options here: +# https://github.com/CaffeineMC/sodium/wiki/Configuration-File +# +# By default, this file will be empty except for this notice. diff --git a/config/sodium-options.json b/config/sodium-options.json new file mode 100644 index 0000000..2b3e422 --- /dev/null +++ b/config/sodium-options.json @@ -0,0 +1,28 @@ +{ + "quality": { + "weather_quality": "DEFAULT", + "leaves_quality": "DEFAULT", + "enable_vignette": true + }, + "advanced": { + "enable_memory_tracing": false, + "use_advanced_staging_buffers": true, + "cpu_render_ahead_limit": 3 + }, + "performance": { + "chunk_builder_threads": 0, + "always_defer_chunk_updates_v2": true, + "animate_only_visible_textures": true, + "use_entity_culling": true, + "use_fog_occlusion": true, + "use_block_face_culling": true, + "use_no_error_g_l_context": true + }, + "notifications": { + "has_cleared_donation_button": false, + "has_seen_donation_prompt": false + }, + "debug": { + "terrain_sorting_enabled": true + } +} \ No newline at end of file diff --git a/config/talkingheads.json b/config/talkingheads.json new file mode 100644 index 0000000..ff58121 --- /dev/null +++ b/config/talkingheads.json @@ -0,0 +1,9 @@ +{ + "enableMod": true, + "usePlasmoVoice": true, + "useSimpleVoiceChat": true, + "removedVolume": 0.002, + "scaleX": 1.0, + "scaleY": 1.0, + "scaleZ": 1.0 +} \ No newline at end of file diff --git a/config/visuality.json b/config/visuality.json new file mode 100644 index 0000000..090b3e6 --- /dev/null +++ b/config/visuality.json @@ -0,0 +1,41 @@ +{ + "slimeEnabled": true, + "slimeColor": { + "field_24364": 8978297 + }, + "chargeEnabled": true, + "sparkleEnabled": true, + "soulEnabled": true, + "waterCircles": { + "density": 10, + "radius": 16, + "enabled": true, + "colored": true + }, + "hitParticlesEnabled": true, + "hitParticleEntries": [ + "minecraft:skeleton/visuality:bone", + "minecraft:skeleton_horse/visuality:bone", + "minecraft:stray/visuality:bone", + "minecraft:wither_skeleton/visuality:wither_bone", + "minecraft:chicken/visuality:feather", + "minecraft:villager/visuality:emerald" + ], + "shinyArmorEnabled": true, + "shinyArmorEntries": [ + "minecraft:golden_helmet", + "minecraft:golden_chestplate", + "minecraft:golden_leggings", + "minecraft:golden_boots", + "minecraft:diamond_helmet", + "minecraft:diamond_chestplate", + "minecraft:diamond_leggings", + "minecraft:diamond_boots" + ], + "shinyBlocksEnabled": true, + "shinyBlockEntries": [ + "#minecraft:gold_ores", + "#minecraft:diamond_ores", + "#minecraft:emerald_ores" + ] +} \ No newline at end of file diff --git a/config/yacl.json5 b/config/yacl.json5 new file mode 100644 index 0000000..92b8724 --- /dev/null +++ b/config/yacl.json5 @@ -0,0 +1,6 @@ +{ + // Show the flashing colour picker hint (auto disables after first use) + showColorPickerIndicator: true, + // Load .webp and .gif during Minecraft resource reload instead of on-demand (can decrease startup time) + preloadComplexImageFormats: false +} \ No newline at end of file diff --git a/install.ps1 b/install.ps1 new file mode 100644 index 0000000..d2da103 --- /dev/null +++ b/install.ps1 @@ -0,0 +1,141 @@ +#!/usr/bin/env pwsh +$ErrorActionPreference = "Stop" + +# --- Определяем пути --- +$SCRIPT_DIR = Split-Path -Parent $MyInvocation.MyCommand.Path +$LOCALES_DIR = Join-Path $SCRIPT_DIR "install_locales" +$PRESETS_DIR = Join-Path $SCRIPT_DIR "presets" + +# --- Функция для получения перевода из JSON --- +function T($key) { + $jsonFile = Join-Path $LOCALES_DIR "$LOCALE.json" + if (Test-Path $jsonFile) { + $value = (Get-Content $jsonFile -Raw | ConvertFrom-Json)."$key" + if (-not $value) { return } + $cols = $Host.UI.RawUI.WindowSize.Width + $value -split "(.{1,$cols})(?:\s+|$)" | ForEach-Object { if ($_ -ne "") { $_ } } + } +} + +# --- Получаем список доступных локалей --- +$LANGUAGES = Get-ChildItem -Path $LOCALES_DIR -Filter *.json | ForEach-Object { + $_.BaseName +} + +# --- Проверка наличия локалей --- +if ($LANGUAGES.Count -eq 0) { + Write-Output "No locales found in $LOCALES_DIR" + exit 1 +} + +# --- Выбор языка --- +Write-Output "Choose a language:" +for ($i=0; $i -lt $LANGUAGES.Count; $i++) { + Write-Output ("{0}) {1}" -f ($i+1), $LANGUAGES[$i]) +} +do { + $sel = Read-Host "> " + if ([int]::TryParse($sel, [ref]$null) -and $sel -ge 1 -and $sel -le $LANGUAGES.Count) { + $LOCALE = $LANGUAGES[$sel-1] + Write-Output "You selected: $LOCALE" + break + } else { + Write-Output "Invalid selection. Please choose a number from the list." + } +} while ($true) + +Write-Host "" +Write-Host "" +T "INFO" + +$install_dir = (Get-Location).Path +$game_version = "1.21.1" +$fabric_version = "0.17.2" +$now = Get-Date -Format "yyyy-MM-ddTHH:mm:sszzz" + +$tmpfile = New-TemporaryFile + +# --- выбор пресета настроек --- +Write-Host "" +Write-Host "" +T "SELECT_PRESET" + +# --- Сканируем пресеты --- +$PRESETS = @() +$OPTIONS = @() +Get-ChildItem -Path $PRESETS_DIR -Directory | ForEach-Object { + $name = $_.BaseName + $descFile = Join-Path $_.FullName "preset_info.json" + if (Test-Path $descFile) { + $json = Get-Content $descFile -Raw | ConvertFrom-Json + $description = $json.$LOCALE + if (-not $description) { $description = $json.en_US } + } else { + $description = "No description" + } + $cols = $Host.UI.RawUI.WindowSize.Width + $line = " $name — $description" + $OPTIONS += $line -split "(.{1,$cols})(?:\s+|$)" | Where-Object { $_ -ne "" } + $PRESETS += $name +} + +# --- Выбор пресета --- +for ($i=0; $i -lt $PRESETS.Count; $i++) { + Write-Output ("{0}) {1}" -f ($i+1), $OPTIONS[$i]) +} +do { + $sel = Read-Host "> " + if ([int]::TryParse($sel, [ref]$null) -and $sel -ge 1 -and $sel -le $PRESETS.Count) { + $preset = $PRESETS[$sel-1] + break + } else { + Write-Output "Invalid selection. Choose a number from the list." + } +} while ($true) + +# --- Копирование файлов --- +Copy-Item -Path (Join-Path $PRESETS_DIR "$preset/options.txt") -Destination (Join-Path $SCRIPT_DIR "options.txt") -Force +Copy-Item -Path (Join-Path $PRESETS_DIR "$preset/config/*") -Destination (Join-Path $SCRIPT_DIR "config/") -Recurse -Force + +$locale_lower = $LOCALE.ToLower() +(Get-Content (Join-Path $SCRIPT_DIR "options.txt")) -replace '^lang:.*', "lang:$locale_lower" | Set-Content (Join-Path $SCRIPT_DIR "options.txt") + +T "PRESET_INSTALLED" + +# --- ввод RAM с валидацией --- +Write-Host "" +Write-Host "" +T "SELECT_RAM" +do { + $ram = Read-Host "> " + if ($ram -match '^[0-9]+[GgMm]$') { + T "VALID_RAM" + break + } else { + T "INVALID_RAM" + } +} while ($true) + +# --- Редактирование launcher_profiles.json --- +$minecraftDir = Join-Path $env:APPDATA ".minecraft" +$profileFile = Join-Path $minecraftDir "launcher_profiles.json" + +$json = Get-Content $profileFile -Raw | ConvertFrom-Json +$profileName = "basicmods-$game_version" +$json.profiles.$profileName = @{ + created = $now + gameDir = $install_dir + icon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAANcmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDo3ODAxODgwOC0yY2E5LTQyMDItYmYwMy00Yjc0MTIxNmQ4NDAiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODQwYzk3MjEtZThiYi00YWFhLTkyNTAtMGY5NDFhNmFiMDU0IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NzJhNDcxMjEtMzA0Ny00ZmVlLWFhYzktZTJmM2M4MTE5Y2U1IgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjMuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNzU4MTE4ODIwNTExNDIzIgogICBHSU1QOlZlcnNpb249IjMuMC40IgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjU6MDk6MTdUMTg6MTk6MjIrMDQ6MDAiCiAgIHhtcDpNb2RpZnlEYXRlPSIyMDI1OjA5OjE3VDE4OjE5OjIyKzA0OjAwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzhmZDcxMTMtYTcxMi00ZWM3LWFhMWItYTFmZjBmN2U3NWJiIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHSU1QIDMuMC40IChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjUtMDktMTdUMTg6MjA6MjArMDQ6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K" + javaArgs = "-Xmx$ram -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M" + lastUsed = $now + lastVersionId= "fabric-loader-$fabric_version-$game_version" + name = $profileName + type = "custom" +} + +$json | ConvertTo-Json -Depth 100 | Set-Content $tmpfile +Move-Item $tmpfile $profileFile -Force + +Write-Host "" +Write-Host "" +T "DONE" diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..5c60bac --- /dev/null +++ b/install.sh @@ -0,0 +1,131 @@ +#!/bin/bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +LOCALES_DIR="$SCRIPT_DIR/install_locales" +PRESETS_DIR="$SCRIPT_DIR/presets" + +# --- Функция для получения перевода из JSON --- +T() { + jq -r ".\"$1\"" "$LOCALES_DIR/$LOCALE.json" 2>/dev/null | fold -s -w "$(tput cols)" +} + +# --- Получаем список доступных локалей (файлы без расширения .json) --- +LANGUAGES=() +for file in "$LOCALES_DIR"/*.json; do + LANGUAGES+=("$(basename "$file" .json)") +done + +# --- Проверяем, что локали найдены --- +if [ ${#LANGUAGES[@]} -eq 0 ]; then + echo "No locales found in $LOCALES_DIR" + exit 1 +fi + +# --- Select для выбора языка --- +echo "Choose a language:" +select lang in "${LANGUAGES[@]}"; do + if [[ -n "$lang" ]]; then + LOCALE="$lang" + echo "You selected: $LOCALE" + break + else + echo "Invalid selection. Please choose a number from the list." + fi +done + +echo; echo; +T INFO + +install_dir="$(pwd)" +game_version="1.21.1" +fabric_version="0.17.2" +now=$(date +"%Y-%m-%dT%H:%M:%S%z") + +tmpfile=$(mktemp) + +# --- выбор пресета настроек --- + +echo; echo; +T SELECT_PRESET + +# --- Сканируем пресеты --- +PRESETS=() +OPTIONS=() # строки для select +for dir in "$PRESETS_DIR"/*/; do + name=$(basename "$dir") + + # Читаем описание из JSON для текущей локали + if [[ -f "$dir/preset_info.json" ]]; then + description=$(jq -r ".\"$LOCALE\" // .en_US" "$dir/preset_info.json" 2>/dev/null) + # Если нет ключа для локали, fallback на en_US + description=$(echo "$description" | fold -s -w "$(tput cols)") + else + description="No description" + fi + + line=" $name — $description" + + OPTIONS+=("$(echo "$line" | fold -s -w "$(tput cols)")") + PRESETS+=("$name") +done + +# --- Выбор пресета --- +COLUMNS=1 +select opt in "${OPTIONS[@]}"; do + index=$((REPLY-1)) + if [[ $index -ge 0 && $index -lt ${#PRESETS[@]} ]]; then + preset="${PRESETS[$index]}" + break + else + echo "Invalid selection. Choose a number from the list." + fi +done +COLUMNS= + +# --- Копирование файлов --- +cp "$PRESETS_DIR/$preset/options.txt" "$SCRIPT_DIR/options.txt" +cp -r "$PRESETS_DIR/$preset/config/." "$SCRIPT_DIR/config/" + +locale_lower=$(echo "$LOCALE" | tr '[:upper:]' '[:lower:]') +sed -i.bak -E "s/^lang:.*/lang:$locale_lower/" $SCRIPT_DIR/options.txt + +T PRESET_INSTALLED + +# --- ввод RAM с валидацией --- +echo; echo; +T SELECT_RAM +while true; do + read -rp "> " ram + + # проверка формата: число + G/g или M/m + if [[ "$ram" =~ ^[0-9]+[GgMm]$ ]]; then + T VALID_RAM + break + else + T INVALID_RAM + fi +done + +jq \ + --arg install_dir "$install_dir" \ + --arg game_version "$game_version" \ + --arg fabric_version "$fabric_version" \ + --arg now "$now" \ + --arg ram "$ram" \ + '.profiles["basicmods-" + $game_version] = { + "created": $now, + "gameDir" : $install_dir, + "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAANcmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDo3ODAxODgwOC0yY2E5LTQyMDItYmYwMy00Yjc0MTIxNmQ4NDAiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODQwYzk3MjEtZThiYi00YWFhLTkyNTAtMGY5NDFhNmFiMDU0IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NzJhNDcxMjEtMzA0Ny00ZmVlLWFhYzktZTJmM2M4MTE5Y2U1IgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjMuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNzU4MTE4ODIwNTExNDIzIgogICBHSU1QOlZlcnNpb249IjMuMC40IgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjU6MDk6MTdUMTg6MTk6MjIrMDQ6MDAiCiAgIHhtcDpNb2RpZnlEYXRlPSIyMDI1OjA5OjE3VDE4OjE5OjIyKzA0OjAwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzhmZDcxMTMtYTcxMi00ZWM3LWFhMWItYTFmZjBmN2U3NWJiIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHSU1QIDMuMC40IChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjUtMDktMTdUMTg6MjA6MjArMDQ6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+5hgy8gAAAAFzUkdCAdnJLH8AAAAEZ0FNQQAAsY8L/GEFAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAJcEhZcwAACxMAAAsTAQCanBgAAAPwSURBVFjD7ZZPbJRVFMV/902nLS2UlrYKbWc6JSAKCxNdYFhQqlsJiVEXEKLxTwwuCUuMRo3IQrewMaIBXXRlcKGJRiQsIEiMITYGhU47OKUw7fzptJ2Z7/veccEGgraFaV1xtvfe887LO/feBw9RB/zuWdXL4VaSvG6exYrrja/oDZZaZw8q7DUOyCOB2QmOPTBPw/0WvMrbcsBnu46Al4GDsybwnOD4fQuxpR98wIPs851HQYZiEYZRSDsURviYdGjssAnpC465ZRPwCm95gE/6jprFbj+rOTAJE8jMtyedy497vJcQdihzGI/Xlxx3dRlnL29osjenyUReueS0NFhUYeO0tKsgDeVVTOWlZ/OaSRVVTBWl54qa7p/Wzd4pTSRy2sfrfjFj3qXQnW61O5OEGJ0u8cjGGJ2pmAoZD5GjlIHimBHhKF01j4O2lKN8XXT0N9C9KU46V7jncu50qy1qwjuTHJ7Ah5w5/zebuzvUu7HZwChlIq1NxChkImtLxhzOmJkI8Xh+upCVIlnkhCeyf+NdchcIqPoaI8GIeua3u7ErAdfyZYa29xgS7QkDwcxkwIXRLN57JNkv0a/qIWFagscXEWBcCi5hOLsylWNzRxe1IOT7c2l2PN7L2MSsalFoYRgxG85z2V9mm9uqkMAyXMPQg+8CAI8n/+R7VLd/RJEyl/Jpzjz2AqubGrl8bYpVq8xulIt8O/ejRn0ah/G7H6HwxIdkUx8gvK9LgBHR1Ozo7HKMPfMm57fsl49H/DmfoRLWdCr7Hdd9FkP2R/IghjGeepd4Y4MfSLYi5O7rCe7sgNumMRLrm7k6VmXNakdyfSv9/S26EBywuT8+NU9NWTJ2a+BjTCiTese6O5utvTVuclqA9z8E3OtUITnaVjewriNOqRyaRaJjXSOjWw8SHzlok33va+tAu11Jl61rbSPeR4zfCOnZ0AR4LdQBi5owxLg5VeHRria8l781VXWxuJHY0KD+vkb7uXyE7o5mm7xVZVNfK8XZgOlioK62Jpuaqixpzi/iAU+pHFELxfjNits00EIUiIlczSJ51qxpIPSemdkqkUGhFNDZ1mhSRL4cEOGtLgHDnLSrv+3gr7FZeroaKeQDJnMVre+KUyiEICjNhYQSpZkqiQ0tzMzVyOYqlNNDDPO1Lcs2fJn9As/TOy/KzFl5LmLblhZ+OJcj2dtKoVBlPvIElYhielAixjAn3bKu49tC9sphemrwolUCT3kmpBpBqVylND6EwxjmlC3rf0C7K7LTzXflvcQ+L7y1p85SSA9iwDBf3ZWjPXPevmlx1AM9P7fgLH2RvQvGtaeycj/i/5vnIR5ixfAP5P8t5wY5ZUAAAAAASUVORK5CYII=", + "javaArgs" : "-Xmx" + $ram + " -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M", + "lastUsed": $now, + "lastVersionId": "fabric-loader-" + $fabric_version +"-" + $game_version, + "name": "basicmods-" + $game_version, + "type": "custom" + } + ' \ + ~/.minecraft/launcher_profiles.json > "$tmpfile" && mv "$tmpfile" ~/.minecraft/launcher_profiles.json + +echo; echo; +T DONE diff --git a/mods/Axiom-4.9.1-for-MC1.21.jar b/mods/Axiom-4.9.1-for-MC1.21.jar new file mode 100644 index 0000000..dfa90eb Binary files /dev/null and b/mods/Axiom-4.9.1-for-MC1.21.jar differ diff --git a/mods/BetterAdvancements-Fabric-1.21.1-0.4.3.21.jar b/mods/BetterAdvancements-Fabric-1.21.1-0.4.3.21.jar new file mode 100644 index 0000000..eb5338b Binary files /dev/null and b/mods/BetterAdvancements-Fabric-1.21.1-0.4.3.21.jar differ diff --git a/mods/BetterF3-11.0.3-Fabric-1.21.1.jar b/mods/BetterF3-11.0.3-Fabric-1.21.1.jar new file mode 100644 index 0000000..40507f7 Binary files /dev/null and b/mods/BetterF3-11.0.3-Fabric-1.21.1.jar differ diff --git a/mods/BetterThirdPerson-Fabric-1.21-1.9.0.jar b/mods/BetterThirdPerson-Fabric-1.21-1.9.0.jar new file mode 100644 index 0000000..5c803e4 Binary files /dev/null and b/mods/BetterThirdPerson-Fabric-1.21-1.9.0.jar differ diff --git a/mods/DistantHorizons-2.3.4-b-1.21.1-fabric-neoforge.jar b/mods/DistantHorizons-2.3.4-b-1.21.1-fabric-neoforge.jar new file mode 100644 index 0000000..b155b23 Binary files /dev/null and b/mods/DistantHorizons-2.3.4-b-1.21.1-fabric-neoforge.jar differ diff --git a/mods/SodiumTranslations.zip b/mods/SodiumTranslations.zip new file mode 100644 index 0000000..3d77755 Binary files /dev/null and b/mods/SodiumTranslations.zip differ diff --git a/mods/appleskin-fabric-mc1.21-3.0.6.jar b/mods/appleskin-fabric-mc1.21-3.0.6.jar new file mode 100644 index 0000000..b9dc30f Binary files /dev/null and b/mods/appleskin-fabric-mc1.21-3.0.6.jar differ diff --git a/mods/bettermounthud-1.2.4.jar b/mods/bettermounthud-1.2.4.jar new file mode 100644 index 0000000..84ac91c Binary files /dev/null and b/mods/bettermounthud-1.2.4.jar differ diff --git a/mods/chat_heads-0.13.20-fabric-1.21.jar b/mods/chat_heads-0.13.20-fabric-1.21.jar new file mode 100644 index 0000000..237ef49 Binary files /dev/null and b/mods/chat_heads-0.13.20-fabric-1.21.jar differ diff --git a/mods/cherishedworlds-fabric-10.1.1+1.21.1.jar b/mods/cherishedworlds-fabric-10.1.1+1.21.1.jar new file mode 100644 index 0000000..2bb26a8 Binary files /dev/null and b/mods/cherishedworlds-fabric-10.1.1+1.21.1.jar differ diff --git a/mods/citresewn-1.2.2+1.21.jar b/mods/citresewn-1.2.2+1.21.jar new file mode 100644 index 0000000..ef62752 Binary files /dev/null and b/mods/citresewn-1.2.2+1.21.jar differ diff --git a/mods/continuity-3.0.0+1.21.jar b/mods/continuity-3.0.0+1.21.jar new file mode 100644 index 0000000..e9c5339 Binary files /dev/null and b/mods/continuity-3.0.0+1.21.jar differ diff --git a/mods/controlify-2.4.1+1.21.1-fabric.jar b/mods/controlify-2.4.1+1.21.1-fabric.jar new file mode 100644 index 0000000..01f4da3 Binary files /dev/null and b/mods/controlify-2.4.1+1.21.1-fabric.jar differ diff --git a/mods/dynamic-fps-3.9.5+minecraft-1.21.0-fabric.jar b/mods/dynamic-fps-3.9.5+minecraft-1.21.0-fabric.jar new file mode 100644 index 0000000..d1f24a2 Binary files /dev/null and b/mods/dynamic-fps-3.9.5+minecraft-1.21.0-fabric.jar differ diff --git a/mods/eating-animation-1.21+1.9.72.jar b/mods/eating-animation-1.21+1.9.72.jar new file mode 100644 index 0000000..864a772 Binary files /dev/null and b/mods/eating-animation-1.21+1.9.72.jar differ diff --git a/mods/emotecraft-for-MC1.21.1-2.4.12-fabric.jar b/mods/emotecraft-for-MC1.21.1-2.4.12-fabric.jar new file mode 100644 index 0000000..830a387 Binary files /dev/null and b/mods/emotecraft-for-MC1.21.1-2.4.12-fabric.jar differ diff --git a/mods/entity_texture_features_1.21-fabric-7.0.2.jar b/mods/entity_texture_features_1.21-fabric-7.0.2.jar new file mode 100644 index 0000000..67d8c6d Binary files /dev/null and b/mods/entity_texture_features_1.21-fabric-7.0.2.jar differ diff --git a/mods/explosive-enhancement-1.3.2-1.21-1.21.1.jar b/mods/explosive-enhancement-1.3.2-1.21-1.21.1.jar new file mode 100644 index 0000000..2e36859 Binary files /dev/null and b/mods/explosive-enhancement-1.3.2-1.21-1.21.1.jar differ diff --git a/mods/fabric-api-0.116.6+1.21.1.jar b/mods/fabric-api-0.116.6+1.21.1.jar new file mode 100644 index 0000000..cad47ce Binary files /dev/null and b/mods/fabric-api-0.116.6+1.21.1.jar differ diff --git a/mods/fallingleaves-1.17.1+1.21.1.jar b/mods/fallingleaves-1.17.1+1.21.1.jar new file mode 100644 index 0000000..02ef462 Binary files /dev/null and b/mods/fallingleaves-1.17.1+1.21.1.jar differ diff --git a/mods/firstperson-fabric-2.5.0-mc1.21.jar b/mods/firstperson-fabric-2.5.0-mc1.21.jar new file mode 100644 index 0000000..09edfca Binary files /dev/null and b/mods/firstperson-fabric-2.5.0-mc1.21.jar differ diff --git a/mods/iris-fabric-1.8.8+mc1.21.1.jar b/mods/iris-fabric-1.8.8+mc1.21.1.jar new file mode 100644 index 0000000..f38f268 Binary files /dev/null and b/mods/iris-fabric-1.8.8+mc1.21.1.jar differ diff --git a/mods/lithium-fabric-0.15.0+mc1.21.1.jar b/mods/lithium-fabric-0.15.0+mc1.21.1.jar new file mode 100644 index 0000000..e160ff9 Binary files /dev/null and b/mods/lithium-fabric-0.15.0+mc1.21.1.jar differ diff --git a/mods/modmenu-11.0.3.jar b/mods/modmenu-11.0.3.jar new file mode 100644 index 0000000..fb2ce7b Binary files /dev/null and b/mods/modmenu-11.0.3.jar differ diff --git a/mods/notenoughanimations-fabric-1.10.2-mc1.21.jar b/mods/notenoughanimations-fabric-1.10.2-mc1.21.jar new file mode 100644 index 0000000..d3f39a0 Binary files /dev/null and b/mods/notenoughanimations-fabric-1.10.2-mc1.21.jar differ diff --git a/mods/plasmovoice-fabric-1.21-2.1.5.jar b/mods/plasmovoice-fabric-1.21-2.1.5.jar new file mode 100644 index 0000000..0a9ef4c Binary files /dev/null and b/mods/plasmovoice-fabric-1.21-2.1.5.jar differ diff --git a/mods/pv-addon-replaymod-1.21-2.1.1.jar b/mods/pv-addon-replaymod-1.21-2.1.1.jar new file mode 100644 index 0000000..395d873 Binary files /dev/null and b/mods/pv-addon-replaymod-1.21-2.1.1.jar differ diff --git a/mods/pv-addon-soundphysics-1.1.1.jar b/mods/pv-addon-soundphysics-1.1.1.jar new file mode 100644 index 0000000..1491eb7 Binary files /dev/null and b/mods/pv-addon-soundphysics-1.1.1.jar differ diff --git a/mods/reeses-sodium-options-fabric-1.8.3+mc1.21.4.jar b/mods/reeses-sodium-options-fabric-1.8.3+mc1.21.4.jar new file mode 100644 index 0000000..9122baa Binary files /dev/null and b/mods/reeses-sodium-options-fabric-1.8.3+mc1.21.4.jar differ diff --git a/mods/replaymod-1.21-2.6.23.jar b/mods/replaymod-1.21-2.6.23.jar new file mode 100644 index 0000000..234e8cd Binary files /dev/null and b/mods/replaymod-1.21-2.6.23.jar differ diff --git a/mods/shulkerboxtooltip-fabric-5.1.6+1.21.1.jar b/mods/shulkerboxtooltip-fabric-5.1.6+1.21.1.jar new file mode 100644 index 0000000..0483abb Binary files /dev/null and b/mods/shulkerboxtooltip-fabric-5.1.6+1.21.1.jar differ diff --git a/mods/skinlayers3d-fabric-1.9.0-mc1.21.jar b/mods/skinlayers3d-fabric-1.9.0-mc1.21.jar new file mode 100644 index 0000000..6372358 Binary files /dev/null and b/mods/skinlayers3d-fabric-1.9.0-mc1.21.jar differ diff --git a/mods/sodium-fabric-0.6.13+mc1.21.1.jar b/mods/sodium-fabric-0.6.13+mc1.21.1.jar new file mode 100644 index 0000000..1155b6e Binary files /dev/null and b/mods/sodium-fabric-0.6.13+mc1.21.1.jar differ diff --git a/mods/sound-physics-remastered-fabric-1.21.1-1.4.10.jar b/mods/sound-physics-remastered-fabric-1.21.1-1.4.10.jar new file mode 100644 index 0000000..0372f39 Binary files /dev/null and b/mods/sound-physics-remastered-fabric-1.21.1-1.4.10.jar differ diff --git a/mods/talkingheads-1.0.6+1.21.1.jar b/mods/talkingheads-1.0.6+1.21.1.jar new file mode 100644 index 0000000..719cd16 Binary files /dev/null and b/mods/talkingheads-1.0.6+1.21.1.jar differ diff --git a/mods/visuality-0.7.7+1.21.jar b/mods/visuality-0.7.7+1.21.jar new file mode 100644 index 0000000..6b840e9 Binary files /dev/null and b/mods/visuality-0.7.7+1.21.jar differ diff --git a/options.txt b/options.txt new file mode 100644 index 0000000..12ea556 --- /dev/null +++ b/options.txt @@ -0,0 +1,188 @@ +version:3955 +ao:true +biomeBlendRadius:2 +enableVsync:false +entityDistanceScaling:1.0 +entityShadows:true +forceUnicodeFont:false +japaneseGlyphVariants:false +fov:0.0 +fovEffectScale:1.0 +darknessEffectScale:1.0 +glintSpeed:0.5 +glintStrength:0.75 +prioritizeChunkUpdates:0 +fullscreen:false +gamma:0.0 +graphicsMode:1 +guiScale:3 +maxFps:120 +mipmapLevels:4 +narrator:0 +particles:0 +reducedDebugInfo:false +renderClouds:"false" +renderDistance:10 +simulationDistance:10 +screenEffectScale:1.0 +soundDevice:"" +autoJump:false +operatorItemsTab:false +autoSuggestions:true +chatColors:true +chatLinks:true +chatLinksPrompt:true +discrete_mouse_scroll:false +invertYMouse:false +realmsNotifications:true +showSubtitles:false +directionalAudio:false +touchscreen:false +bobView:true +toggleCrouch:false +toggleSprint:false +darkMojangStudiosBackground:false +hideLightningFlashes:false +hideSplashTexts:false +mouseSensitivity:0.5 +damageTiltStrength:1.0 +highContrast:false +narratorHotkey:true +resourcePacks:["file/Vanilla Mashup 1.4.1b.zip","vanilla","fabric","file/animated-items-1_21-1 - 1_4_2.zip","file/Fancy Crops v1.2.zip","file/EvenBetterEnchants_v2_r1.zip","minecraft:supporteatinganimation","file/ksepsp-9-0-3.zip"] +incompatibleResourcePacks:["appleskin","betteradvancements","cherishedworlds","entity_model_features","entity_texture_features","pv-addon-soundphysics","replaymod","yet_another_config_lib_v3","file/ksepsp-9-0-3.zip"] +lastServer: +lang:ru_ru +chatVisibility:0 +chatOpacity:1.0 +chatLineSpacing:0.0 +textBackgroundOpacity:0.5 +backgroundForChatOnly:true +hideServerAddress:false +advancedItemTooltips:true +pauseOnLostFocus:true +overrideWidth:0 +overrideHeight:0 +chatHeightFocused:1.0 +chatDelay:0.0 +chatHeightUnfocused:0.4375 +chatScale:1.0 +chatWidth:1.0 +notificationDisplayTime:1.0 +useNativeTransport:true +mainHand:"right" +attackIndicator:1 +tutorialStep:none +mouseWheelSensitivity:1.0 +rawMouseInput:true +glDebugVerbosity:1 +skipMultiplayerWarning:true +hideMatchedNames:true +joinedFirstServer:true +hideBundleTutorial:false +syncChunkWrites:false +showAutosaveIndicator:true +allowServerListing:true +onlyShowSecureChat:false +panoramaScrollSpeed:1.0 +telemetryOptInExtra:false +onboardAccessibility:false +menuBackgroundBlurriness:5 +key_key.attack:key.mouse.left +key_key.use:key.mouse.right +key_key.forward:key.keyboard.w +key_key.left:key.keyboard.a +key_key.back:key.keyboard.s +key_key.right:key.keyboard.d +key_key.jump:key.keyboard.space +key_key.sneak:key.keyboard.left.shift +key_key.sprint:key.keyboard.left.control +key_key.drop:key.keyboard.q +key_key.inventory:key.keyboard.e +key_key.chat:key.keyboard.t +key_key.playerlist:key.keyboard.tab +key_key.pickItem:key.mouse.middle +key_key.command:key.keyboard.slash +key_key.socialInteractions:key.keyboard.p +key_key.screenshot:key.keyboard.f2 +key_key.togglePerspective:key.keyboard.f5 +key_key.smoothCamera:key.keyboard.unknown +key_key.fullscreen:key.keyboard.f11 +key_key.spectatorOutlines:key.keyboard.unknown +key_key.swapOffhand:key.keyboard.f +key_key.saveToolbarActivator:key.keyboard.c +key_key.loadToolbarActivator:key.keyboard.x +key_key.advancements:key.keyboard.l +key_key.hotbar.1:key.keyboard.1 +key_key.hotbar.2:key.keyboard.2 +key_key.hotbar.3:key.keyboard.3 +key_key.hotbar.4:key.keyboard.4 +key_key.hotbar.5:key.keyboard.5 +key_key.hotbar.6:key.keyboard.6 +key_key.hotbar.7:key.keyboard.7 +key_key.hotbar.8:key.keyboard.8 +key_key.hotbar.9:key.keyboard.9 +key_key.dynamic_fps.toggle_forced:key.keyboard.unknown +key_key.dynamic_fps.toggle_disabled:key.keyboard.unknown +key_axiom.keybind.context:key.keyboard.left.alt +key_axiom.keybind.builder_tool_slot:key.keyboard.0 +key_axiom.keybind.orbit_camera:key.keyboard.unknown +key_axiom.keybind.jump_to_block:key.keyboard.unknown +key_axiom.keybind.toggle_editor_ui:key.keyboard.right.shift +key_axiom.keybind.toggle_no_clip_cap:key.keyboard.unknown +key_axiom.keybind.toggle_angel_placement_cap:key.keyboard.unknown +key_axiom.keybind.toggle_fast_place_cap:key.keyboard.unknown +key_axiom.keybind.toggle_infinite_reach_cap:key.keyboard.unknown +key_axiom.keybind.toggle_tinker_cap:key.keyboard.unknown +key_axiom.keybind.toggle_no_updates_cap:key.keyboard.unknown +key_axiom.keybind.toggle_force_place_cap:key.keyboard.unknown +key_axiom.keybind.toggle_replace_mode_cap:key.keyboard.r +key_axiom.keybind.toggle_bulldozer_cap:key.keyboard.unknown +key_axiom.keybind.nudge_with_scroll:key.keyboard.unknown +key_axiom.keybind.nudge_forwards:key.keyboard.unknown +key_axiom.keybind.nudge_backwards:key.keyboard.unknown +key_key.emotecraft.fastchoose:key.keyboard.b +key_key.emotecraft.stop:key.keyboard.unknown +key_key.firstperson.toggle:key.keyboard.f6 +key_key.modmenu.open_menu:key.keyboard.unknown +key_key.plasmovoice.settings:key.keyboard.v +key_key.replaymod.playeroverview:key.keyboard.b +key_key.replaymod.lighting:key.keyboard.z +key_key.replaymod.quickmode:key.keyboard.q +key_key.replaymod.settings:key.keyboard.unknown +key_key.replaymod.marker:key.keyboard.m +key_key.replaymod.thumbnail:key.keyboard.n +key_key.replaymod.playpause:key.keyboard.p +key_key.replaymod.rollclockwise:key.keyboard.l +key_key.replaymod.rollcounterclockwise:key.keyboard.j +key_key.replaymod.resettilt:key.keyboard.k +key_key.replaymod.pathpreview:key.keyboard.h +key_key.replaymod.keyframerepository:key.keyboard.x +key_key.replaymod.clearkeyframes:key.keyboard.c +key_key.replaymod.synctimeline:key.keyboard.v +key_key.replaymod.positionkeyframe:key.keyboard.i +key_key.replaymod.positiononlykeyframe:key.keyboard.unknown +key_key.replaymod.timekeyframe:key.keyboard.o +key_key.replaymod.bothkeyframes:key.keyboard.unknown +key_talkingheads.keybinding.modToggle:key.keyboard.h +key_talkingheads.keybinding.modSettings:key.keyboard.unknown +key_iris.keybind.reload:key.keyboard.r +key_iris.keybind.toggleShaders:key.keyboard.k +key_iris.keybind.shaderPackSelection:key.keyboard.o +key_iris.keybind.wireframe:key.keyboard.unknown +soundCategory_master:1.0 +soundCategory_music:0.02112676056338028 +soundCategory_record:1.0 +soundCategory_weather:1.0 +soundCategory_block:1.0 +soundCategory_hostile:1.0 +soundCategory_neutral:1.0 +soundCategory_player:1.0 +soundCategory_ambient:1.0 +soundCategory_voice:1.0 +modelPart_cape:true +modelPart_jacket:true +modelPart_left_sleeve:true +modelPart_right_sleeve:true +modelPart_left_pants_leg:true +modelPart_right_pants_leg:true +modelPart_hat:true diff --git a/presets/high/options.txt b/presets/high/options.txt new file mode 100644 index 0000000..12ea556 --- /dev/null +++ b/presets/high/options.txt @@ -0,0 +1,188 @@ +version:3955 +ao:true +biomeBlendRadius:2 +enableVsync:false +entityDistanceScaling:1.0 +entityShadows:true +forceUnicodeFont:false +japaneseGlyphVariants:false +fov:0.0 +fovEffectScale:1.0 +darknessEffectScale:1.0 +glintSpeed:0.5 +glintStrength:0.75 +prioritizeChunkUpdates:0 +fullscreen:false +gamma:0.0 +graphicsMode:1 +guiScale:3 +maxFps:120 +mipmapLevels:4 +narrator:0 +particles:0 +reducedDebugInfo:false +renderClouds:"false" +renderDistance:10 +simulationDistance:10 +screenEffectScale:1.0 +soundDevice:"" +autoJump:false +operatorItemsTab:false +autoSuggestions:true +chatColors:true +chatLinks:true +chatLinksPrompt:true +discrete_mouse_scroll:false +invertYMouse:false +realmsNotifications:true +showSubtitles:false +directionalAudio:false +touchscreen:false +bobView:true +toggleCrouch:false +toggleSprint:false +darkMojangStudiosBackground:false +hideLightningFlashes:false +hideSplashTexts:false +mouseSensitivity:0.5 +damageTiltStrength:1.0 +highContrast:false +narratorHotkey:true +resourcePacks:["file/Vanilla Mashup 1.4.1b.zip","vanilla","fabric","file/animated-items-1_21-1 - 1_4_2.zip","file/Fancy Crops v1.2.zip","file/EvenBetterEnchants_v2_r1.zip","minecraft:supporteatinganimation","file/ksepsp-9-0-3.zip"] +incompatibleResourcePacks:["appleskin","betteradvancements","cherishedworlds","entity_model_features","entity_texture_features","pv-addon-soundphysics","replaymod","yet_another_config_lib_v3","file/ksepsp-9-0-3.zip"] +lastServer: +lang:ru_ru +chatVisibility:0 +chatOpacity:1.0 +chatLineSpacing:0.0 +textBackgroundOpacity:0.5 +backgroundForChatOnly:true +hideServerAddress:false +advancedItemTooltips:true +pauseOnLostFocus:true +overrideWidth:0 +overrideHeight:0 +chatHeightFocused:1.0 +chatDelay:0.0 +chatHeightUnfocused:0.4375 +chatScale:1.0 +chatWidth:1.0 +notificationDisplayTime:1.0 +useNativeTransport:true +mainHand:"right" +attackIndicator:1 +tutorialStep:none +mouseWheelSensitivity:1.0 +rawMouseInput:true +glDebugVerbosity:1 +skipMultiplayerWarning:true +hideMatchedNames:true +joinedFirstServer:true +hideBundleTutorial:false +syncChunkWrites:false +showAutosaveIndicator:true +allowServerListing:true +onlyShowSecureChat:false +panoramaScrollSpeed:1.0 +telemetryOptInExtra:false +onboardAccessibility:false +menuBackgroundBlurriness:5 +key_key.attack:key.mouse.left +key_key.use:key.mouse.right +key_key.forward:key.keyboard.w +key_key.left:key.keyboard.a +key_key.back:key.keyboard.s +key_key.right:key.keyboard.d +key_key.jump:key.keyboard.space +key_key.sneak:key.keyboard.left.shift +key_key.sprint:key.keyboard.left.control +key_key.drop:key.keyboard.q +key_key.inventory:key.keyboard.e +key_key.chat:key.keyboard.t +key_key.playerlist:key.keyboard.tab +key_key.pickItem:key.mouse.middle +key_key.command:key.keyboard.slash +key_key.socialInteractions:key.keyboard.p +key_key.screenshot:key.keyboard.f2 +key_key.togglePerspective:key.keyboard.f5 +key_key.smoothCamera:key.keyboard.unknown +key_key.fullscreen:key.keyboard.f11 +key_key.spectatorOutlines:key.keyboard.unknown +key_key.swapOffhand:key.keyboard.f +key_key.saveToolbarActivator:key.keyboard.c +key_key.loadToolbarActivator:key.keyboard.x +key_key.advancements:key.keyboard.l +key_key.hotbar.1:key.keyboard.1 +key_key.hotbar.2:key.keyboard.2 +key_key.hotbar.3:key.keyboard.3 +key_key.hotbar.4:key.keyboard.4 +key_key.hotbar.5:key.keyboard.5 +key_key.hotbar.6:key.keyboard.6 +key_key.hotbar.7:key.keyboard.7 +key_key.hotbar.8:key.keyboard.8 +key_key.hotbar.9:key.keyboard.9 +key_key.dynamic_fps.toggle_forced:key.keyboard.unknown +key_key.dynamic_fps.toggle_disabled:key.keyboard.unknown +key_axiom.keybind.context:key.keyboard.left.alt +key_axiom.keybind.builder_tool_slot:key.keyboard.0 +key_axiom.keybind.orbit_camera:key.keyboard.unknown +key_axiom.keybind.jump_to_block:key.keyboard.unknown +key_axiom.keybind.toggle_editor_ui:key.keyboard.right.shift +key_axiom.keybind.toggle_no_clip_cap:key.keyboard.unknown +key_axiom.keybind.toggle_angel_placement_cap:key.keyboard.unknown +key_axiom.keybind.toggle_fast_place_cap:key.keyboard.unknown +key_axiom.keybind.toggle_infinite_reach_cap:key.keyboard.unknown +key_axiom.keybind.toggle_tinker_cap:key.keyboard.unknown +key_axiom.keybind.toggle_no_updates_cap:key.keyboard.unknown +key_axiom.keybind.toggle_force_place_cap:key.keyboard.unknown +key_axiom.keybind.toggle_replace_mode_cap:key.keyboard.r +key_axiom.keybind.toggle_bulldozer_cap:key.keyboard.unknown +key_axiom.keybind.nudge_with_scroll:key.keyboard.unknown +key_axiom.keybind.nudge_forwards:key.keyboard.unknown +key_axiom.keybind.nudge_backwards:key.keyboard.unknown +key_key.emotecraft.fastchoose:key.keyboard.b +key_key.emotecraft.stop:key.keyboard.unknown +key_key.firstperson.toggle:key.keyboard.f6 +key_key.modmenu.open_menu:key.keyboard.unknown +key_key.plasmovoice.settings:key.keyboard.v +key_key.replaymod.playeroverview:key.keyboard.b +key_key.replaymod.lighting:key.keyboard.z +key_key.replaymod.quickmode:key.keyboard.q +key_key.replaymod.settings:key.keyboard.unknown +key_key.replaymod.marker:key.keyboard.m +key_key.replaymod.thumbnail:key.keyboard.n +key_key.replaymod.playpause:key.keyboard.p +key_key.replaymod.rollclockwise:key.keyboard.l +key_key.replaymod.rollcounterclockwise:key.keyboard.j +key_key.replaymod.resettilt:key.keyboard.k +key_key.replaymod.pathpreview:key.keyboard.h +key_key.replaymod.keyframerepository:key.keyboard.x +key_key.replaymod.clearkeyframes:key.keyboard.c +key_key.replaymod.synctimeline:key.keyboard.v +key_key.replaymod.positionkeyframe:key.keyboard.i +key_key.replaymod.positiononlykeyframe:key.keyboard.unknown +key_key.replaymod.timekeyframe:key.keyboard.o +key_key.replaymod.bothkeyframes:key.keyboard.unknown +key_talkingheads.keybinding.modToggle:key.keyboard.h +key_talkingheads.keybinding.modSettings:key.keyboard.unknown +key_iris.keybind.reload:key.keyboard.r +key_iris.keybind.toggleShaders:key.keyboard.k +key_iris.keybind.shaderPackSelection:key.keyboard.o +key_iris.keybind.wireframe:key.keyboard.unknown +soundCategory_master:1.0 +soundCategory_music:0.02112676056338028 +soundCategory_record:1.0 +soundCategory_weather:1.0 +soundCategory_block:1.0 +soundCategory_hostile:1.0 +soundCategory_neutral:1.0 +soundCategory_player:1.0 +soundCategory_ambient:1.0 +soundCategory_voice:1.0 +modelPart_cape:true +modelPart_jacket:true +modelPart_left_sleeve:true +modelPart_right_sleeve:true +modelPart_left_pants_leg:true +modelPart_right_pants_leg:true +modelPart_hat:true diff --git a/presets/medium/options.txt b/presets/medium/options.txt new file mode 100644 index 0000000..32fbfbb --- /dev/null +++ b/presets/medium/options.txt @@ -0,0 +1,188 @@ +version:3955 +ao:true +biomeBlendRadius:2 +enableVsync:false +entityDistanceScaling:1.0 +entityShadows:true +forceUnicodeFont:false +japaneseGlyphVariants:false +fov:0.0 +fovEffectScale:1.0 +darknessEffectScale:1.0 +glintSpeed:0.5 +glintStrength:0.75 +prioritizeChunkUpdates:0 +fullscreen:false +gamma:0.0 +graphicsMode:1 +guiScale:3 +maxFps:120 +mipmapLevels:4 +narrator:0 +particles:0 +reducedDebugInfo:false +renderClouds:"false" +renderDistance:10 +simulationDistance:10 +screenEffectScale:1.0 +soundDevice:"" +autoJump:false +operatorItemsTab:false +autoSuggestions:true +chatColors:true +chatLinks:true +chatLinksPrompt:true +discrete_mouse_scroll:false +invertYMouse:false +realmsNotifications:true +showSubtitles:false +directionalAudio:false +touchscreen:false +bobView:true +toggleCrouch:false +toggleSprint:false +darkMojangStudiosBackground:false +hideLightningFlashes:false +hideSplashTexts:false +mouseSensitivity:0.5 +damageTiltStrength:1.0 +highContrast:false +narratorHotkey:true +resourcePacks:["vanilla","fabric","file/animated-items-1_21-1 - 1_4_2.zip","file/Fancy Crops v1.2.zip","file/EvenBetterEnchants_v2_r1.zip","minecraft:supporteatinganimation","file/ksepsp-9-0-3.zip"] +incompatibleResourcePacks:["appleskin","betteradvancements","cherishedworlds","entity_model_features","entity_texture_features","pv-addon-soundphysics","replaymod","yet_another_config_lib_v3","file/ksepsp-9-0-3.zip"] +lastServer: +lang:ru_ru +chatVisibility:0 +chatOpacity:1.0 +chatLineSpacing:0.0 +textBackgroundOpacity:0.5 +backgroundForChatOnly:true +hideServerAddress:false +advancedItemTooltips:true +pauseOnLostFocus:true +overrideWidth:0 +overrideHeight:0 +chatHeightFocused:1.0 +chatDelay:0.0 +chatHeightUnfocused:0.4375 +chatScale:1.0 +chatWidth:1.0 +notificationDisplayTime:1.0 +useNativeTransport:true +mainHand:"right" +attackIndicator:1 +tutorialStep:none +mouseWheelSensitivity:1.0 +rawMouseInput:true +glDebugVerbosity:1 +skipMultiplayerWarning:true +hideMatchedNames:true +joinedFirstServer:true +hideBundleTutorial:false +syncChunkWrites:false +showAutosaveIndicator:true +allowServerListing:true +onlyShowSecureChat:false +panoramaScrollSpeed:1.0 +telemetryOptInExtra:false +onboardAccessibility:false +menuBackgroundBlurriness:5 +key_key.attack:key.mouse.left +key_key.use:key.mouse.right +key_key.forward:key.keyboard.w +key_key.left:key.keyboard.a +key_key.back:key.keyboard.s +key_key.right:key.keyboard.d +key_key.jump:key.keyboard.space +key_key.sneak:key.keyboard.left.shift +key_key.sprint:key.keyboard.left.control +key_key.drop:key.keyboard.q +key_key.inventory:key.keyboard.e +key_key.chat:key.keyboard.t +key_key.playerlist:key.keyboard.tab +key_key.pickItem:key.mouse.middle +key_key.command:key.keyboard.slash +key_key.socialInteractions:key.keyboard.p +key_key.screenshot:key.keyboard.f2 +key_key.togglePerspective:key.keyboard.f5 +key_key.smoothCamera:key.keyboard.unknown +key_key.fullscreen:key.keyboard.f11 +key_key.spectatorOutlines:key.keyboard.unknown +key_key.swapOffhand:key.keyboard.f +key_key.saveToolbarActivator:key.keyboard.c +key_key.loadToolbarActivator:key.keyboard.x +key_key.advancements:key.keyboard.l +key_key.hotbar.1:key.keyboard.1 +key_key.hotbar.2:key.keyboard.2 +key_key.hotbar.3:key.keyboard.3 +key_key.hotbar.4:key.keyboard.4 +key_key.hotbar.5:key.keyboard.5 +key_key.hotbar.6:key.keyboard.6 +key_key.hotbar.7:key.keyboard.7 +key_key.hotbar.8:key.keyboard.8 +key_key.hotbar.9:key.keyboard.9 +key_key.dynamic_fps.toggle_forced:key.keyboard.unknown +key_key.dynamic_fps.toggle_disabled:key.keyboard.unknown +key_axiom.keybind.context:key.keyboard.left.alt +key_axiom.keybind.builder_tool_slot:key.keyboard.0 +key_axiom.keybind.orbit_camera:key.keyboard.unknown +key_axiom.keybind.jump_to_block:key.keyboard.unknown +key_axiom.keybind.toggle_editor_ui:key.keyboard.right.shift +key_axiom.keybind.toggle_no_clip_cap:key.keyboard.unknown +key_axiom.keybind.toggle_angel_placement_cap:key.keyboard.unknown +key_axiom.keybind.toggle_fast_place_cap:key.keyboard.unknown +key_axiom.keybind.toggle_infinite_reach_cap:key.keyboard.unknown +key_axiom.keybind.toggle_tinker_cap:key.keyboard.unknown +key_axiom.keybind.toggle_no_updates_cap:key.keyboard.unknown +key_axiom.keybind.toggle_force_place_cap:key.keyboard.unknown +key_axiom.keybind.toggle_replace_mode_cap:key.keyboard.r +key_axiom.keybind.toggle_bulldozer_cap:key.keyboard.unknown +key_axiom.keybind.nudge_with_scroll:key.keyboard.unknown +key_axiom.keybind.nudge_forwards:key.keyboard.unknown +key_axiom.keybind.nudge_backwards:key.keyboard.unknown +key_key.emotecraft.fastchoose:key.keyboard.b +key_key.emotecraft.stop:key.keyboard.unknown +key_key.firstperson.toggle:key.keyboard.f6 +key_key.modmenu.open_menu:key.keyboard.unknown +key_key.plasmovoice.settings:key.keyboard.v +key_key.replaymod.playeroverview:key.keyboard.b +key_key.replaymod.lighting:key.keyboard.z +key_key.replaymod.quickmode:key.keyboard.q +key_key.replaymod.settings:key.keyboard.unknown +key_key.replaymod.marker:key.keyboard.m +key_key.replaymod.thumbnail:key.keyboard.n +key_key.replaymod.playpause:key.keyboard.p +key_key.replaymod.rollclockwise:key.keyboard.l +key_key.replaymod.rollcounterclockwise:key.keyboard.j +key_key.replaymod.resettilt:key.keyboard.k +key_key.replaymod.pathpreview:key.keyboard.h +key_key.replaymod.keyframerepository:key.keyboard.x +key_key.replaymod.clearkeyframes:key.keyboard.c +key_key.replaymod.synctimeline:key.keyboard.v +key_key.replaymod.positionkeyframe:key.keyboard.i +key_key.replaymod.positiononlykeyframe:key.keyboard.unknown +key_key.replaymod.timekeyframe:key.keyboard.o +key_key.replaymod.bothkeyframes:key.keyboard.unknown +key_talkingheads.keybinding.modToggle:key.keyboard.h +key_talkingheads.keybinding.modSettings:key.keyboard.unknown +key_iris.keybind.reload:key.keyboard.r +key_iris.keybind.toggleShaders:key.keyboard.k +key_iris.keybind.shaderPackSelection:key.keyboard.o +key_iris.keybind.wireframe:key.keyboard.unknown +soundCategory_master:1.0 +soundCategory_music:0.02112676056338028 +soundCategory_record:1.0 +soundCategory_weather:1.0 +soundCategory_block:1.0 +soundCategory_hostile:1.0 +soundCategory_neutral:1.0 +soundCategory_player:1.0 +soundCategory_ambient:1.0 +soundCategory_voice:1.0 +modelPart_cape:true +modelPart_jacket:true +modelPart_left_sleeve:true +modelPart_right_sleeve:true +modelPart_left_pants_leg:true +modelPart_right_pants_leg:true +modelPart_hat:true diff --git a/presets/minimal/options.txt b/presets/minimal/options.txt new file mode 100644 index 0000000..93e3df8 --- /dev/null +++ b/presets/minimal/options.txt @@ -0,0 +1,188 @@ +version:3955 +ao:true +biomeBlendRadius:2 +enableVsync:false +entityDistanceScaling:1.0 +entityShadows:true +forceUnicodeFont:false +japaneseGlyphVariants:false +fov:0.0 +fovEffectScale:1.0 +darknessEffectScale:1.0 +glintSpeed:0.5 +glintStrength:0.75 +prioritizeChunkUpdates:0 +fullscreen:false +gamma:0.0 +graphicsMode:1 +guiScale:3 +maxFps:120 +mipmapLevels:4 +narrator:0 +particles:0 +reducedDebugInfo:false +renderClouds:"false" +renderDistance:4 +simulationDistance:10 +screenEffectScale:1.0 +soundDevice:"" +autoJump:false +operatorItemsTab:false +autoSuggestions:true +chatColors:true +chatLinks:true +chatLinksPrompt:true +discrete_mouse_scroll:false +invertYMouse:false +realmsNotifications:true +showSubtitles:false +directionalAudio:false +touchscreen:false +bobView:true +toggleCrouch:false +toggleSprint:false +darkMojangStudiosBackground:false +hideLightningFlashes:false +hideSplashTexts:false +mouseSensitivity:0.5 +damageTiltStrength:1.0 +highContrast:false +narratorHotkey:true +resourcePacks:["vanilla","fabric","file/animated-items-1_21-1 - 1_4_2.zip","file/Fancy Crops v1.2.zip","file/EvenBetterEnchants_v2_r1.zip","minecraft:supporteatinganimation","file/ksepsp-9-0-3.zip"] +incompatibleResourcePacks:["appleskin","betteradvancements","cherishedworlds","entity_model_features","entity_texture_features","pv-addon-soundphysics","replaymod","yet_another_config_lib_v3","file/ksepsp-9-0-3.zip"] +lastServer: +lang:ru_ru +chatVisibility:0 +chatOpacity:1.0 +chatLineSpacing:0.0 +textBackgroundOpacity:0.5 +backgroundForChatOnly:true +hideServerAddress:false +advancedItemTooltips:true +pauseOnLostFocus:true +overrideWidth:0 +overrideHeight:0 +chatHeightFocused:1.0 +chatDelay:0.0 +chatHeightUnfocused:0.4375 +chatScale:1.0 +chatWidth:1.0 +notificationDisplayTime:1.0 +useNativeTransport:true +mainHand:"right" +attackIndicator:1 +tutorialStep:none +mouseWheelSensitivity:1.0 +rawMouseInput:true +glDebugVerbosity:1 +skipMultiplayerWarning:true +hideMatchedNames:true +joinedFirstServer:true +hideBundleTutorial:false +syncChunkWrites:false +showAutosaveIndicator:true +allowServerListing:true +onlyShowSecureChat:false +panoramaScrollSpeed:1.0 +telemetryOptInExtra:false +onboardAccessibility:false +menuBackgroundBlurriness:5 +key_key.attack:key.mouse.left +key_key.use:key.mouse.right +key_key.forward:key.keyboard.w +key_key.left:key.keyboard.a +key_key.back:key.keyboard.s +key_key.right:key.keyboard.d +key_key.jump:key.keyboard.space +key_key.sneak:key.keyboard.left.shift +key_key.sprint:key.keyboard.left.control +key_key.drop:key.keyboard.q +key_key.inventory:key.keyboard.e +key_key.chat:key.keyboard.t +key_key.playerlist:key.keyboard.tab +key_key.pickItem:key.mouse.middle +key_key.command:key.keyboard.slash +key_key.socialInteractions:key.keyboard.p +key_key.screenshot:key.keyboard.f2 +key_key.togglePerspective:key.keyboard.f5 +key_key.smoothCamera:key.keyboard.unknown +key_key.fullscreen:key.keyboard.f11 +key_key.spectatorOutlines:key.keyboard.unknown +key_key.swapOffhand:key.keyboard.f +key_key.saveToolbarActivator:key.keyboard.c +key_key.loadToolbarActivator:key.keyboard.x +key_key.advancements:key.keyboard.l +key_key.hotbar.1:key.keyboard.1 +key_key.hotbar.2:key.keyboard.2 +key_key.hotbar.3:key.keyboard.3 +key_key.hotbar.4:key.keyboard.4 +key_key.hotbar.5:key.keyboard.5 +key_key.hotbar.6:key.keyboard.6 +key_key.hotbar.7:key.keyboard.7 +key_key.hotbar.8:key.keyboard.8 +key_key.hotbar.9:key.keyboard.9 +key_key.dynamic_fps.toggle_forced:key.keyboard.unknown +key_key.dynamic_fps.toggle_disabled:key.keyboard.unknown +key_axiom.keybind.context:key.keyboard.left.alt +key_axiom.keybind.builder_tool_slot:key.keyboard.0 +key_axiom.keybind.orbit_camera:key.keyboard.unknown +key_axiom.keybind.jump_to_block:key.keyboard.unknown +key_axiom.keybind.toggle_editor_ui:key.keyboard.right.shift +key_axiom.keybind.toggle_no_clip_cap:key.keyboard.unknown +key_axiom.keybind.toggle_angel_placement_cap:key.keyboard.unknown +key_axiom.keybind.toggle_fast_place_cap:key.keyboard.unknown +key_axiom.keybind.toggle_infinite_reach_cap:key.keyboard.unknown +key_axiom.keybind.toggle_tinker_cap:key.keyboard.unknown +key_axiom.keybind.toggle_no_updates_cap:key.keyboard.unknown +key_axiom.keybind.toggle_force_place_cap:key.keyboard.unknown +key_axiom.keybind.toggle_replace_mode_cap:key.keyboard.r +key_axiom.keybind.toggle_bulldozer_cap:key.keyboard.unknown +key_axiom.keybind.nudge_with_scroll:key.keyboard.unknown +key_axiom.keybind.nudge_forwards:key.keyboard.unknown +key_axiom.keybind.nudge_backwards:key.keyboard.unknown +key_key.emotecraft.fastchoose:key.keyboard.b +key_key.emotecraft.stop:key.keyboard.unknown +key_key.firstperson.toggle:key.keyboard.f6 +key_key.modmenu.open_menu:key.keyboard.unknown +key_key.plasmovoice.settings:key.keyboard.v +key_key.replaymod.playeroverview:key.keyboard.b +key_key.replaymod.lighting:key.keyboard.z +key_key.replaymod.quickmode:key.keyboard.q +key_key.replaymod.settings:key.keyboard.unknown +key_key.replaymod.marker:key.keyboard.m +key_key.replaymod.thumbnail:key.keyboard.n +key_key.replaymod.playpause:key.keyboard.p +key_key.replaymod.rollclockwise:key.keyboard.l +key_key.replaymod.rollcounterclockwise:key.keyboard.j +key_key.replaymod.resettilt:key.keyboard.k +key_key.replaymod.pathpreview:key.keyboard.h +key_key.replaymod.keyframerepository:key.keyboard.x +key_key.replaymod.clearkeyframes:key.keyboard.c +key_key.replaymod.synctimeline:key.keyboard.v +key_key.replaymod.positionkeyframe:key.keyboard.i +key_key.replaymod.positiononlykeyframe:key.keyboard.unknown +key_key.replaymod.timekeyframe:key.keyboard.o +key_key.replaymod.bothkeyframes:key.keyboard.unknown +key_talkingheads.keybinding.modToggle:key.keyboard.h +key_talkingheads.keybinding.modSettings:key.keyboard.unknown +key_iris.keybind.reload:key.keyboard.r +key_iris.keybind.toggleShaders:key.keyboard.k +key_iris.keybind.shaderPackSelection:key.keyboard.o +key_iris.keybind.wireframe:key.keyboard.unknown +soundCategory_master:1.0 +soundCategory_music:0.02112676056338028 +soundCategory_record:1.0 +soundCategory_weather:1.0 +soundCategory_block:1.0 +soundCategory_hostile:1.0 +soundCategory_neutral:1.0 +soundCategory_player:1.0 +soundCategory_ambient:1.0 +soundCategory_voice:1.0 +modelPart_cape:true +modelPart_jacket:true +modelPart_left_sleeve:true +modelPart_right_sleeve:true +modelPart_left_pants_leg:true +modelPart_right_pants_leg:true +modelPart_hat:true diff --git a/resourcepacks/EvenBetterEnchants_v2_r1.zip b/resourcepacks/EvenBetterEnchants_v2_r1.zip new file mode 100644 index 0000000..ed4f9f6 Binary files /dev/null and b/resourcepacks/EvenBetterEnchants_v2_r1.zip differ diff --git a/resourcepacks/Fancy Crops v1.2.zip b/resourcepacks/Fancy Crops v1.2.zip new file mode 100644 index 0000000..ea89385 Binary files /dev/null and b/resourcepacks/Fancy Crops v1.2.zip differ diff --git a/resourcepacks/Vanilla Mashup 1.4.1b.zip b/resourcepacks/Vanilla Mashup 1.4.1b.zip new file mode 100644 index 0000000..789c59c Binary files /dev/null and b/resourcepacks/Vanilla Mashup 1.4.1b.zip differ diff --git a/resourcepacks/animated-items-1_21-1 - 1_4_2.zip b/resourcepacks/animated-items-1_21-1 - 1_4_2.zip new file mode 100644 index 0000000..7f1451a Binary files /dev/null and b/resourcepacks/animated-items-1_21-1 - 1_4_2.zip differ diff --git a/resourcepacks/ksepsp-9-0-3-cut.zip b/resourcepacks/ksepsp-9-0-3-cut.zip new file mode 100644 index 0000000..6d45522 Binary files /dev/null and b/resourcepacks/ksepsp-9-0-3-cut.zip differ diff --git a/resourcepacks/ksepsp-9-0-3.zip b/resourcepacks/ksepsp-9-0-3.zip new file mode 100644 index 0000000..5c7911d Binary files /dev/null and b/resourcepacks/ksepsp-9-0-3.zip differ diff --git a/servers.dat b/servers.dat new file mode 100644 index 0000000..238fa46 Binary files /dev/null and b/servers.dat differ