diff --git a/core/src/mindustry/ctype/UnlockableContent.java b/core/src/mindustry/ctype/UnlockableContent.java index de59e6a00e..86e5d4c616 100644 --- a/core/src/mindustry/ctype/UnlockableContent.java +++ b/core/src/mindustry/ctype/UnlockableContent.java @@ -22,9 +22,6 @@ import static mindustry.Vars.*; /** Base interface for an unlockable content type. */ public abstract class UnlockableContent extends MappableContent{ - /** Stat storage for this content. Initialized on demand. */ - @NoPatch - public Stats stats = new Stats(); /** Localized, formal name. Never null. Set to internal name if not found in bundle. */ public String localizedName; /** Localized description & details. May be null. */ @@ -119,9 +116,6 @@ public abstract class UnlockableContent extends MappableContent{ @Override public void afterPatch(){ super.afterPatch(); - - //reset stats - stats = new Stats(); } public boolean isBanned(){ @@ -141,13 +135,12 @@ public abstract class UnlockableContent extends MappableContent{ } /** Initializes stats on demand. Called every time the block stats are shown. */ - public void setStats(){ - } + public void setStats(Stats stats){} public Stats computeStats(){ - this.stats = new Stats(); - setStats(); - return this.stats; + var stats = new Stats(); + setStats(stats); + return stats; } /** Display any extra info after details. */ diff --git a/core/src/mindustry/type/Item.java b/core/src/mindustry/type/Item.java index 46ee7291ff..96f90b1a8b 100644 --- a/core/src/mindustry/type/Item.java +++ b/core/src/mindustry/type/Item.java @@ -101,7 +101,7 @@ public class Item extends UnlockableContent implements Senseable{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.addPercent(Stat.explosiveness, explosiveness); stats.addPercent(Stat.flammability, flammability); stats.addPercent(Stat.radioactivity, radioactivity); diff --git a/core/src/mindustry/type/Liquid.java b/core/src/mindustry/type/Liquid.java index 9032b4bf9b..1fb187261a 100644 --- a/core/src/mindustry/type/Liquid.java +++ b/core/src/mindustry/type/Liquid.java @@ -159,7 +159,7 @@ public class Liquid extends UnlockableContent implements Senseable{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.addPercent(Stat.explosiveness, explosiveness); stats.addPercent(Stat.flammability, flammability); stats.addPercent(Stat.temperature, temperature); diff --git a/core/src/mindustry/type/StatusEffect.java b/core/src/mindustry/type/StatusEffect.java index ae689e9a21..1ebe76609b 100644 --- a/core/src/mindustry/type/StatusEffect.java +++ b/core/src/mindustry/type/StatusEffect.java @@ -94,7 +94,7 @@ public class StatusEffect extends UnlockableContent{ } @Override - public void setStats(){ + public void setStats(Stats stats){ if(damageMultiplier != 1) stats.addMultModifier(Stat.damageMultiplier, damageMultiplier); if(healthMultiplier != 1) stats.addMultModifier(Stat.healthMultiplier, healthMultiplier); if(speedMultiplier != 1) stats.addMultModifier(Stat.speedMultiplier, speedMultiplier); diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 3f98e4bf30..067c12c6af 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -788,7 +788,7 @@ public class UnitType extends UnlockableContent implements Senseable{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.add(Stat.health, health); stats.add(Stat.armor, armor); stats.add(Stat.speed, speed * 60f / tilesize, StatUnit.tilesSecond); diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index a3752822e1..ae3ecda19a 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -637,13 +637,17 @@ public class Block extends UnlockableContent implements Senseable{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.useCategories = true; stats.add(Stat.size, "@x@", size, size); + if(unitCapModifier != 0){ + stats.add(Stat.maxUnits, (unitCapModifier < 0 ? "-" : "+") + Math.abs(unitCapModifier)); + } + if(synthetic()){ stats.add(Stat.health, health, StatUnit.none); if(armor > 0){ @@ -725,10 +729,6 @@ public class Block extends UnlockableContent implements Senseable{ ); } - if(unitCapModifier != 0){ - stats.add(Stat.maxUnits, (unitCapModifier < 0 ? "-" : "+") + Math.abs(unitCapModifier)); - } - //liquids added last if(hasLiquids){ //TODO liquids need to be handled VERY carefully. there are several potential possibilities: diff --git a/core/src/mindustry/world/Tile.java b/core/src/mindustry/world/Tile.java index 2454d2a960..d963743d12 100644 --- a/core/src/mindustry/world/Tile.java +++ b/core/src/mindustry/world/Tile.java @@ -201,11 +201,6 @@ public class Tile implements Position, QuadTreeObject, Displayable{ this.block = block; } - @SuppressWarnings("unchecked") - public T cblock(){ - return (T)block; - } - public Team team(){ return build == null ? Team.derelict : build.team; } diff --git a/core/src/mindustry/world/blocks/campaign/LandingPad.java b/core/src/mindustry/world/blocks/campaign/LandingPad.java index cbda305431..3b489b7270 100644 --- a/core/src/mindustry/world/blocks/campaign/LandingPad.java +++ b/core/src/mindustry/world/blocks/campaign/LandingPad.java @@ -116,8 +116,8 @@ public class LandingPad extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.cooldownTime, (cooldownTime+arrivalDuration)/60f, StatUnit.seconds); } diff --git a/core/src/mindustry/world/blocks/campaign/LaunchPad.java b/core/src/mindustry/world/blocks/campaign/LaunchPad.java index c6f58739c7..49bb6b5f9e 100644 --- a/core/src/mindustry/world/blocks/campaign/LaunchPad.java +++ b/core/src/mindustry/world/blocks/campaign/LaunchPad.java @@ -56,8 +56,8 @@ public class LaunchPad extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.launchTime, launchTime / 60f, StatUnit.seconds); } diff --git a/core/src/mindustry/world/blocks/defense/BuildTurret.java b/core/src/mindustry/world/blocks/defense/BuildTurret.java index fc9a2e6dc7..51eeaaa73a 100644 --- a/core/src/mindustry/world/blocks/defense/BuildTurret.java +++ b/core/src/mindustry/world/blocks/defense/BuildTurret.java @@ -78,8 +78,8 @@ public class BuildTurret extends BaseTurret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.addPercent(Stat.buildSpeed, buildSpeed); } diff --git a/core/src/mindustry/world/blocks/defense/ForceProjector.java b/core/src/mindustry/world/blocks/defense/ForceProjector.java index 400ffc3c5a..1146b8eadc 100644 --- a/core/src/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/mindustry/world/blocks/defense/ForceProjector.java @@ -105,11 +105,11 @@ public class ForceProjector extends Block{ } @Override - public void setStats(){ + public void setStats(Stats stats){ boolean consItems = itemConsumer != null; if(consItems) stats.timePeriod = phaseUseTime; - super.setStats(); + super.setStats(stats); stats.add(Stat.shieldHealth, shieldHealth, StatUnit.none); stats.add(Stat.range, radius / tilesize, StatUnit.blocks); stats.add(Stat.regenerationRate, cooldownNormal * 60f, StatUnit.perSecond); diff --git a/core/src/mindustry/world/blocks/defense/MendProjector.java b/core/src/mindustry/world/blocks/defense/MendProjector.java index 91ee4035ba..7a173c369a 100644 --- a/core/src/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/mindustry/world/blocks/defense/MendProjector.java @@ -55,9 +55,9 @@ public class MendProjector extends Block{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = useTime; - super.setStats(); + super.setStats(stats); stats.add(Stat.repairTime, (int)(100f / healPercent * reload / 60f), StatUnit.seconds); stats.add(Stat.range, range / tilesize, StatUnit.blocks); diff --git a/core/src/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/mindustry/world/blocks/defense/OverdriveProjector.java index 69712beaea..f002e490ca 100644 --- a/core/src/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/mindustry/world/blocks/defense/OverdriveProjector.java @@ -60,9 +60,9 @@ public class OverdriveProjector extends Block{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = useTime; - super.setStats(); + super.setStats(stats); stats.add(Stat.speedIncrease, "+" + (int)(speedBoost * 100f - 100) + "%"); stats.add(Stat.range, range / tilesize, StatUnit.blocks); diff --git a/core/src/mindustry/world/blocks/defense/RegenProjector.java b/core/src/mindustry/world/blocks/defense/RegenProjector.java index 1f8d60a39b..cc8c42db08 100644 --- a/core/src/mindustry/world/blocks/defense/RegenProjector.java +++ b/core/src/mindustry/world/blocks/defense/RegenProjector.java @@ -88,9 +88,9 @@ public class RegenProjector extends Block{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = optionalUseTime; - super.setStats(); + super.setStats(stats); stats.add(Stat.repairTime, (int)(1f / (healPercent / 100f) / 60f), StatUnit.seconds); stats.add(Stat.range, range, StatUnit.blocks); diff --git a/core/src/mindustry/world/blocks/defense/ShieldWall.java b/core/src/mindustry/world/blocks/defense/ShieldWall.java index 807dc9a789..d93bd5d408 100644 --- a/core/src/mindustry/world/blocks/defense/ShieldWall.java +++ b/core/src/mindustry/world/blocks/defense/ShieldWall.java @@ -28,8 +28,8 @@ public class ShieldWall extends Wall{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.shieldHealth, shieldHealth); } diff --git a/core/src/mindustry/world/blocks/defense/ShockMine.java b/core/src/mindustry/world/blocks/defense/ShockMine.java index ebcc11019a..2b6e790d19 100644 --- a/core/src/mindustry/world/blocks/defense/ShockMine.java +++ b/core/src/mindustry/world/blocks/defense/ShockMine.java @@ -38,12 +38,12 @@ public class ShockMine extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.damage, table -> { table.add((String)(Core.bundle.format("bullet.lightning", tendrils, Strings.autoFixed(damage, 2)).replace("[stat]", "[white]"))); }); - } + } public class ShockMineBuild extends Building{ diff --git a/core/src/mindustry/world/blocks/defense/ShockwaveTower.java b/core/src/mindustry/world/blocks/defense/ShockwaveTower.java index 9d197bcf5f..48e703105f 100644 --- a/core/src/mindustry/world/blocks/defense/ShockwaveTower.java +++ b/core/src/mindustry/world/blocks/defense/ShockwaveTower.java @@ -48,8 +48,8 @@ public class ShockwaveTower extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.damage, bulletDamage, StatUnit.none); stats.add(Stat.range, range / tilesize, StatUnit.blocks); diff --git a/core/src/mindustry/world/blocks/defense/Wall.java b/core/src/mindustry/world/blocks/defense/Wall.java index 123a3f7f4c..561ad43746 100644 --- a/core/src/mindustry/world/blocks/defense/Wall.java +++ b/core/src/mindustry/world/blocks/defense/Wall.java @@ -50,8 +50,8 @@ public class Wall extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); if(chanceDeflect > 0f) stats.add(Stat.baseDeflectChance, chanceDeflect, StatUnit.none); if(lightningChance > 0f){ diff --git a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java index 19f3b922b8..9ecd0947ac 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java @@ -90,8 +90,8 @@ public class BaseTurret extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.shootRange, range / tilesize, StatUnit.blocks); if(activationTime > 0) stats.add(Stat.activationTime, activationTime / 60f, StatUnit.seconds); diff --git a/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java index 3c7586f4e0..5727ee4a16 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java @@ -29,8 +29,8 @@ public class ContinuousLiquidTurret extends ContinuousTurret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); //mirror stats onto each bullet (purely visual) ammoTypes.each((l, b) -> b.statLiquidConsumed = liquidConsumed); diff --git a/core/src/mindustry/world/blocks/defense/turrets/ContinuousTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ContinuousTurret.java index 9cb43af2d5..815f8ba3ee 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ContinuousTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ContinuousTurret.java @@ -26,8 +26,8 @@ public class ContinuousTurret extends Turret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.ammo, StatValues.ammo(ObjectMap.of(this, shootType))); stats.remove(Stat.reload); diff --git a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java index 2b560245fa..b4b582499d 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -46,8 +46,8 @@ public class ItemTurret extends Turret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.remove(Stat.itemCapacity); stats.add(Stat.ammo, StatValues.ammo(ammoTypes, name)); diff --git a/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java b/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java index 69d15b23e6..286d1f13ec 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java @@ -23,8 +23,8 @@ public class LaserTurret extends PowerTurret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.remove(Stat.booster); if(coolant != null){ diff --git a/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java index c8d62fa7a0..d48b0f4a48 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -34,8 +34,8 @@ public class LiquidTurret extends Turret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.ammo, StatValues.ammo(ammoTypes, name)); } diff --git a/core/src/mindustry/world/blocks/defense/turrets/PayloadAmmoTurret.java b/core/src/mindustry/world/blocks/defense/turrets/PayloadAmmoTurret.java index 092fd472d0..4ea0fcf8bf 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/PayloadAmmoTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/PayloadAmmoTurret.java @@ -48,8 +48,8 @@ public class PayloadAmmoTurret extends Turret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.remove(Stat.itemCapacity); stats.add(Stat.ammo, StatValues.ammo(ammoTypes, true)); diff --git a/core/src/mindustry/world/blocks/defense/turrets/PointDefenseTurret.java b/core/src/mindustry/world/blocks/defense/turrets/PointDefenseTurret.java index 786854125c..c274c63a2d 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/PointDefenseTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/PointDefenseTurret.java @@ -48,8 +48,8 @@ public class PointDefenseTurret extends ReloadTurret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.reload, 60f / reload, StatUnit.perSecond); stats.add(Stat.damage, bulletDamage, StatUnit.none); diff --git a/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java b/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java index 945976e559..4462470901 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java @@ -14,8 +14,8 @@ public class PowerTurret extends Turret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.ammo, StatValues.ammo(ObjectMap.of(this, shootType))); } diff --git a/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java index 4ca81e9d20..6444b848d7 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java @@ -14,8 +14,8 @@ public class ReloadTurret extends BaseTurret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); if(coolant != null){ stats.replace(Stat.booster, StatValues.boosters(reload, coolant.amount, coolantMultiplier, true, coolant::consumes)); diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index 7afb3d2764..84f409d587 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -54,8 +54,8 @@ public class TractorBeamTurret extends BaseTurret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.targetsAir, targetAir); stats.add(Stat.targetsGround, targetGround); diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index f67d9a685a..086591ad32 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -182,8 +182,8 @@ public class Turret extends ReloadTurret{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.inaccuracy, (int)inaccuracy, StatUnit.degrees); stats.add(Stat.reload, 60f / (reload + (!reloadWhileCharging ? shoot.firstShotDelay : 0f)) * shoot.shots, StatUnit.perSecond); @@ -792,7 +792,7 @@ public class Turret extends ReloadTurret{ bulletX = x + Angles.trnsx(rotation - 90, shootX + xOffset + xSpread, shootY + yOffset), bulletY = y + Angles.trnsy(rotation - 90, shootX + xOffset + xSpread, shootY + yOffset), shootAngle = rotation + angleOffset + Mathf.range(inaccuracy + type.inaccuracy); - + float baseLife = (1f - lifeRnd) + Mathf.random(lifeRnd) + extraLife, lifeScl = type.scaleLife ? Mathf.clamp((baseLife + scaleLifetimeOffset) * Mathf.dst(bulletX, bulletY, targetPos.x, targetPos.y) / type.range, minRange() / type.range, range() / type.range) : baseLife; diff --git a/core/src/mindustry/world/blocks/distribution/BufferedItemBridge.java b/core/src/mindustry/world/blocks/distribution/BufferedItemBridge.java index f14c73a483..41642b7aa2 100644 --- a/core/src/mindustry/world/blocks/distribution/BufferedItemBridge.java +++ b/core/src/mindustry/world/blocks/distribution/BufferedItemBridge.java @@ -19,10 +19,10 @@ public class BufferedItemBridge extends ItemBridge{ hasItems = true; canOverdrive = true; } - + @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); //Hard to calculate, fps and overdive reliant. Movement speed taken from testing stats.add(Stat.itemsMoved, displayedSpeed, StatUnit.itemsSecond); diff --git a/core/src/mindustry/world/blocks/distribution/Conveyor.java b/core/src/mindustry/world/blocks/distribution/Conveyor.java index feebf21dd3..27377c50bf 100644 --- a/core/src/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/mindustry/world/blocks/distribution/Conveyor.java @@ -53,8 +53,8 @@ public class Conveyor extends Block implements Autotiler{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); //have to add a custom calculated speed, since the actual movement speed is apparently not linear stats.add(Stat.itemsMoved, displayedSpeed, StatUnit.itemsSecond); diff --git a/core/src/mindustry/world/blocks/distribution/DirectionalUnloader.java b/core/src/mindustry/world/blocks/distribution/DirectionalUnloader.java index 6f944e4855..ca0a0fe7c0 100644 --- a/core/src/mindustry/world/blocks/distribution/DirectionalUnloader.java +++ b/core/src/mindustry/world/blocks/distribution/DirectionalUnloader.java @@ -56,8 +56,8 @@ public class DirectionalUnloader extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.speed, 60f / speed, StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/distribution/Duct.java b/core/src/mindustry/world/blocks/distribution/Duct.java index 70cad01008..2106c21521 100644 --- a/core/src/mindustry/world/blocks/distribution/Duct.java +++ b/core/src/mindustry/world/blocks/distribution/Duct.java @@ -56,8 +56,8 @@ public class Duct extends Block implements Autotiler{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.itemsMoved, 60f / speed, StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/distribution/DuctBridge.java b/core/src/mindustry/world/blocks/distribution/DuctBridge.java index e225796b70..e50a4b099a 100644 --- a/core/src/mindustry/world/blocks/distribution/DuctBridge.java +++ b/core/src/mindustry/world/blocks/distribution/DuctBridge.java @@ -2,7 +2,6 @@ package mindustry.world.blocks.distribution; import mindustry.gen.*; import mindustry.type.*; -import mindustry.world.*; import mindustry.world.meta.*; public class DuctBridge extends DirectionBridge{ @@ -18,8 +17,8 @@ public class DuctBridge extends DirectionBridge{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.itemsMoved, 60f / speed, StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/distribution/DuctJunction.java b/core/src/mindustry/world/blocks/distribution/DuctJunction.java index d461926e5a..800302b6dc 100644 --- a/core/src/mindustry/world/blocks/distribution/DuctJunction.java +++ b/core/src/mindustry/world/blocks/distribution/DuctJunction.java @@ -38,8 +38,8 @@ public class DuctJunction extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); //4 tems is misleading stats.remove(Stat.itemCapacity); } diff --git a/core/src/mindustry/world/blocks/distribution/DuctRouter.java b/core/src/mindustry/world/blocks/distribution/DuctRouter.java index bb4eaeeb14..8327bf851c 100644 --- a/core/src/mindustry/world/blocks/distribution/DuctRouter.java +++ b/core/src/mindustry/world/blocks/distribution/DuctRouter.java @@ -45,8 +45,8 @@ public class DuctRouter extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.itemsMoved, 60f / speed * itemCapacity, StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/distribution/ItemBridge.java b/core/src/mindustry/world/blocks/distribution/ItemBridge.java index 0fe7085135..3fb71a4c45 100644 --- a/core/src/mindustry/world/blocks/distribution/ItemBridge.java +++ b/core/src/mindustry/world/blocks/distribution/ItemBridge.java @@ -71,8 +71,8 @@ public class ItemBridge extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); if(transportTime != 0f){ stats.add(Stat.itemsMoved, 60f / transportTime, StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/distribution/Junction.java b/core/src/mindustry/world/blocks/distribution/Junction.java index 7a740f01c7..5e8b1b15e9 100644 --- a/core/src/mindustry/world/blocks/distribution/Junction.java +++ b/core/src/mindustry/world/blocks/distribution/Junction.java @@ -27,8 +27,8 @@ public class Junction extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); //(60f / speed * capacity) returns 13.84 which is not the actual value (non linear, depends on fps) stats.add(Stat.itemsMoved, displayedSpeed, StatUnit.itemsSecond); diff --git a/core/src/mindustry/world/blocks/distribution/MassDriver.java b/core/src/mindustry/world/blocks/distribution/MassDriver.java index da18d3d5a8..120e7787ad 100644 --- a/core/src/mindustry/world/blocks/distribution/MassDriver.java +++ b/core/src/mindustry/world/blocks/distribution/MassDriver.java @@ -66,8 +66,8 @@ public class MassDriver extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.shootRange, range / tilesize, StatUnit.blocks); stats.add(Stat.reload, table -> { diff --git a/core/src/mindustry/world/blocks/distribution/OverflowDuct.java b/core/src/mindustry/world/blocks/distribution/OverflowDuct.java index 3e636cb4b1..bebeb07315 100644 --- a/core/src/mindustry/world/blocks/distribution/OverflowDuct.java +++ b/core/src/mindustry/world/blocks/distribution/OverflowDuct.java @@ -38,8 +38,8 @@ public class OverflowDuct extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.itemsMoved, 60f / speed, StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/distribution/StackConveyor.java b/core/src/mindustry/world/blocks/distribution/StackConveyor.java index d12b2bca04..f76b8c75a0 100644 --- a/core/src/mindustry/world/blocks/distribution/StackConveyor.java +++ b/core/src/mindustry/world/blocks/distribution/StackConveyor.java @@ -61,8 +61,8 @@ public class StackConveyor extends Block implements Autotiler{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.itemsMoved, Mathf.round(itemCapacity * speed * 60), StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/heat/HeatProducer.java b/core/src/mindustry/world/blocks/heat/HeatProducer.java index fd2058c6e5..807ea32443 100644 --- a/core/src/mindustry/world/blocks/heat/HeatProducer.java +++ b/core/src/mindustry/world/blocks/heat/HeatProducer.java @@ -27,8 +27,8 @@ public class HeatProducer extends GenericCrafter{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.output, heatOutput, StatUnit.heatUnits); } diff --git a/core/src/mindustry/world/blocks/liquid/LiquidJunction.java b/core/src/mindustry/world/blocks/liquid/LiquidJunction.java index 26df657dd2..e80f586b3f 100644 --- a/core/src/mindustry/world/blocks/liquid/LiquidJunction.java +++ b/core/src/mindustry/world/blocks/liquid/LiquidJunction.java @@ -18,8 +18,8 @@ public class LiquidJunction extends LiquidBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.remove(Stat.liquidCapacity); } diff --git a/core/src/mindustry/world/blocks/logic/LogicBlock.java b/core/src/mindustry/world/blocks/logic/LogicBlock.java index 8635fb6baf..a5bbdb32ae 100644 --- a/core/src/mindustry/world/blocks/logic/LogicBlock.java +++ b/core/src/mindustry/world/blocks/logic/LogicBlock.java @@ -172,8 +172,8 @@ public class LogicBlock extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); if(!privileged){ stats.add(Stat.linkRange, range / 8, StatUnit.blocks); diff --git a/core/src/mindustry/world/blocks/logic/LogicDisplay.java b/core/src/mindustry/world/blocks/logic/LogicDisplay.java index d19b3375b1..537d55f15c 100644 --- a/core/src/mindustry/world/blocks/logic/LogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/LogicDisplay.java @@ -68,8 +68,8 @@ public class LogicDisplay extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.displaySize, "@x@", displaySize, displaySize); } diff --git a/core/src/mindustry/world/blocks/logic/MemoryBlock.java b/core/src/mindustry/world/blocks/logic/MemoryBlock.java index 21fe376629..fa9a308d30 100644 --- a/core/src/mindustry/world/blocks/logic/MemoryBlock.java +++ b/core/src/mindustry/world/blocks/logic/MemoryBlock.java @@ -1,6 +1,5 @@ package mindustry.world.blocks.logic; -import arc.util.*; import arc.util.io.*; import mindustry.gen.*; import mindustry.io.*; @@ -27,8 +26,8 @@ public class MemoryBlock extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.memoryCapacity, memoryCapacity, StatUnit.none); } diff --git a/core/src/mindustry/world/blocks/payloads/Constructor.java b/core/src/mindustry/world/blocks/payloads/Constructor.java index b05d9eac80..cd5e650a1e 100644 --- a/core/src/mindustry/world/blocks/payloads/Constructor.java +++ b/core/src/mindustry/world/blocks/payloads/Constructor.java @@ -39,8 +39,8 @@ public class Constructor extends BlockProducer{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.output, "@x@ ~ @x@", minBlockSize, minBlockSize, maxBlockSize, maxBlockSize); stats.addPercent(Stat.buildSpeed, buildSpeed); diff --git a/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java b/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java index c17c469868..3403cb9cf1 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java @@ -58,8 +58,8 @@ public class PayloadConveyor extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.payloadCapacity, StatValues.squared(payloadLimit, StatUnit.blocksSquared)); } diff --git a/core/src/mindustry/world/blocks/payloads/PayloadMassDriver.java b/core/src/mindustry/world/blocks/payloads/PayloadMassDriver.java index 6c60ef6e9a..1917a2cf89 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadMassDriver.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadMassDriver.java @@ -78,8 +78,8 @@ public class PayloadMassDriver extends PayloadBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.payloadCapacity, StatValues.squared(maxPayloadSize, StatUnit.blocksSquared)); stats.add(Stat.reload, 60f / (chargeTime + reload), StatUnit.perSecond); diff --git a/core/src/mindustry/world/blocks/power/BeamNode.java b/core/src/mindustry/world/blocks/power/BeamNode.java index a32f2e2178..69c853eb4d 100644 --- a/core/src/mindustry/world/blocks/power/BeamNode.java +++ b/core/src/mindustry/world/blocks/power/BeamNode.java @@ -55,8 +55,8 @@ public class BeamNode extends PowerBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.powerRange, range, StatUnit.blocks); } diff --git a/core/src/mindustry/world/blocks/power/ConsumeGenerator.java b/core/src/mindustry/world/blocks/power/ConsumeGenerator.java index 087601ea72..e27d5fd531 100644 --- a/core/src/mindustry/world/blocks/power/ConsumeGenerator.java +++ b/core/src/mindustry/world/blocks/power/ConsumeGenerator.java @@ -80,9 +80,9 @@ public class ConsumeGenerator extends PowerGenerator{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = itemDuration; - super.setStats(); + super.setStats(stats); if(hasItems){ stats.add(Stat.productionTime, itemDuration / 60f, StatUnit.seconds); diff --git a/core/src/mindustry/world/blocks/power/HeaterGenerator.java b/core/src/mindustry/world/blocks/power/HeaterGenerator.java index 782f2a1f79..17650dbf11 100644 --- a/core/src/mindustry/world/blocks/power/HeaterGenerator.java +++ b/core/src/mindustry/world/blocks/power/HeaterGenerator.java @@ -24,8 +24,8 @@ public class HeaterGenerator extends ConsumeGenerator{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.output, heatOutput, StatUnit.heatUnits); } diff --git a/core/src/mindustry/world/blocks/power/ImpactReactor.java b/core/src/mindustry/world/blocks/power/ImpactReactor.java index dbfaee7caf..521f6af5ac 100644 --- a/core/src/mindustry/world/blocks/power/ImpactReactor.java +++ b/core/src/mindustry/world/blocks/power/ImpactReactor.java @@ -43,7 +43,6 @@ public class ImpactReactor extends PowerGenerator{ @Override public void setBars(){ - stats.timePeriod = itemDuration; super.setBars(); addBar("power", (GeneratorBuild entity) -> new Bar(() -> @@ -54,9 +53,9 @@ public class ImpactReactor extends PowerGenerator{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = itemDuration; - super.setStats(); + super.setStats(stats); if(hasItems){ stats.add(Stat.productionTime, itemDuration / 60f, StatUnit.seconds); diff --git a/core/src/mindustry/world/blocks/power/NuclearReactor.java b/core/src/mindustry/world/blocks/power/NuclearReactor.java index 7238ce0ae7..71e11ab24e 100644 --- a/core/src/mindustry/world/blocks/power/NuclearReactor.java +++ b/core/src/mindustry/world/blocks/power/NuclearReactor.java @@ -74,9 +74,9 @@ public class NuclearReactor extends PowerGenerator{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = itemDuration; - super.setStats(); + super.setStats(stats); stats.add(Stat.meltdownTime, table -> { float avg = (itemDuration / 60f) / (1f + heatConsumeRate / 2f); diff --git a/core/src/mindustry/world/blocks/power/PowerGenerator.java b/core/src/mindustry/world/blocks/power/PowerGenerator.java index d51b499ada..fe8a49d94c 100644 --- a/core/src/mindustry/world/blocks/power/PowerGenerator.java +++ b/core/src/mindustry/world/blocks/power/PowerGenerator.java @@ -77,8 +77,8 @@ public class PowerGenerator extends PowerDistributor{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(generationType, powerProduction * 60.0f, StatUnit.powerSecond); } diff --git a/core/src/mindustry/world/blocks/power/PowerNode.java b/core/src/mindustry/world/blocks/power/PowerNode.java index 5fa855db67..280f9a0396 100644 --- a/core/src/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/mindustry/world/blocks/power/PowerNode.java @@ -142,8 +142,8 @@ public class PowerNode extends PowerBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.powerRange, laserRange, StatUnit.blocks); stats.add(Stat.powerConnections, maxNodes, StatUnit.none); diff --git a/core/src/mindustry/world/blocks/power/SolarGenerator.java b/core/src/mindustry/world/blocks/power/SolarGenerator.java index 785151ad38..5e9f1c39e0 100644 --- a/core/src/mindustry/world/blocks/power/SolarGenerator.java +++ b/core/src/mindustry/world/blocks/power/SolarGenerator.java @@ -16,8 +16,8 @@ public class SolarGenerator extends PowerGenerator{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.remove(generationType); stats.add(generationType, powerProduction * 60.0f, StatUnit.powerSecond); } diff --git a/core/src/mindustry/world/blocks/power/ThermalGenerator.java b/core/src/mindustry/world/blocks/power/ThermalGenerator.java index ca57884ce7..2cf0d7933a 100644 --- a/core/src/mindustry/world/blocks/power/ThermalGenerator.java +++ b/core/src/mindustry/world/blocks/power/ThermalGenerator.java @@ -53,8 +53,8 @@ public class ThermalGenerator extends PowerGenerator{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.tiles, attribute, floating, size * size * displayEfficiencyScale, !displayEfficiency); stats.remove(generationType); diff --git a/core/src/mindustry/world/blocks/power/VariableReactor.java b/core/src/mindustry/world/blocks/power/VariableReactor.java index a7bd5553f9..78c34d4c3a 100644 --- a/core/src/mindustry/world/blocks/power/VariableReactor.java +++ b/core/src/mindustry/world/blocks/power/VariableReactor.java @@ -64,8 +64,8 @@ public class VariableReactor extends PowerGenerator{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.input, maxHeat, StatUnit.heatUnits); } diff --git a/core/src/mindustry/world/blocks/production/AttributeCrafter.java b/core/src/mindustry/world/blocks/production/AttributeCrafter.java index 448e00bada..2be3325fd0 100644 --- a/core/src/mindustry/world/blocks/production/AttributeCrafter.java +++ b/core/src/mindustry/world/blocks/production/AttributeCrafter.java @@ -74,10 +74,10 @@ public class AttributeCrafter extends GenericCrafter{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); if(outputScale > 0f){ - stats.add(baseEfficiency <= 0.0001f ? Stat.tiles : + stats.add(baseEfficiency <= 0.0001f ? Stat.tiles : Stat.affinities, attribute, floating, boostScale * size * size, outputScale * size * size, Seq.with(outputItems), craftTime, !displayEfficiency); }else{ stats.add(baseEfficiency <= 0.0001f ? Stat.tiles : Stat.affinities, attribute, floating, boostScale * size * size, !displayEfficiency); diff --git a/core/src/mindustry/world/blocks/production/BeamDrill.java b/core/src/mindustry/world/blocks/production/BeamDrill.java index 7d571d071a..64043ef44a 100644 --- a/core/src/mindustry/world/blocks/production/BeamDrill.java +++ b/core/src/mindustry/world/blocks/production/BeamDrill.java @@ -116,8 +116,8 @@ public class BeamDrill extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.drillTier, StatValues.drillables(drillTime, 0f, size, drillMultipliers, b -> (b instanceof Floor f && f.wallOre && f.itemDrop != null && f.itemDrop.hardness <= tier && (blockedItems == null || !blockedItems.contains(f.itemDrop))) || diff --git a/core/src/mindustry/world/blocks/production/BurstDrill.java b/core/src/mindustry/world/blocks/production/BurstDrill.java index 142be4dec8..f52221dc32 100644 --- a/core/src/mindustry/world/blocks/production/BurstDrill.java +++ b/core/src/mindustry/world/blocks/production/BurstDrill.java @@ -56,8 +56,8 @@ public class BurstDrill extends Drill{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); if(liquidBoostIntensity != 1 && findConsumer(f -> f instanceof ConsumeLiquidBase && f.booster) instanceof ConsumeLiquidBase consBase){ stats.remove(Stat.booster); diff --git a/core/src/mindustry/world/blocks/production/Drill.java b/core/src/mindustry/world/blocks/production/Drill.java index 9683dc20f5..ffd7c6fb56 100644 --- a/core/src/mindustry/world/blocks/production/Drill.java +++ b/core/src/mindustry/world/blocks/production/Drill.java @@ -185,8 +185,8 @@ public class Drill extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.drillTier, StatValues.drillables(drillTime, hardnessDrillMultiplier, size * size, drillMultipliers, b -> b instanceof Floor f && !f.wallOre && f.itemDrop != null && f.itemDrop.hardness <= tier && (blockedItems == null || !blockedItems.contains(f.itemDrop)) && (indexer.isBlockPresent(f) || state.isMenu()))); diff --git a/core/src/mindustry/world/blocks/production/Fracker.java b/core/src/mindustry/world/blocks/production/Fracker.java index a65ee3f207..b613a872b0 100644 --- a/core/src/mindustry/world/blocks/production/Fracker.java +++ b/core/src/mindustry/world/blocks/production/Fracker.java @@ -16,9 +16,9 @@ public class Fracker extends SolidPump{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = itemUseTime; - super.setStats(); + super.setStats(stats); stats.add(Stat.productionTime, itemUseTime / 60f, StatUnit.seconds); } diff --git a/core/src/mindustry/world/blocks/production/GenericCrafter.java b/core/src/mindustry/world/blocks/production/GenericCrafter.java index 24729d2da2..77a7d7d079 100644 --- a/core/src/mindustry/world/blocks/production/GenericCrafter.java +++ b/core/src/mindustry/world/blocks/production/GenericCrafter.java @@ -4,7 +4,6 @@ import arc.graphics.g2d.*; import arc.math.*; import arc.math.geom.*; import arc.struct.*; -import arc.struct.*; import arc.util.*; import arc.util.io.*; import mindustry.content.*; @@ -62,9 +61,9 @@ public class GenericCrafter extends Block{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = craftTime; - super.setStats(); + super.setStats(stats); if((hasItems && itemCapacity > 0) || outputItems != null){ stats.add(Stat.productionTime, craftTime / 60f, StatUnit.seconds); } diff --git a/core/src/mindustry/world/blocks/production/HeatCrafter.java b/core/src/mindustry/world/blocks/production/HeatCrafter.java index bf168f35b9..2d443bd024 100644 --- a/core/src/mindustry/world/blocks/production/HeatCrafter.java +++ b/core/src/mindustry/world/blocks/production/HeatCrafter.java @@ -33,8 +33,8 @@ public class HeatCrafter extends GenericCrafter{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.input, heatRequirement, StatUnit.heatUnits); stats.add(Stat.maxEfficiency, (int)(maxEfficiency * 100f), StatUnit.percent); diff --git a/core/src/mindustry/world/blocks/production/Pump.java b/core/src/mindustry/world/blocks/production/Pump.java index 7cb9a7877e..1c74a9af01 100644 --- a/core/src/mindustry/world/blocks/production/Pump.java +++ b/core/src/mindustry/world/blocks/production/Pump.java @@ -31,8 +31,8 @@ public class Pump extends LiquidBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.output, 60f * pumpAmount * size * size, StatUnit.liquidSecond); } diff --git a/core/src/mindustry/world/blocks/production/Separator.java b/core/src/mindustry/world/blocks/production/Separator.java index 22ad5c94ab..abdc438f48 100644 --- a/core/src/mindustry/world/blocks/production/Separator.java +++ b/core/src/mindustry/world/blocks/production/Separator.java @@ -34,9 +34,9 @@ public class Separator extends Block{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = craftTime; - super.setStats(); + super.setStats(stats); int[] sum = {0}; for(var r : results) sum[0] += r.amount; diff --git a/core/src/mindustry/world/blocks/production/SolidPump.java b/core/src/mindustry/world/blocks/production/SolidPump.java index 064033c422..2106a0d383 100644 --- a/core/src/mindustry/world/blocks/production/SolidPump.java +++ b/core/src/mindustry/world/blocks/production/SolidPump.java @@ -55,8 +55,8 @@ public class SolidPump extends Pump{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.remove(Stat.output); stats.add(Stat.output, result, 60f * pumpAmount, true); diff --git a/core/src/mindustry/world/blocks/production/WallCrafter.java b/core/src/mindustry/world/blocks/production/WallCrafter.java index 9ae3c98364..2102c213e6 100644 --- a/core/src/mindustry/world/blocks/production/WallCrafter.java +++ b/core/src/mindustry/world/blocks/production/WallCrafter.java @@ -73,8 +73,8 @@ public class WallCrafter extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.output, output); stats.add(Stat.tiles, StatValues.blocks(attribute, floating, 1f, true, false)); diff --git a/core/src/mindustry/world/blocks/sandbox/ItemSource.java b/core/src/mindustry/world/blocks/sandbox/ItemSource.java index 59b006bb3e..a8a6a35592 100644 --- a/core/src/mindustry/world/blocks/sandbox/ItemSource.java +++ b/core/src/mindustry/world/blocks/sandbox/ItemSource.java @@ -42,8 +42,8 @@ public class ItemSource extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.output, itemsPerSecond, StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/sandbox/PowerVoid.java b/core/src/mindustry/world/blocks/sandbox/PowerVoid.java index d0a8acf4d7..ad75ec9c9e 100644 --- a/core/src/mindustry/world/blocks/sandbox/PowerVoid.java +++ b/core/src/mindustry/world/blocks/sandbox/PowerVoid.java @@ -13,8 +13,8 @@ public class PowerVoid extends PowerBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.remove(Stat.powerUse); } } diff --git a/core/src/mindustry/world/blocks/storage/CoreBlock.java b/core/src/mindustry/world/blocks/storage/CoreBlock.java index a92638b128..fc4f254a6e 100644 --- a/core/src/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/mindustry/world/blocks/storage/CoreBlock.java @@ -122,8 +122,8 @@ public class CoreBlock extends StorageBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.unitType, table -> { table.row(); diff --git a/core/src/mindustry/world/blocks/storage/Unloader.java b/core/src/mindustry/world/blocks/storage/Unloader.java index a35cee2a51..eaa10b1bbc 100644 --- a/core/src/mindustry/world/blocks/storage/Unloader.java +++ b/core/src/mindustry/world/blocks/storage/Unloader.java @@ -58,8 +58,8 @@ public class Unloader extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.speed, 60f / speed, StatUnit.itemsSecond); } diff --git a/core/src/mindustry/world/blocks/units/Reconstructor.java b/core/src/mindustry/world/blocks/units/Reconstructor.java index 0432cad986..4c0c3833ec 100644 --- a/core/src/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/mindustry/world/blocks/units/Reconstructor.java @@ -89,9 +89,9 @@ public class Reconstructor extends UnitBlock{ } @Override - public void setStats(){ + public void setStats(Stats stats){ stats.timePeriod = constructTime; - super.setStats(); + super.setStats(stats); stats.add(Stat.productionTime, constructTime / 60f, StatUnit.seconds); stats.add(Stat.output, table -> { diff --git a/core/src/mindustry/world/blocks/units/RepairTower.java b/core/src/mindustry/world/blocks/units/RepairTower.java index b48ac4400d..585ab35674 100644 --- a/core/src/mindustry/world/blocks/units/RepairTower.java +++ b/core/src/mindustry/world/blocks/units/RepairTower.java @@ -33,8 +33,8 @@ public class RepairTower extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.range, range / tilesize, StatUnit.blocks); stats.add(Stat.repairSpeed, healAmount * 60f, StatUnit.perSecond); diff --git a/core/src/mindustry/world/blocks/units/RepairTurret.java b/core/src/mindustry/world/blocks/units/RepairTurret.java index d35c9f7f84..a41ed6b496 100644 --- a/core/src/mindustry/world/blocks/units/RepairTurret.java +++ b/core/src/mindustry/world/blocks/units/RepairTurret.java @@ -68,8 +68,8 @@ public class RepairTurret extends Block{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.range, repairRadius / tilesize, StatUnit.blocks); stats.add(Stat.repairSpeed, repairSpeed * 60f, StatUnit.perSecond); diff --git a/core/src/mindustry/world/blocks/units/UnitAssembler.java b/core/src/mindustry/world/blocks/units/UnitAssembler.java index 1e7b517766..7013a7a7ba 100644 --- a/core/src/mindustry/world/blocks/units/UnitAssembler.java +++ b/core/src/mindustry/world/blocks/units/UnitAssembler.java @@ -203,8 +203,8 @@ public class UnitAssembler extends PayloadBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.output, table -> { table.row(); diff --git a/core/src/mindustry/world/blocks/units/UnitAssemblerModule.java b/core/src/mindustry/world/blocks/units/UnitAssemblerModule.java index 3565f34fdf..c3faddc1e5 100644 --- a/core/src/mindustry/world/blocks/units/UnitAssemblerModule.java +++ b/core/src/mindustry/world/blocks/units/UnitAssemblerModule.java @@ -29,8 +29,8 @@ public class UnitAssemblerModule extends PayloadBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.add(Stat.moduleTier, tier); } diff --git a/core/src/mindustry/world/blocks/units/UnitFactory.java b/core/src/mindustry/world/blocks/units/UnitFactory.java index a2dd96845f..8d97a75e4b 100644 --- a/core/src/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/mindustry/world/blocks/units/UnitFactory.java @@ -143,8 +143,8 @@ public class UnitFactory extends UnitBlock{ } @Override - public void setStats(){ - super.setStats(); + public void setStats(Stats stats){ + super.setStats(stats); stats.remove(Stat.itemCapacity); @@ -265,7 +265,7 @@ public class UnitFactory extends UnitBlock{ if(build != null && build.team == this.team){ commandPos.set(build); } - } + } } @Override diff --git a/tests/src/test/java/PatcherTests.java b/tests/src/test/java/PatcherTests.java index c2c5bd281c..4c5bdce080 100644 --- a/tests/src/test/java/PatcherTests.java +++ b/tests/src/test/java/PatcherTests.java @@ -173,9 +173,6 @@ public class PatcherTests{ @Test void unitWeapons() throws Exception{ - UnitTypes.dagger.stats.add(Stat.charge, 999); - assertNotNull(UnitTypes.dagger.stats.toMap().get(StatCat.general).get(Stat.charge)); - apply(""" unit.dagger.weapons.+: { name: navanax-weapon @@ -193,9 +190,6 @@ public class PatcherTests{ assertEquals(999, UnitTypes.dagger.weapons.get(2).bullet.lightningLength); Vars.logic.reset(); - - UnitTypes.dagger.computeStats(); - assertNull(UnitTypes.dagger.stats.toMap().get(StatCat.general).get(Stat.charge)); } @Test