Skip to content

Configuration File

QPCrummer edited this page Jul 9, 2024 · 22 revisions

Configuration for the Potatoptimize

You can override the default config via the potatoptimize.properties file found in the config folder

// At the moment you cannot disable an entire package. This will be implemented eventually!
mixin.memory = false

// You must disable a specific optimization like this:
mixin.memory.memory_reserve = false

Configuration layout:

mixin.<parent_directory> - description

  • mixin.<parent_directory>.<optimization> (enabled by default) - description
    • Added: version; Removed: version

A list of configurations:


mixin.block_entity - A collection of tweaks related to block entities

  • mixin.block_entity.chest_chunk_loading (true) - Prevents double chests from loading chunks
    • Added: mc1.20.4-dev.1
  • mixin.block_entity.sign_ticking (true) - Prevents ticking signs as it is useless
    • Added: mc1.20.4-dev.1

mixin.entity - A collection of tweaks relating to entities

  • mixin.entity.armor_stand (true) - Skips underwater breathing calculations
  • mixin.entity.bat (true) - Skips checking light levels if the pre-spawn attempt fails
    • Added: mc1.20.4-dev.1
  • mixin.entity.bee (true) - Prevents bees from loading chunks at their hive (WIP)
    • Added: mc1.20.4-dev.1
  • mixin.entity.collisions (true) - Optimizes large entity collisions in portals by removing very tedious checks (pre 1.20 behavior)
    • Added: mc1.20.4-dev.1
  • mixin.entity.fall_damage (true) - Skips fall damage checks if the entity doesn't take fall damage
    • Added: mc1.20.4-dev.1
  • mixin.entity.halloween (true) - Instead of checking for Halloween every spawn attempt, the check is put on a timer
    • Added: mc1.20.4-dev.1
  • mixin.entity.item_merging (true) - Improves the item merging code
    • Added: mc1.20.4-dev.1; Removed:
  • mixin.entity.navigation (true) - Stop checking for blocks to pathfind to if riding a non-controllable entity
    • Added: mc1.20.4-dev.1
  • mixin.entity.pathfinding (true) - Stops pathfinding from spamming errors and stalling the server
    • Added: mc1.20.4-dev.1
  • mixin.entity.spawning (true) - Removes useless distance checks and removes checking for nether fortresses if not in the nether
    • Added: mc1.20.4-dev.1
  • mixin.entity.speed (true) - TODO
    • Added: mc1.20.4-dev.1
  • mixin.entity.statistics (true) - Tracks time-based statistics at an interval rather than every tick
    • Added: mc1.20.4-dev.1
  • mixin.entity.suffocation (true) - TODO
    • Added: mc1.20.4-dev.1
  • mixin.entity.teleport (true) - TODO
    • Added: mc1.20.4-dev.1
  • mixin.entity.ticking (true) - Removes ticking stingers and arrows in mobs that cannot have these projectiles in them
    • Added: mc1.20.4-dev.1
  • mixin.entity.villager (true) - Prevents villagers from loading chunks at their beds
    • Added: mc1.20.4-dev.1
  • mixin.entity.villager_task (true) - Merges all villager tasks and limits how long they can take

mixin.fastmath - A collection of tweaks that makes certain math less precise, but faster

  • mixin.fastmath.general (true) - Faster implementations of methods in MathHelper
    • Added: mc1.21-0.0.1-dev.3
  • mixin.fastmath.intrinsic (true) - Uses intrinsic when possible
    • Added: mc1.20.4-dev.1
  • mixin.fastmath.joml (true) - Enables JOML fast-math
    • Added: mc1.20.4-dev.1
  • mixin.fastmath.rounding (true) - Enables an almost exact rounding alternative that is 1.1x faster
    • Added: mc1.20.4-dev.1
  • mixin.fastmath.vec (true) - Rewrites parts of vectors to make them slightly quicker
    • Added: mc1.21-0.0.1-dev.3

mixin.feature - A collection of features provided by the mod that can help reduce lag in specific use cases

  • mixin.feature.interaction_limiter (false) - Cancels player interactions if they are being sent to quickly
    • Added: mc1.21-0.0.1-dev.3

mixin.item - A collection of tweaks that optimize different aspects of items

  • mixin.item.map_chunk_loading (true) - Prevents maps from loading unloaded chunks to update colors
    • Added: mc1.20.4-dev.1
  • mixin.item.treasure_map_lookup (true) - Optimizes the treasure map locator
    • Added: mc1.20.4-dev.1

mixin.logic - A collection of tweaks that optimize core logic in Minecraft

  • mixin.logic.chunk_query (true) - Allows getting WorldChunks only if they are loaded
    • Added: mc1.20.4-dev.1
  • mixin.logic.data_bits (true) - Optimizes signed integers in PackedIntArrays
    • Added: mc1.20.4-dev.1
  • mixin.logic.fast_bits_blockpos (true) - Inlines many variables and reduces computational load
    • Added: mc1.20.4-dev.1
  • mixin.logic.fast_rotations (true) - Skips a ton of checks that would never be possible anyways
    • Added: mc1.20.4-dev.1
  • mixin.logic.json (true) - TODO
    • Added: mc1.20.4-dev.1
  • mixin.logic.main_thread (true) - Tweaks resource values and Thread type to improve performance
    • Added: mc1.20.4-dev.1
  • mixin.logic.recipe_manager (true) - Makes Recipe Manager use an Array
  • mixin.logic.reduce_ray_casting (true) - Skips ray casting if the block is air
    • Added: mc1.20.4-dev.1
  • mixin.logic.shape (true) - Optimizes the Voxel shape
    • Added: mc1.20.4-dev.1
  • mixin.logic.var_int (true) - Sets a specific size of VarInts
    • Added: mc1.20.4-dev.1
  • mixin.logic.worker_thread (true) - Replaces worker threads with a more optimized variant
    • Added: mc1.20.4-dev.1

mixin.memory - A collection of tweaks relating to ram usage

  • mixin.memory.map_dedupe (true) - Reduces advancement class allocations
    • Added: mc1.20.4-dev.1
  • mixin.memory.memory_reserve (false) - Removes the MemoryReserve. This sacrifices stability for lower ram usage
    • Added: mc1.20.4-dev.1

    WARNING: Enabling this optimization may lead to crashes if not enough ram is dedicated on startup with -Xms

  • mixin.memory.reduce_alloc (true) - Reduces generic object allocations
    • Added: mc1.20.4-dev.1

mixin.networking - A collection of tweaks related to Minecraft's networking

  • mixin.networking.block_breaking (true) - TODO
    • Added: mc1.20.4-dev.1

mixin.random - A collection of tweaks relating to random number generation

  • mixin.random.creation (true) - TODO
    • Added: mc1.20.4-dev.1
  • mixin.random.entity (true) - Replaces all references of Random in Entity with my implementation
    • Added: mc1.20.4-dev.1; Removed: mc1.21-0.0.1-dev.4
  • mixin.random.generators (true) - Replaces many RNGs with my implementation of ThreadLocalRandom
    • Added: mc1.20.4-dev.1
  • mixin.random.math (true) - Replaces all references of Random in MathHelper with my implementation
    • Added: mc1.20.4-dev.1
  • mixin.random.slime (true) - Moves slime chunk randomness to the WorldChunk class to reduce calculations
    • Added: mc1.21-0.0.1-dev.5
  • mixin.random.unsafe (false) - Enables Unsafe seed setting on ThreadLocalRandom to enable vanilla parity
    • Added: mc1.20.4-dev.1

    WARNING: Enabling this can potentially cause serious issues, crashes, and/or severely hurt performance

  • mixin.random.world (true) - Replaces all references of Random in World with my implementation
    • Added: mc1.20.4-dev.1

mixin.remove - A collection of feature removals that deviate from vanilla

  • mixin.remove.profiler (false) - Removes the default JFR and vanilla profiler. This can be enabled if you use an external JFR profiler or Spark
    • Added: mc1.20.4-dev.1

mixin.startup - A collection of tweaks relating to startup times

  • mixin.startup.dfu (true) - Slightly optimizes the startup time for the DFU; Credit: astei
    • Added: mc1.20.4-dev.1; Removed mc1.21-dev.1

mixin.threading - A collection of tweaks relating to async or multithreaded methods

  • mixin.threading.client_tick (true) - Moves lots of logic off the Render Thread to reduce load
    • Added: mc1.20.4-dev.1
  • mixin.threading.explosions (false) - Attempts to make explosions async

    WARNING: Enabling this will cause the game to crash; This is a WIP!!!


mixin.unstable - A collection of tweaks that are not production ready

  • mixin.unstable.entity_ticking (false) - Attempts to multithread entity ticking
    • Added: mc1.20.4-dev.1

    WARNING: Enabling this will cause many crashes; This is a WIP!!!

  • mixin.unstable.explosion_packets (false) - Removes packets sent to the client during explosions, significantly improving performance
    • Added: mc1.21-0.0.1-dev.1
  • mixin.unstable.explosion_throttle (false) - Cancels explosions if the servers crosses 60 mspt
    • Added: mc1.21-0.0.1-dev.3
  • mixin.unstable.reduce_random (false) - Compacts most Random instances into a single static instance. This sacrifices speed for lower ram usage
    • Added: mc1.20.4-dev.1; Removed: mc1.21-0.0.1-dev.4

    WARNING: Enabling this will cause multiple visual oddities such as glitchy item rendering

  • mixin.unstable.sound (false) - Removes sound from being sent via packets (the client should be in charge of sounds)
    • Added: mc1.21-0.0.1-dev.3

    WARNING: Enabling this will cause crashes whenever sound is played. This is WIP!


mixin.unstream - A collection of tweaks that remove the Stream API from Minecraft's code

  • mixin.unstream.nearest_item (true) - Removes Stream API in nearest item gather
    • Added: mc1.20.4-dev.1
  • mixin.unstream.pathfinding (true) - Removes Stream API in node pathfinding
    • Added: mc1.20.4-dev.1
  • mixin.unstream.player_movement (true) - Removes Stream API from Player movement
    • Added: mc1.20.4-dev.1
  • mixin.unstream.tacs (true) - Removes Stream API from ThreadedAnvilChunkStorage
    • Added: mc1.20.4-dev.1
  • mixin.unstream.recipe_manager (true) - Removes Stream API from Recipe Manager

mixin.world - A collection of tweaks that optimizes different aspects of World

  • mixin.world.blending (true) - TODO
    • Added: mc1.20.4-dev.1
  • mixin.world.biome_access (true) - Uses predictions to improve performance
    • Added: mc1.20.4-dev.1
  • mixin.world.farmland (true) - Optimizes nearby fluid searching
  • mixin.world.explosion (true) - Optimizes the Fluid calculations with explosions
    • Added: mc1.20.4-dev.1
  • mixin.world.saving (true) - TODO
    • Added: mc1.20.4-dev.1