TeamTwilight / twilightforest

Twilight Forest repository
Other
662 stars 197 forks source link

[Suggestion] Config to make miner's trees generate ores instead of teleporting them #1344

Closed saltyseadoggo closed 1 month ago

saltyseadoggo commented 2 years ago

The Suggestion

A configuration option that, when enabled, would make miner's trees generate new ore blocks instead of teleporting existing ones to it.

Why Should It Be in the Mod?

I feel like the miner's tree could be an interesting reward item in some kind in a skyblock pack, given its ability to bring ores to the player. However, its requirement to actually find ores in the world to teleport up to itself means that it doesn't work in a skyblock world, where there are no ores. This suggestion would allow it to function in skyblock worlds for this purpose, bringing new ores to the player in exchange for them needing to connect it to some sort of stone generators to give it stone to put the ores into. If one wants it to place the ores in the air, that can already be accomplished with the ore magnet's replaceable blocks tag if I understand correctly. In addition to custom skyblock settings, even the skylight forest config option with twilight oaks enabled benefits from this, as the miner's trees found in leaf dungeons would actually have a use.

Please Read and Confirm the Following

Tamaized commented 2 years ago

My only concern with this is balance, no resource cost (besides stone but that's basically free) infinite ore generator sounds really broken.

Drullkus commented 2 years ago

So I checked, and it looks like we can make litTime in AbstractFurnaceBlockEntity public, and furnace will burn until litTime reaches 0.

What we can do is as long as this furnace is running and that AbstractFurnaceBlockEntity#getItem(0).isEmpty() returns true, then we can make the Mining Core pull blocks and continue replacing stone blocks with the ore blocks (This would actually be rather nice to keep since it's now "seeding" the ores into the block)

I actually had the mind that we could probably implement this as a gamerule so it's save-specific, than being a config thing. Hell, we could make a bunch of our config settings gamerule-based, and pluck the defaults from the config, but that's irrelevant to this ticket

saltyseadoggo commented 2 years ago

So I checked, and it looks like we can make litTime in AbstractFurnaceBlockEntity public, and furnace will burn until litTime reaches 0.

What we can do is as long as this furnace is running and that AbstractFurnaceBlockEntity#getItem(0).isEmpty() returns true, then we can make the Mining Core pull blocks and continue replacing stone blocks with the ore blocks (This would actually be rather nice to keep since it's now "seeding" the ores into the block)

This confuses me. Can you explain what the mining core has to do with AbstractFurnaceBlockEntity?

Drullkus commented 2 years ago

I was talking about a way to implement using a furnace to power the Mining Core

saltyseadoggo commented 2 years ago

Ah, that's interesting!

I also thought just now that some sort of weighted rarities for the ores that are brought in would be needed to keep rarities reasonable. If there was a data file that managed this, almost like a loot table, it would be world-specific and able to have changes made to it for compatibility.

Killer-Demon commented 1 month ago

This is currently not something we're looking to add. One of our devs expressed a modicum of interest in perhaps seeing it as some sort of addon, but not for the main mod as of now.