Merge branch 'master' into 1.20.1

This commit is contained in:
DBotThePony 2023-12-31 23:18:46 +07:00
commit 8c43a3ec6d
Signed by: DBot
GPG Key ID: DCC23B5715498507
4 changed files with 10 additions and 18 deletions

View File

@ -39,7 +39,7 @@ class BatteryBackedEnergyStorage(
if (ply is ServerPlayer && isAndroid) {
AndroidBatteryTrigger.trigger(ply, value)
} else if (ply is ServerPlayer && !isAndroid) {
} else if (ply is ServerPlayer) {
ExopackBatterySlotTrigger.trigger(ply, value)
}

View File

@ -76,7 +76,7 @@ sealed class BlockEnergyStorageImpl(
return Decimal.ZERO
val newLevel = (batteryLevel - howMuch.coerceAtMost(maxOutput ?: Decimal.POSITIVE_INFINITY)).moreThanZero()
val diff = (batteryLevel - newLevel)
val diff = (batteryLevel - newLevel).coerceIn(Decimal.ZERO, howMuch)
if (!simulate && batteryLevel != newLevel) {
batteryLevel = newLevel
@ -93,7 +93,7 @@ sealed class BlockEnergyStorageImpl(
return Decimal.ZERO
val newLevel = (batteryLevel + howMuch.coerceAtMost(maxInput ?: Decimal.POSITIVE_INFINITY)).coerceAtMost(maxBatteryLevel)
val diff = (newLevel - batteryLevel)
val diff = (newLevel - batteryLevel).coerceIn(Decimal.ZERO, howMuch)
if (!simulate && batteryLevel != newLevel) {
batteryLevel = newLevel

View File

@ -38,21 +38,13 @@ abstract class ItemEnergyStorageImpl(val itemStack: ItemStack) : IMatteryEnergyS
if (!howMuch.isPositive || itemStack.count != 1)
return Decimal.ZERO
@Suppress("NAME_SHADOWING")
var howMuch = howMuch
val maxOutput = maxOutput
if (maxOutput != null) {
howMuch = howMuch.coerceAtMost(maxOutput)
}
val batteryLevel = batteryLevel
if (!batteryLevel.isPositive)
return Decimal.ZERO
val newLevel = (batteryLevel - howMuch).moreThanZero()
val diff = (batteryLevel - newLevel)
val newLevel = (batteryLevel - howMuch.coerceAtMost(maxOutput ?: Decimal.POSITIVE_INFINITY)).moreThanZero()
val diff = (batteryLevel - newLevel).coerceIn(Decimal.ZERO, howMuch)
if (!simulate && batteryLevel != newLevel) {
this.batteryLevel = newLevel
@ -70,7 +62,7 @@ abstract class ItemEnergyStorageImpl(val itemStack: ItemStack) : IMatteryEnergyS
return Decimal.ZERO
val newLevel = (batteryLevel + howMuch.coerceAtMost(maxInput ?: Decimal.POSITIVE_INFINITY)).coerceAtMost(maxBatteryLevel)
val diff = (newLevel - batteryLevel)
val diff = (newLevel - batteryLevel).coerceIn(Decimal.ZERO, howMuch)
if (!simulate && batteryLevel != newLevel) {
this.batteryLevel = newLevel

View File

@ -235,7 +235,7 @@ object MatteryGUI {
if (mattery.androidEnergy.maxBatteryLevel.isZero) {
level = 0f
} else {
level = mattery.androidEnergy.batteryLevel.div(mattery.androidEnergy.maxBatteryLevel).toFloat()
level = mattery.androidEnergy.batteryLevel.percentage(mattery.androidEnergy.maxBatteryLevel)
if (level >= 0.98f)
level = 1f
@ -308,8 +308,8 @@ object MatteryGUI {
if (!gui.shouldDrawSurvivalElements()) return
val level: Float = (ply.health / ply.maxHealth).coerceIn(0.0f .. 1.0f)
val levelAbsorb: Float = (ply.absorptionAmount / ply.maxHealth).coerceIn(0.0f .. 1.0f)
val level: Float = (ply.health / ply.maxHealth).coerceIn(0.0f, 1.0f)
val levelAbsorb: Float = (ply.absorptionAmount / ply.maxHealth).coerceIn(0.0f, 1.0f)
gui.setupOverlayRenderState(true, false)
RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f)
@ -324,7 +324,7 @@ object MatteryGUI {
if (mattery.hasFeature(AndroidFeatures.NANOBOTS_ARMOR)) {
val featArmor = mattery.getFeature(AndroidFeatures.NANOBOTS_ARMOR) as NanobotsArmorFeature
val levelArmor: Float = (featArmor.layers.toFloat() / (featArmor.strength + 1).toFloat()).coerceIn(0.0f .. 1.0f)
val levelArmor: Float = (featArmor.layers.toFloat() / (featArmor.strength + 1).toFloat()).coerceIn(0.0f, 1.0f)
HEALTH_BG_NANOBOTS.renderPartial(event.guiGraphics, left.toFloat(), top.toFloat(), width = ceil(levelArmor * 81f))
}