sinkillerj / ProjectE

ProjectE. A complete rewrite of EE2 for modern Minecraft versions.
MIT License
395 stars 203 forks source link

[Feature Request] allow fractional EMC with perBlock property #2145

Open AngleWyrm10 opened 2 years ago

AngleWyrm10 commented 2 years ago

x EMC per y blocks

This solves the issue of not being able to represent slabs/etc that don't have EMC because it would be an integer less than 1 EMC/block.

x EMC / y perBlock

For example a recipe that calls for three cobblestone (1 EMC/block) and generates six blocks 3 EMC per 6 blocks = 3 EMC / 6 perBlock = 3/6 EMC/perBlock = 1/2 EMC/perBlock

It's an integer property that allows for clear representation of any fraction without the need for floats. It would default to 1 for most cases.

MaPePeR commented 2 years ago

Fractional EMC is already used to calculate recipes that use slabs and panes. We didn't want to expose the users themselves to fractional numbers, so you cannot transmute/learn those items.

AngleWyrm10 commented 2 years ago

Hence the solution x EMC per y blocks -- No fractions in GUI and yet still works for objects with smaller EMC values.

This allows an audience of even the poorly educated to comprehend and use the mod without gimping it for those who have a better education. A wider audience.

The expression EMC per block is a fact of the mod's existence, in evidence with the handy stack EMC tooltip

JacobCallahan commented 2 years ago

Alternatively, a setting to enable "floor emc" would be nice. This would set the emc value of anything that would be <1 to 1. Of course, this is a loss, but likely acceptable for the vast majority of people using the mod who just want an easy way to get items out.

ErzengelLichtes commented 2 years ago

Alternate suggestion: Add a setting to allow us to multiply all EMC values by a specific multiplier. For example, if the setting was "2", making everything doubled, cobblestone would cost 2 and cobblestone slabs would cost 1. There wouldn't be any balance issues because everything is doubled. Of course, this doesn't solve glass panes (16 panes from a default 6 EMC, doubling to 12 still wouldn't be enough) but the user/modpack author could set the multiplier to 8 making cobblestone and glass worth 8, cobblestone slabs worth 4 and glass panes worth 3.

exastencil commented 2 years ago

I was thinking of something similar. I was planning on manually setting values for everything such that they just end up multiples of what they would normally be. Multiplying by 2 would solve some values, and then by 3 some more. One could continue on like this for all primes until everything has a value.

Essentially, rather than assign values, I just want to have a list of items/blocks that I want to have values and then have the EMC mappers step it up until they all do.

This strategy wouldn't work for existing players/worlds, but would be fine for new worlds.