A Minecraft mod that makes TerraFirmaCraft lamps more viable for permanent structures by having nearby villagers maintain them.
This mod is available to download on Modrinth and Curseforge.
- Villagers automatically replenish fuel in nearby TFC lamps when they run low
- Natural feeling maintenance with randomized refill amounts
- Only already-lit lamps are refilled (empty or unlit lamps are ignored)
- Fully configurable values for fine-tuning the experience
- Config to whitelist/blacklist fuels
- Config to add additional entities that can automatically replenish lanterns
- Refill cooldown based on how long it should take for the fuel to burn, to prevent being able to infinitely extract fuel (this shouldn't be a super major concern as-is though; more information further below)
The mod checks for nearby villagers when a lamp block is ticked (should work with any block entity extending TFC's LampBlock class). If villagers are within range and the lamp's fuel level falls below the configured threshold, the lamp will be refilled up to a random amount of fuel (as defined by the range in the config).
All values can be adjusted in the bundled config file (found in forge_dir/config/villagerskeeptfclampslit.toml
):
-
villagerRange
: Distance (in blocks) villagers need to be from a lamp to maintain it- Default: 24
- Min: 1, Max: Integer.MAX_VALUE
-
fuelThreshold
: Fuel level (in mB) at which villagers will refill lamps- Default: 50
- Min: 1, Max: 254
- Note: Each mB lasts approximately 8000 ticks (~6-7 minutes)
-
minFuelReplenish
: Minimum amount of fuel (in mB) the lamp is refilled to- Default: 75
- Min: 1, Max: 250
-
maxFuelReplenish
: Maximum amount of fuel (in mB) the lamp is refilled to- Default: 150
- Min: 1, Max: 250
When using mods that can extract fluids (e.g. Create), it is probably possible to infinitely extract the fuel as it is being refilled by villagers. However, this shouldn't be too big of a deal because:
- Lamps only get refilled on random block ticks
- If a lamp is emptied before being ticked, it will extinguish
- The config values can be adjusted to lower amounts if needed, to thwart mechanisms like really slow pump extraction.
Basically, the only way it's possible is if you either extract the fluids slow enough or you find a way to keep a small amount of fluid in the lamp. I might later refine this by adding a proper cooldown to how often the lantern can be refilled, and it's one of the things I plan on adding to this mod.
- Clone the repository
- Open a terminal/command prompt in the project directory
- Run one of the following commands:
- Windows:
gradlew build
- Linux/macOS:
./gradlew build
- Windows:
- Find the built jar file in
build/libs/
Requirements:
- Java Development Kit (JDK) 17
- Gradle (included in wrapper)
If you encounter build errors, make sure you're using Java 17 as older or newer versions may not work correctly. You can also try building through an IDE (like IntelliJ) which should automatically set everything up when importing the project.
This project is under the MIT license. Feel free to include in modpacks. For more information see the license file.