
Better Furnaces & Chests
Enhance your world with tiered furnaces for lightning-fast smelting and massive tiered chests featuring a modern scrollable GUI with built-in sorting, stacking, and searching functionality. Fully configurable and performance-optimized.
Tags
Creators
Details
1.2.0
Compatibility
Changes
Devlog - Version 1.2.0
The Architectural Shift: Server-Authoritative Configuration
In this version, we've fundamentally changed how configuration works to ensure a fair and consistent experience for all players in multiplayer environments.
Server-Side Authority
Gameplay-affecting settings such as chest capacity, furnace speed, and tool requirements are now managed exclusively by the server.
- What this means: When a player joins a server, the server transmits its configuration to the client. The client then enforces these values, preventing desync and potential exploits where clients could "cheat" by modifying their local configs.
New Config Location
To align with server-side standards, the configuration has been moved:
- Old Location:
config/better-furnaces-and-chests.cfg - New Location:
serverconfig/better-furnaces-and-chests-server.cfg
New Furnace Features
We've added deeper customization for automation and balancing:
- Items Consumed: You can now configure how many items are consumed per smelting operation. High-tier furnaces can be set to "batch smelt" for improved efficiency.
- Output Multiplier: A new multiplier for smelting results. This allows for "ore doubling" or other custom balancing at higher tiers.
Technical Details
- Implemented
ModServerConfigto handle server-only loading logic. - Created
ConfigSyncPayloadusing a manualPacketCodecto bypass thePacketCodec.tuple()limit for large configuration sets. - Integrated Fabric Networking S2C to sync configurations on player join.
Thank you for supporting Better Furnaces & Chests!
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:VY8NnMTO:sl7MyDsi"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:VY8NnMTO:sl7MyDsi"
}
