-
-
Notifications
You must be signed in to change notification settings - Fork 6
[KillTheRNG] Remake for Fabric #190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
ScribbleTAS
wants to merge
20
commits into
MinecraftTAS:develop
Choose a base branch
from
ScribbleTAS:killtherng-take3
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Member
Author
|
Great, gh actions uses an outdated gradle version, thats how the pr run fails |
d2ce0ff to
d6c7c07
Compare
5 tasks
bfdb26a to
8582991
Compare
8582991 to
db3d377
Compare
9d96b0d to
ed2d179
Compare
4d213c0 to
7ffecad
Compare
7ffecad to
64b6e19
Compare
d3a5ab4 to
2778448
Compare
- Add CustomRandom from old mod - Update MixinRender - Remove seperate mixin.json
This event is fired before ServerInit when worlds are alredy loaded
- [Event] Add EventLoadstatePost
- [KillTheRNG] Remove entitycount
4017470 to
1e3e3e2
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Recently I had a discussion with the tasvideos.org folks about external vs. internal tools.
The conversation shifted more towards the fact that I'm patching a lot of RNG instances... They suggested hacking the system time to make RNG possible.
So I thought this might be worth a shot. This also has the advantage of reduced work when switching versions, if the idea actually works.
GlobalRandomnessTimer
The idea used in other games is to hack the system time to be always consistent when using an emulator.
That way you can control the seed of new RNG variables that are created during a playback.
As hacking the system time is impractical, I opted to use a "GlobalRandomnessTimer".
Every tick, the rng is advanced by one. If a new random instance is created during that,
it will use the current seed of the GlobalRandom
In theory this should create predictable RNG as long as I store the current seed of the globalrandomness in the savestates
EntityRandom
Each Entity has their own RNG that is set in the constructor. The plan is to instantiate a custom random class called "RandomBase"
instead of the JavaRandom. This class can reliably read out the seed and we can extend RandomBase into "EntityRandomness".
TODO
And here is something I am probably gonna use to make TASmod extra cursed: https://github.com/FlorianMichael/AsmFabricLoader