Merge branch 'master' into 1.20.1
This commit is contained in:
commit
8c43a3ec6d
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user