Skip to content

Configuration File

QPCrummer edited this page Oct 2, 2023 · 22 revisions

Configuration for the Potatoptimize

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

mixin.entity = false
mixin.memory.memory_reserve = true

A list of configurations:

  • mixin.block_entity - A collection of tweaks relating to block entities
    • mixin.block_entity.sign_ticking (true) - Prevents ticking signs as it is useless

  • mixin.entity - A collection of tweaks relating to entities
    • mixin.entity.bat (true) - Skips checking light levels if the pre-spawn attempt fails
    • mixin.entity.collisions (true) - Optimizes large entity collisions in portals by removing very tedious checks (pre 1.20 behavior)
    • mixin.entity.fall_damage (true) - Skips fall damage checks if the entity doesn't take fall damage
    • mixin.entity.halloween (false) - Instead of checking for Halloween every spawn attempt, the check is put on a timer

      WARNING: This optimization is currently broken

    • mixin.entity.navigation (true) - Stop checking for blocks to pathfind to if riding a non-controllable entity
    • mixin.entity.spawning (true) - Removes useless distance checks and removes checking for nether fortresses if not in the nether
    • mixin.entity.statistics (true) - Tracks time-based statistics at an interval rather than every tick
    • mixin.entity.ticking (true) - Removes ticking stingers and arrows in mobs that cannot have these projectiles in them

  • mixin.fastmath - A collection of tweaks that makes certain math less precise, but faster
    • mixin.fastmath.joml (true) - Enables JOML fast-math

  • mixin.logic - A collection of tweaks that optimize core logic in Minecraft
    • mixin.logic.reduce_ray_casting (true) - Skips ray casting if the block is air
    • mixin.logic.fast_rotations (true) - Skips a ton of checks that would never be possible anyways

  • mixin.memory - A collection of tweaks relating to ram usage
    • mixin.memory.memory_reserve (false) - Removes the MemoryReserve. This sacrifices stability for lower ram usage

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


  • mixin.random - A collection of tweaks relating to random number generation
    • mixin.random.entity (true) - Replaces all references of Random in Entity with my implementation
    • mixin.random.generators (false) - Replaces many RNGs with my implementation of ThreadLocalRandom
    • mixin.random.math (true) - Replaces all references of Random in MathHelper with my implementation
    • mixin.random.unsafe (false) - Enables Unsafe seed setting on ThreadLocalRandom to enable vanilla parity

      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

  • 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

  • mixin.startup - A collection of tweaks relating to startup times
    • mixin.startup.dfu (true) - Slightly optimizes the startup time for the DFU; Credit: astei

  • 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
    • mixin.threading.entity_ticking (false) - Attempts to multithread entity ticking

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

    • mixin.threading.paletted_container (true) - Removes a lot of locks in PalettedContainer, replacing them with "synchronized"

      NOTICE This should be disabled if you plan to play with c2me!


  • 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
    • mixin.unstream.pathfinding (true) - Removes Stream API in node pathfinding
Clone this wiki locally