Fix creative matter capacitor not exposing Long.MAX_VALUE stored matter

This commit is contained in:
DBotThePony 2023-03-07 19:35:36 +07:00
parent 9fd4c22c36
commit fda82f3357
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -21,6 +21,7 @@ import ru.dbotthepony.mc.otm.client.ShiftPressedCond
import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.core.math.Decimal
import ru.dbotthepony.mc.otm.core.util.formatMatter import ru.dbotthepony.mc.otm.core.util.formatMatter
import ru.dbotthepony.mc.otm.core.ifPresentK import ru.dbotthepony.mc.otm.core.ifPresentK
import ru.dbotthepony.mc.otm.core.nbt.map
import ru.dbotthepony.mc.otm.core.tagNotNull import ru.dbotthepony.mc.otm.core.tagNotNull
import javax.annotation.ParametersAreNonnullByDefault import javax.annotation.ParametersAreNonnullByDefault
@ -36,22 +37,18 @@ class MatterCapacitorItem : Item {
override var storedMatter: Decimal override var storedMatter: Decimal
get() { get() {
val tag = stack.orCreateTag if (isCreative) return Decimal.LONG_MAX_VALUE
return if (tag.contains("matter")) { return stack.tag?.map("matter", Decimal.Companion::deserializeNBT) ?: Decimal.ZERO
Decimal.deserializeNBT(tag["matter"])
} else Decimal.ZERO
} }
set(value) { set(value) {
stack.tagNotNull.put("matter", value.serializeNBT()) stack.tagNotNull.put("matter", value.serializeNBT())
} }
override val maxStoredMatter: Decimal override val maxStoredMatter: Decimal get() {
get() {
return capacity return capacity
} }
override val missingMatter: Decimal override val missingMatter: Decimal get() {
get() {
return if (isCreative) Decimal.LONG_MAX_VALUE else super.missingMatter return if (isCreative) Decimal.LONG_MAX_VALUE else super.missingMatter
} }