Fix creative matter capacitor not exposing Long.MAX_VALUE stored matter
This commit is contained in:
parent
9fd4c22c36
commit
fda82f3357
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user