Skip to content

Config refactor#70

Open
Lemonnik6484 wants to merge 48 commits into
mainfrom
config-refactor
Open

Config refactor#70
Lemonnik6484 wants to merge 48 commits into
mainfrom
config-refactor

Conversation

@Lemonnik6484

Copy link
Copy Markdown
Collaborator

Supports TOML & JSON5

Isn't actually connected to mod or versioned, exists only to be added into unified branch

@Lemonnik6484
Lemonnik6484 requested a review from JXSnack April 6, 2026 20:49
@Lemonnik6484 Lemonnik6484 added the enhancement New feature or request label Apr 26, 2026

@JXSnack JXSnack left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Finally got to reviewing!

It's really nice, and makes everything so much easier. However, the package structure is a bit weird; the whole rework package is redundant, it can all go into the config package. Nvm, it's not connected to the mod yet

In some places you changed logging from TT20.LOGGER to System.out, which is probably just a little happy accident, but needs to be taken care of

It's generally a pretty large PR, so I'll take your word for that it functions and properly transfers old configurations of servers to the new system. Furthermore, since I took so long with my underwhelming review you will probably have to solve the merge conflicts.

@Lemonnik6484

Copy link
Copy Markdown
Collaborator Author

Yeah, hi
All those artifacts are coming from one thing:
I was originally planning to do all of this in SHITLib, but as Block Mask requires minecraft to be implemented I did it here.

P.S. Should've probably just marked it as draft as it's not really in "ready for production" state

# Conflicts:
#	build.gradle
#	gradle.properties
#	settings.gradle
#	src/main/java/net/snackbag/tt20/TT20.java
#	src/main/java/net/snackbag/tt20/command/MainCommand.java
#	src/main/java/net/snackbag/tt20/config/BlockEntityMaskConfig.java
#	src/main/java/net/snackbag/tt20/config/JSONConfiguration.java
#	src/main/java/net/snackbag/tt20/config/MainConfig.java
#	src/main/java/net/snackbag/tt20/config/lib/utils/Mask.java
#	src/main/java/net/snackbag/tt20/config/lib/utils/RegistryIndex.java
#	src/main/java/net/snackbag/tt20/mixin/DedicatedServerWatchdogMixin.java
#	src/main/java/net/snackbag/tt20/mixin/LivingEntityMixin.java
#	src/main/java/net/snackbag/tt20/mixin/PlayerEntityMixin.java
#	src/main/java/net/snackbag/tt20/mixin/PortalManagerMixin.java
#	src/main/java/net/snackbag/tt20/mixin/ServerPlayerManagerMixin.java
#	src/main/java/net/snackbag/tt20/mixin/accessor/ServerPlayerAccessor.java
#	src/main/java/net/snackbag/tt20/mixin/client/ChatHudMixin.java
#	src/main/java/net/snackbag/tt20/mixin/client/IntegratedServerMixin.java
#	src/main/java/net/snackbag/tt20/mixin/fluid/LavaFluidMixin.java
#	src/main/java/net/snackbag/tt20/mixin/fluid/WaterFluidMixin.java
#	src/main/java/net/snackbag/tt20/mixin/item/ItemEntityMixin.java
#	src/main/java/net/snackbag/tt20/mixin/item/ItemMixin.java
#	src/main/java/net/snackbag/tt20/mixin/world/AbstractBlockMixin.java
#	src/main/java/net/snackbag/tt20/mixin/world/GameRulesMixin.java
#	src/main/java/net/snackbag/tt20/mixin/world/ServerLevelMixin.java
#	src/main/java/net/snackbag/tt20/mixin/world/WorldChunkMixin.java
#	src/main/resources/fabric.mod.json
#	stonecutter.gradle
@Lemonnik6484
Lemonnik6484 marked this pull request as draft May 8, 2026 21:02
@Lemonnik6484

Lemonnik6484 commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator Author

Now it uses FernConfig (moved to a separate lib)

Other changes:

  • Fixed some mixins to also check if TT20 is enabled
  • Renamed "Auto Updater" to "Update Checker" to avoid confusion
  • Version is now 1.x.x as it implements breaking changes

@Lemonnik6484
Lemonnik6484 marked this pull request as ready for review June 6, 2026 20:19
@Lemonnik6484
Lemonnik6484 requested a review from JXSnack June 6, 2026 20:19
@Lemonnik6484
Lemonnik6484 marked this pull request as draft June 8, 2026 20:30
@Lemonnik6484

Copy link
Copy Markdown
Collaborator Author

Actually Fern is not ready, I'm refactoring it

# Conflicts:
#	build.gradle
#	src/main/java/net/snackbag/tt20/mixin/ServerPlayerManagerMixin.java
#	src/main/java/net/snackbag/tt20/mixin/world/GameRulesMixin.java
#	src/main/java/net/snackbag/tt20/mixin/world/LevelChunkMixin.java
#	src/main/java/net/snackbag/tt20/util/Mask.java
#	src/main/java/net/snackbag/tt20/util/RegistryIndex.java
@Lemonnik6484
Lemonnik6484 marked this pull request as ready for review June 18, 2026 14:57
@Lemonnik6484

Copy link
Copy Markdown
Collaborator Author

Fern seems to be pretty stable now
We can release new version as beta or alpha

@JXSnack

JXSnack commented Jun 20, 2026

Copy link
Copy Markdown
Member

LGTM, but add migration of old configurations!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants