Storage Drawers: Forestry Pack

Storage Drawers: Forestry Pack

6M Downloads

Rebalance drawer capacity upgrades

TheRealWormbo opened this issue · 2 comments

commented

There are some balance issues with the drawer updates that provide increased capacity:

  • They still use the old notion of "value" of item types, with emeralds at the top. At the point when I set up drawers I find myself not using any capacity upgrades other than the emerald ones, because why settle for anything less? Especially if "less" would involve something way more precious like, say, iron, gold or especially diamonds.
  • It's probably too easy to craft a bunch of these upgrades and never really have to worry about storage space ever again. Storage drawers provide almost too much "bang for the buck", often invalidating most other storage solutions present in mod packs. Why spend valuable resources crafting higher tiers of storage harddrives when you can just spend a bit of wood and some easily obtained vanilla resources on a drawer upgrade instead?

I suggest rebalancing the default recipes for capacity upgrades to solve these issues:

  • Replace emeralds with netherite (or netherite scrap). A typical vanilla build order since 1.14 involves finding a village to trade farmed resources. Emeralds are abundant as a currency, quite unlike diamonds, which need to be mined. There is an argument to be made for not using them as a capacity upgrade tier, replacing them with netherite as the rarest available resource.
  • Replace obsidian with copper. You definitely get access to iron and gold much more easily than to obsidian, since those don't need diamond tools to mine. Copper would be a better first tier, since it's more abundant than iron. Also, obsidian is already used for the void upgrade, so replacing it as a capacity tier might even prevents some confusion.
  • Make capacity upgrades an incremental crafting recipe. Taking a page out of Iron Chests' book here – how about requiring a capacity upgrade instead of a template to craft the next-higher tier? (e.g. iron upgrade for crafting gold, gold upgrade for crafting diamond) The lowest tier obviously still uses the upgrade template.

Optionally, it might even be worth considering a numeric "nerf" to capacity upgrades. That would be a breaking change though, and thus should probably be considered only for a Minecraft version change. This change would include:

  • Changing the way the capacity multiplier is calculated. Currently it only exists when capacity upgrades are installed, which means two tier 1 upgrades quadruple the capacity. How about defining it to be 1 by default and having the first tier of upgrades start at +1 instead of +2?
  • Maybe even adjusting the default multiplier values of the individual tiers to scale less drastically. For example using the Fibonacci sequence in some way (e.g. 1, 2, 3, 5, 8; or maybe 1, 2, 4, 7, 12) instead of powers of 2.
  • Alternatively, but this probably goes too far, only allow one capacity upgrade of each type. (Could maybe be a new configurable option, though.)
commented

Here's a CraftTweaker script I wrote to modify the recipes so that the higher tier storage upgrades require the lower tier upgrades to be crafted. Feel free to use this in your modpacks:

craftingTable.removeByName("storagedrawers:iron_storage_upgrade");
craftingTable.removeByName("storagedrawers:gold_storage_upgrade");
craftingTable.removeByName("storagedrawers:diamond_storage_upgrade");
craftingTable.removeByName("storagedrawers:emerald_storage_upgrade");

craftingTable.addShaped("iron_storage_upgrade", <item:storagedrawers:iron_storage_upgrade>, [
    [<item:minecraft:stick>, <item:minecraft:stick>, <item:minecraft:stick>],
    [<item:minecraft:iron_ingot>, <item:storagedrawers:obsidian_storage_upgrade>, <item:minecraft:iron_ingot>],
    [<item:minecraft:stick>, <item:minecraft:stick>, <item:minecraft:stick>],
  ]);

craftingTable.addShaped("gold_storage_upgrade", <item:storagedrawers:gold_storage_upgrade>, [
    [<item:minecraft:stick>, <item:minecraft:stick>, <item:minecraft:stick>],
    [<item:minecraft:gold_ingot>, <item:storagedrawers:iron_storage_upgrade>, <item:minecraft:gold_ingot>],
    [<item:minecraft:stick>, <item:minecraft:stick>, <item:minecraft:stick>]
  ]);

craftingTable.addShaped("diamond_storage_upgrade", <item:storagedrawers:diamond_storage_upgrade>, [
    [<item:minecraft:stick>, <item:minecraft:stick>, <item:minecraft:stick>],
    [<item:minecraft:diamond>, <item:storagedrawers:gold_storage_upgrade>, <item:minecraft:diamond>],
    [<item:minecraft:stick>, <item:minecraft:stick>, <item:minecraft:stick>]
  ]);

craftingTable.addShaped("emerald_storage_upgrade", <item:storagedrawers:emerald_storage_upgrade>, [
    [<item:minecraft:stick>, <item:minecraft:stick>, <item:minecraft:stick>],
    [<item:minecraft:emerald>, <item:storagedrawers:diamond_storage_upgrade>, <item:minecraft:emerald>],
    [<item:minecraft:stick>, <item:minecraft:stick>, <item:minecraft:stick>]
  ]);
commented

I really agree with these suggestions but i'll not make crafting redundant.

  • Make capacity upgrades an incremental crafting recipe. Taking a page out of Iron Chests' book here – how about requiring a capacity upgrade instead of a template to craft the next-higher tier? (e.g. iron upgrade for crafting gold, gold upgrade for crafting diamond) The lowest tier obviously still uses the upgrade template.

If u have some system like AE2 or refined storage can be a great idea because you have the autocrafting but will be really annoing to craft all this upgrade manually. I also want to suggest to add netherite and not replace emeralds (i use iron furnaces as reference).

  • Changing the way the capacity multiplier is calculated. Currently it only exists when capacity upgrades are installed, which means two tier 1 upgrades quadruple the capacity. How about defining it to be 1 by default and having the first tier of upgrades start at +1 instead of +2?

I also want to suggest to just change the way capacity upgrades work swapping multiplicative method with an additive method. Can also be a configurable option