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){
|
public boolean dumpPayload(@NonNull Payload todump){
|
||||||
if(proximity.size == 0) return false;
|
if(proximity.size == 0) return false;
|
||||||
|
|
||||||
|
int dump = this.dump;
|
||||||
|
|
||||||
for(int i = 0; i < proximity.size; i++){
|
for(int i = 0; i < proximity.size; i++){
|
||||||
Tilec other = proximity.get((i + dump) % proximity.size);
|
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){
|
public void dumpLiquid(Liquid liquid){
|
||||||
|
int dump = this.dump;
|
||||||
|
|
||||||
for(int i = 0; i < proximity.size; i++){
|
for(int i = 0; i < proximity.size; i++){
|
||||||
incrementDump(proximity.size);
|
incrementDump(proximity.size);
|
||||||
Tilec other = proximity.get((i + dump) % 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.
|
* containers, it gets added to the block's inventory.
|
||||||
*/
|
*/
|
||||||
public void offload(Item item){
|
public void offload(Item item){
|
||||||
Seq<Tilec> proximity = proximity();
|
int dump = this.dump;
|
||||||
|
|
||||||
useContent(item);
|
useContent(item);
|
||||||
|
|
||||||
for(int i = 0; i < proximity.size; i++){
|
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.
|
* 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){
|
public boolean put(Item item){
|
||||||
Seq<Tilec> proximity = proximity();
|
int dump = this.dump;
|
||||||
useContent(item);
|
useContent(item);
|
||||||
|
|
||||||
for(int i = 0; i < proximity.size; i++){
|
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){
|
public boolean dump(Item todump){
|
||||||
if(!block.hasItems || items.total() == 0 || (todump != null && !items.has(todump))) return false;
|
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;
|
if(proximity.size == 0) return false;
|
||||||
|
|
||||||
@@ -681,7 +686,7 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree
|
|||||||
out.clear();
|
out.clear();
|
||||||
if(power == null) return out;
|
if(power == null) return out;
|
||||||
|
|
||||||
for(Tilec other : proximity()){
|
for(Tilec other : proximity){
|
||||||
if(other != null && other.power() != null
|
if(other != null && other.power() != null
|
||||||
&& !(block.consumesPower && other.block().consumesPower && !block.outputsPower && !other.block().outputsPower)
|
&& !(block.consumesPower && other.block().consumesPower && !block.outputsPower && !other.block().outputsPower)
|
||||||
&& !power.links.contains(other.pos())){
|
&& !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) -> {
|
Geometry.circle(tileX(), tileY(), range, (x, y) -> {
|
||||||
Tilec other = world.ent(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) &&
|
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());
|
tempTiles.add(other.tile());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import arc.util.ArcAnnotate.*;
|
|||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
import mindustry.*;
|
import mindustry.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
@@ -22,7 +21,6 @@ import mindustry.world.consumers.*;
|
|||||||
|
|
||||||
public class BlockForge extends PayloadAcceptor{
|
public class BlockForge extends PayloadAcceptor{
|
||||||
public float buildSpeed = 0.4f;
|
public float buildSpeed = 0.4f;
|
||||||
public @Load(value = "@-out", fallback = "factory-out") TextureRegion outRegion;
|
|
||||||
|
|
||||||
public BlockForge(String name){
|
public BlockForge(String name){
|
||||||
super(name);
|
super(name);
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package mindustry.world.blocks.experimental;
|
|||||||
|
|
||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
@@ -20,10 +19,6 @@ public class BlockLoader extends PayloadAcceptor{
|
|||||||
public int itemsLoaded = 5;
|
public int itemsLoaded = 5;
|
||||||
public float liquidsLoaded = 5f;
|
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){
|
public BlockLoader(String name){
|
||||||
super(name);
|
super(name);
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import arc.math.*;
|
|||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
import arc.util.ArcAnnotate.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
|
import mindustry.annotations.Annotations.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
@@ -15,6 +16,10 @@ import static mindustry.Vars.tilesize;
|
|||||||
public class PayloadAcceptor extends Block{
|
public class PayloadAcceptor extends Block{
|
||||||
public float payloadSpeed = 0.5f;
|
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){
|
public PayloadAcceptor(String name){
|
||||||
super(name);
|
super(name);
|
||||||
|
|
||||||
@@ -92,7 +97,7 @@ public class PayloadAcceptor extends Block{
|
|||||||
if(movePayload(payload)){
|
if(movePayload(payload)){
|
||||||
payload = null;
|
payload = null;
|
||||||
}
|
}
|
||||||
}else if(front != null && !front.tile().solid()){
|
}else if(front == null || !front.tile().solid()){
|
||||||
dumpPayload();
|
dumpPayload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package mindustry.world.blocks.units;
|
|||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.entities.*;
|
import mindustry.entities.*;
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
@@ -17,9 +16,6 @@ import mindustry.world.meta.*;
|
|||||||
import static mindustry.Vars.state;
|
import static mindustry.Vars.state;
|
||||||
|
|
||||||
public class Reconstructor extends UnitBlock{
|
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 float constructTime = 60 * 2;
|
||||||
public UnitType[][] upgrades = {};
|
public UnitType[][] upgrades = {};
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import arc.struct.*;
|
|||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
import mindustry.*;
|
import mindustry.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
|
||||||
import mindustry.entities.*;
|
import mindustry.entities.*;
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
@@ -23,8 +22,6 @@ import mindustry.world.consumers.*;
|
|||||||
import mindustry.world.meta.*;
|
import mindustry.world.meta.*;
|
||||||
|
|
||||||
public class UnitFactory extends UnitBlock{
|
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 int[] capacities;
|
||||||
|
|
||||||
public UnitPlan[] plans = new UnitPlan[0];
|
public UnitPlan[] plans = new UnitPlan[0];
|
||||||
|
|||||||