Handle negative experience stored in essence capsules
This commit is contained in:
parent
17e4856b10
commit
5e1ae7e77d
@ -40,6 +40,7 @@ import ru.dbotthepony.mc.otm.menu.tech.EssenceStorageMenu
|
|||||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||||
import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes
|
import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes
|
||||||
import ru.dbotthepony.mc.otm.registry.game.MFluids
|
import ru.dbotthepony.mc.otm.registry.game.MFluids
|
||||||
|
import kotlin.math.max
|
||||||
|
|
||||||
class EssenceStorageBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.ESSENCE_STORAGE, blockPos, blockState), IFluidHandler {
|
class EssenceStorageBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.ESSENCE_STORAGE, blockPos, blockState), IFluidHandler {
|
||||||
var experienceStored = 0L
|
var experienceStored = 0L
|
||||||
@ -169,7 +170,7 @@ class EssenceStorageBlockEntity(blockPos: BlockPos, blockState: BlockState) : Ma
|
|||||||
val capsule = capsuleContainer[0]
|
val capsule = capsuleContainer[0]
|
||||||
|
|
||||||
if (!capsule.isEmpty && capsule.has(MDataComponentTypes.EXPERIENCE)) {
|
if (!capsule.isEmpty && capsule.has(MDataComponentTypes.EXPERIENCE)) {
|
||||||
experienceStored += capsule.get(MDataComponentTypes.EXPERIENCE)!! * capsule.count
|
experienceStored += max(capsule.get(MDataComponentTypes.EXPERIENCE)!! * capsule.count, 0L)
|
||||||
capsuleContainer.clearContent()
|
capsuleContainer.clearContent()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user