Remove omnidirectional due to issues
This commit is contained in:
@@ -122,10 +122,6 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{
|
|||||||
return dead || tile.entity != this;
|
return dead || tile.entity != this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isOmnidirectional(){
|
|
||||||
return !block.rotate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@CallSuper
|
@CallSuper
|
||||||
public void write(DataOutput stream) throws IOException{
|
public void write(DataOutput stream) throws IOException{
|
||||||
stream.writeShort((short)health);
|
stream.writeShort((short)health);
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ import mindustry.world.*;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static mindustry.Vars.world;
|
|
||||||
|
|
||||||
public interface Autotiler{
|
public interface Autotiler{
|
||||||
class AutotilerHolder{
|
class AutotilerHolder{
|
||||||
static final int[] blendresult = new int[3];
|
static final int[] blendresult = new int[3];
|
||||||
@@ -91,13 +89,13 @@ public interface Autotiler{
|
|||||||
|
|
||||||
default boolean blendsArmored(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){
|
default boolean blendsArmored(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){
|
||||||
return (Point2.equals(tile.x + Geometry.d4(rotation).x, tile.y + Geometry.d4(rotation).y, otherx, othery)
|
return (Point2.equals(tile.x + Geometry.d4(rotation).x, tile.y + Geometry.d4(rotation).y, otherx, othery)
|
||||||
|| ((world.tile(otherx, othery).entity.isOmnidirectional() && Edges.getFacingEdge(otherblock, otherx, othery, tile) != null &&
|
|| ((!otherblock.rotate && Edges.getFacingEdge(otherblock, otherx, othery, tile) != null &&
|
||||||
Edges.getFacingEdge(otherblock, otherx, othery, tile).relativeTo(tile) == rotation) || (otherblock.rotate && Point2.equals(otherx + Geometry.d4(otherrot).x, othery + Geometry.d4(otherrot).y, tile.x, tile.y))));
|
Edges.getFacingEdge(otherblock, otherx, othery, tile).relativeTo(tile) == rotation) || (otherblock.rotate && Point2.equals(otherx + Geometry.d4(otherrot).x, othery + Geometry.d4(otherrot).y, tile.x, tile.y))));
|
||||||
}
|
}
|
||||||
|
|
||||||
default boolean lookingAt(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){
|
default boolean lookingAt(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){
|
||||||
return (Point2.equals(tile.x + Geometry.d4(rotation).x, tile.y + Geometry.d4(rotation).y, otherx, othery)
|
return (Point2.equals(tile.x + Geometry.d4(rotation).x, tile.y + Geometry.d4(rotation).y, otherx, othery)
|
||||||
|| (world.tile(otherx, othery).entity.isOmnidirectional() || Point2.equals(otherx + Geometry.d4(otherrot).x, othery + Geometry.d4(otherrot).y, tile.x, tile.y)));
|
|| (!otherblock.rotate || Point2.equals(otherx + Geometry.d4(otherrot).x, othery + Geometry.d4(otherrot).y, tile.x, tile.y)));
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock);
|
boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock);
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ public class Conveyor extends Block implements Autotiler{
|
|||||||
ConveyorEntity e = tile.ent();
|
ConveyorEntity e = tile.ent();
|
||||||
if(e.len >= capacity) return false;
|
if(e.len >= capacity) return false;
|
||||||
int direction = source == null ? 0 : Math.abs(source.relativeTo(tile.x, tile.y) - tile.rotation());
|
int direction = source == null ? 0 : Math.abs(source.relativeTo(tile.x, tile.y) - tile.rotation());
|
||||||
return (((direction == 0) && e.minitem >= itemSpace) || ((direction % 2 == 1) && e.minitem > 0.7f)) && (source == null || source.entity.isOmnidirectional() && (source.rotation() + 2) % 4 == tile.rotation());
|
return (((direction == 0) && e.minitem >= itemSpace) || ((direction % 2 == 1) && e.minitem > 0.7f)) && (source == null || !(source.block().rotate && (source.rotation() + 2) % 4 == tile.rotation()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -269,11 +269,6 @@ public class CraterConveyor extends Block implements Autotiler{
|
|||||||
dump = stream.readByte();
|
dump = stream.readByte();
|
||||||
reload = stream.readFloat();
|
reload = stream.readFloat();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isOmnidirectional(){
|
|
||||||
return blendbit2 == 6;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// crater conveyor tiles that input into this one
|
// crater conveyor tiles that input into this one
|
||||||
|
|||||||
Reference in New Issue
Block a user