Skip to content
This repository was archived by the owner on Nov 20, 2023. It is now read-only.

Conversation

@Giggitybyte
Copy link
Owner

@Giggitybyte Giggitybyte commented Sep 12, 2023

  • Updated mappings to Minecraft 1.20.1 (compatible with 1.20)
  • Identified and fixed serious block duplication bug when tick_random_block was enabled
  • Proper Java multithreading implementation
  • Worlds which don't allow sleeping will not be ticked
  • Fix redstone not working in some situations
  • Add configuration option for fluid warp ticks

My port for 1.20 was made in haste and I botched the random block tick implemenation which introduced a major bug which caused any block which could be random ticked to be duplicated at 16 block intervals through the depth of the chunk it was in.

I've located my error and corrected it, and cleaned a few things up.
My multithreading implementation in WarpDrive left a lot to be desired. Although it was an improvement from my last attempt this implementation had high memory usage along with low throughput which caused to a large amount of warp ticks to be executed well after the day had arrived and the player is awake resulting in crops rapidly growing before the players eyes.

To try to improve this, I've ditched WarpDrive and migrated its core functionality to the new WarpEngine class and all of the world tick logic into dedicated Runnable classes.
Instead of having three threads dedicated to different aspects of world ticking, each part of the world tick will be executed asynchronously on an available thread from the ForkJoinPool. This new implementation has a huge increase in execution throughput which in turn causes the majority of world warp ticks to complete a few world ticks later.

I also added a check to make sure that worlds which don't allow for sleeping don't get their time accelerated, and tweaked the action bar text.
@Giggitybyte
Copy link
Owner Author

Giggitybyte commented Sep 12, 2023

If anybody would like to test this PR in its current state, download the jar here: https://github.com/Giggitybyte/SleepWarp/releases/tag/2.2.0-rc1

@Giggitybyte Giggitybyte linked an issue Sep 12, 2023 that may be closed by this pull request
@Giggitybyte Giggitybyte marked this pull request as draft September 13, 2023 17:26
@Giggitybyte Giggitybyte linked an issue Sep 22, 2023 that may be closed by this pull request
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stuck in sleeping screen [v2.1.0 for MC 1.20] Ticked blocks duplicated 16 blocks below

2 participants