Name fixes
This commit is contained in:
@@ -148,7 +148,7 @@ public class BlockIndexer{
|
|||||||
|
|
||||||
BuildingArray set = damagedTiles[team.id];
|
BuildingArray set = damagedTiles[team.id];
|
||||||
for(Building build : set){
|
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);
|
breturnArray.add(build);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import mindustry.entities.units.*;
|
|||||||
import mindustry.game.Teams.*;
|
import mindustry.game.Teams.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.BuildBlock.*;
|
import mindustry.world.blocks.ConstructBlock.*;
|
||||||
|
|
||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ public class BuilderAI extends AIController{
|
|||||||
BuildPlan req = builder.buildPlan();
|
BuildPlan req = builder.buildPlan();
|
||||||
|
|
||||||
boolean valid =
|
boolean valid =
|
||||||
(req.tile().build instanceof BuildEntity && req.tile().<BuildEntity>bc().cblock == req.block) ||
|
(req.tile().build instanceof ConstructBuild && req.tile().<ConstructBuild>bc().cblock == req.block) ||
|
||||||
(req.breaking ?
|
(req.breaking ?
|
||||||
Build.validBreak(unit.team(), req.x, req.y) :
|
Build.validBreak(unit.team(), req.x, req.y) :
|
||||||
Build.validPlace(req.block, unit.team(), req.x, req.y, req.rotation));
|
Build.validPlace(req.block, unit.team(), req.x, req.y, req.rotation));
|
||||||
|
|||||||
@@ -131,8 +131,8 @@ public class Blocks implements ContentList{
|
|||||||
|
|
||||||
//Registers build blocks
|
//Registers build blocks
|
||||||
//no reference is needed here since they can be looked up by name later
|
//no reference is needed here since they can be looked up by name later
|
||||||
for(int i = 1; i <= BuildBlock.maxSize; i++){
|
for(int i = 1; i <= ConstructBlock.maxSize; i++){
|
||||||
new BuildBlock(i);
|
new ConstructBlock(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
deepwater = new Floor("deepwater"){{
|
deepwater = new Floor("deepwater"){{
|
||||||
@@ -1513,7 +1513,7 @@ public class Blocks implements ContentList{
|
|||||||
rotateSpeed = 10;
|
rotateSpeed = 10;
|
||||||
range = 85f;
|
range = 85f;
|
||||||
|
|
||||||
consumes.powerCond(3f, (TractorBeamEntity e) -> e.target != null);
|
consumes.powerCond(3f, (TractorBeamBuild e) -> e.target != null);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
swarmer = new ItemTurret("swarmer"){{
|
swarmer = new ItemTurret("swarmer"){{
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import mindustry.type.*;
|
|||||||
import mindustry.type.Weather.*;
|
import mindustry.type.Weather.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.*;
|
import mindustry.world.blocks.*;
|
||||||
import mindustry.world.blocks.BuildBlock.*;
|
import mindustry.world.blocks.ConstructBlock.*;
|
||||||
import mindustry.world.blocks.storage.CoreBlock.*;
|
import mindustry.world.blocks.storage.CoreBlock.*;
|
||||||
|
|
||||||
import java.util.*;
|
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
|
//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(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
|
//update block to reflect the fact that something was being constructed
|
||||||
if(entity.cblock != null && entity.cblock.synthetic()){
|
if(entity.cblock != null && entity.cblock.synthetic()){
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class HealBulletType extends BulletType{
|
|||||||
public void hitTile(Bullet b, Building tile){
|
public void hitTile(Bullet b, Building tile){
|
||||||
super.hit(b);
|
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);
|
Fx.healBlockFull.at(tile.x, tile.y, tile.block().size, Pal.heal);
|
||||||
tile.heal(healPercent / 100f * tile.maxHealth());
|
tile.heal(healPercent / 100f * tile.maxHealth());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import mindustry.gen.*;
|
|||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.*;
|
import mindustry.world.blocks.*;
|
||||||
import mindustry.world.blocks.BuildBlock.*;
|
import mindustry.world.blocks.ConstructBlock.*;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ abstract class BuilderComp implements Unitc{
|
|||||||
rotation = Mathf.slerpDelta(rotation, angleTo(tile), 0.4f);
|
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)){
|
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));
|
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;
|
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)));
|
Core.app.post(() -> Events.fire(new BuildSelectEvent(tile, team(), (Builderc)this, current.breaking)));
|
||||||
current.initialized = true;
|
current.initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if there is no core to build with or no build entity, stop building!
|
//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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//otherwise, update it.
|
//otherwise, update it.
|
||||||
BuildEntity entity = tile.bc();
|
ConstructBuild entity = tile.bc();
|
||||||
|
|
||||||
if(current.breaking){
|
if(current.breaking){
|
||||||
entity.deconstruct(base(), core, 1f / entity.buildCost * Time.delta * type().buildSpeed * state.rules.buildSpeedMultiplier);
|
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);
|
plans.remove(replace);
|
||||||
}
|
}
|
||||||
Tile tile = world.tile(place.x, place.y);
|
Tile tile = world.tile(place.x, place.y);
|
||||||
if(tile != null && tile.build instanceof BuildEntity){
|
if(tile != null && tile.build instanceof ConstructBuild){
|
||||||
place.progress = tile.<BuildEntity>bc().progress;
|
place.progress = tile.<ConstructBuild>bc().progress;
|
||||||
}
|
}
|
||||||
if(tail){
|
if(tail){
|
||||||
plans.addLast(place);
|
plans.addLast(place);
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ public class Schematics implements Loadable{
|
|||||||
for(int cy = y; cy <= y2; cy++){
|
for(int cy = y; cy <= y2; cy++){
|
||||||
Building linked = world.build(cx, 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 top = linked.block().size/2;
|
||||||
int bot = linked.block().size % 2 == 1 ? -linked.block().size/2 : -(linked.block().size - 1)/2;
|
int bot = linked.block().size % 2 == 1 ? -linked.block().size/2 : -(linked.block().size - 1)/2;
|
||||||
minx = Math.min(linked.tileX() + bot, minx);
|
minx = Math.min(linked.tileX() + bot, minx);
|
||||||
@@ -374,7 +374,7 @@ public class Schematics implements Loadable{
|
|||||||
for(int cy = oy; cy <= oy2; cy++){
|
for(int cy = oy; cy <= oy2; cy++){
|
||||||
Building tile = world.build(cx, 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))){
|
&& (tile.block().isVisible() || (tile.block() instanceof CoreBlock))){
|
||||||
Object config = tile.config();
|
Object config = tile.config();
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import mindustry.type.*;
|
|||||||
import mindustry.ui.fragments.*;
|
import mindustry.ui.fragments.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.*;
|
import mindustry.world.blocks.*;
|
||||||
import mindustry.world.blocks.BuildBlock.*;
|
import mindustry.world.blocks.ConstructBlock.*;
|
||||||
import mindustry.world.blocks.payloads.*;
|
import mindustry.world.blocks.payloads.*;
|
||||||
import mindustry.world.blocks.power.*;
|
import mindustry.world.blocks.power.*;
|
||||||
import mindustry.world.blocks.storage.CoreBlock.*;
|
import mindustry.world.blocks.storage.CoreBlock.*;
|
||||||
@@ -405,7 +405,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
|
|
||||||
public boolean requestMatches(BuildPlan request){
|
public boolean requestMatches(BuildPlan request){
|
||||||
Tile tile = world.tile(request.x, request.y);
|
Tile tile = world.tile(request.x, request.y);
|
||||||
return tile != null && tile.block() instanceof BuildBlock && tile.<BuildEntity>bc().cblock == request.block;
|
return tile != null && tile.block() instanceof ConstructBlock && tile.<ConstructBuild>bc().cblock == request.block;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawBreaking(int x, int y){
|
public void drawBreaking(int x, int y){
|
||||||
|
|||||||
@@ -241,8 +241,8 @@ public class ContentParser{
|
|||||||
|
|
||||||
readFields(block, value, true);
|
readFields(block, value, true);
|
||||||
|
|
||||||
if(block.size > BuildBlock.maxSize){
|
if(block.size > ConstructBlock.maxSize){
|
||||||
throw new IllegalArgumentException("Blocks cannot be larger than " + BuildBlock.maxSize);
|
throw new IllegalArgumentException("Blocks cannot be larger than " + ConstructBlock.maxSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
//add research tech node
|
//add research tech node
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import mindustry.type.*;
|
|||||||
import mindustry.ui.*;
|
import mindustry.ui.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.*;
|
import mindustry.world.blocks.*;
|
||||||
import mindustry.world.blocks.BuildBlock.*;
|
import mindustry.world.blocks.ConstructBlock.*;
|
||||||
|
|
||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ public class PlacementFragment extends Fragment{
|
|||||||
|
|
||||||
if(Core.input.keyDown(Binding.pick) && player.isBuilder()){ //mouse eyedropper select
|
if(Core.input.keyDown(Binding.pick) && player.isBuilder()){ //mouse eyedropper select
|
||||||
Building tile = world.buildWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y);
|
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();
|
Object tryConfig = tile == null ? null : tile.config();
|
||||||
|
|
||||||
for(BuildPlan req : player.builder().plans()){
|
for(BuildPlan req : player.builder().plans()){
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import mindustry.entities.*;
|
|||||||
import mindustry.game.EventType.*;
|
import mindustry.game.EventType.*;
|
||||||
import mindustry.game.*;
|
import mindustry.game.*;
|
||||||
import mindustry.world.blocks.*;
|
import mindustry.world.blocks.*;
|
||||||
import mindustry.world.blocks.BuildBlock.*;
|
import mindustry.world.blocks.ConstructBlock.*;
|
||||||
|
|
||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
@@ -32,10 +32,10 @@ public class Build{
|
|||||||
|
|
||||||
int rotation = tile.build != null ? tile.build.rotation : 0;
|
int rotation = tile.build != null ? tile.build.rotation : 0;
|
||||||
Block previous = tile.block();
|
Block previous = tile.block();
|
||||||
Block sub = BuildBlock.get(previous.size);
|
Block sub = ConstructBlock.get(previous.size);
|
||||||
|
|
||||||
tile.setBlock(sub, team, rotation);
|
tile.setBlock(sub, team, rotation);
|
||||||
tile.<BuildEntity>bc().setDeconstruct(previous);
|
tile.<ConstructBuild>bc().setDeconstruct(previous);
|
||||||
tile.build.health(tile.build.maxHealth() * prevPercent);
|
tile.build.health(tile.build.maxHealth() * prevPercent);
|
||||||
|
|
||||||
Core.app.post(() -> Events.fire(new BlockBuildBeginEvent(tile, team, true)));
|
Core.app.post(() -> Events.fire(new BlockBuildBeginEvent(tile, team, true)));
|
||||||
@@ -54,12 +54,12 @@ public class Build{
|
|||||||
if(tile == null) return;
|
if(tile == null) return;
|
||||||
|
|
||||||
Block previous = tile.block();
|
Block previous = tile.block();
|
||||||
Block sub = BuildBlock.get(result.size);
|
Block sub = ConstructBlock.get(result.size);
|
||||||
|
|
||||||
result.beforePlaceBegan(tile, previous);
|
result.beforePlaceBegan(tile, previous);
|
||||||
|
|
||||||
tile.setBlock(sub, team, rotation);
|
tile.setBlock(sub, team, rotation);
|
||||||
tile.<BuildEntity>bc().setConstruct(previous, result);
|
tile.<ConstructBuild>bc().setConstruct(previous, result);
|
||||||
|
|
||||||
result.placeBegan(tile, previous);
|
result.placeBegan(tile, previous);
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ public class Build{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(type.isMultiblock()){
|
if(type.isMultiblock()){
|
||||||
if((type.canReplace(tile.block()) || (tile.block instanceof BuildBlock && tile.<BuildEntity>bc().cblock == type)) &&
|
if((type.canReplace(tile.block()) || (tile.block instanceof ConstructBlock && tile.<ConstructBuild>bc().cblock == type)) &&
|
||||||
type.canPlaceOn(tile, team) && tile.interactable(team)){
|
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
|
//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().isDeep() || type.floating || type.requiresWater || type.placeableLiquid)
|
||||||
&& tile.floor().placeableOn
|
&& tile.floor().placeableOn
|
||||||
&& (!type.requiresWater || tile.floor().liquidDrop == Liquids.water)
|
&& (!type.requiresWater || tile.floor().liquidDrop == Liquids.water)
|
||||||
&& (((type.canReplace(tile.block()) || (tile.block instanceof BuildBlock && tile.<BuildEntity>bc().cblock == type))
|
&& (((type.canReplace(tile.block()) || (tile.block instanceof ConstructBlock && tile.<ConstructBuild>bc().cblock == type))
|
||||||
&& !(type == tile.block() && (tile.build != null && rotation == tile.build.rotation) && type.rotate)) || tile.block().alwaysReplace || tile.block() == Blocks.air)
|
&& !(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);
|
&& tile.block().isMultiblock() == type.isMultiblock() && type.canPlaceOn(tile, team);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,28 +23,29 @@ import mindustry.world.modules.*;
|
|||||||
|
|
||||||
import static mindustry.Vars.*;
|
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;
|
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 long lastTime = 0;
|
||||||
private static int pitchSeq = 0;
|
private static int pitchSeq = 0;
|
||||||
private static long lastPlayed;
|
private static long lastPlayed;
|
||||||
|
|
||||||
public BuildBlock(int size){
|
public ConstructBlock(int size){
|
||||||
super("build" + size);
|
super("build" + size);
|
||||||
this.size = size;
|
this.size = size;
|
||||||
update = true;
|
update = true;
|
||||||
health = 20;
|
health = 20;
|
||||||
consumesTap = true;
|
consumesTap = true;
|
||||||
solidifes = true;
|
solidifes = true;
|
||||||
buildBlocks[size - 1] = this;
|
consBlocks[size - 1] = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns a BuildBlock by size. */
|
/** Returns a BuildBlock by size. */
|
||||||
public static BuildBlock get(int size){
|
public static ConstructBlock get(int size){
|
||||||
if(size > maxSize) throw new IllegalArgumentException("No. Don't place BuildBlocks of size greater than " + maxSize);
|
if(size > maxSize) throw new IllegalArgumentException("No. Don't place ConstructBlock of size greater than " + maxSize);
|
||||||
return buildBlocks[size - 1];
|
return consBlocks[size - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
@Remote(called = Loc.server)
|
@Remote(called = Loc.server)
|
||||||
@@ -117,7 +118,7 @@ public class BuildBlock extends Block{
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class BuildEntity extends Building{
|
public class ConstructBuild extends Building{
|
||||||
/**
|
/**
|
||||||
* The recipe of the block that is being constructed.
|
* 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.
|
* If there is no recipe for this block, as is the case with rocks, 'previous' is used.
|
||||||
@@ -60,7 +60,7 @@ public class PointDefenseTurret extends Block{
|
|||||||
stats.add(BlockStat.reload, 60f / reloadTime, StatUnit.none);
|
stats.add(BlockStat.reload, 60f / reloadTime, StatUnit.none);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PointDefenseEntity extends Building{
|
public class PointDefenseBuild extends Building{
|
||||||
public float rotation = 90, reload;
|
public float rotation = 90, reload;
|
||||||
public @Nullable Bullet target;
|
public @Nullable Bullet target;
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class ShockMine extends Block{
|
|||||||
rebuildable = false;
|
rebuildable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ShockMineEntity extends Building{
|
public class ShockMineBuild extends Building{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawTeam(){
|
public void drawTeam(){
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class TractorBeamTurret extends Block{
|
|||||||
stats.add(BlockStat.damage, damage * 60f, StatUnit.perSecond);
|
stats.add(BlockStat.damage, damage * 60f, StatUnit.perSecond);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TractorBeamEntity extends Building{
|
public class TractorBeamBuild extends Building{
|
||||||
public float rotation = 90;
|
public float rotation = 90;
|
||||||
public @Nullable Unit target;
|
public @Nullable Unit target;
|
||||||
public float lastX, lastY, strength;
|
public float lastX, lastY, strength;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public class LiquidRouter extends LiquidBlock{
|
|||||||
noUpdateDisabled = true;
|
noUpdateDisabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class LiquidRouterEntity extends LiquidBuild{
|
public class LiquidRouterBuild extends LiquidBuild{
|
||||||
@Override
|
@Override
|
||||||
public void updateTile(){
|
public void updateTile(){
|
||||||
if(liquids.total() > 0.01f){
|
if(liquids.total() > 0.01f){
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import mindustry.logic.LAssembler.*;
|
|||||||
import mindustry.logic.LExecutor.*;
|
import mindustry.logic.LExecutor.*;
|
||||||
import mindustry.ui.*;
|
import mindustry.ui.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.BuildBlock.*;
|
import mindustry.world.blocks.ConstructBlock.*;
|
||||||
import mindustry.world.meta.*;
|
import mindustry.world.meta.*;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
@@ -413,7 +413,7 @@ public class LogicBlock extends Block{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean validLink(Building other){
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,11 +39,6 @@ public class BlockPayload implements Payload{
|
|||||||
return entity.block.size * tilesize;
|
return entity.block.size * tilesize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean fits(){
|
|
||||||
return entity.block().size < 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(Writes write){
|
public void write(Writes write){
|
||||||
write.b(payloadBlock);
|
write.b(payloadBlock);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import mindustry.game.*;
|
|||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
|
|
||||||
import static mindustry.Vars.content;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
public interface Payload{
|
public interface Payload{
|
||||||
int payloadUnit = 0, payloadBlock = 1;
|
int payloadUnit = 0, payloadBlock = 1;
|
||||||
@@ -27,7 +27,7 @@ public interface Payload{
|
|||||||
|
|
||||||
/** @return whether this payload fits on a standard 3x3 conveyor. */
|
/** @return whether this payload fits on a standard 3x3 conveyor. */
|
||||||
default boolean fits(){
|
default boolean fits(){
|
||||||
return true;
|
return size() / tilesize <= 2.4f;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** writes the payload for saving. */
|
/** writes the payload for saving. */
|
||||||
|
|||||||
@@ -15,11 +15,6 @@ public class UnitPayload implements Payload{
|
|||||||
this.unit = unit;
|
this.unit = unit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean fits(){
|
|
||||||
return unit.hitSize <= 16f;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(Writes write){
|
public void write(Writes write){
|
||||||
write.b(payloadUnit);
|
write.b(payloadUnit);
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ public class Generators{
|
|||||||
Image colors = new Image(content.blocks().size, 1);
|
Image colors = new Image(content.blocks().size, 1);
|
||||||
|
|
||||||
for(Block block : content.blocks()){
|
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();
|
block.load();
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ public class ImagePacker{
|
|||||||
map.each((key, val) -> content2id.put(val.split("\\|")[0], key));
|
map.each((key, val) -> content2id.put(val.split("\\|")[0], key));
|
||||||
|
|
||||||
Seq<UnlockableContent> cont = Seq.withArrays(Vars.content.blocks(), Vars.content.items(), Vars.content.liquids(), Vars.content.units());
|
Seq<UnlockableContent> 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;
|
int minid = 0xF8FF;
|
||||||
for(String key : map.keys()){
|
for(String key : map.keys()){
|
||||||
|
|||||||
Reference in New Issue
Block a user