Functioning 5x5 reconstructor
|
Before Width: | Height: | Size: 763 B After Width: | Height: | Size: 764 B |
|
Before Width: | Height: | Size: 852 KiB After Width: | Height: | Size: 860 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 272 KiB |
|
Before Width: | Height: | Size: 915 KiB After Width: | Height: | Size: 925 KiB |
|
|
@ -416,6 +416,8 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree
|
|||
public boolean dumpPayload(@NonNull Payload todump){
|
||||
if(proximity.size == 0) return false;
|
||||
|
||||
int dump = this.dump;
|
||||
|
||||
for(int i = 0; i < proximity.size; i++){
|
||||
Tilec other = proximity.get((i + dump) % proximity.size);
|
||||
|
||||
|
|
@ -448,6 +450,8 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree
|
|||
}
|
||||
|
||||
public void dumpLiquid(Liquid liquid){
|
||||
int dump = this.dump;
|
||||
|
||||
for(int i = 0; i < proximity.size; i++){
|
||||
incrementDump(proximity.size);
|
||||
Tilec other = proximity.get((i + dump) % proximity.size);
|
||||
|
|
@ -545,7 +549,8 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree
|
|||
* containers, it gets added to the block's inventory.
|
||||
*/
|
||||
public void offload(Item item){
|
||||
Seq<Tilec> proximity = proximity();
|
||||
int dump = this.dump;
|
||||
|
||||
useContent(item);
|
||||
|
||||
for(int i = 0; i < proximity.size; i++){
|
||||
|
|
@ -564,7 +569,7 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree
|
|||
* Tries to put this item into a nearby container. Returns success. Unlike #offload(), this method does not change the block inventory.
|
||||
*/
|
||||
public boolean put(Item item){
|
||||
Seq<Tilec> proximity = proximity();
|
||||
int dump = this.dump;
|
||||
useContent(item);
|
||||
|
||||
for(int i = 0; i < proximity.size; i++){
|
||||
|
|
@ -591,7 +596,7 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree
|
|||
public boolean dump(Item todump){
|
||||
if(!block.hasItems || items.total() == 0 || (todump != null && !items.has(todump))) return false;
|
||||
|
||||
Seq<Tilec> proximity = proximity();
|
||||
int dump = this.dump;
|
||||
|
||||
if(proximity.size == 0) return false;
|
||||
|
||||
|
|
@ -681,7 +686,7 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree
|
|||
out.clear();
|
||||
if(power == null) return out;
|
||||
|
||||
for(Tilec other : proximity()){
|
||||
for(Tilec other : proximity){
|
||||
if(other != null && other.power() != null
|
||||
&& !(block.consumesPower && other.block().consumesPower && !block.outputsPower && !other.block().outputsPower)
|
||||
&& !power.links.contains(other.pos())){
|
||||
|
|
@ -783,7 +788,7 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree
|
|||
Geometry.circle(tileX(), tileY(), range, (x, y) -> {
|
||||
Tilec other = world.ent(x, y);
|
||||
if(other != null && other.block() instanceof PowerNode && ((PowerNode)other.block()).linkValid(other, this) && !PowerNode.insulated(other, this) && !other.proximity().contains(this) &&
|
||||
!(block.outputsPower && proximity().contains(p -> p.power() != null && p.power().graph == other.power().graph))){
|
||||
!(block.outputsPower && proximity.contains(p -> p.power() != null && p.power().graph == other.power().graph))){
|
||||
tempTiles.add(other.tile());
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import arc.util.ArcAnnotate.*;
|
|||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.entities.units.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
|
|
@ -22,7 +21,6 @@ import mindustry.world.consumers.*;
|
|||
|
||||
public class BlockForge extends PayloadAcceptor{
|
||||
public float buildSpeed = 0.4f;
|
||||
public @Load(value = "@-out", fallback = "factory-out") TextureRegion outRegion;
|
||||
|
||||
public BlockForge(String name){
|
||||
super(name);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package mindustry.world.blocks.experimental;
|
|||
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.util.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.entities.units.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
|
|
@ -20,10 +19,6 @@ public class BlockLoader extends PayloadAcceptor{
|
|||
public int itemsLoaded = 5;
|
||||
public float liquidsLoaded = 5f;
|
||||
|
||||
public @Load(value = "@-top", fallback = "factory-top") TextureRegion topRegion;
|
||||
public @Load(value = "@-out", fallback = "factory-out") TextureRegion outRegion;
|
||||
public @Load(value = "@-in", fallback = "factory-in") TextureRegion inRegion;
|
||||
|
||||
public BlockLoader(String name){
|
||||
super(name);
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import arc.math.*;
|
|||
import arc.math.geom.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.world.*;
|
||||
|
|
@ -15,6 +16,10 @@ import static mindustry.Vars.tilesize;
|
|||
public class PayloadAcceptor extends Block{
|
||||
public float payloadSpeed = 0.5f;
|
||||
|
||||
public @Load(value = "@-top", fallback = "factory-top-$size") TextureRegion topRegion;
|
||||
public @Load(value = "@-out", fallback = "factory-out-$size") TextureRegion outRegion;
|
||||
public @Load(value = "@-in", fallback = "factory-in-$size") TextureRegion inRegion;
|
||||
|
||||
public PayloadAcceptor(String name){
|
||||
super(name);
|
||||
|
||||
|
|
@ -92,7 +97,7 @@ public class PayloadAcceptor extends Block{
|
|||
if(movePayload(payload)){
|
||||
payload = null;
|
||||
}
|
||||
}else if(front != null && !front.tile().solid()){
|
||||
}else if(front == null || !front.tile().solid()){
|
||||
dumpPayload();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package mindustry.world.blocks.units;
|
|||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.units.*;
|
||||
|
|
@ -17,9 +16,6 @@ import mindustry.world.meta.*;
|
|||
import static mindustry.Vars.state;
|
||||
|
||||
public class Reconstructor extends UnitBlock{
|
||||
public @Load(value = "@-top", fallback = "factory-top") TextureRegion topRegion;
|
||||
public @Load(value = "@-out", fallback = "factory-out") TextureRegion outRegion;
|
||||
public @Load(value = "@-in", fallback = "factory-in") TextureRegion inRegion;
|
||||
public float constructTime = 60 * 2;
|
||||
public UnitType[][] upgrades = {};
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import arc.struct.*;
|
|||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.units.*;
|
||||
import mindustry.gen.*;
|
||||
|
|
@ -23,8 +22,6 @@ import mindustry.world.consumers.*;
|
|||
import mindustry.world.meta.*;
|
||||
|
||||
public class UnitFactory extends UnitBlock{
|
||||
public @Load(value = "@-top", fallback = "factory-top") TextureRegion topRegion;
|
||||
public @Load(value = "@-out", fallback = "factory-out") TextureRegion outRegion;
|
||||
public int[] capacities;
|
||||
|
||||
public UnitPlan[] plans = new UnitPlan[0];
|
||||
|
|
|
|||