You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
o/ I know you copied this from forge. But sadly this feature is lying, was lying, and in forges implementation will be always lying!
Why?
Said feature said "bearcore" was causing chunk cascading, yet it only overrided 2 events and cleared endermens pickup list.
The bonemeal event, and the Sleep event.
So why is this caused?
Forges WorldGenerator never actually saves which mod registers what WorldGenerator.
And when worldgen is executed this causes that no mod will be set to be placed to cause chunkcascading, not even cleared.
Causing it to spill out random garbage.
What is the fix:
Simply add 2 more mixins.
1: in the register function that maps the Mods to the WorldGenerator, Map<IWorldGenerator, ModContainer>.
2: in the worldgenerator process function set the active Mod to the respective WorldGenerators.
3: Win/Profit.
Note: Some mods wrap all WorldGenerators so they can do retrogen stuff, which the Retrogen mod from CPW does.
but these edge cases can be accounted for. Just so you know.
The text was updated successfully, but these errors were encountered:
Note: Some mods wrap all WorldGenerators so they can do retrogen stuff, which the Retrogen mod from CPW does.
but these edge cases can be accounted for. Just so you know.
Could you explain how this can be accounted for without needing to hardcode a list of these world generators?
@embeddedt F i forgot to answer.
I had a answer but removed it due to be wrong.
Basically the only mod you need to account for is CPWs Retrogen mod which uses Wrappers sadly.
But you can account with reflection or mixins.
Simply have a mod specific mixin or reflection and test for the Wrapper instance. If the mod is detected.
Yes this hardcodes to CPW but his mod is the only mod that Wrappers it, since it is the only one doing it. (After rechecking it)
Sorry that it took so long to answer. I simply forgot.
Code piece.
ArchaicFix/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinChunk.java
Line 72 in 1dac308
o/ I know you copied this from forge. But sadly this feature is lying, was lying, and in forges implementation will be always lying!
Why?
Said feature said "bearcore" was causing chunk cascading, yet it only overrided 2 events and cleared endermens pickup list.
The bonemeal event, and the Sleep event.
So why is this caused?
Forges WorldGenerator never actually saves which mod registers what WorldGenerator.
And when worldgen is executed this causes that no mod will be set to be placed to cause chunkcascading, not even cleared.
Causing it to spill out random garbage.
What is the fix:
Simply add 2 more mixins.
1: in the register function that maps the Mods to the WorldGenerator, Map<IWorldGenerator, ModContainer>.
2: in the worldgenerator process function set the active Mod to the respective WorldGenerators.
3: Win/Profit.
Note: Some mods wrap all WorldGenerators so they can do retrogen stuff, which the Retrogen mod from CPW does.
but these edge cases can be accounted for. Just so you know.
The text was updated successfully, but these errors were encountered: