DonovanDMC / ProjectExpansion

An unofficial extension for ProjectE.
https://discord.gg/SwxbbmMKQH
MIT License
30 stars 8 forks source link

EMC/s numeric display is not working as intended when you are losing EMC over time #16

Closed James103 closed 2 years ago

James103 commented 2 years ago

As of mod version 1.0.11 for Minecraft 1.16.5, losing EMC over time shows two minus signs in front of the number, like below:

To reproduce:

  1. Use a Transmutation Table or something similar to put in some items.
  2. Wait 5 seconds.
  3. Use a Transmutation Table or similar to take out many items.
  4. Notice that the EMC display shows you are losing EMC, but with 2 minus signs instead of 1. image

To reproduce with larger numbers, which cause the number to not be shortened when required:

  1. emc set @s 1000000000000
  2. Wait 5 seconds
  3. emc set @s 100000000000
  4. Notice that the EMC display shows you are losing EMC, but the number is not formatted. image

This may be caused by the following line of code prepending a negative sign to a negative number that formats to a string generated by the EMCFormat.INSTANCE.format function which already contains a leading negative sign: https://github.com/DonovanDMC/ProjectExpansion/blob/3ad2f6fad66b1002531228cb28c8ce05d584d81c/src/main/java/cool/furry/mc/forge/projectexpansion/gui/EMCDisplay.java#L67

DonovanDMC commented 2 years ago

Pretty sure I even saw this issue while fixing #15 and just paid no mind to it, this seems like an easy fix that I should be able to get done once I'm back at home later

James103 commented 2 years ago

The number format breaking for negative numbers is because the format function does not check that the number is negative before formatting the number.

DonovanDMC commented 2 years ago

Fixed in [1.16] 1.0.12

DonovanDMC commented 2 years ago

Backported to 1.15 in [1.15] 1.0.11