Handle negative experience stored in essence capsules

This commit is contained in:
DBotThePony 2025-03-10 15:30:50 +07:00
parent 17e4856b10
commit 5e1ae7e77d
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -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.MDataComponentTypes
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 {
var experienceStored = 0L
@ -169,7 +170,7 @@ class EssenceStorageBlockEntity(blockPos: BlockPos, blockState: BlockState) : Ma
val capsule = capsuleContainer[0]
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()
}