diff --git a/core/src/mindustry/ai/BlockIndexer.java b/core/src/mindustry/ai/BlockIndexer.java index 1d2095ec20..a0cf28b869 100644 --- a/core/src/mindustry/ai/BlockIndexer.java +++ b/core/src/mindustry/ai/BlockIndexer.java @@ -148,7 +148,7 @@ public class BlockIndexer{ BuildingArray set = damagedTiles[team.id]; for(Building build : set){ - if((!build.isValid() || build.team != team || !build.damaged()) || build.block instanceof BuildBlock){ + if((!build.isValid() || build.team != team || !build.damaged()) || build.block instanceof ConstructBlock){ breturnArray.add(build); } } diff --git a/core/src/mindustry/ai/types/BuilderAI.java b/core/src/mindustry/ai/types/BuilderAI.java index c2236d4c54..bd4fca20ed 100644 --- a/core/src/mindustry/ai/types/BuilderAI.java +++ b/core/src/mindustry/ai/types/BuilderAI.java @@ -5,7 +5,7 @@ import mindustry.entities.units.*; import mindustry.game.Teams.*; import mindustry.gen.*; import mindustry.world.*; -import mindustry.world.blocks.BuildBlock.*; +import mindustry.world.blocks.ConstructBlock.*; import static mindustry.Vars.*; @@ -26,7 +26,7 @@ public class BuilderAI extends AIController{ BuildPlan req = builder.buildPlan(); boolean valid = - (req.tile().build instanceof BuildEntity && req.tile().bc().cblock == req.block) || + (req.tile().build instanceof ConstructBuild && req.tile().bc().cblock == req.block) || (req.breaking ? Build.validBreak(unit.team(), req.x, req.y) : Build.validPlace(req.block, unit.team(), req.x, req.y, req.rotation)); diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 7774e51993..33dbfcec48 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -131,8 +131,8 @@ public class Blocks implements ContentList{ //Registers build blocks //no reference is needed here since they can be looked up by name later - for(int i = 1; i <= BuildBlock.maxSize; i++){ - new BuildBlock(i); + for(int i = 1; i <= ConstructBlock.maxSize; i++){ + new ConstructBlock(i); } deepwater = new Floor("deepwater"){{ @@ -1513,7 +1513,7 @@ public class Blocks implements ContentList{ rotateSpeed = 10; range = 85f; - consumes.powerCond(3f, (TractorBeamEntity e) -> e.target != null); + consumes.powerCond(3f, (TractorBeamBuild e) -> e.target != null); }}; swarmer = new ItemTurret("swarmer"){{ diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index d70776a006..852e2d9673 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -15,7 +15,7 @@ import mindustry.type.*; import mindustry.type.Weather.*; import mindustry.world.*; import mindustry.world.blocks.*; -import mindustry.world.blocks.BuildBlock.*; +import mindustry.world.blocks.ConstructBlock.*; import mindustry.world.blocks.storage.CoreBlock.*; import java.util.*; @@ -41,9 +41,9 @@ public class Logic implements ApplicationListener{ //skip null entities or un-rebuildables, for obvious reasons; also skip client since they can't modify these requests if(tile.build == null || !tile.block().rebuildable || net.client()) return; - if(block instanceof BuildBlock){ + if(block instanceof ConstructBlock){ - BuildEntity entity = tile.bc(); + ConstructBuild entity = tile.bc(); //update block to reflect the fact that something was being constructed if(entity.cblock != null && entity.cblock.synthetic()){ diff --git a/core/src/mindustry/entities/bullet/HealBulletType.java b/core/src/mindustry/entities/bullet/HealBulletType.java index 4d363dc611..135a7fe14a 100644 --- a/core/src/mindustry/entities/bullet/HealBulletType.java +++ b/core/src/mindustry/entities/bullet/HealBulletType.java @@ -46,7 +46,7 @@ public class HealBulletType extends BulletType{ public void hitTile(Bullet b, Building tile){ super.hit(b); - if(tile.team == b.team && !(tile.block() instanceof BuildBlock)){ + if(tile.team == b.team && !(tile.block() instanceof ConstructBlock)){ Fx.healBlockFull.at(tile.x, tile.y, tile.block().size, Pal.heal); tile.heal(healPercent / 100f * tile.maxHealth()); } diff --git a/core/src/mindustry/entities/comp/BuilderComp.java b/core/src/mindustry/entities/comp/BuilderComp.java index 0be16c2170..815f81773f 100644 --- a/core/src/mindustry/entities/comp/BuilderComp.java +++ b/core/src/mindustry/entities/comp/BuilderComp.java @@ -16,7 +16,7 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.world.*; import mindustry.world.blocks.*; -import mindustry.world.blocks.BuildBlock.*; +import mindustry.world.blocks.ConstructBlock.*; import java.util.*; @@ -74,7 +74,7 @@ abstract class BuilderComp implements Unitc{ rotation = Mathf.slerpDelta(rotation, angleTo(tile), 0.4f); } - if(!(tile.block() instanceof BuildBlock)){ + if(!(tile.block() instanceof ConstructBlock)){ if(!current.initialized && !current.breaking && Build.validPlace(current.block, team(), current.x, current.y, current.rotation)){ boolean hasAll = infinite || !Structs.contains(current.block.requirements, i -> core != null && !core.items.has(i.item)); @@ -94,18 +94,18 @@ abstract class BuilderComp implements Unitc{ return; } - if(tile.build instanceof BuildEntity && !current.initialized){ + if(tile.build instanceof ConstructBuild && !current.initialized){ Core.app.post(() -> Events.fire(new BuildSelectEvent(tile, team(), (Builderc)this, current.breaking))); current.initialized = true; } //if there is no core to build with or no build entity, stop building! - if((core == null && !infinite) || !(tile.build instanceof BuildEntity)){ + if((core == null && !infinite) || !(tile.build instanceof ConstructBuild)){ return; } //otherwise, update it. - BuildEntity entity = tile.bc(); + ConstructBuild entity = tile.bc(); if(current.breaking){ entity.deconstruct(base(), core, 1f / entity.buildCost * Time.delta * type().buildSpeed * state.rules.buildSpeedMultiplier); @@ -179,8 +179,8 @@ abstract class BuilderComp implements Unitc{ plans.remove(replace); } Tile tile = world.tile(place.x, place.y); - if(tile != null && tile.build instanceof BuildEntity){ - place.progress = tile.bc().progress; + if(tile != null && tile.build instanceof ConstructBuild){ + place.progress = tile.bc().progress; } if(tail){ plans.addLast(place); diff --git a/core/src/mindustry/game/Schematics.java b/core/src/mindustry/game/Schematics.java index 9cea91c3da..8debf7bd14 100644 --- a/core/src/mindustry/game/Schematics.java +++ b/core/src/mindustry/game/Schematics.java @@ -346,7 +346,7 @@ public class Schematics implements Loadable{ for(int cy = y; cy <= y2; cy++){ Building linked = world.build(cx, cy); - if(linked != null &&linked.block().isVisible() && !(linked.block() instanceof BuildBlock)){ + if(linked != null &&linked.block().isVisible() && !(linked.block() instanceof ConstructBlock)){ int top = linked.block().size/2; int bot = linked.block().size % 2 == 1 ? -linked.block().size/2 : -(linked.block().size - 1)/2; minx = Math.min(linked.tileX() + bot, minx); @@ -374,7 +374,7 @@ public class Schematics implements Loadable{ for(int cy = oy; cy <= oy2; cy++){ Building tile = world.build(cx, cy); - if(tile != null && !counted.contains(tile.pos()) && !(tile.block() instanceof BuildBlock) + if(tile != null && !counted.contains(tile.pos()) && !(tile.block() instanceof ConstructBlock) && (tile.block().isVisible() || (tile.block() instanceof CoreBlock))){ Object config = tile.config(); diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index c40dba517e..adb6fe0677 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -31,7 +31,7 @@ import mindustry.type.*; import mindustry.ui.fragments.*; import mindustry.world.*; import mindustry.world.blocks.*; -import mindustry.world.blocks.BuildBlock.*; +import mindustry.world.blocks.ConstructBlock.*; import mindustry.world.blocks.payloads.*; import mindustry.world.blocks.power.*; import mindustry.world.blocks.storage.CoreBlock.*; @@ -405,7 +405,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ public boolean requestMatches(BuildPlan request){ Tile tile = world.tile(request.x, request.y); - return tile != null && tile.block() instanceof BuildBlock && tile.bc().cblock == request.block; + return tile != null && tile.block() instanceof ConstructBlock && tile.bc().cblock == request.block; } public void drawBreaking(int x, int y){ diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index d4a8087e91..b63a0b17dc 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -241,8 +241,8 @@ public class ContentParser{ readFields(block, value, true); - if(block.size > BuildBlock.maxSize){ - throw new IllegalArgumentException("Blocks cannot be larger than " + BuildBlock.maxSize); + if(block.size > ConstructBlock.maxSize){ + throw new IllegalArgumentException("Blocks cannot be larger than " + ConstructBlock.maxSize); } //add research tech node diff --git a/core/src/mindustry/ui/fragments/PlacementFragment.java b/core/src/mindustry/ui/fragments/PlacementFragment.java index 572fa1e628..85324de349 100644 --- a/core/src/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/mindustry/ui/fragments/PlacementFragment.java @@ -23,7 +23,7 @@ import mindustry.type.*; import mindustry.ui.*; import mindustry.world.*; import mindustry.world.blocks.*; -import mindustry.world.blocks.BuildBlock.*; +import mindustry.world.blocks.ConstructBlock.*; import static mindustry.Vars.*; @@ -95,7 +95,7 @@ public class PlacementFragment extends Fragment{ if(Core.input.keyDown(Binding.pick) && player.isBuilder()){ //mouse eyedropper select Building tile = world.buildWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y); - Block tryRecipe = tile == null ? null : tile.block() instanceof BuildBlock ? ((BuildEntity)tile).cblock : tile.block; + Block tryRecipe = tile == null ? null : tile.block() instanceof ConstructBlock ? ((ConstructBuild)tile).cblock : tile.block; Object tryConfig = tile == null ? null : tile.config(); for(BuildPlan req : player.builder().plans()){ diff --git a/core/src/mindustry/world/Build.java b/core/src/mindustry/world/Build.java index 23bf31c47a..39c4f8024b 100644 --- a/core/src/mindustry/world/Build.java +++ b/core/src/mindustry/world/Build.java @@ -10,7 +10,7 @@ import mindustry.entities.*; import mindustry.game.EventType.*; import mindustry.game.*; import mindustry.world.blocks.*; -import mindustry.world.blocks.BuildBlock.*; +import mindustry.world.blocks.ConstructBlock.*; import static mindustry.Vars.*; @@ -32,10 +32,10 @@ public class Build{ int rotation = tile.build != null ? tile.build.rotation : 0; Block previous = tile.block(); - Block sub = BuildBlock.get(previous.size); + Block sub = ConstructBlock.get(previous.size); tile.setBlock(sub, team, rotation); - tile.bc().setDeconstruct(previous); + tile.bc().setDeconstruct(previous); tile.build.health(tile.build.maxHealth() * prevPercent); Core.app.post(() -> Events.fire(new BlockBuildBeginEvent(tile, team, true))); @@ -54,12 +54,12 @@ public class Build{ if(tile == null) return; Block previous = tile.block(); - Block sub = BuildBlock.get(result.size); + Block sub = ConstructBlock.get(result.size); result.beforePlaceBegan(tile, previous); tile.setBlock(sub, team, rotation); - tile.bc().setConstruct(previous, result); + tile.bc().setConstruct(previous, result); result.placeBegan(tile, previous); @@ -91,7 +91,7 @@ public class Build{ } if(type.isMultiblock()){ - if((type.canReplace(tile.block()) || (tile.block instanceof BuildBlock && tile.bc().cblock == type)) && + if((type.canReplace(tile.block()) || (tile.block instanceof ConstructBlock && tile.bc().cblock == type)) && type.canPlaceOn(tile, team) && tile.interactable(team)){ //if the block can be replaced but the sizes differ, check all the spaces around the block to make sure it can fit @@ -145,7 +145,7 @@ public class Build{ && (!tile.floor().isDeep() || type.floating || type.requiresWater || type.placeableLiquid) && tile.floor().placeableOn && (!type.requiresWater || tile.floor().liquidDrop == Liquids.water) - && (((type.canReplace(tile.block()) || (tile.block instanceof BuildBlock && tile.bc().cblock == type)) + && (((type.canReplace(tile.block()) || (tile.block instanceof ConstructBlock && tile.bc().cblock == type)) && !(type == tile.block() && (tile.build != null && rotation == tile.build.rotation) && type.rotate)) || tile.block().alwaysReplace || tile.block() == Blocks.air) && tile.block().isMultiblock() == type.isMultiblock() && type.canPlaceOn(tile, team); } diff --git a/core/src/mindustry/world/blocks/BuildBlock.java b/core/src/mindustry/world/blocks/ConstructBlock.java similarity index 96% rename from core/src/mindustry/world/blocks/BuildBlock.java rename to core/src/mindustry/world/blocks/ConstructBlock.java index 3e168c9ffc..893a7234ae 100644 --- a/core/src/mindustry/world/blocks/BuildBlock.java +++ b/core/src/mindustry/world/blocks/ConstructBlock.java @@ -23,28 +23,29 @@ import mindustry.world.modules.*; import static mindustry.Vars.*; -public class BuildBlock extends Block{ +/** A block in the process of construction. */ +public class ConstructBlock extends Block{ public static final int maxSize = 16; - private static final BuildBlock[] buildBlocks = new BuildBlock[maxSize]; + private static final ConstructBlock[] consBlocks = new ConstructBlock[maxSize]; private static long lastTime = 0; private static int pitchSeq = 0; private static long lastPlayed; - public BuildBlock(int size){ + public ConstructBlock(int size){ super("build" + size); this.size = size; update = true; health = 20; consumesTap = true; solidifes = true; - buildBlocks[size - 1] = this; + consBlocks[size - 1] = this; } /** Returns a BuildBlock by size. */ - public static BuildBlock get(int size){ - if(size > maxSize) throw new IllegalArgumentException("No. Don't place BuildBlocks of size greater than " + maxSize); - return buildBlocks[size - 1]; + public static ConstructBlock get(int size){ + if(size > maxSize) throw new IllegalArgumentException("No. Don't place ConstructBlock of size greater than " + maxSize); + return consBlocks[size - 1]; } @Remote(called = Loc.server) @@ -117,7 +118,7 @@ public class BuildBlock extends Block{ return true; } - public class BuildEntity extends Building{ + public class ConstructBuild extends Building{ /** * The recipe of the block that is being constructed. * If there is no recipe for this block, as is the case with rocks, 'previous' is used. diff --git a/core/src/mindustry/world/blocks/defense/PointDefenseTurret.java b/core/src/mindustry/world/blocks/defense/PointDefenseTurret.java index 4e3e60395a..75e24a8e87 100644 --- a/core/src/mindustry/world/blocks/defense/PointDefenseTurret.java +++ b/core/src/mindustry/world/blocks/defense/PointDefenseTurret.java @@ -60,7 +60,7 @@ public class PointDefenseTurret extends Block{ stats.add(BlockStat.reload, 60f / reloadTime, StatUnit.none); } - public class PointDefenseEntity extends Building{ + public class PointDefenseBuild extends Building{ public float rotation = 90, reload; public @Nullable Bullet target; diff --git a/core/src/mindustry/world/blocks/defense/ShockMine.java b/core/src/mindustry/world/blocks/defense/ShockMine.java index e2392f1e69..00c805ac48 100644 --- a/core/src/mindustry/world/blocks/defense/ShockMine.java +++ b/core/src/mindustry/world/blocks/defense/ShockMine.java @@ -27,7 +27,7 @@ public class ShockMine extends Block{ rebuildable = false; } - public class ShockMineEntity extends Building{ + public class ShockMineBuild extends Building{ @Override public void drawTeam(){ diff --git a/core/src/mindustry/world/blocks/defense/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/TractorBeamTurret.java index a68073291e..9e9035bb77 100644 --- a/core/src/mindustry/world/blocks/defense/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/TractorBeamTurret.java @@ -61,7 +61,7 @@ public class TractorBeamTurret extends Block{ stats.add(BlockStat.damage, damage * 60f, StatUnit.perSecond); } - public class TractorBeamEntity extends Building{ + public class TractorBeamBuild extends Building{ public float rotation = 90; public @Nullable Unit target; public float lastX, lastY, strength; diff --git a/core/src/mindustry/world/blocks/liquid/LiquidRouter.java b/core/src/mindustry/world/blocks/liquid/LiquidRouter.java index 6184e179de..60fab24df1 100644 --- a/core/src/mindustry/world/blocks/liquid/LiquidRouter.java +++ b/core/src/mindustry/world/blocks/liquid/LiquidRouter.java @@ -11,7 +11,7 @@ public class LiquidRouter extends LiquidBlock{ noUpdateDisabled = true; } - public class LiquidRouterEntity extends LiquidBuild{ + public class LiquidRouterBuild extends LiquidBuild{ @Override public void updateTile(){ if(liquids.total() > 0.01f){ diff --git a/core/src/mindustry/world/blocks/logic/LogicBlock.java b/core/src/mindustry/world/blocks/logic/LogicBlock.java index 026a1ca58f..8710fd43b2 100644 --- a/core/src/mindustry/world/blocks/logic/LogicBlock.java +++ b/core/src/mindustry/world/blocks/logic/LogicBlock.java @@ -16,7 +16,7 @@ import mindustry.logic.LAssembler.*; import mindustry.logic.LExecutor.*; import mindustry.ui.*; import mindustry.world.*; -import mindustry.world.blocks.BuildBlock.*; +import mindustry.world.blocks.ConstructBlock.*; import mindustry.world.meta.*; import java.io.*; @@ -413,7 +413,7 @@ public class LogicBlock extends Block{ } public boolean validLink(Building other){ - return other != null && other.isValid() && other.team == team && other.within(this, range + other.block.size*tilesize/2f) && !(other instanceof BuildEntity); + return other != null && other.isValid() && other.team == team && other.within(this, range + other.block.size*tilesize/2f) && !(other instanceof ConstructBuild); } diff --git a/core/src/mindustry/world/blocks/payloads/BlockPayload.java b/core/src/mindustry/world/blocks/payloads/BlockPayload.java index ec956453c0..d265398525 100644 --- a/core/src/mindustry/world/blocks/payloads/BlockPayload.java +++ b/core/src/mindustry/world/blocks/payloads/BlockPayload.java @@ -39,11 +39,6 @@ public class BlockPayload implements Payload{ return entity.block.size * tilesize; } - @Override - public boolean fits(){ - return entity.block().size < 3; - } - @Override public void write(Writes write){ write.b(payloadBlock); diff --git a/core/src/mindustry/world/blocks/payloads/Payload.java b/core/src/mindustry/world/blocks/payloads/Payload.java index 60d0f07c7c..d7d800bba6 100644 --- a/core/src/mindustry/world/blocks/payloads/Payload.java +++ b/core/src/mindustry/world/blocks/payloads/Payload.java @@ -6,7 +6,7 @@ import mindustry.game.*; import mindustry.gen.*; import mindustry.world.*; -import static mindustry.Vars.content; +import static mindustry.Vars.*; public interface Payload{ int payloadUnit = 0, payloadBlock = 1; @@ -27,7 +27,7 @@ public interface Payload{ /** @return whether this payload fits on a standard 3x3 conveyor. */ default boolean fits(){ - return true; + return size() / tilesize <= 2.4f; } /** writes the payload for saving. */ diff --git a/core/src/mindustry/world/blocks/payloads/UnitPayload.java b/core/src/mindustry/world/blocks/payloads/UnitPayload.java index 4394b349d6..4c835cacce 100644 --- a/core/src/mindustry/world/blocks/payloads/UnitPayload.java +++ b/core/src/mindustry/world/blocks/payloads/UnitPayload.java @@ -15,11 +15,6 @@ public class UnitPayload implements Payload{ this.unit = unit; } - @Override - public boolean fits(){ - return unit.hitSize <= 16f; - } - @Override public void write(Writes write){ write.b(payloadUnit); diff --git a/tools/src/mindustry/tools/Generators.java b/tools/src/mindustry/tools/Generators.java index a2e0ca4661..f12be289bc 100644 --- a/tools/src/mindustry/tools/Generators.java +++ b/tools/src/mindustry/tools/Generators.java @@ -126,7 +126,7 @@ public class Generators{ Image colors = new Image(content.blocks().size, 1); for(Block block : content.blocks()){ - if(block.isAir() || block instanceof BuildBlock || block instanceof OreBlock || block instanceof LegacyBlock) continue; + if(block.isAir() || block instanceof ConstructBlock || block instanceof OreBlock || block instanceof LegacyBlock) continue; block.load(); diff --git a/tools/src/mindustry/tools/ImagePacker.java b/tools/src/mindustry/tools/ImagePacker.java index 9f359dd30a..ec2648d20b 100644 --- a/tools/src/mindustry/tools/ImagePacker.java +++ b/tools/src/mindustry/tools/ImagePacker.java @@ -123,7 +123,7 @@ public class ImagePacker{ map.each((key, val) -> content2id.put(val.split("\\|")[0], key)); Seq cont = Seq.withArrays(Vars.content.blocks(), Vars.content.items(), Vars.content.liquids(), Vars.content.units()); - cont.removeAll(u -> u instanceof BuildBlock || u == Blocks.air); + cont.removeAll(u -> u instanceof ConstructBlock || u == Blocks.air); int minid = 0xF8FF; for(String key : map.keys()){