SleepWarp

SleepWarp

Mod

Accelerates time when sleeping instead of skipping directly to day.

Server AdventureDecorationGame MechanicsSocialUtility

423.0k downloads
546 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

v2.0.0-rc3 for Minecraft 1.19.4

Changelog

  • Specific Fabric API modules and YetAnotherConfigLib (YACL) are no longer bundled (jar-in-jar) with SleepWarp
    • Fabric API is now a required dependency for both client and dedicated server.
    • ModMenu and YACL are optional dependencies on the client to access the configuration screen.
  • Improved world simulation performance
  • Removed config options:
    • performance_mode
      • Performance mode and the TickMonitor class have been removed
    • tick_entities
      • This would end up ticking everything, including the items on the ground and the player
      • Replaced by tick_animals and tick_monsters
    • tick_mob_spawn
      • Too much processing time for no real gameplay benefit
    • tick_spawners
      • The code behind this actually was ticking something that wasn't spawner blocks
      • I also decided it was silly to tick spawners while you're sleeping
  • Added config options:
    • tick_monsters
    • tick_animals
    • monster_tick_multiplier
      • Not implemented
    • animal_tick_multiplier
      • Not implemented
  • Action bar messages were tweaked
  • Made improvements to the client settings screen by separating the options in each category into labeled groups, swap boolean toggle buttons out for tick boxes, and spruced up option tooltips.

I was still not happy with the overall performance when all world simulation features were enabled. Time, weather, and additional world ticks were done synchronously and sequentially right at the end of the world tick, meaning at default settings the world would be ticked 60 times over before the next world tick would begin.

My solution is to tick time and weather synchronously before world ticking, and if there still time before dawn, then the various portions of the world will be ticked on one of three single-thread executors; monsters and animals will be ticked on one, random block ticks on another, and everything else will be ran on the third. This setup allows time to advance at a steady rate while the additional world ticks are processed sequentially and asynchronously on other threads.

Files

sleepwarp-2.0.0_rc3+1.19.4.jar(134.26 KiB) Primary Download

Project members

Giggitybyte

Owner

Details

Licensed MPL-2.0
Published 3 years ago
Updated a year ago