diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
index c2326a4d0a..4b79df9a48 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/gradle.yml
@@ -13,7 +13,7 @@ jobs:
with:
java-version: 8
- name: Run unit tests with gradle and Java 8
- run: ./gradlew test
+ run: ./gradlew compileJava
buildJava14:
runs-on: ubuntu-latest
@@ -25,4 +25,4 @@ jobs:
with:
java-version: 14
- name: Run unit tests with gradle and Java 14
- run: ./gradlew test
+ run: ./gradlew compileJava
diff --git a/.gitignore b/.gitignore
index 1a50ef27f2..543197c2f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,9 +79,11 @@ com_crashlytics_export_strings.xml
/android/bin/
/core/bin/
/desktop/bin/
-/html/bin/
/ios/bin/
-/ios-moe/bin/
+/annotations/bin/
+/server/bin/
+/tests/bin/
+/tools/bin/
*.tmp
*.bak
*.swp
diff --git a/.travis.yml b/.travis.yml
index ef04618dc9..f31a2d36f3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
jdk:
-- openjdk8
+- openjdk14
dist: xenial
android:
components:
diff --git a/android/build.gradle b/android/build.gradle
index 412ed1c441..ef1791a9b6 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -8,7 +8,7 @@ buildscript{
}
dependencies{
- //IMPORTANT NOTICE: any version of the plugin after 3.4.1 will break builds for every API level < 24, perhaps even higher.
+ //IMPORTANT NOTICE: any version of the plugin after 3.4.1 will break builds
//it appears abstract methods don't get desugared properly (if at all)
classpath 'com.android.tools.build:gradle:3.4.1'
}
@@ -33,6 +33,8 @@ dependencies{
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
natives "com.github.Anuken.Arc:natives-box2d-android:${getArcHash()}"
+
+ if(localArc()) compileOnly fileTree(dir: '../../Arc/backends/backend-android/libs', include: ['*.jar'])
}
task deploy(type: Copy){
diff --git a/android/src/mindustry/android/AndroidRhinoContext.java b/android/src/mindustry/android/AndroidRhinoContext.java
index 513911820d..c4468ecead 100644
--- a/android/src/mindustry/android/AndroidRhinoContext.java
+++ b/android/src/mindustry/android/AndroidRhinoContext.java
@@ -121,7 +121,7 @@ public class AndroidRhinoContext{
}
return loadClass(dex, name);
}catch(IOException | ClassNotFoundException e){
- throw new FatalLoadingException(e);
+ throw new RuntimeException("Failed to define class", e);
}
}
@@ -151,14 +151,6 @@ public class AndroidRhinoContext{
}
}
-
- /** Might be thrown in any Rhino method that loads bytecode if the loading failed. */
- public static class FatalLoadingException extends RuntimeException{
- FatalLoadingException(Throwable t){
- super("Failed to define class", t);
- }
- }
-
static class FileAndroidClassLoader extends BaseAndroidClassLoader{
private static int instanceCounter = 0;
private final File dexFile;
diff --git a/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java b/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java
index 3350d0e226..4de2254f7f 100644
--- a/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java
+++ b/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java
@@ -285,8 +285,6 @@ public class EntityProcess extends BaseProcessor{
TypeSpec.Builder builder = TypeSpec.classBuilder(name).addModifiers(Modifier.PUBLIC);
- if(isFinal && !typeIsBase) builder.addModifiers(Modifier.FINAL);
-
//add serialize() boolean
builder.addMethod(MethodSpec.methodBuilder("serialize").addModifiers(Modifier.PUBLIC).returns(boolean.class).addStatement("return " + ann.serialize()).build());
diff --git a/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java b/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java
index 9286bffe85..eca5d84387 100644
--- a/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java
+++ b/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java
@@ -71,26 +71,23 @@ public class LogicStatementProcessor extends BaseProcessor{
writer.addStatement("out.append(\" \")");
writer.addStatement("out.append((($T)obj).$L$L)", c.mirror(), field.name(),
- field.mirror().toString().equals("java.lang.String") ?
- ".replace(\"\\n\", \"\\\\n\")" :
- Seq.with(typeu.directSupertypes(field.mirror())).contains(t -> t.toString().contains("java.lang.Enum")) ? ".name()" :
- "");
+ Seq.with(typeu.directSupertypes(field.mirror())).contains(t -> t.toString().contains("java.lang.Enum")) ? ".name()" :
+ "");
//reading primitives, strings and enums is supported; nothing else is
- reader.addStatement("result.$L = $L(tokens[$L])$L",
+ reader.addStatement("if(tokens.length > $L) result.$L = $L(tokens[$L])",
+ index + 1,
field.name(),
field.mirror().toString().equals("java.lang.String") ?
"" : (field.tname().isPrimitive() ? field.tname().box().toString() :
field.mirror().toString()) + ".valueOf", //if it's not a string, it must have a valueOf method
- index + 1,
- field.mirror().toString().equals("java.lang.String") ?
- ".replace(\"\\\\n\", \"\\n\")" :
- ""
+ index + 1
);
index ++;
}
+ reader.addStatement("result.afterRead()");
reader.addStatement("return result");
}
diff --git a/annotations/src/main/resources/revisions/Fire/1.json b/annotations/src/main/resources/revisions/Fire/1.json
new file mode 100644
index 0000000000..b410469512
--- /dev/null
+++ b/annotations/src/main/resources/revisions/Fire/1.json
@@ -0,0 +1 @@
+{version:1,fields:[{name:lifetime,type:float,size:4},{name:tile,type:mindustry.world.Tile,size:-1},{name:time,type:float,size:4},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
\ No newline at end of file
diff --git a/annotations/src/main/resources/revisions/WeatherState/2.json b/annotations/src/main/resources/revisions/WeatherState/2.json
new file mode 100644
index 0000000000..d085d4d22f
--- /dev/null
+++ b/annotations/src/main/resources/revisions/WeatherState/2.json
@@ -0,0 +1 @@
+{version:2,fields:[{name:effectTimer,type:float,size:4},{name:intensity,type:float,size:4},{name:life,type:float,size:4},{name:opacity,type:float,size:4},{name:weather,type:mindustry.type.Weather,size:-1},{name:windVector,type:arc.math.geom.Vec2,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 9146c9160c..20e2b7f0dd 100644
--- a/build.gradle
+++ b/build.gradle
@@ -180,6 +180,19 @@ allprojects{
}
}
+//compile with java 8 compatibility for everything except the annotati project
+configure(subprojects - project(":annotations")){
+ tasks.withType(JavaCompile){
+ if(JavaVersion.current() != JavaVersion.VERSION_1_8){
+ options.compilerArgs.addAll(['--release', '8'])
+ }
+ }
+
+ tasks.withType(Javadoc){
+ options.addStringOption('Xdoclint:none', '-quiet')
+ }
+}
+
project(":desktop"){
apply plugin: "java"
@@ -310,6 +323,7 @@ project(":tests"){
workingDir = new File("../core/assets")
testLogging {
exceptionFormat = 'full'
+ showStandardStreams = true
}
}
}
diff --git a/core/assets-raw/fontgen/config.json b/core/assets-raw/fontgen/config.json
index f2421542a9..1c25eac26c 100644
--- a/core/assets-raw/fontgen/config.json
+++ b/core/assets-raw/fontgen/config.json
@@ -886,20 +886,6 @@
"command-retreat"
]
},
- {
- "uid": "1bc31b80669cb5edc2ee5d1370554bc9",
- "css": "players",
- "code": 59483,
- "src": "custom_icons",
- "selected": true,
- "svg": {
- "path": "M370.1 55.1Q401.6 23.6 448.8 7.9 496.1-7.9 543.3 7.9 590.6 23.6 622 55.1 653.5 86.6 685 118.1 716.5 149.6 732.3 196.9 748 244.1 732.3 291.3 716.5 338.6 685 370.1 653.5 401.6 653.5 433.1 653.5 464.6 685 496.1 716.5 527.6 748 559.1 779.5 590.6 811 622 842.5 653.5 874 685 905.5 716.5 937 748 968.5 779.5 984.3 826.8 1000 874 984.3 921.3 968.5 968.5 921.3 984.3 874 1000 811 1000 748 1000 685 1000 622 1000 559.1 1000 496.1 1000 433.1 1000 370.1 1000 307.1 1000 244.1 1000 181.1 1000 118.1 1000 70.9 984.3 23.6 968.5 7.9 921.3-7.9 874 7.9 826.8 23.6 779.5 55.1 748 86.6 716.5 118.1 685 149.6 653.5 181.1 622 212.6 590.6 244.1 559.1 275.6 527.6 307.1 496.1 338.6 464.6 338.6 433.1 338.6 401.6 307.1 370.1 275.6 338.6 259.8 291.3 244.1 244.1 259.8 196.9 275.6 149.6 307.1 118.1 338.6 86.6 370.1 55.1",
- "width": 992
- },
- "search": [
- "players"
- ]
- },
{
"uid": "2073dbd997e5d8e1ffc1322d13ba5585",
"css": "chat",
@@ -919,6 +905,34 @@
"css": "zoom",
"code": 59415,
"src": "fontawesome"
+ },
+ {
+ "uid": "1bc31b80669cb5edc2ee5d1370554bc9",
+ "css": "players",
+ "code": 59483,
+ "src": "custom_icons",
+ "selected": true,
+ "svg": {
+ "path": "M370.1 55.1Q401.6 23.6 448.8 7.9 496.1-7.9 543.3 7.9 590.6 23.6 622 55.1 653.5 86.6 685 118.1 716.5 149.6 732.3 196.9 748 244.1 732.3 291.3 716.5 338.6 685 370.1 653.5 401.6 653.5 433.1 653.5 464.6 685 496.1 716.5 527.6 748 559.1 779.5 590.6 811 622 842.5 653.5 874 685 905.5 716.5 937 748 968.5 779.5 984.3 826.8 1000 874 984.3 921.3 968.5 968.5 921.3 984.3 874 1000 811 1000 748 1000 685 1000 622 1000 559.1 1000 496.1 1000 433.1 1000 370.1 1000 307.1 1000 244.1 1000 181.1 1000 118.1 1000 70.9 984.3 23.6 968.5 7.9 921.3-7.9 874 7.9 826.8 23.6 779.5 55.1 748 86.6 716.5 118.1 685 149.6 653.5 181.1 622 212.6 590.6 244.1 559.1 275.6 527.6 307.1 496.1 338.6 464.6 338.6 433.1 338.6 401.6 307.1 370.1 275.6 338.6 259.8 291.3 244.1 244.1 259.8 196.9 275.6 149.6 307.1 118.1 338.6 86.6 370.1 55.1",
+ "width": 992
+ },
+ "search": [
+ "players"
+ ]
+ },
+ {
+ "uid": "dd1e5d774d1ced68cb7c439d8ed102f5",
+ "css": "logic",
+ "code": 59420,
+ "src": "custom_icons",
+ "selected": true,
+ "svg": {
+ "path": "M375 0L250 125H125V250L0 375 125 500 0 625 125 750V875H250L375 1000 500 875 625 1000 750 875H875V750L1000 625 875 500 1000 375 875 250V125H750L625 0 500 125ZM250 250H750V750H250ZM375 375V625H625V375Z",
+ "width": 1000
+ },
+ "search": [
+ "logic"
+ ]
}
]
-}
+}
\ No newline at end of file
diff --git a/core/assets-raw/fontgen/icons/logic.svg b/core/assets-raw/fontgen/icons/logic.svg
new file mode 100644
index 0000000000..431ce25d42
--- /dev/null
+++ b/core/assets-raw/fontgen/icons/logic.svg
@@ -0,0 +1,67 @@
+
+
diff --git a/core/assets-raw/sprites/blocks/distribution/mass-conveyor-edge.png b/core/assets-raw/sprites/blocks/distribution/payload-conveyor-edge.png
similarity index 100%
rename from core/assets-raw/sprites/blocks/distribution/mass-conveyor-edge.png
rename to core/assets-raw/sprites/blocks/distribution/payload-conveyor-edge.png
diff --git a/core/assets-raw/sprites/blocks/distribution/mass-conveyor-icon.png b/core/assets-raw/sprites/blocks/distribution/payload-conveyor-icon.png
similarity index 100%
rename from core/assets-raw/sprites/blocks/distribution/mass-conveyor-icon.png
rename to core/assets-raw/sprites/blocks/distribution/payload-conveyor-icon.png
diff --git a/core/assets-raw/sprites/blocks/distribution/mass-conveyor-top.png b/core/assets-raw/sprites/blocks/distribution/payload-conveyor-top.png
similarity index 100%
rename from core/assets-raw/sprites/blocks/distribution/mass-conveyor-top.png
rename to core/assets-raw/sprites/blocks/distribution/payload-conveyor-top.png
diff --git a/core/assets-raw/sprites/blocks/distribution/mass-conveyor.png b/core/assets-raw/sprites/blocks/distribution/payload-conveyor.png
similarity index 100%
rename from core/assets-raw/sprites/blocks/distribution/mass-conveyor.png
rename to core/assets-raw/sprites/blocks/distribution/payload-conveyor.png
diff --git a/core/assets-raw/sprites/blocks/extra/message.png b/core/assets-raw/sprites/blocks/extra/message.png
deleted file mode 100644
index 60f8659d12..0000000000
Binary files a/core/assets-raw/sprites/blocks/extra/message.png and /dev/null differ
diff --git a/core/assets-raw/sprites/blocks/logic/data-processor-top.png b/core/assets-raw/sprites/blocks/logic/data-processor-top.png
deleted file mode 100644
index 2596221950..0000000000
Binary files a/core/assets-raw/sprites/blocks/logic/data-processor-top.png and /dev/null differ
diff --git a/core/assets-raw/sprites/blocks/logic/hyper-processor.png b/core/assets-raw/sprites/blocks/logic/hyper-processor.png
new file mode 100644
index 0000000000..74dc55f3ea
Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/hyper-processor.png differ
diff --git a/core/assets-raw/sprites/blocks/logic/logic-display.png b/core/assets-raw/sprites/blocks/logic/logic-display.png
index fed3fab176..ffb2404f09 100644
Binary files a/core/assets-raw/sprites/blocks/logic/logic-display.png and b/core/assets-raw/sprites/blocks/logic/logic-display.png differ
diff --git a/core/assets-raw/sprites/blocks/logic/logic-processor-3.png b/core/assets-raw/sprites/blocks/logic/logic-processor-3.png
deleted file mode 100644
index 92bbec2528..0000000000
Binary files a/core/assets-raw/sprites/blocks/logic/logic-processor-3.png and /dev/null differ
diff --git a/core/assets-raw/sprites/blocks/logic/logic-processor.png b/core/assets-raw/sprites/blocks/logic/logic-processor.png
index 7071b2b02c..7746f89935 100644
Binary files a/core/assets-raw/sprites/blocks/logic/logic-processor.png and b/core/assets-raw/sprites/blocks/logic/logic-processor.png differ
diff --git a/core/assets-raw/sprites/blocks/logic/memory-cell.png b/core/assets-raw/sprites/blocks/logic/memory-cell.png
new file mode 100644
index 0000000000..1ef2998c51
Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/memory-cell.png differ
diff --git a/core/assets-raw/sprites/blocks/logic/message.png b/core/assets-raw/sprites/blocks/logic/message.png
new file mode 100644
index 0000000000..00bd9c8b95
Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/message.png differ
diff --git a/core/assets-raw/sprites/blocks/logic/micro-processor.png b/core/assets-raw/sprites/blocks/logic/micro-processor.png
index b592ad967f..2b1de7cd5f 100644
Binary files a/core/assets-raw/sprites/blocks/logic/micro-processor.png and b/core/assets-raw/sprites/blocks/logic/micro-processor.png differ
diff --git a/core/assets-raw/sprites/blocks/logic/switch-on.png b/core/assets-raw/sprites/blocks/logic/switch-on.png
new file mode 100644
index 0000000000..a439bd281d
Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/switch-on.png differ
diff --git a/core/assets-raw/sprites/blocks/logic/switch.png b/core/assets-raw/sprites/blocks/logic/switch.png
new file mode 100644
index 0000000000..5519fc789c
Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/switch.png differ
diff --git a/core/assets-raw/sprites/blocks/props/white-tree-dead-shadow.png b/core/assets-raw/sprites/blocks/props/white-tree-dead-shadow.png
new file mode 100644
index 0000000000..f95d982188
Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/white-tree-dead-shadow.png differ
diff --git a/core/assets-raw/sprites/blocks/props/white-tree-dead.png b/core/assets-raw/sprites/blocks/props/white-tree-dead.png
index 4e7a5c9292..cfb6d65cf1 100644
Binary files a/core/assets-raw/sprites/blocks/props/white-tree-dead.png and b/core/assets-raw/sprites/blocks/props/white-tree-dead.png differ
diff --git a/core/assets-raw/sprites/blocks/props/white-tree-shadow.png b/core/assets-raw/sprites/blocks/props/white-tree-shadow.png
new file mode 100644
index 0000000000..8ce60aa712
Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/white-tree-shadow.png differ
diff --git a/core/assets-raw/sprites/blocks/props/white-tree.png b/core/assets-raw/sprites/blocks/props/white-tree.png
index bfc3d3629e..91f17de316 100644
Binary files a/core/assets-raw/sprites/blocks/props/white-tree.png and b/core/assets-raw/sprites/blocks/props/white-tree.png differ
diff --git a/core/assets-raw/sprites/units/arkyid-cell.png b/core/assets-raw/sprites/units/arkyid-cell.png
index 0806581f78..2cfccc7afb 100644
Binary files a/core/assets-raw/sprites/units/arkyid-cell.png and b/core/assets-raw/sprites/units/arkyid-cell.png differ
diff --git a/core/assets-raw/sprites/units/arkyid-leg-base.png b/core/assets-raw/sprites/units/arkyid-leg-base.png
index 5586043b4a..114665d7a1 100644
Binary files a/core/assets-raw/sprites/units/arkyid-leg-base.png and b/core/assets-raw/sprites/units/arkyid-leg-base.png differ
diff --git a/core/assets-raw/sprites/units/arkyid.png b/core/assets-raw/sprites/units/arkyid.png
index 78c84e44c6..184ea910ae 100644
Binary files a/core/assets-raw/sprites/units/arkyid.png and b/core/assets-raw/sprites/units/arkyid.png differ
diff --git a/core/assets-raw/sprites/units/weapons/antumbra-missiles.png b/core/assets-raw/sprites/units/weapons/antumbra-missiles.png
deleted file mode 100644
index a37cbfa449..0000000000
Binary files a/core/assets-raw/sprites/units/weapons/antumbra-missiles.png and /dev/null differ
diff --git a/core/assets-raw/sprites/units/weapons/large-purple-mount.png b/core/assets-raw/sprites/units/weapons/large-purple-mount.png
new file mode 100644
index 0000000000..4940a5b049
Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/large-purple-mount.png differ
diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties
index 4b8026df80..56f21ac68e 100644
--- a/core/assets/bundles/bundle.properties
+++ b/core/assets/bundles/bundle.properties
@@ -575,6 +575,8 @@ blocks.shootrange = Range
blocks.size = Size
blocks.liquidcapacity = Liquid Capacity
blocks.powerrange = Power Range
+blocks.linkrange = Link Range
+blocks.instructions = Instructions
blocks.powerconnections = Max Connections
blocks.poweruse = Power Use
blocks.powerdamage = Power/Damage
@@ -590,6 +592,7 @@ blocks.boosteffect = Boost Effect
blocks.maxunits = Max Active Units
blocks.health = Health
blocks.buildtime = Build Time
+blocks.maxconsecutive = Max Consecutive
blocks.buildcost = Build Cost
blocks.inaccuracy = Inaccuracy
blocks.shots = Shots
@@ -726,6 +729,7 @@ category.blocks.name = Block Select
command.attack = Attack
command.rally = Rally
command.retreat = Retreat
+command.idle = Idle
placement.blockselectkeys = \n[lightgray]Key: [{0},
keybind.respawn.name = Respawn
keybind.control.name = Control Unit
@@ -738,6 +742,7 @@ keybind.toggle_block_status.name = Toggle Block Statuses
keybind.move_x.name = Move X
keybind.move_y.name = Move Y
keybind.mouse_move.name = Follow Mouse
+keybind.pan.name = Pan View
keybind.boost.name = Boost
keybind.schematic_select.name = Select Region
keybind.schematic_menu.name = Schematic Menu
@@ -1072,6 +1077,7 @@ block.container.name = Container
block.launch-pad.name = Launch Pad
block.launch-pad-large.name = Large Launch Pad
block.segment.name = Segment
+block.command-center.name = Command Center
block.ground-factory.name = Ground Factory
block.air-factory.name = Air Factory
block.naval-factory.name = Naval Factory
@@ -1079,11 +1085,19 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Payload Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
block.overdrive-dome.name = Overdrive Dome
+
+block.switch.name = Switch
+block.micro-processor.name = Micro Processor
+block.logic-processor.name = Logic Processor
+block.hyper-processor.name = Hyper Processor
+block.logic-display.name = Logic Display
+block.memory-cell.name = Memory Cell
+
team.blue.name = blue
team.crux.name = red
team.sharded.name = orange
diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties
index 7e64018c45..906aa492cd 100644
--- a/core/assets/bundles/bundle_be.properties
+++ b/core/assets/bundles/bundle_be.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties
index d2bcda5623..18d6b667e3 100644
--- a/core/assets/bundles/bundle_cs.properties
+++ b/core/assets/bundles/bundle_cs.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Přídavný přestavbovač
block.multiplicative-reconstructor.name = Násobný přestavbovač
block.exponential-reconstructor.name = Exponenciální přestavbovač
block.tetrative-reconstructor.name = Umocňující přestavbovač
-block.mass-conveyor.name = Hromadný dopravník
+block.payload-conveyor.name = Hromadný dopravník
block.payload-router.name = Směřovač nákladu
block.disassembler.name = Rozebírač
block.silicon-crucible.name = Křemíková nádoba
diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties
index cf07fd28fa..f448bcafaf 100644
--- a/core/assets/bundles/bundle_da.properties
+++ b/core/assets/bundles/bundle_da.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties
index 2e09d13cee..881ffe40be 100644
--- a/core/assets/bundles/bundle_de.properties
+++ b/core/assets/bundles/bundle_de.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties
index 7d20286d0f..9fad522899 100644
--- a/core/assets/bundles/bundle_es.properties
+++ b/core/assets/bundles/bundle_es.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties
index 8dc981c19c..ea08f62c6d 100644
--- a/core/assets/bundles/bundle_et.properties
+++ b/core/assets/bundles/bundle_et.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties
index 2c5d3b7c4b..1c115f90ad 100644
--- a/core/assets/bundles/bundle_eu.properties
+++ b/core/assets/bundles/bundle_eu.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties
index 985cea08a4..93cf3feaaf 100644
--- a/core/assets/bundles/bundle_fi.properties
+++ b/core/assets/bundles/bundle_fi.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties
new file mode 100644
index 0000000000..a07e8ebf76
--- /dev/null
+++ b/core/assets/bundles/bundle_fil.properties
@@ -0,0 +1,1246 @@
+credits.text = Created by [royal]Anuken[] - [sky]anukendev@gmail.com[]
+credits = Credits
+contributors = Mga Tagasalin at Contributor
+discord = Sumali sa Mindustry Discord!
+link.discord.description = Ang opisyal na Mindustry Discord chatroom.
+link.reddit.description = Ang Mindustry subreddit
+link.github.description = Game source code
+link.changelog.description = Listahan ng mga pagbabagong ginawa
+link.dev-builds.description = Unstable development builds
+link.trello.description = Opisyal Trello board para sa mga nakalatag na features
+link.itch.io.description = itch.io page na may PC download
+link.google-play.description = Google Play store listing
+link.f-droid.description = F-Droid catalogue listing
+link.wiki.description = Opsiyal Mindustry wiki
+link.suggestions.description = Magmungkahi ng bagong feature
+linkfail = 'Di mabuksan ang link!\nKinopya na sa 'yong clipboard ang URL.
+screenshot = Ini-adya na ang screenshot sa {0}
+screenshot.invalid = Masiyadong malaki ang mapa; maaaring kulang ang memory para sa screenshot.
+gameover = Tapos Na Ang Laro
+gameover.pvp = Ang[accent] {0}[] team ay nanalo!
+highscore = [accent]Panibagong mataas na Iskor!
+copied = Kinopya.
+
+load.sound = Mga Tunog
+load.map = Mga Mapa
+load.image = Mga Litrato
+load.content = Nilalaman
+load.system = System
+load.mod = Mga Mod
+load.scripts = Mga Iskrip
+
+be.update = Mayroong baong Bleeding Edge build na makukuha:
+be.update.confirm = I-download at i-restart?
+be.updating = I-na-update...
+be.ignore = Huwag Pansinin
+be.noupdates = Walang nahanap na update.
+be.check = Tignan kung may mga update.
+
+schematic = Schematic
+schematic.add = I-adya ang Schematic...
+schematics = Mga Schematic
+schematic.replace = Ang schematic sa parehong pangalan ay mayroon na. Gusto mo bang palitan?
+schematic.exists = Ang schematic sa parehong pangalan ay mayroon na.
+schematic.import = I-angkat ang Schematic...
+schematic.exportfile = Mag-export ng File
+schematic.importfile = Mag-angkat ng File
+schematic.browseworkshop = Maghanap sa Workshop
+schematic.copy = Kopyahin sa Clipboard
+schematic.copy.import = I-angkat mula sa Clipboard
+schematic.shareworkshop = Ibahagi sa Workshop
+schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Baligtarin ang Schematic
+schematic.saved = Na-i-adya na ang schematic.
+schematic.delete.confirm = Ang schematic na'to ay tuluyang mawawala.
+schematic.rename = Palitan Ang Pangalan ng Schematic
+schematic.info = {0}x{1}, {2} blocks
+
+stat.wave = Wave na Nalagpasan:[accent] {0}
+stat.enemiesDestroyed = Tinalong Kalaban:[accent] {0}
+stat.built = Gusaling Itinayo:[accent] {0}
+stat.destroyed = Gusaling Nawasak:[accent] {0}
+stat.deconstructed = Gusaling Binuwag/Tinanggal:[accent] {0}
+stat.delivered = Mga Yaman na Nahanap:
+stat.playtime = Tagal na Nilaro:[accent] {0}
+stat.rank = Pinal na Ranggo: [accent]{0}
+
+globalitems = [accent]Mga Pangkalahatang Bagay
+map.delete = Sigurado ka bang buburahin ang mapang "[accent]{0}[]"?
+level.highscore = Pinakamataas na Iskor: [accent]{0}
+level.select = Mamili ng Lebel
+level.mode = Paraan ng Paglalaro:
+coreattack = < Ang core ay inaatake! >
+nearpoint = [[ [scarlet]UMALIS KAAGAD SA DROP POINT[] ]\nmalapit ka nang mamatay
+database = Database ng Core
+savegame = I-adya ang Laro
+loadgame = Load Game
+joingame = Sumali sa Laro
+customgame = Kustom na Laro
+newgame = Bagong Laro
+none =
+minimap = Minimap
+position = Posisyon
+close = Isara
+website = Website
+quit = Umalis
+save.quit = I-adya & Umalis
+maps = Mga Mapa
+maps.browse = Maghanap ng mga Mapa
+continue = Magpatuloy
+maps.none = [lightgray]Walang mapang nahanap!
+invalid = Hindi Wasto
+pickcolor = Pumili ng Kulay
+preparingconfig = Inihahanda ang Config
+preparingcontent = Inihahanda ang mga Nilalaman
+uploadingcontent = Ini-a-upload ang Nilalaman
+uploadingpreviewfile = Ini-a-upload ang Preview File
+committingchanges = Gumagawa ng mga Pagbabago
+done = Tapos Na
+feature.unsupported = Hindi suportado ng 'yong device ang feature na'to.
+
+mods.alphainfo = Tandaan mo na ang mga mod ay nasa 'alpha', at[scarlet] maaaring may depekto pa ang mga 'to[].\nI-ulat ang kahit anong depektong matutuklasan mo sa Mindustry GitHub o Discord.
+mods.alpha = [accent](Alpha)
+mods = Mga Mod
+mods.none = [lightgray]Walang mga mod na nahanap!
+mods.guide = Gabay para sa Paggawa ng Mod
+mods.report = Mag-ulat ng Depekto
+mods.openfolder = Buksan ang Folder
+mods.reload = I-reload
+mods.reloadexit = Ang laro ay isasara, para mag-reload ng mga mod.
+mod.display = [gray]Mod:[orange] {0}
+mod.enabled = [lightgray]Gumagana
+mod.disabled = [scarlet]Hindi Gumagana
+mod.disable = 'Wag Paganahin
+mod.content = Nilalaman:
+mod.delete.error = 'Di matanggal ang mod. Maaaring ginagamit pa 'to.
+mod.requiresversion = [scarlet]Kinakailangan ang minimum bersyon ng laro: [accent]{0}
+mod.missingdependencies = [scarlet]Nawawalang mga Dependency: {0}
+mod.erroredcontent = [scarlet]Mga Error sa Nilalaman
+mod.errors = May mga error na naitala habang ni-lo-load ang nilalaman.
+mod.noerrorplay = [scarlet]May mga mod kang may error.[] Maaaring 'wag munang paganahin ang mga apektadong mod o 'di kaya'y ayusin ang mga error bago maglaro.
+mod.nowdisabled = [scarlet]Ang mod na '{0}' ay ma kulang na mga dependency:[accent] {1}\n[lightgray]Ang mga ito'y kinakailangang i-download muna.\nAng mod na'to ay kusang 'di papaganahin.
+mod.enable = Paganahin
+mod.requiresrestart = Ang laro'y magsasaro upang mai-apply ang mga pagbabago sa mod.
+mod.reloadrequired = [scarlet]Kinakalingang I-restart
+mod.import = I-angkat ang Mod
+mod.import.file = I-angkat ang File
+mod.import.github = Mag-angkat mula sa GitHub
+mod.jarwarn = [scarlet]Ang mga mod na gawa sa JAR ay likas na 'di ligtas laruin.[]\nSiguraduhin mong mapapagkatiwalaan ang 'yong pinagkunan nito!
+mod.item.remove = Ang bagay na'to ay parte ng mod na [accent] '{0}'[]. Kung nais mong tanggalin, i-uninstall mo ang mod.
+mod.remove.confirm = Ang mod na'to ay mabubura.
+mod.author = [lightgray]May-akda:[] {0}
+mod.missing = Ang larong 'to ay may nilalaman na mod na in-update kamakailan o binura mo na. Maaaring ma-corrput ang larong 'to. Sigurado ka bang gusto mong i-load 'to?\n[lightgray]Mga Mod:\n{0}
+mod.preview.missing = Bago mong ilathala ang mod sa workshop, dapat maglagay ka nang image preview.\nMaglagay ka ng litratong nagngangalang[accent] preview.png[] sa folder ng mod at subukan mo muli.
+mod.folder.missing = Tanging mga mod lang nasa loob ng folder ay maaaring ma-ilathala sa workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods.
+mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game.
+
+about.button = About
+name = Name:
+noname = Pick a[accent] player name[] first.
+filename = File Name:
+unlocked = New content unlocked!
+completed = [accent]Completed
+techtree = Tech Tree
+research.list = [lightgray]Research:
+research = Research
+researched = [lightgray]{0} researched.
+research.progress = {0}% complete
+players = {0} players
+players.single = {0} player
+players.search = search
+players.notfound = [gray]no players found
+server.closing = [accent]Closing server...
+server.kicked.kick = You have been kicked from the server!
+server.kicked.whitelist = You are not whitelisted here.
+server.kicked.serverClose = Server closed.
+server.kicked.vote = You have been vote-kicked. Goodbye.
+server.kicked.clientOutdated = Outdated client! Update your game!
+server.kicked.serverOutdated = Outdated server! Ask the host to update!
+server.kicked.banned = You are banned on this server.
+server.kicked.typeMismatch = This server is not compatible with your build type.
+server.kicked.playerLimit = This server is full. Wait for an empty slot.
+server.kicked.recentKick = You have been kicked recently.\nWait before connecting again.
+server.kicked.nameInUse = There is someone with that name\nalready on this server.
+server.kicked.nameEmpty = Your chosen name is invalid.
+server.kicked.idInUse = You are already on this server! Connecting with two accounts is not permitted.
+server.kicked.customClient = This server does not support custom builds. Download an official version.
+server.kicked.gameover = Game over!
+server.kicked.serverRestarting = The server is restarting.
+server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
+host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery.
+join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] or [accent]global[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]If you want to connect to someone by IP, you would need to ask the host for their IP, which can be found by googling "my ip" from their device.
+hostserver = Host Multiplayer Game
+invitefriends = Invite Friends
+hostserver.mobile = Host\nGame
+host = Host
+hosting = [accent]Opening server...
+hosts.refresh = Refresh
+hosts.discovering = Discovering LAN games
+hosts.discovering.any = Discovering games
+server.refreshing = Refreshing server
+hosts.none = [lightgray]No local games found!
+host.invalid = [scarlet]Can't connect to host.
+
+servers.local = Local Servers
+servers.remote = Remote Servers
+servers.global = Community Servers
+
+trace = Trace Player
+trace.playername = Player name: [accent]{0}
+trace.ip = IP: [accent]{0}
+trace.id = Unique ID: [accent]{0}
+trace.mobile = Mobile Client: [accent]{0}
+trace.modclient = Custom Client: [accent]{0}
+invalidid = Invalid client ID! Submit a bug report.
+server.bans = Bans
+server.bans.none = No banned players found!
+server.admins = Admins
+server.admins.none = No admins found!
+server.add = Add Server
+server.delete = Are you sure you want to delete this server?
+server.edit = Edit Server
+server.outdated = [scarlet]Outdated Server![]
+server.outdated.client = [scarlet]Outdated Client![]
+server.version = [gray]v{0} {1}
+server.custombuild = [accent]Custom Build
+confirmban = Are you sure you want to ban "{0}[white]"?
+confirmkick = Are you sure you want to kick "{0}[white]"?
+confirmvotekick = Are you sure you want to vote-kick "{0}[white]"?
+confirmunban = Are you sure you want to unban this player?
+confirmadmin = Are you sure you want to make "{0}[white]" an admin?
+confirmunadmin = Are you sure you want to remove admin status from "{0}[white]"?
+joingame.title = Join Game
+joingame.ip = Address:
+disconnect = Disconnected.
+disconnect.error = Connection error.
+disconnect.closed = Connection closed.
+disconnect.timeout = Timed out.
+disconnect.data = Failed to load world data!
+cantconnect = Unable to join game ([accent]{0}[]).
+connecting = [accent]Connecting...
+connecting.data = [accent]Loading world data...
+server.port = Port:
+server.addressinuse = Address already in use!
+server.invalidport = Invalid port number!
+server.error = [scarlet]Error hosting server.
+save.new = New Save
+save.overwrite = Are you sure you want to overwrite\nthis save slot?
+overwrite = Overwrite
+save.none = No saves found!
+savefail = Failed to save game!
+save.delete.confirm = Are you sure you want to delete this save?
+save.delete = Delete
+save.export = Export Save
+save.import.invalid = [accent]This save is invalid!
+save.import.fail = [scarlet]Failed to import save: [accent]{0}
+save.export.fail = [scarlet]Failed to export save: [accent]{0}
+save.import = Import Save
+save.newslot = Save name:
+save.rename = Rename
+save.rename.text = New name:
+selectslot = Select a save.
+slot = [accent]Slot {0}
+editmessage = Edit Message
+save.corrupted = Save file corrupted or invalid!
+empty =
+on = On
+off = Off
+save.autosave = Autosave: {0}
+save.map = Map: {0}
+save.wave = Wave {0}
+save.mode = Gamemode: {0}
+save.date = Last Saved: {0}
+save.playtime = Playtime: {0}
+warning = Warning.
+confirm = Confirm
+delete = Delete
+view.workshop = View In Workshop
+workshop.listing = Edit Workshop Listing
+ok = OK
+open = Open
+customize = Customize Rules
+cancel = Cancel
+openlink = Open Link
+copylink = Copy Link
+back = Back
+data.export = Export Data
+data.import = Import Data
+data.openfolder = Open Data Folder
+data.exported = Data exported.
+data.invalid = This isn't valid game data.
+data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
+quit.confirm = Are you sure you want to quit?
+quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
+loading = [accent]Loading...
+reloading = [accent]Reloading Mods...
+saving = [accent]Saving...
+respawn = [accent][[{0}][] to respawn in core
+cancelbuilding = [accent][[{0}][] to clear plan
+selectschematic = [accent][[{0}][] to select+copy
+pausebuilding = [accent][[{0}][] to pause building
+resumebuilding = [scarlet][[{0}][] to resume building
+wave = [accent]Wave {0}
+wave.waiting = [lightgray]Wave in {0}
+wave.waveInProgress = [lightgray]Wave in progress
+waiting = [lightgray]Waiting...
+waiting.players = Waiting for players...
+wave.enemies = [lightgray]{0} Enemies Remaining
+wave.enemy = [lightgray]{0} Enemy Remaining
+loadimage = Load Image
+saveimage = Save Image
+unknown = Unknown
+custom = Custom
+builtin = Built-In
+map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone!
+map.random = [accent]Random Map
+map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] core to this map in the editor.
+map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[scarlet] non-orange[] cores to this map in the editor.
+map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[scarlet] red[] cores to this map in the editor.
+map.invalid = Error loading map: corrupted or invalid map file.
+workshop.update = Update Item
+workshop.error = Error fetching workshop details: {0}
+map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up!
+workshop.menu = Select what you would like to do with this item.
+workshop.info = Item Info
+changelog = Changelog (optional):
+eula = Steam EULA
+missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked.
+publishing = [accent]Publishing...
+publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up!
+publish.error = Error publishing item: {0}
+steam.error = Failed to initialize Steam services.\nError: {0}
+
+editor.brush = Brush
+editor.openin = Open In Editor
+editor.oregen = Ore Generation
+editor.oregen.info = Ore Generation:
+editor.mapinfo = Map Info
+editor.author = Author:
+editor.description = Description:
+editor.nodescription = A map must have a description of at least 4 characters before being published.
+editor.waves = Waves:
+editor.rules = Rules:
+editor.generation = Generation:
+editor.ingame = Edit In-Game
+editor.publish.workshop = Publish On Workshop
+editor.newmap = New Map
+workshop = Workshop
+waves.title = Waves
+waves.remove = Remove
+waves.never =
+waves.every = every
+waves.waves = wave(s)
+waves.perspawn = per spawn
+waves.shields = shields/wave
+waves.to = to
+waves.guardian = Guardian
+waves.preview = Preview
+waves.edit = Edit...
+waves.copy = Copy to Clipboard
+waves.load = Load from Clipboard
+waves.invalid = Invalid waves in clipboard.
+waves.copied = Waves copied.
+waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout.
+
+#these are intentionally in lower case
+wavemode.counts = counts
+wavemode.totals = totals
+wavemode.health = health
+
+editor.default = [lightgray]
+details = Details...
+edit = Edit...
+editor.name = Name:
+editor.spawn = Spawn Unit
+editor.removeunit = Remove Unit
+editor.teams = Teams
+editor.errorload = Error loading file.
+editor.errorsave = Error saving file.
+editor.errorimage = That's an image, not a map.\n\nIf you want to import a 3.5/build 40 map, use the 'Import Legacy Map' button in the editor.
+editor.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported.
+editor.errornot = This is not a map file.
+editor.errorheader = This map file is either not valid or corrupt.
+editor.errorname = Map has no name defined. Are you trying to load a save file?
+editor.update = Update
+editor.randomize = Randomize
+editor.apply = Apply
+editor.generate = Generate
+editor.resize = Resize
+editor.loadmap = Load Map
+editor.savemap = Save Map
+editor.saved = Saved!
+editor.save.noname = Your map does not have a name! Set one in the 'map info' menu.
+editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
+editor.import.exists = [scarlet]Unable to import:[] a built-in map named '{0}' already exists!
+editor.import = Import...
+editor.importmap = Import Map
+editor.importmap.description = Import an already existing map
+editor.importfile = Import File
+editor.importfile.description = Import an external map file
+editor.importimage = Import Image File
+editor.importimage.description = Import an external map image file
+editor.export = Export...
+editor.exportfile = Export File
+editor.exportfile.description = Export a map file
+editor.exportimage = Export Terrain Image
+editor.exportimage.description = Export an image file containing only basic terrain
+editor.loadimage = Import Terrain
+editor.saveimage = Export Terrain
+editor.unsaved = [scarlet]You have unsaved changes![]\nAre you sure you want to exit?
+editor.resizemap = Resize Map
+editor.mapname = Map Name:
+editor.overwrite = [accent]Warning!\nThis overwrites an existing map.
+editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?\n"[accent]{0}[]"
+editor.exists = A map with this name already exists.
+editor.selectmap = Select a map to load:
+
+toolmode.replace = Replace
+toolmode.replace.description = Draws only on solid blocks.
+toolmode.replaceall = Replace All
+toolmode.replaceall.description = Replace all blocks in map.
+toolmode.orthogonal = Orthogonal
+toolmode.orthogonal.description = Draws only orthogonal lines.
+toolmode.square = Square
+toolmode.square.description = Square brush.
+toolmode.eraseores = Erase Ores
+toolmode.eraseores.description = Erase only ores.
+toolmode.fillteams = Fill Teams
+toolmode.fillteams.description = Fill teams instead of blocks.
+toolmode.drawteams = Draw Teams
+toolmode.drawteams.description = Draw teams instead of blocks.
+
+filters.empty = [lightgray]No filters! Add one with the button below.
+filter.distort = Distort
+filter.noise = Noise
+filter.enemyspawn = Enemy Spawn Select
+filter.corespawn = Core Select
+filter.median = Median
+filter.oremedian = Ore Median
+filter.blend = Blend
+filter.defaultores = Default Ores
+filter.ore = Ore
+filter.rivernoise = River Noise
+filter.mirror = Mirror
+filter.clear = Clear
+filter.option.ignore = Ignore
+filter.scatter = Scatter
+filter.terrain = Terrain
+filter.option.scale = Scale
+filter.option.chance = Chance
+filter.option.mag = Magnitude
+filter.option.threshold = Threshold
+filter.option.circle-scale = Circle Scale
+filter.option.octaves = Octaves
+filter.option.falloff = Falloff
+filter.option.angle = Angle
+filter.option.amount = Amount
+filter.option.block = Block
+filter.option.floor = Floor
+filter.option.flooronto = Target Floor
+filter.option.wall = Wall
+filter.option.ore = Ore
+filter.option.floor2 = Secondary Floor
+filter.option.threshold2 = Secondary Threshold
+filter.option.radius = Radius
+filter.option.percentile = Percentile
+
+width = Width:
+height = Height:
+menu = Menu
+play = Play
+campaign = Campaign
+load = Load
+save = Save
+fps = FPS: {0}
+ping = Ping: {0}ms
+language.restart = Please restart your game for the language settings to take effect.
+settings = Settings
+tutorial = Tutorial
+tutorial.retake = Re-Take Tutorial
+editor = Editor
+mapeditor = Map Editor
+
+abandon = Abandon
+abandon.text = This zone and all its resources will be lost to the enemy.
+locked = Locked
+complete = [lightgray]Complete:
+requirement.wave = Reach Wave {0} in {1}
+requirement.core = Destroy Enemy Core in {0}
+requirement.research = Research {0}
+resume = Resume Zone:\n[lightgray]{0}
+bestwave = [lightgray]Best Wave: {0}
+#TODO fix/remove this
+launch = < LAUNCH >
+launch.text = Launch
+launch.title = Launch Successful
+launch.next = [lightgray]next opportunity at wave {0}
+launch.unable2 = [scarlet]Unable to LAUNCH.[]
+launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
+launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
+uncover = Uncover
+configure = Configure Loadout
+#TODO
+loadout = Loadout
+resources = Resources
+bannedblocks = Banned Blocks
+addall = Add All
+configure.invalid = Amount must be a number between 0 and {0}.
+zone.unlocked = [lightgray]{0} unlocked.
+zone.requirement.complete = Requirement for {0} completed:[lightgray]\n{1}
+zone.resources = [lightgray]Resources Detected:
+zone.objective = [lightgray]Objective: [accent]{0}
+zone.objective.survival = Survive
+zone.objective.attack = Destroy Enemy Core
+add = Add...
+boss.health = Boss Health
+
+connectfail = [scarlet]Connection error:\n\n[accent]{0}
+error.unreachable = Server unreachable.\nIs the address spelled correctly?
+error.invalidaddress = Invalid address.
+error.timedout = Timed out!\nMake sure the host has port forwarding set up, and that the address is correct!
+error.mismatch = Packet error:\npossible client/server version mismatch.\nMake sure you and the host have the latest version of Mindustry!
+error.alreadyconnected = Already connected.
+error.mapnotfound = Map file not found!
+error.io = Network I/O error.
+error.any = Unknown network error.
+error.bloom = Failed to initialize bloom.\nYour device may not support it.
+
+#NOTE TO TRANSLATORS: don't bother editing these, they'll be removed and/or rewritten anyway
+sector.groundZero.name = Ground Zero
+sector.craters.name = The Craters
+sector.frozenForest.name = Frozen Forest
+sector.ruinousShores.name = Ruinous Shores
+sector.stainedMountains.name = Stained Mountains
+sector.desolateRift.name = Desolate Rift
+sector.nuclearComplex.name = Nuclear Production Complex
+sector.overgrowth.name = Overgrowth
+sector.tarFields.name = Tar Fields
+sector.saltFlats.name = Salt Flats
+sector.fungalPass.name = Fungal Pass
+
+#unused
+#sector.impact0078.name = Impact 0078
+#sector.crags.name = Crags
+
+sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
+sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
+sector.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing.
+sector.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills.
+sector.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology.
+sector.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units.
+sector.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost.
+sector.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
+sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
+sector.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
+sector.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
+
+settings.language = Language
+settings.data = Game Data
+settings.reset = Reset to Defaults
+settings.rebind = Rebind
+settings.resetKey = Reset
+settings.controls = Controls
+settings.game = Game
+settings.sound = Sound
+settings.graphics = Graphics
+settings.cleardata = Clear Game Data...
+settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone!
+settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit.
+paused = [accent]< Paused >
+clear = Clear
+banned = [scarlet]Banned
+unplaceable.sectorcaptured = [scarlet]Requires captured sector
+yes = Yes
+no = No
+info.title = Info
+error.title = [scarlet]An error has occured
+error.crashtitle = An error has occured
+unit.nobuild = [scarlet]Unit can't build
+blocks.input = Input
+blocks.output = Output
+blocks.booster = Booster
+blocks.tiles = Required Tiles
+blocks.affinities = Affinities
+block.unknown = [lightgray]???
+blocks.powercapacity = Power Capacity
+blocks.powershot = Power/Shot
+blocks.damage = Damage
+blocks.targetsair = Targets Air
+blocks.targetsground = Targets Ground
+blocks.itemsmoved = Move Speed
+blocks.launchtime = Time Between Launches
+blocks.shootrange = Range
+blocks.size = Size
+blocks.liquidcapacity = Liquid Capacity
+blocks.powerrange = Power Range
+blocks.powerconnections = Max Connections
+blocks.poweruse = Power Use
+blocks.powerdamage = Power/Damage
+blocks.itemcapacity = Item Capacity
+blocks.basepowergeneration = Base Power Generation
+blocks.productiontime = Production Time
+blocks.repairtime = Block Full Repair Time
+blocks.speedincrease = Speed Increase
+blocks.range = Range
+blocks.drilltier = Drillables
+blocks.drillspeed = Base Drill Speed
+blocks.boosteffect = Boost Effect
+blocks.maxunits = Max Active Units
+blocks.health = Health
+blocks.buildtime = Build Time
+blocks.buildcost = Build Cost
+blocks.inaccuracy = Inaccuracy
+blocks.shots = Shots
+blocks.reload = Shots/Second
+blocks.ammo = Ammo
+
+bar.drilltierreq = Better Drill Required
+bar.noresources = Missing Resources
+bar.corereq = Core Base Required
+bar.drillspeed = Drill Speed: {0}/s
+bar.pumpspeed = Pump Speed: {0}/s
+bar.efficiency = Efficiency: {0}%
+bar.powerbalance = Power: {0}/s
+bar.powerstored = Stored: {0}/{1}
+bar.poweramount = Power: {0}
+bar.poweroutput = Power Output: {0}
+bar.items = Items: {0}
+bar.capacity = Capacity: {0}
+bar.unitcap = {0} {1}/{2}
+bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[unit disabled]
+bar.liquid = Liquid
+bar.heat = Heat
+bar.power = Power
+bar.progress = Build Progress
+bar.input = Input
+bar.output = Output
+
+bullet.damage = [stat]{0}[lightgray] damage
+bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
+bullet.incendiary = [stat]incendiary
+bullet.homing = [stat]homing
+bullet.shock = [stat]shock
+bullet.frag = [stat]frag
+bullet.knockback = [stat]{0}[lightgray] knockback
+bullet.freezing = [stat]freezing
+bullet.tarred = [stat]tarred
+bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
+bullet.reload = [stat]{0}[lightgray]x fire rate
+
+unit.blocks = blocks
+unit.powersecond = power units/second
+unit.liquidsecond = liquid units/second
+unit.itemssecond = items/second
+unit.liquidunits = liquid units
+unit.powerunits = power units
+unit.degrees = degrees
+unit.seconds = seconds
+unit.persecond = /sec
+unit.timesspeed = x speed
+unit.percent = %
+unit.items = items
+unit.thousands = k
+unit.millions = mil
+unit.billions = b
+category.general = General
+category.power = Power
+category.liquids = Liquids
+category.items = Items
+category.crafting = Input/Output
+category.shooting = Shooting
+category.optional = Optional Enhancements
+setting.landscape.name = Lock Landscape
+setting.shadows.name = Shadows
+setting.blockreplace.name = Automatic Block Suggestions
+setting.linear.name = Linear Filtering
+setting.hints.name = Hints
+setting.flow.name = Display Resource Flow Rate
+setting.buildautopause.name = Auto-Pause Building
+setting.mapcenter.name = Auto Center Map To Player
+setting.animatedwater.name = Animated Fluids
+setting.animatedshields.name = Animated Shields
+setting.antialias.name = Antialias[lightgray] (requires restart)[]
+setting.playerindicators.name = Player Indicators
+setting.indicators.name = Enemy Indicators
+setting.autotarget.name = Auto-Target
+setting.keyboard.name = Mouse+Keyboard Controls
+setting.touchscreen.name = Touchscreen Controls
+setting.fpscap.name = Max FPS
+setting.fpscap.none = None
+setting.fpscap.text = {0} FPS
+setting.uiscale.name = UI Scaling[lightgray] (restart required)[]
+setting.swapdiagonal.name = Always Diagonal Placement
+setting.difficulty.training = Training
+setting.difficulty.easy = Easy
+setting.difficulty.normal = Normal
+setting.difficulty.hard = Hard
+setting.difficulty.insane = Insane
+setting.difficulty.name = Difficulty:
+setting.screenshake.name = Screen Shake
+setting.effects.name = Display Effects
+setting.destroyedblocks.name = Display Destroyed Blocks
+setting.blockstatus.name = Display Block Status
+setting.conveyorpathfinding.name = Conveyor Placement Pathfinding
+setting.sensitivity.name = Controller Sensitivity
+setting.saveinterval.name = Save Interval
+setting.seconds = {0} seconds
+setting.blockselecttimeout.name = Block Select Timeout
+setting.milliseconds = {0} milliseconds
+setting.fullscreen.name = Fullscreen
+setting.borderlesswindow.name = Borderless Window[lightgray] (restart may be required)
+setting.fps.name = Show FPS & Ping
+setting.smoothcamera.name = Smooth Camera
+setting.blockselectkeys.name = Show Block Select Keys
+setting.vsync.name = VSync
+setting.pixelate.name = Pixelate
+setting.minimap.name = Show Minimap
+setting.coreitems.name = Display Core Items (WIP)
+setting.position.name = Show Player Position
+setting.musicvol.name = Music Volume
+setting.atmosphere.name = Show Planet Atmosphere
+setting.ambientvol.name = Ambient Volume
+setting.mutemusic.name = Mute Music
+setting.sfxvol.name = SFX Volume
+setting.mutesound.name = Mute Sound
+setting.crashreport.name = Send Anonymous Crash Reports
+setting.savecreate.name = Auto-Create Saves
+setting.publichost.name = Public Game Visibility
+setting.playerlimit.name = Player Limit
+setting.chatopacity.name = Chat Opacity
+setting.lasersopacity.name = Power Laser Opacity
+setting.bridgeopacity.name = Bridge Opacity
+setting.playerchat.name = Display Player Bubble Chat
+public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility.
+public.beta = Note that beta versions of the game cannot make public lobbies.
+uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
+uiscale.cancel = Cancel & Exit
+setting.bloom.name = Bloom
+keybind.title = Rebind Keys
+keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
+category.general.name = General
+category.view.name = View
+category.multiplayer.name = Multiplayer
+category.blocks.name = Block Select
+command.attack = Attack
+command.rally = Rally
+command.retreat = Retreat
+placement.blockselectkeys = \n[lightgray]Key: [{0},
+keybind.respawn.name = Respawn
+keybind.control.name = Control Unit
+keybind.clear_building.name = Clear Building
+keybind.press = Press a key...
+keybind.press.axis = Press an axis or key...
+keybind.screenshot.name = Map Screenshot
+keybind.toggle_power_lines.name = Toggle Power Lasers
+keybind.toggle_block_status.name = Toggle Block Statuses
+keybind.move_x.name = Move X
+keybind.move_y.name = Move Y
+keybind.mouse_move.name = Follow Mouse
+keybind.boost.name = Boost
+keybind.schematic_select.name = Select Region
+keybind.schematic_menu.name = Schematic Menu
+keybind.schematic_flip_x.name = Flip Schematic X
+keybind.schematic_flip_y.name = Flip Schematic Y
+keybind.category_prev.name = Previous Category
+keybind.category_next.name = Next Category
+keybind.block_select_left.name = Block Select Left
+keybind.block_select_right.name = Block Select Right
+keybind.block_select_up.name = Block Select Up
+keybind.block_select_down.name = Block Select Down
+keybind.block_select_01.name = Category/Block Select 1
+keybind.block_select_02.name = Category/Block Select 2
+keybind.block_select_03.name = Category/Block Select 3
+keybind.block_select_04.name = Category/Block Select 4
+keybind.block_select_05.name = Category/Block Select 5
+keybind.block_select_06.name = Category/Block Select 6
+keybind.block_select_07.name = Category/Block Select 7
+keybind.block_select_08.name = Category/Block Select 8
+keybind.block_select_09.name = Category/Block Select 9
+keybind.block_select_10.name = Category/Block Select 10
+keybind.fullscreen.name = Toggle Fullscreen
+keybind.select.name = Select/Shoot
+keybind.diagonal_placement.name = Diagonal Placement
+keybind.pick.name = Pick Block
+keybind.break_block.name = Break Block
+keybind.deselect.name = Deselect
+keybind.shoot.name = Shoot
+keybind.zoom.name = Zoom
+keybind.menu.name = Menu
+keybind.pause.name = Pause
+keybind.pause_building.name = Pause/Resume Building
+keybind.minimap.name = Minimap
+keybind.chat.name = Chat
+keybind.player_list.name = Player List
+keybind.console.name = Console
+keybind.rotate.name = Rotate
+keybind.rotateplaced.name = Rotate Existing (Hold)
+keybind.toggle_menus.name = Toggle Menus
+keybind.chat_history_prev.name = Chat History Prev
+keybind.chat_history_next.name = Chat History Next
+keybind.chat_scroll.name = Chat Scroll
+keybind.drop_unit.name = Drop Unit
+keybind.zoom_minimap.name = Zoom Minimap
+mode.help.title = Description of modes
+mode.survival.name = Survival
+mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play.
+mode.sandbox.name = Sandbox
+mode.sandbox.description = Infinite resources and no timer for waves.
+mode.editor.name = Editor
+mode.pvp.name = PvP
+mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play.
+mode.attack.name = Attack
+mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play.
+mode.custom = Custom Rules
+
+rules.infiniteresources = Infinite Resources
+rules.reactorexplosions = Reactor Explosions
+rules.wavetimer = Wave Timer
+rules.waves = Waves
+rules.attack = Attack Mode
+rules.enemyCheat = Infinite AI (Red Team) Resources
+rules.blockhealthmultiplier = Block Health Multiplier
+rules.blockdamagemultiplier = Block Damage Multiplier
+rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
+rules.unithealthmultiplier = Unit Health Multiplier
+rules.unitdamagemultiplier = Unit Damage Multiplier
+rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles)
+rules.wavespacing = Wave Spacing:[lightgray] (sec)
+rules.buildcostmultiplier = Build Cost Multiplier
+rules.buildspeedmultiplier = Build Speed Multiplier
+rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier
+rules.waitForWaveToEnd = Waves Wait for Enemies
+rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
+rules.unitammo = Units Require Ammo
+rules.title.waves = Waves
+rules.title.resourcesbuilding = Resources & Building
+rules.title.enemy = Enemies
+rules.title.unit = Units
+rules.title.experimental = Experimental
+rules.title.environment = Environment
+rules.lighting = Lighting
+rules.ambientlight = Ambient Light
+rules.solarpowermultiplier = Solar Power Multiplier
+
+content.item.name = Items
+content.liquid.name = Liquids
+content.unit.name = Units
+content.block.name = Blocks
+item.copper.name = Copper
+item.lead.name = Lead
+item.coal.name = Coal
+item.graphite.name = Graphite
+item.titanium.name = Titanium
+item.thorium.name = Thorium
+item.silicon.name = Silicon
+item.plastanium.name = Plastanium
+item.phase-fabric.name = Phase Fabric
+item.surge-alloy.name = Surge Alloy
+item.spore-pod.name = Spore Pod
+item.sand.name = Sand
+item.blast-compound.name = Blast Compound
+item.pyratite.name = Pyratite
+item.metaglass.name = Metaglass
+item.scrap.name = Scrap
+liquid.water.name = Water
+liquid.slag.name = Slag
+liquid.oil.name = Oil
+liquid.cryofluid.name = Cryofluid
+item.explosiveness = [lightgray]Explosiveness: {0}%
+item.flammability = [lightgray]Flammability: {0}%
+item.radioactivity = [lightgray]Radioactivity: {0}%
+unit.health = [lightgray]Health: {0}
+unit.speed = [lightgray]Speed: {0}
+unit.weapon = [lightgray]Weapon: {0}
+unit.itemcapacity = [lightgray]Item Capacity: {0}
+unit.minespeed = [lightgray]Mining Speed: {0}%
+unit.minepower = [lightgray]Mining Power: {0}
+unit.ability = [lightgray]Ability: {0}
+unit.buildspeed = [lightgray]Building Speed: {0}%
+
+liquid.heatcapacity = [lightgray]Heat Capacity: {0}
+liquid.viscosity = [lightgray]Viscosity: {0}
+liquid.temperature = [lightgray]Temperature: {0}
+
+unit.dagger.name = Dagger
+unit.mace.name = Mace
+unit.fortress.name = Fortress
+unit.nova.name = Nova
+unit.pulsar.name = Pulsar
+unit.quasar.name = Quasar
+unit.crawler.name = Crawler
+unit.atrax.name = Atrax
+unit.spiroct.name = Spiroct
+unit.arkyid.name = Arkyid
+unit.flare.name = Flare
+unit.horizon.name = Horizon
+unit.zenith.name = Zenith
+unit.antumbra.name = Antumbra
+unit.eclipse.name = Eclipse
+unit.mono.name = Mono
+unit.poly.name = Poly
+unit.mega.name = Mega
+unit.risso.name = Risso
+unit.minke.name = Minke
+unit.bryde.name = Bryde
+unit.alpha.name = Alpha
+unit.beta.name = Beta
+unit.gamma.name = Gamma
+
+block.parallax.name = Parallax
+block.cliff.name = Cliff
+block.sand-boulder.name = Sand Boulder
+block.grass.name = Grass
+block.slag.name = Slag
+block.salt.name = Salt
+block.saltrocks.name = Salt Rocks
+block.pebbles.name = Pebbles
+block.tendrils.name = Tendrils
+block.sandrocks.name = Sand Rocks
+block.spore-pine.name = Spore Pine
+block.sporerocks.name = Spore Rocks
+block.rock.name = Rock
+block.snowrock.name = Snow Rock
+block.snow-pine.name = Snow Pine
+block.shale.name = Shale
+block.shale-boulder.name = Shale Boulder
+block.moss.name = Moss
+block.shrubs.name = Shrubs
+block.spore-moss.name = Spore Moss
+block.shalerocks.name = Shale Rocks
+block.scrap-wall.name = Scrap Wall
+block.scrap-wall-large.name = Large Scrap Wall
+block.scrap-wall-huge.name = Huge Scrap Wall
+block.scrap-wall-gigantic.name = Gigantic Scrap Wall
+block.thruster.name = Thruster
+block.kiln.name = Kiln
+block.graphite-press.name = Graphite Press
+block.multi-press.name = Multi-Press
+block.constructing = {0} [lightgray](Constructing)
+block.spawn.name = Enemy Spawn
+block.core-shard.name = Core: Shard
+block.core-foundation.name = Core: Foundation
+block.core-nucleus.name = Core: Nucleus
+block.deepwater.name = Deep Water
+block.water.name = Water
+block.tainted-water.name = Tainted Water
+block.darksand-tainted-water.name = Dark Sand Tainted Water
+block.tar.name = Tar
+block.stone.name = Stone
+block.sand.name = Sand
+block.darksand.name = Dark Sand
+block.ice.name = Ice
+block.snow.name = Snow
+block.craters.name = Craters
+block.sand-water.name = Sand water
+block.darksand-water.name = Dark Sand Water
+block.char.name = Char
+block.holostone.name = Holo stone
+block.ice-snow.name = Ice Snow
+block.rocks.name = Rocks
+block.icerocks.name = Ice rocks
+block.snowrocks.name = Snow Rocks
+block.dunerocks.name = Dune Rocks
+block.pine.name = Pine
+block.white-tree-dead.name = White Tree Dead
+block.white-tree.name = White Tree
+block.spore-cluster.name = Spore Cluster
+block.metal-floor.name = Metal Floor 1
+block.metal-floor-2.name = Metal Floor 2
+block.metal-floor-3.name = Metal Floor 3
+block.metal-floor-5.name = Metal Floor 4
+block.metal-floor-damaged.name = Metal Floor Damaged
+block.dark-panel-1.name = Dark Panel 1
+block.dark-panel-2.name = Dark Panel 2
+block.dark-panel-3.name = Dark Panel 3
+block.dark-panel-4.name = Dark Panel 4
+block.dark-panel-5.name = Dark Panel 5
+block.dark-panel-6.name = Dark Panel 6
+block.dark-metal.name = Dark Metal
+block.ignarock.name = Igna Rock
+block.hotrock.name = Hot Rock
+block.magmarock.name = Magma Rock
+block.cliffs.name = Cliffs
+block.copper-wall.name = Copper Wall
+block.copper-wall-large.name = Large Copper Wall
+block.titanium-wall.name = Titanium Wall
+block.titanium-wall-large.name = Large Titanium Wall
+block.plastanium-wall.name = Plastanium Wall
+block.plastanium-wall-large.name = Large Plastanium Wall
+block.phase-wall.name = Phase Wall
+block.phase-wall-large.name = Large Phase Wall
+block.thorium-wall.name = Thorium Wall
+block.thorium-wall-large.name = Large Thorium Wall
+block.door.name = Door
+block.door-large.name = Large Door
+block.duo.name = Duo
+block.scorch.name = Scorch
+block.scatter.name = Scatter
+block.hail.name = Hail
+block.lancer.name = Lancer
+block.conveyor.name = Conveyor
+block.titanium-conveyor.name = Titanium Conveyor
+block.plastanium-conveyor.name = Plastanium Conveyor
+block.armored-conveyor.name = Armored Conveyor
+block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyor belts.
+block.junction.name = Junction
+block.router.name = Router
+block.distributor.name = Distributor
+block.sorter.name = Sorter
+block.inverted-sorter.name = Inverted Sorter
+block.message.name = Message
+block.illuminator.name = Illuminator
+block.illuminator.description = A small, compact, configurable light source. Requires power to function.
+block.overflow-gate.name = Overflow Gate
+block.underflow-gate.name = Underflow Gate
+block.silicon-smelter.name = Silicon Smelter
+block.phase-weaver.name = Phase Weaver
+block.pulverizer.name = Pulverizer
+block.cryofluidmixer.name = Cryofluid Mixer
+block.melter.name = Melter
+block.incinerator.name = Incinerator
+block.spore-press.name = Spore Press
+block.separator.name = Separator
+block.coal-centrifuge.name = Coal Centrifuge
+block.power-node.name = Power Node
+block.power-node-large.name = Large Power Node
+block.surge-tower.name = Surge Tower
+block.diode.name = Battery Diode
+block.battery.name = Battery
+block.battery-large.name = Large Battery
+block.combustion-generator.name = Combustion Generator
+block.turbine-generator.name = Steam Generator
+block.differential-generator.name = Differential Generator
+block.impact-reactor.name = Impact Reactor
+block.mechanical-drill.name = Mechanical Drill
+block.pneumatic-drill.name = Pneumatic Drill
+block.laser-drill.name = Laser Drill
+block.water-extractor.name = Water Extractor
+block.cultivator.name = Cultivator
+block.conduit.name = Conduit
+block.mechanical-pump.name = Mechanical Pump
+block.item-source.name = Item Source
+block.item-void.name = Item Void
+block.liquid-source.name = Liquid Source
+block.liquid-void.name = Liquid Void
+block.power-void.name = Power Void
+block.power-source.name = Power Infinite
+block.unloader.name = Unloader
+block.vault.name = Vault
+block.wave.name = Wave
+block.swarmer.name = Swarmer
+block.salvo.name = Salvo
+block.ripple.name = Ripple
+block.phase-conveyor.name = Phase Conveyor
+block.bridge-conveyor.name = Bridge Conveyor
+block.plastanium-compressor.name = Plastanium Compressor
+block.pyratite-mixer.name = Pyratite Mixer
+block.blast-mixer.name = Blast Mixer
+block.solar-panel.name = Solar Panel
+block.solar-panel-large.name = Large Solar Panel
+block.oil-extractor.name = Oil Extractor
+block.repair-point.name = Repair Point
+block.pulse-conduit.name = Pulse Conduit
+block.plated-conduit.name = Plated Conduit
+block.phase-conduit.name = Phase Conduit
+block.liquid-router.name = Liquid Router
+block.liquid-tank.name = Liquid Tank
+block.liquid-junction.name = Liquid Junction
+block.bridge-conduit.name = Bridge Conduit
+block.rotary-pump.name = Rotary Pump
+block.thorium-reactor.name = Thorium Reactor
+block.mass-driver.name = Mass Driver
+block.blast-drill.name = Airblast Drill
+block.thermal-pump.name = Thermal Pump
+block.thermal-generator.name = Thermal Generator
+block.alloy-smelter.name = Alloy Smelter
+block.mender.name = Mender
+block.mend-projector.name = Mend Projector
+block.surge-wall.name = Surge Wall
+block.surge-wall-large.name = Large Surge Wall
+block.cyclone.name = Cyclone
+block.fuse.name = Fuse
+block.shock-mine.name = Shock Mine
+block.overdrive-projector.name = Overdrive Projector
+block.force-projector.name = Force Projector
+block.arc.name = Arc
+block.rtg-generator.name = RTG Generator
+block.spectre.name = Spectre
+block.meltdown.name = Meltdown
+block.container.name = Container
+block.launch-pad.name = Launch Pad
+block.launch-pad-large.name = Large Launch Pad
+block.segment.name = Segment
+block.ground-factory.name = Ground Factory
+block.air-factory.name = Air Factory
+block.naval-factory.name = Naval Factory
+block.additive-reconstructor.name = Additive Reconstructor
+block.multiplicative-reconstructor.name = Multiplicative Reconstructor
+block.exponential-reconstructor.name = Exponential Reconstructor
+block.tetrative-reconstructor.name = Tetrative Reconstructor
+block.payload-conveyor.name = Mass Conveyor
+block.payload-router.name = Payload Router
+block.disassembler.name = Disassembler
+block.silicon-crucible.name = Silicon Crucible
+block.overdrive-dome.name = Overdrive Dome
+team.blue.name = blue
+team.crux.name = red
+team.sharded.name = orange
+team.orange.name = orange
+team.derelict.name = derelict
+team.green.name = green
+team.purple.name = purple
+
+tutorial.next = [lightgray]
+tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nUse[accent] [[WASD][] to move.\n[accent]Scroll[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
+tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
+tutorial.drill = Mining manually is inefficient.\n[accent]Drills[] can mine automatically.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\nYou can also select the drill by tapping [accent][[2][] then [accent][[1][] quickly, regardless of which tab is open.\n[accent]Right-click[] to stop building.
+tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills[] can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
+tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
+tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent]Hold down the mouse to place in a line.[]\nHold[accent] CTRL[] while selecting a line to place diagonally.\nUse the scrollwheel to rotate blocks before placing them.\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core.
+tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core.
+tutorial.turret = Once an item enters your core, it can be used for building.\nKeep in mind that not all items can be used for building.\nItems that are not used for building, such as[accent] coal[] or[accent] scrap[], cannot be put into the core.\nDefensive structures must be built to repel the[lightgray] enemy[].\nBuild a[accent] duo turret[] near your base.
+tutorial.drillturret = Duo turrets require[accent] copper ammo[] to shoot.\nPlace a drill near the turret.\nLead conveyors into the turret to supply it with copper.\n\n[accent]Ammo delivered: 0/1
+tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
+tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
+tutorial.unpause = Now press space again to unpause.
+tutorial.unpause.mobile = Now press it again to unpause.
+tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
+tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
+tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
+tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
+tutorial.waves = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper.
+tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
+tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese obtained resources can then be used to research new technology.\n\n[accent]Press the launch button.
+
+item.copper.description = The most basic structural material. Used extensively in all types of blocks.
+item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
+item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
+item.graphite.description = Mineralized carbon, used for ammunition and electrical components.
+item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux.
+item.coal.description = Fossilized plant matter, formed long before the seeding event. Used extensively for fuel and resource production.
+item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft.
+item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel.
+item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals.
+item.silicon.description = An extremely useful semiconductor. Applications in solar panels, complex electronics and homing turret ammunition.
+item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition.
+item.phase-fabric.description = A near-weightless substance used in advanced electronics and self-repairing technology.
+item.surge-alloy.description = An advanced alloy with unique electrical properties.
+item.spore-pod.description = A pod of synthetic spores, synthesized from atmospheric concentrations for industrial purposes. Used for conversion into oil, explosives and fuel.
+item.blast-compound.description = An unstable compound used in bombs and explosives. Synthesized from spore pods and other volatile substances. Use as fuel is not advised.
+item.pyratite.description = An extremely flammable substance used in incendiary weapons.
+liquid.water.description = The most useful liquid. Commonly used for cooling machines and waste processing.
+liquid.slag.description = Various different types of molten metal mixed together. Can be separated into its constituent minerals, or sprayed at enemy units as a weapon.
+liquid.oil.description = A liquid used in advanced material production. Can be converted into coal as fuel, or sprayed and set on fire as a weapon.
+liquid.cryofluid.description = An inert, non-corrosive liquid created from water and titanium. Has extremely high heat capacity. Extensively used as coolant.
+
+block.message.description = Stores a message. Used for communication between allies.
+block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
+block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
+block.silicon-smelter.description = Reduces sand with pure coal. Produces silicon.
+block.kiln.description = Smelts sand and lead into the compound known as metaglass. Requires small amounts of power to run.
+block.plastanium-compressor.description = Produces plastanium from oil and titanium.
+block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
+block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
+block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
+block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
+block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
+block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
+block.separator.description = Separates slag into its mineral components. Outputs the cooled result.
+block.spore-press.description = Compresses spore pods under extreme pressure to synthesize oil.
+block.pulverizer.description = Crushes scrap into fine sand.
+block.coal-centrifuge.description = Solidifes oil into chunks of coal.
+block.incinerator.description = Vaporizes any excess item or liquid it receives.
+block.power-void.description = Voids all power inputted into it. Sandbox only.
+block.power-source.description = Infinitely outputs power. Sandbox only.
+block.item-source.description = Infinitely outputs items. Sandbox only.
+block.item-void.description = Destroys any items. Sandbox only.
+block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
+block.liquid-void.description = Removes any liquids. Sandbox only.
+block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
+block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
+block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
+block.titanium-wall-large.description = A moderately strong defensive block.\nProvides moderate protection from enemies.\nSpans multiple tiles.
+block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.
+block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles.
+block.thorium-wall.description = A strong defensive block.\nDecent protection from enemies.
+block.thorium-wall-large.description = A strong defensive block.\nDecent protection from enemies.\nSpans multiple tiles.
+block.phase-wall.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.
+block.phase-wall-large.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.\nSpans multiple tiles.
+block.surge-wall.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly.
+block.surge-wall-large.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly.\nSpans multiple tiles.
+block.door.description = A small door. Can be opened or closed by tapping.
+block.door-large.description = A large door. Can be opened and closed by tapping.\nSpans multiple tiles.
+block.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency.
+block.mend-projector.description = An upgraded version of the Mender. Repairs blocks in its vicinity.\nOptionally uses phase fabric to boost range and efficiency.
+block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency.
+block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric can be used to increase shield size.
+block.shock-mine.description = Damages enemies stepping on the mine. Nearly invisible to the enemy.
+block.conveyor.description = Basic item transport block. Moves items forward and automatically deposits them into blocks. Rotatable.
+block.titanium-conveyor.description = Advanced item transport block. Moves items faster than standard conveyors.
+block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front.
+block.junction.description = Acts as a bridge for two crossing conveyor belts. Useful in situations with two different conveyors carrying different materials to different locations.
+block.bridge-conveyor.description = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building.
+block.phase-conveyor.description = Advanced item transport block. Uses power to teleport items to a connected phase conveyor over several tiles.
+block.sorter.description = Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
+block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead.
+block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[]
+block.distributor.description = An advanced router. Splits items to up to 7 other directions equally.
+block.overflow-gate.description = Only outputs to the left and right if the front path is blocked.
+block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked.
+block.mass-driver.description = The ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range. Requires power to operate.
+block.mechanical-pump.description = A cheap pump with slow output, but no power consumption.
+block.rotary-pump.description = An advanced pump. Pumps more liquid, but requires power.
+block.thermal-pump.description = The ultimate pump.
+block.conduit.description = Basic liquid transport block. Moves liquids forward. Used in conjunction with pumps and other conduits.
+block.pulse-conduit.description = An advanced liquid transport block. Transports liquids faster and stores more than standard conduits.
+block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less.
+block.liquid-router.description = Accepts liquids from one direction and outputs them to up to 3 other directions equally. Can also store a certain amount of liquid. Useful for splitting the liquids from one source to multiple targets.
+block.liquid-tank.description = Stores a large amount of liquids. Use for creating buffers in situations with non-constant demand of materials or as a safeguard for cooling vital blocks.
+block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations.
+block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building.
+block.phase-conduit.description = Advanced liquid transport block. Uses power to teleport liquids to a connected phase conduit over several tiles.
+block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks.
+block.power-node-large.description = An advanced power node with greater range.
+block.surge-tower.description = An extremely long-range power node with fewer available connections.
+block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored.
+block.battery.description = Stores power as a buffer in times of surplus energy. Outputs power in times of deficit.
+block.battery-large.description = Stores much more power than a regular battery.
+block.combustion-generator.description = Generates power by burning flammable materials, such as coal.
+block.thermal-generator.description = Generates power when placed in hot locations.
+block.turbine-generator.description = An advanced combustion generator. More efficient, but requires additional water for generating steam.
+block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite.
+block.rtg-generator.description = A simple, reliable generator. Uses the heat of decaying radioactive compounds to produce energy at a slow rate.
+block.solar-panel.description = Provides a small amount of power from the sun.
+block.solar-panel-large.description = A significantly more efficient version of the standard solar panel.
+block.thorium-reactor.description = Generates significant amounts of power from thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. Power output depends on fullness, with base power generated at full capacity.
+block.impact-reactor.description = An advanced generator, capable of creating massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process.
+block.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely. Only capable of mining basic resources.
+block.pneumatic-drill.description = An improved drill, capable of mining titanium. Mines at a faster pace than a mechanical drill.
+block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Capable of mining thorium.
+block.blast-drill.description = The ultimate drill. Requires large amounts of power.
+block.water-extractor.description = Extracts groundwater. Used in locations with no surface water available.
+block.cultivator.description = Cultivates tiny concentrations of spores in the atmosphere into industry-ready pods.
+block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil.
+block.core-shard.description = The first iteration of the core capsule. Once destroyed, all contact to the region is lost. Do not let this happen.
+block.core-foundation.description = The second version of the core. Better armored. Stores more resources.
+block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources.
+block.vault.description = Stores a large amount of items of each type. An unloader block can be used to retrieve items from the vault.
+block.container.description = Stores a small amount of items of each type. An unloader block can be used to retrieve items from the container.
+block.unloader.description = Unloads items from any nearby non-transportation block. The type of item to be unloaded can be changed by tapping.
+block.launch-pad.description = Launches batches of items without any need for a core launch.
+block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently.
+block.duo.description = A small, cheap turret. Useful against ground units.
+block.scatter.description = An essential anti-air turret. Sprays clumps of lead, scrap or metaglass flak at enemy units.
+block.scorch.description = Burns any ground enemies close to it. Highly effective at close range.
+block.hail.description = A small, long-range artillery turret.
+block.wave.description = A medium-sized turret. Shoots streams of liquid at enemies. Automatically extinguishes fires when supplied with water.
+block.lancer.description = A medium-sized anti-ground laser turret. Charges and fires powerful beams of energy.
+block.arc.description = A small close-range electric turret. Fires arcs of electricity at enemies.
+block.swarmer.description = A medium-sized missile turret. Attacks both air and ground enemies. Fires homing missiles.
+block.salvo.description = A larger, more advanced version of the Duo turret. Fires quick salvos of bullets at the enemy.
+block.fuse.description = A large, close-range shrapnel turret. Fires three piercing blasts at nearby enemies.
+block.ripple.description = An extremely powerful artillery turret. Shoots clusters of shells at enemies over long distances.
+block.cyclone.description = A large anti-air and anti-ground turret. Fires explosive clumps of flak at nearby units.
+block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets.
+block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate.
+block.repair-point.description = Continuously heals the closest damaged unit in its vicinity.
+block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted.
diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties
index fb20242768..cd79e0ab9c 100644
--- a/core/assets/bundles/bundle_fr.properties
+++ b/core/assets/bundles/bundle_fr.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Reconstructeur Additif
block.multiplicative-reconstructor.name = Reconstructeur Multiplicatif
block.exponential-reconstructor.name = Reconstructeur Exponentiel
block.tetrative-reconstructor.name = Reconstructeur Tétratif
-block.mass-conveyor.name = Convoyeur de Masse
+block.payload-conveyor.name = Convoyeur de Masse
block.payload-router.name = Routeur de Charge Utile
block.disassembler.name = Disassembler
block.silicon-crucible.name = Creuset de Silicium
diff --git a/core/assets/bundles/bundle_fr_BE.properties b/core/assets/bundles/bundle_fr_BE.properties
index 1c724123bc..aeff0d5cb8 100644
--- a/core/assets/bundles/bundle_fr_BE.properties
+++ b/core/assets/bundles/bundle_fr_BE.properties
@@ -3,7 +3,7 @@ credits = Crédits
contributors = Traducteurs et contributeurs
discord = Rejoignez le discord de Mindustry !
link.discord.description = Le discord officiel de Mindustry
-link.reddit.description = The Mindustry subreddit
+link.reddit.description = Le subreddit de Mindustry
link.github.description = Code source du jeu
link.changelog.description = Liste des mises à jour
link.dev-builds.description = Versions instables de développement
@@ -12,14 +12,14 @@ link.itch.io.description = Site itch.io avec les versions téléchargeables pour
link.google-play.description = Page Google Play du jeu
link.f-droid.description = F-Droid catalogue listing
link.wiki.description = Wiki officiel de Mindustry
-link.suggestions.description = Suggest new features
+link.suggestions.description = Suggérer des nouvelles fonctionallitées
linkfail = L'ouverture du lien a échoué!\nL'URL a été copiée dans votre presse-papier.
screenshot = Capture d'écran enregistrée sur {0}
screenshot.invalid = Carte trop grande, potentiellement pas assez de mémoire pour la capture d'écran.
gameover = Le base a été détruite.
gameover.pvp = L'équipe[accent] {0}[] a gagnée !
highscore = [accent]Nouveau meilleur score !
-copied = Copied.
+copied = Copié.
load.sound = Son
load.map = Maps
@@ -29,29 +29,29 @@ load.system = Système
load.mod = Mods
load.scripts = Scripts
-be.update = A new Bleeding Edge build is available:
-be.update.confirm = Download it and restart now?
-be.updating = Updating...
-be.ignore = Ignore
-be.noupdates = No updates found.
-be.check = Check for updates
+be.update = Une nouvelle version est disponible:
+be.update.confirm = Voulez vous la télécharger et recommencer maintenant ?
+be.updating = Entrain de mettre à jour...
+be.ignore = Ignorer
+be.noupdates = Aucune mise à jour n'as été trouvée.
+be.check = Chercher des mises à jour
-schematic = Schematic
-schematic.add = Save Schematic...
-schematics = Schematics
-schematic.replace = A schematic by that name already exists. Replace it?
-schematic.exists = A schematic by that name already exists.
-schematic.import = Import Schematic...
-schematic.exportfile = Export File
-schematic.importfile = Import File
-schematic.browseworkshop = Browse Workshop
-schematic.copy = Copy to Clipboard
-schematic.copy.import = Import from Clipboard
-schematic.shareworkshop = Share on Workshop
-schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
-schematic.saved = Schematic saved.
-schematic.delete.confirm = This schematic will be utterly eradicated.
-schematic.rename = Rename Schematic
+schematic = Schéma
+schematic.add = Enregistrer Schéma...
+schematics = Schémas
+schematic.replace = Un schéma avec ce nom existe déjà. Voulez vous le remplacer ?
+schematic.exists = Un schéma avec ce nom existe déjà.
+schematic.import = Importer le Schéma...
+schematic.exportfile = Exporter Dossier
+schematic.importfile = Importer Dossier
+schematic.browseworkshop = Parcourir l'Atelier
+schematic.copy = Copier dans le presse-papier
+schematic.copy.import = Importer du presse-papier
+schematic.shareworkshop = Partager sur l'Atelier
+schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Retourner Schéma
+schematic.saved = Schéma enregistré.
+schematic.delete.confirm = Ce Schéma sera totalement éradiqué.
+schematic.rename = Renommer Schéma
schematic.info = {0}x{1}, {2} blocks
stat.wave = Vagues vaincues:[accent] {0}
@@ -60,17 +60,17 @@ stat.built = Bâtiments construits:[accent] {0}
stat.destroyed = Bâtiments détruits:[accent] {0}
stat.deconstructed = Bâtiments déconstruits:[accent] {0}
stat.delivered = Ressources transférées:
-stat.playtime = Time Played:[accent] {0}
+stat.playtime = Temps Joué:[accent] {0}
stat.rank = Rang Final: [accent]{0}
launcheditems = [accent]Ressources transférées
-launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
+launchinfo = [unlaunched][[LAUNCH] votre core pour obtenir les objets indiqués en bleu.
map.delete = Êtes-vous sûr de vouloir supprimer cette carte ?"[accent]{0}[]"?
level.highscore = Meilleur score: [accent]{0}
level.select = Sélection de niveau
level.mode = Mode de jeu:
-coreattack =
-nearpoint = [[ [scarlet]QUITTEZ LE POINT D'APPARITION ENNEMI IMMÉDIATEMENT[] ]\nannihilation imminente
+coreattack =
+nearpoint = [[ [scarlet]QUITTEZ LE POINT D'APPARITION ENNEMI IMMÉDIATEMENT[] ]\nextermination imminente
database = Base de données
savegame = Sauvegarder la partie
loadgame = Charger la partie
@@ -81,37 +81,37 @@ none =
minimap = Minimap
position = Position
close = Fermer
-website = Website
+website = Site Web
quit = Quitter
save.quit = Save & Quit
maps = Cartes
-maps.browse = Browse Maps
-continue = Continue
+maps.browse = Feuilleter les maps
+continue = Continuer
maps.none = [lightgray]Aucune carte trouvée!
-invalid = Invalid
-pickcolor = Pick Color
-preparingconfig = Preparing Config
-preparingcontent = Preparing Content
-uploadingcontent = Uploading Content
-uploadingpreviewfile = Uploading Preview File
-committingchanges = Comitting Changes
-done = Done
-feature.unsupported = Your device does not support this feature.
+invalid = Invalide
+pickcolor = Choisir Couleur
+preparingconfig = Préparation Configuration
+preparingcontent = Préparation Contenu
+uploadingcontent = Télécharger Contenu
+uploadingpreviewfile = Télécharger Aperçu de Dossier
+committingchanges = Commettre Changements
+done = Fini
+feature.unsupported = Votre appareil ne prend pas en charge cette fonctionnalité.
-mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord.
+mods.alphainfo = Tenez en compte que les mods sont en version alpha et [scarlet] qu'ils peuvent avoir des bugs[].\nVeuillez signaler tout les problèmes que vous encontrez sur le Github de Mindustry ou sur Discord.
mods.alpha = [accent](Alpha)
mods = Mods
-mods.none = [lightgray]No mods found!
-mods.guide = Modding Guide
-mods.report = Report Bug
-mods.openfolder = Open Mod Folder
-mods.reload = Reload
-mods.reloadexit = The game will now exit, to reload mods.
+mods.none = [lightgray]Aucun Mod trouvé !
+mods.guide = Guide de Modding
+mods.report = Signaler un Bug
+mods.openfolder = Ouvrir Dossier Mod
+mods.reload = Relancer
+mods.reloadexit = Le jeu va quitter pour relancer les mods.
mod.display = [gray]Mod:[orange] {0}
-mod.enabled = [lightgray]Enabled
-mod.disabled = [scarlet]Disabled
-mod.disable = Disable
-mod.content = Content:
+mod.enabled = [lightgray]Activé
+mod.disabled = [scarlet]Désactivé
+mod.disable = Désactive
+mod.content = Contenu:
mod.delete.error = Unable to delete mod. File may be in use.
mod.requiresversion = [scarlet]Requires min game version: [accent]{0}
mod.missingdependencies = [scarlet]Missing dependencies: {0}
@@ -143,7 +143,7 @@ completed = [accent]Terminé
techtree = Arbre technologique
research.list = [lightgray]Recherche:
research = Recherche
-researched = [lightgray]{0} recherchée.
+researched = [lightgray]{0} recherché.
players = {0} joueurs
players.single = {0} joueur
players.search = search
@@ -152,7 +152,7 @@ server.closing = [accent]Fermeture du serveur ...
server.kicked.kick = Vous avez été expulsé du serveur !
server.kicked.whitelist = You are not whitelisted here.
server.kicked.serverClose = Serveur fermé.
-server.kicked.vote = You have been vote-kicked. Goodbye.
+server.kicked.vote = Vous avez été expulsé par vote. Au revoir.
server.kicked.clientOutdated = Client dépassé! Mettez à jour votre jeu !
server.kicked.serverOutdated = Serveur dépassé! Demandez à l'hôte de le mettre à jour !
server.kicked.banned = Vous êtes banni de ce serveur.
@@ -164,37 +164,37 @@ server.kicked.nameEmpty = Votre nom doit contenir au moins une lettre ou un chif
server.kicked.idInUse = Vous êtes déjà sur ce serveur ! Se connecter avec deux comptes n'est pas permis !
server.kicked.customClient = Ce serveur ne supporte pas les versions personnalisées (Custom builds). Télécharger une version officielle.
server.kicked.gameover = Vous avez perdu !
-server.kicked.serverRestarting = The server is restarting.
+server.kicked.serverRestarting = Le serveur est entrain de redémarrer.
server.versions = Votre version:[accent] {0}[]\nVersion du serveur:[accent] {1}[]
host.info = Le bouton [accent]héberger[] héberge un serveur sur les ports [scarlet]6567[] et [scarlet]6568.[]\nN'importe qui sur le même [lightgray]réseau wifi ou local[] devrait pouvoir voir votre serveur dans sa liste de serveurs.\n\nSi vous voulez que les gens puissent se connecter de n'importe où grâce à l'IP, [accent]rediriger les ports[] est requis.\n\n[lightgray]Note:Si quelqu'un éprouve des difficultés à se connecter à votre partie LAN, assurez-vous que vous avez autorisé Mindustry à accéder à votre réseau local dans les paramètres de votre pare-feu.
join.info = Ici, vous pouvez entrer l' [accent]IP d'un serveur[] pour s'y connecter, ou découvrir les serveurs[accent]sur votre réseau local[] pour s'y connecter.\nLes parties multijoueur LAN et WAN sont toutes deux supportées.\n\n[lightgray]Note: Aucune liste globale des serveurs n'est génerée automatiquement: si vous voulez vous connecter à un serveur par IP, vous devrez demander l'IP à l'hébergeur.
hostserver = Héberger un serveur
-invitefriends = Invite Friends
-hostserver.mobile = Héberger\nUne partie
+invitefriends = Inviter des amis
+hostserver.mobile = Héberger\nune partie
host = Héberger
hosting = [accent]Ouverture du serveur ...
hosts.refresh = Actualiser
hosts.discovering = Recherche de parties en LAN
-hosts.discovering.any = Discovering games
+hosts.discovering.any = Découverte des jeux
server.refreshing = Actualisation du serveur
hosts.none = [lightgray]Aucun jeu en LAN trouvé !
host.invalid = [scarlet]Impossible de se\nconnecter à l'hôte.
-servers.local = Local Servers
-servers.remote = Remote Servers
-servers.global = Community Servers
+servers.local = Serveurs Locaux
+servers.remote = Serveurs Distants
+servers.global = Serveurs Communautaires
trace = Suivre le joueur
trace.playername = Nom du joueur: [accent]{0}
trace.ip = IP: [accent]{0}
trace.id = ID Unique: [accent]{0}
-trace.mobile = Mobile Client: [accent]{0}
+trace.mobile = Client Mobile: [accent]{0}
trace.modclient = Client personnalisé: [accent]{0}
invalidid = ID client invalide ! Soumettre un rapport de bug
-server.bans = Bannis
-server.bans.none = Aucun joueurs bannis trouvés !
+server.bans = Banni
+server.bans.none = Aucun joueur banni trouvé !
server.admins = Administrateurs
-server.admins.none = Aucun administrateurs trouvé !
+server.admins.none = Aucun administrateur trouvé !
server.add = Ajouter un serveur
server.delete = Êtes-vous sûr de vouloir supprimer ce serveur ?
server.edit = Modifier le serveur
@@ -203,19 +203,19 @@ server.outdated.client = [crimson]Client obsolète ![]
server.version = [lightgray]Version: {0} {1}
server.custombuild = [accent]Version personnalisée
confirmban = Êtes-vous sûr de vouloir bannir ce joueur ?
-confirmkick = Êtes-vous sûr de vouloir expulser ce joueur?
-confirmvotekick = Are you sure you want to vote-kick this player?
+confirmkick = Êtes-vous sûr de vouloir expulser ce joueur ?
+confirmvotekick = Êtes-vous sûr de vouloir voter que ce joueur soit banni ?
confirmunban = Êtes-vous sûr de vouloir annuler le ban de ce joueur ?
confirmadmin = Êtes-vous sûr de vouloir faire de ce joueur un administrateur ?
confirmunadmin = Êtes-vous sûr de vouloir supprimer le statut d'administrateur de ce joueur ?
joingame.title = Rejoindre une partie
joingame.ip = IP:
disconnect = Déconnecté.
-disconnect.error = Connection error.
-disconnect.closed = Connection closed.
+disconnect.error = Un problème est survenu lors de la connection.
+disconnect.closed = Connection fermée.
disconnect.timeout = Timed out.
disconnect.data = Les données du monde n'ont pas pu être chargées !
-cantconnect = Unable to join game ([accent]{0}[]).
+cantconnect = Impossible de rejoindre le jeu ([accent]{0}[]).
connecting = [accent]Connexion...
connecting.data = [accent]Chargement des données du monde...
server.port = Port:
@@ -223,8 +223,8 @@ server.addressinuse = Adresse déjà utilisée !
server.invalidport = Numéro de port incorrect !
server.error = [crimson]Erreur lors de l'hébergement du serveur: [accent]{0}
save.new = Nouvelle sauvegarde
-save.overwrite = Êtes-vous sûr de vouloir\nécraser cette sauvegarde ?
-overwrite = Écraser
+save.overwrite = Êtes-vous sûr de vouloir\nrecouvrir cette sauvegarde ?
+overwrite = Recouvrir
save.none = Aucune sauvegarde trouvée !
savefail = Échec de la sauvegarde !
save.delete.confirm = Êtes-vous sûr de supprimer cette sauvegarde ?
@@ -239,7 +239,7 @@ save.rename = Renommer
save.rename.text = Nouveau nom:
selectslot = Sélectionnez une sauvegarde.
slot = [accent]Emplacement {0}
-editmessage = Edit Message
+editmessage = Modifier le Message
save.corrupted = [accent]Fichier de sauvegarde corrompu ou invalide!\nSi vous venez de mettre à jour votre jeu, c'est probablement dû à un changement du format de sauvegarde et [scarlet]non[] un bug.
empty =
on = Allumer
@@ -266,7 +266,7 @@ data.export = Export Data
data.import = Import Data
data.openfolder = Open Data Folder
data.exported = Data exported.
-data.invalid = This isn't valid game data.
+data.invalid = Ceci ne sont pas des données de jeu valide.
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
quit.confirm = Êtes-vous sûr de vouloir quitter?
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties
index 9311c27ac7..6c8e0bd47d 100644
--- a/core/assets/bundles/bundle_hu.properties
+++ b/core/assets/bundles/bundle_hu.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_in_ID.properties b/core/assets/bundles/bundle_in_ID.properties
index 15bdaa0cf0..5868526b85 100644
--- a/core/assets/bundles/bundle_in_ID.properties
+++ b/core/assets/bundles/bundle_in_ID.properties
@@ -98,20 +98,20 @@ committingchanges = Membuat Perubahan
done = Selesai
feature.unsupported = Perangkat Anda tidak mendukung fitur ini.
-mods.alphainfo = Perlu diingat bahwa mod masih dalam perkembangan, dan[scarlet] bisa mengalami kerusakan[].\nLapor isu atau masalah di Github atau Discord Mindustry.
+mods.alphainfo = Perlu diingat bahwa mod masih dalam perkembangan, dan[scarlet] bisa mengakibatkan kerusakan[].\nLapor isu atau masalah di Github atau Discord Mindustry.
mods.alpha = [accent](Alpha)
mods = Mod
mods.none = [lightgray]Tidak ada mod yang ditemukan!
mods.guide = Panduan Modding
mods.report = Lapor Kesalahan
mods.openfolder = Buka Folder Mod
-mods.reload = Reload
-mods.reloadexit = The game will now exit, to reload mods.
+mods.reload = mengulangi
+mods.reloadexit = game akan keluar, untuk mengulang mod.
mod.display = [gray]Mod:[orange] {0}
mod.enabled = [lightgray]Aktif
mod.disabled = [scarlet]Nonaktif
mod.disable = Aktif
-mod.content = Content:
+mod.content = konten:
mod.delete.error = Tidak bisa menghapus mod. File mungkin sedang digunakan.
mod.requiresversion = [scarlet]Versi game minimal yang dibutuhkan: [accent]{0}
mod.missingdependencies = [scarlet]Ketergantungan hilang: {0}
@@ -125,14 +125,14 @@ mod.reloadrequired = [scarlet]Dibutuhkan untuk memuat ulang
mod.import = Impor Mod
mod.import.file = Import File
mod.import.github = Impor Mod GitHub
-mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source!
+mod.jarwarn = [scarlet]mod dari JAR sebenarnya tidak aman.[]\nPastikan anda mengimpor mod dari sumber terpercaya!
mod.item.remove = Item ini merupakan bagian dari mod[accent] '{0}'[] mod. Untuk dihilangkan, hapus mod ini.
mod.remove.confirm = Mod ini akan dihapus.
mod.author = [lightgray]Pencipta:[] {0}
mod.missing = Simpanan ini mengandung mod yang telah diperbarui atau sudah lama tidak dipasang. Kemungkinan akan terjadi perubahan. Apakah Anda yakin untuk memuatnya?\n[lightgray]Mods:\n{0}
-mod.preview.missing = Sebelum menerbitkan mod di dalam workshop, kamu harus memberi foto pratinjau.\nBeri sebuah foto dinamakan[accent] preview.png[] ke dalam folder mod dan ulang kembali.
-mod.folder.missing = Hanya mod dengan format folder yang dapat diterbitkan di workshop.\nUntuk mengubah mod menjadi folder, unzip file mod tersebut dan bentuk sebuah folder, kemudian ulang game Anda atau mod Anda..
-mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game.
+mod.preview.missing = Sebelum memposting mod di workshop, kamu harus memberi foto pratinjau.\nBeri sebuah foto berformat[accent] preview.png[] ke dalam folder mod dan ulang kembali.
+mod.folder.missing = Hanya mod dengan format folder yang dapat diposting di workshop.\nUntuk mengubah mod menjadi folder, ekstrak file mod tersebut dan pastikan berbentuk sebuah folder, kemudian ulang game Anda atau mod Anda..
+mod.scripts.disable = perangkat anda tidak mendukung mod berformat skrip/JS. Anda harus menonaktifkan mod untuk lanjut bermain!.
about.button = Tentang
name = Nama:
@@ -153,13 +153,13 @@ server.kicked.kick = Anda telah dikeluarkan dari server!
server.kicked.whitelist = Anda tidak ada di dalam whitelist.
server.kicked.serverClose = Server ditutup.
server.kicked.vote = Anda dipilih untuk dikeluarkan. Sampai jumpa!
-server.kicked.clientOutdated = Client kadaluarsa! Perbarui permainan Anda!
-server.kicked.serverOutdated = Server kadaluarsa! Tanya pemilik untuk diperbarui!
+server.kicked.clientOutdated = Client kadaluarsa! Perbarui mindustry Anda!
+server.kicked.serverOutdated = Server kadaluarsa! Tanya pemilik untuk memperbarui!
server.kicked.banned = Anda telah dilarang untuk memasuki server ini.
server.kicked.typeMismatch = Server ini tidak cocok dengan versi build Anda.
-server.kicked.playerLimit = Server ini penuh. Tunggu untuk slot kosong.
-server.kicked.recentKick = Anda baru saja dikeluarkan dari server ini.\nTunggu sebelum masuk lagi.
-server.kicked.nameInUse = Sudah ada pemain dengan nama itu \ndi server ini.
+server.kicked.playerLimit = Server ini penuh. Tunggu slot kosong.
+server.kicked.recentKick = Anda baru saja dikeluarkan dari server ini.\nTunggu sesaat sebelum masuk lagi.
+server.kicked.nameInUse = Sudah ada pemain dengan nama tersebut \ndi server ini.
server.kicked.nameEmpty = Nama yang dipilih tidak valid.
server.kicked.idInUse = Anda telah berada di server ini! Memasuki dengan dua akun tidak diizinkan.
server.kicked.customClient = Server ini tidak mendukung versi modifikasi. Download versi resmi.
@@ -192,7 +192,7 @@ trace.mobile = Client Mobile: [accent]{0}
trace.modclient = Client Modifikasi: [accent]{0}
invalidid = Client ID tidak valid! Laporkan masalah.
server.bans = Pemain Dilarang Masuk
-server.bans.none = Tidak ada pemain yang dilarang masuk!
+server.bans.none = Tidak ada pemain yang diberiizin masuk!
server.admins = Admin
server.admins.none = Tidak ada admin!
server.add = Tambahkan Server
@@ -257,7 +257,7 @@ view.workshop = Lihat di Workshop
workshop.listing = Sunting Daftar Workshop
ok = OK
open = Buka
-customize = Modifikasi
+customize = edit
cancel = Batal
openlink = Buka Tautan
copylink = Salin Tautan
@@ -273,7 +273,7 @@ quit.confirm.tutorial = Apakah Anda tahu apa yang dilakukan?\nTutorial dapat diu
loading = [accent]Memuat...
reloading = [accent]Memuat Ulang Mod...
saving = [accent]Menyimpan...
-respawn = [accent][[{0}][] to respawn in core
+respawn = [accent][[{0}][] untuk muncul kembali ke inti
cancelbuilding = [accent][[{0}][] untuk menghapus rencana
selectschematic = [accent][[{0}][] untuk memilih+salin
pausebuilding = [accent][[{0}][] untuk berhenti membangun
@@ -441,7 +441,7 @@ width = Lebar:
height = Tinggi:
menu = Menu
play = Bermain
-campaign = Operasi
+campaign = kampanye
load = Memuat
save = Simpan
fps = FPS: {0}
@@ -475,7 +475,7 @@ loadout = Loadout
resources = Resources
bannedblocks = Balok yang dilarang
addall = Tambah Semu
-configure.invalid = Jumlah harua berupa angka diantara 0 dan {0}.
+configure.invalid = Jumlah harus berupa angka diantara 0 dan {0}.
zone.unlocked = [lightgray]{0} terbuka.
zone.requirement.complete = Gelombang {0} terselesaikan:\nPersyaratan zona {1} tercapai.
zone.resources = Sumber Daya Terdeteksi:
@@ -508,8 +508,8 @@ sector.tarFields.name = Tar Fields
sector.saltFlats.name = Salt Flats
sector.fungalPass.name = Fungal Pass
-sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
-sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
+sector.groundZero.description = lokasi yang optimal untuk bermain satu kali lagi. Sangat sedikit musuh. Beberapa sumber daya.\nKumpulkan timah dan tembaga sebanyak yang anda bisa.\nPindah.
+sector.frozenForest.description = disini, dekat dengan gunung, spora spora sudah menyebar. Temperatur yang sangat rendah tidak dapat mempertahankan selamanya.\n\nBerusaha untuk kekuatan. Bangun generator pembakaran. Pelajari cara menggunakan mender.
sector.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing.
sector.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills.
sector.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology.
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties
index 81781a53f3..93e2de29d2 100644
--- a/core/assets/bundles/bundle_it.properties
+++ b/core/assets/bundles/bundle_it.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties
index 65a34244fc..933ae1992a 100644
--- a/core/assets/bundles/bundle_ja.properties
+++ b/core/assets/bundles/bundle_ja.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties
index 6a7fd649e2..cedeaaf039 100644
--- a/core/assets/bundles/bundle_ko.properties
+++ b/core/assets/bundles/bundle_ko.properties
@@ -15,7 +15,7 @@ link.wiki.description = 공식 Mindustry 위키
link.suggestions.description = 새로운 기능 제안
linkfail = 링크를 열지 못했습니다!\nURL이 클립보드에 복사되었습니다.
screenshot = 스크린 샷이 {0} 에 저장되었습니다.
-screenshot.invalid = 맵이 너무 커서 스크린샷을 할 메모리가 부족할 수 있습니다.
+screenshot.invalid = 맵이 너무 커서 스크린샷에 사용될 메모리가 부족할 수 있습니다.
gameover = 게임 오버
gameover.pvp = [accent]{0}[] 팀이 승리했습니다!
highscore = [accent]새로운 최고 점수!
@@ -39,7 +39,7 @@ be.check = 업데이트 확인
schematic = 설계도
schematic.add = 설계도 저장하기
schematics = 설계도들
-schematic.replace = 해당 이름의 설계도가 이미 존재합니다. 교체 하시겠습니까?
+schematic.replace = 해당 이름의 설계도가 이미 존재합니다. 교체하시겠습니까?
schematic.exists = 해당 이름의 설계도가 이미 존재합니다.
schematic.import = 설계도 가져오기...
schematic.exportfile = 파일 내보내기
@@ -50,15 +50,15 @@ schematic.copy.import = 클립 보드에서 가져오기
schematic.shareworkshop = 창작마당에 공유
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: 설계도 뒤집기
schematic.saved = 설계도 저장됨.
-schematic.delete.confirm = 이 설계도는 완전히 삭제 될 것 입니다.
+schematic.delete.confirm = 이 설계도는 완전히 삭제될 것입니다.
schematic.rename = 설계도 이름 바꾸기
schematic.info = {0}x{1}, {2} 블록
-stat.wave = 패배 한 웨이브:[accent] {0}
+stat.wave = 패배한 웨이브:[accent] {0}
stat.enemiesDestroyed = 파괴된 적:[accent] {0}
-stat.built = 건축 된 건물: [accent]{0}
-stat.destroyed = 건물 파괴됨: [accent]{0}
-stat.deconstructed = 건물 해체: [accent]{0}
+stat.built = 지어진 건물: [accent]{0}
+stat.destroyed = 파괴된 건물: [accent]{0}
+stat.deconstructed = 해체된 건물: [accent]{0}
stat.delivered = 얻은 자원:
stat.playtime = 플레이 시간: [accent] {0}
stat.rank = 최종 순위: [accent]{0}
@@ -70,7 +70,7 @@ level.highscore = 최고 점수: [accent]{0}
level.select = 맵 선택
level.mode = 게임 모드:
coreattack = < 코어가 공격 받고 있습니다! >
-nearpoint = [[ [scarlet]낙하 지점 에서 나가세요[] ]\n적 낙하 시 낙하 지점 내 건물 및 유닛 파괴
+nearpoint = [[ [scarlet]낙하 지점에서 나가세요[] ]\n적 낙하 시 낙하 지점 내 건물 및 유닛 파괴
database = 코어 데이터베이스
savegame = 게임 저장
loadgame = 게임 불러오기
@@ -114,7 +114,7 @@ mod.disable = 비활성화
mod.content = 콘텐츠:
mod.delete.error = 모드를 삭제할 수 없습니다. 파일이 사용 중일 수 있습니다.
mod.requiresversion = [scarlet]필요한 최소 게임 버전: [accent]{0}
-mod.missingdependencies = [scarlet]누락된 종속성: {0}
+mod.missingdependencies = [scarlet]누락된 요구 모드: {0}
mod.erroredcontent = [scarlet]콘텐츠 오류
mod.errors = 콘텐츠를 로드하는 동안 오류가 발생함.
mod.noerrorplay = [scarlet]오류가 있는 모드가 있습니다.[] 영향을 받는 모드를 비활성화 하거나 플레이 하기 전에 오류를 수정하세요.
@@ -125,14 +125,14 @@ mod.reloadrequired = [scarlet]재시작 필요
mod.import = 모드 가져오기
mod.import.file = 파일 가져오기
mod.import.github = Github 에서 모드 가져오기
-mod.jarwarn = [scarlet]JAR 모드는 안전하지 않습니다.[]\n신뢰할 수 있는 소스에서 이 모드를 가져와야 합니다!
-mod.item.remove = 이 아이템은[accent] '{0}' 모드의 일부입니다. 이를 제거할려면 해당 모드를 제거하세요.
-mod.remove.confirm = 이 모드가 삭제 될 것입니다.
+mod.jarwarn = [scarlet]JAR 모드는 안전하지 않습니다.[]\n신뢰할 수 있는 소스에서 얻은 모드만을 사용해야 합니다!
+mod.item.remove = 이 아이템은[accent] '{0}' 모드의 일부입니다. 이를 제거하려면 해당 모드를 제거하세요.
+mod.remove.confirm = 이 모드가 삭제될 것입니다.
mod.author = [lightgray]제작자:[] {0}
-mod.missing = 이 저장 파일에는 최근에 업데이트 했거나 더이상 설치되지 않은 모드가 포함되어 있습니다. 저장 파일이 손상될 수 있습니다. 정말로 불러 오시겠습니까?\n[lighthray]모드들:\n{0}
+mod.missing = 이 저장 파일에는 최근에 업데이트되었거나 더 이상 설치되지 않은 모드가 포함되어 있습니다. 저장 파일이 손상될 수 있습니다. 정말로 불러 오시겠습니까?\n[lighthray]모드들:\n{0}
mod.preview.missing = 창작마당에 모드를 업로드하기 전에 미리보기 이미지를 추가해야합니다.\n[accent]preview.png[] 라는 이름의 미리보기 이미지를 모드 폴더에 넣고 다시 시도하세요.
mod.folder.missing = 창작마당에는 폴더 형태의 모드만 게시할 수 있습니다.\n모드를 폴더 형태로 바꾸려면 모드 파일을 모드 폴더에 압축을 풀고 이전 모드 파일을 삭제 후, 게임을 재시작하거나 모드를 다시 로드하십시오.
-mod.scripts.disable = 이 기기는 스크립트가 있는 모드를 지원하지 않습니다. 게임을 플레이 할려면 이 모드를 비활성화 해야 합니다.
+mod.scripts.disable = 이 기기는 스크립트가 있는 모드를 지원하지 않습니다. 게임을 플레이하려면 이 모드를 비활성화해야 합니다.
about.button = 정보
name = 이름:
@@ -153,7 +153,7 @@ server.kicked.kick = 서버에서 추방되었습니다!
server.kicked.whitelist = 당신은 이 서버의 화이트리스트에 등록되어 있지 않습니다.
server.kicked.serverClose = 서버 닫힘.
server.kicked.vote = 당신은 투표로 추방되었습니다. 안녕히 계십시오.
-server.kicked.clientOutdated = 구버전 클라이언트 입니다! 게임을 업데이트하세요!
+server.kicked.clientOutdated = 구버전 클라이언트입니다! 게임을 업데이트하세요!
server.kicked.serverOutdated = 구버전 서버입니다! 호스트에게 업데이트를 요청하세요!
server.kicked.banned = 당신은 이 서버에서 차단되었습니다.
server.kicked.typeMismatch = 이 서버는 현재 빌드 유형과 호환되지 않습니다.
@@ -166,13 +166,13 @@ server.kicked.customClient = 이 서버는 사용자 정의 빌드를 지원하
server.kicked.gameover = 게임 오버!
server.kicked.serverRestarting = 서버가 다시 시작되고 있습니다.
server.versions = 당신의 버전: [accent] {0}[]\n서버 버전:[accent] {1}[]
-host.info = [accent]호스트[] 버튼은 포트[scarlet] 6567[]에서 호스팅합니다.\n같은 [lightgray]Wi-Fi 또는 LAN[]에 있는 모든 사용자들이 자신의 서버 목록에서 서버를 볼 수 있어야 합니다.\n\n사람들이 IP를 통해 어디서나 접속할 수 있게 할려면 [accent]포트 포워딩[]이 필요합니다.\n\n참고: 누군가 LAN 게임에 연결하는데 문제가 있는 경우 방화벽 설정에서 Mindustry 가 LAN에 액세스 할 수 있도록 허용했는지 확인하세요. 공용 네트워크는 가끔씩 서버 검색을 허용하지 않습니다.
-join.info = 여기에 연결할 [accent]서버 IP[]를 입력하거나 [accent]LAN[] 또는 [accent]글로벌[] 서버를 검색할 수 있습니다.\nLAN 및 WAN 멀티 플레이어 모두 지원됩니다.\n\n[lightgray]IP로 서버에 연결할려면 호스트에게 IP를 요청해야 합니다. 호스트 쪽의 장치에서 구글에 "내 IP" 라고 검색하면 쉽게 찾을 수 있습니다.
+host.info = [accent]호스트[] 버튼은 포트[scarlet] 6567[]에서 호스팅합니다.\n같은 [lightgray]Wi-Fi 또는 LAN[]에 있는 모든 사용자들이 자신의 서버 목록에서 서버를 볼 수 있어야 합니다.\n\n사람들이 IP를 통해 어디서나 접속할 수 있게 하려면 [accent]포트 포워딩[]이 필요합니다.\n\n참고: 누군가 LAN 게임에 연결하는 데 문제가 있는 경우 방화벽 설정에서 Mindustry가 LAN에 액세스 할 수 있도록 허용했는지 확인하세요. 공용 네트워크는 가끔씩 서버 검색을 허용하지 않습니다.
+join.info = 여기에 연결할 [accent]서버 IP[]를 입력하거나 [accent]LAN[] 또는 [accent]글로벌[] 서버를 검색할 수 있습니다.\nLAN 및 WAN 멀티 플레이어 모두 지원됩니다.\n\n[lightgray]IP로 서버에 연결하려면 호스트에게 IP를 요청해야 합니다. 호스트 쪽의 장치에서 구글에 "내 IP" 라고 검색하면 쉽게 찾을 수 있습니다.
hostserver = 멀티플레이 서버 호스트
invitefriends = 친구 초대
hostserver.mobile = 서버\n열기
host = 서버 열기
-hosting = [accent]서버 여는중...
+hosting = [accent]서버 여는 중...
hosts.refresh = 새로고침
hosts.discovering = LAN 게임 찾는중
hosts.discovering.any = 서버 찾는중
@@ -190,7 +190,7 @@ trace.ip = IP: [accent]{0}
trace.id = 고유 ID: [accent]{0}
trace.mobile = 모바일 클라이언트: [accent]{0}
trace.modclient = 사용자 지정 클라이언트: [accent]{0}
-invalidid = 잘못된 클라이언트 ID 입니다! 버그 보고서를 보내주세요.
+invalidid = 잘못된 클라이언트 ID입니다! 버그 보고서를 보내주세요.
server.bans = 차단 목록
server.bans.none = 차단된 플레이어를 찾을 수 없습니다!
server.admins = 관리자들
@@ -224,7 +224,7 @@ server.invalidport = 잘못된 포트 번호입니다!
server.error = [scarlet]서버 호스팅 오류.
save.new = 새로 저장
save.overwrite = 저장된 슬롯을 덮어 쓰시겠습니까?
-overwrite = 덮어 쓰기
+overwrite = 덮어쓰기
save.none = 저장된 파일을 찾을 수 없습니다!
savefail = 게임을 저장하지 못했습니다!
save.delete.confirm = 이 저장을 삭제 하시겠습니까?
@@ -240,7 +240,7 @@ save.rename.text = 새 이름:
selectslot = 저장슬롯을 선택하십시오.
slot = [accent]슬롯 {0}
editmessage = 메세지 편집
-save.corrupted = [accent]저장 파일이 손상되었거나 잘못된 파일입니다!
+save.corrupted = [accent]손상되었거나 잘못된 저장 파일입니다!
empty = <비어있음>
on = 활성화
off = 비활성화
@@ -250,7 +250,7 @@ save.wave = {0} 웨이브
save.mode = 게임모드: {0}
save.date = 마지막 저장일: {0}
save.playtime = 플레이 시간: {0}
-warning = 경고.
+warning = 경고
confirm = 확인
delete = 삭제
view.workshop = 창작마당에서 보기
@@ -269,7 +269,7 @@ data.exported = 데이터를 내보냈습니다.
data.invalid = 유효한 게임 데이터가 아닙니다.
data.import.confirm = 외부 데이터를 가져오면 현재 게임 데이터를 [scarlet]모두[] 덮어쓰게 됩니다.\n[accent]이 작업은 취소할 수 없습니다![]\n\n데이터를 가져오면 게임이 즉시 종료됩니다.
quit.confirm = 정말로 종료 하시겠습니까?
-quit.confirm.tutorial = 튜토리얼을 종료하시겠습니까?\n튜토리얼은[accent]설정->게임->튜토리얼[]에서 다시 해보실 수 있습니다.
+quit.confirm.tutorial = 튜토리얼을 종료하시겠습니까?\n튜토리얼은[accent]설정->게임->튜토리얼[]에서 다시 하실 수 있습니다.
loading = [accent]불러오는중...
reloading = [accent]모드 새로고침하는중...
saving = [accent]저장중...
@@ -282,7 +282,7 @@ wave = [accent]{0} 웨이브
wave.waiting = 다음 웨이브까지[lightgray] {0}초
wave.waveInProgress = [lightgray]웨이브 진행중
waiting = [lightgray]대기중...
-waiting.players = 다른 플레이어들을 기다리는 중...
+waiting.players = 상대 플레이어를 기다리는 중...
wave.enemies = [lightgray]적 유닛 {0}명 남음
wave.enemy = [lightgray]{0}명 남음
loadimage = 사진 불러오기
@@ -293,12 +293,12 @@ builtin = 내장
map.delete.confirm = 정말로 이 맵을 삭제하시겠습니까? 이 명령은 취소할 수 없습니다!
map.random = [accent]무작위 맵
map.nospawn = 이 맵에 플레이어가 스폰 할 코어가 없습니다! 편집기에서 [accent]orange[] 코어를 맵에 추가하세요.
-map.nospawn.pvp = 이 맵에는 플레이어가 스폰할 적 코어가 없습니다! 편집기에서 [royal]orange 팀이 아닌[] 코어를 추가하세요.
+map.nospawn.pvp = 이 맵에는 적 플레이어가 스폰할 코어가 없습니다! 편집기에서 [royal]orange 팀이 아닌[] 코어를 추가하세요.
map.nospawn.attack = 이 맵에는 플레이어가 공격할 수 있는 적의 코어가 없습니다! 에디터에서 [royal]빨간색[] 코어들을 맵에 추가하세요.
-map.invalid = 맵 로드중 오류: 맵 파일이 손상되었거나 잘못된 파일입니다.
+map.invalid = 맵 로드 오류: 맵 파일이 손상되었거나 잘못된 파일입니다.
workshop.update = 아이템 업데이트
workshop.error = 창작마당 세부 사항을 가져오는 중 오류가 발생했습니다: {0}
-map.publish.confirm = 이 지도를 게시 하시겠습니까?\n\n[lightgray]창작마당 EULA에 먼저 동의해야 하며, 그렇지 않으면 맵이 표시되지 않습니다!
+map.publish.confirm = 이 맵을 게시하시겠습니까?\n\n[lightgray]창작마당 EULA에 먼저 동의해야 하며, 그렇지 않으면 맵이 표시되지 않습니다!
workshop.menu = 이 아이템으로 수행 할 작업을 선택하십시오.
workshop.info = 아이템 정보
changelog = 변경점 (선택 사항) :
@@ -316,7 +316,7 @@ editor.oregen.info = 광물 무작위 생성:
editor.mapinfo = 맵 정보
editor.author = 제작자:
editor.description = 설명:
-editor.nodescription = 맵을 업로드하려면 최소 4자 이상의 설명이 있어야합니다.
+editor.nodescription = 맵을 업로드하려면 최소 4자 이상의 설명이 있어야 합니다.
editor.waves = 웨이브:
editor.rules = 규칙:
editor.generation = 생성:
@@ -351,9 +351,9 @@ editor.errorload = 파일을 불러오지 못했습니다.
editor.errorsave = 파일을 저장하지 못했습니다.
editor.errorimage = 이것은 맵이 아니라 사진입니다.\n\n3.5/build 40 맵을 가져올려면 편집기에서 '예전 맵 가져오기' 버튼을 사용하세요.
editor.errorlegacy = 이 맵은 너무 오래되어 더 이상 지원되지 않는 구형 맵 형식을 사용합니다.
-editor.errornot = 이건 맵 파일이 아닙니다.
+editor.errornot = 맵 파일이 아닙니다.
editor.errorheader = 이 맵 파일은 유효하지 않거나 손상되었습니다.
-editor.errorname = 맵에 이름이 지정되어 있지 않습니다. 저장 파일을 불러올려고 합니까?
+editor.errorname = 맵에 이름이 지정되어 있지 않습니다. 저장 파일을 불러오려 합니까?
editor.update = 업데이트
editor.randomize = 무작위
editor.apply = 적용
@@ -388,7 +388,7 @@ editor.exists = 이 이름의 맵이 이미 존재합니다.
editor.selectmap = 불러올 맵을 선택하세요:
toolmode.replace = 재배치
-toolmode.replace.description = 단단한 블록에만 그립니다
+toolmode.replace.description = 단단한 블록에만 그립니다.
toolmode.replaceall = 모두 재배치
toolmode.replaceall.description = 맵에 있는 모든 블록을 재배치합니다.
toolmode.orthogonal = 직각
@@ -446,7 +446,7 @@ load = 불러오기
save = 저장
fps = FPS: {0}
ping = Ping: {0}ms
-language.restart = 언어를 설정을 적용할려면 게임을 다시 시작하세요.
+language.restart = 언어 설정을 적용하려면 게임을 다시 시작하세요.
settings = 설정
tutorial = 튜토리얼
tutorial.retake = 튜토리얼 다시 시작
@@ -468,7 +468,7 @@ launch.title = 출격 성공
launch.next = [lightgray]다음 출격 기회는 {0} 웨이브에서 나타납니다.
launch.unable2 = [scarlet]출격할 수 없습니다.[]
launch.confirm = 이것은 당신의 코어에 있는 모든 자원을 출격 시킬 것입니다.\n당신은 이 기지로 다시 돌아올 수 없을 것입니다.
-launch.skip.confirm = 지금 건너뛰면 다음 출격 웨이브가 끝날 때 까지 출격할 수 없습니다.
+launch.skip.confirm = 지금 건너뛰면 다음 출격 웨이브가 끝날 때까지 출격할 수 없습니다.
uncover = 지역 개방
configure = 로드아웃 설정
loadout = Loadout
@@ -511,7 +511,7 @@ sector.fungalPass.name = 포자 지대
sector.groundZero.description = 이 장소는 다시 시작하기에 최적의 환경을 지닌 장소입니다. 적의 위협 수준이 낮으며, 자원이 거의 없습니다.\n가능 한 많은 양의 구리와 납을 수집하세요.\n이동 합시다.
sector.frozenForest.description = 이곳에서도, 산에 가까운 곳에 포자가 퍼졌습니다. 추운 온도에서도 포자들을 막을 수 없을 것 같습니다.\n화력 발전기를 건설하고, 멘더를 사용하는 방법을 배우세요.
sector.saltFlats.description = 이 소금 사막은 매우 척박하여 자원이 거의 없습니다.\n하지만 자원이 희소한 이곳에서도 적들의 요새가 발견되었습니다. 그들을 사막의 모래로 만들어버리십시오.
-sector.craters.description = 물이 가득한 이 크레이터에는 옛 전쟁의 유물들이 쌓여있습니다.\n이곳을 다시 점령해 금속유리를 제작하고 물을 끌어올려 포탑과 드릴에 공급하여 더 좋은 효율로 방어선을 강화하십시오.
+sector.craters.description = 물이 가득한 이 크레이터에는 옛 전쟁의 유물들이 쌓여있습니다.\n이곳을 다시 점령해 강화 유리를 제작하고 물을 끌어올려 포탑과 드릴에 공급하여 더 좋은 효율로 방어선을 강화하십시오.
sector.ruinousShores.description = 이 지역은 과거 해안방어기지로 사용되었습니다.\n그러나 지금은 기본구조물만 남아있으니 이 지역을 어서 신속히 수리하여 외부로 세력을 확장한 뒤, 잃어버린 기술을 다시 회수하십시오.
sector.stainedMountains.description = 더 안쪽에는 포자에 오염된 산맥이 있지만, 이 곳은 포자에 오염되지 않았습니다.\n이 지역에서 티타늄을 채굴하고 이것을 어떻게 사용하는지 배우십시오.\n\n적들은 이곳에서 더 강력합니다. 더 강한 유닛들이 나올 때까지 시간을 낭비하지 마십시오.
sector.overgrowth.description = 이 곳은 포자들의 근원과 가까이에 있는 과성장 지대입니다. 적이 이 곳에 전초기지를 설립했습니다. 디거를 생산해 적의 코어를 박살 내고 우리가 잃어버린 것들을 되돌려받으십시오!
@@ -607,7 +607,7 @@ bullet.incendiary = [stat]방화
bullet.homing = [stat]유도
bullet.shock = [stat]전격
bullet.frag = [stat]파편
-bullet.knockback = [stat]{0}[lightgray] 충격
+bullet.knockback = [stat]{0}[lightgray] 밀어내기
bullet.freezing = [stat]빙결
bullet.tarred = [stat]타르
bullet.multiplier = [stat]{0}[lightgray]x 탄약 배수
@@ -672,7 +672,7 @@ setting.seconds = {0} 초
setting.blockselecttimeout.name = 블록 선택 시간 초과
setting.milliseconds = {0} 밀리 초
setting.fullscreen.name = 전체 화면
-setting.borderlesswindow.name = 테두리 없는 창모드[lightgray] (재시작이 필요할 수 있습니다)
+setting.borderlesswindow.name = 테두리 없는 창 모드[lightgray] (재시작이 필요할 수 있습니다)
setting.fps.name = FPS와 핑 표시
setting.smoothcamera.name = 부드러운 시점
setting.blockselectkeys.name = 블록 선택 키 표시
@@ -695,10 +695,10 @@ setting.chatopacity.name = 채팅창 투명도
setting.lasersopacity.name = 전력 레이저 투명도
setting.bridgeopacity.name = 터널 투명도
setting.playerchat.name = 채팅 말풍선 표시
-public.confirm = 게임을 공개 표시하시겠습니까?\n[accent]모든 플레이어가 게임에 참여할 수 있습니다.\n[lightgray]설정->게임->멀티플레이 공용 서버로 표시에서 나중에 변경할 수 있습니다.\n\n[sky]번역자 추가[]\n[accent]친구끼리 한다고 이 기능을 활성화 한 뒤에, 친구 외에 다른 플레이어가 들어왔을 때\n해당 플레이어를 차단하는 행위는 비매너를 넘어서는 얌체 행위 그 자체입니다.\n정말로 [scarlet]많은 다른 플레이어들이 오길 원한다[]면 확인하세요.
+public.confirm = 게임을 모두에게 공개하시겠습니까?\n[accent]모든 플레이어가 게임에 참여할 수 있습니다.\n[lightgray]설정->게임->멀티플레이 공용 서버로 표시에서 나중에 변경할 수 있습니다.\n\n[sky]번역자 추가[]\n[accent]친구끼리 하려고 이 기능을 활성화 한 뒤에, 친구 외에 다른 플레이어가 들어왔을 때\n해당 플레이어를 차단하는 행위는 비매너를 넘어서는 얌체 행위 그 자체입니다.\n정말로 [scarlet]많은 다른 플레이어들이 오길 원한다[]면 확인하세요.
public.beta = 베타 버전의 게임은 공개 서버를 만들 수 없습니다.
-uiscale.reset = UI 스케일이 변경되었습니다.\n"확인"버튼을 눌러 스케일을 확인하세요.\n[accent] {0}[][scarlet]초 후에 예전 설정으로 되돌리고 게임을 종료합니다...
-uiscale.cancel = 취소후 나가기
+uiscale.reset = UI 스케일이 변경되었습니다.\n"확인"버튼을 눌러 저장하세요.\n[accent] {0}[][scarlet]초 후에 예전 설정으로 되돌리고 게임을 종료합니다...
+uiscale.cancel = 취소 후 나가기
setting.bloom.name = 블룸
keybind.title = 조작키 설정
keybinds.mobile = [scarlet]대부분의 키 맵핑은 모바일에서 작동하지 않습니다. 기본 이동만 지원됩니다.
@@ -767,14 +767,14 @@ keybind.drop_unit.name = 유닛 떨구기
keybind.zoom_minimap.name = 미니맵 확대
mode.help.title = 모드 설명
mode.survival.name = 생존
-mode.survival.description = 이것은 일반 모드입니다. 제한된 자원과 자동으로 시작되는 웨이브가 있습니다.\n[gray]플레이 할려면 맵에 적의 스폰지점이 필요합니다.
+mode.survival.description = 이것은 일반 모드입니다. 제한된 자원과 자동으로 시작되는 웨이브가 있습니다.\n[gray]플레이하려면 맵에 적의 스폰지점이 필요합니다.
mode.sandbox.name = 샌드박스
mode.sandbox.description = 무한한 자원과 웨이브 시작 타이머가 없습니다.
mode.editor.name = 편집기
mode.pvp.name = PvP
-mode.pvp.description = 다른 플레이어와 현장에서 싸우십시오.\n[gray]플레이 할려면 맵에 다른 색상의 코어가 2개 이상 있어야합니다.
+mode.pvp.description = 다른 플레이어와 현장에서 싸우십시오.\n[gray]플레이하려면 맵에 다른 색상의 코어가 2개 이상 있어야합니다.
mode.attack.name = 공격
-mode.attack.description = 적의 기지를 파괴하세요.\n[gray]플레이 할려면 맵에 빨간색 코어가 필요합니다.
+mode.attack.description = 적의 기지를 파괴하세요.\n[gray]플레이하려면 맵에 빨간색 코어가 필요합니다.
mode.custom = 사용자 정의 규칙
rules.infiniteresources = 무한 자원
@@ -823,13 +823,13 @@ item.surge-alloy.name = 설금
item.spore-pod.name = 포자 포드
item.sand.name = 모래
item.blast-compound.name = 화합물
-item.pyratite.name = 피라타이트
+item.pyratite.name = 파이라타이트
item.metaglass.name = 금속유리
item.scrap.name = 고철
liquid.water.name = 물
liquid.slag.name = 광재
liquid.oil.name = 기름
-liquid.cryofluid.name = 냉각 유체
+liquid.cryofluid.name = 냉각
item.explosiveness = [lightgray]폭발성: {0}
item.flammability = [lightgray]인화성: {0}
item.radioactivity = [lightgray]방사능: {0}
@@ -903,8 +903,8 @@ block.multi-press.name = 다중 압축기
block.constructing = {0} [lightgray](제작중)
block.spawn.name = 적 소환
block.core-shard.name = 코어: 조각
-block.core-foundation.name = 코어: 재단
-block.core-nucleus.name = 코어: 핵
+block.core-foundation.name = 코어: 기반
+block.core-nucleus.name = 코어: 핵심
block.deepwater.name = 깊은 물
block.water.name = 물
block.tainted-water.name = 오염된 물
@@ -917,7 +917,7 @@ block.ice.name = 얼음
block.snow.name = 눈
block.craters.name = 구덩이
block.sand-water.name = 젖은 모래
-block.darksand-water.name = 젖은 검은모래
+block.darksand-water.name = 젖은 검은 모래
block.char.name = 숯
block.holostone.name = 홀로스톤
block.ice-snow.name = 얼음눈
@@ -974,7 +974,7 @@ block.sorter.name = 필터
block.inverted-sorter.name = 반전 필터
block.message.name = 메모 블록
block.illuminator.name = 조명
-block.illuminator.description = 작고, 간단하고, 설정 가능한 광원입니다. 작동 시킬려면 전력이 필요합니다.
+block.illuminator.description = 작고, 간단하고, 설정 가능한 광원입니다. 작동하려면 전력이 필요합니다.
block.overflow-gate.name = 오버플로 게이트
block.underflow-gate.name = 언더플로 게이트
block.silicon-smelter.name = 실리콘 제련소
@@ -1018,7 +1018,7 @@ block.ripple.name = 립플
block.phase-conveyor.name = 메타 컨베이어
block.bridge-conveyor.name = 다리 컨베이어
block.plastanium-compressor.name = 플라스터늄 압축기
-block.pyratite-mixer.name = 피라타이트 혼합기
+block.pyratite-mixer.name = 라타이트 혼합기
block.blast-mixer.name = 화합물 혼합기
block.solar-panel.name = 태양 전지판
block.solar-panel-large.name = 대형 태양 전지판
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = 첨가물 재구성기
block.multiplicative-reconstructor.name = 다중 재구성기
block.exponential-reconstructor.name = 지수 재구성기
block.tetrative-reconstructor.name = 정서 재구성기
-block.mass-conveyor.name = 매스 컨베이어
+block.payload-conveyor.name = 매스 컨베이어
block.payload-router.name = 화물 분배기
block.disassembler.name = 분해기
block.silicon-crucible.name = 실리콘 도가니
@@ -1080,18 +1080,18 @@ tutorial.intro = [scarlet]Mindustry 튜토리얼[]을 시작하겠습니다.\n[W
tutorial.intro.mobile = [scarlet]Mindustry 튜토리얼[]을 시작하겠습니다.\n화면을 드래그하여 이동이 가능합니다.\n두 손가락을 화면에 누른 후 모으거나 벌려 확대와 축소가 가능합니다.\n[accent]구리[]를 채광하는 것부터 시작합니다. 코어 근처의 구리 광맥을 눌러 이 작업을 시작하세요.\n\n[accent]{0}/{1} 구리
tutorial.drill = 수동으로 채광하는 것은 효율이 낮습니다.\n[accent]드릴[]은 자동으로 드릴 바로 아래에 있는 광물들을 채광합니다.\n드릴 카테고리의 기계식 드릴을 선택하여 구리 광맥위에 설치하세요.\n마우스 오른쪽 버튼으로 취소가 가능합니다.
tutorial.drill.mobile = 수동으로 채광하는 것은 효율이 낮습니다.\n[accent]드릴[]은 자동으로 드릴 밑에 있는 광물들을 채광합니다.\n드릴 카테고리의 기계식 드릴을 선택하여 구리 광맥위에 설치하세요.\n취소 버튼을 눌러 건축하기 전의 설계를 취소할 수 있습니다.
-tutorial.blockinfo = 각 블록마다 다른 특성을 가지고 있으며, 각 드릴은 특정 광석만 채굴할 수 있습니다.\n블록의 정보와 특성을 확인할려면, [accent]건설 메뉴에서 "?" 버튼을 선택하세요.[]\n\n[accent]지금 기계식 드릴의 정보를 보세요.
+tutorial.blockinfo = 각 블록마다 다른 특성을 가지고 있으며, 각 드릴은 특정 광석만 채굴할 수 있습니다.\n블록의 정보와 특성을 확인하려면, [accent]건설 메뉴에서 "?" 버튼을 선택하세요.[]\n\n[accent]지금 기계식 드릴의 정보를 보세요.
tutorial.conveyor = [accent]컨베이어[]는 아이템을 코어로 운반하는데 사용됩니다.\n드릴에서 코어까지 컨베이어 경로를 만드세요.\n[accent]마우스를 길게 눌러 경로에 놓습니다.\n대각선으로 배치할 경로를 선택하는 동안 [accent]CTRL[] 키를 누른 상태로 유지하세요.\n스크롤 휠을 사용하여 블록을 배치하기 전에 블록을 회전시킬 수 있습니다.\n[accent]선 도구를 사용하여 컨베이어 2개를 놓은 다음, 아이템을 코어로 넣으세요.
tutorial.conveyor.mobile = [accent]컨베이어[]는 아이템을 코어로 운반하는데 사용됩니다.\n드릴에서 코어까지 컨베이어 경로를 만드세요.\n[accent]몇 초 동안 손가락을 누른 상태에서 드래그 하여 경로를 그립니다.\n\n[accent]선 도구로 컨베이어 2개를 놓은 다음 아이템을 코어에 넣으세요.
tutorial.turret = 아이템이 코어에 들어간 후에는 건물을 건설하는데 사용할 수 있습니다.\n모든 아이템이 건물에 사용될 수 있는 것은 아닙니다.\n건물에 사용되지 않는 아이템(예: [accent]석탄[] 또는 [accent]광재[])은 코어에 넣을 수 없습니다.\n[lightgray]적[]을 격추하기 위해 방어 건물을 세워야 합니다.\n기지 근처에 [accent]듀오 포탑[]을 건설하세요.
tutorial.drillturret = 듀오 포탑은 사격하는데 [accent]구리 탄약[]이 필요합니다.\n포탑 근처에 드릴을 설치하세요.\n구리를 공급하기 위해 컨베이어를 포탑으로 가도록 건설하세요.\n\n[accnet]탄약 운반: 0/1
-tutorial.pause = 전투 중에는 게임을 [accent]일시정지[] 할 수 있습니다.\n일시정지 되는 동안 건설을 대기시킬 수 있습니다.\n\n[accent]일시정지 할려면 스페이스 키를 누르세요.
-tutorial.pause.mobile = 싱글 플레이에서는 게임을 [accent]일시정지[]할 수 있습니다.\n일시정지하면 교전과 더불어 건설까지 일시정지됩니다.\n\n[accent]일시정지 할려면 왼쪽 상단에 있는 이 버튼을 누르세요.
+tutorial.pause = 전투 중에는 게임을 [accent]일시정지[] 할 수 있습니다.\n일시정지 되는 동안 건설을 대기시킬 수 있습니다.\n\n[accent]일시정지하려면 스페이스 키를 누르세요.
+tutorial.pause.mobile = 싱글 플레이에서는 게임을 [accent]일시정지[]할 수 있습니다.\n일시정지하면 교전과 더불어 건설까지 일시정지됩니다.\n\n[accent]일시정지하려면 왼쪽 상단에 있는 이 버튼을 누르세요.
tutorial.unpause = 이제 스페이스를 누르면 일시정지가 해제됩니다.
tutorial.unpause.mobile = 이제 다시 누르면 일시정지가 해제됩니다.
-tutorial.breaking = 블록은 종종 파괴 되어야 합니다.\n선택한 모든 블록을 파괴할려면 [accent]마우스 오른쪽 클릭을 길게 누르세요[].\n\n[accent]영역 선택을 사용하여 코어 왼쪽의 모든 조각벽을 파괴하세요.
+tutorial.breaking = 블록은 종종 파괴 되어야 합니다.\n선택한 모든 블록을 파괴하려면 [accent]마우스 오른쪽 클릭을 길게 누르세요[].\n\n[accent]영역 선택을 사용하여 코어 왼쪽의 모든 조각벽을 파괴하세요.
tutorial.breaking.mobile = 블록은 종종 파괴 되어야 합니다.\n[accent]삭제 모드[]를 선택한 다음 블록을 탭 하여 파괴할 수 있습니다.\n[accnet]몇 초 동안 손가락을 누르고 원하는 방향으로 드래그[]하여 범위 안에있는 블럭을 파괴하세요.\n그리고 체크 표시 버튼을 눌러 삭제 작업을 할 수 있습니다.\n[accent]영역 선택을 사용하여 코어 왼쪽의 모든 조각 벽을 파괴하세요.
-tutorial.withdraw = 경우에 따라 블록에서 아이템을 직접 가져와야 합니다.\n이 작업을 할려면 [accent]아이템이 있는 블록[]을 탭한 다음, 인벤토리에서 [accent]아이템[]을 탭하세요.\n[accent]누른 상태를 유지[]하면 여러개를 꺼낼 수 있습니다.\n\n[accent]코어에서 구리를 빼내세요.
+tutorial.withdraw = 경우에 따라 블록에서 아이템을 직접 가져와야 합니다.\n이 작업을 하려면 [accent]아이템이 있는 블록[]을 탭한 다음, 인벤토리에서 [accent]아이템[]을 탭하세요.\n[accent]누른 상태를 유지[]하면 여러개를 꺼낼 수 있습니다.\n\n[accent]코어에서 구리를 빼내세요.
tutorial.deposit = 기체에서 목적지 블록으로 드래그하여 아이템을 블록에 넣으세요.\n\n[accent]구리를 다시 코어에 넣으세요[].
tutorial.waves = [lightgray]적[]이 다가옵니다.\n2 웨이브로부터 코어를 방어하세요. [accent]클릭[]하여 사격할 수 있습니다.\n더 많은 포탑과 드릴을 건설하고 구리를 더 모으세요.
tutorial.waves.mobile = [lightgray]적[]이 다가옵니다.\n2 웨이브로부터 코어를 방어하세요. 당신의 기체는 자동으로 적을 향해 사격합니다.\n더 많은 포탑과 드릴을 건설하고 구리를 더 모으세요.
@@ -1122,13 +1122,13 @@ block.message.description = 메세지를 남깁니다. 같은 팀 간의 소통
block.graphite-press.description = 석탄 덩어리를 순수한 흑연으로 압축합니다.
block.multi-press.description = 흑연 압축기의 강화 버전. 석탄을 빠르고 효율적으로 처리하기 위해 물과 전력을 사용합니다.
block.silicon-smelter.description = 순수한 석탄과 모래로 실리콘을 생산합니다.
-block.kiln.description = 모래를 제련하여 강화 유리라고 알려진 화합물로 만듭니다. 작동할려면 소량의 전력이 필요합니다.
+block.kiln.description = 모래를 제련하여 강화 유리라고 알려진 화합물로 만듭니다. 작동려면 소량의 전력이 필요합니다.
block.plastanium-compressor.description = 석유와 티타늄으로 플라스터늄을 생산합니다.
block.phase-weaver.description = 방사성 토륨과 모래에서 메타를 합성합니다. 작동하려면 엄청난 양의 전력이 필요합니다.
block.alloy-smelter.description = 티타늄, 납, 실리콘, 구리를 결합하여 설금을 생산합니다.
block.cryofluidmixer.description = 물과 미세 티타늄 분말을 냉각수로 혼합합니다. 토륨 원자로 사용에 필수적입니다.
-block.blast-mixer.description = 포자 클러스터를 피라타이트와 분쇄하고 혼합하여 화합물을 만듭니다.
-block.pyratite-mixer.description = 석탄, 납, 모래를 가연성이 높은 피라타이트로 만듭니다.
+block.blast-mixer.description = 포자 클러스터를 파이라타이트와 분쇄하고 혼합하여 화합물을 만듭니다.
+block.pyratite-mixer.description = 석탄, 납, 모래를 가연성이 높은 파이라타이트로 만듭니다.
block.melter.description = 웨이브 포탑에서 추가 처리 또는 사용을 위해 고철을 광재로 녹입니다.
block.separator.description = 광재를 미네랄 성분으로 분리합니다. 그리고 냉각된 결과를 출력합니다.
block.spore-press.description = 포자 포드를 극압으로 압축하여 기름을 합성합니다.
@@ -1156,7 +1156,7 @@ block.surge-wall-large.description = 내구성이 매우 강한 방어 블록.\n
block.door.description = 작은 문. 탭하여 열거나 닫을 수 있습니다.
block.door-large.description = 큰 문. 탭하여 열거나 닫을 수 있습니다.\n여러 타일을 차지합니다.
block.mender.description = 주변의 블록을 주기적으로 수리합니다. 웨이브 사이의 방어를 유지하게 합니다.\n선택적으로 실리콘을 사용하여 범위와 효율성을 향상시킵니다.
-block.mend-projector.description = 멘더의 강화 버전. 주변의 블록을 수리합니다.\n선택적으로 메타를 사용하여 범위와 효율성을 향상시킵니다.
+block.mend-projector.description = 소형 수리 프로젝터의 강화 버전. 주변의 블록을 수리합니다.\n선택적으로 메타를 사용하여 범위와 효율성을 향상시킵니다.
block.overdrive-projector.description = 주변 건물의 속도를 높입니다.\n선택적으로 메타를 사용하여 범위와 효율성을 높입니다.
block.force-projector.description = 건물과 내부의 유닛을 공격으로부터 보호하며, 그 주위에 육각형 역장을 형성합니다.\n너무 많은 손상이 지속되면 과열되며, 선택적으로 냉각수를 사용하여 과열을 방지할 수 있고, 메타는 역장의 크기를 늘리는 데 사용할 수 있습니다.
block.shock-mine.description = 지뢰를 밟고 있는 적에게 피해를 입힙니다. 적에게는 거의 보이지 않습니다.
@@ -1168,7 +1168,7 @@ block.bridge-conveyor.description = 고급 자원 운송 블록. 지형이나
block.phase-conveyor.description = 고급 자원 운송 블록. 전력을 사용하여 여러 타일을 통해 연결된 컨베이어로 아이템을 순간이동 시킵니다.
block.sorter.description = 아이템을 정렬합니다. 아이템이 선택과 일치하면 앞방향으로 통과하며, 그렇지 않을 경우 왼쪽과 오른쪽으로 출력됩니다.
block.inverted-sorter.description = 표준 분류기와 같은 아이템을 처리하지만, 대신 선택된 아이템을 측면으로 출력합니다.
-block.router.description = 아이템을 받아서 최대 3개의 다른 방향으로 동일하게 출력합니다. 하나의 소스에서 여러 대상으로 재료를 분할하는데 유용합니다.\n\n[scarlet]공장에서 생산된 재료는 출력에 의해 막히게 되므로, 절대로 공장 옆에서 사용하지 마십시오.
+block.router.description = 아이템을 받아서 최대 3개의 다른 방향으로 동일하게 출력합니다. 하나의 소스에서 여러 대상으로 재료를 분할하는 데 유용합니다.\n\n[scarlet]공장에서 생산된 재료는 출력에 의해 막히게 되므로, 절대로 공장 옆에서 사용하지 마십시오.
block.distributor.description = 고급 분배기. 아이템을 최대 7개의 다른 방향으로 동일하게 분할합니다.
block.overflow-gate.description = 전면 경로가 차단 된 경우에만 왼쪽과 오른쪽으로 출력됩니다.
block.underflow-gate.description = 오버플로 게이트의 반대. 왼쪽 및 오른쪽 경로가 차단되면 전면으로 출력됩니다.
@@ -1187,18 +1187,18 @@ block.phase-conduit.description = 고급 액체 운송 블록. 전력을 사용
block.power-node.description = 연결된 노드에 전력을 전송합니다. 노드는 인접한 블록에서 전력을 공급 받거나 전력을 공급 합니다.
block.power-node-large.description = 더 넓은 범위의 고급 전력 노드.
block.surge-tower.description = 사용 가능한 연결 수가 적은 장거리 전력 노드.
-block.diode.description = 배터리 전력은 이 블록을 통해 한 방향으로만 흐를 수 있지만, 다른 쪽의 전원이 덜 저장된 경우에만 가능합니다.
-block.battery.description = 에너지가 넘쳐날 때 완충제로 전력을 저장합니다. 전력에 적자가 발생할때 전력을 출력합니다.
+block.diode.description = 배터리 전력은 이 블록을 통해 한 방향으로만 흐를 수 있지만, 출력 방향 배터리의 전력이 더 적은 경우에만 가능합니다.
+block.battery.description = 에너지가 넘쳐날 때 완충재로 전력을 저장합니다. 전력에 적자가 발생할 때 전력을 출력합니다.
block.battery-large.description = 일반 배터리보다 훨씬 더 많은 전력을 저장합니다.
block.combustion-generator.description = 석탄과 같은 가연성 물질을 연소시켜 전력을 생산합니다.
block.thermal-generator.description = 열이 있는 곳에 설치하면 전력이 생성됩니다.
block.turbine-generator.description = 고급 연소 발전기. 더 효율적이지만 증기를 생성하기 위해 물이 필요합니다.
-block.differential-generator.description = 많은 량의 전력을 생성합니다. 냉각수와 불타는 피라타이트의 온도 차이를 이용합니다.
-block.rtg-generator.description = 간단하고 안정적인 발전기. 부패하는 방사성 화합물의 열을 이용하여 느린 속도로 전력을 생성합니다.
+block.differential-generator.description = 많은 양의 전력을 생성합니다. 냉각수와 불타는 파이라타이트의 온도 차이를 이용합니다.
+block.rtg-generator.description = 간단하고 안정적인 발전기. 붕괴하는 방사성 화합물의 열을 이용하여 느린 속도로 전력을 생성합니다.
block.solar-panel.description = 태양으로부터 소량의 전력을 생성합니다.
block.solar-panel-large.description = 표준 태양 전지판보다 훨씬 더 효율적인 버전.
-block.thorium-reactor.description = 토륨으로부터 상당한 양의 전력을 생산합니다. 지속적인 냉각이 필요하며, 충분한 양의 냉각수가 공급되지 않으면 크게 폭발합니다. 전력 출력은 최대 재료 수용용량에 따라 달라집니다.
-block.impact-reactor.description = 최고 효율로 대량의 전력을 생산할 수 있는 고급 발전기. 프로세스를 시작할려면 상당한 전력 공급이 필요합니다.
+block.thorium-reactor.description = 토륨으로부터 상당한 양의 전력을 생산합니다. 지속적인 냉각이 필요하며, 충분한 양의 냉각수가 공급되지 않으면 크게 폭발합니다. 전력 출력은 토륨의 양에 따라 달라집니다.
+block.impact-reactor.description = 최고 효율로 대량의 전력을 생산할 수 있는 고급 발전기. 프로세스를 시작하려면 상당한 전력 공급이 필요합니다.
block.mechanical-drill.description = 가격이 싼 드릴. 적절한 타일에 설치하면 아이템을 천천히 느린 속도로 출력합니다. 기본 자원만 채굴할 수 있습니다.
block.pneumatic-drill.description = 티타늄을 채광할 수 있는 향상된 드릴. 기계식 드릴보다 더 빠른 속도로 채굴합니다.
block.laser-drill.description = 레이저 기술을 통해 더욱 빠르게 드릴링 할 수 있지만 전력이 필요합니다. 토륨 채굴 가능.
@@ -1206,12 +1206,12 @@ block.blast-drill.description = 최상위 드릴. 많은 양의 전력이 필요
block.water-extractor.description = 지하수를 추출합니다. 지표수가 없는 곳에서 사용합니다.
block.cultivator.description = 대기 중의 작은 농도의 포자를 배양 가능한 포드로 배양합니다.
block.oil-extractor.description = 석유를 추출하기 위해 많은 양의 전력과 모래 및 물을 사용합니다.
-block.core-shard.description = 코어 캡슐의 첫번째 형태. 일단 파괴되면 해당 지역과의 모든 연결이 끊어집니다. 이런 일이 일어나지 않도록 하십시오.
-block.core-foundation.description = 코어의 두번째 버전. 더 나은 방어력과 자원을 저장합니다.
+block.core-shard.description = 코어 캡슐의 첫 번째 형태. 파괴되면 해당 지역과의 모든 연결이 끊어집니다. 이런 일이 일어나지 않도록 하십시오.
+block.core-foundation.description = 코어의 두 번째 버전. 더 나은 방어력과 자원을 저장합니다.
block.core-nucleus.description = 코어 캡슐의 세 번째이자 마지막 형태입니다. 방어력이 매우 높고 대량의 자원을 저장할 수 있습니다.
block.vault.description = 각 유형의 많은 양의 자원을 저장합니다. 언로더 블록을 사용하여 창고에서 아이템을 빼낼 수 있습니다.
block.container.description = 각 유형의 소량의 자원을 저장합니다. 언로더 블록을 사용하여 컨테이너에서 아이템을 빼낼 수 있습니다.
-block.unloader.description = 근처의 비 수송 블록에서 아이템을 빼냅니다. 빼낼 자원 유형을 눌러 변경할 수 있십니다.
+block.unloader.description = 근처의 비 수송 블록에서 아이템을 빼냅니다. 눌러서 빼낼 자원을 변경할 수 있십니다.
block.launch-pad.description = 코어 출격 없이도 아이템을 묶어 출격시킬 수 있습니다.
block.launch-pad-large.description = 출격 패드의 개선된 버전. 더 많은 자원을 저장하며 더 자주 출격합니다.
block.duo.description = 작고 저렴한 포탑. 지상 유닛에 유용합니다.
@@ -1222,11 +1222,11 @@ block.wave.description = 중형 포탑. 적에게 액체를 발사합니다. 물
block.lancer.description = 중형 대지 레이저 포탑. 강력한 에너지 빔을 충전하여 발사합니다.
block.arc.description = 작은 근거리 전격 포탑. 적에게 전격 아크를 발사합니다.
block.swarmer.description = 중형 미사일 포탑. 공중과 지상의 적을 모두 공격하며, 유도탄을 발사합니다.
-block.salvo.description = 더 큰 고급 듀오 포탑 버전입니다. 적에게 총알을 빠르게 발사합니다.
+block.salvo.description = 더 큰 고급 듀오 포탑입니다. 적에게 총알을 빠르게 발사합니다.
block.fuse.description = 넓은 근거리 파편 포탑. 근처의 적에게 3개의 관통 총알을 발사합니다.
block.ripple.description = 매우 강력한 포병 포탑. 원거리에 있는 적에게 포탄 무리를 쏘세요.
block.cyclone.description = 대공 및 대지 포탑. 근처 유닛에게 폭발성 덩어리를 발사합니다.
block.spectre.description = 거대한 이중 배럴 대포. 공중 및 지상 목표물에 큰 관통 철갑탄을 발사합니다.
block.meltdown.description = 거대한 레이저 대포. 근처의 적에게 지속적인 레이버 빔을 충전하여 발사합니다. 냉각수가 있어야 작동합니다.
block.repair-point.description = 주변에서 가장 가까운 유닛들을 지속적으로 치료합니다.
-block.segment.description = 오고있는 발사체를 파괴합니다. 레이저는 목표 대상이 아닙니다.
+block.segment.description = 날아오는 발사체를 요격합니다. 레이저는 목표 대상이 아닙니다.
diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties
index 338a12c5dd..8316b54c06 100644
--- a/core/assets/bundles/bundle_lt.properties
+++ b/core/assets/bundles/bundle_lt.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties
index a55f78e081..88fba3f8f5 100644
--- a/core/assets/bundles/bundle_nl.properties
+++ b/core/assets/bundles/bundle_nl.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties
index 4afde54148..e643b1d553 100644
--- a/core/assets/bundles/bundle_nl_BE.properties
+++ b/core/assets/bundles/bundle_nl_BE.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties
index d4c14e22f5..a8d15895b9 100644
--- a/core/assets/bundles/bundle_pl.properties
+++ b/core/assets/bundles/bundle_pl.properties
@@ -1063,7 +1063,7 @@ block.additive-reconstructor.name = Rekonstruktor Addytywny
block.multiplicative-reconstructor.name = Rekonstruktor Multiplikatywny
block.exponential-reconstructor.name = Rekonstruktor Wykładniczy
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Przenośnik Masowy
+block.payload-conveyor.name = Przenośnik Masowy
block.payload-router.name = Rozdzielacz Ładunku
block.disassembler.name = Dezasembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties
index 755622fa29..64d54a3d5d 100644
--- a/core/assets/bundles/bundle_pt_BR.properties
+++ b/core/assets/bundles/bundle_pt_BR.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties
index 6ddd177a4f..c665535ba8 100644
--- a/core/assets/bundles/bundle_pt_PT.properties
+++ b/core/assets/bundles/bundle_pt_PT.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties
index b724f7df71..2fb9106b6d 100644
--- a/core/assets/bundles/bundle_ru.properties
+++ b/core/assets/bundles/bundle_ru.properties
@@ -31,17 +31,17 @@ load.scripts = Скрипты
be.update = Доступна новая сборка Bleeding Edge:
be.update.confirm = Загрузить её и перезапустить игру сейчас?
-be.updating = Обновляется...
+be.updating = Обновляется…
be.ignore = Игнорировать
be.noupdates = Обновления не найдены.
be.check = Проверить обновления
schematic = Схема
-schematic.add = Сохранить схему...
+schematic.add = Сохранить схему…
schematics = Схемы
schematic.replace = Схема с таким названием уже существует. Заменить её?
schematic.exists = Схема с таким названием уже существует.
-schematic.import = Импортировать схему...
+schematic.import = Импортировать схему…
schematic.exportfile = Экспортировать файл
schematic.importfile = Импортировать файл
schematic.browseworkshop = Просмотр Мастерской
@@ -63,8 +63,7 @@ stat.delivered = Ресурсов запущено:
stat.playtime = Время игры:[accent] {0}
stat.rank = Финальный ранг: [accent]{0}
-launcheditems = [accent]Запущенные предметы
-launchinfo = [unlaunched]Нажмите на кнопку [ЗАПУСК], чтобы получить предметы, которые отмечены синим цветом.
+globalitems = [accent]Глобальные предметы
map.delete = Вы действительно хотите удалить карту «[accent]{0}[]»?
level.highscore = Рекорд: [accent]{0}
level.select = Выбор карты
@@ -144,6 +143,7 @@ techtree = Дерево\n технологий
research.list = [lightgray]Исследуйте:
research = Исследовать
researched = [lightgray]{0} исследовано.
+research.progress = {0}% завершено
players = Игроков: {0}
players.single = {0} игрок
players.search = поиск
@@ -271,7 +271,7 @@ data.import.confirm = Импорт внешних данных сотрёт[scar
quit.confirm = Вы уверены, что хотите выйти?
quit.confirm.tutorial = Вы уверены, что знаете, что делаете?\nОбучение может быть повторно запущено через[accent] Настройки->Игра->Открыть обучение.[]
loading = [accent]Загрузка…
-reloading = [accent]Перезагрузка модификаций...
+reloading = [accent]Перезагрузка модификаций…
saving = [accent]Сохранение…
respawn = [accent][[{0}][] для возрождения из ядра
cancelbuilding = [accent][[{0}][] для очистки плана
@@ -304,7 +304,7 @@ workshop.info = Информация о предмете
changelog = Список изменений (необязательно):
eula = Лицензионное соглашение Steam с конечным пользователем
missing = Этот предмет был удалён или перемещён.\n[lightgray]Публикация в Мастерской была автоматически удалена.
-publishing = [accent]Отправка...
+publishing = [accent]Отправка…
publish.confirm = Вы уверены, что хотите опубликовать этот предмет?\n\n[lightgray]Убедитесь, что вы согласны с EULA Мастерской, иначе ваши предметы не будут отображаться!
publish.error = Ошибка отправки предмета: {0}
steam.error = Не удалось инициализировать сервисы Steam.\nОшибка: {0}
@@ -326,7 +326,7 @@ editor.newmap = Новая карта
workshop = Мастерская
waves.title = Волны
waves.remove = Удалить
-waves.never = <никогда>
+waves.never = ∞
waves.every = каждый
waves.waves = волна(ы)
waves.perspawn = за появление
@@ -340,6 +340,12 @@ waves.load = Загрузить из буфера обмена
waves.invalid = Неверные волны в буфере обмена.
waves.copied = Волны скопированы.
waves.none = Враги не были определены.\nОбратите внимание, что пустые волны будут автоматически заменены обычной волной.
+
+#these are intentionally in lower case
+wavemode.counts = количество единиц
+wavemode.totals = всего единиц
+wavemode.health = всего здоровья
+
editor.default = [lightgray]<По умолчанию>
details = Подробности…
edit = Редактировать…
@@ -379,7 +385,7 @@ editor.exportimage = Экспортировать изображение лан
editor.exportimage.description = Экспортировать файл изображения, содержащего только базовую местность
editor.loadimage = Импортировать\nизображение
editor.saveimage = Экспортировать\nизображение
-editor.unsaved = [scarlet]У Вас есть несохранённые изменения![]\nВы уверены, что хотите выйти?
+editor.unsaved = Вы уверены, что хотите выйти?\n[scarlet]Все несохранённые изменения будут потеряны.
editor.resizemap = Изменить размер карты
editor.mapname = Название карты:
editor.overwrite = [accent]Внимание!\nЭто перезапишет уже существующую карту.
@@ -456,10 +462,11 @@ mapeditor = Редактор карт
abandon = Покинуть
abandon.text = Эта зона и все её ресурсы будут отданы противнику.
locked = Заблокировано
-complete = [lightgray]Выполнить:
+complete = [lightgray]Необходимо:
requirement.wave = Достигните {0} волны в зоне {1}
requirement.core = Уничтожьте вражеское ядро в зоне {0}
requirement.research = Исследуйте {0}
+requirement.capture = Захватите {0}
resume = Возобновить зону:\n[lightgray]{0}
bestwave = [lightgray]Лучшая волна: {0}
@@ -636,6 +643,7 @@ unit.percent = %
unit.items = предметов
unit.thousands = к
unit.millions = М
+unit.billions = кM
category.general = Основные
category.power = Энергия
category.liquids = Жидкости
@@ -986,7 +994,7 @@ block.illuminator.name = Осветитель
block.illuminator.description = Маленький, компактный, настраиваемый источник света. Требуется энергия для работы.
block.overflow-gate.name = Избыточный затвор
block.underflow-gate.name = Избыточный шлюз
-block.silicon-smelter.name = Кремниевый плавильный завод
+block.silicon-smelter.name = Кремниевая плавильня
block.phase-weaver.name = Фазовый ткач
block.pulverizer.name = Измельчитель
block.cryofluidmixer.name = Мешалка криогенной жидкости
@@ -1071,11 +1079,18 @@ block.additive-reconstructor.name = Добавляющий реконструк
block.multiplicative-reconstructor.name = Умножающий реконструктор
block.exponential-reconstructor.name = Экспоненциальный реконструктор
block.tetrative-reconstructor.name = Тетративный реконструктор
-block.mass-conveyor.name = Грузовой конвейер
+block.payload-conveyor.name = Грузовой конвейер
block.payload-router.name = Разгрузочный маршрутизатор
block.disassembler.name = Разборщик
block.silicon-crucible.name = Кремниевый тигель
block.overdrive-dome.name = Сверхприводный купол
+
+block.switch.name = Переключатель
+block.micro-processor.name = Микропроцессор
+block.logic-processor.name = Логический процессор
+block.logic-display.name = Логический дисплей
+block.memory-cell.name = Запоминающее устройство
+
team.blue.name = Синяя
team.crux.name = Красная
team.sharded.name = Оранжевая
@@ -1171,16 +1186,16 @@ block.force-projector.description = Создает вокруг себя шес
block.shock-mine.description = Наносит урон врагам, наступающим на мину. Почти невидима для врага.
block.conveyor.description = Базовый транспортный блок. Перемещает предметы вперед и автоматически складывает их в блоки. Можно повернуть.
block.titanium-conveyor.description = Улучшенный транспортный блок. Перемещает предметы быстрее, чем стандартные конвейеры.
-block.plastanium-conveyor.description = Транспортирует предметы пачками.\nПринимает предметы только с начального сегмента, а разгружает с последнего со всех сторон.
+block.plastanium-conveyor.description = Транспортирует предметы пачками.\nПринимает предметы только с начального сегмента, а разгружает с последнего со всех сторон.\nИмеет большую пропускную способность по сравнению с остальными логистическими блоками.
block.junction.description = Действует как мост для двух пересекающихся конвейерных лент. Полезен в ситуациях, когда два разных конвейера перевозят разные материалы в разные места.
block.bridge-conveyor.description = Улучшенный транспортный блок. Позволяет транспортировать предметы над 3 плитками любой местности или здания.
block.phase-conveyor.description = Улучшенный транспортный блок. Использует энергию для телепортации предметов на подключенный фазовый конвейер над несколькими плитками.
-block.sorter.description = Сортирует предметы. Если предмет соответствует выбору, он может пройти. В противном случае предмет выводится слева и справа.
+block.sorter.description = Сортирует предметы. Если предмет соответствует выбору, он может пройти. В противном случае предмет выводится по бокам.
block.inverted-sorter.description = Работает с предметами так же, как и стандартный сортировщик, но выводит выбранный предмет по бокам, а не прямо.
block.router.description = Принимает предмет в одном направлении и выводит их до 3 других направлений в равной степени. Полезен для разделения материалов из одного источника на несколько целей.\n\n[scarlet]Никогда не используйте рядом с заводами и т.п., так как маршрутизатор будет забит выходными предметами.[]
block.distributor.description = Расширенный маршрутизатор. Разделяет предметы до 7 других направлений в равной степени.
-block.overflow-gate.description = Выводит предметы влево и вправо, только если передний путь заблокирован.
-block.underflow-gate.description = Противоположность избыточного затвора. Выводит предметы вперёд только в том случае, если левый и правый пути заблокированы.
+block.overflow-gate.description = Выводит предметы по бокам, только если передний путь заблокирован.
+block.underflow-gate.description = Противоположность избыточного затвора. Выводит предметы вперёд только в том случае, если боковые пути заблокированы.
block.mass-driver.description = Самый продвинутый транспортный блок. Собирает несколько предметов и затем стреляет ими в другую катапульту на большом расстоянии. Требуется энергия для работы.
block.mechanical-pump.description = Дешёвый насос с низкой производительностью, но без энергопотребления.
block.rotary-pump.description = Продвинутый насос. Качает больше жидкости, но требуют энергию.
@@ -1196,7 +1211,7 @@ block.phase-conduit.description = Расширенный блок транспо
block.power-node.description = Передает питание на подключенные узлы. Узел будет получать питание или поставлять питание на любые соседние блоки.
block.power-node-large.description = Усовершенствованный силовой узел с большей дальностью.
block.surge-tower.description = Силовой узел с очень большим радиусом действия, но меньшим количеством доступных соединений.
-block.diode.description = Энергия из аккумуляторов имеет возможность перемещаться через этот блок в одну сторону, если на выходе имеется меньше энергии в запасе, чем на входе.
+block.diode.description = Накопленная энергия имеет возможность перемещаться через этот блок в одну сторону, если на выходе имеется меньше энергии в запасе, чем на входе.
block.battery.description = Накапливает энергию как буфер во времена избытка энергии. Выводит энергию во времена дефицита.
block.battery-large.description = Хранит гораздо больше энергии, чем обычный аккумулятор.
block.combustion-generator.description = Вырабатывает энергию путём сжигания легковоспламеняющихся материалов, таких как уголь.
diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties
index 6a6ce9d221..bbe0f390c6 100644
--- a/core/assets/bundles/bundle_sv.properties
+++ b/core/assets/bundles/bundle_sv.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties
index 58b1a304c0..8fcf97cb03 100644
--- a/core/assets/bundles/bundle_th.properties
+++ b/core/assets/bundles/bundle_th.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties
index 03f22600bb..006ef4ae92 100644
--- a/core/assets/bundles/bundle_tk.properties
+++ b/core/assets/bundles/bundle_tk.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties
index 461f09b534..15788e2753 100644
--- a/core/assets/bundles/bundle_tr.properties
+++ b/core/assets/bundles/bundle_tr.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties
index fa78384973..9c02b7b8b4 100644
--- a/core/assets/bundles/bundle_uk_UA.properties
+++ b/core/assets/bundles/bundle_uk_UA.properties
@@ -63,8 +63,7 @@ stat.delivered = Ресурсів запущено:
stat.playtime = Час у грі:[accent] {0}
stat.rank = Фінальний рахунок:[accent] {0}
-launcheditems = [accent]Запущені предмети
-launchinfo = [unlaunched]Натисніть на кнопку [[ЗАПУСК], щоб ваше ядро отримало предмети, які виділені синім кольором.
+globalitems = [accent]Глобальні предмети
map.delete = Ви впевнені, що хочете видалити мапу «[accent]{0}[]»?
level.highscore = Рекорд: [accent]{0}
level.select = Вибір мапи
@@ -106,7 +105,7 @@ mods.guide = Посібник з модифікацій
mods.report = Повідомити про ваду
mods.openfolder = Відкрити теку
mods.reload = Перезавантажити
-mods.reloadexit = The game will now exit, to reload mods.
+mods.reloadexit = Гра зараз закриється, щоб перезавантажити модифікації
mod.display = [gray]Модифікація:[orange] {0}
mod.enabled = [lightgray]Увімкнено
mod.disabled = [scarlet]Вимкнено
@@ -125,7 +124,7 @@ mod.reloadrequired = [scarlet]Потрібно перезавантаження
mod.import = Імпортувати модифікацію
mod.import.file = Імпортувати файл
mod.import.github = Імпортувати з GitHub
-mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source!
+mod.jarwarn = [scarlet]JAR-модифікації по своїй суті небезпечні.[]\nПереконайтеся, що ви імпортуєте цю модифікацію з надійного джерела!
mod.item.remove = Цей предмет є частиною модифікації [accent] «{0}»[]. Щоб видалити його, видаліть цю модифікацію.
mod.remove.confirm = Цю модифікацію буде видалено.
mod.author = [lightgray]Автор:[] {0}
@@ -144,6 +143,7 @@ techtree = Дерево технологій
research.list = [lightgray]Дослідження:
research = Дослідження
researched = [lightgray]{0} досліджено.
+research.progress = {0}% завершено
players = Гравців: {0}
players.single = {0} гравець на сервері
players.search = пошук
@@ -273,7 +273,7 @@ quit.confirm.tutorial = Ви впевнені, що знаєте що робит
loading = [accent]Завантаження…
reloading = [accent]Перезавантаження модифікацій…
saving = [accent]Збереження…
-respawn = [accent][[{0}][] to respawn in core
+respawn = [accent][[{0}][], щоб відродитися в ядрі
cancelbuilding = [accent][[{0}][], щоб очистити план
selectschematic = [accent][[{0}][], щоб вибрати та скопіювати
pausebuilding = [accent][[{0}][], щоб призупинити будування
@@ -330,9 +330,9 @@ waves.never = <ніколи>
waves.every = кожен
waves.waves = хвиля(і)
waves.perspawn = за появу
-waves.shields = shields/wave
+waves.shields = щитів за хвилю
waves.to = до
-waves.guardian = Guardian
+waves.guardian = Вартовий
waves.preview = Попередній перегляд
waves.edit = Редагувати…
waves.copy = Копіювати в буфер обміну
@@ -456,14 +456,14 @@ mapeditor = Редактор мап
abandon = Покинути
abandon.text = Ця зона і всі її ресурси будуть утрачені.
locked = Заблоковано
-complete = [lightgray]Досягнута:
+complete = [lightgray]Необхідно:
requirement.wave = Досягніть хвилі {0} у зоні «{1}»
requirement.core = Знищте вороже ядро у зоні «{0}»
requirement.unlock = Розблокуйте {0}
resume = Відновити зону:\n[lightgray]{0}
bestwave = [lightgray]Найкраща хвиля: {0}
launch = < ЗАПУСК >
-launch.text = Launch
+launch.text = Запуск
launch.title = Запуск вдалий
launch.next = [lightgray]наступна можливість буде на {0}-тій хвилі
launch.unable2 = [scarlet]ЗАПУСК неможливий.[]
@@ -471,8 +471,8 @@ launch.confirm = Це видалить всі ресурси у вашому я
launch.skip.confirm = Якщо ви пропустите зараз, ви не зможете не запускати до більш пізніх хвиль.
uncover = Розкрити
configure = Налаштувати вивантаження
-loadout = Loadout
-resources = Resources
+loadout = Вивантаження
+resources = Ресурси
bannedblocks = Заборонені блоки
addall = Додати все
configure.invalid = Кількість повинна бути числом між 0 та {0}.
@@ -496,29 +496,29 @@ error.io = Мережева помилка введення-виведення.
error.any = Невідома мережева помилка
error.bloom = Не вдалося ініціалізувати світіння.\nВаш пристрій, мабуть, не підтримує це.
-sector.groundZero.name = Ground Zero
-sector.craters.name = The Craters
-sector.frozenForest.name = Frozen Forest
-sector.ruinousShores.name = Ruinous Shores
-sector.stainedMountains.name = Stained Mountains
-sector.desolateRift.name = Desolate Rift
-sector.nuclearComplex.name = Nuclear Production Complex
-sector.overgrowth.name = Overgrowth
-sector.tarFields.name = Tar Fields
-sector.saltFlats.name = Salt Flats
-sector.fungalPass.name = Fungal Pass
+sector.groundZero.name = Відправний пункт
+sector.craters.name = Кратери
+sector.frozenForest.name = Крижаний ліс
+sector.ruinousShores.name = Зруйновані береги
+sector.stainedMountains.name = Плямисті гори
+sector.desolateRift.name = Спустошена ущелина
+sector.nuclearComplex.name = Ядерний виробничий комплекс
+sector.overgrowth.name = Зарості
+sector.tarFields.name = Дьогтьові поля
+sector.saltFlats.name = Соляні рівнини
+sector.fungalPass.name = Грибний перевал
+
+sector.groundZero.description = Оптимальне місце для повторних ігор. Низька ворожа загроза. Мало ресурсів.\nЗбирайте якомога більше свинцю та міді.\nНе затримуйтесь і йдіть далі.
+sector.frozenForest.description = Спори поширилися навіть тут, ближче до гір. Холодна температура не може стримувати їх завжди.\n\nЗважтесь створити енергію. Побудуйте генератори внутрішнього згорання. Навчіться користуватися регенераторами.
+sector.saltFlats.description = На околицях пустелі лежать Соляні рівнини. У цьому місці можна знайти небагато ресурсів.\n\nСаме тут противники спорудили комплекс сховищ ресурсів. Викорініть їхнє ядро. Не залишайте нічого цінного.
+sector.craters.description = У цьому кратері накопичилася вода, пережиток старих воєн. Відновіть місцевість. Зберіть пісок. Виплавте метаскло. Качайте воду, щоб охолодити турелі та бури.
+sector.ruinousShores.description = Саме берегова лінія є минулим цих відходів. Колись у цьому місці розташувався береговий оборонний масив. Проте залишилося не так багато чого. Тільки основні оборонні споруди залишилися неушкодженими, а все інше перетворилося на брухт.\nПродовжуйте експансію назовні. Повторно розкрийте технології.
+sector.stainedMountains.description = Якщо йти далі у вглиб материка, то можна побачити гори, які ще не заражені спорами.\nВидобудьте надлишковий титан у цій місцевості. Дізнайтеся, як використовувати його.\n\nНа жаль, тут більше противників ніж в інших місцевостях. Не дайте їм часу надіслати свої найсильніші одиниці.
+sector.overgrowth.description = Ближче до джерела спор є територія, що заросла.\nНе дивуйтеся, що противник встановив тут свій форпост. Побудуйте бойові одиниці під кодовою назвою «Титан». Зруйнуйте її. Поверніть те, що колись належало нам.
+sector.tarFields.description = Між горами та пустелею простягається окраїна зони видобутку нафти. Це один з небагатьох районів із корисними для використання запасами смоли.\nНе зважаючи на те, що територія покинута, вона має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]Якщо можливо, дослідіть технологію перероблювання нафти.
+sector.desolateRift.description = Надзвичайно небезпечна зона. Багато ресурсів, але мало місця. Високий ризик знищення. Евакуюватися потрібно якомога швидше. Не розслабляйтеся між ворожими атаками та знайдіть ахіллесову п’яту супротивника.
+sector.nuclearComplex.description = Колишній об’єкт для виробництва та перероблювання торію було зведено до руїн.\n[lightgray]Дослідіть торій та його нескінченну кількість застосувань.\n\n Противник, який постійно шукає нападників, присутній тут у великій кількості, тому не баріться з евакуацією.
-sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
-sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
-sector.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing.
-sector.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills.
-sector.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology.
-sector.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units.
-sector.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost.
-sector.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
-sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
-sector.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
-sector.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
settings.language = Мова
settings.data = Ігрові дані
@@ -535,7 +535,7 @@ settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить усі
paused = [accent]< Пауза>
clear = Очистити
banned = [scarlet]Заблоковано
-unplaceable.sectorcaptured = [scarlet]Requires captured sector
+unplaceable.sectorcaptured = [scarlet]Вимагає захопленого сектору
yes = Так
no = Ні
info.title = Інформація
@@ -581,8 +581,8 @@ blocks.reload = Постріли/секунду
blocks.ammo = Боєприпаси
bar.drilltierreq = Потребується кращий бур
-bar.noresources = Missing Resources
-bar.corereq = Core Base Required
+bar.noresources = Відсутні ресурси
+bar.corereq = Необхідне основне ядро
bar.drillspeed = Швидкість буріння: {0} за с.
bar.pumpspeed = Швидкість викачування: {0} за с.
bar.efficiency = Ефективність: {0}%
@@ -593,7 +593,7 @@ bar.poweroutput = Вихідна енергія: {0}
bar.items = Предмети: {0}
bar.capacity = Місткість: {0}
bar.unitcap = {0} {1}/{2}
-bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[unit disabled]
+bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[одиниця вимкнена]
bar.liquid = Рідина
bar.heat = Нагрівання
bar.power = Енергія
@@ -627,6 +627,7 @@ unit.percent = %
unit.items = предм.
unit.thousands = тис
unit.millions = млн
+unit.billions = млрд
category.general = Загальне
category.power = Енергія
category.liquids = Рідини
@@ -641,7 +642,7 @@ setting.linear.name = Лінійна фільтрація
setting.hints.name = Підказки
setting.flow.name = Показувати темп швидкості ресурсів
setting.buildautopause.name = Автоматичне призупинення будування
-setting.mapcenter.name = Auto Center Map To Player
+setting.mapcenter.name = Автоматичне центрування мапи на гравця
setting.animatedwater.name = Анімаційні рідини
setting.animatedshields.name = Анімаційні щити
setting.antialias.name = Згладжування[lightgray] (потребує перезапуску)[]
@@ -674,12 +675,12 @@ setting.milliseconds = {0} мілісекунд
setting.fullscreen.name = Повноекранний режим
setting.borderlesswindow.name = Вікно без полів[lightgray] (може потребувати перезапуску)
setting.fps.name = Показувати FPS і затримку до сервера
-setting.smoothcamera.name = Smooth Camera
+setting.smoothcamera.name = Гладка камера
setting.blockselectkeys.name = Показувати клавіші вибору блока
setting.vsync.name = Вертикальна синхронізація
setting.pixelate.name = Пікселізація
setting.minimap.name = Показувати мінімапу
-setting.coreitems.name = Display Core Items (WIP)
+setting.coreitems.name = Показувати предмети в ядрі (в роботі)
setting.position.name = Показувати координати гравця
setting.musicvol.name = Гучність музики
setting.atmosphere.name = Показувати планетарну атмосферу
@@ -705,13 +706,13 @@ keybinds.mobile = [scarlet]Більшість прив’язаних клаві
category.general.name = Загальне
category.view.name = Перегляд
category.multiplayer.name = Мережева гра
-category.blocks.name = Block Select
+category.blocks.name = Вибір блока
command.attack = Атака
command.rally = Точка збору
command.retreat = Відступити
placement.blockselectkeys = \n[lightgray]Ключ: [{0},
-keybind.respawn.name = Respawn
-keybind.control.name = Control Unit
+keybind.respawn.name = Відродження
+keybind.control.name = Контролювання одиниці
keybind.clear_building.name = Очистити план будування
keybind.press = Натисніть клавішу…
keybind.press.axis = Натисніть клавішу…
@@ -784,7 +785,7 @@ rules.waves = Хвилі
rules.attack = Режим атаки
rules.enemyCheat = Нескінченні ресурси для червоної команди ШІ
rules.blockhealthmultiplier = Множник здоров’я блоків
-rules.blockdamagemultiplier = Block Damage Multiplier
+rules.blockdamagemultiplier = Множник шкоди блоків
rules.unitbuildspeedmultiplier = Множник швидкості виробництва бойових одиниць
rules.unithealthmultiplier = Множник здоров’я бойових одиниць
rules.unitdamagemultiplier = Множник шкоди бойових одиниць
@@ -795,13 +796,13 @@ rules.buildspeedmultiplier = Множник швидкості будуванн
rules.deconstructrefundmultiplier = Множник відшкодування при демонтажі
rules.waitForWaveToEnd = Хвилі чекають на завершення попередньої
rules.dropzoneradius = Радіус зони висадки:[lightgray] (у плитках)
-rules.unitammo = Units Require Ammo
+rules.unitammo = Бойові одиниці потребують боєприпасів
rules.title.waves = Хвилі
rules.title.resourcesbuilding = Ресурси & будування
rules.title.enemy = Противники
rules.title.unit = Бойові одиниці
rules.title.experimental = Експериментальне
-rules.title.environment = Environment
+rules.title.environment = Середовище
rules.lighting = Світлотінь
rules.ambientlight = Навколишнє світло
rules.solarpowermultiplier = Множник сонячної енергії
@@ -841,37 +842,36 @@ unit.minespeed = [lightgray]Швидкість видобутку: {0} %
unit.minepower = [lightgray]Потужність видобутку: {0}
unit.ability = [lightgray]Здібність: {0}
unit.buildspeed = [lightgray]Швидкість будування: {0} %
-
liquid.heatcapacity = [lightgray]Теплоємність: {0}
liquid.viscosity = [lightgray]В’язкість: {0}
liquid.temperature = [lightgray]Температура: {0}
unit.dagger.name = Кинджал
-unit.mace.name = Mace
+unit.mace.name = Булава
unit.fortress.name = Фортеця
-unit.nova.name = Nova
-unit.pulsar.name = Pulsar
-unit.quasar.name = Quasar
+unit.nova.name = Нова
+unit.pulsar.name = Пульсар
+unit.quasar.name = Квазар
unit.crawler.name = Камікадзе
-unit.atrax.name = Atrax
-unit.spiroct.name = Spiroct
-unit.arkyid.name = Arkyid
-unit.flare.name = Flare
-unit.horizon.name = Horizon
-unit.zenith.name = Zenith
-unit.antumbra.name = Antumbra
-unit.eclipse.name = Eclipse
-unit.mono.name = Mono
-unit.poly.name = Poly
-unit.mega.name = Mega
-unit.risso.name = Risso
-unit.minke.name = Minke
-unit.bryde.name = Bryde
-unit.alpha.name = Alpha
-unit.beta.name = Beta
-unit.gamma.name = Gamma
+unit.atrax.name = Атракс
+unit.spiroct.name = Павучник
+unit.arkyid.name = Аркиїд
+unit.flare.name = Фальшфейєр
+unit.horizon.name = Горизонт
+unit.zenith.name = Зеніт
+unit.antumbra.name = Тіньовик
+unit.eclipse.name = Затьмарник
+unit.mono.name = Єдинак
+unit.poly.name = Багацько
+unit.mega.name = Мега
+unit.risso.name = Грампус
+unit.minke.name = Смугач малий
+unit.bryde.name = Смугач Брайда
+unit.alpha.name = Альфа
+unit.beta.name = Бета
+unit.gamma.name = Гамма
-block.parallax.name = Parallax
+block.parallax.name = Паралакс
block.cliff.name = Скеля
block.sand-boulder.name = Пісочний валун
block.grass.name = Трава
@@ -1054,19 +1054,19 @@ block.meltdown.name = Розплавлювач
block.container.name = Сховище
block.launch-pad.name = Стартовий майданчик
block.launch-pad-large.name = Великий стартовий майданчик
-block.segment.name = Segment
-block.ground-factory.name = Ground Factory
-block.air-factory.name = Air Factory
-block.naval-factory.name = Naval Factory
-block.additive-reconstructor.name = Additive Reconstructor
-block.multiplicative-reconstructor.name = Multiplicative Reconstructor
-block.exponential-reconstructor.name = Exponential Reconstructor
-block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
-block.payload-router.name = Payload Router
-block.disassembler.name = Disassembler
-block.silicon-crucible.name = Silicon Crucible
-block.large-overdrive-projector.name = Large Overdrive Projector
+block.segment.name = Сегмент
+block.ground-factory.name = Наземний завод
+block.air-factory.name = Повітряний завод
+block.naval-factory.name = Морський завод
+block.additive-reconstructor.name = Додавальний реконструктор
+block.multiplicative-reconstructor.name = Примножувальний реконструктор
+block.exponential-reconstructor.name = Експоненційний реконструктор
+block.tetrative-reconstructor.name = Тетративний реконструктор
+block.payload-conveyor.name = Вантажний конвеєр
+block.payload-router.name = Розвантажувальний маршрутизатор
+block.disassembler.name = Розбирач
+block.silicon-crucible.name = Кремнієвий тигель
+block.large-overdrive-projector.name = Великий прискорювач
team.blue.name = Синя
team.crux.name = Червона
team.sharded.name = Помаранчева
@@ -1136,10 +1136,10 @@ block.pulverizer.description = Подрібнює брухт у дрібний
block.coal-centrifuge.description = Нафта перетворюється у шматки вугілля.
block.incinerator.description = Випаровує будь-який зайвий предмет або рідину, які він отримує.
block.power-void.description = Знищує будь-яку енергію, до якої він під’єднаний. Тільки пісочниця.
-block.power-source.description = Нескінченно виводить енергію. Тільки пісочниця.
-block.item-source.description = Нескінченно виводить предмети. Тільки пісочниця.
+block.power-source.description = Постійно створює енергію. Тільки пісочниця.
+block.item-source.description = Постійно створює предмети. Тільки пісочниця.
block.item-void.description = Знищує будь-які предмети. Тільки пісочниця.
-block.liquid-source.description = Нескінченно виводить рідини. Тільки пісочниця.
+block.liquid-source.description = Постійно створює рідини. Тільки пісочниця.
block.liquid-void.description = Видаляє будь-які рідини. Тільки пісочниця.
block.copper-wall.description = Дешевий захисний блок.\nКорисний для захисту ядра та башт у перші кілька хвиль.
block.copper-wall-large.description = Дешевий захисний блок.\nКорисний для захисту ядра та башт у перші кілька хвиль.\nЗаймає декілька плиток.
@@ -1199,7 +1199,7 @@ block.solar-panel.description = Забезпечує невелику кільк
block.solar-panel-large.description = Значно ефективніша версія стандартної сонячної панелі.
block.thorium-reactor.description = Виробляє значну кількість енергії з торію. Вимагає постійного охолодження. Сильно вибухне, якщо подаватиметься недостатня кількість теплоносія. Вихідна потужність залежить від заповненості, базова потужність генерується на повній місткості.
block.impact-reactor.description = Удосконалений генератор, здатний створювати величезну кількість енергії при максимальній ефективності. Для запуску процесу потрібно значні обсяги енергії.
-block.mechanical-drill.description = Недорогий бур. Якщо розмістити на доречних плитках, то буде виводити предмети повільним темпом нескінченно. Придатний лише для базових ресурсів.
+block.mechanical-drill.description = Недорогий бур. Якщо розмістити на доречних плитках, то виводитиме предмети постійно, але повільно. Придатний лише для базових ресурсів.
block.pneumatic-drill.description = Поліпшений бур, здатний добувати титан. Видобуває швидше, ніж механічний бур.
block.laser-drill.description = Дозволяє виконувати буріння ще швидше за допомогою лазерної технології, але вимагає енергії. Придатний до видобутку торію.
block.blast-drill.description = Найкращий бур. Потрібна велика кількість енергії.
@@ -1215,10 +1215,10 @@ block.unloader.description = Вивантажує предмети з блока
block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра. Стартовий майданчик дозволяє вам запускати ресурси кожні n секунд без необхідності завершувати гру. Просто подайте у нього ресурси та забезпечте енергією.
block.launch-pad-large.description = Поліпшена версія стартового майданчика. Зберігає більше предметів. Запускається частіше.
block.duo.description = Мала і дешева башта. Корисна проти наземних одиниць.
-block.scatter.description = Основна протиповітряна башта. Розпилює грудочки свинцю, брухту чи метаскла у противників.
+block.scatter.description = Основна протиповітряна башта. Вистрілює грудочки свинцю, брухту чи метаскла у противників.
block.scorch.description = Підпалює будь-яких наземних противників поблизу. Високоефективна на близькій відстані.
block.hail.description = Невелика артилерійська башта з далеким радіусом дії.
-block.wave.description = Башта середнього розміру. Стріляє потоками рідини в противників. Автоматично гасить пожежі при постачанні води.
+block.wave.description = Башта середнього розміру. Випускає потоками рідини в противників. Автоматично гасить пожежі при постачанні води.
block.lancer.description = Лазерна башта середнього розміру, яка атакує наземних противників. Заряджає і вистрілює потужні пучки енергії.
block.arc.description = Невелика електрична башта з малим радіусом дії. Стріляє дугами електрики у противників.
block.swarmer.description = Ракетна башта середнього розміру. Атакує як повітряних, так і наземних противників. Запускає ракети, які летять у противників самостійно.
@@ -1229,4 +1229,4 @@ block.cyclone.description = Велика протиповітряна та пр
block.spectre.description = Масивна двоствольна гармата. Стріляє великими бронебійними кулями в повітряні та наземні цілі.
block.meltdown.description = Масивна лазерна гармата. Заряджає і стріляє лазерним променем у найближчих противників. Для роботи потрібен теплоносій.
block.repair-point.description = Безперервно ремонтує найближчу пошкоджену бойову одиницю.
-block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted.
+block.segment.description = Пошкоджує та руйнує вхідні снаряди. Окрім лазерних.
diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties
index 50d2e80615..13cf2709e2 100644
--- a/core/assets/bundles/bundle_zh_CN.properties
+++ b/core/assets/bundles/bundle_zh_CN.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties
index 23e2ab2467..ea90067971 100644
--- a/core/assets/bundles/bundle_zh_TW.properties
+++ b/core/assets/bundles/bundle_zh_TW.properties
@@ -1062,7 +1062,7 @@ block.additive-reconstructor.name = Additive Reconstructor
block.multiplicative-reconstructor.name = Multiplicative Reconstructor
block.exponential-reconstructor.name = Exponential Reconstructor
block.tetrative-reconstructor.name = Tetrative Reconstructor
-block.mass-conveyor.name = Mass Conveyor
+block.payload-conveyor.name = Mass Conveyor
block.payload-router.name = Payload Router
block.disassembler.name = Disassembler
block.silicon-crucible.name = Silicon Crucible
diff --git a/core/assets/fonts/font.woff b/core/assets/fonts/font.woff
index a494ce2f71..7960523d0f 100644
Binary files a/core/assets/fonts/font.woff and b/core/assets/fonts/font.woff differ
diff --git a/core/assets/fonts/icon.ttf b/core/assets/fonts/icon.ttf
index 0cde9685b5..4b61658e65 100644
Binary files a/core/assets/fonts/icon.ttf and b/core/assets/fonts/icon.ttf differ
diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties
index e3f0ff09f8..278b00dc51 100755
--- a/core/assets/icons/icons.properties
+++ b/core/assets/icons/icons.properties
@@ -283,3 +283,7 @@
63461=logic-processor|block-logic-processor-medium
63460=micro-processor|block-micro-processor-medium
63459=logic-display|block-logic-display-medium
+63458=switch|block-switch-medium
+63457=memory-cell|block-memory-cell-medium
+63456=payload-conveyor|block-payload-conveyor-medium
+63455=hyper-processor|block-hyper-processor-medium
diff --git a/core/assets/maps/craters.msav b/core/assets/maps/craters.msav
index c0bd73e09b..b879701ae6 100644
Binary files a/core/assets/maps/craters.msav and b/core/assets/maps/craters.msav differ
diff --git a/core/assets/maps/desolateRift.msav b/core/assets/maps/desolateRift.msav
index d140c9e5ba..ca3181301a 100644
Binary files a/core/assets/maps/desolateRift.msav and b/core/assets/maps/desolateRift.msav differ
diff --git a/core/assets/maps/frozenForest.msav b/core/assets/maps/frozenForest.msav
index 21e75e565b..a2a1f52354 100644
Binary files a/core/assets/maps/frozenForest.msav and b/core/assets/maps/frozenForest.msav differ
diff --git a/core/assets/maps/fungalPass.msav b/core/assets/maps/fungalPass.msav
index f5403ec8c3..2415d16ae4 100644
Binary files a/core/assets/maps/fungalPass.msav and b/core/assets/maps/fungalPass.msav differ
diff --git a/core/assets/maps/nuclearComplex.msav b/core/assets/maps/nuclearComplex.msav
index 4ce3e3484e..fe8b36e26a 100644
Binary files a/core/assets/maps/nuclearComplex.msav and b/core/assets/maps/nuclearComplex.msav differ
diff --git a/core/assets/maps/overgrowth.msav b/core/assets/maps/overgrowth.msav
index 56dddd5bae..b65b8e4818 100644
Binary files a/core/assets/maps/overgrowth.msav and b/core/assets/maps/overgrowth.msav differ
diff --git a/core/assets/maps/ruinousShores.msav b/core/assets/maps/ruinousShores.msav
index 9d8708c6f0..a0ef267a99 100644
Binary files a/core/assets/maps/ruinousShores.msav and b/core/assets/maps/ruinousShores.msav differ
diff --git a/core/assets/maps/saltFlats.msav b/core/assets/maps/saltFlats.msav
index 83debe54dd..9a70ba342a 100644
Binary files a/core/assets/maps/saltFlats.msav and b/core/assets/maps/saltFlats.msav differ
diff --git a/core/assets/maps/stainedMountains.msav b/core/assets/maps/stainedMountains.msav
index 07d2d6ad81..c627b0917e 100644
Binary files a/core/assets/maps/stainedMountains.msav and b/core/assets/maps/stainedMountains.msav differ
diff --git a/core/assets/maps/tarFields.msav b/core/assets/maps/tarFields.msav
index e4a99d71bf..06eaed164d 100644
Binary files a/core/assets/maps/tarFields.msav and b/core/assets/maps/tarFields.msav differ
diff --git a/core/assets/planets/colors.png b/core/assets/planets/colors.png
deleted file mode 100644
index 5efd5d38e0..0000000000
Binary files a/core/assets/planets/colors.png and /dev/null differ
diff --git a/core/assets/planets/serpulo.dat b/core/assets/planets/serpulo.dat
index aa856cce4d..d31bf6c11c 100644
Binary files a/core/assets/planets/serpulo.dat and b/core/assets/planets/serpulo.dat differ
diff --git a/core/assets/scripts/base.js b/core/assets/scripts/base.js
index 3d8073e48e..c6d7be846b 100755
--- a/core/assets/scripts/base.js
+++ b/core/assets/scripts/base.js
@@ -5,8 +5,9 @@ const log = function(context, obj){
}
const readString = path => Vars.mods.getScripts().readString(path)
-
const readBytes = path => Vars.mods.getScripts().readBytes(path)
+const loadMusic = path => Vars.mods.getScripts().loadMusic(path)
+const loadSound = path => Vars.mods.getScripts().loadSound(path)
var scriptName = "base.js"
var modName = "none"
@@ -21,5 +22,15 @@ const extend = function(classType, params){
return new JavaAdapter(classType, params)
}
+//these are not sctrictly necessary, but are kept for edge cases
+const run = method => new java.lang.Runnable(){run: method}
+const boolf = method => new Boolf(){get: method}
+const boolp = method => new Boolp(){get: method}
+const floatf = method => new Floatf(){get: method}
+const floatp = method => new Floatp(){get: method}
+const cons = method => new Cons(){get: method}
+const prov = method => new Prov(){get: method}
+const func = method => new Func(){get: method}
+
const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer}))
Call = Packages.mindustry.gen.Call
diff --git a/core/assets/scripts/global.js b/core/assets/scripts/global.js
index daeaa17942..04ebb37a27 100755
--- a/core/assets/scripts/global.js
+++ b/core/assets/scripts/global.js
@@ -7,8 +7,9 @@ const log = function(context, obj){
}
const readString = path => Vars.mods.getScripts().readString(path)
-
const readBytes = path => Vars.mods.getScripts().readBytes(path)
+const loadMusic = path => Vars.mods.getScripts().loadMusic(path)
+const loadSound = path => Vars.mods.getScripts().loadSound(path)
var scriptName = "base.js"
var modName = "none"
@@ -23,6 +24,16 @@ const extend = function(classType, params){
return new JavaAdapter(classType, params)
}
+//these are not sctrictly necessary, but are kept for edge cases
+const run = method => new java.lang.Runnable(){run: method}
+const boolf = method => new Boolf(){get: method}
+const boolp = method => new Boolp(){get: method}
+const floatf = method => new Floatf(){get: method}
+const floatp = method => new Floatp(){get: method}
+const cons = method => new Cons(){get: method}
+const prov = method => new Prov(){get: method}
+const func = method => new Func(){get: method}
+
const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer}))
Call = Packages.mindustry.gen.Call
@@ -30,6 +41,7 @@ importPackage(Packages.arc)
importPackage(Packages.arc.func)
importPackage(Packages.arc.graphics)
importPackage(Packages.arc.graphics.g2d)
+importPackage(Packages.arc.graphics.gl)
importPackage(Packages.arc.math)
importPackage(Packages.arc.math.geom)
importPackage(Packages.arc.scene)
@@ -82,6 +94,7 @@ importPackage(Packages.mindustry.world.blocks.environment)
importPackage(Packages.mindustry.world.blocks.experimental)
importPackage(Packages.mindustry.world.blocks.legacy)
importPackage(Packages.mindustry.world.blocks.liquid)
+importPackage(Packages.mindustry.world.blocks.logic)
importPackage(Packages.mindustry.world.blocks.payloads)
importPackage(Packages.mindustry.world.blocks.power)
importPackage(Packages.mindustry.world.blocks.production)
@@ -113,14 +126,12 @@ const UnlockEvent = Packages.mindustry.game.EventType.UnlockEvent
const StateChangeEvent = Packages.mindustry.game.EventType.StateChangeEvent
const BuildinghangeEvent = Packages.mindustry.game.EventType.BuildinghangeEvent
const GameOverEvent = Packages.mindustry.game.EventType.GameOverEvent
-const TapConfigEvent = Packages.mindustry.game.EventType.TapConfigEvent
-const TapEvent = Packages.mindustry.game.EventType.TapEvent
+const ConfigEvent = Packages.mindustry.game.EventType.ConfigEvent
const DepositEvent = Packages.mindustry.game.EventType.DepositEvent
const WithdrawEvent = Packages.mindustry.game.EventType.WithdrawEvent
const SectorCaptureEvent = Packages.mindustry.game.EventType.SectorCaptureEvent
-const ZoneConfigureCompleteEvent = Packages.mindustry.game.EventType.ZoneConfigureCompleteEvent
-const ZoneRequireCompleteEvent = Packages.mindustry.game.EventType.ZoneRequireCompleteEvent
const PlayerChatEvent = Packages.mindustry.game.EventType.PlayerChatEvent
+const ClientPreConnectEvent = Packages.mindustry.game.EventType.ClientPreConnectEvent
const CommandIssueEvent = Packages.mindustry.game.EventType.CommandIssueEvent
const LaunchItemEvent = Packages.mindustry.game.EventType.LaunchItemEvent
const SectorLoseEvent = Packages.mindustry.game.EventType.SectorLoseEvent
diff --git a/core/assets/sounds/press.ogg b/core/assets/sounds/press.ogg
index 419cd38847..7085dc00a0 100644
Binary files a/core/assets/sounds/press.ogg and b/core/assets/sounds/press.ogg differ
diff --git a/core/assets/sprites/block_colors.png b/core/assets/sprites/block_colors.png
index f790ea4ac8..b93360e858 100644
Binary files a/core/assets/sprites/block_colors.png and b/core/assets/sprites/block_colors.png differ
diff --git a/core/assets/sprites/fallback/sprites.atlas b/core/assets/sprites/fallback/sprites.atlas
index 2c57ed0f79..0410a7e3fe 100644
--- a/core/assets/sprites/fallback/sprites.atlas
+++ b/core/assets/sprites/fallback/sprites.atlas
@@ -6,427 +6,399 @@ filter: nearest,nearest
repeat: none
white-tree
rotate: false
- xy: 323, 1720
+ xy: 1, 389
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
white-tree-dead
rotate: false
- xy: 645, 1720
+ xy: 1322, 1705
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
-core-nucleus
+white-tree-dead-shadow
rotate: false
- xy: 1873, 364
- size: 160, 160
- orig: 160, 160
+ xy: 1, 1677
+ size: 353, 348
+ orig: 353, 348
+ offset: 0, 0
+ index: -1
+white-tree-shadow
+ rotate: false
+ xy: 1, 1677
+ size: 353, 348
+ orig: 353, 348
offset: 0, 0
index: -1
exponential-reconstructor
rotate: false
- xy: 323, 204
+ xy: 1387, 479
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
exponential-reconstructor-top
rotate: false
- xy: 549, 204
+ xy: 1387, 253
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
factory-in-7
rotate: false
- xy: 775, 10
+ xy: 549, 33
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
factory-in-9
rotate: false
- xy: 323, 1140
+ xy: 613, 835
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
factory-out-7
rotate: false
- xy: 1001, 462
+ xy: 1613, 963
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
factory-out-9
rotate: false
- xy: 613, 1140
+ xy: 903, 1125
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
tetrative-reconstructor
rotate: false
- xy: 1193, 1172
+ xy: 1193, 1415
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
tetrative-reconstructor-top
rotate: false
- xy: 1483, 1172
+ xy: 613, 545
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
circle-shadow
rotate: false
- xy: 323, 1
+ xy: 1387, 50
size: 201, 201
orig: 201, 201
offset: 0, 0
index: -1
antumbra-wreck0
rotate: false
- xy: 1437, 446
+ xy: 1613, 479
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
antumbra-wreck1
rotate: false
- xy: 1655, 446
+ xy: 1831, 479
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
antumbra-wreck2
rotate: false
- xy: 1437, 204
+ xy: 1613, 237
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
-block-core-nucleus-full
- rotate: false
- xy: 1837, 1492
- size: 160, 160
- orig: 160, 160
- offset: 0, 0
- index: -1
block-exponential-reconstructor-full
rotate: false
- xy: 839, 688
+ xy: 1161, 899
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
-block-multiplicative-reconstructor-full
- rotate: false
- xy: 1873, 526
- size: 160, 160
- orig: 160, 160
- offset: 0, 0
- index: -1
block-tetrative-reconstructor-full
rotate: false
- xy: 967, 1752
+ xy: 1, 99
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-6-0
rotate: false
- xy: 526, 10
+ xy: 1590, 43
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-1
rotate: false
- xy: 1001, 26
+ xy: 1784, 43
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-2
rotate: false
- xy: 1195, 26
+ xy: 775, 97
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-3
rotate: false
- xy: 1837, 1848
+ xy: 969, 27
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-4
rotate: false
- xy: 1837, 1654
- size: 192, 192
- orig: 192, 192
- offset: 0, 0
- index: -1
-cracks-6-5
- rotate: false
- xy: 1389, 10
- size: 192, 192
- orig: 192, 192
- offset: 0, 0
- index: -1
-cracks-6-6
- rotate: false
- xy: 1583, 10
- size: 192, 192
- orig: 192, 192
- offset: 0, 0
- index: -1
-cracks-6-7
- rotate: false
- xy: 1777, 10
+ xy: 1163, 27
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-7-0
rotate: false
- xy: 323, 656
+ xy: 1161, 673
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-1
rotate: false
- xy: 549, 656
+ xy: 1161, 447
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-2
rotate: false
- xy: 1065, 688
+ xy: 1161, 221
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-3
rotate: false
- xy: 1291, 688
+ xy: 1451, 1189
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-4
rotate: false
- xy: 775, 462
+ xy: 1741, 1253
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-5
rotate: false
- xy: 323, 430
+ xy: 581, 291
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-6
rotate: false
- xy: 549, 430
+ xy: 1387, 931
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-7
rotate: false
- xy: 775, 236
+ xy: 1387, 705
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-8-0
rotate: false
- xy: 1773, 1204
+ xy: 903, 867
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-1
rotate: false
- xy: 1773, 946
+ xy: 1193, 1157
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-2
rotate: false
- xy: 903, 914
+ xy: 903, 609
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-3
rotate: false
- xy: 323, 882
+ xy: 1483, 1447
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-4
rotate: false
- xy: 581, 882
+ xy: 1741, 1479
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-5
rotate: false
- xy: 1161, 914
+ xy: 323, 259
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-6
rotate: false
- xy: 1419, 914
+ xy: 291, 1
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-7
rotate: false
- xy: 1677, 688
+ xy: 903, 351
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-9-0
rotate: false
- xy: 1257, 1752
+ xy: 1644, 1737
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-1
rotate: false
- xy: 1547, 1752
+ xy: 323, 1387
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-2
rotate: false
- xy: 967, 1462
+ xy: 323, 1097
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-3
rotate: false
- xy: 323, 1430
+ xy: 323, 807
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-4
rotate: false
- xy: 613, 1430
+ xy: 323, 517
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-5
rotate: false
- xy: 1257, 1462
+ xy: 613, 1415
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-6
rotate: false
- xy: 1547, 1462
+ xy: 613, 1125
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-7
rotate: false
- xy: 903, 1172
+ xy: 903, 1415
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
eclipse-wreck0
rotate: false
- xy: 1, 1076
+ xy: 1, 1033
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
eclipse-wreck1
rotate: false
- xy: 1, 754
+ xy: 678, 1705
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
eclipse-wreck2
rotate: false
- xy: 1, 432
+ xy: 1, 711
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
unit-antumbra-full
rotate: false
- xy: 1655, 204
+ xy: 1831, 237
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
unit-eclipse-full
rotate: false
- xy: 1, 110
+ xy: 1000, 1705
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
circle
rotate: false
- xy: 1227, 485
+ xy: 1839, 1050
size: 201, 201
orig: 201, 201
offset: 0, 0
index: -1
antumbra
rotate: false
- xy: 1001, 220
+ xy: 1613, 721
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
antumbra-cell
rotate: false
- xy: 1219, 220
+ xy: 1831, 721
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
eclipse
rotate: false
- xy: 1, 1720
+ xy: 1, 1355
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
eclipse-cell
rotate: false
- xy: 1, 1398
+ xy: 356, 1705
size: 320, 320
orig: 320, 320
offset: 0, 0
@@ -439,5634 +411,5410 @@ filter: nearest,nearest
repeat: none
core-silo
rotate: false
- xy: 1, 1560
+ xy: 713, 1887
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
launch-pad
rotate: false
- xy: 1041, 1414
+ xy: 1239, 1199
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
launch-pad-large
rotate: false
- xy: 423, 914
+ xy: 1657, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
launch-pad-light
rotate: false
- xy: 1041, 1316
+ xy: 1239, 1101
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
launchpod
rotate: false
- xy: 853, 218
+ xy: 809, 261
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
force-projector
rotate: false
- xy: 1759, 1622
+ xy: 929, 711
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
force-projector-top
rotate: false
- xy: 1857, 1720
+ xy: 1027, 709
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
mend-projector
rotate: false
- xy: 967, 681
+ xy: 941, 243
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mend-projector-top
rotate: false
- xy: 1033, 681
+ xy: 1007, 309
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-mender
- rotate: false
- xy: 1913, 46
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-mender-top
- rotate: false
- xy: 1947, 114
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
overdrive-dome
rotate: false
- xy: 1433, 1426
+ xy: 1741, 1317
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
overdrive-dome-top
rotate: false
- xy: 1433, 1328
+ xy: 1839, 1341
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
overdrive-projector
rotate: false
- xy: 1099, 681
+ xy: 941, 177
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
overdrive-projector-top
rotate: false
- xy: 1165, 731
+ xy: 1007, 243
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-loader
rotate: false
- xy: 975, 1708
+ xy: 749, 1121
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-unloader
rotate: false
- xy: 1171, 1708
+ xy: 423, 195
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-bridge-arrow
- rotate: false
- xy: 1733, 302
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-bridge-conveyor
- rotate: false
- xy: 1733, 268
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-bridge-conveyor-bridge
- rotate: false
- xy: 1699, 234
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-bridge-conveyor-end
- rotate: false
- xy: 1665, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-center
- rotate: false
- xy: 1631, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
armored-conveyor-0-0
rotate: false
- xy: 2015, 1162
+ xy: 229, 31
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-armored-conveyor-full
rotate: false
- xy: 2015, 1162
+ xy: 229, 31
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-0-1
rotate: false
- xy: 1495, 617
+ xy: 929, 11
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-0-2
rotate: false
- xy: 1581, 506
+ xy: 963, 11
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-0-3
rotate: false
- xy: 1855, 662
+ xy: 997, 11
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-1-0
rotate: false
- xy: 1581, 472
+ xy: 1031, 11
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-1-1
rotate: false
- xy: 1581, 438
+ xy: 1065, 11
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-1-2
rotate: false
- xy: 733, 580
+ xy: 1411, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-1-3
rotate: false
- xy: 1893, 692
+ xy: 1955, 281
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-2-0
rotate: false
- xy: 1889, 658
+ xy: 1955, 247
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-2-1
rotate: false
- xy: 1623, 574
+ xy: 2000, 547
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-2-2
rotate: false
- xy: 1657, 574
+ xy: 2000, 513
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-2-3
rotate: false
- xy: 1623, 540
+ xy: 2000, 479
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-3-0
rotate: false
- xy: 1615, 506
+ xy: 2000, 445
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-3-1
rotate: false
- xy: 1691, 574
+ xy: 2013, 979
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-3-2
rotate: false
- xy: 1657, 540
+ xy: 1913, 197
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-3-3
rotate: false
- xy: 1615, 472
+ xy: 1905, 163
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-4-0
rotate: false
- xy: 1649, 506
+ xy: 1905, 129
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-4-1
rotate: false
- xy: 1725, 574
+ xy: 1905, 95
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-4-2
rotate: false
- xy: 1691, 540
+ xy: 1955, 213
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-4-3
rotate: false
- xy: 1615, 438
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-0-1
- rotate: false
- xy: 1733, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-0-2
- rotate: false
- xy: 1767, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-0-3
- rotate: false
- xy: 1826, 404
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-1-0
- rotate: false
- xy: 1826, 370
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-1-1
- rotate: false
- xy: 1801, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-1-2
- rotate: false
- xy: 1801, 302
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-1-3
- rotate: false
- xy: 1801, 268
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-2-0
- rotate: false
- xy: 1801, 234
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-2-1
- rotate: false
- xy: 1801, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-2-2
- rotate: false
- xy: 1801, 166
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-2-3
- rotate: false
- xy: 1801, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-3-0
- rotate: false
- xy: 1835, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-3-1
- rotate: false
- xy: 1835, 302
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-3-2
- rotate: false
- xy: 1835, 268
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-3-3
- rotate: false
- xy: 1835, 234
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-4-0
- rotate: false
- xy: 1835, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-4-1
- rotate: false
- xy: 1835, 166
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-4-2
- rotate: false
- xy: 1835, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conveyor-4-3
- rotate: false
- xy: 1675, 98
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plastanium-conveyor
- rotate: false
- xy: 1989, 462
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plastanium-conveyor-0
- rotate: false
- xy: 1962, 428
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plastanium-conveyor-1
- rotate: false
- xy: 1962, 394
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plastanium-conveyor-2
- rotate: false
- xy: 1996, 428
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plastanium-conveyor-edge
- rotate: false
- xy: 1996, 394
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plastanium-conveyor-stack
- rotate: false
- xy: 1971, 360
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-cross
- rotate: false
- xy: 1777, 64
+ xy: 2000, 411
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
distributor
rotate: false
- xy: 787, 284
+ xy: 751, 393
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-inverted-sorter
+mass-driver-base
rotate: false
- xy: 1437, 848
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-junction
- rotate: false
- xy: 1903, 318
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-mass-conveyor
- rotate: false
- xy: 1041, 1218
+ xy: 1027, 513
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-mass-conveyor-edge
+payload-conveyor
rotate: false
- xy: 1139, 1218
+ xy: 1937, 1341
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-mass-conveyor-top
+payload-conveyor-edge
rotate: false
- xy: 1237, 1218
+ xy: 1839, 1243
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
+payload-conveyor-top
+ rotate: false
+ xy: 1937, 1243
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
payload-router-top
rotate: false
- xy: 1237, 1218
+ xy: 1937, 1243
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-mass-driver-base
- rotate: false
- xy: 1017, 1120
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
-overflow-gate
- rotate: false
- xy: 1913, 12
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
payload-router
rotate: false
- xy: 1531, 1426
+ xy: 1643, 1219
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
payload-router-edge
rotate: false
- xy: 1433, 1230
+ xy: 1741, 1219
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
payload-router-over
rotate: false
- xy: 1531, 1328
+ xy: 1839, 1145
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-phase-conveyor
- rotate: false
- xy: 1955, 530
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-phase-conveyor-arrow
- rotate: false
- xy: 1955, 496
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-phase-conveyor-bridge
- rotate: false
- xy: 1989, 530
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-phase-conveyor-end
- rotate: false
- xy: 1955, 462
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-router
- rotate: false
- xy: 2015, 54
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
blast-drill
rotate: false
- xy: 1, 400
+ xy: 305, 1437
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
blast-drill-rim
rotate: false
- xy: 1497, 1916
+ xy: 305, 1307
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
blast-drill-rotator
rotate: false
- xy: 1, 270
+ xy: 305, 1177
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
blast-drill-top
rotate: false
- xy: 1627, 1916
+ xy: 305, 1047
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
drill-top
rotate: false
- xy: 787, 86
+ xy: 677, 261
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-liquid
rotate: false
- xy: 787, 86
+ xy: 677, 261
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
laser-drill
rotate: false
- xy: 1857, 1524
+ xy: 1153, 1297
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
laser-drill-rim
rotate: false
- xy: 845, 1220
+ xy: 929, 613
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
laser-drill-rotator
rotate: false
- xy: 943, 1414
+ xy: 1027, 611
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
laser-drill-top
rotate: false
- xy: 943, 1316
+ xy: 1251, 1297
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
mechanical-drill
rotate: false
- xy: 967, 747
+ xy: 949, 375
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mechanical-drill-rotator
rotate: false
- xy: 1033, 747
+ xy: 1015, 375
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mechanical-drill-top
rotate: false
- xy: 1099, 747
+ xy: 941, 309
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
oil-extractor
rotate: false
- xy: 1335, 1414
+ xy: 1337, 1101
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
oil-extractor-liquid
rotate: false
- xy: 1335, 1316
+ xy: 1447, 1301
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
oil-extractor-rotator
rotate: false
- xy: 1335, 1218
+ xy: 1545, 1301
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
oil-extractor-top
rotate: false
- xy: 1311, 1120
+ xy: 1643, 1317
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
pneumatic-drill
rotate: false
- xy: 1429, 615
+ xy: 1063, 45
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
pneumatic-drill-rotator
rotate: false
- xy: 1941, 1090
+ xy: 1073, 309
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
pneumatic-drill-top
rotate: false
- xy: 1969, 1024
+ xy: 1073, 243
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
water-extractor
rotate: false
- xy: 1249, 533
+ xy: 1881, 947
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
water-extractor-liquid
rotate: false
- xy: 1117, 335
+ xy: 1815, 815
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
water-extractor-rotator
rotate: false
- xy: 1183, 401
+ xy: 1881, 881
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
water-extractor-top
rotate: false
- xy: 1249, 467
+ xy: 1947, 947
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-border
rotate: false
- xy: 1649, 438
+ xy: 1915, 61
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-middle
rotate: false
- xy: 1923, 658
+ xy: 1949, 61
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-select
rotate: false
- xy: 1631, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-liquid
- rotate: false
- xy: 1699, 166
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-message
- rotate: false
- xy: 1947, 80
+ xy: 1761, 32
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
place-arrow
rotate: false
- xy: 1531, 1230
+ xy: 1937, 1145
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-bridge-conduit
- rotate: false
- xy: 1699, 268
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-bridge-conduit-arrow
- rotate: false
- xy: 1665, 234
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-bridge-conveyor-arrow
- rotate: false
- xy: 1665, 234
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-bridge-conduit-bridge
- rotate: false
- xy: 1631, 166
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-bridge-conduit-end
- rotate: false
- xy: 1767, 302
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-bottom
- rotate: false
- xy: 1699, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-bottom-0
- rotate: false
- xy: 1665, 166
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-bottom-1
- rotate: false
- xy: 1767, 234
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-bottom-2
- rotate: false
- xy: 1733, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-bottom-3
- rotate: false
- xy: 1733, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-bottom-4
- rotate: false
- xy: 1733, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-top-0
- rotate: false
- xy: 1665, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-top-1
- rotate: false
- xy: 1767, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-top-2
- rotate: false
- xy: 1733, 166
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-top-3
- rotate: false
- xy: 1699, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-pulse-conduit-top-3
- rotate: false
- xy: 1699, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-conduit-top-4
- rotate: false
- xy: 1767, 166
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-junction
- rotate: false
- xy: 1903, 216
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-overflow-gate
- rotate: false
- xy: 1921, 522
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-overflow-gate-top
- rotate: false
- xy: 1921, 488
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-router-bottom
- rotate: false
- xy: 1921, 454
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-router-liquid
- rotate: false
- xy: 1928, 420
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-router-top
- rotate: false
- xy: 1928, 386
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
liquid-tank-bottom
rotate: false
- xy: 1139, 1414
+ xy: 537, 594
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
liquid-tank-liquid
rotate: false
- xy: 1139, 1316
+ xy: 635, 533
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
liquid-tank-top
rotate: false
- xy: 1237, 1414
+ xy: 733, 533
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-mechanical-pump
- rotate: false
- xy: 1937, 148
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-mechanical-pump-liquid
- rotate: false
- xy: 1913, 114
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-rotary-pump-liquid
- rotate: false
- xy: 1913, 114
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-thermal-pump-liquid
- rotate: false
- xy: 1913, 114
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-phase-conduit
- rotate: false
- xy: 1947, 12
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-phase-conduit-arrow
- rotate: false
- xy: 1929, 564
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-phase-conduit-bridge
- rotate: false
- xy: 1963, 564
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-phase-conduit-end
- rotate: false
- xy: 1997, 564
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plated-conduit-cap
- rotate: false
- xy: 1971, 292
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plated-conduit-top-0
- rotate: false
- xy: 1971, 258
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plated-conduit-top-1
- rotate: false
- xy: 1971, 224
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plated-conduit-top-2
- rotate: false
- xy: 1971, 190
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plated-conduit-top-3
- rotate: false
- xy: 1971, 156
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-plated-conduit-top-4
- rotate: false
- xy: 2005, 360
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-pulse-conduit-top-0
- rotate: false
- xy: 2005, 224
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-pulse-conduit-top-1
- rotate: false
- xy: 2005, 190
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-pulse-conduit-top-2
- rotate: false
- xy: 2005, 156
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-pulse-conduit-top-4
- rotate: false
- xy: 1981, 122
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
rotary-pump
rotate: false
- xy: 919, 483
+ xy: 1139, 150
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thermal-pump
rotate: false
- xy: 919, 1022
+ xy: 1321, 807
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-data-processor-top
+hyper-processor
rotate: false
- xy: 1367, 1622
+ xy: 831, 631
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
logic-display
rotate: false
- xy: 1237, 1316
+ xy: 831, 533
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
logic-processor
rotate: false
- xy: 853, 152
+ xy: 743, 129
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-logic-processor-3
- rotate: false
- xy: 943, 1218
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
-micro-processor
- rotate: false
- xy: 1947, 46
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
battery
rotate: false
- xy: 1649, 472
+ xy: 1983, 377
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
battery-large
rotate: false
- xy: 623, 378
+ xy: 1867, 1439
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
battery-large-top
rotate: false
- xy: 623, 280
+ xy: 663, 1317
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
battery-top
rotate: false
- xy: 1683, 506
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-combustion-generator
- rotate: false
- xy: 1767, 268
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-combustion-generator-top
- rotate: false
- xy: 1733, 234
+ xy: 1813, 44
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
differential-generator
rotate: false
- xy: 1465, 1720
+ xy: 733, 827
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
differential-generator-liquid
rotate: false
- xy: 1367, 1524
+ xy: 831, 925
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
differential-generator-top
rotate: false
- xy: 1465, 1622
+ xy: 733, 729
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-diode
- rotate: false
- xy: 1811, 98
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-diode-arrow
- rotate: false
- xy: 1777, 30
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-illuminator
- rotate: false
- xy: 1845, 30
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-illuminator-top
- rotate: false
- xy: 1395, 882
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
impact-reactor
rotate: false
- xy: 261, 394
+ xy: 747, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-bottom
rotate: false
- xy: 261, 264
+ xy: 877, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-light
rotate: false
- xy: 261, 134
+ xy: 1007, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-plasma-0
rotate: false
- xy: 261, 4
+ xy: 1137, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-plasma-1
rotate: false
- xy: 455, 1304
+ xy: 1267, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-plasma-2
rotate: false
- xy: 447, 1174
+ xy: 1397, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-plasma-3
rotate: false
- xy: 435, 1044
+ xy: 1527, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
-power-node
- rotate: false
- xy: 2005, 326
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
power-node-large
rotate: false
- xy: 869, 615
+ xy: 1073, 177
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-power-source
- rotate: false
- xy: 2005, 292
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-power-void
- rotate: false
- xy: 2005, 258
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
rtg-generator
rotate: false
- xy: 985, 549
+ xy: 1139, 84
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-rtg-generator-top
- rotate: false
- xy: 1981, 20
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
solar-panel-large
rotate: false
- xy: 1923, 1230
+ xy: 1223, 709
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
surge-tower
rotate: false
- xy: 1051, 153
+ xy: 1683, 680
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thermal-generator
rotate: false
- xy: 1051, 21
+ xy: 1749, 944
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thorium-reactor
rotate: false
- xy: 1017, 1022
+ xy: 1223, 611
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
thorium-reactor-lights
rotate: false
- xy: 1115, 1022
+ xy: 1321, 709
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
thorium-reactor-top
rotate: false
- xy: 1213, 1022
+ xy: 1223, 513
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
turbine-generator
rotate: false
- xy: 1265, 599
+ xy: 1749, 746
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-cap
rotate: false
- xy: 1117, 533
+ xy: 1749, 680
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-top
rotate: false
- xy: 1117, 467
+ xy: 1749, 614
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-turbine0
rotate: false
- xy: 1183, 533
+ xy: 1749, 548
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-turbine1
rotate: false
- xy: 1117, 401
+ xy: 1815, 947
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
alloy-smelter
rotate: false
- xy: 635, 574
+ xy: 1671, 1415
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
alloy-smelter-top
rotate: false
- xy: 623, 476
+ xy: 1769, 1439
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
blast-mixer
rotate: false
- xy: 1485, 901
+ xy: 1333, 447
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-forge
rotate: false
- xy: 909, 1806
+ xy: 957, 1297
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
coal-centrifuge
rotate: false
- xy: 1371, 747
+ xy: 1419, 739
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cryofluidmixer-bottom
rotate: false
- xy: 737, 614
+ xy: 1465, 421
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cryofluidmixer-liquid
rotate: false
- xy: 803, 614
+ xy: 1465, 355
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cryofluidmixer-top
rotate: false
- xy: 787, 548
+ xy: 1531, 421
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cultivator
rotate: false
- xy: 787, 482
+ xy: 1531, 355
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cultivator-middle
rotate: false
- xy: 787, 416
+ xy: 667, 15
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cultivator-top
rotate: false
- xy: 787, 350
+ xy: 685, 393
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
disassembler
rotate: false
- xy: 1563, 1720
+ xy: 831, 827
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
disassembler-liquid
rotate: false
- xy: 1465, 1524
+ xy: 831, 729
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
disassembler-spinner
rotate: false
- xy: 1563, 1622
+ xy: 941, 1003
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
graphite-press
rotate: false
- xy: 853, 548
+ xy: 677, 195
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-incinerator
- rotate: false
- xy: 1429, 882
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-source
- rotate: false
- xy: 1991, 598
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-void
- rotate: false
- xy: 1903, 352
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
kiln
rotate: false
- xy: 853, 482
+ xy: 743, 261
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
kiln-top
rotate: false
- xy: 853, 416
+ xy: 809, 327
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
silicon-smelter-top
rotate: false
- xy: 853, 416
+ xy: 809, 327
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-liquid-source
- rotate: false
- xy: 1937, 284
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-void
- rotate: false
- xy: 1937, 250
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-melter
- rotate: false
- xy: 1913, 80
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
multi-press
rotate: false
- xy: 1115, 1120
+ xy: 1349, 1297
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
phase-weaver
rotate: false
- xy: 1165, 665
+ xy: 1007, 111
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
phase-weaver-bottom
rotate: false
- xy: 1231, 665
+ xy: 733, 63
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
phase-weaver-weave
rotate: false
- xy: 1297, 665
+ xy: 799, 63
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plastanium-compressor
rotate: false
- xy: 1363, 681
+ xy: 865, 47
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plastanium-compressor-top
rotate: false
- xy: 1363, 615
+ xy: 931, 45
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-pulverizer
- rotate: false
- xy: 2015, 122
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-pulverizer-rotator
- rotate: false
- xy: 1981, 88
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
pyratite-mixer
rotate: false
- xy: 1001, 615
+ xy: 1139, 348
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
separator
rotate: false
- xy: 985, 285
+ xy: 1617, 750
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
separator-liquid
rotate: false
- xy: 1051, 351
+ xy: 1551, 618
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
separator-spinner
rotate: false
- xy: 919, 153
+ xy: 1617, 684
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
silicon-crucible
rotate: false
- xy: 1923, 1426
+ xy: 1223, 807
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
silicon-crucible-top
rotate: false
- xy: 1923, 1328
+ xy: 1321, 905
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
silicon-smelter
rotate: false
- xy: 985, 219
+ xy: 1551, 552
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press
rotate: false
- xy: 1051, 285
+ xy: 1617, 618
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-frame0
rotate: false
- xy: 919, 87
+ xy: 1617, 552
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-frame1
rotate: false
- xy: 985, 153
+ xy: 1683, 944
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-frame2
rotate: false
- xy: 1051, 219
+ xy: 1683, 878
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-liquid
rotate: false
- xy: 919, 21
+ xy: 1683, 812
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-top
rotate: false
- xy: 985, 87
+ xy: 1683, 746
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
rock1
rotate: false
- xy: 1545, 784
+ xy: 1663, 71
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
rock2
rotate: false
- xy: 1595, 766
+ xy: 1713, 274
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-sand-boulder1
- rotate: false
- xy: 2015, 20
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
snowrock1
rotate: false
- xy: 1795, 734
+ xy: 1713, 74
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
snowrock2
rotate: false
- xy: 1845, 734
+ xy: 1763, 274
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
spore-cluster1
rotate: false
- xy: 1539, 424
+ xy: 1345, 47
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
spore-cluster2
rotate: false
- xy: 1581, 582
+ xy: 1345, 5
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
spore-cluster3
rotate: false
- xy: 1581, 540
+ xy: 149, 23
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
container
rotate: false
- xy: 721, 442
+ xy: 1419, 607
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
core-foundation
rotate: false
- xy: 131, 350
+ xy: 617, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
core-foundation-team
rotate: false
- xy: 131, 220
+ xy: 747, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
+core-nucleus
+ rotate: false
+ xy: 389, 1887
+ size: 160, 160
+ orig: 160, 160
+ offset: 0, 0
+ index: -1
core-nucleus-team
rotate: false
- xy: 1, 1884
+ xy: 1, 1337
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
core-shard
rotate: false
- xy: 1171, 1610
+ xy: 423, 97
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
core-shard-team
rotate: false
- xy: 1171, 1512
+ xy: 549, 1084
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
vault
rotate: false
- xy: 937, 924
+ xy: 1321, 513
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
arc-heat
rotate: false
- xy: 2015, 1196
+ xy: 2001, 1799
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-1
rotate: false
- xy: 1759, 574
+ xy: 1847, 44
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-2
rotate: false
- xy: 1371, 813
+ xy: 1267, 381
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-3
rotate: false
- xy: 623, 182
+ xy: 761, 1317
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-4
rotate: false
- xy: 1, 140
+ xy: 305, 917
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
hail-heat
rotate: false
- xy: 1687, 692
+ xy: 2007, 863
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
lancer-heat
rotate: false
- xy: 853, 284
+ xy: 743, 195
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
meltdown-heat
rotate: false
- xy: 403, 654
+ xy: 1917, 1667
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
ripple-heat
rotate: false
- xy: 1629, 1328
+ xy: 1125, 807
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
salvo-heat
rotate: false
- xy: 985, 483
+ xy: 1195, 18
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
salvo-panel-left
rotate: false
- xy: 1051, 549
+ xy: 1551, 948
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
salvo-panel-right
rotate: false
- xy: 919, 351
+ xy: 1551, 882
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
wave-liquid
rotate: false
- xy: 1183, 335
+ xy: 1881, 815
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
additive-reconstructor
rotate: false
- xy: 737, 778
+ xy: 1377, 1399
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
additive-reconstructor-top
rotate: false
- xy: 737, 680
+ xy: 1475, 1399
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
air-factory
rotate: false
- xy: 839, 880
+ xy: 1573, 1415
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
command-center
rotate: false
- xy: 721, 508
+ xy: 1419, 673
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
factory-in-3
rotate: false
- xy: 1563, 1524
+ xy: 1039, 1003
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
factory-in-5
rotate: false
- xy: 325, 1560
+ xy: 1, 365
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
factory-out-3
rotate: false
- xy: 1661, 1526
+ xy: 1027, 905
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
factory-out-5
rotate: false
- xy: 487, 1722
+ xy: 1523, 1887
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
factory-top-3
rotate: false
- xy: 1759, 1720
+ xy: 1027, 807
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
ground-factory
rotate: false
- xy: 1759, 1524
+ xy: 733, 631
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
multiplicative-reconstructor
rotate: false
- xy: 649, 1884
+ xy: 1, 203
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
multiplicative-reconstructor-top
rotate: false
- xy: 1, 1074
+ xy: 1685, 1887
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
naval-factory
rotate: false
- xy: 1213, 1120
+ xy: 1337, 1199
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
rally-point
rotate: false
- xy: 1067, 615
+ xy: 1139, 282
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-repair-point-base
- rotate: false
- xy: 1981, 54
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
resupply-point
rotate: false
- xy: 919, 549
+ xy: 1139, 216
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-copper-wall
- rotate: false
- xy: 1675, 64
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
copper-wall-large
rotate: false
- xy: 721, 376
+ xy: 1419, 541
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-door
- rotate: false
- xy: 1811, 64
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
door-large
rotate: false
- xy: 787, 218
+ xy: 817, 393
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
door-large-open
rotate: false
- xy: 787, 152
+ xy: 677, 327
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-door-open
- rotate: false
- xy: 1811, 30
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-phase-wall
- rotate: false
- xy: 1989, 496
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
phase-wall-large
rotate: false
- xy: 1297, 731
+ xy: 941, 111
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-plastanium-wall
- rotate: false
- xy: 1971, 326
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
plastanium-wall-large
rotate: false
- xy: 1429, 681
+ xy: 997, 45
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall-gigantic
rotate: false
- xy: 617, 1466
+ xy: 877, 1497
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
scrap-wall-huge2
rotate: false
- xy: 1825, 1328
+ xy: 1223, 905
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
scrap-wall-huge3
rotate: false
- xy: 1825, 1230
+ xy: 1333, 1003
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
scrap-wall-large1
rotate: false
- xy: 1051, 483
+ xy: 1551, 816
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall-large2
rotate: false
- xy: 919, 285
+ xy: 1617, 882
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall-large3
rotate: false
- xy: 985, 351
+ xy: 1551, 750
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall-large4
rotate: false
- xy: 1051, 417
+ xy: 1617, 816
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
surge-wall-large
rotate: false
- xy: 985, 21
+ xy: 1683, 614
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thorium-wall-large
rotate: false
- xy: 1133, 599
+ xy: 1749, 878
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thruster
rotate: false
- xy: 585, 1206
+ xy: 1137, 1497
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
titanium-wall-large
rotate: false
- xy: 1199, 599
+ xy: 1749, 812
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
bullet
rotate: false
- xy: 1177, 173
+ xy: 1829, 378
size: 52, 52
orig: 52, 52
offset: 0, 0
index: -1
bullet-back
rotate: false
- xy: 1177, 119
+ xy: 1597, 317
size: 52, 52
orig: 52, 52
offset: 0, 0
index: -1
circle-end
rotate: false
- xy: 533, 713
+ xy: 549, 1182
size: 100, 199
orig: 100, 199
offset: 0, 0
index: -1
error
rotate: false
- xy: 1375, 17
+ xy: 1513, 255
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
laser-end
rotate: false
- xy: 1721, 1082
+ xy: 603, 229
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
minelaser-end
rotate: false
- xy: 1795, 1156
+ xy: 603, 155
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
missile
rotate: false
- xy: 1441, 229
+ xy: 2005, 783
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
missile-back
rotate: false
- xy: 1488, 327
+ xy: 891, 9
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
parallax-laser-end
rotate: false
- xy: 1795, 1082
+ xy: 603, 81
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
particle
rotate: false
- xy: 1539, 466
+ xy: 1303, 5
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
shell
rotate: false
- xy: 1531, 77
+ xy: 1373, 93
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
shell-back
rotate: false
- xy: 1855, 696
+ xy: 191, 27
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
alpha-wreck0
rotate: false
- xy: 1231, 177
+ xy: 1265, 331
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
alpha-wreck1
rotate: false
- xy: 1231, 127
+ xy: 1315, 331
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
alpha-wreck2
rotate: false
- xy: 1231, 77
+ xy: 1365, 331
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
arc
rotate: false
- xy: 843, 1528
+ xy: 107, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
arkyid-wreck0
rotate: false
- xy: 1237, 1916
+ xy: 163, 325
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
arkyid-wreck1
rotate: false
- xy: 1, 530
+ xy: 163, 195
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
arkyid-wreck2
rotate: false
- xy: 1367, 1916
+ xy: 155, 65
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
atrax-wreck0
rotate: false
- xy: 1215, 879
+ xy: 1525, 1081
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
atrax-wreck1
rotate: false
- xy: 1305, 879
+ xy: 1431, 1015
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
atrax-wreck2
rotate: false
- xy: 1027, 813
+ xy: 1521, 1015
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
beta-wreck0
rotate: false
- xy: 1281, 127
+ xy: 1313, 281
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
beta-wreck1
rotate: false
- xy: 1281, 77
+ xy: 1263, 181
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
beta-wreck2
rotate: false
- xy: 1275, 27
+ xy: 1313, 231
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-additive-reconstructor-full
rotate: false
- xy: 623, 84
+ xy: 859, 1317
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-air-factory-full
rotate: false
- xy: 779, 1660
+ xy: 651, 1219
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-arc-full
rotate: false
- xy: 1725, 540
+ xy: 1881, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-blast-drill-full
rotate: false
- xy: 1757, 1916
+ xy: 305, 787
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-char-full
rotate: false
- xy: 1683, 472
+ xy: 1983, 343
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cliffs-full
rotate: false
- xy: 1717, 506
+ xy: 1881, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-conduit-full
rotate: false
- xy: 1793, 574
+ xy: 1915, 27
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-conveyor-full
rotate: false
- xy: 1759, 540
+ xy: 1387, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-0-0
rotate: false
- xy: 1759, 540
+ xy: 1387, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-core-foundation-full
rotate: false
- xy: 1, 10
+ xy: 305, 657
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
+block-core-nucleus-full
+ rotate: false
+ xy: 1, 1499
+ size: 160, 160
+ orig: 160, 160
+ offset: 0, 0
+ index: -1
block-core-shard-full
rotate: false
- xy: 779, 1562
+ xy: 749, 1219
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-craters-full
rotate: false
- xy: 1683, 438
+ xy: 1387, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cryofluidmixer-full
rotate: false
- xy: 1573, 1016
+ xy: 1333, 381
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-cultivator-full
rotate: false
- xy: 1639, 1016
+ xy: 1399, 447
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-cyclone-full
rotate: false
- xy: 811, 1806
+ xy: 847, 1219
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-dark-metal-full
rotate: false
- xy: 1717, 472
+ xy: 1421, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-darksand-full
rotate: false
- xy: 1751, 506
+ xy: 1421, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dunerocks-full
rotate: false
- xy: 1793, 540
+ xy: 1455, 63
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-duo-full
rotate: false
- xy: 1717, 438
+ xy: 1489, 63
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-fuse-full
rotate: false
- xy: 1007, 1806
+ xy: 1055, 1297
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-grass-full
rotate: false
- xy: 1751, 472
+ xy: 1455, 29
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ground-factory-full
rotate: false
- xy: 1105, 1806
+ xy: 945, 1199
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-hail-full
rotate: false
- xy: 1785, 506
+ xy: 1523, 63
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-holostone-full
rotate: false
- xy: 1751, 438
+ xy: 1489, 29
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-hotrock-full
rotate: false
- xy: 1785, 472
+ xy: 1523, 29
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ice-full
rotate: false
- xy: 1785, 438
+ xy: 1557, 53
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ice-snow-full
rotate: false
- xy: 1827, 574
+ xy: 1557, 19
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-icerocks-full
rotate: false
- xy: 1827, 540
+ xy: 1591, 33
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ignarock-full
rotate: false
- xy: 1819, 506
+ xy: 1625, 33
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-impact-reactor-full
rotate: false
- xy: 1887, 1916
+ xy: 293, 527
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-lancer-full
rotate: false
- xy: 1705, 1016
+ xy: 1399, 381
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-laser-drill-full
rotate: false
- xy: 877, 1708
+ xy: 1043, 1199
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-liquid-router-full
rotate: false
- xy: 1819, 472
+ xy: 1939, 163
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-liquid-tank-full
rotate: false
- xy: 877, 1610
+ xy: 651, 1121
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-magmarock-full
rotate: false
- xy: 1819, 438
+ xy: 1939, 129
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-mass-conveyor-full
- rotate: false
- xy: 975, 1610
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
-mass-conveyor-icon
- rotate: false
- xy: 975, 1610
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
block-mass-driver-full
rotate: false
- xy: 1073, 1708
+ xy: 847, 1121
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-mechanical-drill-full
rotate: false
- xy: 1771, 1016
+ xy: 1705, 1076
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-meltdown-full
rotate: false
- xy: 163, 1000
+ xy: 293, 397
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-metal-floor-damaged-full
rotate: false
- xy: 1927, 692
+ xy: 1939, 95
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-moss-full
rotate: false
- xy: 1961, 700
+ xy: 1949, 27
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
+block-multiplicative-reconstructor-full
+ rotate: false
+ xy: 195, 1693
+ size: 160, 160
+ orig: 160, 160
+ offset: 0, 0
+ index: -1
block-naval-factory-full
rotate: false
- xy: 1073, 1610
+ xy: 945, 1101
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-oil-extractor-full
rotate: false
- xy: 877, 1512
+ xy: 1043, 1101
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-ore-coal-full
rotate: false
- xy: 1995, 700
+ xy: 1663, 37
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-copper-full
rotate: false
- xy: 1855, 628
+ xy: 1697, 37
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-lead-full
rotate: false
- xy: 1889, 624
+ xy: 1989, 309
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-scrap-full
rotate: false
- xy: 1923, 624
+ xy: 1989, 275
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-thorium-full
rotate: false
- xy: 1588, 404
+ xy: 1989, 241
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-titanium-full
rotate: false
- xy: 1588, 370
+ xy: 1989, 207
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-parallax-full
rotate: false
- xy: 1563, 950
+ xy: 1693, 1010
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
+block-payload-conveyor-full
+ rotate: false
+ xy: 435, 587
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
+payload-conveyor-icon
+ rotate: false
+ xy: 435, 587
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
block-payload-router-full
rotate: false
- xy: 975, 1512
+ xy: 423, 489
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
payload-router-icon
rotate: false
- xy: 975, 1512
+ xy: 423, 489
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-pebbles-full
rotate: false
- xy: 1622, 404
+ xy: 1973, 173
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-phase-weaver-full
rotate: false
- xy: 1629, 950
+ xy: 1771, 1087
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-plated-conduit-full
rotate: false
- xy: 1656, 404
+ xy: 1973, 139
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pneumatic-drill-full
rotate: false
- xy: 1695, 950
+ xy: 1837, 1079
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-pulse-conduit-full
rotate: false
- xy: 1622, 370
+ xy: 1973, 105
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pulverizer-full
rotate: false
- xy: 1690, 404
+ xy: 2007, 173
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-repair-point-full
rotate: false
- xy: 1656, 370
+ xy: 2007, 139
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ripple-full
rotate: false
- xy: 1073, 1512
+ xy: 423, 391
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-rock-full
rotate: false
- xy: 1481, 275
+ xy: 1363, 281
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-rocks-full
rotate: false
- xy: 1724, 404
+ xy: 2007, 105
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-saltrocks-full
rotate: false
- xy: 1690, 370
+ xy: 1983, 71
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-salvo-full
rotate: false
- xy: 1761, 950
+ xy: 1903, 1079
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-sand-boulder-full
rotate: false
- xy: 1758, 404
+ xy: 1983, 37
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sand-full
rotate: false
- xy: 1724, 370
+ xy: 1983, 3
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sandrocks-full
rotate: false
- xy: 1792, 404
+ xy: 1659, 3
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scatter-full
rotate: false
- xy: 1551, 884
+ xy: 1969, 1079
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-scorch-full
rotate: false
- xy: 1758, 370
+ xy: 1693, 3
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scrap-wall-full
rotate: false
- xy: 1792, 370
+ xy: 1727, 3
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scrap-wall1
rotate: false
- xy: 1792, 370
+ xy: 1727, 3
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scrap-wall-huge-full
rotate: false
- xy: 1203, 1806
+ xy: 423, 293
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
scrap-wall-huge1
rotate: false
- xy: 1203, 1806
+ xy: 423, 293
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-scrap-wall-large-full
rotate: false
- xy: 1617, 884
+ xy: 1771, 1021
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-segment-full
rotate: false
- xy: 1683, 884
+ xy: 1837, 1013
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-shale-boulder-full
rotate: false
- xy: 1631, 302
+ xy: 1795, 10
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shale-full
rotate: false
- xy: 1665, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-shalerocks-full
- rotate: false
- xy: 1631, 268
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-shrubs-full
- rotate: false
- xy: 1699, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-snow-full
- rotate: false
- xy: 1665, 302
+ xy: 1829, 10
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-snowrock-full
rotate: false
- xy: 1481, 225
+ xy: 1313, 181
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-snowrocks-full
- rotate: false
- xy: 1631, 234
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
block-spectre-full
rotate: false
- xy: 143, 870
+ xy: 293, 267
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-spore-cluster-full
rotate: false
- xy: 1645, 692
+ xy: 2007, 905
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-spore-moss-full
- rotate: false
- xy: 1733, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
block-spore-press-full
rotate: false
- xy: 1749, 884
+ xy: 1903, 1013
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-block-sporerocks-full
- rotate: false
- xy: 1699, 302
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-stone-full
- rotate: false
- xy: 1665, 268
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
block-swarmer-full
rotate: false
- xy: 1837, 1016
+ xy: 1969, 1013
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-block-tendrils-full
- rotate: false
- xy: 1631, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-titanium-conveyor-full
- rotate: false
- xy: 1767, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-0-0
- rotate: false
- xy: 1767, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
block-turbine-generator-full
rotate: false
- xy: 1827, 950
+ xy: 1419, 937
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-water-extractor-full
rotate: false
- xy: 1815, 884
+ xy: 1419, 871
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-wave-full
rotate: false
- xy: 1903, 1018
+ xy: 1419, 805
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
bryde-wreck0
rotate: false
- xy: 163, 1130
+ xy: 163, 1141
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
bryde-wreck1
rotate: false
- xy: 953, 1904
+ xy: 163, 999
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
bryde-wreck2
rotate: false
- xy: 1, 790
+ xy: 163, 857
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
core-foundation-team-crux
rotate: false
- xy: 131, 90
+ xy: 877, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
core-foundation-team-sharded
rotate: false
- xy: 325, 1304
+ xy: 1007, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
core-nucleus-team-crux
rotate: false
- xy: 1, 1722
+ xy: 551, 1887
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
core-nucleus-team-sharded
rotate: false
- xy: 163, 1884
+ xy: 1, 1175
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
core-shard-team-crux
rotate: false
- xy: 1301, 1818
+ xy: 537, 986
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
core-shard-team-sharded
rotate: false
- xy: 1399, 1818
+ xy: 537, 888
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-cracks-1-0
- rotate: false
- xy: 1709, 98
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-cracks-1-1
- rotate: false
- xy: 1675, 30
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-cracks-1-2
- rotate: false
- xy: 1709, 64
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-cracks-1-3
- rotate: false
- xy: 1743, 98
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-cracks-1-4
- rotate: false
- xy: 1709, 30
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-cracks-1-5
- rotate: false
- xy: 1743, 64
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-cracks-1-6
- rotate: false
- xy: 1777, 98
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-cracks-1-7
- rotate: false
- xy: 1743, 30
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
cracks-2-0
rotate: false
- xy: 721, 310
+ xy: 1485, 949
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-1
rotate: false
- xy: 721, 244
+ xy: 1485, 883
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-2
rotate: false
- xy: 721, 178
+ xy: 1485, 817
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-3
rotate: false
- xy: 721, 112
+ xy: 1485, 751
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-4
rotate: false
- xy: 721, 46
+ xy: 1485, 685
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-5
rotate: false
- xy: 1881, 884
+ xy: 1485, 619
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-6
rotate: false
- xy: 1893, 950
+ xy: 1485, 553
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-7
rotate: false
- xy: 1947, 884
+ xy: 1485, 487
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-3-0
rotate: false
- xy: 1497, 1818
+ xy: 537, 790
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-1
rotate: false
- xy: 1595, 1818
+ xy: 537, 692
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-2
rotate: false
- xy: 1693, 1818
+ xy: 647, 1023
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-3
rotate: false
- xy: 1791, 1818
+ xy: 745, 1023
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-4
rotate: false
- xy: 1889, 1818
+ xy: 843, 1023
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-5
rotate: false
- xy: 1269, 1708
+ xy: 635, 925
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-6
rotate: false
- xy: 1269, 1610
+ xy: 635, 827
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-7
rotate: false
- xy: 1269, 1512
+ xy: 733, 925
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-4-0
rotate: false
- xy: 487, 1466
+ xy: 1137, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-1
rotate: false
- xy: 649, 1628
+ xy: 1267, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-2
rotate: false
- xy: 317, 1174
+ xy: 1397, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-3
rotate: false
- xy: 305, 1044
+ xy: 1527, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-4
rotate: false
- xy: 293, 914
+ xy: 1657, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-5
rotate: false
- xy: 273, 784
+ xy: 357, 1595
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-6
rotate: false
- xy: 273, 654
+ xy: 487, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-7
rotate: false
- xy: 261, 524
+ xy: 617, 1627
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-5-0
rotate: false
- xy: 163, 1722
+ xy: 1, 1013
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-1
rotate: false
- xy: 325, 1884
+ xy: 875, 1887
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-2
rotate: false
- xy: 1, 1398
+ xy: 1, 851
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-3
rotate: false
- xy: 163, 1560
+ xy: 1037, 1887
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-4
rotate: false
- xy: 325, 1722
+ xy: 1, 689
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-5
rotate: false
- xy: 487, 1884
+ xy: 1199, 1887
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-6
rotate: false
- xy: 1, 1236
+ xy: 1, 527
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-7
rotate: false
- xy: 163, 1398
+ xy: 1361, 1887
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
+cracks-6-5
+ rotate: false
+ xy: 1, 1855
+ size: 192, 192
+ orig: 192, 192
+ offset: 0, 0
+ index: -1
+cracks-6-6
+ rotate: false
+ xy: 1, 1661
+ size: 192, 192
+ orig: 192, 192
+ offset: 0, 0
+ index: -1
+cracks-6-7
+ rotate: false
+ xy: 195, 1855
+ size: 192, 192
+ orig: 192, 192
+ offset: 0, 0
+ index: -1
crawler-wreck0
rotate: false
- xy: 1489, 415
+ xy: 1363, 131
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-wreck1
rotate: false
- xy: 1488, 365
+ xy: 1413, 273
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-wreck2
rotate: false
- xy: 1341, 217
+ xy: 1413, 223
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
cyclone
rotate: false
- xy: 1367, 1720
+ xy: 635, 729
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
dagger-wreck0
rotate: false
- xy: 1381, 167
+ xy: 1515, 305
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger-wreck1
rotate: false
- xy: 1381, 117
+ xy: 1463, 255
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger-wreck2
rotate: false
- xy: 1375, 67
+ xy: 1463, 205
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-duo
- rotate: false
- xy: 1845, 98
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
flare-wreck0
rotate: false
- xy: 1425, 51
+ xy: 1513, 97
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
flare-wreck1
rotate: false
- xy: 1425, 1
+ xy: 1941, 731
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
flare-wreck2
rotate: false
- xy: 1481, 75
+ xy: 1991, 731
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
fortress-wreck0
rotate: false
- xy: 521, 467
+ xy: 765, 1415
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fortress-wreck1
rotate: false
- xy: 521, 385
+ xy: 435, 991
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fortress-wreck2
rotate: false
- xy: 521, 303
+ xy: 867, 1415
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fuse
rotate: false
- xy: 1857, 1622
+ xy: 635, 631
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
gamma-wreck0
rotate: false
- xy: 1373, 499
+ xy: 1205, 190
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
gamma-wreck1
rotate: false
- xy: 1431, 557
+ xy: 1205, 132
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
gamma-wreck2
rotate: false
- xy: 1431, 499
+ xy: 733, 5
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
-hail
- rotate: false
- xy: 1845, 64
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
horizon-wreck0
rotate: false
- xy: 1647, 1156
+ xy: 759, 459
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
horizon-wreck1
rotate: false
- xy: 1647, 1082
+ xy: 603, 303
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
horizon-wreck2
rotate: false
- xy: 1721, 1156
+ xy: 833, 459
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
item-blast-compound-large
rotate: false
- xy: 1729, 692
+ xy: 107, 35
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-blast-compound-medium
- rotate: false
- xy: 1437, 780
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-blast-compound-xlarge
rotate: false
- xy: 1531, 315
+ xy: 1873, 565
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-coal-large
rotate: false
- xy: 1771, 692
+ xy: 435, 1503
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-coal-medium
- rotate: false
- xy: 2013, 884
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-coal-xlarge
rotate: false
- xy: 1531, 265
+ xy: 1900, 515
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-copper-large
rotate: false
- xy: 1813, 692
+ xy: 1205, 90
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-copper-medium
- rotate: false
- xy: 1995, 666
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-copper-xlarge
rotate: false
- xy: 1531, 215
+ xy: 1931, 681
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-graphite-large
rotate: false
- xy: 719, 4
+ xy: 1913, 273
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-graphite-medium
- rotate: false
- xy: 1991, 632
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-graphite-xlarge
rotate: false
- xy: 1531, 165
+ xy: 1981, 681
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-lead-large
rotate: false
- xy: 1595, 624
+ xy: 1863, 173
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-lead-medium
- rotate: false
- xy: 1853, 472
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-lead-xlarge
rotate: false
- xy: 1531, 115
+ xy: 1925, 631
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-metaglass-large
rotate: false
- xy: 895, 684
+ xy: 2001, 1959
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-metaglass-medium
- rotate: false
- xy: 1860, 404
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-metaglass-xlarge
rotate: false
- xy: 1581, 315
+ xy: 1975, 631
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-phase-fabric-large
rotate: false
- xy: 2005, 1530
+ xy: 1913, 231
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-phase-fabric-medium
- rotate: false
- xy: 1869, 336
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-phase-fabric-xlarge
rotate: false
- xy: 1581, 265
+ xy: 1923, 581
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-plastanium-large
rotate: false
- xy: 1645, 650
+ xy: 1863, 131
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-plastanium-medium
- rotate: false
- xy: 1869, 268
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-plastanium-xlarge
rotate: false
- xy: 1581, 215
+ xy: 1973, 581
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-pyratite-large
rotate: false
- xy: 1687, 650
+ xy: 2001, 1917
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-pyratite-medium
- rotate: false
- xy: 1869, 200
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-pyratite-xlarge
rotate: false
- xy: 1581, 165
+ xy: 1950, 531
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-sand-large
rotate: false
- xy: 1729, 650
+ xy: 1863, 89
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-sand-medium
- rotate: false
- xy: 1869, 132
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-sand-xlarge
rotate: false
- xy: 1581, 115
+ xy: 1950, 481
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-scrap-large
rotate: false
- xy: 1771, 650
+ xy: 2001, 1875
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-scrap-medium
- rotate: false
- xy: 1879, 64
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-scrap-xlarge
rotate: false
- xy: 1575, 65
+ xy: 1900, 465
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-silicon-large
rotate: false
- xy: 1813, 650
+ xy: 2001, 1833
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-silicon-medium
- rotate: false
- xy: 1957, 598
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-silicon-xlarge
rotate: false
- xy: 1575, 15
+ xy: 1887, 415
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-spore-pod-large
rotate: false
- xy: 1637, 608
+ xy: 2005, 821
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-spore-pod-medium
- rotate: false
- xy: 1895, 590
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-spore-pod-xlarge
rotate: false
- xy: 1625, 65
+ xy: 1883, 365
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-surge-alloy-large
rotate: false
- xy: 1679, 608
+ xy: 849, 5
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-surge-alloy-medium
- rotate: false
- xy: 1887, 522
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-surge-alloy-xlarge
rotate: false
- xy: 1625, 15
+ xy: 1950, 431
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-thorium-large
rotate: false
- xy: 1721, 608
+ xy: 1247, 89
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-thorium-medium
- rotate: false
- xy: 1887, 454
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-thorium-xlarge
rotate: false
- xy: 1495, 851
+ xy: 1829, 328
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-titanium-large
rotate: false
- xy: 1763, 608
+ xy: 1289, 89
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-item-titanium-medium
- rotate: false
- xy: 1894, 386
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
item-titanium-xlarge
rotate: false
- xy: 1545, 834
+ xy: 1879, 315
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
lancer
rotate: false
- xy: 853, 350
+ xy: 677, 129
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
liquid-cryofluid-large
rotate: false
- xy: 1805, 608
+ xy: 1331, 89
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-liquid-cryofluid-medium
- rotate: false
- xy: 1903, 250
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
liquid-cryofluid-xlarge
rotate: false
- xy: 1695, 834
+ xy: 1563, 137
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
liquid-oil-large
rotate: false
- xy: 1539, 592
+ xy: 1261, 47
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-liquid-oil-medium
- rotate: false
- xy: 1903, 148
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
liquid-oil-xlarge
rotate: false
- xy: 1745, 834
+ xy: 1563, 87
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
liquid-slag-large
rotate: false
- xy: 1539, 550
+ xy: 1303, 47
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-liquid-slag-medium
- rotate: false
- xy: 1937, 318
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
liquid-slag-xlarge
rotate: false
- xy: 1795, 834
+ xy: 1613, 267
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
liquid-water-large
rotate: false
- xy: 1539, 508
+ xy: 1261, 5
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-liquid-water-medium
- rotate: false
- xy: 1937, 182
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
liquid-water-xlarge
rotate: false
- xy: 1845, 834
+ xy: 1613, 217
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mace-wreck0
rotate: false
- xy: 835, 744
+ xy: 875, 245
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-wreck1
rotate: false
- xy: 901, 792
+ xy: 875, 179
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-wreck2
rotate: false
- xy: 901, 726
+ xy: 875, 113
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mass-driver
rotate: false
- xy: 919, 1120
+ xy: 929, 515
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
mega-wreck0
rotate: false
- xy: 635, 876
+ xy: 435, 685
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
mega-wreck1
rotate: false
- xy: 635, 774
+ xy: 969, 1395
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
mega-wreck2
rotate: false
- xy: 737, 876
+ xy: 1071, 1395
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
meltdown
rotate: false
- xy: 403, 784
+ xy: 1787, 1667
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
minke-wreck0
rotate: false
- xy: 391, 264
+ xy: 487, 1497
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
minke-wreck1
rotate: false
- xy: 391, 134
+ xy: 617, 1497
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
minke-wreck2
rotate: false
- xy: 391, 4
+ xy: 747, 1497
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
mono-wreck0
rotate: false
- xy: 1745, 784
+ xy: 1929, 315
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mono-wreck1
rotate: false
- xy: 1795, 784
+ xy: 1651, 321
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mono-wreck2
rotate: false
- xy: 1845, 784
+ xy: 1701, 324
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
nova-wreck0
rotate: false
- xy: 1431, 441
+ xy: 1734, 490
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
nova-wreck1
rotate: false
- xy: 1372, 383
+ xy: 1947, 781
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
nova-wreck2
rotate: false
- xy: 1430, 383
+ xy: 1792, 490
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
parallax
rotate: false
- xy: 1231, 731
+ xy: 1007, 177
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
poly-wreck0
rotate: false
- xy: 1372, 325
+ xy: 1655, 432
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
poly-wreck1
rotate: false
- xy: 1430, 325
+ xy: 1655, 374
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
poly-wreck2
rotate: false
- xy: 1249, 294
+ xy: 1713, 432
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
pulsar-wreck0
rotate: false
- xy: 1183, 285
+ xy: 1947, 897
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
pulsar-wreck1
rotate: false
- xy: 1249, 352
+ xy: 1815, 699
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
pulsar-wreck2
rotate: false
- xy: 1117, 169
+ xy: 1881, 765
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
quasar-wreck0
rotate: false
- xy: 1409, 1136
+ xy: 521, 177
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-wreck1
rotate: false
- xy: 1409, 1054
+ xy: 521, 95
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-wreck2
rotate: false
- xy: 1491, 1148
+ xy: 511, 13
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
-repair-point
- rotate: false
- xy: 2015, 88
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
ripple
rotate: false
- xy: 1629, 1426
+ xy: 1125, 905
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
risso-wreck0
rotate: false
- xy: 1727, 1328
+ xy: 1125, 513
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
risso-wreck1
rotate: false
- xy: 1825, 1426
+ xy: 1137, 1003
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
risso-wreck2
rotate: false
- xy: 1727, 1230
+ xy: 1235, 1003
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
salvo
rotate: false
- xy: 919, 417
+ xy: 1129, 18
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scatter
rotate: false
- xy: 985, 417
+ xy: 1617, 948
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
segment
rotate: false
- xy: 919, 219
+ xy: 1551, 684
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spectre
rotate: false
- xy: 585, 1336
+ xy: 1007, 1497
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
spiroct-wreck0
rotate: false
- xy: 1227, 945
+ xy: 1543, 1224
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
spiroct-wreck1
rotate: false
- xy: 623, 7
+ xy: 1435, 1147
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
spiroct-wreck2
rotate: false
- xy: 1323, 945
+ xy: 1531, 1147
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
swarmer
rotate: false
- xy: 1051, 87
+ xy: 1683, 548
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
unit-alpha-full
rotate: false
- xy: 1945, 734
+ xy: 1763, 166
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-arkyid-full
rotate: false
- xy: 715, 1336
+ xy: 1267, 1497
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
unit-atrax-full
rotate: false
- xy: 1117, 813
+ xy: 1615, 1076
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
unit-beta-full
rotate: false
- xy: 1995, 734
+ xy: 1763, 116
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-bryde-full
rotate: false
- xy: 1095, 1904
+ xy: 163, 715
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
unit-crawler-full
rotate: false
- xy: 1495, 751
+ xy: 1763, 66
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-dagger-full
rotate: false
- xy: 1545, 734
+ xy: 1813, 278
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-flare-full
rotate: false
- xy: 1595, 716
+ xy: 1813, 228
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-fortress-full
rotate: false
- xy: 521, 17
+ xy: 1173, 1415
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
unit-gamma-full
rotate: false
- xy: 1365, 267
+ xy: 1771, 432
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
unit-horizon-full
rotate: false
- xy: 1869, 1156
+ xy: 593, 7
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
unit-mace-full
rotate: false
- xy: 1183, 467
+ xy: 1815, 881
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
unit-mega-full
rotate: false
- xy: 635, 672
+ xy: 1275, 1395
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
unit-minke-full
rotate: false
- xy: 715, 1206
+ xy: 1397, 1497
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
unit-mono-full
rotate: false
- xy: 1495, 701
+ xy: 1813, 178
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-nova-full
rotate: false
- xy: 1423, 267
+ xy: 1771, 374
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
unit-poly-full
rotate: false
- xy: 1183, 227
+ xy: 1829, 432
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
unit-pulsar-full
rotate: false
- xy: 1117, 119
+ xy: 1616, 502
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
unit-quasar-full
rotate: false
- xy: 1491, 1066
+ xy: 603, 451
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
unit-risso-full
rotate: false
- xy: 1311, 1022
+ xy: 1321, 611
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
unit-spiroct-full
rotate: false
- xy: 747, 1485
+ xy: 1627, 1142
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
unit-zenith-full
rotate: false
- xy: 577, 1092
+ xy: 1527, 1513
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
wave
rotate: false
- xy: 1117, 269
+ xy: 1815, 749
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
zenith-wreck0
rotate: false
- xy: 565, 978
+ xy: 435, 1269
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
zenith-wreck1
rotate: false
- xy: 679, 978
+ xy: 549, 1383
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
zenith-wreck2
rotate: false
- xy: 793, 978
+ xy: 435, 1155
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
-item-blast-compound
- rotate: false
- xy: 1437, 814
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-coal
- rotate: false
- xy: 2013, 918
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-copper
- rotate: false
- xy: 1961, 666
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-graphite
- rotate: false
- xy: 1957, 632
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-lead
- rotate: false
- xy: 1853, 506
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-metaglass
- rotate: false
- xy: 1853, 438
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-phase-fabric
- rotate: false
- xy: 1860, 370
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-plastanium
- rotate: false
- xy: 1869, 302
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-pyratite
- rotate: false
- xy: 1869, 234
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-sand
- rotate: false
- xy: 1869, 166
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-scrap
- rotate: false
- xy: 1879, 98
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-silicon
- rotate: false
- xy: 1879, 30
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-spore-pod
- rotate: false
- xy: 1861, 564
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-surge-alloy
- rotate: false
- xy: 1895, 556
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-thorium
- rotate: false
- xy: 1887, 488
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-item-titanium
- rotate: false
- xy: 1894, 420
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-cryofluid
- rotate: false
- xy: 1903, 284
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-oil
- rotate: false
- xy: 1903, 182
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-slag
- rotate: false
- xy: 1937, 352
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-liquid-water
- rotate: false
- xy: 1937, 216
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
shape-3
rotate: false
- xy: 1249, 402
+ xy: 1551, 487
size: 63, 63
orig: 63, 63
offset: 0, 0
index: -1
alpha
rotate: false
- xy: 1175, 69
+ xy: 435, 1545
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
alpha-cell
rotate: false
- xy: 1175, 19
+ xy: 1881, 715
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
arkyid
rotate: false
- xy: 1, 660
- size: 128, 128
- orig: 128, 128
- offset: 0, 0
- index: -1
-chaos-array
- rotate: false
- xy: 1, 660
+ xy: 163, 585
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
arkyid-cell
rotate: false
- xy: 937, 858
- size: 88, 64
- orig: 88, 64
+ xy: 163, 455
+ size: 128, 128
+ orig: 128, 128
offset: 0, 0
index: -1
arkyid-foot
rotate: false
- xy: 1869, 1084
+ xy: 907, 443
size: 70, 70
orig: 70, 70
offset: 0, 0
index: -1
arkyid-joint-base
rotate: false
- xy: 1943, 1158
+ xy: 979, 441
size: 70, 70
orig: 70, 70
offset: 0, 0
index: -1
arkyid-leg
rotate: false
- xy: 1117, 61
+ xy: 1205, 306
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
arkyid-leg-base
rotate: false
- xy: 131, 24
+ xy: 1, 11
size: 104, 64
orig: 104, 64
offset: 0, 0
index: -1
atrax
rotate: false
- xy: 1035, 879
+ xy: 1723, 1153
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
atrax-base
rotate: false
- xy: 1419, 916
+ xy: 1267, 447
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
atrax-cell
rotate: false
- xy: 1125, 879
+ xy: 1435, 1081
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
atrax-foot
rotate: false
- xy: 2007, 1116
+ xy: 1081, 399
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
atrax-leg
rotate: false
- xy: 1987, 1830
+ xy: 1419, 513
size: 36, 26
orig: 36, 26
offset: 0, 0
index: -1
atrax-leg-base
rotate: false
- xy: 1331, 89
+ xy: 349, 1567
size: 36, 26
orig: 36, 26
offset: 0, 0
index: -1
beta
rotate: false
- xy: 1291, 237
+ xy: 1263, 281
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
beta-cell
rotate: false
- xy: 1281, 177
+ xy: 1263, 231
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
bryde
rotate: false
- xy: 811, 1904
+ xy: 163, 1425
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
bryde-cell
rotate: false
- xy: 1, 932
+ xy: 163, 1283
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
+chaos-array
+ rotate: false
+ xy: 293, 137
+ size: 128, 128
+ orig: 128, 128
+ offset: 0, 0
+ index: -1
chaos-array-base
rotate: false
- xy: 143, 740
+ xy: 285, 7
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
chaos-array-cell
rotate: false
- xy: 131, 610
+ xy: 357, 1725
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
chaos-array-leg
rotate: false
- xy: 131, 480
+ xy: 487, 1757
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
crawler
rotate: false
- xy: 1325, 27
+ xy: 1363, 231
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-base
rotate: false
- xy: 1489, 565
+ xy: 1363, 181
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-cell
rotate: false
- xy: 1489, 515
+ xy: 1263, 131
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-leg
rotate: false
- xy: 1489, 465
+ xy: 1313, 131
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger
rotate: false
- xy: 1391, 217
+ xy: 1413, 173
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger-base
rotate: false
- xy: 1331, 167
+ xy: 1413, 123
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger-leg
rotate: false
- xy: 1331, 117
+ xy: 1465, 305
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
eradicator
rotate: false
- xy: 163, 1272
+ xy: 1, 77
size: 152, 124
orig: 152, 124
offset: 0, 0
index: -1
eradicator-base
rotate: false
- xy: 325, 1434
+ xy: 1847, 1923
size: 152, 124
orig: 152, 124
offset: 0, 0
index: -1
eradicator-cell
rotate: false
- xy: 487, 1596
+ xy: 1847, 1797
size: 152, 124
orig: 152, 124
offset: 0, 0
index: -1
eradicator-leg
rotate: false
- xy: 649, 1758
+ xy: 195, 1567
size: 152, 124
orig: 152, 124
offset: 0, 0
index: -1
flare
rotate: false
- xy: 1481, 125
+ xy: 1463, 97
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
fortress
rotate: false
- xy: 533, 631
+ xy: 663, 1415
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fortress-base
rotate: false
- xy: 787, 20
+ xy: 743, 327
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
fortress-cell
rotate: false
- xy: 521, 549
+ xy: 435, 1073
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fortress-leg
rotate: false
- xy: 553, 916
+ xy: 1611, 1014
size: 80, 60
orig: 80, 60
offset: 0, 0
index: -1
gamma
rotate: false
- xy: 1314, 403
+ xy: 1947, 839
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
gamma-cell
rotate: false
- xy: 1373, 557
+ xy: 1205, 248
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
horizon
rotate: false
- xy: 1573, 1156
+ xy: 685, 459
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
horizon-cell
rotate: false
- xy: 1573, 1082
+ xy: 603, 377
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
mace
rotate: false
- xy: 853, 86
+ xy: 809, 195
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-base
rotate: false
- xy: 853, 20
+ xy: 809, 129
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-cell
rotate: false
- xy: 1959, 952
+ xy: 883, 377
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-leg
rotate: false
- xy: 835, 810
+ xy: 875, 311
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mega
rotate: false
- xy: 521, 201
+ xy: 435, 889
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
mega-cell
rotate: false
- xy: 521, 99
+ xy: 435, 787
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
minke
rotate: false
- xy: 391, 524
+ xy: 1787, 1537
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
minke-cell
rotate: false
- xy: 391, 394
+ xy: 1917, 1537
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
mono
rotate: false
- xy: 1645, 784
+ xy: 1613, 67
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mono-cell
rotate: false
- xy: 1695, 784
+ xy: 1933, 365
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
nova
rotate: false
- xy: 1117, 3
+ xy: 791, 5
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
nova-base
rotate: false
- xy: 1995, 834
+ xy: 1663, 221
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
nova-cell
rotate: false
- xy: 1373, 441
+ xy: 1676, 490
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
nova-leg
rotate: false
- xy: 1995, 784
+ xy: 1663, 171
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
poly
rotate: false
- xy: 1987, 1858
+ xy: 1597, 429
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
poly-cell
rotate: false
- xy: 1314, 345
+ xy: 1597, 371
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
power-cell
rotate: false
- xy: 1307, 287
+ xy: 1713, 374
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
pulsar
rotate: false
- xy: 835, 694
+ xy: 1787, 1837
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
pulsar-base
rotate: false
- xy: 1495, 801
+ xy: 1663, 121
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
pulsar-cell
rotate: false
- xy: 1117, 219
+ xy: 1205, 364
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
pulsar-leg
rotate: false
- xy: 935, 615
+ xy: 1073, 111
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
quasar
rotate: false
- xy: 1289, 797
+ xy: 521, 505
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-base
rotate: false
- xy: 1955, 1736
+ xy: 521, 423
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-cell
rotate: false
- xy: 1955, 1654
+ xy: 521, 341
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-leg
rotate: false
- xy: 1955, 1572
+ xy: 521, 259
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
risso
rotate: false
- xy: 1629, 1230
+ xy: 1125, 709
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
risso-cell
rotate: false
- xy: 1727, 1426
+ xy: 1125, 611
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
spiroct
rotate: false
- xy: 1035, 945
+ xy: 415, 20
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
spiroct-cell
rotate: false
- xy: 1131, 945
+ xy: 1447, 1224
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
spiroct-foot
rotate: false
- xy: 803, 1758
+ xy: 2001, 2001
size: 46, 46
orig: 46, 46
offset: 0, 0
index: -1
spiroct-leg
rotate: false
- xy: 1955, 1536
+ xy: 677, 93
size: 48, 34
orig: 48, 34
offset: 0, 0
index: -1
spiroct-leg-base
rotate: false
- xy: 967, 822
+ xy: 1787, 1801
size: 48, 34
orig: 48, 34
offset: 0, 0
index: -1
vanguard
rotate: false
- xy: 1545, 684
+ xy: 1813, 128
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
vanguard-cell
rotate: false
- xy: 1495, 651
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-antumbra-missiles
- rotate: false
- xy: 1225, 27
+ xy: 1813, 78
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
artillery
rotate: false
- xy: 1241, 227
+ xy: 1415, 323
size: 48, 56
orig: 48, 56
offset: 0, 0
index: -1
artillery-mount
rotate: false
- xy: 1419, 982
+ xy: 1051, 441
size: 70, 70
orig: 70, 70
offset: 0, 0
index: -1
beam-weapon
rotate: false
- xy: 1207, 797
+ xy: 1965, 1455
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
chaos
rotate: false
- xy: 1315, 461
+ xy: 1815, 561
size: 56, 136
orig: 56, 136
offset: 0, 0
index: -1
eradication
rotate: false
- xy: 1661, 1624
+ xy: 929, 809
size: 96, 192
orig: 96, 192
offset: 0, 0
index: -1
eruption
rotate: false
- xy: 1431, 159
+ xy: 1463, 147
size: 48, 56
orig: 48, 56
offset: 0, 0
index: -1
flakgun
rotate: false
- xy: 1481, 175
+ xy: 1513, 205
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
flamethrower
rotate: false
- xy: 1431, 101
+ xy: 1513, 147
size: 48, 56
orig: 48, 56
offset: 0, 0
index: -1
heal-shotgun-weapon
rotate: false
- xy: 1475, 25
+ xy: 1850, 511
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
heal-weapon
rotate: false
- xy: 1525, 25
+ xy: 1875, 665
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
heal-weapon-mount
rotate: false
- xy: 1538, 365
+ xy: 1873, 615
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
large-artillery
rotate: false
- xy: 1595, 816
+ xy: 1563, 237
size: 48, 66
orig: 48, 66
offset: 0, 0
index: -1
large-bullet-mount
rotate: false
- xy: 1491, 967
+ xy: 1123, 414
size: 70, 97
orig: 70, 97
offset: 0, 0
index: -1
large-laser-mount
rotate: false
- xy: 845, 1318
+ xy: 1141, 1103
size: 96, 192
orig: 96, 192
offset: 0, 0
index: -1
+large-purple-mount
+ rotate: false
+ xy: 1195, 414
+ size: 70, 97
+ orig: 70, 97
+ offset: 0, 0
+ index: -1
large-weapon
rotate: false
- xy: 1645, 834
+ xy: 1563, 187
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
missiles
rotate: false
- xy: 1895, 834
+ xy: 1613, 167
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
missiles-mount
rotate: false
- xy: 1945, 834
+ xy: 1613, 117
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mount-purple-weapon
rotate: false
- xy: 1895, 784
+ xy: 1751, 324
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mount-weapon
rotate: false
- xy: 1945, 784
+ xy: 1663, 271
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
small-basic-weapon
rotate: false
- xy: 1645, 734
+ xy: 1713, 224
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
small-mount-weapon
rotate: false
- xy: 1695, 734
+ xy: 1713, 174
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
small-weapon
rotate: false
- xy: 1745, 734
+ xy: 1713, 124
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
spiroct-weapon
rotate: false
- xy: 1895, 726
+ xy: 1763, 216
size: 48, 56
orig: 48, 56
offset: 0, 0
index: -1
weapon
rotate: false
- xy: 1545, 634
+ xy: 1863, 265
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
zenith-missiles
rotate: false
- xy: 1595, 666
+ xy: 1863, 215
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
zenith
rotate: false
- xy: 691, 1092
+ xy: 1641, 1513
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
zenith-cell
rotate: false
- xy: 805, 1092
+ xy: 435, 1383
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
sprites3.png
-size: 512,256
+size: 2048,256
format: rgba8888
filter: nearest,nearest
repeat: none
+mender
+ rotate: false
+ xy: 647, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+mender-top
+ rotate: false
+ xy: 681, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
shock-mine
rotate: false
- xy: 69, 189
+ xy: 885, 189
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-titanium-conveyor-0-1
- rotate: false
- xy: 171, 189
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-0-2
- rotate: false
- xy: 205, 223
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-0-3
- rotate: false
- xy: 35, 19
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-1-0
- rotate: false
- xy: 69, 53
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-1-1
- rotate: false
- xy: 103, 87
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-1-2
- rotate: false
- xy: 137, 121
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-1-3
- rotate: false
- xy: 171, 155
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-2-0
- rotate: false
- xy: 205, 189
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-2-1
- rotate: false
- xy: 239, 223
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-2-2
- rotate: false
- xy: 69, 19
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-2-3
- rotate: false
- xy: 103, 53
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-3-0
- rotate: false
- xy: 137, 87
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-3-1
- rotate: false
- xy: 171, 121
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-3-2
- rotate: false
- xy: 205, 155
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-3-3
- rotate: false
- xy: 239, 189
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-4-0
- rotate: false
- xy: 273, 223
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-4-1
- rotate: false
- xy: 103, 19
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-4-2
- rotate: false
- xy: 137, 53
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-titanium-conveyor-4-3
- rotate: false
- xy: 171, 87
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-sorter
- rotate: false
- xy: 1, 87
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-underflow-gate
- rotate: false
- xy: 273, 189
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-solar-panel
+bridge-arrow
rotate: false
xy: 103, 223
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-sand-boulder2
+bridge-conveyor
rotate: false
- xy: 1, 223
+ xy: 137, 223
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-shale-boulder1
+bridge-conveyor-bridge
rotate: false
- xy: 1, 121
+ xy: 1, 53
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-shale-boulder2
+bridge-conveyor-end
rotate: false
- xy: 35, 155
+ xy: 35, 87
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-unloader
+center
rotate: false
- xy: 307, 223
+ xy: 69, 121
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-unloader-center
+conveyor-0-1
rotate: false
- xy: 137, 19
+ xy: 103, 87
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-scorch-heat
+conveyor-0-2
rotate: false
- xy: 35, 223
+ xy: 137, 121
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-scrap-wall2
+conveyor-0-3
rotate: false
- xy: 1, 155
+ xy: 171, 155
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-scrap-wall3
+conveyor-1-0
rotate: false
- xy: 35, 189
+ xy: 205, 189
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-scrap-wall4
+conveyor-1-1
rotate: false
- xy: 69, 223
+ xy: 239, 223
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-scrap-wall5
+conveyor-1-2
rotate: false
- xy: 69, 223
+ xy: 69, 19
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-surge-wall
+conveyor-1-3
rotate: false
- xy: 103, 121
+ xy: 103, 53
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-thorium-wall
+conveyor-2-0
rotate: false
- xy: 137, 155
+ xy: 137, 87
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-titanium-wall
+conveyor-2-1
+ rotate: false
+ xy: 171, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conveyor-2-2
+ rotate: false
+ xy: 205, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conveyor-2-3
+ rotate: false
+ xy: 239, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conveyor-3-0
+ rotate: false
+ xy: 273, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conveyor-3-1
+ rotate: false
+ xy: 103, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conveyor-3-2
+ rotate: false
+ xy: 137, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conveyor-3-3
+ rotate: false
+ xy: 171, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conveyor-4-0
rotate: false
xy: 205, 121
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-casing
- rotate: false
- xy: 497, 239
- size: 8, 16
- orig: 8, 16
- offset: 0, 0
- index: -1
-circle-mid
- rotate: false
- xy: 333, 4
- size: 1, 199
- orig: 1, 199
- offset: 0, 0
- index: -1
-laser
- rotate: false
- xy: 197, 9
- size: 4, 48
- orig: 4, 48
- offset: 0, 0
- index: -1
-minelaser
- rotate: false
- xy: 203, 19
- size: 4, 48
- orig: 4, 48
- offset: 0, 0
- index: -1
-parallax-laser
- rotate: false
- xy: 209, 19
- size: 4, 48
- orig: 4, 48
- offset: 0, 0
- index: -1
-scale_marker
- rotate: false
- xy: 507, 251
- size: 4, 4
- orig: 4, 4
- offset: 0, 0
- index: -1
-transfer
- rotate: false
- xy: 215, 19
- size: 4, 48
- orig: 4, 48
- offset: 0, 0
- index: -1
-transfer-arrow
+conveyor-4-1
rotate: false
xy: 239, 155
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
+conveyor-4-2
+ rotate: false
+ xy: 273, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conveyor-4-3
+ rotate: false
+ xy: 307, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plastanium-conveyor
+ rotate: false
+ xy: 715, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plastanium-conveyor-0
+ rotate: false
+ xy: 749, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plastanium-conveyor-1
+ rotate: false
+ xy: 579, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plastanium-conveyor-2
+ rotate: false
+ xy: 613, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plastanium-conveyor-edge
+ rotate: false
+ xy: 647, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plastanium-conveyor-stack
+ rotate: false
+ xy: 681, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-0-1
+ rotate: false
+ xy: 953, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-0-2
+ rotate: false
+ xy: 987, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-0-3
+ rotate: false
+ xy: 1021, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-1-0
+ rotate: false
+ xy: 851, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-1-1
+ rotate: false
+ xy: 885, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-1-2
+ rotate: false
+ xy: 919, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-1-3
+ rotate: false
+ xy: 953, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-2-0
+ rotate: false
+ xy: 987, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-2-1
+ rotate: false
+ xy: 1021, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-2-2
+ rotate: false
+ xy: 1055, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-2-3
+ rotate: false
+ xy: 885, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-3-0
+ rotate: false
+ xy: 919, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-3-1
+ rotate: false
+ xy: 953, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-3-2
+ rotate: false
+ xy: 987, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-3-3
+ rotate: false
+ xy: 1021, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-4-0
+ rotate: false
+ xy: 1055, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-4-1
+ rotate: false
+ xy: 1089, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-4-2
+ rotate: false
+ xy: 919, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-4-3
+ rotate: false
+ xy: 953, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cross
+ rotate: false
+ xy: 239, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+inverted-sorter
+ rotate: false
+ xy: 375, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+junction
+ rotate: false
+ xy: 545, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+overflow-gate
+ rotate: false
+ xy: 579, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-conveyor
+ rotate: false
+ xy: 545, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-conveyor-arrow
+ rotate: false
+ xy: 579, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-conveyor-bridge
+ rotate: false
+ xy: 613, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-conveyor-end
+ rotate: false
+ xy: 647, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+router
+ rotate: false
+ xy: 715, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+sorter
+ rotate: false
+ xy: 749, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+underflow-gate
+ rotate: false
+ xy: 1055, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-liquid
+ rotate: false
+ xy: 103, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+bridge-conduit
+ rotate: false
+ xy: 1, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+bridge-conduit-arrow
+ rotate: false
+ xy: 35, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+bridge-conveyor-arrow
+ rotate: false
+ xy: 35, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+bridge-conduit-bridge
+ rotate: false
+ xy: 69, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+bridge-conduit-end
+ rotate: false
+ xy: 103, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-bottom
+ rotate: false
+ xy: 171, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-bottom-0
+ rotate: false
+ xy: 1, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-bottom-1
+ rotate: false
+ xy: 35, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-bottom-2
+ rotate: false
+ xy: 69, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-bottom-3
+ rotate: false
+ xy: 69, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-bottom-4
+ rotate: false
+ xy: 69, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-top-0
+ rotate: false
+ xy: 137, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-top-1
+ rotate: false
+ xy: 171, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-top-2
+ rotate: false
+ xy: 205, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-top-3
+ rotate: false
+ xy: 35, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+pulse-conduit-top-3
+ rotate: false
+ xy: 35, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+conduit-top-4
+ rotate: false
+ xy: 69, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-junction
+ rotate: false
+ xy: 443, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-overflow-gate
+ rotate: false
+ xy: 545, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-overflow-gate-top
+ rotate: false
+ xy: 579, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-router-bottom
+ rotate: false
+ xy: 613, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-router-liquid
+ rotate: false
+ xy: 443, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-router-top
+ rotate: false
+ xy: 477, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+mechanical-pump
+ rotate: false
+ xy: 511, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+mechanical-pump-liquid
+ rotate: false
+ xy: 545, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+rotary-pump-liquid
+ rotate: false
+ xy: 545, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+thermal-pump-liquid
+ rotate: false
+ xy: 545, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-conduit
+ rotate: false
+ xy: 613, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-conduit-arrow
+ rotate: false
+ xy: 647, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-conduit-bridge
+ rotate: false
+ xy: 681, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-conduit-end
+ rotate: false
+ xy: 715, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plated-conduit-cap
+ rotate: false
+ xy: 749, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plated-conduit-top-0
+ rotate: false
+ xy: 783, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plated-conduit-top-1
+ rotate: false
+ xy: 613, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plated-conduit-top-2
+ rotate: false
+ xy: 647, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plated-conduit-top-3
+ rotate: false
+ xy: 681, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plated-conduit-top-4
+ rotate: false
+ xy: 715, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+pulse-conduit-top-0
+ rotate: false
+ xy: 647, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+pulse-conduit-top-1
+ rotate: false
+ xy: 681, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+pulse-conduit-top-2
+ rotate: false
+ xy: 715, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+pulse-conduit-top-4
+ rotate: false
+ xy: 749, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+memory-cell
+ rotate: false
+ xy: 613, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+message
+ rotate: false
+ xy: 511, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+micro-processor
+ rotate: false
+ xy: 545, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+switch
+ rotate: false
+ xy: 851, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+switch-on
+ rotate: false
+ xy: 885, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+combustion-generator
+ rotate: false
+ xy: 103, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+combustion-generator-top
+ rotate: false
+ xy: 137, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+diode
+ rotate: false
+ xy: 273, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+diode-arrow
+ rotate: false
+ xy: 307, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+illuminator
+ rotate: false
+ xy: 273, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+illuminator-top
+ rotate: false
+ xy: 307, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+power-node
+ rotate: false
+ xy: 749, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+power-source
+ rotate: false
+ xy: 783, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+power-void
+ rotate: false
+ xy: 817, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+rtg-generator-top
+ rotate: false
+ xy: 749, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+solar-panel
+ rotate: false
+ xy: 919, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+incinerator
+ rotate: false
+ xy: 341, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-source
+ rotate: false
+ xy: 409, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-void
+ rotate: false
+ xy: 511, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-source
+ rotate: false
+ xy: 579, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-void
+ rotate: false
+ xy: 613, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+melter
+ rotate: false
+ xy: 579, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+pulverizer
+ rotate: false
+ xy: 783, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+pulverizer-rotator
+ rotate: false
+ xy: 817, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+sand-boulder1
+ rotate: false
+ xy: 783, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+sand-boulder2
+ rotate: false
+ xy: 817, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+shale-boulder1
+ rotate: false
+ xy: 817, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+shale-boulder2
+ rotate: false
+ xy: 851, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+unloader
+ rotate: false
+ xy: 1089, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+unloader-center
+ rotate: false
+ xy: 1123, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+scorch-heat
+ rotate: false
+ xy: 885, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+repair-point-base
+ rotate: false
+ xy: 681, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+copper-wall
+ rotate: false
+ xy: 137, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+door
+ rotate: false
+ xy: 341, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+door-open
+ rotate: false
+ xy: 375, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+phase-wall
+ rotate: false
+ xy: 681, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+plastanium-wall
+ rotate: false
+ xy: 715, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+scrap-wall2
+ rotate: false
+ xy: 715, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+scrap-wall3
+ rotate: false
+ xy: 749, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+scrap-wall4
+ rotate: false
+ xy: 783, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+scrap-wall5
+ rotate: false
+ xy: 783, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+surge-wall
+ rotate: false
+ xy: 817, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+thorium-wall
+ rotate: false
+ xy: 919, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-wall
+ rotate: false
+ xy: 987, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+casing
+ rotate: false
+ xy: 361, 1
+ size: 8, 16
+ orig: 8, 16
+ offset: 0, 0
+ index: -1
+circle-mid
+ rotate: false
+ xy: 1149, 22
+ size: 1, 199
+ orig: 1, 199
+ offset: 0, 0
+ index: -1
+laser
+ rotate: false
+ xy: 981, 3
+ size: 4, 48
+ orig: 4, 48
+ offset: 0, 0
+ index: -1
+minelaser
+ rotate: false
+ xy: 987, 11
+ size: 4, 48
+ orig: 4, 48
+ offset: 0, 0
+ index: -1
+parallax-laser
+ rotate: false
+ xy: 993, 11
+ size: 4, 48
+ orig: 4, 48
+ offset: 0, 0
+ index: -1
+scale_marker
+ rotate: false
+ xy: 1013, 81
+ size: 4, 4
+ orig: 4, 4
+ offset: 0, 0
+ index: -1
+transfer
+ rotate: false
+ xy: 999, 11
+ size: 4, 48
+ orig: 4, 48
+ offset: 0, 0
+ index: -1
+transfer-arrow
+ rotate: false
+ xy: 1021, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
white
rotate: false
- xy: 239, 124
+ xy: 1021, 90
size: 3, 3
orig: 3, 3
offset: 0, 0
index: -1
+block-shalerocks-full
+ rotate: false
+ xy: 1, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-shrubs-full
+ rotate: false
+ xy: 1, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-snow-full
+ rotate: false
+ xy: 35, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-snowrocks-full
+ rotate: false
+ xy: 1, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-spore-moss-full
+ rotate: false
+ xy: 35, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-sporerocks-full
+ rotate: false
+ xy: 69, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-stone-full
+ rotate: false
+ xy: 1, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-tendrils-full
+ rotate: false
+ xy: 35, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-titanium-conveyor-full
+ rotate: false
+ xy: 69, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+titanium-conveyor-0-0
+ rotate: false
+ xy: 69, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cracks-1-0
+ rotate: false
+ xy: 171, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cracks-1-1
+ rotate: false
+ xy: 205, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cracks-1-2
+ rotate: false
+ xy: 239, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cracks-1-3
+ rotate: false
+ xy: 273, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cracks-1-4
+ rotate: false
+ xy: 307, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cracks-1-5
+ rotate: false
+ xy: 341, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cracks-1-6
+ rotate: false
+ xy: 171, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+cracks-1-7
+ rotate: false
+ xy: 205, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+duo
+ rotate: false
+ xy: 205, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+hail
+ rotate: false
+ xy: 239, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-blast-compound-medium
+ rotate: false
+ xy: 239, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-blast-compound-small
rotate: false
- xy: 205, 95
+ xy: 987, 61
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6078,9 +5826,16 @@ item-blast-compound-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-coal-medium
+ rotate: false
+ xy: 307, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-coal-small
rotate: false
- xy: 239, 129
+ xy: 1021, 95
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6092,9 +5847,16 @@ item-coal-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-copper-medium
+ rotate: false
+ xy: 375, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-copper-small
rotate: false
- xy: 273, 163
+ xy: 1055, 129
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6106,9 +5868,16 @@ item-copper-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-graphite-medium
+ rotate: false
+ xy: 443, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-graphite-small
rotate: false
- xy: 307, 197
+ xy: 1089, 163
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6120,9 +5889,16 @@ item-graphite-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-lead-medium
+ rotate: false
+ xy: 307, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-lead-small
rotate: false
- xy: 341, 231
+ xy: 1123, 197
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6134,9 +5910,16 @@ item-lead-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-metaglass-medium
+ rotate: false
+ xy: 375, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-metaglass-small
rotate: false
- xy: 171, 33
+ xy: 1157, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6148,9 +5931,16 @@ item-metaglass-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-phase-fabric-medium
+ rotate: false
+ xy: 443, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-phase-fabric-small
rotate: false
- xy: 367, 231
+ xy: 1183, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6162,9 +5952,16 @@ item-phase-fabric-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-plastanium-medium
+ rotate: false
+ xy: 307, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-plastanium-small
rotate: false
- xy: 393, 231
+ xy: 1209, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6176,9 +5973,16 @@ item-plastanium-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-pyratite-medium
+ rotate: false
+ xy: 375, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-pyratite-small
rotate: false
- xy: 419, 231
+ xy: 1235, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
@@ -6190,268 +5994,492 @@ item-pyratite-tiny
orig: 16, 16
offset: 0, 0
index: -1
+item-sand-medium
+ rotate: false
+ xy: 443, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-sand-small
rotate: false
- xy: 445, 231
+ xy: 1261, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-sand-tiny
rotate: false
- xy: 333, 205
+ xy: 163, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+item-scrap-medium
+ rotate: false
+ xy: 511, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-scrap-small
rotate: false
- xy: 471, 231
+ xy: 1287, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-scrap-tiny
rotate: false
- xy: 351, 213
+ xy: 181, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+item-silicon-medium
+ rotate: false
+ xy: 375, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-silicon-small
rotate: false
- xy: 171, 7
+ xy: 1313, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-silicon-tiny
rotate: false
- xy: 369, 213
+ xy: 199, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+item-spore-pod-medium
+ rotate: false
+ xy: 477, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-spore-pod-small
rotate: false
- xy: 205, 69
+ xy: 1339, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-spore-pod-tiny
rotate: false
- xy: 387, 213
+ xy: 217, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+item-surge-alloy-medium
+ rotate: false
+ xy: 545, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-surge-alloy-small
rotate: false
- xy: 231, 95
+ xy: 1365, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-surge-alloy-tiny
rotate: false
- xy: 405, 213
+ xy: 235, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+item-thorium-medium
+ rotate: false
+ xy: 409, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-thorium-small
rotate: false
- xy: 231, 69
+ xy: 1391, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-thorium-tiny
rotate: false
- xy: 423, 213
+ xy: 253, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+item-titanium-medium
+ rotate: false
+ xy: 477, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
item-titanium-small
rotate: false
- xy: 265, 129
+ xy: 1417, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-titanium-tiny
rotate: false
- xy: 441, 213
+ xy: 271, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+liquid-cryofluid-medium
+ rotate: false
+ xy: 409, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
liquid-cryofluid-small
rotate: false
- xy: 257, 103
+ xy: 1443, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
liquid-cryofluid-tiny
rotate: false
- xy: 459, 213
+ xy: 289, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+liquid-oil-medium
+ rotate: false
+ xy: 511, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
liquid-oil-small
rotate: false
- xy: 257, 77
+ xy: 1469, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
liquid-oil-tiny
rotate: false
- xy: 477, 213
+ xy: 307, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+liquid-slag-medium
+ rotate: false
+ xy: 545, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
liquid-slag-small
rotate: false
- xy: 299, 163
+ xy: 1495, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
liquid-slag-tiny
rotate: false
- xy: 495, 213
+ xy: 325, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+liquid-water-medium
+ rotate: false
+ xy: 477, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
liquid-water-small
rotate: false
- xy: 291, 137
+ xy: 1521, 231
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
liquid-water-tiny
rotate: false
- xy: 283, 111
+ xy: 343, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
+repair-point
+ rotate: false
+ xy: 851, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
scorch
rotate: false
- xy: 1, 189
+ xy: 851, 189
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-0
rotate: false
- xy: 69, 155
+ xy: 817, 87
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-1
rotate: false
- xy: 103, 189
+ xy: 851, 121
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-10
rotate: false
- xy: 35, 53
+ xy: 953, 189
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-11
rotate: false
- xy: 69, 87
+ xy: 987, 223
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-2
rotate: false
- xy: 137, 223
+ xy: 885, 155
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-3
rotate: false
- xy: 1, 53
+ xy: 919, 189
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-4
rotate: false
- xy: 35, 87
+ xy: 953, 223
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-5
rotate: false
- xy: 69, 121
+ xy: 783, 19
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-6
rotate: false
- xy: 103, 155
+ xy: 817, 53
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-7
rotate: false
- xy: 137, 189
+ xy: 851, 87
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-8
rotate: false
- xy: 171, 223
+ xy: 885, 121
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-9
rotate: false
- xy: 1, 19
+ xy: 919, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-blast-compound
+ rotate: false
+ xy: 409, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-coal
+ rotate: false
+ xy: 273, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-copper
+ rotate: false
+ xy: 341, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-graphite
+ rotate: false
+ xy: 409, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-lead
+ rotate: false
+ xy: 273, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-metaglass
+ rotate: false
+ xy: 341, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-phase-fabric
+ rotate: false
+ xy: 409, 155
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-plastanium
+ rotate: false
+ xy: 477, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-pyratite
+ rotate: false
+ xy: 341, 53
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-sand
+ rotate: false
+ xy: 409, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-scrap
+ rotate: false
+ xy: 477, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-silicon
+ rotate: false
+ xy: 341, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-spore-pod
+ rotate: false
+ xy: 443, 121
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-surge-alloy
+ rotate: false
+ xy: 511, 189
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-thorium
+ rotate: false
+ xy: 375, 19
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+item-titanium
+ rotate: false
+ xy: 443, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-cryofluid
+ rotate: false
+ xy: 579, 223
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-oil
+ rotate: false
+ xy: 477, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-slag
+ rotate: false
+ xy: 511, 87
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+liquid-water
+ rotate: false
+ xy: 647, 223
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
blank
rotate: false
- xy: 239, 121
+ xy: 1047, 118
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
atrax-joint
rotate: false
- xy: 171, 59
+ xy: 953, 25
size: 26, 26
orig: 26, 26
offset: 0, 0
index: -1
spiroct-joint
rotate: false
- xy: 35, 121
+ xy: 783, 53
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -8121,2121 +8149,2149 @@ filter: nearest,nearest
repeat: none
additive-reconstructor-icon-editor
rotate: false
- xy: 485, 631
+ xy: 485, 627
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
air-factory-icon-editor
rotate: false
- xy: 613, 759
+ xy: 613, 755
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
alloy-smelter-icon-editor
rotate: false
- xy: 1555, 921
+ xy: 1555, 917
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
arc-icon-editor
rotate: false
- xy: 375, 207
+ xy: 327, 103
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-icon-editor
rotate: false
- xy: 181, 17
+ xy: 375, 203
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
battery-icon-editor
rotate: false
- xy: 583, 695
+ xy: 131, 13
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
battery-large-icon-editor
rotate: false
- xy: 1653, 921
+ xy: 1653, 917
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
blast-drill-icon-editor
rotate: false
- xy: 1, 19
+ xy: 1, 15
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
blast-mixer-icon-editor
rotate: false
- xy: 1005, 725
+ xy: 1103, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-border-editor
rotate: false
- xy: 583, 661
+ xy: 165, 13
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-forge-icon-editor
rotate: false
- xy: 1751, 921
+ xy: 1751, 917
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-loader-icon-editor
rotate: false
- xy: 1849, 921
+ xy: 1849, 917
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-unloader-icon-editor
rotate: false
- xy: 1947, 921
+ xy: 1947, 917
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
bridge-conduit-icon-editor
rotate: false
- xy: 583, 627
+ xy: 587, 363
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conveyor-icon-editor
rotate: false
- xy: 583, 593
+ xy: 587, 329
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
char-icon-editor
rotate: false
- xy: 583, 559
+ xy: 587, 295
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-char1
rotate: false
- xy: 583, 559
+ xy: 587, 295
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
clear-editor
rotate: false
- xy: 2045, 1016
+ xy: 2045, 1012
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
cliff-icon-editor
rotate: false
- xy: 587, 367
+ xy: 521, 231
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cliffs-icon-editor
rotate: false
- xy: 587, 333
+ xy: 555, 231
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
coal-centrifuge-icon-editor
rotate: false
- xy: 1071, 725
+ xy: 1169, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
combustion-generator-icon-editor
rotate: false
- xy: 587, 299
+ xy: 649, 589
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
+command-center-icon-editor
+ rotate: false
+ xy: 1235, 721
+ size: 64, 64
+ orig: 64, 64
+ offset: 0, 0
+ index: -1
conduit-icon-editor
rotate: false
- xy: 521, 235
+ xy: 683, 589
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
container-icon-editor
rotate: false
- xy: 1137, 725
+ xy: 1301, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
conveyor-icon-editor
rotate: false
- xy: 555, 235
+ xy: 1961, 719
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
copper-wall-icon-editor
rotate: false
- xy: 1995, 795
+ xy: 1961, 685
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
copper-wall-large-icon-editor
rotate: false
- xy: 1203, 725
+ xy: 1367, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
core-foundation-icon-editor
rotate: false
- xy: 323, 437
+ xy: 323, 433
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
core-nucleus-icon-editor
rotate: false
- xy: 323, 567
+ xy: 323, 563
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
core-shard-icon-editor
rotate: false
- xy: 227, 277
+ xy: 227, 273
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
craters-icon-editor
rotate: false
- xy: 1995, 761
+ xy: 1961, 651
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-craters1
rotate: false
- xy: 1995, 761
+ xy: 1961, 651
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cryofluidmixer-icon-editor
rotate: false
- xy: 1269, 725
+ xy: 1433, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cultivator-icon-editor
rotate: false
- xy: 1335, 725
+ xy: 1499, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cyclone-icon-editor
rotate: false
- xy: 227, 179
+ xy: 227, 175
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
dark-metal-icon-editor
rotate: false
- xy: 1995, 727
+ xy: 1961, 617
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-1-icon-editor
rotate: false
- xy: 1995, 693
+ xy: 1989, 791
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-1
rotate: false
- xy: 1995, 693
+ xy: 1989, 791
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-2-icon-editor
rotate: false
- xy: 1995, 659
+ xy: 1989, 757
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-2
rotate: false
- xy: 1995, 659
+ xy: 1989, 757
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-3-icon-editor
rotate: false
- xy: 1995, 625
+ xy: 1995, 723
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-3
rotate: false
- xy: 1995, 625
+ xy: 1995, 723
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-4-icon-editor
rotate: false
- xy: 409, 205
+ xy: 1995, 689
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-4
rotate: false
- xy: 409, 205
+ xy: 1995, 689
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-5-icon-editor
rotate: false
- xy: 443, 205
+ xy: 1995, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-5
rotate: false
- xy: 443, 205
+ xy: 1995, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-6-icon-editor
rotate: false
- xy: 477, 205
+ xy: 1995, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-6
rotate: false
- xy: 477, 205
+ xy: 1995, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
darksand-icon-editor
rotate: false
- xy: 511, 201
+ xy: 409, 201
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand1
rotate: false
- xy: 511, 201
+ xy: 409, 201
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
darksand-tainted-water-icon-editor
rotate: false
- xy: 545, 201
+ xy: 443, 201
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
darksand-water-icon-editor
rotate: false
- xy: 579, 201
+ xy: 477, 201
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
deepwater-icon-editor
rotate: false
- xy: 361, 57
+ xy: 511, 197
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-deepwater
rotate: false
- xy: 361, 57
+ xy: 511, 197
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
differential-generator-icon-editor
rotate: false
- xy: 131, 51
+ xy: 131, 47
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
diode-icon-editor
rotate: false
- xy: 361, 23
+ xy: 545, 197
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
disassembler-icon-editor
rotate: false
- xy: 229, 81
+ xy: 229, 77
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
distributor-icon-editor
rotate: false
- xy: 1401, 725
+ xy: 551, 463
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
door-icon-editor
rotate: false
- xy: 617, 725
+ xy: 633, 555
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
door-large-icon-editor
rotate: false
- xy: 1467, 725
+ xy: 1593, 753
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
dunerocks-icon-editor
rotate: false
- xy: 617, 691
+ xy: 667, 555
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
duo-icon-editor
rotate: false
- xy: 651, 725
+ xy: 717, 605
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-char2
rotate: false
- xy: 617, 657
+ xy: 765, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-char3
rotate: false
- xy: 651, 691
+ xy: 799, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-craters2
rotate: false
- xy: 685, 725
+ xy: 833, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-craters3
rotate: false
- xy: 617, 623
+ xy: 867, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-tainted-water1
rotate: false
- xy: 719, 725
+ xy: 969, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-tainted-water2
rotate: false
- xy: 617, 589
+ xy: 1003, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-tainted-water3
rotate: false
- xy: 651, 623
+ xy: 1037, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-water1
rotate: false
- xy: 685, 657
+ xy: 765, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-water2
rotate: false
- xy: 719, 691
+ xy: 799, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-water3
rotate: false
- xy: 753, 725
+ xy: 833, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand2
rotate: false
- xy: 651, 657
+ xy: 901, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand3
rotate: false
- xy: 685, 691
+ xy: 935, 655
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-grass1
rotate: false
- xy: 651, 589
+ xy: 867, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
grass-icon-editor
rotate: false
- xy: 651, 589
+ xy: 867, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-grass2
rotate: false
- xy: 685, 623
+ xy: 901, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-grass3
rotate: false
- xy: 719, 657
+ xy: 935, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-holostone1
rotate: false
- xy: 753, 691
+ xy: 969, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
holostone-icon-editor
rotate: false
- xy: 753, 691
+ xy: 969, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-holostone2
rotate: false
- xy: 685, 589
+ xy: 1003, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-holostone3
rotate: false
- xy: 719, 623
+ xy: 1037, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-hotrock1
rotate: false
- xy: 753, 657
+ xy: 361, 103
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
hotrock-icon-editor
rotate: false
- xy: 753, 657
+ xy: 361, 103
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-hotrock2
rotate: false
- xy: 719, 589
+ xy: 701, 555
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-hotrock3
rotate: false
- xy: 753, 623
+ xy: 633, 521
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice-snow1
rotate: false
- xy: 685, 555
+ xy: 617, 453
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
ice-snow-icon-editor
rotate: false
- xy: 685, 555
+ xy: 617, 453
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice-snow2
rotate: false
- xy: 719, 555
+ xy: 651, 487
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice-snow3
rotate: false
- xy: 753, 555
+ xy: 617, 419
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice1
rotate: false
- xy: 753, 589
+ xy: 667, 521
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
ice-icon-editor
rotate: false
- xy: 753, 589
+ xy: 667, 521
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice2
rotate: false
- xy: 617, 555
+ xy: 701, 521
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice3
rotate: false
- xy: 651, 555
+ xy: 617, 487
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ignarock1
rotate: false
- xy: 787, 659
+ xy: 651, 453
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
ignarock-icon-editor
rotate: false
- xy: 787, 659
+ xy: 651, 453
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ignarock2
rotate: false
- xy: 787, 625
+ xy: 685, 487
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ignarock3
rotate: false
- xy: 787, 591
+ xy: 651, 419
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-magmarock1
rotate: false
- xy: 821, 659
+ xy: 685, 453
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
magmarock-icon-editor
rotate: false
- xy: 821, 659
+ xy: 685, 453
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-magmarock2
rotate: false
- xy: 821, 625
+ xy: 685, 419
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-magmarock3
rotate: false
- xy: 787, 557
+ xy: 719, 487
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor
rotate: false
- xy: 821, 591
+ xy: 719, 453
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-icon-editor
rotate: false
- xy: 821, 591
+ xy: 719, 453
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-2
rotate: false
- xy: 855, 659
+ xy: 719, 419
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-2-icon-editor
rotate: false
- xy: 855, 659
+ xy: 719, 419
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-3
rotate: false
- xy: 855, 625
+ xy: 621, 385
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-3-icon-editor
rotate: false
- xy: 855, 625
+ xy: 621, 385
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-5
rotate: false
- xy: 821, 557
+ xy: 621, 351
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-5-icon-editor
rotate: false
- xy: 821, 557
+ xy: 621, 351
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-damaged1
rotate: false
- xy: 855, 591
+ xy: 655, 385
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-damaged-icon-editor
rotate: false
- xy: 855, 591
+ xy: 655, 385
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-damaged2
rotate: false
- xy: 889, 659
+ xy: 621, 317
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-damaged3
rotate: false
- xy: 889, 625
+ xy: 655, 351
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-moss1
rotate: false
- xy: 855, 557
+ xy: 689, 385
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
moss-icon-editor
rotate: false
- xy: 855, 557
+ xy: 689, 385
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-moss2
rotate: false
- xy: 889, 591
+ xy: 655, 317
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-moss3
rotate: false
- xy: 923, 659
+ xy: 689, 351
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-coal1
rotate: false
- xy: 923, 625
+ xy: 689, 317
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-coal2
rotate: false
- xy: 889, 557
+ xy: 723, 385
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-coal3
rotate: false
- xy: 923, 591
+ xy: 723, 351
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-copper1
rotate: false
- xy: 957, 659
+ xy: 723, 317
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-copper2
rotate: false
- xy: 957, 625
+ xy: 621, 283
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-copper3
rotate: false
- xy: 923, 557
+ xy: 655, 283
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-lead1
rotate: false
- xy: 957, 591
+ xy: 689, 283
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-lead2
rotate: false
- xy: 957, 557
+ xy: 723, 283
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-lead3
rotate: false
- xy: 991, 625
+ xy: 579, 197
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-scrap1
rotate: false
- xy: 991, 591
+ xy: 361, 69
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-scrap2
rotate: false
- xy: 1025, 625
+ xy: 361, 35
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-scrap3
rotate: false
- xy: 991, 557
+ xy: 361, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-thorium1
rotate: false
- xy: 1025, 591
+ xy: 1995, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-thorium2
rotate: false
- xy: 1059, 625
+ xy: 1071, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-thorium3
rotate: false
- xy: 1025, 557
+ xy: 1105, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-titanium1
rotate: false
- xy: 1059, 591
+ xy: 1139, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-titanium2
rotate: false
- xy: 1093, 625
+ xy: 1173, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-titanium3
rotate: false
- xy: 1059, 557
+ xy: 1207, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-pebbles1
rotate: false
- xy: 1093, 591
+ xy: 1241, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-pebbles2
rotate: false
- xy: 1127, 625
+ xy: 1275, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-pebbles3
rotate: false
- xy: 1093, 557
+ xy: 1309, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-salt
rotate: false
- xy: 1127, 591
+ xy: 1343, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
salt-icon-editor
rotate: false
- xy: 1127, 591
+ xy: 1343, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand-water1
rotate: false
- xy: 1195, 625
+ xy: 1479, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand-water2
rotate: false
- xy: 1161, 557
+ xy: 1513, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand-water3
rotate: false
- xy: 1195, 591
+ xy: 751, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand1
rotate: false
- xy: 1161, 625
+ xy: 1377, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
sand-icon-editor
rotate: false
- xy: 1161, 625
+ xy: 1377, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand2
rotate: false
- xy: 1127, 557
+ xy: 1411, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand3
rotate: false
- xy: 1161, 591
+ xy: 1445, 621
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-shale1
rotate: false
- xy: 1229, 625
+ xy: 785, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shale-icon-editor
rotate: false
- xy: 1229, 625
+ xy: 785, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-shale2
rotate: false
- xy: 1195, 557
+ xy: 819, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-shale3
rotate: false
- xy: 1229, 591
+ xy: 853, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-slag
rotate: false
- xy: 1263, 625
+ xy: 887, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
slag-icon-editor
rotate: false
- xy: 1263, 625
+ xy: 887, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-snow1
rotate: false
- xy: 1229, 557
+ xy: 921, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-snow2
rotate: false
- xy: 1263, 591
+ xy: 955, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-snow3
rotate: false
- xy: 1297, 625
+ xy: 989, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-spawn
rotate: false
- xy: 1263, 557
+ xy: 1023, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-spore-moss1
rotate: false
- xy: 1297, 591
+ xy: 1057, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
spore-moss-icon-editor
rotate: false
- xy: 1297, 591
+ xy: 1057, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-spore-moss2
rotate: false
- xy: 1331, 625
+ xy: 1091, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-spore-moss3
rotate: false
- xy: 1297, 557
+ xy: 1125, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-stone1
rotate: false
- xy: 1331, 591
+ xy: 1159, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
stone-icon-editor
rotate: false
- xy: 1331, 591
+ xy: 1159, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-stone2
rotate: false
- xy: 1365, 625
+ xy: 1193, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-stone3
rotate: false
- xy: 1331, 557
+ xy: 1227, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tainted-water
rotate: false
- xy: 1365, 591
+ xy: 1261, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
tainted-water-icon-editor
rotate: false
- xy: 1365, 591
+ xy: 1261, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tar
rotate: false
- xy: 1399, 625
+ xy: 1295, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
tar-icon-editor
rotate: false
- xy: 1399, 625
+ xy: 1295, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tendrils1
rotate: false
- xy: 1365, 557
+ xy: 1329, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tendrils2
rotate: false
- xy: 1399, 591
+ xy: 1363, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tendrils3
rotate: false
- xy: 1433, 625
+ xy: 1397, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-water
rotate: false
- xy: 1399, 557
+ xy: 1431, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
water-icon-editor
rotate: false
- xy: 1399, 557
+ xy: 1431, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
exponential-reconstructor-icon-editor
rotate: false
- xy: 1, 149
+ xy: 1, 145
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
force-projector-icon-editor
rotate: false
- xy: 485, 533
+ xy: 485, 529
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
fuse-icon-editor
rotate: false
- xy: 711, 759
+ xy: 711, 755
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
graphite-press-icon-editor
rotate: false
- xy: 1533, 725
+ xy: 1659, 753
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
ground-factory-icon-editor
rotate: false
- xy: 809, 791
+ xy: 809, 787
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
hail-icon-editor
rotate: false
- xy: 1433, 591
+ xy: 1465, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
+hyper-processor-icon-editor
+ rotate: false
+ xy: 907, 787
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
icerocks-icon-editor
rotate: false
- xy: 1467, 625
+ xy: 1499, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
illuminator-icon-editor
rotate: false
- xy: 1433, 557
+ xy: 735, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
impact-reactor-icon-editor
rotate: false
- xy: 775, 889
+ xy: 775, 885
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
incinerator-icon-editor
rotate: false
- xy: 1467, 591
+ xy: 769, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
inverted-sorter-icon-editor
rotate: false
- xy: 1501, 625
+ xy: 803, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-source-icon-editor
rotate: false
- xy: 1467, 557
+ xy: 837, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-void-icon-editor
rotate: false
- xy: 1501, 591
+ xy: 871, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
junction-icon-editor
rotate: false
- xy: 1535, 625
+ xy: 905, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
kiln-icon-editor
rotate: false
- xy: 1599, 757
+ xy: 1725, 753
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
lancer-icon-editor
rotate: false
- xy: 1665, 757
+ xy: 1791, 753
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
laser-drill-icon-editor
rotate: false
- xy: 907, 791
+ xy: 1005, 787
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
launch-pad-icon-editor
rotate: false
- xy: 1005, 791
+ xy: 1103, 787
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
launch-pad-large-icon-editor
rotate: false
- xy: 905, 889
+ xy: 905, 885
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
liquid-junction-icon-editor
rotate: false
- xy: 1501, 557
+ xy: 939, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-router-icon-editor
rotate: false
- xy: 1535, 591
+ xy: 973, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-source-icon-editor
rotate: false
- xy: 1535, 557
+ xy: 1007, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-tank-icon-editor
rotate: false
- xy: 1103, 791
+ xy: 1201, 787
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
liquid-void-icon-editor
rotate: false
- xy: 617, 521
+ xy: 1041, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
logic-display-icon-editor
rotate: false
- xy: 1201, 791
+ xy: 1299, 787
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
logic-processor-icon-editor
rotate: false
- xy: 1731, 757
+ xy: 1857, 753
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-mass-conveyor-icon-editor
- rotate: false
- xy: 1299, 791
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
mass-driver-icon-editor
rotate: false
- xy: 1397, 791
+ xy: 1397, 787
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
mechanical-drill-icon-editor
rotate: false
- xy: 1797, 757
+ xy: 1923, 753
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mechanical-pump-icon-editor
rotate: false
- xy: 617, 487
+ xy: 1075, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
meltdown-icon-editor
rotate: false
- xy: 1035, 889
+ xy: 1035, 885
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
melter-icon-editor
rotate: false
- xy: 651, 521
+ xy: 1109, 553
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+memory-cell-icon-editor
+ rotate: false
+ xy: 1143, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
mend-projector-icon-editor
rotate: false
- xy: 1863, 757
+ xy: 1103, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mender-icon-editor
rotate: false
- xy: 617, 453
+ xy: 1177, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
message-icon-editor
rotate: false
- xy: 651, 487
+ xy: 1211, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
micro-processor-icon-editor
rotate: false
- xy: 685, 521
+ xy: 1245, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
multi-press-icon-editor
rotate: false
- xy: 453, 435
+ xy: 453, 431
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
multiplicative-reconstructor-icon-editor
rotate: false
- xy: 613, 857
+ xy: 613, 853
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
naval-factory-icon-editor
rotate: false
- xy: 1495, 791
+ xy: 1495, 787
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
oil-extractor-icon-editor
rotate: false
- xy: 1593, 823
+ xy: 1593, 819
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
overdrive-dome-icon-editor
rotate: false
- xy: 1691, 823
+ xy: 1691, 819
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
overdrive-projector-icon-editor
rotate: false
- xy: 1929, 757
+ xy: 1169, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
overflow-gate-icon-editor
rotate: false
- xy: 617, 419
+ xy: 1279, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
parallax-icon-editor
rotate: false
- xy: 551, 467
+ xy: 1235, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
+payload-conveyor-icon-editor
+ rotate: false
+ xy: 1789, 819
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
payload-router-icon-editor
rotate: false
- xy: 1789, 823
+ xy: 1887, 819
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
pebbles-icon-editor
rotate: false
- xy: 651, 453
+ xy: 1313, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conduit-icon-editor
rotate: false
- xy: 685, 487
+ xy: 1347, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conveyor-icon-editor
rotate: false
- xy: 719, 521
+ xy: 1381, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-wall-icon-editor
rotate: false
- xy: 651, 419
+ xy: 1415, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-wall-large-icon-editor
rotate: false
- xy: 1005, 659
+ xy: 1301, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
phase-weaver-icon-editor
rotate: false
- xy: 1071, 659
+ xy: 1367, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
pine-icon-editor
rotate: false
- xy: 325, 191
+ xy: 325, 187
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
plastanium-compressor-icon-editor
rotate: false
- xy: 1137, 659
+ xy: 1433, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plastanium-conveyor-icon-editor
rotate: false
- xy: 685, 453
+ xy: 1449, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-wall-icon-editor
rotate: false
- xy: 719, 487
+ xy: 1483, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-wall-large-icon-editor
rotate: false
- xy: 1203, 659
+ xy: 1499, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plated-conduit-icon-editor
rotate: false
- xy: 753, 521
+ xy: 1533, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pneumatic-drill-icon-editor
rotate: false
- xy: 1269, 659
+ xy: 1565, 687
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
power-node-icon-editor
rotate: false
- xy: 787, 523
+ xy: 1517, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
power-node-large-icon-editor
rotate: false
- xy: 1335, 659
+ xy: 1631, 687
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
power-source-icon-editor
rotate: false
- xy: 685, 419
+ xy: 1567, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
power-void-icon-editor
rotate: false
- xy: 719, 453
+ xy: 1551, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulse-conduit-icon-editor
rotate: false
- xy: 753, 487
+ xy: 1601, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulverizer-icon-editor
rotate: false
- xy: 787, 489
+ xy: 1585, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pyratite-mixer-icon-editor
rotate: false
- xy: 1401, 659
+ xy: 1697, 687
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
repair-point-icon-editor
rotate: false
- xy: 821, 523
+ xy: 1635, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
resupply-point-icon-editor
rotate: false
- xy: 1467, 659
+ xy: 1763, 687
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
ripple-icon-editor
rotate: false
- xy: 1887, 823
+ xy: 325, 335
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
rock-icon-editor
rotate: false
- xy: 1985, 871
+ xy: 1985, 867
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
rocks-icon-editor
rotate: false
- xy: 719, 419
+ xy: 1619, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
rotary-pump-icon-editor
rotate: false
- xy: 1533, 659
+ xy: 1829, 687
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
router-icon-editor
rotate: false
- xy: 753, 453
+ xy: 1669, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
rtg-generator-icon-editor
rotate: false
- xy: 1599, 691
+ xy: 1895, 687
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
saltrocks-icon-editor
rotate: false
- xy: 787, 455
+ xy: 1653, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
salvo-icon-editor
rotate: false
- xy: 1665, 691
+ xy: 551, 397
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
sand-boulder-icon-editor
rotate: false
- xy: 821, 489
+ xy: 1703, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
sand-water-icon-editor
rotate: false
- xy: 855, 523
+ xy: 1687, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
sandrocks-icon-editor
rotate: false
- xy: 753, 419
+ xy: 1737, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scatter-icon-editor
rotate: false
- xy: 1731, 691
+ xy: 521, 331
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scorch-icon-editor
rotate: false
- xy: 787, 421
+ xy: 1721, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scrap-wall-gigantic-icon-editor
rotate: false
- xy: 1165, 889
+ xy: 1165, 885
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
scrap-wall-huge-icon-editor
rotate: false
- xy: 325, 339
+ xy: 325, 237
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
scrap-wall-icon-editor
rotate: false
- xy: 821, 455
+ xy: 1771, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scrap-wall-large-icon-editor
rotate: false
- xy: 1797, 691
+ xy: 521, 265
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
segment-icon-editor
rotate: false
- xy: 1863, 691
+ xy: 1565, 621
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
separator-icon-editor
rotate: false
- xy: 1929, 691
+ xy: 1631, 621
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
shale-boulder-icon-editor
rotate: false
- xy: 855, 489
+ xy: 1755, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shalerocks-icon-editor
rotate: false
- xy: 889, 523
+ xy: 1805, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shock-mine-icon-editor
rotate: false
- xy: 821, 421
+ xy: 1789, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shrubs-icon-editor
rotate: false
- xy: 855, 455
+ xy: 1839, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
silicon-crucible-icon-editor
rotate: false
- xy: 325, 241
+ xy: 423, 333
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
silicon-smelter-icon-editor
rotate: false
- xy: 551, 401
+ xy: 1697, 621
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
snow-icon-editor
rotate: false
- xy: 889, 489
+ xy: 1823, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
snow-pine-icon-editor
rotate: false
- xy: 327, 141
+ xy: 583, 543
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
snowrock-icon-editor
rotate: false
- xy: 327, 91
+ xy: 715, 639
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
snowrocks-icon-editor
rotate: false
- xy: 923, 523
+ xy: 1873, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
solar-panel-icon-editor
rotate: false
- xy: 855, 421
+ xy: 1857, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
solar-panel-large-icon-editor
rotate: false
- xy: 423, 337
+ xy: 423, 235
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
sorter-icon-editor
rotate: false
- xy: 889, 455
+ xy: 1907, 587
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
spawn-icon-editor
rotate: false
- xy: 923, 489
+ xy: 1891, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
spectre-icon-editor
rotate: false
- xy: 1295, 889
+ xy: 1295, 885
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
spore-cluster-icon-editor
rotate: false
- xy: 1985, 829
+ xy: 1985, 825
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
spore-pine-icon-editor
rotate: false
- xy: 131, 1
+ xy: 327, 137
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
spore-press-icon-editor
rotate: false
- xy: 521, 335
+ xy: 1763, 621
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
sporerocks-icon-editor
rotate: false
- xy: 957, 523
+ xy: 1925, 553
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
surge-tower-icon-editor
rotate: false
- xy: 521, 269
+ xy: 1829, 621
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
surge-wall-icon-editor
rotate: false
- xy: 889, 421
+ xy: 753, 519
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
surge-wall-large-icon-editor
rotate: false
- xy: 1599, 625
+ xy: 1895, 621
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
swarmer-icon-editor
rotate: false
- xy: 1665, 625
+ xy: 229, 11
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
+switch-icon-editor
+ rotate: false
+ xy: 753, 485
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
tendrils-icon-editor
rotate: false
- xy: 923, 455
+ xy: 787, 519
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
tetrative-reconstructor-icon-editor
rotate: false
- xy: 323, 729
+ xy: 323, 725
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
thermal-generator-icon-editor
rotate: false
- xy: 1731, 625
+ xy: 295, 11
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thermal-pump-icon-editor
rotate: false
- xy: 423, 239
+ xy: 809, 689
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
thorium-reactor-icon-editor
rotate: false
- xy: 809, 693
+ xy: 907, 689
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
thorium-wall-icon-editor
rotate: false
- xy: 957, 489
+ xy: 753, 451
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
thorium-wall-large-icon-editor
rotate: false
- xy: 1797, 625
+ xy: 583, 659
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thruster-icon-editor
rotate: false
- xy: 1425, 889
+ xy: 1425, 885
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
titanium-conveyor-icon-editor
rotate: false
- xy: 991, 523
+ xy: 787, 485
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-wall-icon-editor
rotate: false
- xy: 923, 421
+ xy: 821, 519
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-wall-large-icon-editor
rotate: false
- xy: 1863, 625
+ xy: 583, 593
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-icon-editor
rotate: false
- xy: 1929, 625
+ xy: 649, 689
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
underflow-gate-icon-editor
rotate: false
- xy: 957, 455
+ xy: 787, 451
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unloader-icon-editor
rotate: false
- xy: 991, 489
+ xy: 821, 485
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
vault-icon-editor
rotate: false
- xy: 907, 693
+ xy: 1005, 689
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
water-extractor-icon-editor
rotate: false
- xy: 229, 15
+ xy: 649, 623
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
wave-icon-editor
rotate: false
- xy: 295, 15
+ xy: 715, 689
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
white-tree-dead-icon-editor
rotate: false
- xy: 1, 697
+ xy: 1, 693
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
white-tree-icon-editor
rotate: false
- xy: 1, 375
+ xy: 1, 371
size: 320, 320
orig: 320, 320
offset: 0, 0
@@ -10255,7 +10311,7 @@ alpha-bg
index: -1
bar
rotate: false
- xy: 1659, 374
+ xy: 1656, 379
size: 27, 36
split: 9, 9, 9, 9
orig: 27, 36
@@ -10263,7 +10319,7 @@ bar
index: -1
bar-top
rotate: false
- xy: 751, 578
+ xy: 1659, 417
size: 27, 36
split: 9, 10, 9, 10
orig: 27, 36
@@ -10278,7 +10334,7 @@ block-additive-reconstructor-large
index: -1
block-additive-reconstructor-medium
rotate: false
- xy: 1033, 618
+ xy: 957, 589
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -10292,7 +10348,7 @@ block-additive-reconstructor-small
index: -1
block-additive-reconstructor-tiny
rotate: false
- xy: 2031, 779
+ xy: 301, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10313,21 +10369,21 @@ block-air-factory-large
index: -1
block-air-factory-medium
rotate: false
- xy: 1071, 647
+ xy: 995, 618
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-air-factory-small
rotate: false
- xy: 80, 2
+ xy: 1013, 286
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-air-factory-tiny
rotate: false
- xy: 2031, 761
+ xy: 319, 1
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10341,28 +10397,28 @@ block-air-factory-xlarge
index: -1
block-alloy-smelter-large
rotate: false
- xy: 451, 174
+ xy: 651, 374
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-alloy-smelter-medium
rotate: false
- xy: 1105, 647
+ xy: 1029, 618
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-alloy-smelter-small
rotate: false
- xy: 1649, 647
+ xy: 971, 184
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-alloy-smelter-tiny
rotate: false
- xy: 2031, 743
+ xy: 309, 698
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10376,28 +10432,28 @@ block-alloy-smelter-xlarge
index: -1
block-arc-large
rotate: false
- xy: 501, 224
+ xy: 701, 434
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-arc-medium
rotate: false
- xy: 1139, 647
+ xy: 1071, 647
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-arc-small
rotate: false
- xy: 106, 2
+ xy: 1622, 355
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-arc-tiny
rotate: false
- xy: 2031, 725
+ xy: 331, 598
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10411,28 +10467,28 @@ block-arc-xlarge
index: -1
block-armored-conveyor-large
rotate: false
- xy: 551, 274
+ xy: 351, 47
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-armored-conveyor-medium
rotate: false
- xy: 1173, 647
+ xy: 1105, 647
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-armored-conveyor-small
rotate: false
- xy: 1649, 621
+ xy: 703, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-armored-conveyor-tiny
rotate: false
- xy: 2031, 707
+ xy: 1955, 740
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10446,35 +10502,35 @@ block-armored-conveyor-xlarge
index: -1
block-battery-large
rotate: false
- xy: 601, 324
+ xy: 451, 124
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-battery-large-large
rotate: false
- xy: 651, 374
+ xy: 501, 184
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-battery-large-medium
rotate: false
- xy: 1207, 647
+ xy: 1139, 647
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-battery-large-small
rotate: false
- xy: 1591, 336
+ xy: 729, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-battery-large-tiny
rotate: false
- xy: 301, 1
+ xy: 309, 680
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10488,21 +10544,21 @@ block-battery-large-xlarge
index: -1
block-battery-medium
rotate: false
- xy: 1241, 647
+ xy: 1173, 647
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-battery-small
rotate: false
- xy: 1617, 336
+ xy: 755, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-battery-tiny
rotate: false
- xy: 319, 1
+ xy: 331, 580
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10516,28 +10572,28 @@ block-battery-xlarge
index: -1
block-blast-drill-large
rotate: false
- xy: 701, 424
+ xy: 601, 274
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-blast-drill-medium
rotate: false
- xy: 1275, 647
+ xy: 1207, 647
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-blast-drill-small
rotate: false
- xy: 2021, 847
+ xy: 781, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-blast-drill-tiny
rotate: false
- xy: 337, 1
+ xy: 1955, 722
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10551,28 +10607,28 @@ block-blast-drill-xlarge
index: -1
block-blast-mixer-large
rotate: false
- xy: 351, 24
+ xy: 551, 224
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-blast-mixer-medium
rotate: false
- xy: 1309, 647
+ xy: 1241, 647
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-blast-mixer-small
rotate: false
- xy: 1678, 718
+ xy: 807, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-blast-mixer-tiny
rotate: false
- xy: 309, 698
+ xy: 1955, 704
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10586,28 +10642,28 @@ block-blast-mixer-xlarge
index: -1
block-block-forge-large
rotate: false
- xy: 401, 74
+ xy: 543, 182
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-block-forge-medium
rotate: false
- xy: 1343, 647
+ xy: 1949, 857
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-block-forge-small
rotate: false
- xy: 1678, 692
+ xy: 833, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-block-forge-tiny
rotate: false
- xy: 331, 598
+ xy: 1955, 686
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10621,28 +10677,28 @@ block-block-forge-xlarge
index: -1
block-block-loader-large
rotate: false
- xy: 451, 132
+ xy: 351, 5
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-block-loader-medium
rotate: false
- xy: 1377, 647
+ xy: 991, 584
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-block-loader-small
rotate: false
- xy: 1704, 718
+ xy: 859, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-block-loader-tiny
rotate: false
- xy: 132, 10
+ xy: 1705, 542
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10656,28 +10712,28 @@ block-block-loader-xlarge
index: -1
block-block-unloader-large
rotate: false
- xy: 451, 90
+ xy: 401, 74
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-block-unloader-medium
rotate: false
- xy: 1411, 647
+ xy: 1025, 584
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-block-unloader-small
rotate: false
- xy: 1704, 692
+ xy: 885, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-block-unloader-tiny
rotate: false
- xy: 1649, 603
+ xy: 1705, 524
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10691,28 +10747,28 @@ block-block-unloader-xlarge
index: -1
block-bridge-conduit-large
rotate: false
- xy: 751, 536
+ xy: 393, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-bridge-conduit-medium
rotate: false
- xy: 1445, 647
+ xy: 1489, 795
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-bridge-conduit-small
rotate: false
- xy: 1730, 718
+ xy: 911, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-bridge-conduit-tiny
rotate: false
- xy: 1808, 700
+ xy: 1705, 506
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10726,28 +10782,28 @@ block-bridge-conduit-xlarge
index: -1
block-bridge-conveyor-large
rotate: false
- xy: 751, 494
+ xy: 501, 142
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-bridge-conveyor-medium
rotate: false
- xy: 1479, 647
+ xy: 1405, 710
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-bridge-conveyor-small
rotate: false
- xy: 1730, 692
+ xy: 937, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-bridge-conveyor-tiny
rotate: false
- xy: 1023, 328
+ xy: 1727, 651
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10761,28 +10817,28 @@ block-bridge-conveyor-xlarge
index: -1
block-char-large
rotate: false
- xy: 793, 536
+ xy: 543, 140
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-char-medium
rotate: false
- xy: 1513, 647
+ xy: 1063, 613
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-char-small
rotate: false
- xy: 1756, 692
+ xy: 963, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-char-tiny
rotate: false
- xy: 1799, 310
+ xy: 1727, 633
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10796,28 +10852,28 @@ block-char-xlarge
index: -1
block-cliff-large
rotate: false
- xy: 793, 494
+ xy: 701, 392
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-cliff-medium
rotate: false
- xy: 1547, 647
+ xy: 1097, 613
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cliff-small
rotate: false
- xy: 1782, 692
+ xy: 1421, 327
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-cliff-tiny
rotate: false
- xy: 309, 680
+ xy: 1727, 615
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10831,28 +10887,28 @@ block-cliff-xlarge
index: -1
block-cliffs-large
rotate: false
- xy: 835, 536
+ xy: 751, 536
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-cliffs-medium
rotate: false
- xy: 1067, 613
+ xy: 1131, 613
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cliffs-small
rotate: false
- xy: 1678, 666
+ xy: 1447, 327
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-cliffs-tiny
rotate: false
- xy: 331, 580
+ xy: 1727, 597
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10866,28 +10922,28 @@ block-cliffs-xlarge
index: -1
block-coal-centrifuge-large
rotate: false
- xy: 835, 494
+ xy: 751, 494
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-coal-centrifuge-medium
rotate: false
- xy: 1101, 613
+ xy: 1165, 613
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-coal-centrifuge-small
rotate: false
- xy: 1704, 666
+ xy: 1473, 327
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-coal-centrifuge-tiny
rotate: false
- xy: 1023, 310
+ xy: 1727, 579
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10901,28 +10957,28 @@ block-coal-centrifuge-xlarge
index: -1
block-combustion-generator-large
rotate: false
- xy: 751, 452
+ xy: 793, 536
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-combustion-generator-medium
rotate: false
- xy: 1135, 613
+ xy: 1199, 613
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-combustion-generator-small
rotate: false
- xy: 1730, 666
+ xy: 1499, 327
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-combustion-generator-tiny
rotate: false
- xy: 1817, 310
+ xy: 1727, 561
size: 16, 16
orig: 16, 16
offset: 0, 0
@@ -10934,6554 +10990,6694 @@ block-combustion-generator-xlarge
orig: 48, 48
offset: 0, 0
index: -1
-block-conduit-large
+block-command-center-large
rotate: false
- xy: 793, 452
+ xy: 793, 494
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-conduit-medium
+block-command-center-medium
rotate: false
- xy: 1169, 613
+ xy: 1233, 613
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-conduit-small
+block-command-center-small
rotate: false
- xy: 1756, 666
+ xy: 1525, 327
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-conduit-tiny
+block-command-center-tiny
rotate: false
- xy: 1835, 310
+ xy: 1031, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-conduit-xlarge
+block-command-center-xlarge
rotate: false
xy: 51, 278
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-container-large
+block-conduit-large
rotate: false
- xy: 835, 452
+ xy: 835, 536
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-container-medium
+block-conduit-medium
rotate: false
- xy: 1203, 613
+ xy: 1059, 579
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-container-small
+block-conduit-small
rotate: false
- xy: 1782, 666
+ xy: 1551, 327
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-container-tiny
+block-conduit-tiny
rotate: false
- xy: 1853, 310
+ xy: 1049, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-container-xlarge
+block-conduit-xlarge
rotate: false
xy: 1, 178
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-conveyor-large
+block-container-large
rotate: false
- xy: 743, 410
+ xy: 835, 494
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-conveyor-medium
+block-container-medium
rotate: false
- xy: 1237, 613
+ xy: 1093, 579
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-conveyor-small
+block-container-small
rotate: false
- xy: 1675, 640
+ xy: 1648, 353
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-conveyor-tiny
+block-container-tiny
rotate: false
- xy: 1871, 310
+ xy: 1067, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-conveyor-xlarge
+block-container-xlarge
rotate: false
xy: 51, 228
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-copper-wall-large
+block-conveyor-large
rotate: false
- xy: 785, 410
+ xy: 751, 452
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-copper-wall-large-large
+block-conveyor-medium
rotate: false
- xy: 827, 410
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-copper-wall-large-medium
- rotate: false
- xy: 1271, 613
+ xy: 1127, 579
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-copper-wall-large-small
+block-conveyor-small
rotate: false
- xy: 1701, 640
+ xy: 1387, 310
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-copper-wall-large-tiny
+block-conveyor-tiny
rotate: false
- xy: 1889, 310
+ xy: 1085, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-copper-wall-large-xlarge
+block-conveyor-xlarge
rotate: false
xy: 1, 128
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-copper-wall-medium
+block-copper-wall-large
rotate: false
- xy: 1305, 613
+ xy: 793, 452
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-copper-wall-large-large
+ rotate: false
+ xy: 835, 452
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-copper-wall-large-medium
+ rotate: false
+ xy: 1161, 579
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-copper-wall-small
+block-copper-wall-large-small
rotate: false
- xy: 1727, 640
+ xy: 2017, 818
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-copper-wall-tiny
+block-copper-wall-large-tiny
rotate: false
- xy: 1907, 310
+ xy: 1103, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-copper-wall-xlarge
+block-copper-wall-large-xlarge
rotate: false
xy: 51, 178
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-core-foundation-large
+block-copper-wall-medium
rotate: false
- xy: 701, 382
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-core-foundation-medium
- rotate: false
- xy: 1339, 613
+ xy: 1195, 579
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-core-foundation-small
+block-copper-wall-small
rotate: false
- xy: 1753, 640
+ xy: 1039, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-core-foundation-tiny
+block-copper-wall-tiny
rotate: false
- xy: 1925, 310
+ xy: 1121, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-core-foundation-xlarge
+block-copper-wall-xlarge
rotate: false
xy: 1, 78
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-core-nucleus-large
+block-core-foundation-large
rotate: false
- xy: 743, 368
+ xy: 743, 410
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-core-nucleus-medium
+block-core-foundation-medium
rotate: false
- xy: 1373, 613
+ xy: 1229, 579
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-core-nucleus-small
+block-core-foundation-small
rotate: false
- xy: 1779, 640
+ xy: 1065, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-core-nucleus-tiny
+block-core-foundation-tiny
rotate: false
- xy: 1943, 310
+ xy: 1139, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-core-nucleus-xlarge
+block-core-foundation-xlarge
rotate: false
xy: 51, 128
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-core-shard-large
+block-core-nucleus-large
rotate: false
- xy: 785, 368
+ xy: 785, 410
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-core-shard-medium
- rotate: false
- xy: 1407, 613
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-core-shard-small
- rotate: false
- xy: 1675, 614
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-core-shard-tiny
- rotate: false
- xy: 1961, 310
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-core-shard-xlarge
- rotate: false
- xy: 1, 28
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-craters-large
- rotate: false
- xy: 827, 368
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-craters-medium
- rotate: false
- xy: 1441, 613
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-craters-small
- rotate: false
- xy: 1701, 614
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-craters-tiny
- rotate: false
- xy: 1979, 310
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-craters-xlarge
- rotate: false
- xy: 51, 78
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-cryofluidmixer-large
- rotate: false
- xy: 493, 174
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-cryofluidmixer-medium
- rotate: false
- xy: 1475, 613
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-cryofluidmixer-small
- rotate: false
- xy: 1727, 614
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-cryofluidmixer-tiny
- rotate: false
- xy: 1997, 310
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-cryofluidmixer-xlarge
- rotate: false
- xy: 51, 28
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-cultivator-large
- rotate: false
- xy: 493, 132
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-cultivator-medium
- rotate: false
- xy: 1509, 613
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-cultivator-small
- rotate: false
- xy: 1753, 614
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-cultivator-tiny
- rotate: false
- xy: 2015, 310
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-cultivator-xlarge
- rotate: false
- xy: 857, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-cyclone-large
- rotate: false
- xy: 493, 90
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-cyclone-medium
- rotate: false
- xy: 1543, 613
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-cyclone-small
- rotate: false
- xy: 1779, 614
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-cyclone-tiny
- rotate: false
- xy: 1023, 292
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-cyclone-xlarge
- rotate: false
- xy: 907, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-dark-metal-large
- rotate: false
- xy: 543, 224
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-dark-metal-medium
- rotate: false
- xy: 1033, 584
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-dark-metal-small
- rotate: false
- xy: 1643, 336
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-dark-metal-tiny
- rotate: false
- xy: 2028, 518
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-dark-metal-xlarge
- rotate: false
- xy: 957, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-dark-panel-1-large
- rotate: false
- xy: 535, 182
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-dark-panel-1-medium
- rotate: false
- xy: 1067, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-dark-panel-1-small
- rotate: false
- xy: 1679, 588
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-dark-panel-1-tiny
- rotate: false
- xy: 2028, 500
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-dark-panel-1-xlarge
- rotate: false
- xy: 1007, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-dark-panel-2-large
- rotate: false
- xy: 535, 140
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-dark-panel-2-medium
- rotate: false
- xy: 1101, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-dark-panel-2-small
- rotate: false
- xy: 1679, 562
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-dark-panel-2-tiny
- rotate: false
- xy: 2028, 482
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-dark-panel-2-xlarge
- rotate: false
- xy: 1057, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-dark-panel-3-large
- rotate: false
- xy: 535, 98
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-dark-panel-3-medium
- rotate: false
- xy: 1135, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-dark-panel-3-small
- rotate: false
- xy: 1705, 588
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-dark-panel-3-tiny
- rotate: false
- xy: 2028, 464
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-dark-panel-3-xlarge
- rotate: false
- xy: 1107, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-dark-panel-4-large
- rotate: false
- xy: 593, 274
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-dark-panel-4-medium
- rotate: false
- xy: 1169, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-dark-panel-4-small
- rotate: false
- xy: 1679, 536
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-dark-panel-4-tiny
- rotate: false
- xy: 2028, 446
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-dark-panel-4-xlarge
- rotate: false
- xy: 1157, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-dark-panel-5-large
- rotate: false
- xy: 585, 232
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-dark-panel-5-medium
- rotate: false
- xy: 1203, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-dark-panel-5-small
- rotate: false
- xy: 1705, 562
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-dark-panel-5-tiny
- rotate: false
- xy: 2028, 428
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-dark-panel-5-xlarge
- rotate: false
- xy: 1207, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-dark-panel-6-large
- rotate: false
- xy: 643, 324
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-dark-panel-6-medium
- rotate: false
- xy: 1237, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-dark-panel-6-small
- rotate: false
- xy: 1731, 588
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-dark-panel-6-tiny
- rotate: false
- xy: 2028, 410
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-dark-panel-6-xlarge
- rotate: false
- xy: 1257, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-darksand-large
- rotate: false
- xy: 635, 282
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-darksand-medium
- rotate: false
- xy: 1271, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-darksand-small
- rotate: false
- xy: 1705, 536
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-darksand-tainted-water-large
- rotate: false
- xy: 393, 24
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-darksand-tainted-water-medium
- rotate: false
- xy: 1305, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-darksand-tainted-water-small
- rotate: false
- xy: 1731, 562
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-darksand-tainted-water-tiny
- rotate: false
- xy: 355, 6
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-darksand-tainted-water-xlarge
- rotate: false
- xy: 1307, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-darksand-tiny
- rotate: false
- xy: 373, 6
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-darksand-water-large
- rotate: false
- xy: 443, 48
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-darksand-water-medium
- rotate: false
- xy: 1339, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-darksand-water-small
- rotate: false
- xy: 1757, 588
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-darksand-water-tiny
- rotate: false
- xy: 391, 6
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-darksand-water-xlarge
- rotate: false
- xy: 1357, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-darksand-xlarge
- rotate: false
- xy: 1407, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-deepwater-large
- rotate: false
- xy: 485, 48
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-deepwater-medium
- rotate: false
- xy: 1373, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-deepwater-small
- rotate: false
- xy: 1731, 536
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-deepwater-tiny
- rotate: false
- xy: 409, 6
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-deepwater-xlarge
- rotate: false
- xy: 1457, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-differential-generator-large
- rotate: false
- xy: 435, 6
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-differential-generator-medium
- rotate: false
- xy: 1407, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-differential-generator-small
- rotate: false
- xy: 1757, 562
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-differential-generator-tiny
- rotate: false
- xy: 1041, 323
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-differential-generator-xlarge
- rotate: false
- xy: 1507, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-diode-large
- rotate: false
- xy: 477, 6
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-diode-medium
- rotate: false
- xy: 1441, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-diode-small
- rotate: false
- xy: 1757, 536
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-diode-tiny
- rotate: false
- xy: 1059, 323
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-diode-xlarge
- rotate: false
- xy: 1557, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-disassembler-large
- rotate: false
- xy: 869, 410
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-disassembler-medium
- rotate: false
- xy: 1475, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-disassembler-small
- rotate: false
- xy: 1690, 510
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-disassembler-tiny
- rotate: false
- xy: 1041, 305
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-disassembler-xlarge
- rotate: false
- xy: 1607, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-distributor-large
- rotate: false
- xy: 869, 368
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-distributor-medium
- rotate: false
- xy: 1509, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-distributor-small
- rotate: false
- xy: 1690, 484
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-distributor-tiny
- rotate: false
- xy: 1077, 323
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-distributor-xlarge
- rotate: false
- xy: 1657, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-door-large
- rotate: false
- xy: 577, 182
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-door-large-large
- rotate: false
- xy: 577, 140
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-door-large-medium
- rotate: false
- xy: 1543, 579
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-door-large-small
- rotate: false
- xy: 1716, 510
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-door-large-tiny
- rotate: false
- xy: 1059, 305
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-door-large-xlarge
- rotate: false
- xy: 1707, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-door-medium
+block-core-nucleus-medium
rotate: false
xy: 1979, 899
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-door-small
+block-core-nucleus-small
rotate: false
- xy: 1690, 458
+ xy: 1091, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-door-tiny
+block-core-nucleus-tiny
rotate: false
- xy: 1095, 323
+ xy: 1157, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-door-xlarge
+block-core-nucleus-xlarge
rotate: false
- xy: 1757, 975
+ xy: 1, 28
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-dunerocks-large
+block-core-shard-large
rotate: false
- xy: 577, 98
+ xy: 827, 410
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-dunerocks-medium
+block-core-shard-medium
rotate: false
xy: 2013, 907
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-dunerocks-small
+block-core-shard-small
rotate: false
- xy: 1716, 484
+ xy: 1117, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-dunerocks-tiny
+block-core-shard-tiny
rotate: false
- xy: 1077, 305
+ xy: 1175, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-dunerocks-xlarge
+block-core-shard-xlarge
rotate: false
- xy: 1807, 975
+ xy: 51, 78
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-duo-large
+block-craters-large
rotate: false
- xy: 535, 56
+ xy: 743, 368
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-duo-medium
+block-craters-medium
rotate: false
- xy: 1581, 660
+ xy: 1983, 865
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-duo-small
+block-craters-small
rotate: false
- xy: 1742, 510
+ xy: 1143, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-duo-tiny
+block-craters-tiny
rotate: false
- xy: 1113, 323
+ xy: 1193, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-duo-xlarge
+block-craters-xlarge
rotate: false
- xy: 1857, 975
+ xy: 51, 28
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-exponential-reconstructor-large
+block-cryofluidmixer-large
rotate: false
- xy: 577, 56
+ xy: 785, 368
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-exponential-reconstructor-medium
+block-cryofluidmixer-medium
rotate: false
xy: 881, 560
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-exponential-reconstructor-small
+block-cryofluidmixer-small
rotate: false
- xy: 1690, 432
+ xy: 1169, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-exponential-reconstructor-tiny
+block-cryofluidmixer-tiny
rotate: false
- xy: 1095, 305
+ xy: 1211, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-exponential-reconstructor-xlarge
+block-cryofluidmixer-xlarge
rotate: false
- xy: 1907, 975
+ xy: 857, 975
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-force-projector-large
+block-cultivator-large
rotate: false
- xy: 627, 232
+ xy: 827, 368
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-force-projector-medium
- rotate: false
- xy: 915, 560
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-force-projector-small
- rotate: false
- xy: 1716, 458
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-force-projector-tiny
- rotate: false
- xy: 1131, 323
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-force-projector-xlarge
- rotate: false
- xy: 1957, 975
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-fuse-large
- rotate: false
- xy: 619, 190
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-fuse-medium
- rotate: false
- xy: 949, 560
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-fuse-small
- rotate: false
- xy: 1742, 484
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-fuse-tiny
- rotate: false
- xy: 1113, 305
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-fuse-xlarge
- rotate: false
- xy: 345, 866
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-graphite-press-large
- rotate: false
- xy: 619, 148
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-graphite-press-medium
- rotate: false
- xy: 983, 560
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-graphite-press-small
- rotate: false
- xy: 1716, 432
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-graphite-press-tiny
- rotate: false
- xy: 1149, 323
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-graphite-press-xlarge
- rotate: false
- xy: 395, 866
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-grass-large
- rotate: false
- xy: 619, 106
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-grass-medium
+block-cultivator-medium
rotate: false
xy: 877, 526
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-grass-small
+block-cultivator-small
rotate: false
- xy: 1742, 458
+ xy: 1195, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-grass-tiny
+block-cultivator-tiny
rotate: false
- xy: 1131, 305
+ xy: 1229, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-grass-xlarge
+block-cultivator-xlarge
rotate: false
- xy: 445, 866
+ xy: 907, 975
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ground-factory-large
+block-cyclone-large
rotate: false
- xy: 619, 64
+ xy: 493, 100
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-ground-factory-medium
- rotate: false
- xy: 911, 526
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-ground-factory-small
- rotate: false
- xy: 1742, 432
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-ground-factory-tiny
- rotate: false
- xy: 1167, 323
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-ground-factory-xlarge
- rotate: false
- xy: 495, 866
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-hail-large
- rotate: false
- xy: 677, 282
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-hail-medium
+block-cyclone-medium
rotate: false
xy: 877, 492
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-hail-small
+block-cyclone-small
rotate: false
- xy: 1783, 588
+ xy: 1221, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-hail-tiny
+block-cyclone-tiny
rotate: false
- xy: 1149, 305
+ xy: 1247, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-hail-xlarge
+block-cyclone-xlarge
rotate: false
- xy: 545, 866
+ xy: 957, 975
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-holostone-large
+block-dark-metal-large
rotate: false
- xy: 669, 240
+ xy: 451, 82
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-holostone-medium
- rotate: false
- xy: 911, 492
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-holostone-small
- rotate: false
- xy: 1783, 562
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-holostone-tiny
- rotate: false
- xy: 1185, 323
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-holostone-xlarge
- rotate: false
- xy: 595, 866
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-hotrock-large
- rotate: false
- xy: 519, 6
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-hotrock-medium
- rotate: false
- xy: 945, 526
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-hotrock-small
- rotate: false
- xy: 1783, 536
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-hotrock-tiny
- rotate: false
- xy: 1167, 305
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-hotrock-xlarge
- rotate: false
- xy: 645, 866
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-ice-large
- rotate: false
- xy: 561, 14
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-ice-medium
+block-dark-metal-medium
rotate: false
xy: 877, 458
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-ice-small
+block-dark-metal-small
rotate: false
- xy: 1768, 510
+ xy: 1247, 281
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-ice-snow-large
+block-dark-metal-tiny
rotate: false
- xy: 603, 14
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-ice-snow-medium
- rotate: false
- xy: 911, 458
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-ice-snow-small
- rotate: false
- xy: 1768, 484
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-ice-snow-tiny
- rotate: false
- xy: 1203, 323
+ xy: 1265, 211
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ice-snow-xlarge
+block-dark-metal-xlarge
+ rotate: false
+ xy: 1007, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-dark-panel-1-large
+ rotate: false
+ xy: 535, 98
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-dark-panel-1-medium
+ rotate: false
+ xy: 915, 547
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-dark-panel-1-small
+ rotate: false
+ xy: 1273, 281
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-dark-panel-1-tiny
+ rotate: false
+ xy: 1283, 211
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-dark-panel-1-xlarge
+ rotate: false
+ xy: 1057, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-dark-panel-2-large
+ rotate: false
+ xy: 493, 58
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-dark-panel-2-medium
+ rotate: false
+ xy: 911, 513
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-dark-panel-2-small
+ rotate: false
+ xy: 1299, 281
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-dark-panel-2-tiny
+ rotate: false
+ xy: 1301, 211
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-dark-panel-2-xlarge
+ rotate: false
+ xy: 1107, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-dark-panel-3-large
+ rotate: false
+ xy: 535, 56
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-dark-panel-3-medium
+ rotate: false
+ xy: 911, 479
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-dark-panel-3-small
+ rotate: false
+ xy: 1325, 294
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-dark-panel-3-tiny
+ rotate: false
+ xy: 1747, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-dark-panel-3-xlarge
+ rotate: false
+ xy: 1157, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-dark-panel-4-large
+ rotate: false
+ xy: 693, 350
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-dark-panel-4-medium
+ rotate: false
+ xy: 911, 445
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-dark-panel-4-small
+ rotate: false
+ xy: 1351, 294
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-dark-panel-4-tiny
+ rotate: false
+ xy: 1765, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-dark-panel-4-xlarge
+ rotate: false
+ xy: 1207, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-dark-panel-5-large
+ rotate: false
+ xy: 651, 332
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-dark-panel-5-medium
+ rotate: false
+ xy: 911, 411
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-dark-panel-5-small
+ rotate: false
+ xy: 1325, 268
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-dark-panel-5-tiny
+ rotate: false
+ xy: 1783, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-dark-panel-5-xlarge
+ rotate: false
+ xy: 1257, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-dark-panel-6-large
+ rotate: false
+ xy: 693, 308
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-dark-panel-6-medium
+ rotate: false
+ xy: 911, 377
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-dark-panel-6-small
+ rotate: false
+ xy: 1351, 268
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-dark-panel-6-tiny
+ rotate: false
+ xy: 1801, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-dark-panel-6-xlarge
+ rotate: false
+ xy: 1307, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-darksand-large
+ rotate: false
+ xy: 735, 326
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-darksand-medium
+ rotate: false
+ xy: 957, 555
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-darksand-small
+ rotate: false
+ xy: 1377, 284
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-darksand-tainted-water-large
+ rotate: false
+ xy: 777, 326
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-darksand-tainted-water-medium
+ rotate: false
+ xy: 991, 550
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-darksand-tainted-water-small
+ rotate: false
+ xy: 1377, 258
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-darksand-tainted-water-tiny
+ rotate: false
+ xy: 1819, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-darksand-tainted-water-xlarge
+ rotate: false
+ xy: 1357, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-darksand-tiny
+ rotate: false
+ xy: 1837, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-darksand-water-large
+ rotate: false
+ xy: 819, 326
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-darksand-water-medium
+ rotate: false
+ xy: 1025, 550
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-darksand-water-small
+ rotate: false
+ xy: 1693, 463
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-darksand-water-tiny
+ rotate: false
+ xy: 1855, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-darksand-water-xlarge
+ rotate: false
+ xy: 1407, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-darksand-xlarge
+ rotate: false
+ xy: 1457, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-deepwater-large
+ rotate: false
+ xy: 735, 284
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-deepwater-medium
+ rotate: false
+ xy: 1059, 545
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-deepwater-small
+ rotate: false
+ xy: 1674, 353
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-deepwater-tiny
+ rotate: false
+ xy: 1873, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-deepwater-xlarge
+ rotate: false
+ xy: 1507, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-differential-generator-large
+ rotate: false
+ xy: 777, 284
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-differential-generator-medium
+ rotate: false
+ xy: 1093, 545
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-differential-generator-small
+ rotate: false
+ xy: 1622, 329
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-differential-generator-tiny
+ rotate: false
+ xy: 1891, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-differential-generator-xlarge
+ rotate: false
+ xy: 1557, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-diode-large
+ rotate: false
+ xy: 819, 284
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-diode-medium
+ rotate: false
+ xy: 1127, 545
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-diode-small
+ rotate: false
+ xy: 1648, 327
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-diode-tiny
+ rotate: false
+ xy: 1909, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-diode-xlarge
+ rotate: false
+ xy: 1607, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-disassembler-large
+ rotate: false
+ xy: 646, 290
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-disassembler-medium
+ rotate: false
+ xy: 1161, 545
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-disassembler-small
+ rotate: false
+ xy: 1674, 327
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-disassembler-tiny
+ rotate: false
+ xy: 1927, 662
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-disassembler-xlarge
+ rotate: false
+ xy: 1657, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-distributor-large
+ rotate: false
+ xy: 643, 248
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-distributor-medium
+ rotate: false
+ xy: 1195, 545
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-distributor-small
+ rotate: false
+ xy: 1403, 284
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-distributor-tiny
+ rotate: false
+ xy: 1745, 644
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-distributor-xlarge
+ rotate: false
+ xy: 1707, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-door-large
+ rotate: false
+ xy: 601, 232
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-door-large-large
+ rotate: false
+ xy: 643, 206
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-door-large-medium
+ rotate: false
+ xy: 1229, 545
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-door-large-small
+ rotate: false
+ xy: 1403, 258
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-door-large-tiny
+ rotate: false
+ xy: 1763, 644
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-door-large-xlarge
+ rotate: false
+ xy: 1757, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-door-medium
+ rotate: false
+ xy: 1485, 761
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-door-small
+ rotate: false
+ xy: 1429, 301
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-door-tiny
+ rotate: false
+ xy: 1745, 626
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-door-xlarge
+ rotate: false
+ xy: 1807, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-dunerocks-large
+ rotate: false
+ xy: 688, 266
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-dunerocks-medium
+ rotate: false
+ xy: 603, 4
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-dunerocks-small
+ rotate: false
+ xy: 1429, 275
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-dunerocks-tiny
+ rotate: false
+ xy: 1763, 626
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-dunerocks-xlarge
+ rotate: false
+ xy: 1857, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-duo-large
+ rotate: false
+ xy: 685, 224
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-duo-medium
+ rotate: false
+ xy: 1397, 676
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-duo-small
+ rotate: false
+ xy: 1455, 301
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-duo-tiny
+ rotate: false
+ xy: 1781, 644
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-duo-xlarge
+ rotate: false
+ xy: 1907, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-exponential-reconstructor-large
+ rotate: false
+ xy: 685, 182
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-exponential-reconstructor-medium
+ rotate: false
+ xy: 1267, 613
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-exponential-reconstructor-small
+ rotate: false
+ xy: 1455, 275
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-exponential-reconstructor-tiny
+ rotate: false
+ xy: 1745, 608
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-exponential-reconstructor-xlarge
+ rotate: false
+ xy: 1957, 975
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-force-projector-large
+ rotate: false
+ xy: 730, 242
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-force-projector-medium
+ rotate: false
+ xy: 1263, 579
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-force-projector-small
+ rotate: false
+ xy: 1481, 301
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-force-projector-tiny
+ rotate: false
+ xy: 1763, 608
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-force-projector-xlarge
+ rotate: false
+ xy: 345, 866
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-fuse-large
+ rotate: false
+ xy: 772, 242
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-fuse-medium
+ rotate: false
+ xy: 1263, 545
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-fuse-small
+ rotate: false
+ xy: 1481, 275
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-fuse-tiny
+ rotate: false
+ xy: 1781, 626
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-fuse-xlarge
+ rotate: false
+ xy: 395, 866
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-graphite-press-large
+ rotate: false
+ xy: 814, 242
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-graphite-press-medium
+ rotate: false
+ xy: 1275, 647
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-graphite-press-small
+ rotate: false
+ xy: 1507, 301
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-graphite-press-tiny
+ rotate: false
+ xy: 1799, 644
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-graphite-press-xlarge
+ rotate: false
+ xy: 445, 866
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-grass-large
+ rotate: false
+ xy: 727, 200
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-grass-medium
+ rotate: false
+ xy: 1983, 831
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-grass-small
+ rotate: false
+ xy: 1507, 275
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-grass-tiny
+ rotate: false
+ xy: 1745, 590
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-grass-xlarge
+ rotate: false
+ xy: 495, 866
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-ground-factory-large
+ rotate: false
+ xy: 769, 200
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-ground-factory-medium
+ rotate: false
+ xy: 1431, 676
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-ground-factory-small
+ rotate: false
+ xy: 1533, 301
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-ground-factory-tiny
+ rotate: false
+ xy: 1763, 590
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-ground-factory-xlarge
+ rotate: false
+ xy: 545, 866
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-hail-large
+ rotate: false
+ xy: 811, 200
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-hail-medium
+ rotate: false
+ xy: 1439, 710
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-hail-small
+ rotate: false
+ xy: 1533, 275
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-hail-tiny
+ rotate: false
+ xy: 1781, 608
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-hail-xlarge
+ rotate: false
+ xy: 595, 866
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-holostone-large
+ rotate: false
+ xy: 727, 158
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-holostone-medium
+ rotate: false
+ xy: 1447, 744
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-holostone-small
+ rotate: false
+ xy: 1559, 301
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-holostone-tiny
+ rotate: false
+ xy: 1799, 626
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-holostone-xlarge
+ rotate: false
+ xy: 645, 866
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-hotrock-large
+ rotate: false
+ xy: 769, 158
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-hotrock-medium
+ rotate: false
+ xy: 1481, 727
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-hotrock-small
+ rotate: false
+ xy: 1559, 275
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-hotrock-tiny
+ rotate: false
+ xy: 1817, 644
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-hotrock-xlarge
rotate: false
xy: 695, 866
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ice-tiny
+block-hyper-processor-large
rotate: false
- xy: 1185, 305
+ xy: 811, 158
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-hyper-processor-medium
+ rotate: false
+ xy: 1473, 693
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-hyper-processor-small
+ rotate: false
+ xy: 1429, 249
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-hyper-processor-tiny
+ rotate: false
+ xy: 1745, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ice-xlarge
+block-hyper-processor-xlarge
rotate: false
xy: 101, 478
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-icerocks-large
+block-ice-large
rotate: false
- xy: 661, 190
+ xy: 869, 410
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-icerocks-medium
+block-ice-medium
rotate: false
- xy: 945, 492
+ xy: 1465, 659
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-icerocks-small
+block-ice-small
rotate: false
- xy: 1768, 458
+ xy: 1455, 249
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-icerocks-tiny
+block-ice-snow-large
rotate: false
- xy: 1221, 323
+ xy: 869, 368
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-ice-snow-medium
+ rotate: false
+ xy: 1301, 613
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-ice-snow-small
+ rotate: false
+ xy: 1481, 249
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-ice-snow-tiny
+ rotate: false
+ xy: 1763, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-icerocks-xlarge
+block-ice-snow-xlarge
rotate: false
xy: 101, 428
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ignarock-large
+block-ice-tiny
rotate: false
- xy: 661, 148
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-ignarock-medium
- rotate: false
- xy: 979, 526
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-ignarock-small
- rotate: false
- xy: 1768, 432
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-ignarock-tiny
- rotate: false
- xy: 1203, 305
+ xy: 1781, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ignarock-xlarge
+block-ice-xlarge
rotate: false
xy: 101, 378
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-illuminator-large
+block-icerocks-large
rotate: false
- xy: 661, 106
+ xy: 861, 326
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-illuminator-medium
+block-icerocks-medium
rotate: false
- xy: 945, 458
+ xy: 1297, 579
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-illuminator-small
+block-icerocks-small
rotate: false
- xy: 1690, 406
+ xy: 1507, 249
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-illuminator-tiny
+block-icerocks-tiny
rotate: false
- xy: 1239, 323
+ xy: 1799, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-illuminator-xlarge
+block-icerocks-xlarge
rotate: false
xy: 101, 328
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-impact-reactor-large
+block-ignarock-large
rotate: false
- xy: 661, 64
+ xy: 861, 284
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-impact-reactor-medium
+block-ignarock-medium
rotate: false
- xy: 979, 492
+ xy: 1297, 545
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-impact-reactor-small
+block-ignarock-small
rotate: false
- xy: 1716, 406
+ xy: 1533, 249
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-impact-reactor-tiny
+block-ignarock-tiny
rotate: false
- xy: 1221, 305
+ xy: 1817, 626
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-impact-reactor-xlarge
+block-ignarock-xlarge
rotate: false
xy: 101, 278
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-incinerator-large
+block-illuminator-large
rotate: false
- xy: 645, 22
+ xy: 856, 242
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-incinerator-medium
+block-illuminator-medium
rotate: false
- xy: 979, 458
+ xy: 1507, 693
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-incinerator-small
+block-illuminator-small
rotate: false
- xy: 1742, 406
+ xy: 1559, 249
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-incinerator-tiny
+block-illuminator-tiny
rotate: false
- xy: 1257, 323
+ xy: 1835, 644
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-incinerator-xlarge
+block-illuminator-xlarge
rotate: false
xy: 101, 228
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-inverted-sorter-large
+block-impact-reactor-large
rotate: false
- xy: 687, 22
+ xy: 853, 200
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-inverted-sorter-medium
+block-impact-reactor-medium
rotate: false
- xy: 911, 424
+ xy: 1499, 659
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-inverted-sorter-small
+block-impact-reactor-small
rotate: false
- xy: 1768, 406
+ xy: 997, 184
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-inverted-sorter-tiny
+block-impact-reactor-tiny
rotate: false
- xy: 1239, 305
+ xy: 1781, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-inverted-sorter-xlarge
+block-impact-reactor-xlarge
rotate: false
xy: 101, 178
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-item-source-large
+block-incinerator-large
rotate: false
- xy: 711, 240
+ xy: 853, 158
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-item-source-medium
+block-incinerator-medium
rotate: false
- xy: 911, 390
+ xy: 1515, 727
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-item-source-small
+block-incinerator-small
rotate: false
- xy: 1688, 380
+ xy: 989, 6
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-item-source-tiny
+block-incinerator-tiny
rotate: false
- xy: 1275, 323
+ xy: 1799, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-item-source-xlarge
+block-incinerator-xlarge
rotate: false
xy: 101, 128
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-item-void-large
+block-inverted-sorter-large
rotate: false
- xy: 703, 198
+ xy: 577, 98
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-item-void-medium
+block-inverted-sorter-medium
rotate: false
- xy: 945, 424
+ xy: 1519, 761
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-item-void-small
+block-inverted-sorter-small
rotate: false
- xy: 1714, 380
+ xy: 1693, 437
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-item-void-tiny
+block-inverted-sorter-tiny
rotate: false
- xy: 1257, 305
+ xy: 1817, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-item-void-xlarge
+block-inverted-sorter-xlarge
rotate: false
xy: 101, 78
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-junction-large
+block-item-source-large
rotate: false
- xy: 703, 156
+ xy: 577, 56
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-junction-medium
+block-item-source-medium
rotate: false
- xy: 945, 390
+ xy: 1523, 795
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-junction-small
+block-item-source-small
rotate: false
- xy: 1740, 380
+ xy: 1688, 411
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-junction-tiny
+block-item-source-tiny
rotate: false
- xy: 1293, 323
+ xy: 1835, 626
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-junction-xlarge
+block-item-source-xlarge
rotate: false
xy: 101, 28
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-kiln-large
+block-item-void-large
rotate: false
- xy: 703, 114
+ xy: 585, 140
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-kiln-medium
+block-item-void-medium
rotate: false
- xy: 979, 424
+ xy: 1533, 659
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-kiln-small
+block-item-void-small
rotate: false
- xy: 1766, 380
+ xy: 1685, 385
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-kiln-tiny
+block-item-void-tiny
rotate: false
- xy: 1275, 305
+ xy: 1853, 644
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-kiln-xlarge
+block-item-void-xlarge
rotate: false
xy: 231, 608
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-lancer-large
+block-junction-large
rotate: false
- xy: 703, 72
+ xy: 585, 182
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-lancer-medium
+block-junction-medium
rotate: false
- xy: 979, 390
+ xy: 1541, 693
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-lancer-small
+block-junction-small
rotate: false
- xy: 1794, 510
+ xy: 1013, 260
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-lancer-tiny
+block-junction-tiny
rotate: false
- xy: 1311, 323
+ xy: 1799, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-lancer-xlarge
+block-junction-xlarge
rotate: false
xy: 231, 558
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-laser-drill-large
+block-kiln-large
rotate: false
- xy: 745, 198
+ xy: 627, 164
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-laser-drill-medium
+block-kiln-medium
rotate: false
- xy: 911, 356
+ xy: 1549, 727
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-laser-drill-small
+block-kiln-small
rotate: false
- xy: 1794, 484
+ xy: 1039, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-laser-drill-tiny
+block-kiln-tiny
rotate: false
- xy: 1293, 305
+ xy: 1817, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-laser-drill-xlarge
+block-kiln-xlarge
rotate: false
xy: 745, 866
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-launch-pad-large
+block-lancer-large
rotate: false
- xy: 745, 156
+ xy: 627, 122
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-launch-pad-large-large
+block-lancer-medium
rotate: false
- xy: 745, 114
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-launch-pad-large-medium
- rotate: false
- xy: 945, 356
+ xy: 1553, 761
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-launch-pad-large-small
+block-lancer-small
rotate: false
- xy: 1794, 458
+ xy: 1065, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-launch-pad-large-tiny
+block-lancer-tiny
rotate: false
- xy: 1329, 323
+ xy: 1835, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-launch-pad-large-xlarge
+block-lancer-xlarge
rotate: false
xy: 151, 508
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-launch-pad-medium
+block-laser-drill-large
rotate: false
- xy: 979, 356
+ xy: 619, 80
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-laser-drill-medium
+ rotate: false
+ xy: 1567, 659
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-launch-pad-small
+block-laser-drill-small
rotate: false
- xy: 1794, 432
+ xy: 1091, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-launch-pad-tiny
+block-laser-drill-tiny
rotate: false
- xy: 1311, 305
+ xy: 1853, 626
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-launch-pad-xlarge
+block-laser-drill-xlarge
rotate: false
xy: 151, 458
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-liquid-junction-large
+block-launch-pad-large
rotate: false
- xy: 745, 72
+ xy: 669, 140
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-liquid-junction-medium
+block-launch-pad-large-large
rotate: false
- xy: 1657, 744
+ xy: 619, 38
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-launch-pad-large-medium
+ rotate: false
+ xy: 1575, 693
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-liquid-junction-small
+block-launch-pad-large-small
rotate: false
- xy: 1794, 406
+ xy: 1117, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-liquid-junction-tiny
+block-launch-pad-large-tiny
rotate: false
- xy: 1347, 323
+ xy: 1871, 644
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-liquid-junction-xlarge
+block-launch-pad-large-xlarge
rotate: false
xy: 201, 508
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-liquid-router-large
+block-launch-pad-medium
rotate: false
- xy: 729, 30
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-liquid-router-medium
- rotate: false
- xy: 1691, 744
+ xy: 1583, 727
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-liquid-router-small
+block-launch-pad-small
rotate: false
- xy: 1792, 380
+ xy: 1143, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-liquid-router-tiny
+block-launch-pad-tiny
rotate: false
- xy: 1329, 305
+ xy: 1817, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-liquid-router-xlarge
+block-launch-pad-xlarge
rotate: false
xy: 151, 408
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-liquid-source-large
+block-liquid-junction-large
rotate: false
- xy: 771, 30
+ xy: 669, 98
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-liquid-source-medium
+block-liquid-junction-medium
rotate: false
- xy: 1615, 702
+ xy: 1601, 659
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-liquid-source-small
+block-liquid-junction-small
rotate: false
- xy: 1669, 348
+ xy: 1169, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-liquid-source-tiny
+block-liquid-junction-tiny
rotate: false
- xy: 1365, 323
+ xy: 1835, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-liquid-source-xlarge
+block-liquid-junction-xlarge
rotate: false
xy: 201, 458
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-liquid-tank-large
+block-liquid-router-large
rotate: false
- xy: 821, 933
+ xy: 661, 56
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-liquid-tank-medium
+block-liquid-router-medium
rotate: false
- xy: 1615, 668
+ xy: 1609, 693
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-liquid-tank-small
+block-liquid-router-small
rotate: false
- xy: 1695, 354
+ xy: 1195, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-liquid-tank-tiny
+block-liquid-router-tiny
rotate: false
- xy: 1347, 305
+ xy: 1853, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-liquid-tank-xlarge
+block-liquid-router-xlarge
rotate: false
xy: 151, 358
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-liquid-void-large
+block-liquid-source-large
rotate: false
- xy: 863, 933
+ xy: 711, 116
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-liquid-void-medium
+block-liquid-source-medium
rotate: false
- xy: 1783, 828
+ xy: 1635, 659
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-liquid-void-small
+block-liquid-source-small
rotate: false
- xy: 1721, 354
+ xy: 1221, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-liquid-void-tiny
+block-liquid-source-tiny
rotate: false
- xy: 1383, 323
+ xy: 1871, 626
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-liquid-void-xlarge
+block-liquid-source-xlarge
rotate: false
xy: 201, 408
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-logic-display-large
+block-liquid-tank-large
rotate: false
- xy: 905, 933
+ xy: 753, 116
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-logic-display-medium
+block-liquid-tank-medium
rotate: false
- xy: 1817, 828
+ xy: 1321, 660
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-logic-display-small
+block-liquid-tank-small
rotate: false
- xy: 1747, 354
+ xy: 1247, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-logic-display-tiny
+block-liquid-tank-tiny
rotate: false
- xy: 1365, 305
+ xy: 1889, 644
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-logic-display-xlarge
+block-liquid-tank-xlarge
rotate: false
xy: 151, 308
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-logic-processor-large
+block-liquid-void-large
rotate: false
- xy: 947, 933
+ xy: 795, 116
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-logic-processor-medium
+block-liquid-void-medium
rotate: false
- xy: 1851, 828
+ xy: 1355, 660
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-logic-processor-small
+block-liquid-void-small
rotate: false
- xy: 1773, 354
+ xy: 1273, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-logic-processor-tiny
+block-liquid-void-tiny
rotate: false
- xy: 1401, 323
+ xy: 1835, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-logic-processor-xlarge
+block-liquid-void-xlarge
rotate: false
xy: 201, 358
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-magmarock-large
+block-logic-display-large
rotate: false
- xy: 989, 933
+ xy: 837, 116
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-magmarock-medium
+block-logic-display-medium
rotate: false
- xy: 1885, 828
+ xy: 1335, 626
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-magmarock-small
+block-logic-display-small
rotate: false
- xy: 1799, 354
+ xy: 1299, 255
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-magmarock-tiny
+block-logic-display-tiny
rotate: false
- xy: 1383, 305
+ xy: 1853, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-magmarock-xlarge
+block-logic-display-xlarge
rotate: false
xy: 151, 258
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-mass-conveyor-large
+block-logic-processor-large
rotate: false
- xy: 1031, 933
+ xy: 661, 14
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-mass-conveyor-medium
+block-logic-processor-medium
rotate: false
- xy: 1919, 828
+ xy: 1369, 626
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-mass-conveyor-small
+block-logic-processor-small
rotate: false
- xy: 1669, 322
+ xy: 1325, 242
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-mass-conveyor-tiny
+block-logic-processor-tiny
rotate: false
- xy: 1419, 323
+ xy: 1871, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-mass-conveyor-xlarge
+block-logic-processor-xlarge
rotate: false
xy: 201, 308
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-mass-driver-large
+block-magmarock-large
rotate: false
- xy: 1073, 933
+ xy: 711, 74
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-mass-driver-medium
+block-magmarock-medium
rotate: false
- xy: 1953, 828
+ xy: 1403, 642
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-mass-driver-small
+block-magmarock-small
rotate: false
- xy: 1695, 328
+ xy: 1351, 242
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-mass-driver-tiny
+block-magmarock-tiny
rotate: false
- xy: 1401, 305
+ xy: 1889, 626
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-mass-driver-xlarge
+block-magmarock-xlarge
rotate: false
xy: 151, 208
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-mechanical-drill-large
+block-mass-driver-large
rotate: false
- xy: 1115, 933
+ xy: 753, 74
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-mechanical-drill-medium
+block-mass-driver-medium
rotate: false
- xy: 1741, 786
+ xy: 1403, 608
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-mechanical-drill-small
+block-mass-driver-small
rotate: false
- xy: 1721, 328
+ xy: 1377, 232
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-mechanical-drill-tiny
+block-mass-driver-tiny
rotate: false
- xy: 1437, 323
+ xy: 1907, 644
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-mechanical-drill-xlarge
+block-mass-driver-xlarge
rotate: false
xy: 201, 258
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-mechanical-pump-large
+block-mechanical-drill-large
rotate: false
- xy: 1157, 933
+ xy: 795, 74
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-mechanical-pump-medium
+block-mechanical-drill-medium
rotate: false
- xy: 1581, 626
+ xy: 1335, 592
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-mechanical-pump-small
+block-mechanical-drill-small
rotate: false
- xy: 1747, 328
+ xy: 1403, 232
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-mechanical-pump-tiny
+block-mechanical-drill-tiny
rotate: false
- xy: 1419, 305
+ xy: 1853, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-mechanical-pump-xlarge
+block-mechanical-drill-xlarge
rotate: false
xy: 151, 158
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-meltdown-large
+block-mechanical-pump-large
rotate: false
- xy: 1199, 933
+ xy: 837, 74
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-meltdown-medium
+block-mechanical-pump-medium
rotate: false
- xy: 1615, 634
+ xy: 1369, 592
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-meltdown-small
+block-mechanical-pump-small
rotate: false
- xy: 1773, 328
+ xy: 1429, 223
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-meltdown-tiny
+block-mechanical-pump-tiny
rotate: false
- xy: 1455, 323
+ xy: 1871, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-meltdown-xlarge
+block-mechanical-pump-xlarge
rotate: false
xy: 201, 208
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-melter-large
+block-meltdown-large
rotate: false
- xy: 1241, 933
+ xy: 703, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-melter-medium
+block-meltdown-medium
rotate: false
- xy: 1577, 592
+ xy: 1331, 558
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-melter-small
+block-meltdown-small
rotate: false
- xy: 1799, 328
+ xy: 1455, 223
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-melter-tiny
+block-meltdown-tiny
rotate: false
- xy: 1437, 305
+ xy: 1889, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-melter-xlarge
+block-meltdown-xlarge
rotate: false
xy: 151, 108
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-mend-projector-large
+block-melter-large
rotate: false
- xy: 1283, 933
+ xy: 745, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-mend-projector-medium
+block-melter-medium
rotate: false
- xy: 1577, 558
+ xy: 1365, 558
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-mend-projector-small
+block-melter-small
rotate: false
- xy: 1818, 380
+ xy: 1481, 223
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-mend-projector-tiny
+block-melter-tiny
rotate: false
- xy: 1473, 323
+ xy: 1907, 626
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-mend-projector-xlarge
+block-melter-xlarge
rotate: false
xy: 201, 158
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-mender-large
+block-memory-cell-large
rotate: false
- xy: 1325, 933
+ xy: 787, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-mender-medium
+block-memory-cell-medium
rotate: false
- xy: 2013, 873
+ xy: 1403, 574
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-mender-small
+block-memory-cell-small
rotate: false
- xy: 1825, 354
+ xy: 1507, 223
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-mender-tiny
+block-memory-cell-tiny
rotate: false
- xy: 1455, 305
+ xy: 1925, 644
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-mender-xlarge
+block-memory-cell-xlarge
rotate: false
xy: 151, 58
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-message-large
+block-mend-projector-large
rotate: false
- xy: 1367, 933
+ xy: 829, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-message-medium
+block-mend-projector-medium
rotate: false
- xy: 1979, 865
+ xy: 1331, 524
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-message-small
+block-mend-projector-small
rotate: false
- xy: 1825, 328
+ xy: 1533, 223
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-message-tiny
+block-mend-projector-tiny
rotate: false
- xy: 1491, 323
+ xy: 1871, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-message-xlarge
+block-mend-projector-xlarge
rotate: false
xy: 201, 108
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-metal-floor-2-large
+block-mender-large
rotate: false
- xy: 1409, 933
+ xy: 879, 116
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-metal-floor-2-medium
+block-mender-medium
rotate: false
- xy: 1987, 831
+ xy: 1365, 524
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-metal-floor-2-small
+block-mender-small
rotate: false
- xy: 1808, 666
+ xy: 1559, 223
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-metal-floor-2-tiny
+block-mender-tiny
rotate: false
- xy: 1473, 305
+ xy: 1889, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-metal-floor-2-xlarge
+block-mender-xlarge
rotate: false
xy: 201, 58
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-metal-floor-3-large
+block-message-large
rotate: false
- xy: 1451, 933
+ xy: 879, 74
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-metal-floor-3-medium
+block-message-medium
rotate: false
- xy: 1017, 550
+ xy: 1399, 540
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-metal-floor-3-small
+block-message-small
rotate: false
- xy: 1805, 640
+ xy: 1714, 411
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-metal-floor-3-tiny
+block-message-tiny
rotate: false
- xy: 1509, 323
+ xy: 1907, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-metal-floor-3-xlarge
+block-message-xlarge
rotate: false
xy: 251, 508
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-metal-floor-5-large
+block-metal-floor-2-large
rotate: false
- xy: 1493, 933
+ xy: 871, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-metal-floor-5-medium
+block-metal-floor-2-medium
rotate: false
- xy: 1013, 516
+ xy: 1399, 506
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-metal-floor-5-small
+block-metal-floor-2-small
rotate: false
- xy: 1805, 614
+ xy: 1711, 385
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-metal-floor-5-tiny
+block-metal-floor-2-tiny
rotate: false
- xy: 1491, 305
+ xy: 1925, 626
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-metal-floor-5-xlarge
+block-metal-floor-2-xlarge
rotate: false
xy: 251, 458
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-metal-floor-damaged-large
+block-metal-floor-3-large
rotate: false
- xy: 1535, 933
+ xy: 435, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-metal-floor-damaged-medium
+block-metal-floor-3-medium
rotate: false
- xy: 1013, 482
+ xy: 1437, 625
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-metal-floor-damaged-small
+block-metal-floor-3-small
rotate: false
- xy: 1834, 666
+ xy: 1700, 359
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-metal-floor-damaged-tiny
+block-metal-floor-3-tiny
rotate: false
- xy: 1527, 323
+ xy: 1889, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-metal-floor-damaged-xlarge
+block-metal-floor-3-xlarge
rotate: false
xy: 251, 408
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-metal-floor-large
+block-metal-floor-5-large
rotate: false
- xy: 1577, 933
+ xy: 477, 16
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-metal-floor-medium
+block-metal-floor-5-medium
rotate: false
- xy: 1013, 448
+ xy: 1437, 591
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-metal-floor-small
+block-metal-floor-5-small
rotate: false
- xy: 1831, 640
+ xy: 1700, 333
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-metal-floor-tiny
+block-metal-floor-5-tiny
rotate: false
- xy: 1509, 305
+ xy: 1907, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-metal-floor-xlarge
+block-metal-floor-5-xlarge
rotate: false
xy: 251, 358
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-micro-processor-large
+block-metal-floor-damaged-large
rotate: false
- xy: 1619, 933
+ xy: 519, 14
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-micro-processor-medium
+block-metal-floor-damaged-medium
rotate: false
- xy: 1013, 414
+ xy: 1471, 625
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-micro-processor-small
+block-metal-floor-damaged-small
rotate: false
- xy: 1860, 666
+ xy: 1726, 359
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-micro-processor-tiny
+block-metal-floor-damaged-tiny
rotate: false
- xy: 1545, 323
+ xy: 1925, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-micro-processor-xlarge
+block-metal-floor-damaged-xlarge
rotate: false
xy: 251, 308
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-moss-large
+block-metal-floor-large
rotate: false
- xy: 1661, 933
+ xy: 561, 14
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-moss-medium
+block-metal-floor-medium
rotate: false
- xy: 1013, 380
+ xy: 1471, 591
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-moss-small
+block-metal-floor-small
rotate: false
- xy: 1831, 614
+ xy: 1726, 333
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-moss-tiny
+block-metal-floor-tiny
rotate: false
- xy: 1527, 305
+ xy: 1907, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-moss-xlarge
+block-metal-floor-xlarge
rotate: false
xy: 251, 258
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-multi-press-large
+block-micro-processor-large
rotate: false
- xy: 1703, 933
+ xy: 903, 326
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-multi-press-medium
+block-micro-processor-medium
rotate: false
- xy: 1013, 346
+ xy: 1505, 625
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-multi-press-small
+block-micro-processor-small
rotate: false
- xy: 1809, 588
+ xy: 1737, 385
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-multi-press-tiny
+block-micro-processor-tiny
rotate: false
- xy: 1563, 323
+ xy: 1925, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-multi-press-xlarge
+block-micro-processor-xlarge
rotate: false
xy: 251, 208
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-multiplicative-reconstructor-large
+block-moss-large
rotate: false
- xy: 1745, 933
+ xy: 903, 284
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-multiplicative-reconstructor-medium
+block-moss-medium
rotate: false
- xy: 1051, 545
+ xy: 1505, 591
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-multiplicative-reconstructor-small
+block-moss-small
rotate: false
- xy: 1857, 640
+ xy: 1752, 359
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-multiplicative-reconstructor-tiny
+block-moss-tiny
rotate: false
- xy: 1545, 305
+ xy: 1925, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-multiplicative-reconstructor-xlarge
+block-moss-xlarge
rotate: false
xy: 251, 158
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-naval-factory-large
+block-multi-press-large
rotate: false
- xy: 1787, 933
+ xy: 898, 242
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-naval-factory-medium
+block-multi-press-medium
rotate: false
- xy: 1085, 545
+ xy: 1539, 625
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-naval-factory-small
+block-multi-press-small
rotate: false
- xy: 1886, 666
+ xy: 1752, 333
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-naval-factory-tiny
+block-multi-press-tiny
rotate: false
- xy: 1563, 305
+ xy: 1745, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-naval-factory-xlarge
+block-multi-press-xlarge
rotate: false
xy: 251, 108
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-oil-extractor-large
+block-multiplicative-reconstructor-large
rotate: false
- xy: 1829, 933
+ xy: 895, 200
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-oil-extractor-medium
+block-multiplicative-reconstructor-medium
rotate: false
- xy: 1119, 545
+ xy: 1539, 591
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-oil-extractor-small
+block-multiplicative-reconstructor-small
rotate: false
- xy: 1809, 562
+ xy: 1700, 307
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-oil-extractor-tiny
+block-multiplicative-reconstructor-tiny
rotate: false
- xy: 1041, 287
+ xy: 1763, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-oil-extractor-xlarge
+block-multiplicative-reconstructor-xlarge
rotate: false
xy: 251, 58
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ore-coal-large
+block-naval-factory-large
rotate: false
- xy: 1871, 933
+ xy: 895, 158
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-ore-coal-medium
+block-naval-factory-medium
rotate: false
- xy: 1153, 545
+ xy: 1573, 625
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-ore-coal-small
+block-naval-factory-small
rotate: false
- xy: 1809, 536
+ xy: 1726, 307
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-ore-coal-tiny
+block-naval-factory-tiny
rotate: false
- xy: 1059, 287
+ xy: 1781, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ore-coal-xlarge
+block-naval-factory-xlarge
rotate: false
xy: 151, 8
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ore-copper-large
+block-oil-extractor-large
rotate: false
- xy: 1913, 933
+ xy: 921, 116
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-ore-copper-medium
+block-oil-extractor-medium
rotate: false
- xy: 1187, 545
+ xy: 1573, 591
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-ore-copper-small
+block-oil-extractor-small
rotate: false
- xy: 1857, 614
+ xy: 1752, 307
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-ore-copper-tiny
+block-oil-extractor-tiny
rotate: false
- xy: 1077, 287
+ xy: 1799, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ore-copper-xlarge
+block-oil-extractor-xlarge
rotate: false
xy: 201, 8
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ore-lead-large
+block-ore-coal-large
rotate: false
- xy: 1955, 933
+ xy: 921, 74
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-ore-lead-medium
+block-ore-coal-medium
rotate: false
- xy: 1221, 545
+ xy: 1607, 625
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-ore-lead-small
+block-ore-coal-small
rotate: false
- xy: 1835, 588
+ xy: 1008, 234
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-ore-lead-tiny
+block-ore-coal-tiny
rotate: false
- xy: 1095, 287
+ xy: 1817, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ore-lead-xlarge
+block-ore-coal-xlarge
rotate: false
xy: 251, 8
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ore-scrap-large
+block-ore-copper-large
rotate: false
- xy: 845, 891
+ xy: 913, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-ore-scrap-medium
+block-ore-copper-medium
rotate: false
- xy: 1255, 545
+ xy: 1607, 591
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-ore-scrap-small
+block-ore-copper-small
rotate: false
- xy: 1883, 640
+ xy: 1034, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-ore-scrap-tiny
+block-ore-copper-tiny
rotate: false
- xy: 1113, 287
+ xy: 1835, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ore-scrap-xlarge
+block-ore-copper-xlarge
rotate: false
xy: 281, 619
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ore-thorium-large
+block-ore-lead-large
rotate: false
- xy: 887, 891
+ xy: 955, 32
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-ore-thorium-medium
+block-ore-lead-medium
rotate: false
- xy: 1289, 545
+ xy: 1641, 625
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-ore-thorium-small
+block-ore-lead-small
rotate: false
- xy: 1912, 666
+ xy: 1060, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-ore-thorium-tiny
+block-ore-lead-tiny
rotate: false
- xy: 1131, 287
+ xy: 1853, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ore-thorium-xlarge
+block-ore-lead-xlarge
rotate: false
xy: 281, 569
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ore-titanium-large
+block-ore-scrap-large
rotate: false
- xy: 929, 891
+ xy: 821, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-ore-titanium-medium
+block-ore-scrap-medium
rotate: false
- xy: 1323, 545
+ xy: 1641, 591
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-ore-titanium-small
+block-ore-scrap-small
rotate: false
- xy: 1835, 562
+ xy: 1086, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-ore-titanium-tiny
+block-ore-scrap-tiny
rotate: false
- xy: 1149, 287
+ xy: 1871, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ore-titanium-xlarge
+block-ore-scrap-xlarge
rotate: false
xy: 301, 519
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-overdrive-dome-large
+block-ore-thorium-large
rotate: false
- xy: 971, 891
+ xy: 863, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-overdrive-dome-medium
+block-ore-thorium-medium
rotate: false
- xy: 1357, 545
+ xy: 1437, 557
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-overdrive-dome-small
+block-ore-thorium-small
rotate: false
- xy: 1883, 614
+ xy: 1112, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-overdrive-dome-tiny
+block-ore-thorium-tiny
rotate: false
- xy: 1167, 287
+ xy: 1889, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-overdrive-dome-xlarge
+block-ore-thorium-xlarge
rotate: false
xy: 301, 469
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-overdrive-projector-large
+block-ore-titanium-large
rotate: false
- xy: 1013, 891
+ xy: 905, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-overdrive-projector-medium
+block-ore-titanium-medium
rotate: false
- xy: 1391, 545
+ xy: 1471, 557
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-overdrive-projector-small
+block-ore-titanium-small
rotate: false
- xy: 1861, 588
+ xy: 1138, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-overdrive-projector-tiny
+block-ore-titanium-tiny
rotate: false
- xy: 1185, 287
+ xy: 1907, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-overdrive-projector-xlarge
+block-ore-titanium-xlarge
rotate: false
xy: 301, 419
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-overflow-gate-large
+block-overdrive-dome-large
rotate: false
- xy: 1055, 891
+ xy: 947, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-overflow-gate-medium
+block-overdrive-dome-medium
rotate: false
- xy: 1425, 545
+ xy: 1505, 557
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-overflow-gate-small
+block-overdrive-dome-small
rotate: false
- xy: 1909, 640
+ xy: 1164, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-overflow-gate-tiny
+block-overdrive-dome-tiny
rotate: false
- xy: 1203, 287
+ xy: 1925, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-overflow-gate-xlarge
+block-overdrive-dome-xlarge
rotate: false
xy: 301, 369
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-parallax-large
+block-overdrive-projector-large
rotate: false
- xy: 1097, 891
+ xy: 989, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-parallax-medium
+block-overdrive-projector-medium
rotate: false
- xy: 1459, 545
+ xy: 1539, 557
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-parallax-small
+block-overdrive-projector-small
rotate: false
- xy: 1938, 666
+ xy: 1190, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-parallax-tiny
+block-overdrive-projector-tiny
rotate: false
- xy: 1221, 287
+ xy: 1945, 662
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-parallax-xlarge
+block-overdrive-projector-xlarge
rotate: false
xy: 301, 319
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-payload-router-large
+block-overflow-gate-large
rotate: false
- xy: 1139, 891
+ xy: 1031, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-payload-router-medium
+block-overflow-gate-medium
rotate: false
- xy: 1493, 545
+ xy: 1573, 557
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-payload-router-small
+block-overflow-gate-small
rotate: false
- xy: 1835, 536
+ xy: 1216, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-payload-router-tiny
+block-overflow-gate-tiny
rotate: false
- xy: 1239, 287
+ xy: 1943, 644
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-payload-router-xlarge
+block-overflow-gate-xlarge
rotate: false
xy: 301, 269
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-pebbles-large
+block-parallax-large
rotate: false
- xy: 1181, 891
+ xy: 1073, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-pebbles-medium
+block-parallax-medium
rotate: false
- xy: 1527, 545
+ xy: 1607, 557
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-pebbles-small
+block-parallax-small
rotate: false
- xy: 1820, 510
+ xy: 1242, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-pebbles-tiny
+block-parallax-tiny
rotate: false
- xy: 1257, 287
+ xy: 1943, 626
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-pebbles-xlarge
+block-parallax-xlarge
rotate: false
xy: 301, 219
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-phase-conduit-large
+block-payload-conveyor-large
rotate: false
- xy: 1223, 891
+ xy: 1115, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-phase-conduit-medium
+block-payload-conveyor-medium
rotate: false
- xy: 1047, 511
+ xy: 1641, 557
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-phase-conduit-small
+block-payload-conveyor-small
rotate: false
- xy: 1861, 562
+ xy: 1268, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-phase-conduit-tiny
+block-payload-conveyor-tiny
rotate: false
- xy: 1275, 287
+ xy: 1943, 608
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-phase-conduit-xlarge
+block-payload-conveyor-xlarge
rotate: false
xy: 301, 169
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-phase-conveyor-large
+block-payload-router-large
rotate: false
- xy: 1265, 891
+ xy: 1157, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-phase-conveyor-medium
+block-payload-router-medium
rotate: false
- xy: 1047, 477
+ xy: 1433, 523
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-phase-conveyor-small
+block-payload-router-small
rotate: false
- xy: 1909, 614
+ xy: 1294, 229
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-phase-conveyor-tiny
+block-payload-router-tiny
rotate: false
- xy: 1293, 287
+ xy: 1943, 590
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-phase-conveyor-xlarge
+block-payload-router-xlarge
rotate: false
xy: 301, 119
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-phase-wall-large
+block-pebbles-large
rotate: false
- xy: 1307, 891
+ xy: 1199, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-phase-wall-large-large
+block-pebbles-medium
rotate: false
- xy: 1349, 891
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-phase-wall-large-medium
- rotate: false
- xy: 1081, 511
+ xy: 1467, 523
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-phase-wall-large-small
+block-pebbles-small
rotate: false
- xy: 1887, 588
+ xy: 1320, 216
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-phase-wall-large-tiny
+block-pebbles-tiny
rotate: false
- xy: 1311, 287
+ xy: 1943, 572
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-phase-wall-large-xlarge
+block-pebbles-xlarge
rotate: false
xy: 301, 69
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-phase-wall-medium
+block-phase-conduit-large
rotate: false
- xy: 1047, 443
+ xy: 1241, 933
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-phase-conduit-medium
+ rotate: false
+ xy: 1501, 523
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-phase-wall-small
+block-phase-conduit-small
rotate: false
- xy: 1935, 640
+ xy: 1346, 216
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-phase-wall-tiny
+block-phase-conduit-tiny
rotate: false
- xy: 1329, 287
+ xy: 1943, 554
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-phase-wall-xlarge
+block-phase-conduit-xlarge
rotate: false
xy: 301, 19
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-phase-weaver-large
+block-phase-conveyor-large
rotate: false
- xy: 1391, 891
+ xy: 1283, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-phase-weaver-medium
+block-phase-conveyor-medium
rotate: false
- xy: 1081, 477
+ xy: 1535, 523
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-phase-weaver-small
+block-phase-conveyor-small
rotate: false
- xy: 1964, 666
+ xy: 1372, 206
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-phase-weaver-tiny
+block-phase-conveyor-tiny
rotate: false
- xy: 1347, 287
+ xy: 1023, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-phase-weaver-xlarge
+block-phase-conveyor-xlarge
rotate: false
xy: 795, 878
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-pine-large
+block-phase-wall-large
rotate: false
- xy: 1433, 891
+ xy: 1325, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-pine-medium
+block-phase-wall-large-large
rotate: false
- xy: 1115, 511
+ xy: 1367, 933
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-phase-wall-large-medium
+ rotate: false
+ xy: 1569, 523
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-pine-small
+block-phase-wall-large-small
rotate: false
- xy: 1820, 484
+ xy: 1398, 206
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-pine-tiny
+block-phase-wall-large-tiny
rotate: false
- xy: 1365, 287
+ xy: 1041, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-pine-xlarge
+block-phase-wall-large-xlarge
rotate: false
xy: 309, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-plastanium-compressor-large
+block-phase-wall-medium
rotate: false
- xy: 1475, 891
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-plastanium-compressor-medium
- rotate: false
- xy: 1047, 409
+ xy: 1603, 523
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-plastanium-compressor-small
+block-phase-wall-small
rotate: false
- xy: 1861, 536
+ xy: 1424, 197
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-plastanium-compressor-tiny
+block-phase-wall-tiny
rotate: false
- xy: 1383, 287
+ xy: 1059, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-plastanium-compressor-xlarge
+block-phase-wall-xlarge
rotate: false
xy: 309, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-plastanium-conveyor-large
+block-phase-weaver-large
rotate: false
- xy: 1517, 891
+ xy: 1409, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-plastanium-conveyor-medium
+block-phase-weaver-medium
rotate: false
- xy: 1081, 443
+ xy: 1637, 523
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-plastanium-conveyor-small
+block-phase-weaver-small
rotate: false
- xy: 1846, 510
+ xy: 1450, 197
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-plastanium-conveyor-tiny
+block-phase-weaver-tiny
rotate: false
- xy: 1401, 287
+ xy: 1077, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-plastanium-conveyor-xlarge
+block-phase-weaver-xlarge
rotate: false
xy: 359, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-plastanium-wall-large
+block-pine-large
rotate: false
- xy: 1559, 891
+ xy: 1451, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-plastanium-wall-large-large
+block-pine-medium
rotate: false
- xy: 1601, 891
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-plastanium-wall-large-medium
- rotate: false
- xy: 1115, 477
+ xy: 1433, 489
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-plastanium-wall-large-small
+block-pine-small
rotate: false
- xy: 1887, 562
+ xy: 1476, 197
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-plastanium-wall-large-tiny
+block-pine-tiny
rotate: false
- xy: 1419, 287
+ xy: 1095, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-plastanium-wall-large-xlarge
+block-pine-xlarge
rotate: false
xy: 309, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-plastanium-wall-medium
+block-plastanium-compressor-large
rotate: false
- xy: 1149, 511
+ xy: 1493, 933
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-plastanium-compressor-medium
+ rotate: false
+ xy: 1467, 489
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-plastanium-wall-small
+block-plastanium-compressor-small
rotate: false
- xy: 1935, 614
+ xy: 1502, 197
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-plastanium-wall-tiny
+block-plastanium-compressor-tiny
rotate: false
- xy: 1437, 287
+ xy: 1113, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-plastanium-wall-xlarge
+block-plastanium-compressor-xlarge
rotate: false
xy: 359, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-plated-conduit-large
+block-plastanium-conveyor-large
rotate: false
- xy: 1643, 891
+ xy: 1535, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-plated-conduit-medium
+block-plastanium-conveyor-medium
rotate: false
- xy: 1047, 375
+ xy: 1501, 489
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-plated-conduit-small
+block-plastanium-conveyor-small
rotate: false
- xy: 1913, 588
+ xy: 1528, 197
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-plated-conduit-tiny
+block-plastanium-conveyor-tiny
rotate: false
- xy: 1455, 287
+ xy: 1131, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-plated-conduit-xlarge
+block-plastanium-conveyor-xlarge
rotate: false
xy: 409, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-pneumatic-drill-large
+block-plastanium-wall-large
rotate: false
- xy: 1685, 891
+ xy: 1577, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-pneumatic-drill-medium
+block-plastanium-wall-large-large
rotate: false
- xy: 1081, 409
+ xy: 1619, 933
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-plastanium-wall-large-medium
+ rotate: false
+ xy: 1535, 489
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-pneumatic-drill-small
+block-plastanium-wall-large-small
rotate: false
- xy: 1961, 640
+ xy: 1554, 197
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-pneumatic-drill-tiny
+block-plastanium-wall-large-tiny
rotate: false
- xy: 1473, 287
+ xy: 1149, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-pneumatic-drill-xlarge
+block-plastanium-wall-large-xlarge
rotate: false
xy: 359, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-power-node-large
+block-plastanium-wall-medium
rotate: false
- xy: 1727, 891
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-power-node-large-large
- rotate: false
- xy: 1769, 891
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-power-node-large-medium
- rotate: false
- xy: 1115, 443
+ xy: 1569, 489
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-power-node-large-small
+block-plastanium-wall-small
rotate: false
- xy: 1990, 666
+ xy: 1580, 197
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-power-node-large-tiny
+block-plastanium-wall-tiny
rotate: false
- xy: 1491, 287
+ xy: 1167, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-power-node-large-xlarge
+block-plastanium-wall-xlarge
rotate: false
xy: 409, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-power-node-medium
+block-plated-conduit-large
rotate: false
- xy: 1149, 477
+ xy: 1661, 933
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-plated-conduit-medium
+ rotate: false
+ xy: 1603, 489
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-power-node-small
+block-plated-conduit-small
rotate: false
- xy: 1820, 458
+ xy: 1527, 832
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-power-node-tiny
+block-plated-conduit-tiny
rotate: false
- xy: 1509, 287
+ xy: 1185, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-power-node-xlarge
+block-plated-conduit-xlarge
rotate: false
xy: 459, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-power-source-large
+block-pneumatic-drill-large
rotate: false
- xy: 1811, 891
+ xy: 1703, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-power-source-medium
+block-pneumatic-drill-medium
rotate: false
- xy: 1183, 511
+ xy: 1637, 489
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-power-source-small
+block-pneumatic-drill-small
rotate: false
- xy: 1846, 484
+ xy: 1553, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-power-source-tiny
+block-pneumatic-drill-tiny
rotate: false
- xy: 1527, 287
+ xy: 1203, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-power-source-xlarge
+block-pneumatic-drill-xlarge
rotate: false
xy: 409, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-power-void-large
+block-power-node-large
rotate: false
- xy: 1853, 891
+ xy: 1745, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-power-void-medium
+block-power-node-large-large
rotate: false
- xy: 1081, 375
+ xy: 1787, 933
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-power-node-large-medium
+ rotate: false
+ xy: 940, 250
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-power-void-small
+block-power-node-large-small
rotate: false
- xy: 1887, 536
+ xy: 1579, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-power-void-tiny
+block-power-node-large-tiny
rotate: false
- xy: 1545, 287
+ xy: 1221, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-power-void-xlarge
+block-power-node-large-xlarge
rotate: false
xy: 459, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-pulse-conduit-large
+block-power-node-medium
rotate: false
- xy: 1895, 891
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-pulse-conduit-medium
- rotate: false
- xy: 1115, 409
+ xy: 940, 216
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-pulse-conduit-small
+block-power-node-small
rotate: false
- xy: 1872, 510
+ xy: 1605, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-pulse-conduit-tiny
+block-power-node-tiny
rotate: false
- xy: 1563, 287
+ xy: 1239, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-pulse-conduit-xlarge
+block-power-node-xlarge
rotate: false
xy: 509, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-pulverizer-large
+block-power-source-large
rotate: false
- xy: 1937, 891
+ xy: 1829, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-pulverizer-medium
+block-power-source-medium
rotate: false
- xy: 1149, 443
+ xy: 937, 182
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-pulverizer-small
+block-power-source-small
rotate: false
- xy: 1913, 562
+ xy: 1631, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-pulverizer-tiny
+block-power-source-tiny
rotate: false
- xy: 719, 322
+ xy: 1257, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-pulverizer-xlarge
+block-power-source-xlarge
rotate: false
xy: 459, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-pyratite-mixer-large
+block-power-void-large
rotate: false
- xy: 859, 849
+ xy: 1871, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-pyratite-mixer-medium
+block-power-void-medium
rotate: false
- xy: 1183, 477
+ xy: 1671, 523
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-pyratite-mixer-small
+block-power-void-small
rotate: false
- xy: 1961, 614
+ xy: 1657, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-pyratite-mixer-tiny
+block-power-void-tiny
rotate: false
- xy: 719, 304
+ xy: 1275, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-pyratite-mixer-xlarge
+block-power-void-xlarge
rotate: false
xy: 509, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-repair-point-large
+block-pulse-conduit-large
rotate: false
- xy: 859, 807
+ xy: 1913, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-repair-point-medium
+block-pulse-conduit-medium
rotate: false
- xy: 1217, 511
+ xy: 1671, 489
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-repair-point-small
+block-pulse-conduit-small
rotate: false
- xy: 1939, 588
+ xy: 1683, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-repair-point-tiny
+block-pulse-conduit-tiny
rotate: false
- xy: 719, 286
+ xy: 1293, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-repair-point-xlarge
+block-pulse-conduit-xlarge
rotate: false
xy: 559, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-resupply-point-large
+block-pulverizer-large
rotate: false
- xy: 901, 849
+ xy: 1955, 933
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-resupply-point-medium
+block-pulverizer-medium
rotate: false
- xy: 1115, 375
+ xy: 945, 513
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-resupply-point-small
+block-pulverizer-small
rotate: false
- xy: 1987, 640
+ xy: 1709, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-resupply-point-tiny
+block-pulverizer-tiny
rotate: false
- xy: 737, 313
+ xy: 1023, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-resupply-point-xlarge
+block-pulverizer-xlarge
rotate: false
xy: 509, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-ripple-large
+block-pyratite-mixer-large
rotate: false
- xy: 859, 765
+ xy: 845, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-ripple-medium
+block-pyratite-mixer-medium
rotate: false
- xy: 1149, 409
+ xy: 945, 479
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-ripple-small
+block-pyratite-mixer-small
rotate: false
- xy: 1820, 432
+ xy: 1735, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-ripple-tiny
+block-pyratite-mixer-tiny
rotate: false
- xy: 737, 295
+ xy: 1041, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-ripple-xlarge
+block-pyratite-mixer-xlarge
rotate: false
xy: 559, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-rock-large
+block-repair-point-large
rotate: false
- xy: 943, 849
+ xy: 887, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-rock-medium
+block-repair-point-medium
rotate: false
- xy: 1183, 443
+ xy: 945, 445
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-rock-small
+block-repair-point-small
rotate: false
- xy: 1820, 406
+ xy: 1761, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-rock-tiny
+block-repair-point-tiny
rotate: false
- xy: 755, 298
+ xy: 1059, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-rock-xlarge
+block-repair-point-xlarge
rotate: false
xy: 609, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-rocks-large
+block-resupply-point-large
rotate: false
- xy: 901, 807
+ xy: 929, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-rocks-medium
+block-resupply-point-medium
rotate: false
- xy: 1217, 477
+ xy: 945, 411
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-rocks-small
+block-resupply-point-small
rotate: false
- xy: 1846, 458
+ xy: 1787, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-rocks-tiny
+block-resupply-point-tiny
rotate: false
- xy: 773, 298
+ xy: 1077, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-rocks-xlarge
+block-resupply-point-xlarge
rotate: false
xy: 559, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-rotary-pump-large
+block-ripple-large
rotate: false
- xy: 859, 723
+ xy: 971, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-rotary-pump-medium
+block-ripple-medium
rotate: false
- xy: 1251, 511
+ xy: 945, 377
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-rotary-pump-small
+block-ripple-small
rotate: false
- xy: 1872, 484
+ xy: 1813, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-rotary-pump-tiny
+block-ripple-tiny
rotate: false
- xy: 791, 298
+ xy: 1095, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-rotary-pump-xlarge
+block-ripple-xlarge
rotate: false
xy: 609, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-router-large
+block-rock-large
rotate: false
- xy: 985, 849
+ xy: 1013, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-router-medium
+block-rock-medium
rotate: false
- xy: 1149, 375
+ xy: 945, 343
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-router-small
+block-rock-small
rotate: false
- xy: 1913, 536
+ xy: 1839, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-router-tiny
+block-rock-tiny
rotate: false
- xy: 809, 298
+ xy: 1113, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-router-xlarge
+block-rock-xlarge
rotate: false
xy: 659, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-rtg-generator-large
+block-rocks-large
rotate: false
- xy: 943, 807
+ xy: 1055, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-rtg-generator-medium
+block-rocks-medium
rotate: false
- xy: 1183, 409
+ xy: 945, 309
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-rtg-generator-small
+block-rocks-small
rotate: false
- xy: 1898, 510
+ xy: 1865, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-rtg-generator-tiny
+block-rocks-tiny
rotate: false
- xy: 827, 298
+ xy: 1131, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-rtg-generator-xlarge
+block-rocks-xlarge
rotate: false
xy: 609, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-salt-large
+block-rotary-pump-large
rotate: false
- xy: 901, 765
+ xy: 1097, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-salt-medium
+block-rotary-pump-medium
rotate: false
- xy: 1217, 443
+ xy: 979, 516
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-salt-small
+block-rotary-pump-small
rotate: false
- xy: 1939, 562
+ xy: 1891, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-salt-tiny
+block-rotary-pump-tiny
rotate: false
- xy: 845, 298
+ xy: 1149, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-salt-xlarge
+block-rotary-pump-xlarge
rotate: false
xy: 659, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-saltrocks-large
+block-router-large
rotate: false
- xy: 859, 681
+ xy: 1139, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-saltrocks-medium
+block-router-medium
rotate: false
- xy: 1251, 477
+ xy: 1013, 516
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-saltrocks-small
+block-router-small
rotate: false
- xy: 1987, 614
+ xy: 1917, 836
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-saltrocks-tiny
+block-router-tiny
rotate: false
- xy: 863, 298
+ xy: 1167, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-saltrocks-xlarge
+block-router-xlarge
rotate: false
xy: 709, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-salvo-large
+block-rtg-generator-large
rotate: false
- xy: 1027, 849
+ xy: 1181, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-salvo-medium
+block-rtg-generator-medium
rotate: false
- xy: 1285, 511
+ xy: 979, 482
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-salvo-small
+block-rtg-generator-small
rotate: false
- xy: 1965, 588
+ xy: 1557, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-salvo-tiny
+block-rtg-generator-tiny
rotate: false
- xy: 645, 4
+ xy: 1185, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-salvo-xlarge
+block-rtg-generator-xlarge
rotate: false
xy: 659, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-sand-boulder-large
+block-salt-large
rotate: false
- xy: 985, 807
+ xy: 1223, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-sand-boulder-medium
+block-salt-medium
rotate: false
- xy: 1183, 375
+ xy: 979, 448
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-sand-boulder-small
+block-salt-small
rotate: false
- xy: 1846, 432
+ xy: 1583, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-sand-boulder-tiny
+block-salt-tiny
rotate: false
- xy: 663, 4
+ xy: 1203, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-sand-boulder-xlarge
+block-salt-xlarge
rotate: false
xy: 709, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-sand-large
+block-saltrocks-large
rotate: false
- xy: 943, 765
+ xy: 1265, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-sand-medium
+block-saltrocks-medium
rotate: false
- xy: 1217, 409
+ xy: 1013, 482
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-sand-small
+block-saltrocks-small
rotate: false
- xy: 1872, 458
+ xy: 1609, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-sand-tiny
+block-saltrocks-tiny
rotate: false
- xy: 681, 4
+ xy: 1221, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-sand-water-large
- rotate: false
- xy: 901, 723
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-sand-water-medium
- rotate: false
- xy: 1251, 443
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-sand-water-small
- rotate: false
- xy: 1898, 484
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-sand-water-tiny
- rotate: false
- xy: 699, 4
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-sand-water-xlarge
+block-saltrocks-xlarge
rotate: false
xy: 709, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-sand-xlarge
+block-salvo-large
+ rotate: false
+ xy: 1307, 891
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-salvo-medium
+ rotate: false
+ xy: 979, 414
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-salvo-small
+ rotate: false
+ xy: 1635, 810
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-salvo-tiny
+ rotate: false
+ xy: 1239, 175
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-salvo-xlarge
rotate: false
xy: 759, 816
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-sandrocks-large
+block-sand-boulder-large
rotate: false
- xy: 1069, 849
+ xy: 1349, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-sandrocks-medium
+block-sand-boulder-medium
rotate: false
- xy: 1285, 477
+ xy: 1013, 448
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-sandrocks-small
+block-sand-boulder-small
rotate: false
- xy: 1939, 536
+ xy: 1661, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-sandrocks-tiny
+block-sand-boulder-tiny
rotate: false
- xy: 1799, 292
+ xy: 1257, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-sandrocks-xlarge
+block-sand-boulder-xlarge
rotate: false
xy: 759, 766
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-scatter-large
+block-sand-large
rotate: false
- xy: 1027, 807
+ xy: 1391, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-scatter-medium
+block-sand-medium
rotate: false
- xy: 1319, 511
+ xy: 979, 380
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-scatter-small
+block-sand-small
rotate: false
- xy: 1924, 510
+ xy: 1687, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-scatter-tiny
+block-sand-tiny
rotate: false
- xy: 1817, 292
+ xy: 1275, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-scatter-xlarge
+block-sand-water-large
+ rotate: false
+ xy: 1433, 891
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-sand-water-medium
+ rotate: false
+ xy: 1013, 414
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-sand-water-small
+ rotate: false
+ xy: 1713, 810
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-sand-water-tiny
+ rotate: false
+ xy: 1293, 175
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-sand-water-xlarge
rotate: false
xy: 759, 716
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-scorch-large
- rotate: false
- xy: 985, 765
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-scorch-medium
- rotate: false
- xy: 1217, 375
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-scorch-small
- rotate: false
- xy: 1965, 562
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-scorch-tiny
- rotate: false
- xy: 1835, 292
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-scorch-xlarge
+block-sand-xlarge
rotate: false
xy: 809, 828
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-scrap-wall-gigantic-large
+block-sandrocks-large
rotate: false
- xy: 943, 723
+ xy: 1475, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-scrap-wall-gigantic-medium
+block-sandrocks-medium
rotate: false
- xy: 1251, 409
+ xy: 979, 346
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-scrap-wall-gigantic-small
+block-sandrocks-small
rotate: false
- xy: 1846, 406
+ xy: 1739, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-scrap-wall-gigantic-tiny
+block-sandrocks-tiny
rotate: false
- xy: 1853, 292
+ xy: 1973, 813
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-scrap-wall-gigantic-xlarge
+block-sandrocks-xlarge
rotate: false
xy: 809, 778
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-scrap-wall-huge-large
+block-scatter-large
rotate: false
- xy: 901, 681
+ xy: 1517, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-scrap-wall-huge-medium
+block-scatter-medium
rotate: false
- xy: 1285, 443
+ xy: 1013, 380
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-scrap-wall-huge-small
+block-scatter-small
rotate: false
- xy: 1844, 380
+ xy: 1765, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-scrap-wall-huge-tiny
+block-scatter-tiny
rotate: false
- xy: 1871, 292
+ xy: 1991, 813
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-scrap-wall-huge-xlarge
+block-scatter-xlarge
rotate: false
xy: 809, 728
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-scrap-wall-large
+block-scorch-large
rotate: false
- xy: 1111, 849
+ xy: 1559, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-scrap-wall-large-large
+block-scorch-medium
rotate: false
- xy: 1069, 807
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-scrap-wall-large-medium
- rotate: false
- xy: 1319, 477
+ xy: 979, 312
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-scrap-wall-large-small
+block-scorch-small
rotate: false
- xy: 1872, 432
+ xy: 1791, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-scrap-wall-large-tiny
+block-scorch-tiny
rotate: false
- xy: 1889, 292
+ xy: 1977, 795
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-scrap-wall-large-xlarge
+block-scorch-xlarge
rotate: false
xy: 809, 678
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-scrap-wall-medium
+block-scrap-wall-gigantic-large
rotate: false
- xy: 1353, 511
+ xy: 1601, 891
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-scrap-wall-gigantic-medium
+ rotate: false
+ xy: 1013, 346
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-scrap-wall-small
+block-scrap-wall-gigantic-small
rotate: false
- xy: 1898, 458
+ xy: 1817, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-scrap-wall-tiny
+block-scrap-wall-gigantic-tiny
rotate: false
- xy: 1907, 292
+ xy: 1995, 795
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-scrap-wall-xlarge
+block-scrap-wall-gigantic-xlarge
rotate: false
xy: 331, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-segment-large
+block-scrap-wall-huge-large
rotate: false
- xy: 1027, 765
+ xy: 1643, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-segment-medium
+block-scrap-wall-huge-medium
rotate: false
- xy: 1251, 375
+ xy: 1013, 312
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-segment-small
+block-scrap-wall-huge-small
rotate: false
- xy: 1924, 484
+ xy: 1843, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-segment-tiny
+block-scrap-wall-huge-tiny
rotate: false
- xy: 1925, 292
+ xy: 2013, 800
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-segment-xlarge
+block-scrap-wall-huge-xlarge
rotate: false
xy: 331, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-separator-large
+block-scrap-wall-large
rotate: false
- xy: 985, 723
+ xy: 1685, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-separator-medium
+block-scrap-wall-large-large
rotate: false
- xy: 1285, 409
+ xy: 1727, 891
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-scrap-wall-large-medium
+ rotate: false
+ xy: 1047, 511
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-separator-small
+block-scrap-wall-large-small
rotate: false
- xy: 1965, 536
+ xy: 1869, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-separator-tiny
+block-scrap-wall-large-tiny
rotate: false
- xy: 1943, 292
+ xy: 2031, 800
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-separator-xlarge
+block-scrap-wall-large-xlarge
rotate: false
xy: 381, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-shale-boulder-large
+block-scrap-wall-medium
rotate: false
- xy: 943, 681
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-shale-boulder-medium
- rotate: false
- xy: 1319, 443
+ xy: 1081, 511
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-shale-boulder-small
+block-scrap-wall-small
rotate: false
- xy: 1950, 510
+ xy: 1895, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-shale-boulder-tiny
+block-scrap-wall-tiny
rotate: false
- xy: 1961, 292
+ xy: 1973, 740
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-shale-boulder-xlarge
+block-scrap-wall-xlarge
rotate: false
xy: 381, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-shale-large
+block-segment-large
rotate: false
- xy: 1153, 849
+ xy: 1769, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-shale-medium
+block-segment-medium
rotate: false
- xy: 1353, 477
+ xy: 1047, 477
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-shale-small
+block-segment-small
rotate: false
- xy: 1872, 406
+ xy: 1921, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-shale-tiny
+block-segment-tiny
rotate: false
- xy: 1979, 292
+ xy: 1973, 722
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-shale-xlarge
+block-segment-xlarge
rotate: false
xy: 431, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-shalerocks-large
+block-separator-large
rotate: false
- xy: 1111, 807
+ xy: 1811, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-shalerocks-medium
+block-separator-medium
rotate: false
- xy: 1387, 511
+ xy: 1115, 511
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-shalerocks-small
+block-separator-small
rotate: false
- xy: 1870, 380
+ xy: 1587, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-shalerocks-tiny
+block-separator-tiny
rotate: false
- xy: 1997, 292
+ xy: 1973, 704
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-shalerocks-xlarge
+block-separator-xlarge
rotate: false
xy: 431, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-shock-mine-large
+block-shale-boulder-large
rotate: false
- xy: 1069, 765
+ xy: 1853, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-shock-mine-medium
+block-shale-boulder-medium
rotate: false
- xy: 1285, 375
+ xy: 1047, 443
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-shock-mine-small
+block-shale-boulder-small
rotate: false
- xy: 1851, 354
+ xy: 1613, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-shock-mine-tiny
+block-shale-boulder-tiny
rotate: false
- xy: 2015, 292
+ xy: 1973, 686
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-shock-mine-xlarge
+block-shale-boulder-xlarge
rotate: false
xy: 481, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-shrubs-large
+block-shale-large
rotate: false
- xy: 1027, 723
+ xy: 1895, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-shrubs-medium
+block-shale-medium
rotate: false
- xy: 1319, 409
+ xy: 1081, 477
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-shrubs-small
+block-shale-small
rotate: false
- xy: 1898, 432
+ xy: 1639, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-shrubs-tiny
+block-shale-tiny
rotate: false
- xy: 1581, 318
+ xy: 1963, 668
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-shrubs-xlarge
+block-shale-xlarge
rotate: false
xy: 481, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-silicon-crucible-large
+block-shalerocks-large
rotate: false
- xy: 985, 681
+ xy: 1937, 891
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-silicon-crucible-medium
+block-shalerocks-medium
rotate: false
- xy: 1353, 443
+ xy: 1149, 511
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-silicon-crucible-small
+block-shalerocks-small
rotate: false
- xy: 1924, 458
+ xy: 1665, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-silicon-crucible-tiny
+block-shalerocks-tiny
rotate: false
- xy: 1599, 318
+ xy: 1981, 668
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-silicon-crucible-xlarge
+block-shalerocks-xlarge
rotate: false
xy: 531, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-silicon-smelter-large
+block-shock-mine-large
rotate: false
- xy: 1195, 849
+ xy: 859, 849
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-silicon-smelter-medium
+block-shock-mine-medium
rotate: false
- xy: 1387, 477
+ xy: 1047, 409
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-silicon-smelter-small
+block-shock-mine-small
rotate: false
- xy: 1950, 484
+ xy: 1691, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-silicon-smelter-tiny
+block-shock-mine-tiny
rotate: false
- xy: 1581, 300
+ xy: 1727, 543
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-silicon-smelter-xlarge
+block-shock-mine-xlarge
rotate: false
xy: 531, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-slag-large
+block-shrubs-large
rotate: false
- xy: 1153, 807
+ xy: 859, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-slag-medium
+block-shrubs-medium
rotate: false
- xy: 1421, 511
+ xy: 1081, 443
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-slag-small
+block-shrubs-small
rotate: false
- xy: 1851, 328
+ xy: 1717, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-slag-tiny
+block-shrubs-tiny
rotate: false
- xy: 1617, 318
+ xy: 1723, 525
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-slag-xlarge
+block-shrubs-xlarge
rotate: false
xy: 581, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-snow-large
+block-silicon-crucible-large
rotate: false
- xy: 1111, 765
+ xy: 901, 849
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-snow-medium
+block-silicon-crucible-medium
rotate: false
- xy: 1319, 375
+ xy: 1115, 477
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-snow-pine-large
+block-silicon-crucible-small
rotate: false
- xy: 1069, 723
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-snow-pine-medium
- rotate: false
- xy: 1353, 409
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-snow-pine-small
- rotate: false
- xy: 1898, 406
+ xy: 1743, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-snow-pine-tiny
+block-silicon-crucible-tiny
rotate: false
- xy: 1599, 300
+ xy: 1723, 507
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-snow-pine-xlarge
+block-silicon-crucible-xlarge
rotate: false
xy: 581, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-snow-small
+block-silicon-smelter-large
rotate: false
- xy: 1896, 380
+ xy: 859, 765
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-silicon-smelter-medium
+ rotate: false
+ xy: 1183, 511
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-silicon-smelter-small
+ rotate: false
+ xy: 1769, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-snow-tiny
+block-silicon-smelter-tiny
rotate: false
- xy: 1635, 318
+ xy: 1745, 536
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-snow-xlarge
+block-silicon-smelter-xlarge
rotate: false
xy: 631, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-snowrock-large
+block-slag-large
rotate: false
- xy: 1027, 681
+ xy: 943, 849
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-snowrock-medium
+block-slag-medium
rotate: false
- xy: 1387, 443
+ xy: 1047, 375
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-snowrock-small
+block-slag-small
rotate: false
- xy: 1877, 354
+ xy: 1795, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-snowrock-tiny
+block-slag-tiny
rotate: false
- xy: 1617, 300
+ xy: 1763, 536
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-snowrock-xlarge
+block-slag-xlarge
rotate: false
xy: 631, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-snowrocks-large
+block-snow-large
rotate: false
- xy: 1237, 849
+ xy: 901, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-snowrocks-medium
+block-snow-medium
rotate: false
- xy: 1421, 477
+ xy: 1081, 409
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-snowrocks-small
+block-snow-pine-large
rotate: false
- xy: 1924, 432
+ xy: 859, 723
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-snow-pine-medium
+ rotate: false
+ xy: 1115, 443
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-snow-pine-small
+ rotate: false
+ xy: 1821, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-snowrocks-tiny
+block-snow-pine-tiny
rotate: false
- xy: 1635, 300
+ xy: 1781, 536
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-snowrocks-xlarge
+block-snow-pine-xlarge
rotate: false
xy: 681, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-solar-panel-large
+block-snow-small
rotate: false
- xy: 1195, 807
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-solar-panel-large-large
- rotate: false
- xy: 1153, 765
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-solar-panel-large-medium
- rotate: false
- xy: 1455, 511
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-solar-panel-large-small
- rotate: false
- xy: 1950, 458
+ xy: 1847, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-solar-panel-large-tiny
+block-snow-tiny
rotate: false
- xy: 1581, 282
+ xy: 1799, 536
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-solar-panel-large-xlarge
+block-snow-xlarge
rotate: false
xy: 681, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-solar-panel-medium
+block-snowrock-large
rotate: false
- xy: 1353, 375
+ xy: 985, 849
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-snowrock-medium
+ rotate: false
+ xy: 1149, 477
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-solar-panel-small
+block-snowrock-small
rotate: false
- xy: 1877, 328
+ xy: 1873, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-solar-panel-tiny
+block-snowrock-tiny
rotate: false
- xy: 1599, 282
+ xy: 1817, 536
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-solar-panel-xlarge
+block-snowrock-xlarge
rotate: false
xy: 731, 666
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-sorter-large
+block-snowrocks-large
rotate: false
- xy: 1111, 723
+ xy: 943, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-sorter-medium
+block-snowrocks-medium
rotate: false
- xy: 1387, 409
+ xy: 1217, 511
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-sorter-small
+block-snowrocks-small
rotate: false
- xy: 1924, 406
+ xy: 1899, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-sorter-tiny
+block-snowrocks-tiny
rotate: false
- xy: 1617, 282
+ xy: 1835, 536
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-sorter-xlarge
+block-snowrocks-xlarge
rotate: false
xy: 731, 616
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-spawn-large
+block-solar-panel-large
rotate: false
- xy: 1069, 681
+ xy: 901, 765
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-spawn-medium
+block-solar-panel-large-large
rotate: false
- xy: 1421, 443
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-spawn-small
- rotate: false
- xy: 1922, 380
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-spawn-tiny
- rotate: false
- xy: 1635, 282
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-spawn-xlarge
- rotate: false
- xy: 781, 628
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-spectre-large
- rotate: false
- xy: 1279, 849
+ xy: 859, 681
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-spectre-medium
- rotate: false
- xy: 1455, 477
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-spectre-small
- rotate: false
- xy: 1903, 354
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-spectre-tiny
- rotate: false
- xy: 1591, 540
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-spectre-xlarge
- rotate: false
- xy: 831, 628
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-spore-cluster-large
- rotate: false
- xy: 1237, 807
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-spore-cluster-medium
- rotate: false
- xy: 1489, 511
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-spore-cluster-small
- rotate: false
- xy: 1950, 432
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-spore-cluster-tiny
- rotate: false
- xy: 2028, 392
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-spore-cluster-xlarge
- rotate: false
- xy: 781, 578
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-spore-moss-large
- rotate: false
- xy: 1195, 765
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-spore-moss-medium
- rotate: false
- xy: 1387, 375
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-spore-moss-small
- rotate: false
- xy: 1903, 328
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-spore-moss-tiny
- rotate: false
- xy: 755, 280
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-spore-moss-xlarge
- rotate: false
- xy: 831, 578
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-spore-pine-large
- rotate: false
- xy: 1153, 723
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-spore-pine-medium
- rotate: false
- xy: 1421, 409
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-spore-pine-small
- rotate: false
- xy: 1950, 406
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-spore-pine-tiny
- rotate: false
- xy: 773, 280
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-spore-pine-xlarge
- rotate: false
- xy: 351, 566
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-spore-press-large
- rotate: false
- xy: 1111, 681
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-spore-press-medium
- rotate: false
- xy: 1455, 443
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-spore-press-small
- rotate: false
- xy: 1948, 380
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-spore-press-tiny
- rotate: false
- xy: 791, 280
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-spore-press-xlarge
- rotate: false
- xy: 351, 516
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-sporerocks-large
- rotate: false
- xy: 1321, 849
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-sporerocks-medium
- rotate: false
- xy: 1489, 477
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-sporerocks-small
- rotate: false
- xy: 1929, 354
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-sporerocks-tiny
- rotate: false
- xy: 809, 280
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-sporerocks-xlarge
- rotate: false
- xy: 401, 566
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-stone-large
- rotate: false
- xy: 1279, 807
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-stone-medium
- rotate: false
- xy: 1523, 511
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-stone-small
- rotate: false
- xy: 1929, 328
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-stone-tiny
- rotate: false
- xy: 827, 280
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-stone-xlarge
- rotate: false
- xy: 351, 466
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-surge-tower-large
- rotate: false
- xy: 1237, 765
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-surge-tower-medium
- rotate: false
- xy: 1421, 375
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-surge-tower-small
- rotate: false
- xy: 1991, 588
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-surge-tower-tiny
- rotate: false
- xy: 845, 280
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-surge-tower-xlarge
- rotate: false
- xy: 401, 516
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-surge-wall-large
- rotate: false
- xy: 1195, 723
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-surge-wall-large-large
- rotate: false
- xy: 1153, 681
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-surge-wall-large-medium
- rotate: false
- xy: 1455, 409
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-surge-wall-large-small
- rotate: false
- xy: 1991, 562
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-surge-wall-large-tiny
- rotate: false
- xy: 863, 280
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-surge-wall-large-xlarge
- rotate: false
- xy: 451, 566
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-surge-wall-medium
- rotate: false
- xy: 1489, 443
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-surge-wall-small
- rotate: false
- xy: 1991, 536
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-surge-wall-tiny
- rotate: false
- xy: 753, 262
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-surge-wall-xlarge
- rotate: false
- xy: 351, 416
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-swarmer-large
- rotate: false
- xy: 1363, 849
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-swarmer-medium
- rotate: false
- xy: 1523, 477
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-swarmer-small
- rotate: false
- xy: 1976, 510
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-swarmer-tiny
- rotate: false
- xy: 753, 244
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-swarmer-xlarge
- rotate: false
- xy: 401, 466
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-tainted-water-large
- rotate: false
- xy: 1321, 807
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-tainted-water-medium
- rotate: false
- xy: 1455, 375
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-tainted-water-small
- rotate: false
- xy: 1976, 484
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-tainted-water-tiny
- rotate: false
- xy: 771, 262
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-tainted-water-xlarge
- rotate: false
- xy: 451, 516
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-tar-large
- rotate: false
- xy: 1279, 765
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-tar-medium
- rotate: false
- xy: 1489, 409
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-tar-small
- rotate: false
- xy: 1976, 458
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-tar-tiny
- rotate: false
- xy: 789, 262
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-tar-xlarge
- rotate: false
- xy: 501, 566
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-tendrils-large
- rotate: false
- xy: 1237, 723
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-tendrils-medium
- rotate: false
- xy: 1523, 443
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-tendrils-small
- rotate: false
- xy: 1976, 432
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-tendrils-tiny
- rotate: false
- xy: 771, 244
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-tendrils-xlarge
- rotate: false
- xy: 351, 366
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-tetrative-reconstructor-large
- rotate: false
- xy: 1195, 681
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-tetrative-reconstructor-medium
- rotate: false
- xy: 1489, 375
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-tetrative-reconstructor-small
- rotate: false
- xy: 1976, 406
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-tetrative-reconstructor-tiny
- rotate: false
- xy: 807, 262
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-tetrative-reconstructor-xlarge
- rotate: false
- xy: 401, 416
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-thermal-generator-large
- rotate: false
- xy: 1405, 849
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-thermal-generator-medium
- rotate: false
- xy: 1523, 409
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-thermal-generator-small
- rotate: false
- xy: 1974, 380
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-thermal-generator-tiny
- rotate: false
- xy: 789, 244
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-thermal-generator-xlarge
- rotate: false
- xy: 451, 466
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-thermal-pump-large
- rotate: false
- xy: 1363, 807
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-thermal-pump-medium
- rotate: false
- xy: 1523, 375
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-thermal-pump-small
- rotate: false
- xy: 1955, 354
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-thermal-pump-tiny
- rotate: false
- xy: 825, 262
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-thermal-pump-xlarge
- rotate: false
- xy: 501, 516
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-thorium-reactor-large
- rotate: false
- xy: 1321, 765
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-thorium-reactor-medium
+block-solar-panel-large-medium
rotate: false
xy: 1047, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-thorium-reactor-small
+block-solar-panel-large-small
rotate: false
- xy: 1955, 328
+ xy: 1925, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-thorium-reactor-tiny
+block-solar-panel-large-tiny
rotate: false
- xy: 843, 262
+ xy: 1853, 536
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-thorium-reactor-xlarge
+block-solar-panel-large-xlarge
rotate: false
- xy: 551, 566
+ xy: 781, 628
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-thorium-wall-large
+block-solar-panel-medium
rotate: false
- xy: 1279, 723
+ xy: 1081, 375
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-solar-panel-small
+ rotate: false
+ xy: 1617, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-solar-panel-tiny
+ rotate: false
+ xy: 1871, 536
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-solar-panel-xlarge
+ rotate: false
+ xy: 831, 628
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-sorter-large
+ rotate: false
+ xy: 1027, 849
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-thorium-wall-large-large
+block-sorter-medium
rotate: false
- xy: 1237, 681
+ xy: 1115, 409
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-sorter-small
+ rotate: false
+ xy: 1643, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-sorter-tiny
+ rotate: false
+ xy: 1889, 536
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-sorter-xlarge
+ rotate: false
+ xy: 781, 578
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-spawn-large
+ rotate: false
+ xy: 985, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-thorium-wall-large-medium
+block-spawn-medium
+ rotate: false
+ xy: 1149, 443
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-spawn-small
+ rotate: false
+ xy: 1669, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-spawn-tiny
+ rotate: false
+ xy: 1907, 536
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-spawn-xlarge
+ rotate: false
+ xy: 831, 578
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-spectre-large
+ rotate: false
+ xy: 943, 765
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-spectre-medium
+ rotate: false
+ xy: 1183, 477
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-spectre-small
+ rotate: false
+ xy: 1617, 732
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-spectre-tiny
+ rotate: false
+ xy: 1925, 536
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-spectre-xlarge
+ rotate: false
+ xy: 351, 566
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-spore-cluster-large
+ rotate: false
+ xy: 901, 723
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-spore-cluster-medium
+ rotate: false
+ xy: 1251, 511
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-spore-cluster-small
+ rotate: false
+ xy: 1643, 732
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-spore-cluster-tiny
+ rotate: false
+ xy: 1943, 536
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-spore-cluster-xlarge
+ rotate: false
+ xy: 351, 516
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-spore-moss-large
+ rotate: false
+ xy: 1069, 849
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-spore-moss-medium
rotate: false
xy: 1081, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-thorium-wall-large-small
+block-spore-moss-small
rotate: false
- xy: 1981, 354
+ xy: 1669, 732
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-thorium-wall-large-tiny
+block-spore-moss-tiny
rotate: false
- xy: 807, 244
+ xy: 1741, 518
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-thorium-wall-large-xlarge
+block-spore-moss-xlarge
rotate: false
- xy: 351, 316
+ xy: 401, 566
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-thorium-wall-medium
+block-spore-pine-large
+ rotate: false
+ xy: 1027, 807
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-spore-pine-medium
+ rotate: false
+ xy: 1115, 375
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-spore-pine-small
+ rotate: false
+ xy: 1695, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-spore-pine-tiny
+ rotate: false
+ xy: 1759, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-spore-pine-xlarge
+ rotate: false
+ xy: 351, 466
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-spore-press-large
+ rotate: false
+ xy: 985, 765
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-spore-press-medium
+ rotate: false
+ xy: 1149, 409
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-spore-press-small
+ rotate: false
+ xy: 1721, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-spore-press-tiny
+ rotate: false
+ xy: 1777, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-spore-press-xlarge
+ rotate: false
+ xy: 401, 516
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-sporerocks-large
+ rotate: false
+ xy: 943, 723
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-sporerocks-medium
+ rotate: false
+ xy: 1183, 443
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-sporerocks-small
+ rotate: false
+ xy: 1695, 732
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-sporerocks-tiny
+ rotate: false
+ xy: 1795, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-sporerocks-xlarge
+ rotate: false
+ xy: 451, 566
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-stone-large
+ rotate: false
+ xy: 901, 681
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-stone-medium
+ rotate: false
+ xy: 1217, 477
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-stone-small
+ rotate: false
+ xy: 1747, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-stone-tiny
+ rotate: false
+ xy: 1813, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-stone-xlarge
+ rotate: false
+ xy: 351, 416
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-surge-tower-large
+ rotate: false
+ xy: 1111, 849
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-surge-tower-medium
+ rotate: false
+ xy: 1285, 511
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-surge-tower-small
+ rotate: false
+ xy: 1721, 732
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-surge-tower-tiny
+ rotate: false
+ xy: 1831, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-surge-tower-xlarge
+ rotate: false
+ xy: 401, 466
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-surge-wall-large
+ rotate: false
+ xy: 1069, 807
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-surge-wall-large-large
+ rotate: false
+ xy: 1027, 765
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-surge-wall-large-medium
rotate: false
xy: 1115, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-thorium-wall-small
+block-surge-wall-large-small
rotate: false
- xy: 1981, 328
+ xy: 1773, 758
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-thorium-wall-tiny
+block-surge-wall-large-tiny
rotate: false
- xy: 861, 262
+ xy: 1849, 518
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-thorium-wall-xlarge
+block-surge-wall-large-xlarge
rotate: false
- xy: 401, 366
+ xy: 451, 516
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-thruster-large
+block-surge-wall-medium
rotate: false
- xy: 1447, 849
+ xy: 1149, 375
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-surge-wall-small
+ rotate: false
+ xy: 1747, 732
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-surge-wall-tiny
+ rotate: false
+ xy: 1867, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-surge-wall-xlarge
+ rotate: false
+ xy: 501, 566
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-swarmer-large
+ rotate: false
+ xy: 985, 723
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-thruster-medium
+block-swarmer-medium
+ rotate: false
+ xy: 1183, 409
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-swarmer-small
+ rotate: false
+ xy: 1799, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-swarmer-tiny
+ rotate: false
+ xy: 1885, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-swarmer-xlarge
+ rotate: false
+ xy: 351, 366
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-switch-large
+ rotate: false
+ xy: 943, 681
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-switch-medium
+ rotate: false
+ xy: 1217, 443
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-switch-small
+ rotate: false
+ xy: 1773, 732
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-switch-tiny
+ rotate: false
+ xy: 1903, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-switch-xlarge
+ rotate: false
+ xy: 401, 416
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-tainted-water-large
+ rotate: false
+ xy: 1153, 849
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-tainted-water-medium
+ rotate: false
+ xy: 1251, 477
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-tainted-water-small
+ rotate: false
+ xy: 1825, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-tainted-water-tiny
+ rotate: false
+ xy: 1921, 518
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-tainted-water-xlarge
+ rotate: false
+ xy: 451, 466
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-tar-large
+ rotate: false
+ xy: 1111, 807
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-tar-medium
rotate: false
xy: 1149, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-thruster-small
+block-tar-small
rotate: false
- xy: 2016, 666
+ xy: 1799, 732
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-thruster-tiny
+block-tar-tiny
rotate: false
- xy: 825, 244
+ xy: 1939, 518
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-thruster-xlarge
+block-tar-xlarge
+ rotate: false
+ xy: 501, 516
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-tendrils-large
+ rotate: false
+ xy: 1069, 765
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-tendrils-medium
+ rotate: false
+ xy: 1183, 375
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-tendrils-small
+ rotate: false
+ xy: 1851, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-tendrils-tiny
+ rotate: false
+ xy: 1741, 500
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-tendrils-xlarge
+ rotate: false
+ xy: 551, 566
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-tetrative-reconstructor-large
+ rotate: false
+ xy: 1027, 723
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-tetrative-reconstructor-medium
+ rotate: false
+ xy: 1217, 409
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-tetrative-reconstructor-small
+ rotate: false
+ xy: 1825, 732
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-tetrative-reconstructor-tiny
+ rotate: false
+ xy: 1759, 500
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-tetrative-reconstructor-xlarge
+ rotate: false
+ xy: 351, 316
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-thermal-generator-large
+ rotate: false
+ xy: 985, 681
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-thermal-generator-medium
+ rotate: false
+ xy: 1251, 443
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-thermal-generator-small
+ rotate: false
+ xy: 1877, 758
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-thermal-generator-tiny
+ rotate: false
+ xy: 1777, 500
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-thermal-generator-xlarge
+ rotate: false
+ xy: 401, 366
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-thermal-pump-large
+ rotate: false
+ xy: 1195, 849
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-thermal-pump-medium
+ rotate: false
+ xy: 1285, 477
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-thermal-pump-small
+ rotate: false
+ xy: 1851, 732
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-thermal-pump-tiny
+ rotate: false
+ xy: 1795, 500
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-thermal-pump-xlarge
rotate: false
xy: 451, 416
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-titanium-conveyor-large
+block-thorium-reactor-large
rotate: false
- xy: 1405, 807
+ xy: 1153, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-titanium-conveyor-medium
+block-thorium-reactor-medium
rotate: false
xy: 1183, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-titanium-conveyor-small
+block-thorium-reactor-small
rotate: false
- xy: 2013, 640
+ xy: 1903, 758
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-titanium-conveyor-tiny
+block-thorium-reactor-tiny
rotate: false
- xy: 843, 244
+ xy: 1813, 500
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-titanium-conveyor-xlarge
+block-thorium-reactor-xlarge
rotate: false
xy: 501, 466
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-titanium-wall-large
+block-thorium-wall-large
rotate: false
- xy: 1363, 765
+ xy: 1111, 765
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-titanium-wall-large-large
+block-thorium-wall-large-large
rotate: false
- xy: 1321, 723
+ xy: 1069, 723
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-titanium-wall-large-medium
+block-thorium-wall-large-medium
rotate: false
- xy: 1217, 341
+ xy: 1217, 375
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-titanium-wall-large-small
+block-thorium-wall-large-small
rotate: false
- xy: 2013, 614
+ xy: 1877, 732
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-titanium-wall-large-tiny
+block-thorium-wall-large-tiny
rotate: false
- xy: 861, 244
+ xy: 1831, 500
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-titanium-wall-large-xlarge
+block-thorium-wall-large-xlarge
rotate: false
xy: 551, 516
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-titanium-wall-medium
+block-thorium-wall-medium
rotate: false
- xy: 1251, 341
+ xy: 1251, 409
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-titanium-wall-small
+block-thorium-wall-small
rotate: false
- xy: 2017, 588
+ xy: 1903, 732
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-titanium-wall-tiny
+block-thorium-wall-tiny
rotate: false
- xy: 787, 226
+ xy: 1849, 500
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-titanium-wall-xlarge
+block-thorium-wall-xlarge
rotate: false
xy: 601, 566
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-turbine-generator-large
+block-thruster-large
rotate: false
- xy: 1279, 681
+ xy: 1027, 681
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-turbine-generator-medium
+block-thruster-medium
rotate: false
- xy: 1285, 341
+ xy: 1285, 443
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-turbine-generator-small
+block-thruster-small
rotate: false
- xy: 2017, 562
+ xy: 1929, 758
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-turbine-generator-tiny
+block-thruster-tiny
rotate: false
- xy: 787, 208
+ xy: 1867, 500
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-turbine-generator-xlarge
+block-thruster-xlarge
rotate: false
xy: 351, 266
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-underflow-gate-large
+block-titanium-conveyor-large
rotate: false
- xy: 1489, 849
+ xy: 1237, 849
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-underflow-gate-medium
+block-titanium-conveyor-medium
rotate: false
- xy: 1319, 341
+ xy: 1217, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-underflow-gate-small
+block-titanium-conveyor-small
rotate: false
- xy: 2017, 536
+ xy: 1929, 732
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-underflow-gate-tiny
+block-titanium-conveyor-tiny
rotate: false
- xy: 805, 226
+ xy: 1885, 500
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-underflow-gate-xlarge
+block-titanium-conveyor-xlarge
rotate: false
xy: 401, 316
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-unloader-large
+block-titanium-wall-large
rotate: false
- xy: 1447, 807
+ xy: 1195, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-unloader-medium
+block-titanium-wall-large-large
rotate: false
- xy: 1353, 341
+ xy: 1153, 765
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-titanium-wall-large-medium
+ rotate: false
+ xy: 1251, 375
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-unloader-small
+block-titanium-wall-large-small
rotate: false
- xy: 2002, 510
+ xy: 1643, 706
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-unloader-tiny
+block-titanium-wall-large-tiny
rotate: false
- xy: 787, 190
+ xy: 1903, 500
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-unloader-xlarge
+block-titanium-wall-large-xlarge
rotate: false
xy: 451, 366
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-vault-large
+block-titanium-wall-medium
rotate: false
- xy: 1405, 765
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-vault-medium
- rotate: false
- xy: 1387, 341
+ xy: 1285, 409
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-vault-small
+block-titanium-wall-small
rotate: false
- xy: 2002, 484
+ xy: 1669, 706
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-vault-tiny
+block-titanium-wall-tiny
rotate: false
- xy: 823, 226
+ xy: 1921, 500
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-vault-xlarge
+block-titanium-wall-xlarge
rotate: false
xy: 501, 416
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-water-extractor-large
+block-turbine-generator-large
rotate: false
- xy: 1363, 723
+ xy: 1111, 723
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-water-extractor-medium
+block-turbine-generator-medium
rotate: false
- xy: 1421, 341
+ xy: 1251, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-water-extractor-small
+block-turbine-generator-small
rotate: false
- xy: 2002, 458
+ xy: 1695, 706
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-water-extractor-tiny
+block-turbine-generator-tiny
rotate: false
- xy: 805, 208
+ xy: 1939, 500
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-water-extractor-xlarge
+block-turbine-generator-xlarge
rotate: false
xy: 551, 466
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-water-large
+block-underflow-gate-large
rotate: false
- xy: 1321, 681
+ xy: 1069, 681
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-water-medium
+block-underflow-gate-medium
rotate: false
- xy: 1455, 341
+ xy: 1285, 375
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-water-small
+block-underflow-gate-small
rotate: false
- xy: 2002, 432
+ xy: 1721, 706
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-water-tiny
+block-underflow-gate-tiny
rotate: false
- xy: 787, 172
+ xy: 1311, 193
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-water-xlarge
+block-underflow-gate-xlarge
rotate: false
xy: 601, 516
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-wave-large
+block-unloader-large
rotate: false
- xy: 1531, 849
+ xy: 1279, 849
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-wave-medium
+block-unloader-medium
rotate: false
- xy: 1489, 341
+ xy: 1285, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-wave-small
+block-unloader-small
rotate: false
- xy: 2002, 406
+ xy: 1747, 706
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-wave-tiny
+block-unloader-tiny
rotate: false
- xy: 841, 226
+ xy: 1311, 175
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-wave-xlarge
+block-unloader-xlarge
rotate: false
xy: 651, 566
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-white-tree-dead-large
+block-vault-large
rotate: false
- xy: 1489, 807
+ xy: 1237, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-white-tree-dead-medium
+block-vault-medium
rotate: false
- xy: 1523, 341
+ xy: 1047, 307
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-white-tree-dead-small
+block-vault-small
rotate: false
- xy: 2000, 380
+ xy: 1773, 706
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-white-tree-dead-tiny
+block-vault-tiny
rotate: false
- xy: 823, 208
+ xy: 1329, 198
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-white-tree-dead-xlarge
+block-vault-xlarge
rotate: false
xy: 351, 216
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
-block-white-tree-large
+block-water-extractor-large
rotate: false
- xy: 1447, 765
+ xy: 1195, 765
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
-block-white-tree-medium
+block-water-extractor-medium
rotate: false
- xy: 1725, 744
+ xy: 1081, 307
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-white-tree-small
+block-water-extractor-small
rotate: false
- xy: 2007, 354
+ xy: 1799, 706
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
-block-white-tree-tiny
+block-water-extractor-tiny
rotate: false
- xy: 805, 190
+ xy: 1347, 198
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
-block-white-tree-xlarge
+block-water-extractor-xlarge
rotate: false
xy: 401, 266
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
+block-water-large
+ rotate: false
+ xy: 1153, 723
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-water-medium
+ rotate: false
+ xy: 1115, 307
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-water-small
+ rotate: false
+ xy: 1825, 706
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-water-tiny
+ rotate: false
+ xy: 1329, 180
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-water-xlarge
+ rotate: false
+ xy: 451, 316
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-wave-large
+ rotate: false
+ xy: 1111, 681
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-wave-medium
+ rotate: false
+ xy: 1149, 307
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-wave-small
+ rotate: false
+ xy: 1851, 706
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-wave-tiny
+ rotate: false
+ xy: 1347, 180
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-wave-xlarge
+ rotate: false
+ xy: 501, 366
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-white-tree-dead-large
+ rotate: false
+ xy: 1321, 849
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-white-tree-dead-medium
+ rotate: false
+ xy: 1183, 307
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-white-tree-dead-small
+ rotate: false
+ xy: 1877, 706
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-white-tree-dead-tiny
+ rotate: false
+ xy: 1365, 188
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-white-tree-dead-xlarge
+ rotate: false
+ xy: 551, 416
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-white-tree-large
+ rotate: false
+ xy: 1279, 807
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-white-tree-medium
+ rotate: false
+ xy: 1217, 307
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-white-tree-small
+ rotate: false
+ xy: 1903, 706
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-white-tree-tiny
+ rotate: false
+ xy: 1383, 188
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-white-tree-xlarge
+ rotate: false
+ xy: 601, 466
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
button
rotate: false
- xy: 881, 594
+ xy: 1911, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17489,7 +17685,7 @@ button
index: -1
button-disabled
rotate: false
- xy: 729, 1
+ xy: 435, 3
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17497,7 +17693,7 @@ button-disabled
index: -1
button-down
rotate: false
- xy: 767, 1
+ xy: 1321, 694
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17505,7 +17701,7 @@ button-down
index: -1
button-edge-1
rotate: false
- xy: 805, 1
+ xy: 1405, 744
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17513,7 +17709,7 @@ button-edge-1
index: -1
button-edge-2
rotate: false
- xy: 1657, 778
+ xy: 1447, 778
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17521,7 +17717,7 @@ button-edge-2
index: -1
button-edge-3
rotate: false
- xy: 1615, 736
+ xy: 1489, 829
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17529,7 +17725,7 @@ button-edge-3
index: -1
button-edge-4
rotate: false
- xy: 1573, 694
+ xy: 1531, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17537,7 +17733,7 @@ button-edge-4
index: -1
button-edge-over-4
rotate: false
- xy: 1783, 862
+ xy: 1359, 694
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17545,7 +17741,7 @@ button-edge-over-4
index: -1
button-over
rotate: false
- xy: 1741, 820
+ xy: 1569, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17553,7 +17749,7 @@ button-over
index: -1
button-red
rotate: false
- xy: 1695, 778
+ xy: 1607, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17561,7 +17757,7 @@ button-red
index: -1
button-right
rotate: false
- xy: 1897, 862
+ xy: 1721, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17569,7 +17765,7 @@ button-right
index: -1
button-right-down
rotate: false
- xy: 1821, 862
+ xy: 1645, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17577,7 +17773,7 @@ button-right-down
index: -1
button-right-over
rotate: false
- xy: 1859, 862
+ xy: 1683, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17585,7 +17781,7 @@ button-right-over
index: -1
button-select
rotate: false
- xy: 2007, 328
+ xy: 1929, 706
size: 24, 24
split: 4, 4, 4, 4
orig: 24, 24
@@ -17593,7 +17789,7 @@ button-select
index: -1
button-square
rotate: false
- xy: 881, 623
+ xy: 1835, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17601,7 +17797,7 @@ button-square
index: -1
button-square-down
rotate: false
- xy: 1935, 862
+ xy: 1759, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17609,7 +17805,7 @@ button-square-down
index: -1
button-square-over
rotate: false
- xy: 881, 652
+ xy: 1797, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17617,7 +17813,7 @@ button-square-over
index: -1
button-trans
rotate: false
- xy: 919, 652
+ xy: 1873, 862
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17625,42 +17821,42 @@ button-trans
index: -1
check-disabled
rotate: false
- xy: 1615, 600
+ xy: 1251, 307
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-off
rotate: false
- xy: 1611, 566
+ xy: 1285, 307
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-on
rotate: false
- xy: 1759, 752
+ xy: 1319, 490
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-on-disabled
rotate: false
- xy: 1775, 786
+ xy: 1353, 490
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-on-over
rotate: false
- xy: 1809, 794
+ xy: 1319, 456
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-over
rotate: false
- xy: 1843, 794
+ xy: 1319, 422
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -17695,7 +17891,7 @@ discord-banner
index: -1
flat-down-base
rotate: false
- xy: 919, 623
+ xy: 881, 652
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17710,7 +17906,7 @@ info-banner
index: -1
inventory
rotate: false
- xy: 685, 332
+ xy: 1669, 664
size: 24, 40
split: 10, 10, 10, 14
orig: 24, 40
@@ -17718,147 +17914,147 @@ inventory
index: -1
item-blast-compound-icon
rotate: false
- xy: 1877, 794
+ xy: 1353, 456
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-coal-icon
rotate: false
- xy: 1911, 794
+ xy: 1319, 388
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-copper-icon
rotate: false
- xy: 1945, 794
+ xy: 1353, 422
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-graphite-icon
rotate: false
- xy: 1793, 752
+ xy: 1319, 354
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-lead-icon
rotate: false
- xy: 1827, 760
+ xy: 1353, 388
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-metaglass-icon
rotate: false
- xy: 1861, 760
+ xy: 1319, 320
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-phase-fabric-icon
rotate: false
- xy: 1895, 760
+ xy: 1353, 354
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-plastanium-icon
rotate: false
- xy: 1929, 760
+ xy: 1353, 320
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-pyratite-icon
rotate: false
- xy: 1963, 760
+ xy: 1387, 472
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-sand-icon
rotate: false
- xy: 1979, 794
+ xy: 1387, 438
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-scrap-icon
rotate: false
- xy: 1997, 760
+ xy: 1387, 404
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-silicon-icon
rotate: false
- xy: 1611, 532
+ xy: 1387, 370
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-spore-pod-icon
rotate: false
- xy: 1759, 718
+ xy: 1387, 336
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-surge-alloy-icon
rotate: false
- xy: 1793, 718
+ xy: 1421, 455
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-thorium-icon
rotate: false
- xy: 1827, 726
+ xy: 1421, 421
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-titanium-icon
rotate: false
- xy: 1861, 726
+ xy: 1455, 455
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-cryofluid-icon
rotate: false
- xy: 1895, 726
+ xy: 1421, 387
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-oil-icon
rotate: false
- xy: 1929, 726
+ xy: 1455, 421
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-slag-icon
rotate: false
- xy: 1963, 726
+ xy: 1489, 455
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-water-icon
rotate: false
- xy: 1997, 726
+ xy: 1421, 353
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
logic-node
rotate: false
- xy: 1827, 692
+ xy: 1455, 387
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -17879,7 +18075,7 @@ nomap
index: -1
pane
rotate: false
- xy: 919, 594
+ xy: 919, 652
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17887,7 +18083,7 @@ pane
index: -1
pane-2
rotate: false
- xy: 957, 652
+ xy: 881, 623
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17895,7 +18091,7 @@ pane-2
index: -1
scroll
rotate: false
- xy: 737, 331
+ xy: 1721, 669
size: 24, 35
split: 10, 10, 6, 5
orig: 24, 35
@@ -17918,49 +18114,49 @@ scroll-knob-horizontal-black
index: -1
scroll-knob-vertical-black
rotate: false
- xy: 711, 340
+ xy: 1695, 664
size: 24, 40
orig: 24, 40
offset: 0, 0
index: -1
scroll-knob-vertical-thin
rotate: false
- xy: 1653, 294
+ xy: 997, 34
size: 12, 40
orig: 12, 40
offset: 0, 0
index: -1
selection
rotate: false
- xy: 821, 975
+ xy: 643, 313
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
slider
rotate: false
- xy: 1756, 734
+ xy: 685, 280
size: 1, 8
orig: 1, 8
offset: 0, 0
index: -1
slider-knob
rotate: false
- xy: 1659, 492
+ xy: 1591, 347
size: 29, 38
orig: 29, 38
offset: 0, 0
index: -1
slider-knob-down
rotate: false
- xy: 1659, 452
+ xy: 974, 210
size: 29, 38
orig: 29, 38
offset: 0, 0
index: -1
slider-knob-over
rotate: false
- xy: 1659, 412
+ xy: 1625, 381
size: 29, 38
orig: 29, 38
offset: 0, 0
@@ -17974,7 +18170,7 @@ slider-vertical
index: -1
underline
rotate: false
- xy: 1033, 652
+ xy: 957, 623
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17982,7 +18178,7 @@ underline
index: -1
underline-2
rotate: false
- xy: 957, 623
+ xy: 881, 594
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17990,7 +18186,7 @@ underline-2
index: -1
underline-disabled
rotate: false
- xy: 995, 652
+ xy: 957, 652
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17998,7 +18194,7 @@ underline-disabled
index: -1
underline-red
rotate: false
- xy: 957, 594
+ xy: 919, 623
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -18006,7 +18202,7 @@ underline-red
index: -1
underline-white
rotate: false
- xy: 995, 623
+ xy: 995, 652
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -18014,847 +18210,847 @@ underline-white
index: -1
unit-alpha-large
rotate: false
- xy: 1405, 723
+ xy: 1237, 765
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-alpha-medium
rotate: false
- xy: 1861, 692
+ xy: 1489, 421
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-alpha-small
rotate: false
- xy: 763, 342
+ xy: 1747, 680
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-alpha-tiny
rotate: false
- xy: 787, 154
+ xy: 1401, 188
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-alpha-xlarge
rotate: false
- xy: 451, 316
+ xy: 651, 516
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-antumbra-large
rotate: false
- xy: 1363, 681
- size: 40, 40
- orig: 40, 40
+ xy: 919, 581
+ size: 36, 40
+ orig: 36, 40
offset: 0, 0
index: -1
unit-antumbra-medium
rotate: false
- xy: 1895, 692
- size: 32, 32
- orig: 32, 32
+ xy: 751, 582
+ size: 28, 32
+ orig: 28, 32
offset: 0, 0
index: -1
unit-antumbra-small
rotate: false
- xy: 789, 342
- size: 24, 24
- orig: 24, 24
+ xy: 637, 12
+ size: 21, 24
+ orig: 21, 24
offset: 0, 0
index: -1
unit-antumbra-tiny
rotate: false
- xy: 859, 226
- size: 16, 16
- orig: 16, 16
+ xy: 603, 38
+ size: 14, 16
+ orig: 14, 16
offset: 0, 0
index: -1
unit-antumbra-xlarge
rotate: false
- xy: 501, 366
- size: 48, 48
- orig: 48, 48
+ xy: 601, 316
+ size: 43, 48
+ orig: 43, 48
offset: 0, 0
index: -1
unit-arkyid-large
rotate: false
- xy: 1573, 849
+ xy: 1195, 723
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-arkyid-medium
rotate: false
- xy: 1929, 692
+ xy: 1523, 455
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-arkyid-small
rotate: false
- xy: 815, 342
+ xy: 1773, 680
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-arkyid-tiny
rotate: false
- xy: 841, 208
+ xy: 963, 164
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-arkyid-xlarge
rotate: false
- xy: 551, 416
+ xy: 701, 566
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-atrax-large
rotate: false
- xy: 1531, 807
- size: 40, 40
- orig: 40, 40
+ xy: 393, 1
+ size: 40, 29
+ orig: 40, 29
offset: 0, 0
index: -1
unit-atrax-medium
rotate: false
- xy: 1963, 692
- size: 32, 32
- orig: 32, 32
+ xy: 945, 284
+ size: 32, 23
+ orig: 32, 23
offset: 0, 0
index: -1
unit-atrax-small
rotate: false
- xy: 841, 342
- size: 24, 24
- orig: 24, 24
+ xy: 937, 163
+ size: 24, 17
+ orig: 24, 17
offset: 0, 0
index: -1
unit-atrax-tiny
rotate: false
- xy: 823, 190
- size: 16, 16
- orig: 16, 16
+ xy: 1643, 693
+ size: 16, 11
+ orig: 16, 11
offset: 0, 0
index: -1
unit-atrax-xlarge
rotate: false
- xy: 601, 466
- size: 48, 48
- orig: 48, 48
+ xy: 351, 180
+ size: 48, 34
+ orig: 48, 34
offset: 0, 0
index: -1
unit-beta-large
rotate: false
- xy: 1489, 765
+ xy: 1153, 681
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-beta-medium
rotate: false
- xy: 1997, 692
+ xy: 1455, 353
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-beta-small
rotate: false
- xy: 867, 342
+ xy: 1799, 680
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-beta-tiny
rotate: false
- xy: 805, 172
+ xy: 981, 166
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-beta-xlarge
rotate: false
- xy: 651, 516
+ xy: 401, 216
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-bryde-large
rotate: false
- xy: 1447, 723
+ xy: 1363, 849
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-bryde-medium
rotate: false
- xy: 2013, 797
+ xy: 1489, 387
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-bryde-small
rotate: false
- xy: 763, 316
+ xy: 1825, 680
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-bryde-tiny
rotate: false
- xy: 787, 136
+ xy: 999, 166
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-bryde-xlarge
rotate: false
- xy: 701, 566
+ xy: 451, 266
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-crawler-large
rotate: false
- xy: 1405, 681
+ xy: 1321, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-crawler-medium
rotate: false
- xy: 1645, 566
+ xy: 1523, 421
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-crawler-small
rotate: false
- xy: 789, 316
+ xy: 1851, 680
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-crawler-tiny
rotate: false
- xy: 859, 208
+ xy: 963, 146
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-crawler-xlarge
rotate: false
- xy: 351, 166
+ xy: 501, 316
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-dagger-large
rotate: false
- xy: 1615, 849
+ xy: 1279, 765
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-dagger-medium
rotate: false
- xy: 1645, 532
+ xy: 1557, 455
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-dagger-small
rotate: false
- xy: 815, 316
+ xy: 1877, 680
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-dagger-tiny
rotate: false
- xy: 841, 190
+ xy: 981, 148
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-dagger-xlarge
rotate: false
- xy: 401, 216
+ xy: 551, 366
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-eclipse-large
rotate: false
- xy: 1573, 807
+ xy: 1237, 723
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-eclipse-medium
rotate: false
- xy: 1557, 511
+ xy: 1489, 353
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-eclipse-small
rotate: false
- xy: 841, 316
+ xy: 1903, 680
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-eclipse-tiny
rotate: false
- xy: 823, 172
+ xy: 963, 128
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-eclipse-xlarge
rotate: false
- xy: 451, 266
+ xy: 601, 416
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-flare-large
rotate: false
- xy: 1531, 765
+ xy: 1195, 681
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-flare-medium
rotate: false
- xy: 1557, 477
+ xy: 1523, 387
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-flare-small
rotate: false
- xy: 867, 316
+ xy: 1929, 680
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-flare-tiny
rotate: false
- xy: 805, 154
+ xy: 999, 148
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-flare-xlarge
rotate: false
- xy: 501, 316
+ xy: 651, 466
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-fortress-large
rotate: false
- xy: 1489, 723
- size: 40, 40
- orig: 40, 40
+ xy: 1405, 857
+ size: 40, 32
+ orig: 40, 32
offset: 0, 0
index: -1
unit-fortress-medium
rotate: false
- xy: 1557, 443
- size: 32, 32
- orig: 32, 32
+ xy: 80, 1
+ size: 32, 25
+ orig: 32, 25
offset: 0, 0
index: -1
unit-fortress-small
rotate: false
- xy: 893, 330
- size: 24, 24
- orig: 24, 24
+ xy: 1587, 763
+ size: 24, 19
+ orig: 24, 19
offset: 0, 0
index: -1
unit-fortress-tiny
rotate: false
- xy: 787, 118
- size: 16, 16
- orig: 16, 16
+ xy: 1437, 662
+ size: 16, 12
+ orig: 16, 12
offset: 0, 0
index: -1
unit-fortress-xlarge
rotate: false
- xy: 551, 366
- size: 48, 48
- orig: 48, 48
+ xy: 701, 526
+ size: 48, 38
+ orig: 48, 38
offset: 0, 0
index: -1
unit-gamma-large
rotate: false
- xy: 1447, 681
+ xy: 1363, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-gamma-medium
rotate: false
- xy: 1557, 409
+ xy: 1557, 421
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-gamma-small
rotate: false
- xy: 919, 330
+ xy: 1675, 638
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-gamma-tiny
rotate: false
- xy: 859, 190
+ xy: 981, 130
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-gamma-xlarge
rotate: false
- xy: 601, 416
+ xy: 351, 130
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-horizon-large
rotate: false
- xy: 1657, 849
+ xy: 1321, 765
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-horizon-medium
rotate: false
- xy: 1557, 375
+ xy: 1591, 455
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-horizon-small
rotate: false
- xy: 945, 330
+ xy: 1675, 612
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-horizon-tiny
rotate: false
- xy: 841, 172
+ xy: 963, 110
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-horizon-xlarge
rotate: false
- xy: 651, 466
+ xy: 401, 166
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-mace-large
rotate: false
- xy: 1615, 807
+ xy: 1279, 723
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-mace-medium
rotate: false
- xy: 1557, 341
+ xy: 1523, 353
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-mace-small
rotate: false
- xy: 971, 330
+ xy: 1675, 586
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-mace-tiny
rotate: false
- xy: 823, 154
+ xy: 999, 130
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-mace-xlarge
rotate: false
- xy: 701, 516
+ xy: 451, 216
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-mega-large
rotate: false
- xy: 1573, 765
+ xy: 1237, 681
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-mega-medium
rotate: false
- xy: 1591, 498
+ xy: 1557, 387
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-mega-small
rotate: false
- xy: 893, 304
+ xy: 1675, 560
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-mega-tiny
rotate: false
- xy: 805, 136
+ xy: 981, 112
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-mega-xlarge
rotate: false
- xy: 351, 116
+ xy: 501, 266
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-minke-large
rotate: false
- xy: 1531, 723
+ xy: 1405, 815
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-minke-medium
rotate: false
- xy: 1591, 464
+ xy: 1591, 421
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-minke-small
rotate: false
- xy: 919, 304
+ xy: 1701, 638
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-minke-tiny
rotate: false
- xy: 787, 100
+ xy: 963, 92
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-minke-xlarge
rotate: false
- xy: 401, 166
+ xy: 551, 316
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-mono-large
rotate: false
- xy: 1489, 681
+ xy: 1447, 849
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-mono-medium
rotate: false
- xy: 1625, 498
+ xy: 1625, 455
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-mono-small
rotate: false
- xy: 945, 304
+ xy: 1701, 612
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-mono-tiny
rotate: false
- xy: 859, 172
+ xy: 963, 74
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-mono-xlarge
rotate: false
- xy: 451, 216
+ xy: 601, 366
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-nova-large
rotate: false
- xy: 1699, 849
+ xy: 1363, 765
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-nova-medium
rotate: false
- xy: 1591, 430
+ xy: 1557, 353
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-nova-small
rotate: false
- xy: 971, 304
+ xy: 1701, 586
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-nova-tiny
rotate: false
- xy: 841, 154
+ xy: 999, 112
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-nova-xlarge
rotate: false
- xy: 501, 266
+ xy: 651, 416
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-poly-large
rotate: false
- xy: 1657, 807
+ xy: 1321, 723
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-poly-medium
rotate: false
- xy: 1625, 464
+ xy: 1591, 387
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-poly-small
rotate: false
- xy: 997, 320
+ xy: 1701, 560
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-poly-tiny
rotate: false
- xy: 823, 136
+ xy: 981, 94
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-poly-xlarge
rotate: false
- xy: 551, 316
+ xy: 701, 476
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-pulsar-large
rotate: false
- xy: 1615, 765
- size: 40, 40
- orig: 40, 40
+ xy: 1279, 688
+ size: 40, 33
+ orig: 40, 33
offset: 0, 0
index: -1
unit-pulsar-medium
rotate: false
- xy: 1591, 396
- size: 32, 32
- orig: 32, 32
+ xy: 979, 284
+ size: 32, 26
+ orig: 32, 26
offset: 0, 0
index: -1
unit-pulsar-small
rotate: false
- xy: 997, 294
- size: 24, 24
- orig: 24, 24
+ xy: 1943, 836
+ size: 24, 19
+ orig: 24, 19
offset: 0, 0
index: -1
unit-pulsar-tiny
rotate: false
- xy: 805, 118
- size: 16, 16
- orig: 16, 16
+ xy: 1557, 795
+ size: 16, 13
+ orig: 16, 13
offset: 0, 0
index: -1
unit-pulsar-xlarge
rotate: false
- xy: 601, 366
- size: 48, 48
- orig: 48, 48
+ xy: 351, 89
+ size: 48, 39
+ orig: 48, 39
offset: 0, 0
index: -1
unit-quasar-large
rotate: false
- xy: 1573, 723
+ xy: 1405, 773
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-quasar-medium
rotate: false
- xy: 1625, 430
+ xy: 974, 250
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-quasar-small
rotate: false
- xy: 1695, 302
+ xy: 1947, 810
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-quasar-tiny
rotate: false
- xy: 787, 82
+ xy: 999, 94
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-quasar-xlarge
rotate: false
- xy: 651, 416
+ xy: 401, 116
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-risso-large
rotate: false
- xy: 1531, 681
+ xy: 1447, 807
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-risso-medium
rotate: false
- xy: 1591, 362
+ xy: 1625, 421
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-risso-small
rotate: false
- xy: 1721, 302
+ xy: 1951, 784
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-risso-tiny
rotate: false
- xy: 859, 154
+ xy: 981, 76
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-risso-xlarge
rotate: false
- xy: 701, 466
+ xy: 451, 166
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-spiroct-large
rotate: false
- xy: 1741, 849
- size: 40, 40
- orig: 40, 40
+ xy: 1489, 858
+ size: 40, 31
+ orig: 40, 31
offset: 0, 0
index: -1
unit-spiroct-medium
rotate: false
- xy: 1625, 396
- size: 32, 32
- orig: 32, 32
+ xy: 114, 1
+ size: 31, 25
+ orig: 31, 25
offset: 0, 0
index: -1
unit-spiroct-small
rotate: false
- xy: 1747, 302
- size: 24, 24
- orig: 24, 24
+ xy: 1005, 213
+ size: 24, 19
+ orig: 24, 19
offset: 0, 0
index: -1
unit-spiroct-tiny
rotate: false
- xy: 841, 136
- size: 16, 16
- orig: 16, 16
+ xy: 1705, 492
+ size: 15, 12
+ orig: 15, 12
offset: 0, 0
index: -1
unit-spiroct-xlarge
rotate: false
- xy: 351, 66
- size: 48, 48
- orig: 48, 48
+ xy: 501, 226
+ size: 48, 38
+ orig: 48, 38
offset: 0, 0
index: -1
unit-zenith-large
rotate: false
- xy: 1699, 807
+ xy: 1363, 723
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-zenith-medium
rotate: false
- xy: 1625, 362
+ xy: 1659, 455
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-zenith-small
rotate: false
- xy: 1773, 302
+ xy: 1955, 758
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-zenith-tiny
rotate: false
- xy: 823, 118
+ xy: 999, 76
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-zenith-xlarge
rotate: false
- xy: 401, 116
+ xy: 551, 266
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
white-pane
rotate: false
- xy: 995, 594
+ xy: 1033, 652
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -18862,14 +19058,14 @@ white-pane
index: -1
whiteui
rotate: false
- xy: 821, 928
+ xy: 1034, 255
size: 3, 3
orig: 3, 3
offset: 0, 0
index: -1
window-empty
rotate: false
- xy: 1649, 673
+ xy: 2017, 844
size: 27, 61
split: 4, 4, 2, 2
orig: 27, 61
diff --git a/core/assets/sprites/fallback/sprites.png b/core/assets/sprites/fallback/sprites.png
index c45cbd7ea0..612311a8eb 100644
Binary files a/core/assets/sprites/fallback/sprites.png and b/core/assets/sprites/fallback/sprites.png differ
diff --git a/core/assets/sprites/fallback/sprites2.png b/core/assets/sprites/fallback/sprites2.png
index 8e8fd49150..7c70122b86 100644
Binary files a/core/assets/sprites/fallback/sprites2.png and b/core/assets/sprites/fallback/sprites2.png differ
diff --git a/core/assets/sprites/fallback/sprites3.png b/core/assets/sprites/fallback/sprites3.png
index 483eeaf629..eaa96bce0f 100644
Binary files a/core/assets/sprites/fallback/sprites3.png and b/core/assets/sprites/fallback/sprites3.png differ
diff --git a/core/assets/sprites/fallback/sprites4.png b/core/assets/sprites/fallback/sprites4.png
index cd72cd4ae5..6b322823fc 100644
Binary files a/core/assets/sprites/fallback/sprites4.png and b/core/assets/sprites/fallback/sprites4.png differ
diff --git a/core/assets/sprites/fallback/sprites6.png b/core/assets/sprites/fallback/sprites6.png
index a916939232..e257c15017 100644
Binary files a/core/assets/sprites/fallback/sprites6.png and b/core/assets/sprites/fallback/sprites6.png differ
diff --git a/core/assets/sprites/fallback/sprites7.png b/core/assets/sprites/fallback/sprites7.png
index 594121076c..8017c11998 100644
Binary files a/core/assets/sprites/fallback/sprites7.png and b/core/assets/sprites/fallback/sprites7.png differ
diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas
index 559bbb63e7..c4932f28b0 100644
--- a/core/assets/sprites/sprites.atlas
+++ b/core/assets/sprites/sprites.atlas
@@ -6,6440 +6,6468 @@ filter: nearest,nearest
repeat: none
core-silo
rotate: false
- xy: 1097, 563
+ xy: 1735, 999
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
launch-pad
rotate: false
- xy: 2431, 747
+ xy: 3995, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
launch-pad-large
rotate: false
- xy: 3121, 1273
+ xy: 2351, 756
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
launch-pad-light
rotate: false
- xy: 2529, 747
+ xy: 2513, 967
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
launchpod
rotate: false
- xy: 3569, 572
+ xy: 3675, 667
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
force-projector
rotate: false
- xy: 1941, 735
+ xy: 3211, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
force-projector-top
rotate: false
- xy: 1941, 637
+ xy: 3309, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
mend-projector
rotate: false
- xy: 3361, 405
+ xy: 3147, 589
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mend-projector-top
rotate: false
- xy: 3427, 396
+ xy: 3213, 589
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mender
rotate: false
- xy: 2635, 153
+ xy: 1987, 183
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
mender-top
rotate: false
- xy: 2646, 119
+ xy: 1953, 115
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
overdrive-dome
rotate: false
- xy: 2235, 489
+ xy: 3167, 869
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
overdrive-dome-top
rotate: false
- xy: 2333, 489
+ xy: 3199, 967
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
overdrive-projector
rotate: false
- xy: 3501, 506
+ xy: 3279, 589
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
overdrive-projector-top
rotate: false
- xy: 3567, 506
+ xy: 3345, 589
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
shock-mine
rotate: false
- xy: 2778, 213
+ xy: 2191, 22
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-loader
rotate: false
- xy: 2755, 845
+ xy: 2189, 520
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-unloader
rotate: false
- xy: 3771, 1195
+ xy: 2287, 462
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
bridge-arrow
rotate: false
- xy: 3448, 226
+ xy: 3599, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conveyor
rotate: false
- xy: 3516, 272
+ xy: 3769, 131
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conveyor-bridge
rotate: false
- xy: 3550, 306
+ xy: 3803, 133
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conveyor-end
rotate: false
- xy: 3516, 238
+ xy: 1689, 248
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
center
rotate: false
- xy: 3550, 272
+ xy: 1723, 248
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-0-0
rotate: false
- xy: 269, 1
+ xy: 3989, 260
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-armored-conveyor-full
rotate: false
- xy: 269, 1
+ xy: 3989, 260
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-0-1
rotate: false
- xy: 303, 1
+ xy: 3989, 226
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-0-2
rotate: false
- xy: 337, 1
+ xy: 3989, 192
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-0-3
rotate: false
- xy: 371, 1
+ xy: 3989, 158
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-1-0
rotate: false
- xy: 405, 1
+ xy: 3981, 124
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-1-1
rotate: false
- xy: 439, 1
+ xy: 4057, 471
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-1-2
rotate: false
- xy: 473, 1
+ xy: 1651, 244
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-1-3
rotate: false
- xy: 4061, 2015
+ xy: 3939, 86
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-2-0
rotate: false
- xy: 3252, 417
+ xy: 3089, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-2-1
rotate: false
- xy: 4061, 1981
+ xy: 3123, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-2-2
rotate: false
- xy: 4061, 1947
+ xy: 3157, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-2-3
rotate: false
- xy: 4061, 1913
+ xy: 3191, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-3-0
rotate: false
- xy: 4061, 1879
+ xy: 3225, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-3-1
rotate: false
- xy: 4061, 1845
+ xy: 3259, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-3-2
rotate: false
- xy: 4061, 1811
+ xy: 3293, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-3-3
rotate: false
- xy: 4063, 1777
+ xy: 3327, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-4-0
rotate: false
- xy: 4063, 1743
+ xy: 3361, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-4-1
rotate: false
- xy: 4063, 1709
+ xy: 3395, 157
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-4-2
rotate: false
- xy: 4063, 1675
+ xy: 3085, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
armored-conveyor-4-3
rotate: false
- xy: 4063, 1641
+ xy: 3085, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-0-1
rotate: false
- xy: 3686, 238
+ xy: 1749, 44
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-0-2
rotate: false
- xy: 3414, 192
+ xy: 1749, 10
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-0-3
rotate: false
- xy: 3448, 192
+ xy: 1757, 248
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-1-0
rotate: false
- xy: 3482, 204
+ xy: 1791, 273
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-1-1
rotate: false
- xy: 3516, 204
+ xy: 1791, 239
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-1-2
rotate: false
- xy: 3550, 204
+ xy: 1783, 205
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-1-3
rotate: false
- xy: 3584, 204
+ xy: 1783, 171
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-2-0
rotate: false
- xy: 3618, 204
+ xy: 1783, 137
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-2-1
rotate: false
- xy: 3652, 204
+ xy: 1783, 103
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-2-2
rotate: false
- xy: 3686, 204
+ xy: 1783, 69
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-2-3
rotate: false
- xy: 3380, 167
+ xy: 1783, 35
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-3-0
rotate: false
- xy: 3414, 158
+ xy: 1783, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-3-1
rotate: false
- xy: 3448, 158
+ xy: 1817, 205
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-3-2
rotate: false
- xy: 3482, 170
+ xy: 1817, 171
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-3-3
rotate: false
- xy: 3516, 170
+ xy: 1817, 137
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-4-0
rotate: false
- xy: 3550, 170
+ xy: 1817, 103
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-4-1
rotate: false
- xy: 3584, 170
+ xy: 1817, 69
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-4-2
rotate: false
- xy: 3618, 170
+ xy: 1817, 35
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-4-3
rotate: false
- xy: 3652, 170
+ xy: 1817, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-conveyor
rotate: false
- xy: 2888, 285
+ xy: 2089, 152
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-conveyor-0
rotate: false
- xy: 2922, 285
+ xy: 2123, 186
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-conveyor-1
rotate: false
- xy: 2956, 285
+ xy: 1987, 47
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-conveyor-2
rotate: false
- xy: 2990, 269
+ xy: 2021, 81
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-conveyor-edge
rotate: false
- xy: 2652, 311
+ xy: 2055, 84
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-conveyor-stack
rotate: false
- xy: 2686, 311
+ xy: 2089, 118
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-0-1
rotate: false
- xy: 2850, 149
+ xy: 2429, 134
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-0-2
rotate: false
- xy: 2884, 149
+ xy: 2361, 32
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-0-3
rotate: false
- xy: 2918, 149
+ xy: 2395, 66
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-1-0
rotate: false
- xy: 2952, 149
+ xy: 2429, 100
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-1-1
rotate: false
- xy: 2822, 111
+ xy: 2395, 32
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-1-2
rotate: false
- xy: 2822, 77
+ xy: 2429, 66
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-1-3
rotate: false
- xy: 2856, 115
+ xy: 2429, 32
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-2-0
rotate: false
- xy: 2856, 81
+ xy: 2463, 68
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-2-1
rotate: false
- xy: 2890, 115
+ xy: 2497, 68
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-2-2
rotate: false
- xy: 2890, 81
+ xy: 2463, 34
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-2-3
rotate: false
- xy: 2924, 115
+ xy: 2531, 68
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-3-0
rotate: false
- xy: 2924, 81
+ xy: 2497, 34
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-3-1
rotate: false
- xy: 2958, 115
+ xy: 2531, 34
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-3-2
rotate: false
- xy: 2958, 81
+ xy: 2565, 36
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-3-3
rotate: false
- xy: 2982, 201
+ xy: 2599, 36
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-4-0
rotate: false
- xy: 2986, 167
+ xy: 2633, 36
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-4-1
rotate: false
- xy: 3016, 201
+ xy: 3837, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-4-2
rotate: false
- xy: 3020, 167
+ xy: 3833, 33
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-4-3
rotate: false
- xy: 2992, 133
+ xy: 3871, 77
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cross
rotate: false
- xy: 3720, 272
+ xy: 3561, 93
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
distributor
rotate: false
- xy: 3775, 603
+ xy: 3691, 733
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
inverted-sorter
rotate: false
- xy: 3822, 305
+ xy: 3731, 93
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
junction
rotate: false
- xy: 3992, 203
+ xy: 1851, 117
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-mass-conveyor
- rotate: false
- xy: 2627, 649
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
-mass-conveyor-edge
- rotate: false
- xy: 2725, 649
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
-mass-conveyor-top
- rotate: false
- xy: 2823, 649
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
-payload-router-top
- rotate: false
- xy: 2823, 649
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
mass-driver-base
rotate: false
- xy: 2333, 587
+ xy: 3101, 967
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
overflow-gate
rotate: false
- xy: 2820, 319
+ xy: 2055, 186
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
+payload-conveyor
+ rotate: false
+ xy: 3297, 979
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
+payload-conveyor-edge
+ rotate: false
+ xy: 3395, 979
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
+payload-conveyor-top
+ rotate: false
+ xy: 3493, 979
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
+payload-router-top
+ rotate: false
+ xy: 3493, 979
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
payload-router
rotate: false
- xy: 2431, 453
+ xy: 3591, 979
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
payload-router-edge
rotate: false
- xy: 2529, 453
+ xy: 3689, 979
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
payload-router-over
rotate: false
- xy: 2627, 453
+ xy: 3787, 979
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
phase-conveyor
rotate: false
- xy: 2990, 303
+ xy: 2089, 186
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conveyor-arrow
rotate: false
- xy: 2642, 207
+ xy: 1953, 47
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conveyor-bridge
rotate: false
- xy: 2652, 85
+ xy: 1987, 81
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conveyor-end
rotate: false
- xy: 2820, 285
+ xy: 2021, 115
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
router
rotate: false
- xy: 2752, 247
+ xy: 2191, 158
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
sorter
rotate: false
- xy: 2754, 107
+ xy: 2225, 22
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
underflow-gate
rotate: false
- xy: 3026, 99
+ xy: 3905, 43
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
blast-drill
rotate: false
- xy: 1561, 1143
+ xy: 3495, 1435
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
blast-drill-rim
rotate: false
- xy: 1821, 1403
+ xy: 3625, 1435
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
blast-drill-rotator
rotate: false
- xy: 1821, 1273
+ xy: 3755, 1435
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
blast-drill-top
rotate: false
- xy: 1691, 1143
+ xy: 3885, 1435
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
drill-top
rotate: false
- xy: 3979, 801
+ xy: 3889, 741
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-liquid
rotate: false
- xy: 3979, 801
+ xy: 3889, 741
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
laser-drill
rotate: false
- xy: 2235, 783
+ xy: 3701, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
laser-drill-rim
rotate: false
- xy: 2235, 685
+ xy: 2577, 104
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
laser-drill-rotator
rotate: false
- xy: 2333, 783
+ xy: 3799, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
laser-drill-top
rotate: false
- xy: 2333, 685
+ xy: 3897, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
mechanical-drill
rotate: false
- xy: 3361, 471
+ xy: 2949, 594
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mechanical-drill-rotator
rotate: false
- xy: 3435, 528
+ xy: 3015, 589
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mechanical-drill-top
rotate: false
- xy: 3427, 462
+ xy: 3081, 589
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
oil-extractor
rotate: false
- xy: 2529, 551
+ xy: 2775, 869
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
oil-extractor-liquid
rotate: false
- xy: 2627, 551
+ xy: 2873, 869
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
oil-extractor-rotator
rotate: false
- xy: 2725, 551
+ xy: 2971, 869
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
oil-extractor-top
rotate: false
- xy: 2823, 551
+ xy: 3069, 869
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
pneumatic-drill
rotate: false
- xy: 3625, 374
+ xy: 3939, 609
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
pneumatic-drill-rotator
rotate: false
- xy: 3691, 374
+ xy: 4005, 609
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
pneumatic-drill-top
rotate: false
- xy: 3765, 471
+ xy: 2975, 523
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
water-extractor
rotate: false
- xy: 1994, 291
+ xy: 3735, 403
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
water-extractor-liquid
rotate: false
- xy: 2060, 291
+ xy: 3801, 469
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
water-extractor-rotator
rotate: false
- xy: 2126, 288
+ xy: 3801, 403
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
water-extractor-top
rotate: false
- xy: 1928, 241
+ xy: 3867, 477
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-border
rotate: false
- xy: 3244, 349
+ xy: 3187, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-middle
rotate: false
- xy: 927, 4
+ xy: 3998, 417
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-select
rotate: false
- xy: 3380, 337
+ xy: 3175, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-liquid
rotate: false
- xy: 3652, 306
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-message
- rotate: false
- xy: 2752, 315
+ xy: 1715, 10
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
place-arrow
rotate: false
- xy: 2725, 453
+ xy: 3885, 979
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
bridge-conduit
rotate: false
- xy: 3482, 306
+ xy: 3633, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conduit-arrow
rotate: false
- xy: 3482, 272
+ xy: 3667, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conveyor-arrow
rotate: false
- xy: 3482, 272
+ xy: 3667, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conduit-bridge
rotate: false
- xy: 3516, 306
+ xy: 3701, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conduit-end
rotate: false
- xy: 3482, 238
+ xy: 3735, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-bottom
rotate: false
- xy: 3584, 272
+ xy: 1715, 146
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-bottom-0
rotate: false
- xy: 3618, 306
+ xy: 1715, 112
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-bottom-1
rotate: false
- xy: 3584, 238
+ xy: 1715, 78
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-bottom-2
rotate: false
- xy: 3618, 272
+ xy: 1715, 44
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-bottom-3
rotate: false
- xy: 3618, 272
+ xy: 1715, 44
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-bottom-4
rotate: false
- xy: 3618, 272
+ xy: 1715, 44
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-top-0
rotate: false
- xy: 3618, 238
+ xy: 1749, 214
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-top-1
rotate: false
- xy: 3652, 272
+ xy: 1749, 180
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-top-2
rotate: false
- xy: 3686, 306
+ xy: 1749, 146
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-top-3
rotate: false
- xy: 3652, 238
+ xy: 1749, 112
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulse-conduit-top-3
rotate: false
- xy: 3652, 238
+ xy: 1749, 112
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conduit-top-4
rotate: false
- xy: 3686, 272
+ xy: 1749, 78
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-junction
rotate: false
- xy: 4026, 203
+ xy: 1885, 117
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-overflow-gate
rotate: false
- xy: 3788, 135
+ xy: 1851, 15
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-overflow-gate-top
rotate: false
- xy: 3822, 135
+ xy: 1885, 49
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-router-bottom
rotate: false
- xy: 3856, 135
+ xy: 1885, 15
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-router-liquid
rotate: false
- xy: 3890, 135
+ xy: 1919, 219
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-router-top
rotate: false
- xy: 3924, 135
+ xy: 1919, 185
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-tank-bottom
rotate: false
- xy: 2627, 747
+ xy: 2611, 967
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
liquid-tank-liquid
rotate: false
- xy: 2725, 747
+ xy: 2709, 967
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
liquid-tank-top
rotate: false
- xy: 2823, 747
+ xy: 2807, 967
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
mechanical-pump
rotate: false
- xy: 4060, 203
+ xy: 1987, 217
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
mechanical-pump-liquid
rotate: false
- xy: 4060, 169
+ xy: 2021, 217
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
rotary-pump-liquid
rotate: false
- xy: 4060, 169
+ xy: 2021, 217
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
thermal-pump-liquid
rotate: false
- xy: 4060, 169
+ xy: 2021, 217
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conduit
rotate: false
- xy: 2854, 319
+ xy: 1953, 81
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conduit-arrow
rotate: false
- xy: 2888, 319
+ xy: 1987, 115
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conduit-bridge
rotate: false
- xy: 2922, 319
+ xy: 2021, 149
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conduit-end
rotate: false
- xy: 2956, 319
+ xy: 2055, 152
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plated-conduit-cap
rotate: false
- xy: 2650, 243
+ xy: 2021, 47
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plated-conduit-top-0
rotate: false
- xy: 2684, 277
+ xy: 2055, 50
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plated-conduit-top-1
rotate: false
- xy: 2684, 243
+ xy: 2089, 84
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plated-conduit-top-2
rotate: false
- xy: 2676, 209
+ xy: 2123, 118
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plated-conduit-top-3
rotate: false
- xy: 2710, 209
+ xy: 2089, 50
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plated-conduit-top-4
rotate: false
- xy: 2676, 175
+ xy: 2123, 84
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulse-conduit-top-0
rotate: false
- xy: 2686, 107
+ xy: 2021, 13
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulse-conduit-top-1
rotate: false
- xy: 2720, 107
+ xy: 2055, 16
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulse-conduit-top-2
rotate: false
- xy: 2686, 73
+ xy: 2089, 16
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulse-conduit-top-4
rotate: false
- xy: 2720, 73
+ xy: 2123, 16
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
rotary-pump
rotate: false
- xy: 3823, 405
+ xy: 3371, 523
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thermal-pump
rotate: false
- xy: 3117, 649
+ xy: 2581, 575
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
-data-processor-top
+hyper-processor
rotate: false
- xy: 1877, 931
+ xy: 3603, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
logic-display
rotate: false
- xy: 2431, 649
+ xy: 2905, 967
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
logic-processor
rotate: false
- xy: 3635, 572
+ xy: 3741, 667
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-logic-processor-3
+memory-cell
rotate: false
- xy: 2529, 649
- size: 96, 96
- orig: 96, 96
+ xy: 1953, 149
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+message
+ rotate: false
+ xy: 1987, 149
+ size: 32, 32
+ orig: 32, 32
offset: 0, 0
index: -1
micro-processor
rotate: false
- xy: 2786, 315
+ xy: 2021, 183
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+switch
+ rotate: false
+ xy: 2327, 32
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+switch-on
+ rotate: false
+ xy: 2361, 66
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
battery
rotate: false
- xy: 4063, 1607
+ xy: 3119, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
battery-large
rotate: false
- xy: 3673, 1045
+ xy: 2189, 618
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
battery-large-top
rotate: false
- xy: 509, 695
+ xy: 2087, 484
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
battery-top
rotate: false
- xy: 3286, 401
+ xy: 3119, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
combustion-generator
rotate: false
- xy: 3584, 306
+ xy: 1715, 214
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
combustion-generator-top
rotate: false
- xy: 3550, 238
+ xy: 1715, 180
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
differential-generator
rotate: false
- xy: 1975, 931
+ xy: 2479, 200
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
differential-generator-liquid
rotate: false
- xy: 1811, 817
+ xy: 2479, 102
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
differential-generator-top
rotate: false
- xy: 1909, 833
+ xy: 2525, 1065
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
diode
rotate: false
- xy: 3720, 238
+ xy: 3527, 59
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
diode-arrow
rotate: false
- xy: 3720, 204
+ xy: 3595, 93
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
illuminator
rotate: false
- xy: 3788, 305
+ xy: 3629, 59
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
illuminator-top
rotate: false
- xy: 3754, 237
+ xy: 3697, 93
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
impact-reactor
rotate: false
- xy: 2861, 1403
+ xy: 3695, 1175
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-bottom
rotate: false
- xy: 2861, 1273
+ xy: 3825, 1305
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-light
rotate: false
- xy: 2731, 1143
+ xy: 3825, 1175
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-plasma-0
rotate: false
- xy: 2991, 1403
+ xy: 3955, 1305
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-plasma-1
rotate: false
- xy: 2991, 1273
+ xy: 3955, 1175
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-plasma-2
rotate: false
- xy: 2861, 1143
+ xy: 2059, 778
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
impact-reactor-plasma-3
rotate: false
- xy: 3121, 1403
+ xy: 2221, 814
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
power-node
rotate: false
- xy: 2710, 175
+ xy: 2123, 50
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
power-node-large
rotate: false
- xy: 3831, 471
+ xy: 3041, 523
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
power-source
rotate: false
- xy: 2680, 141
+ xy: 1953, 13
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
power-void
rotate: false
- xy: 2714, 141
+ xy: 1987, 13
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
rtg-generator
rotate: false
- xy: 3889, 405
+ xy: 3009, 457
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
rtg-generator-top
rotate: false
- xy: 2786, 247
+ xy: 2225, 192
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
solar-panel
rotate: false
- xy: 2778, 179
+ xy: 2225, 56
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
solar-panel-large
rotate: false
- xy: 3117, 747
+ xy: 2679, 771
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
surge-tower
rotate: false
- xy: 1928, 439
+ xy: 3899, 543
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thermal-generator
rotate: false
- xy: 1994, 489
+ xy: 3471, 457
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thorium-reactor
rotate: false
- xy: 3117, 551
+ xy: 2679, 673
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
thorium-reactor-lights
rotate: false
- xy: 3117, 453
+ xy: 2777, 771
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
thorium-reactor-top
rotate: false
- xy: 3147, 845
+ xy: 2581, 477
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
turbine-generator
rotate: false
- xy: 2060, 489
+ xy: 3537, 403
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-cap
rotate: false
- xy: 2060, 423
+ xy: 3603, 469
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-top
rotate: false
- xy: 2060, 357
+ xy: 3603, 403
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-turbine0
rotate: false
- xy: 2126, 486
+ xy: 3669, 469
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-turbine1
rotate: false
- xy: 2126, 420
+ xy: 3669, 403
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
alloy-smelter
rotate: false
- xy: 3477, 1045
+ xy: 2189, 716
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
alloy-smelter-top
rotate: false
- xy: 3575, 1045
+ xy: 2091, 582
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
blast-mixer
rotate: false
- xy: 3445, 726
+ xy: 2677, 366
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-forge
rotate: false
- xy: 2265, 881
+ xy: 1493, 253
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
coal-centrifuge
rotate: false
- xy: 3737, 902
+ xy: 2949, 660
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cryofluidmixer-bottom
rotate: false
- xy: 3781, 735
+ xy: 3361, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cryofluidmixer-liquid
rotate: false
- xy: 3847, 735
+ xy: 3345, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cryofluidmixer-top
rotate: false
- xy: 3913, 735
+ xy: 3427, 733
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cultivator
rotate: false
- xy: 3775, 669
+ xy: 3493, 733
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cultivator-middle
rotate: false
- xy: 3841, 669
+ xy: 3559, 733
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cultivator-top
rotate: false
- xy: 3907, 669
+ xy: 3625, 733
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
disassembler
rotate: false
- xy: 2007, 833
+ xy: 2623, 1065
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
disassembler-liquid
rotate: false
- xy: 2105, 844
+ xy: 2721, 1065
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
disassembler-spinner
rotate: false
- xy: 2979, 963
+ xy: 2819, 1065
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
graphite-press
rotate: false
- xy: 3973, 669
+ xy: 4021, 743
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
incinerator
rotate: false
- xy: 3788, 271
+ xy: 3663, 59
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-source
rotate: false
- xy: 3890, 169
+ xy: 2089, 220
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-void
rotate: false
- xy: 3958, 169
+ xy: 1885, 185
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
kiln
rotate: false
- xy: 3973, 603
+ xy: 3411, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
kiln-top
rotate: false
- xy: 3371, 603
+ xy: 3477, 667
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
silicon-smelter-top
rotate: false
- xy: 3371, 603
+ xy: 3477, 667
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
liquid-source
rotate: false
- xy: 4026, 135
+ xy: 1919, 83
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-void
rotate: false
- xy: 4060, 305
+ xy: 1919, 49
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
melter
rotate: false
- xy: 4060, 135
+ xy: 1953, 183
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
multi-press
rotate: false
- xy: 2137, 552
+ xy: 2579, 869
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
phase-weaver
rotate: false
- xy: 3493, 440
+ xy: 3543, 601
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
phase-weaver-bottom
rotate: false
- xy: 3559, 440
+ xy: 3609, 601
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
phase-weaver-weave
rotate: false
- xy: 3625, 440
+ xy: 3675, 601
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plastanium-compressor
rotate: false
- xy: 3691, 440
+ xy: 3741, 601
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plastanium-compressor-top
rotate: false
- xy: 3493, 374
+ xy: 3807, 609
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
pulverizer
rotate: false
- xy: 2718, 277
+ xy: 2157, 192
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulverizer-rotator
rotate: false
- xy: 2718, 243
+ xy: 2157, 158
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pyratite-mixer
rotate: false
- xy: 3963, 471
+ xy: 3173, 523
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
separator
rotate: false
- xy: 861, 22
+ xy: 3339, 391
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
separator-liquid
rotate: false
- xy: 1796, 486
+ xy: 3437, 523
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
separator-spinner
rotate: false
- xy: 1796, 420
+ xy: 3405, 457
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
silicon-crucible
rotate: false
- xy: 3019, 551
+ xy: 2581, 771
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
silicon-crucible-top
rotate: false
- xy: 3019, 453
+ xy: 2581, 673
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
silicon-smelter
rotate: false
- xy: 1796, 354
+ xy: 3405, 391
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press
rotate: false
- xy: 1796, 288
+ xy: 3503, 535
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-frame0
rotate: false
- xy: 1862, 486
+ xy: 3569, 535
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-frame1
rotate: false
- xy: 1862, 420
+ xy: 3635, 535
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-frame2
rotate: false
- xy: 1862, 354
+ xy: 3701, 535
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-liquid
rotate: false
- xy: 1862, 288
+ xy: 3767, 535
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spore-press-top
rotate: false
- xy: 1928, 505
+ xy: 3833, 543
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
rock1
rotate: false
- xy: 2285, 165
+ xy: 3439, 175
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
rock2
rotate: false
- xy: 2335, 165
+ xy: 3489, 191
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
sand-boulder1
rotate: false
- xy: 2820, 251
+ xy: 2157, 90
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
sand-boulder2
rotate: false
- xy: 2854, 251
+ xy: 2191, 124
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shale-boulder1
rotate: false
- xy: 2744, 175
+ xy: 2191, 56
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shale-boulder2
rotate: false
- xy: 2748, 141
+ xy: 2225, 90
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
snowrock1
rotate: false
- xy: 2542, 187
+ xy: 3689, 203
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
snowrock2
rotate: false
- xy: 2435, 137
+ xy: 3739, 203
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
spore-cluster1
rotate: false
- xy: 2530, 45
+ xy: 3707, 161
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
spore-cluster2
rotate: false
- xy: 2604, 95
+ xy: 3989, 370
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
spore-cluster3
rotate: false
- xy: 2572, 53
+ xy: 3989, 328
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
white-tree
rotate: false
- xy: 1, 761
+ xy: 1, 411
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
white-tree-dead
rotate: false
- xy: 323, 1083
+ xy: 1322, 1727
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
+white-tree-dead-shadow
+ rotate: false
+ xy: 1, 1699
+ size: 353, 348
+ orig: 353, 348
+ offset: 0, 0
+ index: -1
+white-tree-shadow
+ rotate: false
+ xy: 1, 1699
+ size: 353, 348
+ orig: 353, 348
+ offset: 0, 0
+ index: -1
container
rotate: false
- xy: 3869, 933
+ xy: 3031, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
core-foundation
rotate: false
- xy: 2341, 1403
+ xy: 2375, 886
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
core-foundation-team
rotate: false
- xy: 2341, 1273
+ xy: 3045, 1293
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
core-nucleus
rotate: false
- xy: 1161, 887
+ xy: 1573, 999
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
core-nucleus-team
rotate: false
- xy: 1323, 887
+ xy: 1573, 837
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
core-shard
rotate: false
- xy: 3771, 1097
+ xy: 2385, 462
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
core-shard-team
rotate: false
- xy: 3869, 1195
+ xy: 2283, 364
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
unloader
rotate: false
- xy: 2992, 65
+ xy: 3939, 52
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unloader-center
rotate: false
- xy: 3026, 65
+ xy: 3973, 52
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
vault
rotate: false
- xy: 3273, 947
+ xy: 2777, 673
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
arc-heat
rotate: false
- xy: 1711, 749
+ xy: 1949, 361
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-1
rotate: false
- xy: 3320, 401
+ xy: 3153, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-2
rotate: false
- xy: 3445, 660
+ xy: 2675, 300
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-3
rotate: false
- xy: 2469, 943
+ xy: 2087, 386
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-4
rotate: false
- xy: 1951, 1403
+ xy: 2525, 1293
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
hail-heat
rotate: false
- xy: 829, 547
+ xy: 4049, 889
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
lancer-heat
rotate: false
- xy: 3503, 572
+ xy: 3609, 667
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
meltdown-heat
rotate: false
- xy: 3121, 1143
+ xy: 1065, 531
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
ripple-heat
rotate: false
- xy: 2921, 747
+ xy: 3265, 869
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
salvo-heat
rotate: false
- xy: 4021, 405
+ xy: 3075, 457
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
salvo-panel-left
rotate: false
- xy: 3757, 339
+ xy: 3075, 391
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
salvo-panel-right
rotate: false
- xy: 3823, 339
+ xy: 3141, 457
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scorch-heat
rotate: false
- xy: 2922, 251
+ xy: 2157, 56
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
wave-liquid
rotate: false
- xy: 2060, 225
+ xy: 3933, 477
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
additive-reconstructor
rotate: false
- xy: 3183, 1045
+ xy: 1989, 539
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
additive-reconstructor-top
rotate: false
- xy: 3281, 1045
+ xy: 1989, 441
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
air-factory
rotate: false
- xy: 3379, 1045
+ xy: 2091, 680
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
command-center
rotate: false
- xy: 3803, 933
+ xy: 2965, 726
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
exponential-reconstructor
rotate: false
- xy: 935, 985
+ xy: 1129, 791
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
exponential-reconstructor-top
rotate: false
- xy: 1193, 1049
+ xy: 775, 243
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
factory-in-3
rotate: false
- xy: 3077, 943
+ xy: 2917, 1065
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
factory-in-5
rotate: false
- xy: 1148, 239
+ xy: 2059, 1070
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
factory-in-7
rotate: false
- xy: 903, 759
+ xy: 743, 17
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
factory-in-9
rotate: false
- xy: 2127, 1759
+ xy: 323, 1409
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
factory-out-3
rotate: false
- xy: 1843, 719
+ xy: 3015, 1065
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
factory-out-5
rotate: false
- xy: 1310, 239
+ xy: 2221, 1232
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
factory-out-7
rotate: false
- xy: 871, 533
+ xy: 839, 469
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
factory-out-9
rotate: false
- xy: 2417, 1759
+ xy: 323, 1119
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
factory-top-3
rotate: false
- xy: 1843, 621
+ xy: 3113, 1065
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
ground-factory
rotate: false
- xy: 2039, 637
+ xy: 3505, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
multiplicative-reconstructor
rotate: false
- xy: 1472, 239
+ xy: 2059, 908
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
multiplicative-reconstructor-top
rotate: false
- xy: 1634, 239
+ xy: 2221, 1070
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
naval-factory
rotate: false
- xy: 2431, 551
+ xy: 2677, 869
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
rally-point
rotate: false
- xy: 4029, 471
+ xy: 3239, 523
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
repair-point-base
rotate: false
- xy: 2786, 281
+ xy: 2157, 124
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
resupply-point
rotate: false
- xy: 3757, 405
+ xy: 3305, 523
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
tetrative-reconstructor
rotate: false
- xy: 2707, 1759
+ xy: 323, 829
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
tetrative-reconstructor-top
rotate: false
- xy: 2997, 1759
+ xy: 323, 539
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
copper-wall
rotate: false
- xy: 3686, 170
+ xy: 4007, 56
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
copper-wall-large
rotate: false
- xy: 3935, 933
+ xy: 3097, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
door
rotate: false
- xy: 3720, 170
+ xy: 3561, 59
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
door-large
rotate: false
- xy: 3841, 603
+ xy: 3757, 741
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
door-large-open
rotate: false
- xy: 3907, 603
+ xy: 3823, 741
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
door-open
rotate: false
- xy: 3720, 136
+ xy: 3629, 93
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-wall
rotate: false
- xy: 2854, 285
+ xy: 2055, 118
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-wall-large
rotate: false
- xy: 3699, 506
+ xy: 3477, 601
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plastanium-wall
rotate: false
- xy: 2650, 277
+ xy: 2123, 152
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-wall-large
rotate: false
- xy: 3559, 374
+ xy: 3873, 609
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall-gigantic
rotate: false
- xy: 3511, 1143
+ xy: 1261, 271
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
scrap-wall-huge2
rotate: false
- xy: 3019, 747
+ xy: 3853, 881
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
scrap-wall-huge3
rotate: false
- xy: 3019, 649
+ xy: 3951, 881
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
scrap-wall-large1
rotate: false
- xy: 3955, 339
+ xy: 3207, 457
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall-large2
rotate: false
- xy: 4021, 339
+ xy: 3207, 391
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall-large3
rotate: false
- xy: 663, 22
+ xy: 3273, 457
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall-large4
rotate: false
- xy: 729, 22
+ xy: 3273, 391
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scrap-wall2
rotate: false
- xy: 2956, 251
+ xy: 2191, 90
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scrap-wall3
rotate: false
- xy: 2990, 235
+ xy: 2225, 124
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scrap-wall4
rotate: false
- xy: 2744, 209
+ xy: 2157, 22
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scrap-wall5
rotate: false
- xy: 2744, 209
+ xy: 2157, 22
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
surge-wall
rotate: false
- xy: 2914, 183
+ xy: 2395, 134
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
surge-wall-large
rotate: false
- xy: 1928, 373
+ xy: 3965, 543
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thorium-wall
rotate: false
- xy: 2948, 183
+ xy: 2395, 100
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
thorium-wall-large
rotate: false
- xy: 1994, 423
+ xy: 3471, 391
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thruster
rotate: false
- xy: 3641, 1143
+ xy: 1187, 11
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
titanium-wall
rotate: false
- xy: 2992, 99
+ xy: 3905, 77
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-wall-large
rotate: false
- xy: 1994, 357
+ xy: 3537, 469
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
bullet
rotate: false
- xy: 2598, 341
+ xy: 2981, 152
size: 52, 52
orig: 52, 52
offset: 0, 0
index: -1
bullet-back
rotate: false
- xy: 2714, 399
+ xy: 2981, 98
size: 52, 52
orig: 52, 52
offset: 0, 0
index: -1
casing
rotate: false
- xy: 4087, 761
+ xy: 1979, 343
size: 8, 16
orig: 8, 16
offset: 0, 0
index: -1
circle-end
rotate: false
- xy: 2163, 942
+ xy: 1683, 510
size: 100, 199
orig: 100, 199
offset: 0, 0
index: -1
circle-mid
rotate: false
- xy: 4094, 270
+ xy: 4094, 1845
size: 1, 199
orig: 1, 199
offset: 0, 0
index: -1
circle-shadow
rotate: false
- xy: 727, 88
+ xy: 2252, 1556
size: 201, 201
orig: 201, 201
offset: 0, 0
index: -1
error
rotate: false
- xy: 2952, 353
+ xy: 3389, 291
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
laser
rotate: false
- xy: 607, 743
+ xy: 1125, 481
size: 4, 48
orig: 4, 48
offset: 0, 0
index: -1
laser-end
rotate: false
- xy: 3297, 725
+ xy: 2875, 652
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
minelaser
rotate: false
- xy: 607, 693
+ xy: 4091, 881
size: 4, 48
orig: 4, 48
offset: 0, 0
index: -1
minelaser-end
rotate: false
- xy: 3371, 743
+ xy: 2873, 578
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
missile
rotate: false
- xy: 2614, 57
+ xy: 1651, 278
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
missile-back
rotate: false
- xy: 2446, 7
+ xy: 4057, 505
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
parallax-laser
rotate: false
- xy: 639, 1033
+ xy: 4091, 455
size: 4, 48
orig: 4, 48
offset: 0, 0
index: -1
parallax-laser-end
rotate: false
- xy: 3297, 651
+ xy: 1875, 359
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
particle
rotate: false
- xy: 2562, 95
+ xy: 3665, 161
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
scale_marker
rotate: false
- xy: 3511, 786
+ xy: 1, 1
size: 4, 4
orig: 4, 4
offset: 0, 0
index: -1
shell
rotate: false
- xy: 2484, 7
+ xy: 1949, 395
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
shell-back
rotate: false
- xy: 2522, 7
+ xy: 3749, 165
size: 36, 36
orig: 36, 36
offset: 0, 0
index: -1
transfer
rotate: false
- xy: 929, 1097
+ xy: 317, 361
size: 4, 48
orig: 4, 48
offset: 0, 0
index: -1
transfer-arrow
rotate: false
- xy: 3026, 133
+ xy: 3871, 43
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
white
rotate: false
- xy: 3422, 400
+ xy: 3015, 721
size: 3, 3
orig: 3, 3
offset: 0, 0
index: -1
alpha-wreck0
rotate: false
- xy: 2818, 403
+ xy: 1497, 7
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
alpha-wreck1
rotate: false
- xy: 2868, 403
+ xy: 1547, 7
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
alpha-wreck2
rotate: false
- xy: 2918, 403
+ xy: 3039, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
antumbra-wreck0
rotate: false
- xy: 509, 389
+ xy: 1355, 985
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
antumbra-wreck1
rotate: false
- xy: 509, 147
+ xy: 1355, 743
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
antumbra-wreck2
rotate: false
- xy: 291, 35
+ xy: 1613, 1485
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
arc
rotate: false
- xy: 1711, 783
+ xy: 3989, 294
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
arkyid-wreck0
rotate: false
- xy: 1561, 1273
+ xy: 3964, 1789
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
arkyid-wreck1
rotate: false
- xy: 1691, 1403
+ xy: 3235, 1435
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
arkyid-wreck2
rotate: false
- xy: 1691, 1273
+ xy: 3365, 1435
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
atrax-wreck0
rotate: false
- xy: 3647, 902
+ xy: 4007, 1591
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
atrax-wreck1
rotate: false
- xy: 4003, 1531
+ xy: 1785, 379
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
atrax-wreck2
rotate: false
- xy: 4003, 1465
+ xy: 2875, 726
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
beta-wreck0
rotate: false
- xy: 3245, 893
+ xy: 3089, 291
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
beta-wreck1
rotate: false
- xy: 2250, 265
+ xy: 3139, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
beta-wreck2
rotate: false
- xy: 2300, 265
+ xy: 3089, 241
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-additive-reconstructor-full
rotate: false
- xy: 2567, 943
+ xy: 1989, 343
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-air-factory-full
rotate: false
- xy: 2665, 943
+ xy: 2087, 288
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-arc-full
rotate: false
- xy: 3252, 383
+ xy: 3153, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-blast-drill-full
rotate: false
- xy: 1951, 1273
+ xy: 2525, 1163
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-char-full
rotate: false
- xy: 3244, 315
+ xy: 3187, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cliffs-full
rotate: false
- xy: 3244, 281
+ xy: 3221, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-conduit-full
rotate: false
- xy: 3244, 247
+ xy: 3221, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-conveyor-full
rotate: false
- xy: 3286, 367
+ xy: 3255, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
conveyor-0-0
rotate: false
- xy: 3286, 367
+ xy: 3255, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-core-foundation-full
rotate: false
- xy: 1821, 1143
+ xy: 2655, 1293
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-core-nucleus-full
rotate: false
- xy: 1, 19
+ xy: 1573, 1323
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
block-core-shard-full
rotate: false
- xy: 2763, 943
+ xy: 1493, 449
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-craters-full
rotate: false
- xy: 3320, 367
+ xy: 3255, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cryofluidmixer-full
rotate: false
- xy: 3517, 836
+ xy: 2675, 234
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-cultivator-full
rotate: false
- xy: 3583, 836
+ xy: 2675, 168
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-cyclone-full
rotate: false
- xy: 2861, 943
+ xy: 1493, 351
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-dark-metal-full
rotate: false
- xy: 3354, 371
+ xy: 3289, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-darksand-full
rotate: false
- xy: 3388, 371
+ xy: 3289, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dunerocks-full
rotate: false
- xy: 3278, 333
+ xy: 3323, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-duo-full
rotate: false
- xy: 3278, 299
+ xy: 3323, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-exponential-reconstructor-full
rotate: false
- xy: 1193, 1275
+ xy: 1129, 1243
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
block-fuse-full
rotate: false
- xy: 2363, 881
+ xy: 1447, 155
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-grass-full
rotate: false
- xy: 3312, 333
+ xy: 3357, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ground-factory-full
rotate: false
- xy: 2461, 845
+ xy: 1447, 57
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-hail-full
rotate: false
- xy: 3278, 265
+ xy: 3357, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-holostone-full
rotate: false
- xy: 3312, 299
+ xy: 3391, 123
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-hotrock-full
rotate: false
- xy: 3312, 265
+ xy: 3391, 89
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ice-full
rotate: false
- xy: 3422, 362
+ xy: 4023, 294
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ice-snow-full
rotate: false
- xy: 3456, 362
+ xy: 4023, 260
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-icerocks-full
rotate: false
- xy: 3278, 231
+ xy: 4023, 226
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ignarock-full
rotate: false
- xy: 3312, 231
+ xy: 4023, 192
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-impact-reactor-full
rotate: false
- xy: 2081, 1403
+ xy: 2655, 1163
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-lancer-full
rotate: false
- xy: 3649, 836
+ xy: 2675, 102
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-laser-drill-full
rotate: false
- xy: 2559, 845
+ xy: 1545, 155
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-liquid-router-full
rotate: false
- xy: 3244, 213
+ xy: 4023, 158
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-liquid-tank-full
rotate: false
- xy: 2657, 845
+ xy: 1545, 57
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-magmarock-full
rotate: false
- xy: 3278, 197
+ xy: 4015, 124
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
-block-mass-conveyor-full
- rotate: false
- xy: 2853, 845
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
-mass-conveyor-icon
- rotate: false
- xy: 2853, 845
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
block-mass-driver-full
rotate: false
- xy: 930, 38
+ xy: 2185, 422
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-mechanical-drill-full
rotate: false
- xy: 3517, 770
+ xy: 2745, 432
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-meltdown-full
rotate: false
- xy: 2081, 1273
+ xy: 2785, 1293
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-metal-floor-damaged-full
rotate: false
- xy: 3312, 197
+ xy: 3999, 451
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-moss-full
rotate: false
- xy: 961, 4
+ xy: 3973, 86
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-multiplicative-reconstructor-full
rotate: false
- xy: 3841, 1435
+ xy: 1573, 1161
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
block-naval-factory-full
rotate: false
- xy: 1028, 38
+ xy: 2185, 324
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-oil-extractor-full
rotate: false
- xy: 1126, 15
+ xy: 2185, 226
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-ore-coal-full
rotate: false
- xy: 995, 4
+ xy: 4007, 90
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-copper-full
rotate: false
- xy: 1029, 4
+ xy: 3429, 141
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-lead-full
rotate: false
- xy: 1063, 4
+ xy: 3425, 107
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-scrap-full
rotate: false
- xy: 2560, 11
+ xy: 3425, 73
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-thorium-full
rotate: false
- xy: 2594, 19
+ xy: 4049, 124
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-titanium-full
rotate: false
- xy: 2628, 23
+ xy: 4041, 90
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-parallax-full
rotate: false
- xy: 3583, 770
+ xy: 2743, 366
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
+block-payload-conveyor-full
+ rotate: false
+ xy: 2287, 658
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
+payload-conveyor-icon
+ rotate: false
+ xy: 2287, 658
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
block-payload-router-full
rotate: false
- xy: 1224, 15
+ xy: 2287, 560
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
payload-router-icon
rotate: false
- xy: 1224, 15
+ xy: 2287, 560
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-pebbles-full
rotate: false
- xy: 3490, 340
+ xy: 3085, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-phase-weaver-full
rotate: false
- xy: 3649, 770
+ xy: 2741, 300
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-plated-conduit-full
rotate: false
- xy: 3524, 340
+ xy: 3119, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pneumatic-drill-full
rotate: false
- xy: 3511, 704
+ xy: 2741, 234
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-pulse-conduit-full
rotate: false
- xy: 3558, 340
+ xy: 3153, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pulverizer-full
rotate: false
- xy: 3592, 340
+ xy: 3187, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-repair-point-full
rotate: false
- xy: 3626, 340
+ xy: 3221, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ripple-full
rotate: false
- xy: 1322, 15
+ xy: 2385, 658
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-rock-full
rotate: false
- xy: 2350, 265
+ xy: 3139, 291
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-rocks-full
rotate: false
- xy: 3660, 340
+ xy: 3255, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-saltrocks-full
rotate: false
- xy: 3694, 340
+ xy: 3289, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-salvo-full
rotate: false
- xy: 3577, 704
+ xy: 2741, 168
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-sand-boulder-full
rotate: false
- xy: 3346, 333
+ xy: 3323, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sand-full
rotate: false
- xy: 3346, 299
+ xy: 3357, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sandrocks-full
rotate: false
- xy: 3346, 265
+ xy: 3391, 55
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scatter-full
rotate: false
- xy: 3643, 704
+ xy: 2741, 102
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-scorch-full
rotate: false
- xy: 3346, 231
+ xy: 3107, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scrap-wall-full
rotate: false
- xy: 3346, 197
+ xy: 3141, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scrap-wall1
rotate: false
- xy: 3346, 197
+ xy: 3141, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scrap-wall-huge-full
rotate: false
- xy: 1420, 15
+ xy: 2385, 560
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
scrap-wall-huge1
rotate: false
- xy: 1420, 15
+ xy: 2385, 560
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
block-scrap-wall-large-full
rotate: false
- xy: 3511, 638
+ xy: 2777, 530
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-segment-full
rotate: false
- xy: 3577, 638
+ xy: 2843, 512
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-shale-boulder-full
rotate: false
- xy: 3380, 303
+ xy: 3209, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shale-full
rotate: false
- xy: 3380, 269
+ xy: 3243, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shalerocks-full
rotate: false
- xy: 3380, 235
+ xy: 3277, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shrubs-full
rotate: false
- xy: 3380, 201
+ xy: 3311, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-snow-full
rotate: false
- xy: 3414, 328
+ xy: 3345, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-snowrock-full
rotate: false
- xy: 2400, 265
+ xy: 3189, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-snowrocks-full
rotate: false
- xy: 3414, 294
+ xy: 3379, 21
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-spectre-full
rotate: false
- xy: 1951, 1143
+ xy: 2785, 1163
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
block-spore-cluster-full
rotate: false
- xy: 2235, 123
+ xy: 3939, 120
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-spore-moss-full
rotate: false
- xy: 3448, 328
+ xy: 3425, 39
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-spore-press-full
rotate: false
- xy: 3643, 638
+ xy: 2909, 512
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-sporerocks-full
rotate: false
- xy: 3414, 260
+ xy: 3413, 5
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-stone-full
rotate: false
- xy: 3448, 294
+ xy: 3447, 5
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-swarmer-full
rotate: false
- xy: 3715, 836
+ xy: 2811, 446
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-tendrils-full
rotate: false
- xy: 3414, 226
+ xy: 3531, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-tetrative-reconstructor-full
rotate: false
- xy: 645, 1437
+ xy: 1, 121
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
block-titanium-conveyor-full
rotate: false
- xy: 3448, 260
+ xy: 3565, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-conveyor-0-0
rotate: false
- xy: 3448, 260
+ xy: 3565, 127
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-turbine-generator-full
rotate: false
- xy: 3715, 770
+ xy: 2877, 446
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-water-extractor-full
rotate: false
- xy: 3709, 704
+ xy: 2943, 446
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
block-wave-full
rotate: false
- xy: 3709, 638
+ xy: 1591, 531
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
bryde-wreck0
rotate: false
- xy: 3841, 1293
+ xy: 2537, 1423
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
bryde-wreck1
rotate: false
- xy: 1419, 1359
+ xy: 2679, 1423
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
bryde-wreck2
rotate: false
- xy: 1419, 1217
+ xy: 2821, 1423
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
core-foundation-team-crux
rotate: false
- xy: 2211, 1143
+ xy: 3045, 1163
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
core-foundation-team-sharded
rotate: false
- xy: 2471, 1403
+ xy: 3175, 1305
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
core-nucleus-team-crux
rotate: false
- xy: 1129, 725
+ xy: 1735, 1323
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
core-nucleus-team-sharded
rotate: false
- xy: 1291, 725
+ xy: 1735, 1161
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
core-shard-team-crux
rotate: false
- xy: 3869, 1097
+ xy: 2283, 266
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
core-shard-team-sharded
rotate: false
- xy: 3967, 1109
+ xy: 2381, 364
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-1-0
rotate: false
- xy: 3482, 136
+ xy: 4041, 56
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cracks-1-1
rotate: false
- xy: 3516, 136
+ xy: 3459, 107
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cracks-1-2
rotate: false
- xy: 3550, 136
+ xy: 3459, 73
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cracks-1-3
rotate: false
- xy: 3584, 136
+ xy: 3459, 39
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cracks-1-4
rotate: false
- xy: 3618, 136
+ xy: 3493, 115
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cracks-1-5
rotate: false
- xy: 3652, 136
+ xy: 3493, 81
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cracks-1-6
rotate: false
- xy: 3686, 136
+ xy: 3493, 47
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cracks-1-7
rotate: false
- xy: 3720, 306
+ xy: 3527, 93
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cracks-2-0
rotate: false
- xy: 4001, 945
+ xy: 3163, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-1
rotate: false
- xy: 3803, 867
+ xy: 3229, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-2
rotate: false
- xy: 3869, 867
+ xy: 3295, 721
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-3
rotate: false
- xy: 3935, 867
+ xy: 3015, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-4
rotate: false
- xy: 4001, 879
+ xy: 3081, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-5
rotate: false
- xy: 3781, 801
+ xy: 3147, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-6
rotate: false
- xy: 3847, 801
+ xy: 3213, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-2-7
rotate: false
- xy: 3913, 801
+ xy: 3279, 655
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cracks-3-0
rotate: false
- xy: 3771, 999
+ xy: 2381, 266
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-1
rotate: false
- xy: 3869, 999
+ xy: 2283, 168
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-2
rotate: false
- xy: 3967, 1011
+ xy: 2381, 168
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-3
rotate: false
- xy: 1485, 915
+ xy: 2481, 788
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-4
rotate: false
- xy: 1583, 915
+ xy: 2483, 690
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-5
rotate: false
- xy: 1681, 915
+ xy: 2483, 592
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-6
rotate: false
- xy: 1615, 817
+ xy: 2483, 494
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-3-7
rotate: false
- xy: 1713, 817
+ xy: 2483, 396
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
cracks-4-0
rotate: false
- xy: 2471, 1273
+ xy: 3175, 1175
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-1
rotate: false
- xy: 2341, 1143
+ xy: 3305, 1305
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-2
rotate: false
- xy: 2601, 1403
+ xy: 3305, 1175
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-3
rotate: false
- xy: 2601, 1273
+ xy: 3435, 1305
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-4
rotate: false
- xy: 2471, 1143
+ xy: 3435, 1175
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-5
rotate: false
- xy: 2731, 1403
+ xy: 3565, 1305
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-6
rotate: false
- xy: 2731, 1273
+ xy: 3565, 1175
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-4-7
rotate: false
- xy: 2601, 1143
+ xy: 3695, 1305
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
cracks-5-0
rotate: false
- xy: 1259, 563
+ xy: 1735, 837
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-1
rotate: false
- xy: 1148, 401
+ xy: 1897, 1355
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-2
rotate: false
- xy: 1310, 401
+ xy: 1897, 1193
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-3
rotate: false
- xy: 1421, 563
+ xy: 1897, 1031
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-4
rotate: false
- xy: 1453, 725
+ xy: 1897, 869
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-5
rotate: false
- xy: 1472, 401
+ xy: 2059, 1394
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-6
rotate: false
- xy: 1583, 563
+ xy: 2059, 1232
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-5-7
rotate: false
- xy: 1634, 401
+ xy: 2221, 1394
size: 160, 160
orig: 160, 160
offset: 0, 0
index: -1
cracks-6-0
rotate: false
- xy: 945, 136
+ xy: 2455, 1565
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-1
rotate: false
- xy: 3287, 1597
+ xy: 2649, 1565
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-2
rotate: false
- xy: 3481, 1597
+ xy: 2843, 1565
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-3
rotate: false
- xy: 3675, 1597
+ xy: 3037, 1565
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-4
rotate: false
- xy: 3869, 1597
+ xy: 3231, 1565
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-5
rotate: false
- xy: 3259, 1403
+ xy: 3425, 1565
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-6
rotate: false
- xy: 3453, 1403
+ xy: 3619, 1565
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-6-7
rotate: false
- xy: 3647, 1403
+ xy: 3813, 1565
size: 192, 192
orig: 192, 192
offset: 0, 0
index: -1
cracks-7-0
rotate: false
- xy: 1451, 1533
+ xy: 1387, 1501
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-1
rotate: false
- xy: 1677, 1533
+ xy: 871, 727
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-2
rotate: false
- xy: 1903, 1533
+ xy: 1129, 1017
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-3
rotate: false
- xy: 2129, 1533
+ xy: 613, 469
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-4
rotate: false
- xy: 2355, 1533
+ xy: 323, 313
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-5
rotate: false
- xy: 2581, 1533
+ xy: 291, 87
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-6
rotate: false
- xy: 2807, 1533
+ xy: 549, 243
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-7-7
rotate: false
- xy: 3033, 1533
+ xy: 517, 17
size: 224, 224
orig: 224, 224
offset: 0, 0
index: -1
cracks-8-0
rotate: false
- xy: 3287, 1791
+ xy: 613, 1469
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-1
rotate: false
- xy: 3545, 1791
+ xy: 613, 1211
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-2
rotate: false
- xy: 3803, 1791
+ xy: 871, 1469
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-3
rotate: false
- xy: 645, 889
+ xy: 613, 953
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-4
rotate: false
- xy: 613, 631
+ xy: 871, 1211
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-5
rotate: false
- xy: 935, 1469
+ xy: 1129, 1469
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-6
rotate: false
- xy: 935, 1211
+ xy: 613, 695
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-8-7
rotate: false
- xy: 1193, 1501
+ xy: 871, 953
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
cracks-9-0
rotate: false
- xy: 967, 1759
+ xy: 1644, 1759
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-1
rotate: false
- xy: 1, 471
+ xy: 1934, 1759
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-2
rotate: false
- xy: 323, 793
+ xy: 2224, 1759
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-3
rotate: false
- xy: 645, 1147
+ xy: 2514, 1759
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-4
rotate: false
- xy: 1257, 1759
+ xy: 2804, 1759
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-5
rotate: false
- xy: 1, 181
+ xy: 3094, 1759
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-6
rotate: false
- xy: 1547, 1759
+ xy: 3384, 1759
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
cracks-9-7
rotate: false
- xy: 1837, 1759
+ xy: 3674, 1759
size: 288, 288
orig: 288, 288
offset: 0, 0
index: -1
crawler-wreck0
rotate: false
- xy: 2450, 237
+ xy: 3239, 291
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-wreck1
rotate: false
- xy: 2500, 237
+ xy: 3289, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-wreck2
rotate: false
- xy: 2550, 237
+ xy: 3239, 241
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
cyclone
rotate: false
- xy: 1779, 915
+ xy: 2479, 298
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
dagger-wreck0
rotate: false
- xy: 2802, 353
+ xy: 3339, 291
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger-wreck1
rotate: false
- xy: 2852, 353
+ xy: 3389, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger-wreck2
rotate: false
- xy: 2902, 353
+ xy: 3339, 241
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
duo
rotate: false
- xy: 3754, 305
+ xy: 3595, 59
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
eclipse-wreck0
rotate: false
- xy: 323, 1727
+ xy: 1, 1055
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
eclipse-wreck1
rotate: false
- xy: 1, 1083
+ xy: 678, 1727
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
eclipse-wreck2
rotate: false
- xy: 323, 1405
+ xy: 1, 733
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
flare-wreck0
rotate: false
- xy: 4045, 829
+ xy: 3489, 291
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
flare-wreck1
rotate: false
- xy: 4045, 779
+ xy: 3539, 353
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
flare-wreck2
rotate: false
- xy: 3052, 295
+ xy: 3539, 303
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
fortress-wreck0
rotate: false
- xy: 2265, 979
+ xy: 1325, 547
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fortress-wreck1
rotate: false
- xy: 2367, 1061
+ xy: 1427, 547
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fortress-wreck2
rotate: false
- xy: 2367, 979
+ xy: 1391, 465
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fuse
rotate: false
- xy: 2039, 735
+ xy: 3407, 1077
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
gamma-wreck0
rotate: false
- xy: 2192, 293
+ xy: 2807, 112
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
gamma-wreck1
rotate: false
- xy: 2308, 431
+ xy: 2865, 322
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
gamma-wreck2
rotate: false
- xy: 2250, 373
+ xy: 2865, 264
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
hail
rotate: false
- xy: 3754, 271
+ xy: 3663, 93
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
horizon-wreck0
rotate: false
- xy: 3297, 873
+ xy: 3791, 807
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
horizon-wreck1
rotate: false
- xy: 3297, 799
+ xy: 3865, 807
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
horizon-wreck2
rotate: false
- xy: 3371, 817
+ xy: 3939, 807
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
item-blast-compound-large
rotate: false
- xy: 2192, 510
+ xy: 2981, 6
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-blast-compound-medium
rotate: false
- xy: 3788, 237
+ xy: 3731, 59
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-blast-compound-small
rotate: false
- xy: 1419, 1049
+ xy: 1657, 571
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-blast-compound-tiny
rotate: false
- xy: 1, 1
+ xy: 1857, 361
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-blast-compound-xlarge
rotate: false
- xy: 1885, 191
+ xy: 3639, 303
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-coal-large
rotate: false
- xy: 3168, 411
+ xy: 3023, 5
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-coal-medium
rotate: false
- xy: 3856, 305
+ xy: 3527, 25
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-coal-small
rotate: false
- xy: 1445, 1049
+ xy: 3463, 149
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-coal-tiny
rotate: false
- xy: 2428, 69
+ xy: 2843, 578
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-coal-xlarge
rotate: false
- xy: 1935, 191
+ xy: 3689, 353
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-copper-large
rotate: false
- xy: 4045, 737
+ xy: 3489, 149
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-copper-medium
rotate: false
- xy: 3788, 203
+ xy: 3595, 25
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-copper-small
rotate: false
- xy: 613, 1057
+ xy: 1657, 545
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-copper-tiny
rotate: false
- xy: 19, 1
+ xy: 499, 69
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-copper-xlarge
rotate: false
- xy: 1885, 141
+ xy: 3689, 303
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-graphite-large
rotate: false
- xy: 1796, 246
+ xy: 3065, 5
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-graphite-medium
rotate: false
- xy: 3856, 271
+ xy: 3663, 25
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-graphite-small
rotate: false
- xy: 967, 1733
+ xy: 4071, 717
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-graphite-tiny
rotate: false
- xy: 37, 1
+ xy: 3871, 117
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-graphite-xlarge
rotate: false
- xy: 1935, 141
+ xy: 3739, 353
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-lead-large
rotate: false
- xy: 1885, 99
+ xy: 289, 45
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-lead-medium
rotate: false
- xy: 3788, 169
+ xy: 3731, 25
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-lead-small
rotate: false
- xy: 903, 1121
+ xy: 4071, 691
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-lead-tiny
rotate: false
- xy: 55, 1
+ xy: 499, 51
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-lead-xlarge
rotate: false
- xy: 1985, 175
+ xy: 3739, 303
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-metaglass-large
rotate: false
- xy: 2278, 23
+ xy: 331, 45
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-metaglass-medium
rotate: false
- xy: 3856, 237
+ xy: 3803, 99
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-metaglass-small
rotate: false
- xy: 871, 863
+ xy: 4071, 665
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-metaglass-tiny
rotate: false
- xy: 73, 1
+ xy: 1643, 226
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-metaglass-xlarge
rotate: false
- xy: 2035, 175
+ xy: 3789, 353
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-phase-fabric-large
rotate: false
- xy: 1838, 246
+ xy: 373, 45
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-phase-fabric-medium
rotate: false
- xy: 3924, 305
+ xy: 3765, 63
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-phase-fabric-small
rotate: false
- xy: 1161, 1185
+ xy: 4071, 639
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-phase-fabric-tiny
rotate: false
- xy: 91, 1
+ xy: 1661, 226
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-phase-fabric-xlarge
rotate: false
- xy: 1985, 125
+ xy: 3789, 303
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-plastanium-large
rotate: false
- xy: 2320, 23
+ xy: 415, 45
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-plastanium-medium
rotate: false
- xy: 3856, 203
+ xy: 3799, 63
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-plastanium-small
rotate: false
- xy: 1129, 959
+ xy: 4071, 613
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-plastanium-tiny
rotate: false
- xy: 109, 1
+ xy: 499, 33
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-plastanium-xlarge
rotate: false
- xy: 2035, 125
+ xy: 3439, 225
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-pyratite-large
rotate: false
- xy: 1880, 246
+ xy: 457, 45
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-pyratite-medium
rotate: false
- xy: 3924, 271
+ xy: 2027, 744
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-pyratite-small
rotate: false
- xy: 1097, 733
+ xy: 1657, 519
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-pyratite-tiny
rotate: false
- xy: 127, 1
+ xy: 1679, 226
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-pyratite-xlarge
rotate: false
- xy: 2085, 173
+ xy: 3489, 241
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-sand-large
rotate: false
- xy: 2362, 23
+ xy: 287, 3
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-sand-medium
rotate: false
- xy: 3856, 169
+ xy: 2611, 70
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-sand-small
rotate: false
- xy: 1097, 537
+ xy: 291, 385
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-sand-tiny
rotate: false
- xy: 145, 1
+ xy: 1697, 230
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-sand-xlarge
rotate: false
- xy: 2135, 173
+ xy: 3539, 253
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-scrap-large
rotate: false
- xy: 2478, 87
+ xy: 329, 3
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-scrap-medium
rotate: false
- xy: 3924, 237
+ xy: 2089, 254
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-scrap-small
rotate: false
- xy: 1451, 1507
+ xy: 517, 287
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-scrap-tiny
rotate: false
- xy: 2594, 1
+ xy: 2351, 926
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-scrap-xlarge
rotate: false
- xy: 2085, 123
+ xy: 3589, 253
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-silicon-large
rotate: false
- xy: 3210, 409
+ xy: 371, 3
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-silicon-medium
rotate: false
- xy: 3992, 305
+ xy: 2055, 220
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-silicon-small
rotate: false
- xy: 323, 767
+ xy: 1644, 1733
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-silicon-tiny
rotate: false
- xy: 2612, 1
+ xy: 1107, 321
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-silicon-xlarge
rotate: false
- xy: 2135, 123
+ xy: 3639, 253
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-spore-pod-large
rotate: false
- xy: 3202, 367
+ xy: 413, 3
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-spore-pod-medium
rotate: false
- xy: 3958, 237
+ xy: 1825, 253
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-spore-pod-small
rotate: false
- xy: 2431, 855
+ xy: 1387, 1475
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-spore-pod-tiny
rotate: false
- xy: 2959, 1023
+ xy: 549, 471
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-spore-pod-xlarge
rotate: false
- xy: 1928, 91
+ xy: 3689, 253
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-surge-alloy-large
rotate: false
- xy: 3202, 325
+ xy: 455, 3
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-surge-alloy-medium
rotate: false
- xy: 4026, 305
+ xy: 1893, 253
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-surge-alloy-small
rotate: false
- xy: 2073, 937
+ xy: 1831, 1491
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-surge-alloy-tiny
rotate: false
- xy: 3781, 884
+ xy: 4033, 467
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-surge-alloy-xlarge
rotate: false
- xy: 1928, 41
+ xy: 3739, 253
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-thorium-large
rotate: false
- xy: 3202, 283
+ xy: 1929, 259
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-thorium-medium
rotate: false
- xy: 3958, 203
+ xy: 1851, 185
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-thorium-small
rotate: false
- xy: 4003, 1439
+ xy: 871, 701
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-thorium-tiny
rotate: false
- xy: 2113, 619
+ xy: 1763, 338
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-thorium-xlarge
rotate: false
- xy: 1978, 75
+ xy: 3789, 253
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
item-titanium-large
rotate: false
- xy: 3202, 241
+ xy: 1971, 251
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
item-titanium-medium
rotate: false
- xy: 4026, 271
+ xy: 1851, 151
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-titanium-small
rotate: false
- xy: 4065, 1181
+ xy: 1097, 927
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
item-titanium-tiny
rotate: false
- xy: 2424, 319
+ xy: 2027, 851
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
item-titanium-xlarge
rotate: false
- xy: 2028, 75
+ xy: 3839, 353
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
lancer
rotate: false
- xy: 3437, 594
+ xy: 3543, 667
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
liquid-cryofluid-large
rotate: false
- xy: 2404, 23
+ xy: 2013, 251
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
liquid-cryofluid-medium
rotate: false
- xy: 3992, 169
+ xy: 1851, 83
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-cryofluid-small
rotate: false
- xy: 2203, 866
+ xy: 1001, 247
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
liquid-cryofluid-tiny
rotate: false
- xy: 1978, 7
+ xy: 2061, 760
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
liquid-cryofluid-xlarge
rotate: false
- xy: 1978, 25
+ xy: 3889, 311
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
liquid-oil-large
rotate: false
- xy: 2446, 45
+ xy: 3539, 161
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
liquid-oil-medium
rotate: false
- xy: 3754, 135
+ xy: 1885, 83
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-oil-small
rotate: false
- xy: 1561, 889
+ xy: 2189, 882
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
liquid-oil-tiny
rotate: false
- xy: 2192, 492
+ xy: 1825, 289
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
liquid-oil-xlarge
rotate: false
- xy: 2028, 25
+ xy: 3939, 362
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
liquid-slag-large
rotate: false
- xy: 2488, 45
+ xy: 3581, 161
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
liquid-slag-medium
rotate: false
- xy: 3992, 135
+ xy: 1919, 117
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-slag-small
rotate: false
- xy: 1097, 12
+ xy: 3964, 1763
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
liquid-slag-tiny
rotate: false
- xy: 2128, 5
+ xy: 2157, 270
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
liquid-slag-xlarge
rotate: false
- xy: 2078, 5
+ xy: 3939, 312
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
liquid-water-large
rotate: false
- xy: 2520, 87
+ xy: 3623, 161
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
liquid-water-medium
rotate: false
- xy: 4060, 237
+ xy: 1953, 217
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-water-small
rotate: false
- xy: 3728, 348
+ xy: 1529, 603
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
liquid-water-tiny
rotate: false
- xy: 2642, 189
+ xy: 2259, 208
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
liquid-water-xlarge
rotate: false
- xy: 2128, 23
+ xy: 3839, 235
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mace-wreck0
rotate: false
- xy: 3965, 537
+ xy: 2811, 380
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-wreck1
rotate: false
- xy: 4031, 537
+ xy: 2877, 380
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-wreck2
rotate: false
- xy: 3369, 537
+ xy: 2943, 380
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mass-driver
rotate: false
- xy: 2235, 587
+ xy: 3003, 967
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
mega-wreck0
rotate: false
- xy: 2673, 1041
+ xy: 1887, 535
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
mega-wreck1
rotate: false
- xy: 2775, 1041
+ xy: 1785, 445
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
mega-wreck2
rotate: false
- xy: 2877, 1041
+ xy: 1887, 433
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
meltdown
rotate: false
- xy: 2991, 1143
+ xy: 1097, 661
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
minke-wreck0
rotate: false
- xy: 3381, 1273
+ xy: 1131, 401
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
minke-wreck1
rotate: false
- xy: 3381, 1143
+ xy: 1261, 401
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
minke-wreck2
rotate: false
- xy: 3511, 1273
+ xy: 1131, 271
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
mono-wreck0
rotate: false
- xy: 2228, 73
+ xy: 3139, 191
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mono-wreck1
rotate: false
- xy: 2228, 23
+ xy: 3189, 191
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mono-wreck2
rotate: false
- xy: 2192, 243
+ xy: 3239, 191
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
nova-wreck0
rotate: false
- xy: 2308, 373
+ xy: 2923, 264
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
nova-wreck1
rotate: false
- xy: 2308, 315
+ xy: 2865, 148
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
nova-wreck2
rotate: false
- xy: 2366, 373
+ xy: 2923, 206
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
parallax
rotate: false
- xy: 3633, 506
+ xy: 3411, 589
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
poly-wreck0
rotate: false
- xy: 2482, 395
+ xy: 2923, 90
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
poly-wreck1
rotate: false
- xy: 2424, 337
+ xy: 2807, 54
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
poly-wreck2
rotate: false
- xy: 2540, 395
+ xy: 2865, 32
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
pulsar-wreck0
rotate: false
- xy: 663, 97
+ xy: 1065, 481
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
pulsar-wreck1
rotate: false
- xy: 1485, 1025
+ xy: 229, 71
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
pulsar-wreck2
rotate: false
- xy: 1805, 571
+ xy: 2287, 764
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
quasar-wreck0
rotate: false
- xy: 1846, 15
+ xy: 3389, 799
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-wreck1
rotate: false
- xy: 3215, 763
+ xy: 3471, 799
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-wreck2
rotate: false
- xy: 3215, 681
+ xy: 3553, 799
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
repair-point
rotate: false
- xy: 2752, 281
+ xy: 2191, 192
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
ripple
rotate: false
- xy: 2823, 453
+ xy: 3983, 979
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
risso-wreck0
rotate: false
- xy: 2921, 453
+ xy: 3559, 881
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
risso-wreck1
rotate: false
- xy: 2951, 845
+ xy: 3657, 881
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
risso-wreck2
rotate: false
- xy: 3049, 845
+ xy: 3755, 881
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
salvo
rotate: false
- xy: 3955, 405
+ xy: 3009, 391
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scatter
rotate: false
- xy: 3889, 339
+ xy: 3141, 391
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scorch
rotate: false
- xy: 2888, 251
+ xy: 2225, 158
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
segment
rotate: false
- xy: 795, 22
+ xy: 3339, 457
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
spectre
rotate: false
- xy: 3641, 1273
+ xy: 1187, 141
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
spiroct-wreck0
rotate: false
- xy: 3467, 968
+ xy: 2875, 792
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
spiroct-wreck1
rotate: false
- xy: 3563, 968
+ xy: 2581, 400
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
spiroct-wreck2
rotate: false
- xy: 3659, 968
+ xy: 2679, 498
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
splash-0
rotate: false
- xy: 2782, 145
+ xy: 2259, 100
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-1
rotate: false
- xy: 2788, 111
+ xy: 2293, 134
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-10
rotate: false
- xy: 2880, 183
+ xy: 2327, 66
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-11
rotate: false
- xy: 2948, 217
+ xy: 2361, 100
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-2
rotate: false
- xy: 2788, 77
+ xy: 2259, 66
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-3
rotate: false
- xy: 2812, 213
+ xy: 2293, 100
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-4
rotate: false
- xy: 2812, 179
+ xy: 2327, 134
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-5
rotate: false
- xy: 2816, 145
+ xy: 2259, 32
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-6
rotate: false
- xy: 2846, 217
+ xy: 2293, 66
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-7
rotate: false
- xy: 2880, 217
+ xy: 2327, 100
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-8
rotate: false
- xy: 2846, 183
+ xy: 2361, 134
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
splash-9
rotate: false
- xy: 2914, 217
+ xy: 2293, 32
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
swarmer
rotate: false
- xy: 1928, 307
+ xy: 4031, 543
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
unit-alpha-full
rotate: false
- xy: 2535, 137
+ xy: 1979, 293
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-antumbra-full
rotate: false
- xy: 727, 291
+ xy: 1831, 1517
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
unit-arkyid-full
rotate: false
- xy: 1561, 1013
+ xy: 1317, 141
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
unit-atrax-full
rotate: false
- xy: 1941, 571
+ xy: 2971, 803
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
unit-beta-full
rotate: false
- xy: 2592, 187
+ xy: 2029, 293
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-bryde-full
rotate: false
- xy: 1419, 1075
+ xy: 2963, 1423
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
unit-crawler-full
rotate: false
- xy: 2585, 137
+ xy: 3889, 211
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-dagger-full
rotate: false
- xy: 2278, 115
+ xy: 3939, 212
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-eclipse-full
rotate: false
- xy: 645, 1727
+ xy: 1000, 1727
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
unit-flare-full
rotate: false
- xy: 2328, 115
+ xy: 3839, 185
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-fortress-full
rotate: false
- xy: 2979, 1061
+ xy: 1391, 281
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
unit-gamma-full
rotate: false
- xy: 2598, 395
+ xy: 2981, 322
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
unit-horizon-full
rotate: false
- xy: 3371, 669
+ xy: 1689, 282
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
unit-mace-full
rotate: false
- xy: 2126, 354
+ xy: 3735, 469
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
unit-mega-full
rotate: false
- xy: 3081, 1041
+ xy: 1989, 637
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
unit-minke-full
rotate: false
- xy: 1691, 1013
+ xy: 1317, 11
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
unit-mono-full
rotate: false
- xy: 2278, 65
+ xy: 3789, 167
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-nova-full
rotate: false
- xy: 2540, 337
+ xy: 2981, 264
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
unit-poly-full
rotate: false
- xy: 2656, 395
+ xy: 2981, 206
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
unit-pulsar-full
rotate: false
- xy: 1865, 571
+ xy: 1591, 266
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
unit-quasar-full
rotate: false
- xy: 3215, 599
+ xy: 3635, 799
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
unit-risso-full
rotate: false
- xy: 3175, 943
+ xy: 2679, 575
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
unit-spiroct-full
rotate: false
- xy: 3371, 891
+ xy: 2777, 596
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
unit-zenith-full
rotate: false
- xy: 3983, 1321
+ xy: 1, 7
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
wave
rotate: false
- xy: 1994, 225
+ xy: 3867, 411
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
zenith-wreck0
rotate: false
- xy: 1821, 1029
+ xy: 1341, 629
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
zenith-wreck1
rotate: false
- xy: 1935, 1029
+ xy: 1455, 629
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
zenith-wreck2
rotate: false
- xy: 2049, 1029
+ xy: 1569, 597
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
item-blast-compound
rotate: false
- xy: 3754, 203
+ xy: 3697, 59
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-coal
rotate: false
- xy: 3822, 271
+ xy: 3481, 5
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-copper
rotate: false
- xy: 3754, 169
+ xy: 3561, 25
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-graphite
rotate: false
- xy: 3822, 237
+ xy: 3629, 25
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-lead
rotate: false
- xy: 3890, 305
+ xy: 3697, 25
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-metaglass
rotate: false
- xy: 3822, 203
+ xy: 3769, 97
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-phase-fabric
rotate: false
- xy: 3890, 271
+ xy: 3837, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-plastanium
rotate: false
- xy: 3822, 169
+ xy: 3765, 29
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-pyratite
rotate: false
- xy: 3890, 237
+ xy: 3799, 29
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-sand
rotate: false
- xy: 3958, 305
+ xy: 2577, 70
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-scrap
rotate: false
- xy: 3890, 203
+ xy: 2055, 254
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-silicon
rotate: false
- xy: 3958, 271
+ xy: 2123, 254
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-spore-pod
rotate: false
- xy: 3924, 203
+ xy: 2123, 220
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-surge-alloy
rotate: false
- xy: 3992, 271
+ xy: 1859, 253
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-thorium
rotate: false
- xy: 3924, 169
+ xy: 1851, 219
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-titanium
rotate: false
- xy: 3992, 237
+ xy: 1885, 219
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-cryofluid
rotate: false
- xy: 4026, 237
+ xy: 1885, 151
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-oil
rotate: false
- xy: 4026, 169
+ xy: 1851, 49
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-slag
rotate: false
- xy: 3958, 135
+ xy: 1919, 151
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-water
rotate: false
- xy: 4060, 271
+ xy: 1919, 15
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
blank
rotate: false
- xy: 3286, 448
+ xy: 4094, 2046
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
circle
rotate: false
- xy: 945, 330
+ xy: 2049, 1556
size: 201, 201
orig: 201, 201
offset: 0, 0
index: -1
shape-3
rotate: false
- xy: 2126, 223
+ xy: 3933, 412
size: 63, 63
orig: 63, 63
offset: 0, 0
index: -1
alpha
rotate: false
- xy: 2652, 345
+ xy: 2981, 48
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
alpha-cell
rotate: false
- xy: 2768, 403
+ xy: 1447, 7
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
antumbra
rotate: false
- xy: 291, 519
+ xy: 969, 1
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
antumbra-cell
rotate: false
- xy: 291, 277
+ xy: 1355, 1227
size: 216, 240
orig: 216, 240
offset: 0, 0
index: -1
arkyid
rotate: false
- xy: 1561, 1403
- size: 128, 128
- orig: 128, 128
- offset: 0, 0
- index: -1
-chaos-array
- rotate: false
- xy: 1561, 1403
+ xy: 3964, 1919
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
arkyid-cell
rotate: false
- xy: 2073, 963
- size: 88, 64
- orig: 88, 64
+ xy: 3105, 1435
+ size: 128, 128
+ orig: 128, 128
offset: 0, 0
index: -1
arkyid-foot
rotate: false
- xy: 3297, 579
+ xy: 4013, 809
size: 70, 70
orig: 70, 70
offset: 0, 0
index: -1
arkyid-joint-base
rotate: false
- xy: 3289, 507
+ xy: 1785, 307
size: 70, 70
orig: 70, 70
offset: 0, 0
index: -1
arkyid-leg
rotate: false
- xy: 4039, 677
+ xy: 3999, 485
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
arkyid-leg-base
rotate: false
- xy: 163, 1
+ xy: 1001, 273
size: 104, 64
orig: 104, 64
offset: 0, 0
index: -1
atrax
rotate: false
- xy: 3467, 902
+ xy: 4007, 1723
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
atrax-base
rotate: false
- xy: 3771, 1337
+ xy: 2679, 432
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
atrax-cell
rotate: false
- xy: 3557, 902
+ xy: 4007, 1657
size: 88, 64
orig: 88, 64
offset: 0, 0
index: -1
atrax-foot
rotate: false
- xy: 829, 589
+ xy: 1597, 15
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
atrax-joint
rotate: false
- xy: 3259, 1731
+ xy: 432, 1699
size: 26, 26
orig: 26, 26
offset: 0, 0
index: -1
atrax-leg
rotate: false
- xy: 1485, 887
+ xy: 356, 1699
size: 36, 26
orig: 36, 26
offset: 0, 0
index: -1
atrax-leg-base
rotate: false
- xy: 1523, 887
+ xy: 394, 1699
size: 36, 26
orig: 36, 26
offset: 0, 0
index: -1
beta
rotate: false
- xy: 3068, 403
+ xy: 3089, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
beta-cell
rotate: false
- xy: 3118, 403
+ xy: 3039, 233
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
bryde
rotate: false
- xy: 1601, 97
+ xy: 2383, 1288
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
bryde-cell
rotate: false
- xy: 1743, 97
+ xy: 2383, 1146
size: 140, 140
orig: 140, 140
offset: 0, 0
index: -1
+chaos-array
+ rotate: false
+ xy: 2915, 1293
+ size: 128, 128
+ orig: 128, 128
+ offset: 0, 0
+ index: -1
chaos-array-base
rotate: false
- xy: 2211, 1403
+ xy: 2915, 1163
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
chaos-array-cell
rotate: false
- xy: 2211, 1273
+ xy: 2383, 1016
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
chaos-array-leg
rotate: false
- xy: 2081, 1143
+ xy: 1001, 339
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
crawler
rotate: false
- xy: 2450, 287
+ xy: 3139, 241
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-base
rotate: false
- xy: 2500, 287
+ xy: 3189, 291
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-cell
rotate: false
- xy: 2550, 287
+ xy: 3239, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
crawler-leg
rotate: false
- xy: 2600, 291
+ xy: 3189, 241
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger
rotate: false
- xy: 2600, 241
+ xy: 3289, 291
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger-base
rotate: false
- xy: 2702, 345
+ xy: 3339, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
dagger-leg
rotate: false
- xy: 2752, 349
+ xy: 3289, 241
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
eclipse
rotate: false
- xy: 1, 1727
+ xy: 1, 1377
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
eclipse-cell
rotate: false
- xy: 1, 1405
+ xy: 356, 1727
size: 320, 320
orig: 320, 320
offset: 0, 0
index: -1
eradicator
rotate: false
- xy: 509, 21
+ xy: 2221, 944
size: 152, 124
orig: 152, 124
offset: 0, 0
index: -1
eradicator-base
rotate: false
- xy: 1139, 113
+ xy: 1573, 711
size: 152, 124
orig: 152, 124
offset: 0, 0
index: -1
eradicator-cell
rotate: false
- xy: 1293, 113
+ xy: 1727, 711
size: 152, 124
orig: 152, 124
offset: 0, 0
index: -1
eradicator-leg
rotate: false
- xy: 1447, 113
+ xy: 2383, 1430
size: 152, 124
orig: 152, 124
offset: 0, 0
index: -1
flare
rotate: false
- xy: 3152, 353
+ xy: 3489, 341
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
fortress
rotate: false
- xy: 727, 549
+ xy: 1785, 629
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fortress-base
rotate: false
- xy: 3979, 735
+ xy: 3955, 741
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
fortress-cell
rotate: false
- xy: 2265, 1061
+ xy: 1785, 547
size: 100, 80
orig: 100, 80
offset: 0, 0
index: -1
fortress-leg
rotate: false
- xy: 509, 633
+ xy: 4015, 1447
size: 80, 60
orig: 80, 60
offset: 0, 0
index: -1
gamma
rotate: false
- xy: 4039, 619
+ xy: 229, 13
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
gamma-cell
rotate: false
- xy: 2250, 431
+ xy: 2807, 170
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
horizon
rotate: false
- xy: 3215, 525
+ xy: 2505, 893
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
horizon-cell
rotate: false
- xy: 3215, 451
+ xy: 3717, 807
size: 72, 72
orig: 72, 72
offset: 0, 0
index: -1
mace
rotate: false
- xy: 3701, 572
+ xy: 3807, 675
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-base
rotate: false
- xy: 3767, 537
+ xy: 3873, 675
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-cell
rotate: false
- xy: 3833, 537
+ xy: 3939, 675
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mace-leg
rotate: false
- xy: 3899, 537
+ xy: 4005, 675
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mega
rotate: false
- xy: 2469, 1041
+ xy: 1391, 363
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
mega-cell
rotate: false
- xy: 2571, 1041
+ xy: 1887, 637
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
minke
rotate: false
- xy: 3251, 1273
+ xy: 1897, 739
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
minke-cell
rotate: false
- xy: 3251, 1143
+ xy: 1195, 531
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
mono
rotate: false
- xy: 2185, 173
+ xy: 3039, 183
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mono-cell
rotate: false
- xy: 2185, 123
+ xy: 3089, 191
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
nova
rotate: false
- xy: 2366, 431
+ xy: 2923, 322
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
nova-base
rotate: false
- xy: 2342, 215
+ xy: 3389, 191
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
nova-cell
rotate: false
- xy: 2250, 315
+ xy: 2865, 206
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
nova-leg
rotate: false
- xy: 2392, 215
+ xy: 3035, 133
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
poly
rotate: false
- xy: 2366, 315
+ xy: 2923, 148
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
poly-cell
rotate: false
- xy: 2424, 395
+ xy: 2865, 90
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
power-cell
rotate: false
- xy: 2482, 337
+ xy: 2923, 32
size: 56, 56
orig: 56, 56
offset: 0, 0
index: -1
pulsar
rotate: false
- xy: 1745, 573
+ xy: 1529, 547
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
pulsar-base
rotate: false
- xy: 2235, 165
+ xy: 3035, 83
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
pulsar-cell
rotate: false
- xy: 2203, 892
+ xy: 549, 489
size: 58, 48
orig: 58, 48
offset: 0, 0
index: -1
pulsar-leg
rotate: false
- xy: 3897, 471
+ xy: 3107, 523
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
quasar
rotate: false
- xy: 2031, 555
+ xy: 3061, 787
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-base
rotate: false
- xy: 1600, 15
+ xy: 3143, 787
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-cell
rotate: false
- xy: 1682, 15
+ xy: 3225, 787
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
quasar-leg
rotate: false
- xy: 1764, 15
+ xy: 3307, 787
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
risso
rotate: false
- xy: 2921, 649
+ xy: 3363, 881
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
risso-cell
rotate: false
- xy: 2921, 551
+ xy: 3461, 881
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
spiroct
rotate: false
- xy: 1615, 740
+ xy: 1689, 433
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
spiroct-cell
rotate: false
- xy: 3371, 968
+ xy: 1689, 356
size: 94, 75
orig: 94, 75
offset: 0, 0
index: -1
spiroct-foot
rotate: false
- xy: 3245, 845
+ xy: 4049, 931
size: 46, 46
orig: 46, 46
offset: 0, 0
index: -1
spiroct-joint
rotate: false
- xy: 2754, 73
+ xy: 2259, 134
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
spiroct-leg
rotate: false
- xy: 1928, 5
+ xy: 3789, 217
size: 48, 34
orig: 48, 34
offset: 0, 0
index: -1
spiroct-leg-base
rotate: false
- xy: 3771, 1301
+ xy: 3031, 47
size: 48, 34
orig: 48, 34
offset: 0, 0
index: -1
vanguard
rotate: false
- xy: 2378, 115
+ xy: 3889, 161
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
vanguard-cell
rotate: false
- xy: 2328, 65
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-antumbra-missiles
- rotate: false
- xy: 2968, 403
+ xy: 3939, 162
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
artillery
rotate: false
- xy: 3018, 395
+ xy: 3039, 283
size: 48, 56
orig: 48, 56
offset: 0, 0
index: -1
artillery-mount
rotate: false
- xy: 3289, 435
+ xy: 1857, 287
size: 70, 70
orig: 70, 70
offset: 0, 0
index: -1
beam-weapon
rotate: false
- xy: 1518, 31
+ xy: 4015, 1509
size: 80, 80
orig: 80, 80
offset: 0, 0
index: -1
chaos
rotate: false
- xy: 2192, 351
+ xy: 2807, 228
size: 56, 136
orig: 56, 136
offset: 0, 0
index: -1
eradication
rotate: false
- xy: 1745, 623
+ xy: 1591, 316
size: 96, 192
orig: 96, 192
offset: 0, 0
index: -1
eruption
rotate: false
- xy: 3002, 337
+ xy: 3439, 333
size: 48, 56
orig: 48, 56
offset: 0, 0
index: -1
flakgun
rotate: false
- xy: 3052, 345
+ xy: 3389, 241
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
flamethrower
rotate: false
- xy: 3102, 345
+ xy: 3439, 275
size: 48, 56
orig: 48, 56
offset: 0, 0
index: -1
heal-shotgun-weapon
rotate: false
- xy: 3102, 295
+ xy: 3589, 353
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
heal-weapon
rotate: false
- xy: 3152, 303
+ xy: 3589, 303
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
heal-weapon-mount
rotate: false
- xy: 3152, 253
+ xy: 3639, 353
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
large-artillery
rotate: false
- xy: 2078, 55
+ xy: 3839, 285
size: 48, 66
orig: 48, 66
offset: 0, 0
index: -1
large-bullet-mount
rotate: false
- xy: 3445, 792
+ xy: 1643, 127
size: 70, 97
orig: 70, 97
offset: 0, 0
index: -1
large-laser-mount
rotate: false
- xy: 2137, 650
+ xy: 2577, 202
size: 96, 192
orig: 96, 192
offset: 0, 0
index: -1
+large-purple-mount
+ rotate: false
+ xy: 1643, 28
+ size: 70, 97
+ orig: 70, 97
+ offset: 0, 0
+ index: -1
large-weapon
rotate: false
- xy: 2128, 73
+ xy: 3889, 361
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
missiles
rotate: false
- xy: 2178, 73
+ xy: 3889, 261
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
missiles-mount
rotate: false
- xy: 2178, 23
+ xy: 3939, 262
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mount-purple-weapon
rotate: false
- xy: 2242, 215
+ xy: 3289, 191
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
mount-weapon
rotate: false
- xy: 2292, 215
+ xy: 3339, 191
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
small-basic-weapon
rotate: false
- xy: 2385, 165
+ xy: 3539, 203
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
small-mount-weapon
rotate: false
- xy: 2442, 187
+ xy: 3589, 203
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
small-weapon
rotate: false
- xy: 2492, 187
+ xy: 3639, 203
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
spiroct-weapon
rotate: false
- xy: 2485, 129
+ xy: 1929, 301
size: 48, 56
orig: 48, 56
offset: 0, 0
index: -1
weapon
rotate: false
- xy: 2378, 65
+ xy: 3839, 135
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
zenith-missiles
rotate: false
- xy: 2428, 87
+ xy: 3889, 111
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
zenith
rotate: false
- xy: 3983, 1207
+ xy: 1227, 677
size: 112, 112
orig: 112, 112
offset: 0, 0
index: -1
zenith-cell
rotate: false
- xy: 163, 67
+ xy: 115, 7
size: 112, 112
orig: 112, 112
offset: 0, 0
@@ -8137,7 +8165,7 @@ arc-icon-editor
index: -1
armored-conveyor-icon-editor
rotate: false
- xy: 1631, 225
+ xy: 3897, 355
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -8172,7 +8200,7 @@ blast-mixer-icon-editor
index: -1
block-border-editor
rotate: false
- xy: 1665, 225
+ xy: 3931, 355
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -8200,28 +8228,28 @@ block-unloader-icon-editor
index: -1
bridge-conduit-icon-editor
rotate: false
- xy: 1699, 225
+ xy: 3965, 355
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
bridge-conveyor-icon-editor
rotate: false
- xy: 1733, 225
+ xy: 163, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
char-icon-editor
rotate: false
- xy: 1767, 225
+ xy: 197, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-char1
rotate: false
- xy: 1767, 225
+ xy: 197, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -8235,14 +8263,14 @@ clear-editor
index: -1
cliff-icon-editor
rotate: false
- xy: 1801, 225
+ xy: 231, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cliffs-icon-editor
rotate: false
- xy: 1847, 257
+ xy: 265, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -8256,42 +8284,49 @@ coal-centrifuge-icon-editor
index: -1
combustion-generator-icon-editor
rotate: false
- xy: 1881, 257
+ xy: 299, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
+command-center-icon-editor
+ rotate: false
+ xy: 553, 1
+ size: 64, 64
+ orig: 64, 64
+ offset: 0, 0
+ index: -1
conduit-icon-editor
rotate: false
- xy: 1915, 257
+ xy: 333, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
container-icon-editor
rotate: false
- xy: 1847, 291
+ xy: 651, 33
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
conveyor-icon-editor
rotate: false
- xy: 1979, 289
+ xy: 367, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
copper-wall-icon-editor
rotate: false
- xy: 2013, 289
+ xy: 401, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
copper-wall-large-icon-editor
rotate: false
- xy: 1913, 291
+ xy: 717, 33
size: 64, 64
orig: 64, 64
offset: 0, 0
@@ -8319,28 +8354,28 @@ core-shard-icon-editor
index: -1
craters-icon-editor
rotate: false
- xy: 2047, 289
+ xy: 435, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-craters1
rotate: false
- xy: 2047, 289
+ xy: 435, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
cryofluidmixer-icon-editor
rotate: false
- xy: 1979, 323
+ xy: 783, 33
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
cultivator-icon-editor
rotate: false
- xy: 2045, 323
+ xy: 849, 33
size: 64, 64
orig: 64, 64
offset: 0, 0
@@ -8354,133 +8389,133 @@ cyclone-icon-editor
index: -1
dark-metal-icon-editor
rotate: false
- xy: 2081, 289
+ xy: 469, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-1-icon-editor
rotate: false
- xy: 2115, 289
+ xy: 503, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-1
rotate: false
- xy: 2115, 289
+ xy: 503, 1
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-2-icon-editor
rotate: false
- xy: 2149, 289
+ xy: 915, 65
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-2
rotate: false
- xy: 2149, 289
+ xy: 915, 65
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-3-icon-editor
rotate: false
- xy: 2183, 289
+ xy: 915, 31
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-3
rotate: false
- xy: 2183, 289
+ xy: 915, 31
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-4-icon-editor
rotate: false
- xy: 2217, 289
+ xy: 945, 177
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-4
rotate: false
- xy: 2217, 289
+ xy: 945, 177
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-5-icon-editor
rotate: false
- xy: 2251, 289
+ xy: 945, 143
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-5
rotate: false
- xy: 2251, 289
+ xy: 945, 143
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
dark-panel-6-icon-editor
rotate: false
- xy: 2285, 289
+ xy: 979, 177
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-dark-panel-6
rotate: false
- xy: 2285, 289
+ xy: 979, 177
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
darksand-icon-editor
rotate: false
- xy: 2319, 289
+ xy: 945, 109
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand1
rotate: false
- xy: 2319, 289
+ xy: 945, 109
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
darksand-tainted-water-icon-editor
rotate: false
- xy: 2353, 289
+ xy: 979, 143
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
darksand-water-icon-editor
rotate: false
- xy: 2387, 289
+ xy: 1013, 177
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
deepwater-icon-editor
rotate: false
- xy: 2421, 289
+ xy: 979, 109
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-deepwater
rotate: false
- xy: 2421, 289
+ xy: 979, 109
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -8494,7 +8529,7 @@ differential-generator-icon-editor
index: -1
diode-icon-editor
rotate: false
- xy: 2455, 289
+ xy: 1013, 143
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -8508,826 +8543,826 @@ disassembler-icon-editor
index: -1
distributor-icon-editor
rotate: false
- xy: 2111, 323
+ xy: 1357, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
door-icon-editor
rotate: false
- xy: 2489, 289
+ xy: 1047, 177
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
door-large-icon-editor
rotate: false
- xy: 2177, 323
+ xy: 1423, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
dunerocks-icon-editor
rotate: false
- xy: 2523, 289
+ xy: 1013, 109
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
duo-icon-editor
rotate: false
- xy: 2557, 289
+ xy: 1047, 143
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-char2
rotate: false
- xy: 2591, 289
+ xy: 1047, 109
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-char3
rotate: false
- xy: 2625, 289
+ xy: 949, 75
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-craters2
rotate: false
- xy: 2659, 289
+ xy: 949, 41
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-craters3
rotate: false
- xy: 2693, 289
+ xy: 983, 75
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-tainted-water1
rotate: false
- xy: 2795, 289
+ xy: 1017, 41
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-tainted-water2
rotate: false
- xy: 2829, 289
+ xy: 1051, 75
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-tainted-water3
rotate: false
- xy: 2863, 289
+ xy: 1051, 41
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-water1
rotate: false
- xy: 2897, 289
+ xy: 3755, 305
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-water2
rotate: false
- xy: 2931, 289
+ xy: 3789, 305
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand-water3
rotate: false
- xy: 2965, 289
+ xy: 3823, 305
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand2
rotate: false
- xy: 2727, 289
+ xy: 983, 41
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-darksand3
rotate: false
- xy: 2761, 289
+ xy: 1017, 75
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-grass1
rotate: false
- xy: 2999, 289
+ xy: 3857, 313
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
grass-icon-editor
rotate: false
- xy: 2999, 289
+ xy: 3857, 313
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-grass2
rotate: false
- xy: 3033, 289
+ xy: 1085, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-grass3
rotate: false
- xy: 3067, 289
+ xy: 1119, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-holostone1
rotate: false
- xy: 3101, 289
+ xy: 1081, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
holostone-icon-editor
rotate: false
- xy: 3101, 289
+ xy: 1081, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-holostone2
rotate: false
- xy: 3135, 289
+ xy: 1081, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-holostone3
rotate: false
- xy: 3169, 289
+ xy: 1115, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-hotrock1
rotate: false
- xy: 3203, 289
+ xy: 1115, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
hotrock-icon-editor
rotate: false
- xy: 3203, 289
+ xy: 1115, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-hotrock2
rotate: false
- xy: 3237, 289
+ xy: 1153, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-hotrock3
rotate: false
- xy: 3271, 289
+ xy: 1149, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice-snow1
rotate: false
- xy: 3407, 289
+ xy: 1221, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
ice-snow-icon-editor
rotate: false
- xy: 3407, 289
+ xy: 1221, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice-snow2
rotate: false
- xy: 3441, 289
+ xy: 1183, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice-snow3
rotate: false
- xy: 3475, 289
+ xy: 1217, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice1
rotate: false
- xy: 3305, 289
+ xy: 1187, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
ice-icon-editor
rotate: false
- xy: 3305, 289
+ xy: 1187, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice2
rotate: false
- xy: 3339, 289
+ xy: 1149, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ice3
rotate: false
- xy: 3373, 289
+ xy: 1183, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ignarock1
rotate: false
- xy: 3509, 289
+ xy: 1255, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
ignarock-icon-editor
rotate: false
- xy: 3509, 289
+ xy: 1255, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ignarock2
rotate: false
- xy: 3543, 289
+ xy: 1217, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ignarock3
rotate: false
- xy: 3577, 289
+ xy: 1251, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-magmarock1
rotate: false
- xy: 3611, 289
+ xy: 1289, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
magmarock-icon-editor
rotate: false
- xy: 3611, 289
+ xy: 1289, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-magmarock2
rotate: false
- xy: 3645, 289
+ xy: 1323, 193
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-magmarock3
rotate: false
- xy: 3679, 289
+ xy: 1251, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor
rotate: false
- xy: 3713, 289
+ xy: 1285, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-icon-editor
rotate: false
- xy: 3713, 289
+ xy: 1285, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-2
rotate: false
- xy: 3747, 289
+ xy: 1285, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-2-icon-editor
rotate: false
- xy: 3747, 289
+ xy: 1285, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-3
rotate: false
- xy: 3781, 289
+ xy: 1319, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-3-icon-editor
rotate: false
- xy: 3781, 289
+ xy: 1319, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-5
rotate: false
- xy: 3815, 289
+ xy: 1319, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-5-icon-editor
rotate: false
- xy: 3815, 289
+ xy: 1319, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-damaged1
rotate: false
- xy: 3849, 289
+ xy: 1353, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
metal-floor-damaged-icon-editor
rotate: false
- xy: 3849, 289
+ xy: 1353, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-damaged2
rotate: false
- xy: 3883, 289
+ xy: 1353, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-metal-floor-damaged3
rotate: false
- xy: 3917, 289
+ xy: 1387, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-moss1
rotate: false
- xy: 3951, 289
+ xy: 1387, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
moss-icon-editor
rotate: false
- xy: 3951, 289
+ xy: 1387, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-moss2
rotate: false
- xy: 3985, 289
+ xy: 1421, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-moss3
rotate: false
- xy: 163, 1
+ xy: 1421, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-coal1
rotate: false
- xy: 197, 1
+ xy: 1455, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-coal2
rotate: false
- xy: 231, 1
+ xy: 1455, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-coal3
rotate: false
- xy: 265, 1
+ xy: 1489, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-copper1
rotate: false
- xy: 299, 1
+ xy: 1489, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-copper2
rotate: false
- xy: 333, 1
+ xy: 1523, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-copper3
rotate: false
- xy: 367, 1
+ xy: 1523, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-lead1
rotate: false
- xy: 401, 1
+ xy: 1557, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-lead2
rotate: false
- xy: 435, 1
+ xy: 1557, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-lead3
rotate: false
- xy: 469, 1
+ xy: 1591, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-scrap1
rotate: false
- xy: 503, 1
+ xy: 1591, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-scrap2
rotate: false
- xy: 915, 65
+ xy: 1625, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-scrap3
rotate: false
- xy: 915, 31
+ xy: 1625, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-thorium1
rotate: false
- xy: 4025, 321
+ xy: 1659, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-thorium2
rotate: false
- xy: 4059, 321
+ xy: 1659, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-thorium3
rotate: false
- xy: 4019, 287
+ xy: 1693, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-titanium1
rotate: false
- xy: 4053, 287
+ xy: 1693, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-titanium2
rotate: false
- xy: 1835, 223
+ xy: 1727, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-ore-titanium3
rotate: false
- xy: 1869, 223
+ xy: 1727, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-pebbles1
rotate: false
- xy: 1903, 223
+ xy: 1761, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-pebbles2
rotate: false
- xy: 945, 177
+ xy: 1761, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-pebbles3
rotate: false
- xy: 945, 143
+ xy: 1795, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-salt
rotate: false
- xy: 979, 177
+ xy: 1795, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
salt-icon-editor
rotate: false
- xy: 979, 177
+ xy: 1795, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand-water1
rotate: false
- xy: 979, 109
+ xy: 1863, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand-water2
rotate: false
- xy: 1013, 143
+ xy: 1897, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand-water3
rotate: false
- xy: 1047, 177
+ xy: 1897, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand1
rotate: false
- xy: 945, 109
+ xy: 1829, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
sand-icon-editor
rotate: false
- xy: 945, 109
+ xy: 1829, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand2
rotate: false
- xy: 979, 143
+ xy: 1829, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-sand3
rotate: false
- xy: 1013, 177
+ xy: 1863, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-shale1
rotate: false
- xy: 1013, 109
+ xy: 1931, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shale-icon-editor
rotate: false
- xy: 1013, 109
+ xy: 1931, 159
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-shale2
rotate: false
- xy: 1047, 143
+ xy: 1931, 125
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-shale3
rotate: false
- xy: 1047, 109
+ xy: 1085, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-slag
rotate: false
- xy: 949, 75
+ xy: 1085, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
slag-icon-editor
rotate: false
- xy: 949, 75
+ xy: 1085, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-snow1
rotate: false
- xy: 949, 41
+ xy: 1119, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-snow2
rotate: false
- xy: 983, 75
+ xy: 1119, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-snow3
rotate: false
- xy: 983, 41
+ xy: 1153, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-spawn
rotate: false
- xy: 1017, 75
+ xy: 1153, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-spore-moss1
rotate: false
- xy: 1017, 41
+ xy: 1187, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
spore-moss-icon-editor
rotate: false
- xy: 1017, 41
+ xy: 1187, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-spore-moss2
rotate: false
- xy: 1051, 75
+ xy: 1187, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-spore-moss3
rotate: false
- xy: 1051, 41
+ xy: 1221, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-stone1
rotate: false
- xy: 1489, 175
+ xy: 1221, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
stone-icon-editor
rotate: false
- xy: 1489, 175
+ xy: 1221, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-stone2
rotate: false
- xy: 1523, 175
+ xy: 1255, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-stone3
rotate: false
- xy: 1557, 175
+ xy: 1255, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tainted-water
rotate: false
- xy: 1591, 183
+ xy: 1289, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
tainted-water-icon-editor
rotate: false
- xy: 1591, 183
+ xy: 1289, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tar
rotate: false
- xy: 1085, 193
+ xy: 1289, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
tar-icon-editor
rotate: false
- xy: 1085, 193
+ xy: 1289, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tendrils1
rotate: false
- xy: 1119, 193
+ xy: 1323, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tendrils2
rotate: false
- xy: 1081, 159
+ xy: 1323, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-tendrils3
rotate: false
- xy: 1081, 125
+ xy: 1357, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
editor-water
rotate: false
- xy: 1115, 159
+ xy: 1357, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
water-icon-editor
rotate: false
- xy: 1115, 159
+ xy: 1357, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -9355,7 +9390,7 @@ fuse-icon-editor
index: -1
graphite-press-icon-editor
rotate: false
- xy: 2243, 323
+ xy: 1489, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
@@ -9369,21 +9404,28 @@ ground-factory-icon-editor
index: -1
hail-icon-editor
rotate: false
- xy: 1115, 125
+ xy: 1391, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
+hyper-processor-icon-editor
+ rotate: false
+ xy: 3345, 389
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
icerocks-icon-editor
rotate: false
- xy: 1153, 193
+ xy: 1391, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
illuminator-icon-editor
rotate: false
- xy: 1149, 159
+ xy: 1425, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -9397,63 +9439,63 @@ impact-reactor-icon-editor
index: -1
incinerator-icon-editor
rotate: false
- xy: 1187, 193
+ xy: 1425, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
inverted-sorter-icon-editor
rotate: false
- xy: 1149, 125
+ xy: 1459, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-source-icon-editor
rotate: false
- xy: 1183, 159
+ xy: 1459, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-void-icon-editor
rotate: false
- xy: 1221, 193
+ xy: 1493, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
junction-icon-editor
rotate: false
- xy: 1183, 125
+ xy: 1493, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
kiln-icon-editor
rotate: false
- xy: 2309, 323
+ xy: 1555, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
lancer-icon-editor
rotate: false
- xy: 2375, 323
+ xy: 1621, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
laser-drill-icon-editor
rotate: false
- xy: 3345, 389
+ xy: 3443, 389
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
launch-pad-icon-editor
rotate: false
- xy: 3443, 389
+ xy: 3541, 389
size: 96, 96
orig: 96, 96
offset: 0, 0
@@ -9467,60 +9509,53 @@ launch-pad-large-icon-editor
index: -1
liquid-junction-icon-editor
rotate: false
- xy: 1217, 159
+ xy: 1527, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-router-icon-editor
rotate: false
- xy: 1255, 193
+ xy: 1527, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-source-icon-editor
rotate: false
- xy: 1217, 125
+ xy: 1561, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-tank-icon-editor
rotate: false
- xy: 3541, 389
+ xy: 3639, 389
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
liquid-void-icon-editor
rotate: false
- xy: 1251, 159
+ xy: 1561, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
logic-display-icon-editor
rotate: false
- xy: 3639, 389
+ xy: 3737, 389
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
logic-processor-icon-editor
rotate: false
- xy: 2441, 323
+ xy: 1687, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-mass-conveyor-icon-editor
- rotate: false
- xy: 3737, 389
- size: 96, 96
- orig: 96, 96
- offset: 0, 0
- index: -1
mass-driver-icon-editor
rotate: false
xy: 3835, 389
@@ -9530,14 +9565,14 @@ mass-driver-icon-editor
index: -1
mechanical-drill-icon-editor
rotate: false
- xy: 2507, 323
+ xy: 1753, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mechanical-pump-icon-editor
rotate: false
- xy: 1289, 193
+ xy: 1595, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -9551,35 +9586,42 @@ meltdown-icon-editor
index: -1
melter-icon-editor
rotate: false
- xy: 1323, 193
+ xy: 1595, 57
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+memory-cell-icon-editor
+ rotate: false
+ xy: 1629, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
mend-projector-icon-editor
rotate: false
- xy: 2573, 323
+ xy: 1819, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
mender-icon-editor
rotate: false
- xy: 1251, 125
+ xy: 1629, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
message-icon-editor
rotate: false
- xy: 1285, 159
+ xy: 1663, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
micro-processor-icon-editor
rotate: false
- xy: 1285, 125
+ xy: 1663, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -9621,70 +9663,77 @@ overdrive-dome-icon-editor
index: -1
overdrive-projector-icon-editor
rotate: false
- xy: 2639, 323
+ xy: 1885, 193
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
overflow-gate-icon-editor
rotate: false
- xy: 1319, 159
+ xy: 1697, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
parallax-icon-editor
rotate: false
- xy: 2705, 323
+ xy: 1973, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
-payload-router-icon-editor
+payload-conveyor-icon-editor
rotate: false
xy: 847, 99
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
+payload-router-icon-editor
+ rotate: false
+ xy: 1161, 227
+ size: 96, 96
+ orig: 96, 96
+ offset: 0, 0
+ index: -1
pebbles-icon-editor
rotate: false
- xy: 1319, 125
+ xy: 1697, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conduit-icon-editor
rotate: false
- xy: 1353, 159
+ xy: 1731, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-conveyor-icon-editor
rotate: false
- xy: 1353, 125
+ xy: 1731, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-wall-icon-editor
rotate: false
- xy: 1387, 159
+ xy: 1765, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
phase-wall-large-icon-editor
rotate: false
- xy: 2771, 323
+ xy: 2039, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
phase-weaver-icon-editor
rotate: false
- xy: 2837, 323
+ xy: 2105, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
@@ -9698,196 +9747,196 @@ pine-icon-editor
index: -1
plastanium-compressor-icon-editor
rotate: false
- xy: 2903, 323
+ xy: 2171, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plastanium-conveyor-icon-editor
rotate: false
- xy: 1387, 125
+ xy: 1765, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-wall-icon-editor
rotate: false
- xy: 1421, 159
+ xy: 1799, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
plastanium-wall-large-icon-editor
rotate: false
- xy: 2969, 323
+ xy: 2237, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
plated-conduit-icon-editor
rotate: false
- xy: 1455, 159
+ xy: 1799, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pneumatic-drill-icon-editor
rotate: false
- xy: 3035, 323
+ xy: 2303, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
power-node-icon-editor
rotate: false
- xy: 1421, 125
+ xy: 1833, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
power-node-large-icon-editor
rotate: false
- xy: 3101, 323
+ xy: 2369, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
power-source-icon-editor
rotate: false
- xy: 1455, 125
+ xy: 1833, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
power-void-icon-editor
rotate: false
- xy: 1489, 141
+ xy: 1867, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulse-conduit-icon-editor
rotate: false
- xy: 1523, 141
+ xy: 1867, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pulverizer-icon-editor
rotate: false
- xy: 1557, 141
+ xy: 1901, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
pyratite-mixer-icon-editor
rotate: false
- xy: 3167, 323
+ xy: 2435, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
repair-point-icon-editor
rotate: false
- xy: 1591, 149
+ xy: 1901, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
resupply-point-icon-editor
rotate: false
- xy: 3233, 323
+ xy: 2501, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
ripple-icon-editor
rotate: false
- xy: 1161, 227
+ xy: 1259, 227
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
rock-icon-editor
rotate: false
- xy: 1489, 209
+ xy: 3755, 339
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
rocks-icon-editor
rotate: false
- xy: 1085, 91
+ xy: 1935, 91
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
rotary-pump-icon-editor
rotate: false
- xy: 3299, 323
+ xy: 2567, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
router-icon-editor
rotate: false
- xy: 1085, 57
+ xy: 1935, 57
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
rtg-generator-icon-editor
rotate: false
- xy: 3365, 323
+ xy: 2633, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
saltrocks-icon-editor
rotate: false
- xy: 1119, 91
+ xy: 1085, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
salvo-icon-editor
rotate: false
- xy: 3431, 323
+ xy: 2699, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
sand-boulder-icon-editor
rotate: false
- xy: 1119, 57
+ xy: 1119, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
sand-water-icon-editor
rotate: false
- xy: 1153, 91
+ xy: 1153, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
sandrocks-icon-editor
rotate: false
- xy: 1153, 57
+ xy: 1187, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scatter-icon-editor
rotate: false
- xy: 3497, 323
+ xy: 2765, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
scorch-icon-editor
rotate: false
- xy: 1187, 91
+ xy: 1221, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -9901,84 +9950,84 @@ scrap-wall-gigantic-icon-editor
index: -1
scrap-wall-huge-icon-editor
rotate: false
- xy: 1259, 227
+ xy: 1357, 259
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
scrap-wall-icon-editor
rotate: false
- xy: 1187, 57
+ xy: 1255, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
scrap-wall-large-icon-editor
rotate: false
- xy: 3563, 323
+ xy: 2831, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
segment-icon-editor
rotate: false
- xy: 3629, 323
+ xy: 2897, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
separator-icon-editor
rotate: false
- xy: 3695, 323
+ xy: 2963, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
shale-boulder-icon-editor
rotate: false
- xy: 1221, 91
+ xy: 1289, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shalerocks-icon-editor
rotate: false
- xy: 1221, 57
+ xy: 1323, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shock-mine-icon-editor
rotate: false
- xy: 1255, 91
+ xy: 1357, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
shrubs-icon-editor
rotate: false
- xy: 1255, 57
+ xy: 1391, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
silicon-crucible-icon-editor
rotate: false
- xy: 1357, 259
+ xy: 1455, 259
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
silicon-smelter-icon-editor
rotate: false
- xy: 3761, 323
+ xy: 3029, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
snow-icon-editor
rotate: false
- xy: 1289, 91
+ xy: 1425, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -9992,42 +10041,42 @@ snow-pine-icon-editor
index: -1
snowrock-icon-editor
rotate: false
- xy: 1539, 209
+ xy: 3805, 339
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
snowrocks-icon-editor
rotate: false
- xy: 1289, 57
+ xy: 1459, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
solar-panel-icon-editor
rotate: false
- xy: 1323, 91
+ xy: 1493, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
solar-panel-large-icon-editor
rotate: false
- xy: 1455, 259
+ xy: 1553, 259
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
sorter-icon-editor
rotate: false
- xy: 1323, 57
+ xy: 1527, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
spawn-icon-editor
rotate: false
- xy: 1357, 91
+ xy: 1561, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -10041,7 +10090,7 @@ spectre-icon-editor
index: -1
spore-cluster-icon-editor
rotate: false
- xy: 1589, 217
+ xy: 3855, 347
size: 40, 40
orig: 40, 40
offset: 0, 0
@@ -10055,49 +10104,56 @@ spore-pine-icon-editor
index: -1
spore-press-icon-editor
rotate: false
- xy: 3827, 323
+ xy: 3095, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
sporerocks-icon-editor
rotate: false
- xy: 1357, 57
+ xy: 1595, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
surge-tower-icon-editor
rotate: false
- xy: 3893, 323
+ xy: 3161, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
surge-wall-icon-editor
rotate: false
- xy: 1391, 91
+ xy: 1629, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
surge-wall-large-icon-editor
rotate: false
- xy: 3959, 323
+ xy: 3227, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
swarmer-icon-editor
rotate: false
- xy: 553, 1
+ xy: 3293, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
+switch-icon-editor
+ rotate: false
+ xy: 1663, 23
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
tendrils-icon-editor
rotate: false
- xy: 1391, 57
+ xy: 1697, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
@@ -10111,35 +10167,35 @@ tetrative-reconstructor-icon-editor
index: -1
thermal-generator-icon-editor
rotate: false
- xy: 651, 33
+ xy: 3359, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
thermal-pump-icon-editor
rotate: false
- xy: 1553, 259
+ xy: 1651, 259
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
thorium-reactor-icon-editor
rotate: false
- xy: 1651, 259
+ xy: 1749, 259
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
thorium-wall-icon-editor
rotate: false
- xy: 1425, 91
+ xy: 1731, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
thorium-wall-large-icon-editor
rotate: false
- xy: 717, 33
+ xy: 3425, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
@@ -10153,63 +10209,63 @@ thruster-icon-editor
index: -1
titanium-conveyor-icon-editor
rotate: false
- xy: 1425, 57
+ xy: 1765, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-wall-icon-editor
rotate: false
- xy: 1459, 91
+ xy: 1799, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
titanium-wall-large-icon-editor
rotate: false
- xy: 783, 33
+ xy: 3491, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
turbine-generator-icon-editor
rotate: false
- xy: 849, 33
+ xy: 3557, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
underflow-gate-icon-editor
rotate: false
- xy: 1459, 57
+ xy: 1833, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unloader-icon-editor
rotate: false
- xy: 1493, 107
+ xy: 1867, 23
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
vault-icon-editor
rotate: false
- xy: 1749, 259
+ xy: 1847, 259
size: 96, 96
orig: 96, 96
offset: 0, 0
index: -1
water-extractor-icon-editor
rotate: false
- xy: 1357, 193
+ xy: 3623, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
wave-icon-editor
rotate: false
- xy: 1423, 193
+ xy: 3689, 323
size: 64, 64
orig: 64, 64
offset: 0, 0
@@ -10236,14 +10292,14 @@ filter: nearest,nearest
repeat: none
alpha-bg
rotate: false
- xy: 1, 13
+ xy: 1, 16
size: 128, 128
orig: 128, 128
offset: 0, 0
index: -1
bar
rotate: false
- xy: 3261, 152
+ xy: 3212, 225
size: 27, 36
split: 9, 9, 9, 9
orig: 27, 36
@@ -10251,7 +10307,7 @@ bar
index: -1
bar-top
rotate: false
- xy: 3232, 152
+ xy: 3183, 230
size: 27, 36
split: 9, 10, 9, 10
orig: 27, 36
@@ -10259,7217 +10315,7357 @@ bar-top
index: -1
block-additive-reconstructor-large
rotate: false
- xy: 909, 368
+ xy: 3454, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-additive-reconstructor-medium
rotate: false
- xy: 821, 429
+ xy: 1091, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-additive-reconstructor-small
rotate: false
- xy: 781, 175
+ xy: 4033, 387
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-additive-reconstructor-tiny
rotate: false
- xy: 257, 25
+ xy: 309, 186
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-additive-reconstructor-xlarge
rotate: false
- xy: 131, 93
+ xy: 131, 96
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-air-factory-large
rotate: false
- xy: 859, 268
+ xy: 3496, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-air-factory-medium
rotate: false
- xy: 1747, 221
+ xy: 1125, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-air-factory-small
rotate: false
- xy: 1377, 174
+ xy: 781, 178
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-air-factory-tiny
rotate: false
- xy: 859, 166
+ xy: 3285, 359
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-air-factory-xlarge
rotate: false
- xy: 771, 413
+ xy: 771, 416
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-alloy-smelter-large
rotate: false
- xy: 909, 326
+ xy: 3538, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-alloy-smelter-medium
rotate: false
- xy: 1785, 250
+ xy: 1159, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-alloy-smelter-small
rotate: false
- xy: 3290, 164
+ xy: 1254, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-alloy-smelter-tiny
rotate: false
- xy: 4040, 308
+ xy: 2859, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-alloy-smelter-xlarge
rotate: false
- xy: 259, 304
+ xy: 259, 307
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-arc-large
rotate: false
- xy: 951, 368
+ xy: 231, 4
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-arc-medium
rotate: false
- xy: 1819, 250
+ xy: 1193, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-arc-small
rotate: false
- xy: 3316, 164
+ xy: 1280, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-arc-tiny
rotate: false
- xy: 3951, 120
+ xy: 309, 168
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-arc-xlarge
rotate: false
- xy: 131, 43
+ xy: 131, 46
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-armored-conveyor-large
rotate: false
- xy: 859, 226
+ xy: 3580, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-armored-conveyor-medium
rotate: false
- xy: 1853, 250
+ xy: 1227, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-armored-conveyor-small
rotate: false
- xy: 3342, 164
+ xy: 1306, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-armored-conveyor-tiny
rotate: false
- xy: 309, 163
+ xy: 2877, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-armored-conveyor-xlarge
rotate: false
- xy: 181, 93
+ xy: 181, 96
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-battery-large
rotate: false
- xy: 951, 326
+ xy: 845, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-battery-large-large
rotate: false
- xy: 993, 368
+ xy: 887, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-battery-large-medium
rotate: false
- xy: 1887, 250
+ xy: 1261, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-battery-large-small
rotate: false
- xy: 3368, 164
+ xy: 1332, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-battery-large-tiny
rotate: false
- xy: 257, 7
+ xy: 2895, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-battery-large-xlarge
rotate: false
- xy: 259, 254
+ xy: 259, 257
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-battery-medium
rotate: false
- xy: 1921, 250
+ xy: 1295, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-battery-small
rotate: false
- xy: 3394, 164
+ xy: 1358, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-battery-tiny
rotate: false
- xy: 877, 166
+ xy: 2913, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-battery-xlarge
rotate: false
- xy: 181, 43
+ xy: 181, 46
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-blast-drill-large
rotate: false
- xy: 859, 184
+ xy: 929, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-blast-drill-medium
rotate: false
- xy: 1955, 250
+ xy: 1329, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-blast-drill-small
rotate: false
- xy: 3420, 164
+ xy: 1384, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-blast-drill-tiny
rotate: false
- xy: 3969, 120
+ xy: 2931, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-blast-drill-xlarge
rotate: false
- xy: 259, 204
+ xy: 259, 207
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-blast-mixer-large
rotate: false
- xy: 993, 326
+ xy: 971, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-blast-mixer-medium
rotate: false
- xy: 1989, 250
+ xy: 1363, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-blast-mixer-small
rotate: false
- xy: 3446, 164
+ xy: 1410, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-blast-mixer-tiny
rotate: false
- xy: 3987, 120
+ xy: 2949, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-blast-mixer-xlarge
rotate: false
- xy: 259, 154
+ xy: 259, 157
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-block-forge-large
rotate: false
- xy: 1035, 368
+ xy: 1013, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-block-forge-medium
rotate: false
- xy: 2023, 250
+ xy: 1397, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-block-forge-small
rotate: false
- xy: 3472, 164
+ xy: 1436, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-block-forge-tiny
rotate: false
- xy: 4005, 120
+ xy: 2967, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-block-forge-xlarge
rotate: false
- xy: 857, 460
+ xy: 857, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-block-loader-large
rotate: false
- xy: 1035, 326
+ xy: 1055, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-block-loader-medium
rotate: false
- xy: 2057, 250
+ xy: 1431, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-block-loader-small
rotate: false
- xy: 3498, 164
+ xy: 1462, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-block-loader-tiny
rotate: false
- xy: 4023, 120
+ xy: 2985, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-block-loader-xlarge
rotate: false
- xy: 907, 460
+ xy: 907, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-block-unloader-large
rotate: false
- xy: 1077, 368
+ xy: 1097, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-block-unloader-medium
rotate: false
- xy: 2091, 250
+ xy: 1465, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-block-unloader-small
rotate: false
- xy: 3524, 164
+ xy: 1488, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-block-unloader-tiny
rotate: false
- xy: 3275, 78
+ xy: 3003, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-block-unloader-xlarge
rotate: false
- xy: 957, 460
+ xy: 957, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-bridge-conduit-large
rotate: false
- xy: 1077, 326
+ xy: 1139, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-bridge-conduit-medium
rotate: false
- xy: 2125, 250
+ xy: 1499, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-bridge-conduit-small
rotate: false
- xy: 3550, 164
+ xy: 1514, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-bridge-conduit-tiny
rotate: false
- xy: 881, 148
+ xy: 3021, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-bridge-conduit-xlarge
rotate: false
- xy: 1007, 460
+ xy: 1007, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-bridge-conveyor-large
rotate: false
- xy: 1119, 368
+ xy: 1181, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-bridge-conveyor-medium
rotate: false
- xy: 2159, 250
+ xy: 1533, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-bridge-conveyor-small
rotate: false
- xy: 3576, 164
+ xy: 1540, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-bridge-conveyor-tiny
rotate: false
- xy: 881, 130
+ xy: 3039, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-bridge-conveyor-xlarge
rotate: false
- xy: 1057, 460
+ xy: 1057, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-char-large
rotate: false
- xy: 1119, 326
+ xy: 1223, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-char-medium
rotate: false
- xy: 2193, 250
+ xy: 1567, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-char-small
rotate: false
- xy: 3602, 164
+ xy: 1566, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-char-tiny
rotate: false
- xy: 881, 112
+ xy: 3057, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-char-xlarge
rotate: false
- xy: 1107, 460
+ xy: 1107, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-cliff-large
rotate: false
- xy: 1161, 368
+ xy: 1265, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-cliff-medium
rotate: false
- xy: 2227, 250
+ xy: 1601, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cliff-small
rotate: false
- xy: 3628, 164
+ xy: 1592, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-cliff-tiny
rotate: false
- xy: 881, 94
+ xy: 3075, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-cliff-xlarge
rotate: false
- xy: 1157, 460
+ xy: 1157, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-cliffs-large
rotate: false
- xy: 1161, 326
+ xy: 1307, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-cliffs-medium
rotate: false
- xy: 2261, 250
+ xy: 1635, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cliffs-small
rotate: false
- xy: 3654, 164
+ xy: 1618, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-cliffs-tiny
rotate: false
- xy: 881, 76
+ xy: 3093, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-cliffs-xlarge
rotate: false
- xy: 1207, 460
+ xy: 1207, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-coal-centrifuge-large
rotate: false
- xy: 1203, 368
+ xy: 1349, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-coal-centrifuge-medium
rotate: false
- xy: 2295, 250
+ xy: 1669, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-coal-centrifuge-small
rotate: false
- xy: 3680, 164
+ xy: 1644, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-coal-centrifuge-tiny
rotate: false
- xy: 881, 58
+ xy: 3111, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-coal-centrifuge-xlarge
rotate: false
- xy: 1257, 460
+ xy: 1257, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-combustion-generator-large
rotate: false
- xy: 1203, 326
+ xy: 1391, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-combustion-generator-medium
rotate: false
- xy: 2329, 250
+ xy: 1703, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-combustion-generator-small
rotate: false
- xy: 3706, 164
+ xy: 1670, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-combustion-generator-tiny
rotate: false
- xy: 881, 40
+ xy: 3129, 170
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-combustion-generator-xlarge
rotate: false
- xy: 1307, 460
+ xy: 1307, 463
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-command-center-large
+ rotate: false
+ xy: 1433, 371
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-command-center-medium
+ rotate: false
+ xy: 1737, 169
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-command-center-small
+ rotate: false
+ xy: 1696, 41
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-command-center-tiny
+ rotate: false
+ xy: 2376, 40
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-command-center-xlarge
+ rotate: false
+ xy: 1357, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-conduit-large
rotate: false
- xy: 1245, 368
+ xy: 1475, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-conduit-medium
rotate: false
- xy: 2363, 250
+ xy: 1771, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-conduit-small
rotate: false
- xy: 3732, 164
+ xy: 1722, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-conduit-tiny
rotate: false
- xy: 881, 22
+ xy: 2859, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-conduit-xlarge
rotate: false
- xy: 1357, 460
+ xy: 1407, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-container-large
rotate: false
- xy: 1245, 326
+ xy: 1517, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-container-medium
rotate: false
- xy: 2397, 250
+ xy: 1805, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-container-small
rotate: false
- xy: 3758, 164
+ xy: 1748, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-container-tiny
rotate: false
- xy: 899, 148
+ xy: 2877, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-container-xlarge
rotate: false
- xy: 1407, 460
+ xy: 1457, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-conveyor-large
rotate: false
- xy: 1287, 368
+ xy: 1559, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-conveyor-medium
rotate: false
- xy: 2431, 250
+ xy: 1839, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-conveyor-small
rotate: false
- xy: 3784, 164
+ xy: 1774, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-conveyor-tiny
rotate: false
- xy: 899, 130
+ xy: 2895, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-conveyor-xlarge
rotate: false
- xy: 1457, 460
+ xy: 1507, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-copper-wall-large
rotate: false
- xy: 1287, 326
+ xy: 1601, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-copper-wall-large-large
rotate: false
- xy: 1329, 368
+ xy: 1643, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-copper-wall-large-medium
rotate: false
- xy: 2465, 250
+ xy: 1873, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-copper-wall-large-small
rotate: false
- xy: 3810, 164
+ xy: 1800, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-copper-wall-large-tiny
rotate: false
- xy: 899, 112
+ xy: 2913, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-copper-wall-large-xlarge
rotate: false
- xy: 1507, 460
+ xy: 1557, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-copper-wall-medium
rotate: false
- xy: 2499, 250
+ xy: 1907, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-copper-wall-small
rotate: false
- xy: 3836, 164
+ xy: 1826, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-copper-wall-tiny
rotate: false
- xy: 899, 94
+ xy: 2931, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-copper-wall-xlarge
rotate: false
- xy: 1557, 460
+ xy: 1607, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-core-foundation-large
rotate: false
- xy: 1329, 326
+ xy: 1685, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-core-foundation-medium
rotate: false
- xy: 2533, 250
+ xy: 1941, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-core-foundation-small
rotate: false
- xy: 3862, 164
+ xy: 1852, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-core-foundation-tiny
rotate: false
- xy: 917, 148
+ xy: 2949, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-core-foundation-xlarge
rotate: false
- xy: 1607, 460
+ xy: 1657, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-core-nucleus-large
rotate: false
- xy: 1371, 368
+ xy: 1727, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-core-nucleus-medium
rotate: false
- xy: 2567, 250
+ xy: 1975, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-core-nucleus-small
rotate: false
- xy: 3888, 164
+ xy: 1878, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-core-nucleus-tiny
rotate: false
- xy: 917, 130
+ xy: 2967, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-core-nucleus-xlarge
rotate: false
- xy: 1657, 460
+ xy: 1707, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-core-shard-large
rotate: false
- xy: 1371, 326
+ xy: 1769, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-core-shard-medium
rotate: false
- xy: 2601, 250
+ xy: 2009, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-core-shard-small
rotate: false
- xy: 3914, 164
+ xy: 1904, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-core-shard-tiny
rotate: false
- xy: 917, 112
+ xy: 2985, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-core-shard-xlarge
rotate: false
- xy: 1707, 460
+ xy: 1757, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-craters-large
rotate: false
- xy: 1413, 368
+ xy: 1811, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-craters-medium
rotate: false
- xy: 2635, 250
+ xy: 2043, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-craters-small
rotate: false
- xy: 3940, 164
+ xy: 1930, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-craters-tiny
rotate: false
- xy: 917, 94
+ xy: 3003, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-craters-xlarge
rotate: false
- xy: 1757, 460
+ xy: 1807, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-cryofluidmixer-large
rotate: false
- xy: 1413, 326
+ xy: 1853, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-cryofluidmixer-medium
rotate: false
- xy: 2669, 250
+ xy: 2077, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cryofluidmixer-small
rotate: false
- xy: 3966, 164
+ xy: 1956, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-cryofluidmixer-tiny
rotate: false
- xy: 899, 76
+ xy: 3021, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-cryofluidmixer-xlarge
rotate: false
- xy: 1807, 460
+ xy: 1857, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-cultivator-large
rotate: false
- xy: 1455, 368
+ xy: 1895, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-cultivator-medium
rotate: false
- xy: 2703, 250
+ xy: 2111, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cultivator-small
rotate: false
- xy: 3992, 164
+ xy: 1982, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-cultivator-tiny
rotate: false
- xy: 935, 148
+ xy: 3039, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-cultivator-xlarge
rotate: false
- xy: 1857, 460
+ xy: 1907, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-cyclone-large
rotate: false
- xy: 1455, 326
+ xy: 1937, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-cyclone-medium
rotate: false
- xy: 2737, 250
+ xy: 2145, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-cyclone-small
rotate: false
- xy: 1403, 166
+ xy: 2008, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-cyclone-tiny
rotate: false
- xy: 935, 130
+ xy: 3057, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-cyclone-xlarge
rotate: false
- xy: 1907, 460
+ xy: 1957, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-dark-metal-large
rotate: false
- xy: 1497, 368
+ xy: 1979, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-dark-metal-medium
rotate: false
- xy: 2771, 250
+ xy: 2179, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dark-metal-small
rotate: false
- xy: 1429, 166
+ xy: 2034, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-dark-metal-tiny
rotate: false
- xy: 935, 112
+ xy: 3075, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-dark-metal-xlarge
rotate: false
- xy: 1957, 460
+ xy: 2007, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-dark-panel-1-large
rotate: false
- xy: 1497, 326
+ xy: 2021, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-dark-panel-1-medium
rotate: false
- xy: 2805, 250
+ xy: 2213, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dark-panel-1-small
rotate: false
- xy: 1455, 166
+ xy: 2060, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-dark-panel-1-tiny
rotate: false
- xy: 935, 94
+ xy: 3093, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-dark-panel-1-xlarge
rotate: false
- xy: 2007, 460
+ xy: 2057, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-dark-panel-2-large
rotate: false
- xy: 1539, 368
+ xy: 2063, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-dark-panel-2-medium
rotate: false
- xy: 2839, 250
+ xy: 2247, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dark-panel-2-small
rotate: false
- xy: 1481, 166
+ xy: 2086, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-dark-panel-2-tiny
rotate: false
- xy: 899, 58
+ xy: 3111, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-dark-panel-2-xlarge
rotate: false
- xy: 2057, 460
+ xy: 2107, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-dark-panel-3-large
rotate: false
- xy: 1539, 326
+ xy: 2105, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-dark-panel-3-medium
rotate: false
- xy: 2873, 250
+ xy: 2281, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dark-panel-3-small
rotate: false
- xy: 1507, 166
+ xy: 2112, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-dark-panel-3-tiny
rotate: false
- xy: 917, 76
+ xy: 3129, 152
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-dark-panel-3-xlarge
rotate: false
- xy: 2107, 460
+ xy: 2157, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-dark-panel-4-large
rotate: false
- xy: 1581, 368
+ xy: 2147, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-dark-panel-4-medium
rotate: false
- xy: 2907, 250
+ xy: 2315, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dark-panel-4-small
rotate: false
- xy: 1533, 166
+ xy: 2138, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-dark-panel-4-tiny
rotate: false
- xy: 953, 148
+ xy: 2394, 39
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-dark-panel-4-xlarge
rotate: false
- xy: 2157, 460
+ xy: 2207, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-dark-panel-5-large
rotate: false
- xy: 1581, 326
+ xy: 2189, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-dark-panel-5-medium
rotate: false
- xy: 2941, 250
+ xy: 3622, 363
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dark-panel-5-small
rotate: false
- xy: 1559, 166
+ xy: 2164, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-dark-panel-5-tiny
rotate: false
- xy: 953, 130
+ xy: 2412, 39
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-dark-panel-5-xlarge
rotate: false
- xy: 2207, 460
+ xy: 2257, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-dark-panel-6-large
rotate: false
- xy: 1623, 368
+ xy: 2231, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-dark-panel-6-medium
rotate: false
- xy: 2975, 250
+ xy: 2349, 169
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dark-panel-6-small
rotate: false
- xy: 1585, 166
+ xy: 2190, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-dark-panel-6-tiny
rotate: false
- xy: 953, 112
+ xy: 2365, 22
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-dark-panel-6-xlarge
rotate: false
- xy: 2257, 460
+ xy: 2307, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-darksand-large
rotate: false
- xy: 1623, 326
+ xy: 2273, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-darksand-medium
rotate: false
- xy: 3009, 266
+ xy: 2383, 180
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-darksand-small
rotate: false
- xy: 1611, 166
+ xy: 2216, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-darksand-tainted-water-large
rotate: false
- xy: 1665, 368
+ xy: 2315, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-darksand-tainted-water-medium
rotate: false
- xy: 3043, 266
+ xy: 2417, 182
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-darksand-tainted-water-small
rotate: false
- xy: 1637, 166
+ xy: 2242, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-darksand-tainted-water-tiny
rotate: false
- xy: 953, 94
+ xy: 2365, 4
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-darksand-tainted-water-xlarge
rotate: false
- xy: 2307, 460
+ xy: 2357, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-darksand-tiny
rotate: false
- xy: 899, 40
+ xy: 2383, 21
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-darksand-water-large
rotate: false
- xy: 1665, 326
+ xy: 2357, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-darksand-water-medium
rotate: false
- xy: 3088, 292
+ xy: 2451, 182
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-darksand-water-small
rotate: false
- xy: 1663, 166
+ xy: 2440, 122
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-darksand-water-tiny
rotate: false
- xy: 917, 58
+ xy: 2401, 21
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-darksand-water-xlarge
rotate: false
- xy: 2357, 460
+ xy: 2407, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-darksand-xlarge
rotate: false
- xy: 2407, 460
+ xy: 2457, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-deepwater-large
rotate: false
- xy: 1707, 368
+ xy: 2399, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-deepwater-medium
rotate: false
- xy: 3122, 292
+ xy: 3217, 337
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-deepwater-small
rotate: false
- xy: 1689, 166
+ xy: 2440, 96
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-deepwater-tiny
rotate: false
- xy: 935, 76
+ xy: 2383, 3
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-deepwater-xlarge
rotate: false
- xy: 2457, 460
+ xy: 2507, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-differential-generator-large
rotate: false
- xy: 1707, 326
+ xy: 2441, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-differential-generator-medium
rotate: false
- xy: 3156, 292
+ xy: 3251, 343
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-differential-generator-small
rotate: false
- xy: 1715, 166
+ xy: 881, 12
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-differential-generator-tiny
rotate: false
- xy: 971, 148
+ xy: 2401, 3
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-differential-generator-xlarge
rotate: false
- xy: 2507, 460
+ xy: 2557, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-diode-large
rotate: false
- xy: 1749, 368
+ xy: 2483, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-diode-medium
rotate: false
- xy: 3190, 292
+ xy: 3659, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-diode-small
rotate: false
- xy: 1741, 161
+ xy: 907, 12
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-diode-tiny
rotate: false
- xy: 971, 130
+ xy: 2419, 21
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-diode-xlarge
rotate: false
- xy: 2557, 460
+ xy: 2607, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-disassembler-large
rotate: false
- xy: 1749, 326
+ xy: 2525, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-disassembler-medium
rotate: false
- xy: 3224, 292
+ xy: 3693, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-disassembler-small
rotate: false
- xy: 1377, 148
+ xy: 933, 12
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-disassembler-tiny
rotate: false
- xy: 971, 112
+ xy: 2419, 3
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-disassembler-xlarge
rotate: false
- xy: 2607, 460
+ xy: 2657, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-distributor-large
rotate: false
- xy: 1791, 368
+ xy: 2567, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-distributor-medium
rotate: false
- xy: 3258, 292
+ xy: 3727, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-distributor-small
rotate: false
- xy: 1403, 140
+ xy: 959, 12
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-distributor-tiny
rotate: false
- xy: 971, 94
+ xy: 3147, 160
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-distributor-xlarge
rotate: false
- xy: 2657, 460
+ xy: 2707, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-door-large
rotate: false
- xy: 1791, 326
+ xy: 2609, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-door-large-large
rotate: false
- xy: 1833, 368
+ xy: 2651, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-door-large-medium
rotate: false
- xy: 3292, 292
+ xy: 3761, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-door-large-small
rotate: false
- xy: 1429, 140
+ xy: 985, 12
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-door-large-tiny
rotate: false
- xy: 899, 22
+ xy: 3165, 160
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-door-large-xlarge
rotate: false
- xy: 2707, 460
+ xy: 2757, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-door-medium
rotate: false
- xy: 3326, 292
+ xy: 3795, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-door-small
rotate: false
- xy: 1455, 140
+ xy: 1011, 12
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-door-tiny
rotate: false
- xy: 917, 40
+ xy: 3147, 142
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-door-xlarge
rotate: false
- xy: 2757, 460
+ xy: 2807, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-dunerocks-large
rotate: false
- xy: 1833, 326
+ xy: 2693, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-dunerocks-medium
rotate: false
- xy: 3360, 292
+ xy: 3829, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-dunerocks-small
rotate: false
- xy: 1481, 140
+ xy: 1037, 12
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-dunerocks-tiny
rotate: false
- xy: 935, 58
+ xy: 3165, 142
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-dunerocks-xlarge
rotate: false
- xy: 2807, 460
+ xy: 2857, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-duo-large
rotate: false
- xy: 1875, 368
+ xy: 2735, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-duo-medium
rotate: false
- xy: 3394, 292
+ xy: 3863, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-duo-small
rotate: false
- xy: 1507, 140
+ xy: 1063, 12
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-duo-tiny
rotate: false
- xy: 953, 76
+ xy: 3183, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-duo-xlarge
rotate: false
- xy: 2857, 460
+ xy: 2907, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-exponential-reconstructor-large
rotate: false
- xy: 1875, 326
+ xy: 2777, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-exponential-reconstructor-medium
rotate: false
- xy: 3428, 292
+ xy: 3897, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-exponential-reconstructor-small
rotate: false
- xy: 1533, 140
+ xy: 1089, 16
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-exponential-reconstructor-tiny
rotate: false
- xy: 989, 148
+ xy: 2807, 149
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-exponential-reconstructor-xlarge
rotate: false
- xy: 2907, 460
+ xy: 2957, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-force-projector-large
rotate: false
- xy: 1917, 368
+ xy: 2819, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-force-projector-medium
rotate: false
- xy: 3462, 292
+ xy: 3931, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-force-projector-small
rotate: false
- xy: 1559, 140
+ xy: 2466, 122
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-force-projector-tiny
rotate: false
- xy: 989, 130
+ xy: 2825, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-force-projector-xlarge
rotate: false
- xy: 2957, 460
+ xy: 3007, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-fuse-large
rotate: false
- xy: 1917, 326
+ xy: 2861, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-fuse-medium
rotate: false
- xy: 3496, 292
+ xy: 3965, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-fuse-small
rotate: false
- xy: 1585, 140
+ xy: 2466, 96
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-fuse-tiny
rotate: false
- xy: 989, 112
+ xy: 3201, 139
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-fuse-xlarge
rotate: false
- xy: 3007, 460
+ xy: 3057, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-graphite-press-large
rotate: false
- xy: 1959, 368
+ xy: 2903, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-graphite-press-medium
rotate: false
- xy: 3530, 292
+ xy: 3999, 379
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-graphite-press-small
rotate: false
- xy: 1611, 140
+ xy: 2377, 58
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-graphite-press-tiny
rotate: false
- xy: 989, 94
+ xy: 3219, 139
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-graphite-press-xlarge
rotate: false
- xy: 3057, 460
+ xy: 3107, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-grass-large
rotate: false
- xy: 1959, 326
+ xy: 2945, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-grass-medium
rotate: false
- xy: 3564, 292
+ xy: 2875, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-grass-small
rotate: false
- xy: 1637, 140
+ xy: 2403, 57
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-grass-tiny
rotate: false
- xy: 917, 22
+ xy: 3237, 130
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-grass-xlarge
rotate: false
- xy: 3107, 460
+ xy: 3157, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ground-factory-large
rotate: false
- xy: 2001, 368
+ xy: 2987, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ground-factory-medium
rotate: false
- xy: 3598, 292
+ xy: 2909, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ground-factory-small
rotate: false
- xy: 1663, 140
+ xy: 2440, 70
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ground-factory-tiny
rotate: false
- xy: 935, 40
+ xy: 3183, 126
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ground-factory-xlarge
rotate: false
- xy: 3157, 460
+ xy: 3207, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-hail-large
rotate: false
- xy: 2001, 326
+ xy: 3029, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-hail-medium
rotate: false
- xy: 3632, 292
+ xy: 2943, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-hail-small
rotate: false
- xy: 1689, 140
+ xy: 2466, 70
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-hail-tiny
rotate: false
- xy: 953, 58
+ xy: 3201, 121
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-hail-xlarge
rotate: false
- xy: 3207, 460
+ xy: 3257, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-holostone-large
rotate: false
- xy: 2043, 368
+ xy: 3071, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-holostone-medium
rotate: false
- xy: 3666, 292
+ xy: 2977, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-holostone-small
rotate: false
- xy: 1715, 140
+ xy: 1115, 7
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-holostone-tiny
rotate: false
- xy: 971, 76
+ xy: 3219, 121
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-holostone-xlarge
rotate: false
- xy: 3257, 460
+ xy: 3307, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-hotrock-large
rotate: false
- xy: 2043, 326
+ xy: 3113, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-hotrock-medium
rotate: false
- xy: 3700, 292
+ xy: 3011, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-hotrock-small
rotate: false
- xy: 1741, 135
+ xy: 1141, 7
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-hotrock-tiny
rotate: false
- xy: 1007, 148
+ xy: 3237, 112
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-hotrock-xlarge
rotate: false
- xy: 3307, 460
+ xy: 3357, 463
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-hyper-processor-large
+ rotate: false
+ xy: 3155, 371
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-hyper-processor-medium
+ rotate: false
+ xy: 3045, 308
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-hyper-processor-small
+ rotate: false
+ xy: 1167, 7
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-hyper-processor-tiny
+ rotate: false
+ xy: 3255, 127
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-hyper-processor-xlarge
+ rotate: false
+ xy: 3407, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ice-large
rotate: false
- xy: 2085, 368
+ xy: 3197, 371
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ice-medium
rotate: false
- xy: 3734, 292
+ xy: 3079, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ice-small
rotate: false
- xy: 1767, 156
+ xy: 1193, 7
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ice-snow-large
rotate: false
- xy: 2085, 326
+ xy: 859, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ice-snow-medium
rotate: false
- xy: 3768, 292
+ xy: 3113, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ice-snow-small
rotate: false
- xy: 1793, 156
+ xy: 3651, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ice-snow-tiny
rotate: false
- xy: 1007, 130
+ xy: 3255, 109
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ice-snow-xlarge
rotate: false
- xy: 3357, 460
+ xy: 3457, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ice-tiny
rotate: false
- xy: 1007, 112
+ xy: 2563, 201
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ice-xlarge
rotate: false
- xy: 3407, 460
+ xy: 3507, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-icerocks-large
rotate: false
- xy: 2127, 368
+ xy: 859, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-icerocks-medium
rotate: false
- xy: 3802, 292
+ xy: 3147, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-icerocks-small
rotate: false
- xy: 1819, 156
+ xy: 3677, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-icerocks-tiny
rotate: false
- xy: 1007, 94
+ xy: 2581, 202
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-icerocks-xlarge
rotate: false
- xy: 3457, 460
+ xy: 3557, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ignarock-large
rotate: false
- xy: 2127, 326
+ xy: 901, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ignarock-medium
rotate: false
- xy: 3836, 292
+ xy: 3181, 308
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ignarock-small
rotate: false
- xy: 1845, 156
+ xy: 3703, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ignarock-tiny
rotate: false
- xy: 935, 22
+ xy: 2563, 183
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ignarock-xlarge
rotate: false
- xy: 3507, 460
+ xy: 3607, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-illuminator-large
rotate: false
- xy: 2169, 368
+ xy: 859, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-illuminator-medium
rotate: false
- xy: 3870, 292
+ xy: 3215, 303
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-illuminator-small
rotate: false
- xy: 1871, 156
+ xy: 3729, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-illuminator-tiny
rotate: false
- xy: 953, 40
+ xy: 2581, 184
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-illuminator-xlarge
rotate: false
- xy: 3557, 460
+ xy: 3657, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-impact-reactor-large
rotate: false
- xy: 2169, 326
+ xy: 901, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-impact-reactor-medium
rotate: false
- xy: 3904, 292
+ xy: 3656, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-impact-reactor-small
rotate: false
- xy: 1897, 156
+ xy: 3755, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-impact-reactor-tiny
rotate: false
- xy: 971, 58
+ xy: 2599, 180
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-impact-reactor-xlarge
rotate: false
- xy: 3607, 460
+ xy: 3707, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-incinerator-large
rotate: false
- xy: 2211, 368
+ xy: 943, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-incinerator-medium
rotate: false
- xy: 3938, 292
+ xy: 3690, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-incinerator-small
rotate: false
- xy: 1923, 156
+ xy: 3781, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-incinerator-tiny
rotate: false
- xy: 989, 76
+ xy: 2617, 180
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-incinerator-xlarge
rotate: false
- xy: 3657, 460
+ xy: 3757, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-inverted-sorter-large
rotate: false
- xy: 2211, 326
+ xy: 859, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-inverted-sorter-medium
rotate: false
- xy: 3972, 292
+ xy: 3724, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-inverted-sorter-small
rotate: false
- xy: 1949, 156
+ xy: 3807, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-inverted-sorter-tiny
rotate: false
- xy: 1025, 148
+ xy: 2635, 180
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-inverted-sorter-xlarge
rotate: false
- xy: 3707, 460
+ xy: 3807, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-item-source-large
rotate: false
- xy: 2253, 368
+ xy: 901, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-item-source-medium
rotate: false
- xy: 4006, 292
+ xy: 3758, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-item-source-small
rotate: false
- xy: 1975, 156
+ xy: 3833, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-item-source-tiny
rotate: false
- xy: 1025, 130
+ xy: 2653, 180
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-item-source-xlarge
rotate: false
- xy: 3757, 460
+ xy: 3857, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-item-void-large
rotate: false
- xy: 2253, 326
+ xy: 943, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-item-void-medium
rotate: false
- xy: 1405, 192
+ xy: 3792, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-item-void-small
rotate: false
- xy: 2001, 156
+ xy: 3859, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-item-void-tiny
rotate: false
- xy: 1025, 112
+ xy: 2671, 180
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-item-void-xlarge
rotate: false
- xy: 3807, 460
+ xy: 3907, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-junction-large
rotate: false
- xy: 2295, 368
+ xy: 985, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-junction-medium
rotate: false
- xy: 1439, 192
+ xy: 3826, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-junction-small
rotate: false
- xy: 2027, 156
+ xy: 3885, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-junction-tiny
rotate: false
- xy: 1025, 94
+ xy: 2581, 166
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-junction-xlarge
rotate: false
- xy: 3857, 460
+ xy: 3957, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-kiln-large
rotate: false
- xy: 2295, 326
+ xy: 901, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-kiln-medium
rotate: false
- xy: 1473, 192
+ xy: 3860, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-kiln-small
rotate: false
- xy: 2053, 156
+ xy: 3911, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-kiln-tiny
rotate: false
- xy: 953, 22
+ xy: 2599, 162
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-kiln-xlarge
rotate: false
- xy: 3907, 460
+ xy: 4007, 463
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-lancer-large
rotate: false
- xy: 2337, 368
+ xy: 943, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-lancer-medium
rotate: false
- xy: 1507, 192
+ xy: 3894, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-lancer-small
rotate: false
- xy: 2079, 156
+ xy: 3937, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-lancer-tiny
rotate: false
- xy: 971, 40
+ xy: 2617, 162
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-lancer-xlarge
rotate: false
- xy: 3957, 460
+ xy: 345, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-laser-drill-large
rotate: false
- xy: 2337, 326
+ xy: 985, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-laser-drill-medium
rotate: false
- xy: 1541, 192
+ xy: 3928, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-laser-drill-small
rotate: false
- xy: 2105, 156
+ xy: 3963, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-laser-drill-tiny
rotate: false
- xy: 989, 58
+ xy: 2635, 162
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-laser-drill-xlarge
rotate: false
- xy: 4007, 460
+ xy: 395, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-launch-pad-large
rotate: false
- xy: 2379, 368
+ xy: 1027, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-launch-pad-large-large
rotate: false
- xy: 2379, 326
+ xy: 943, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-launch-pad-large-medium
rotate: false
- xy: 1575, 192
+ xy: 3962, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-launch-pad-large-small
rotate: false
- xy: 2131, 156
+ xy: 3989, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-launch-pad-large-tiny
rotate: false
- xy: 1007, 76
+ xy: 2653, 162
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-launch-pad-large-xlarge
rotate: false
- xy: 345, 351
+ xy: 445, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-launch-pad-medium
rotate: false
- xy: 1609, 192
+ xy: 3996, 345
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-launch-pad-small
rotate: false
- xy: 2157, 156
+ xy: 4015, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-launch-pad-tiny
rotate: false
- xy: 1043, 148
+ xy: 2671, 162
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-launch-pad-xlarge
rotate: false
- xy: 395, 351
+ xy: 495, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-liquid-junction-large
rotate: false
- xy: 2421, 368
+ xy: 985, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-liquid-junction-medium
rotate: false
- xy: 1643, 192
+ xy: 2383, 146
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-liquid-junction-small
rotate: false
- xy: 2183, 156
+ xy: 4059, 371
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-liquid-junction-tiny
rotate: false
- xy: 1043, 130
+ xy: 2570, 148
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-liquid-junction-xlarge
rotate: false
- xy: 445, 351
+ xy: 545, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-liquid-router-large
rotate: false
- xy: 2421, 326
+ xy: 1027, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-liquid-router-medium
rotate: false
- xy: 1677, 192
+ xy: 2417, 148
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-liquid-router-small
rotate: false
- xy: 2209, 156
+ xy: 4033, 361
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-liquid-router-tiny
rotate: false
- xy: 1043, 112
+ xy: 2570, 130
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-liquid-router-xlarge
rotate: false
- xy: 495, 351
+ xy: 595, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-liquid-source-large
rotate: false
- xy: 2463, 368
+ xy: 1069, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-liquid-source-medium
rotate: false
- xy: 1711, 192
+ xy: 2451, 148
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-liquid-source-small
rotate: false
- xy: 2235, 156
+ xy: 4059, 345
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-liquid-source-tiny
rotate: false
- xy: 1043, 94
+ xy: 2570, 112
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-liquid-source-xlarge
rotate: false
- xy: 545, 351
+ xy: 645, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-liquid-tank-large
rotate: false
- xy: 2463, 326
+ xy: 985, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-liquid-tank-medium
rotate: false
- xy: 1745, 187
+ xy: 2497, 219
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-liquid-tank-small
rotate: false
- xy: 2261, 156
+ xy: 4041, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-liquid-tank-tiny
rotate: false
- xy: 971, 22
+ xy: 2570, 94
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-liquid-tank-xlarge
rotate: false
- xy: 595, 351
+ xy: 695, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-liquid-void-large
rotate: false
- xy: 2505, 368
+ xy: 1027, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-liquid-void-medium
rotate: false
- xy: 1781, 216
+ xy: 3454, 337
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-liquid-void-small
rotate: false
- xy: 2287, 156
+ xy: 4067, 319
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-liquid-void-tiny
rotate: false
- xy: 989, 40
+ xy: 2570, 76
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-liquid-void-xlarge
rotate: false
- xy: 645, 351
+ xy: 231, 96
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-logic-display-large
rotate: false
- xy: 2505, 326
+ xy: 1069, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-logic-display-medium
rotate: false
- xy: 1815, 216
+ xy: 3488, 337
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-logic-display-small
rotate: false
- xy: 2313, 156
+ xy: 2275, 48
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-logic-display-tiny
rotate: false
- xy: 1007, 58
+ xy: 2570, 58
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-logic-display-xlarge
rotate: false
- xy: 695, 351
+ xy: 231, 46
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-logic-processor-large
rotate: false
- xy: 2547, 368
+ xy: 1111, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-logic-processor-medium
rotate: false
- xy: 1849, 216
+ xy: 3522, 337
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-logic-processor-small
rotate: false
- xy: 2339, 156
+ xy: 2301, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-logic-processor-tiny
rotate: false
- xy: 1025, 76
+ xy: 2570, 40
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-logic-processor-xlarge
rotate: false
- xy: 231, 93
+ xy: 745, 354
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-magmarock-large
rotate: false
- xy: 2547, 326
+ xy: 1027, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-magmarock-medium
rotate: false
- xy: 1883, 216
+ xy: 3556, 337
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-magmarock-small
rotate: false
- xy: 2365, 156
+ xy: 2327, 41
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-magmarock-tiny
rotate: false
- xy: 1061, 148
+ xy: 2588, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-magmarock-xlarge
rotate: false
- xy: 231, 43
- size: 48, 48
- orig: 48, 48
- offset: 0, 0
- index: -1
-block-mass-conveyor-large
- rotate: false
- xy: 2589, 368
- size: 40, 40
- orig: 40, 40
- offset: 0, 0
- index: -1
-block-mass-conveyor-medium
- rotate: false
- xy: 1917, 216
- size: 32, 32
- orig: 32, 32
- offset: 0, 0
- index: -1
-block-mass-conveyor-small
- rotate: false
- xy: 2391, 156
- size: 24, 24
- orig: 24, 24
- offset: 0, 0
- index: -1
-block-mass-conveyor-tiny
- rotate: false
- xy: 1061, 130
- size: 16, 16
- orig: 16, 16
- offset: 0, 0
- index: -1
-block-mass-conveyor-xlarge
- rotate: false
- xy: 745, 351
+ xy: 281, 107
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-mass-driver-large
rotate: false
- xy: 2589, 326
+ xy: 1069, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-mass-driver-medium
rotate: false
- xy: 1951, 216
+ xy: 2531, 219
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-mass-driver-small
rotate: false
- xy: 2417, 156
+ xy: 1221, 14
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-mass-driver-tiny
rotate: false
- xy: 1061, 112
+ xy: 2588, 126
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-mass-driver-xlarge
rotate: false
- xy: 281, 104
+ xy: 281, 57
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-mechanical-drill-large
rotate: false
- xy: 2631, 368
+ xy: 1111, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-mechanical-drill-medium
rotate: false
- xy: 1985, 216
+ xy: 2565, 220
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-mechanical-drill-small
rotate: false
- xy: 2443, 156
+ xy: 1247, 14
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-mechanical-drill-tiny
rotate: false
- xy: 1061, 94
+ xy: 2588, 108
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-mechanical-drill-xlarge
rotate: false
- xy: 281, 54
+ xy: 795, 366
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-mechanical-pump-large
rotate: false
- xy: 2631, 326
+ xy: 1153, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-mechanical-pump-medium
rotate: false
- xy: 2019, 216
+ xy: 2599, 224
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-mechanical-pump-small
rotate: false
- xy: 2469, 156
+ xy: 1273, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-mechanical-pump-tiny
rotate: false
- xy: 989, 22
+ xy: 2606, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-mechanical-pump-xlarge
rotate: false
- xy: 795, 363
+ xy: 309, 304
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-meltdown-large
rotate: false
- xy: 2673, 368
+ xy: 1069, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-meltdown-medium
rotate: false
- xy: 2053, 216
+ xy: 2633, 224
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-meltdown-small
rotate: false
- xy: 2495, 156
+ xy: 1299, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-meltdown-tiny
rotate: false
- xy: 1007, 40
+ xy: 2606, 126
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-meltdown-xlarge
rotate: false
- xy: 309, 301
+ xy: 309, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-melter-large
rotate: false
- xy: 2673, 326
+ xy: 1111, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-melter-medium
rotate: false
- xy: 2087, 216
+ xy: 2667, 224
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-melter-small
rotate: false
- xy: 2521, 156
+ xy: 1325, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-melter-tiny
rotate: false
- xy: 1025, 58
+ xy: 2606, 108
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-melter-xlarge
rotate: false
- xy: 309, 251
+ xy: 359, 304
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-memory-cell-large
+ rotate: false
+ xy: 1153, 287
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-memory-cell-medium
+ rotate: false
+ xy: 2707, 260
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-memory-cell-small
+ rotate: false
+ xy: 1351, 15
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-memory-cell-tiny
+ rotate: false
+ xy: 2588, 90
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-memory-cell-xlarge
+ rotate: false
+ xy: 309, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-mend-projector-large
rotate: false
- xy: 2715, 368
+ xy: 1195, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-mend-projector-medium
rotate: false
- xy: 2121, 216
+ xy: 2701, 226
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-mend-projector-small
rotate: false
- xy: 2547, 156
+ xy: 1377, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-mend-projector-tiny
rotate: false
- xy: 1043, 76
+ xy: 2624, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-mend-projector-xlarge
rotate: false
- xy: 359, 301
+ xy: 359, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-mender-large
rotate: false
- xy: 2715, 326
+ xy: 1111, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-mender-medium
rotate: false
- xy: 2155, 216
+ xy: 2741, 260
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-mender-small
rotate: false
- xy: 2573, 156
+ xy: 1403, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-mender-tiny
rotate: false
- xy: 1079, 148
+ xy: 2624, 126
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-mender-xlarge
rotate: false
- xy: 309, 201
+ xy: 409, 304
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-message-large
rotate: false
- xy: 2757, 368
+ xy: 1153, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-message-medium
rotate: false
- xy: 2189, 216
+ xy: 2735, 226
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-message-small
rotate: false
- xy: 2599, 156
+ xy: 1429, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-message-tiny
rotate: false
- xy: 1079, 130
+ xy: 2624, 108
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-message-xlarge
rotate: false
- xy: 359, 251
+ xy: 359, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-metal-floor-2-large
rotate: false
- xy: 2757, 326
+ xy: 1195, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-metal-floor-2-medium
rotate: false
- xy: 2223, 216
+ xy: 2775, 266
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-metal-floor-2-small
rotate: false
- xy: 2625, 156
+ xy: 1455, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-metal-floor-2-tiny
rotate: false
- xy: 1079, 112
+ xy: 2588, 72
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-metal-floor-2-xlarge
rotate: false
- xy: 409, 301
+ xy: 409, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-metal-floor-3-large
rotate: false
- xy: 2799, 368
+ xy: 1237, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-metal-floor-3-medium
rotate: false
- xy: 2257, 216
+ xy: 2809, 266
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-metal-floor-3-small
rotate: false
- xy: 2651, 156
+ xy: 1481, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-metal-floor-3-tiny
rotate: false
- xy: 1079, 94
+ xy: 2606, 90
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-metal-floor-3-xlarge
rotate: false
- xy: 359, 201
+ xy: 459, 304
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-metal-floor-5-large
rotate: false
- xy: 2799, 326
+ xy: 1153, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-metal-floor-5-medium
rotate: false
- xy: 2291, 216
+ xy: 2843, 266
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-metal-floor-5-small
rotate: false
- xy: 2677, 156
+ xy: 1507, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-metal-floor-5-tiny
rotate: false
- xy: 1007, 22
+ xy: 2642, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-metal-floor-5-xlarge
rotate: false
- xy: 409, 251
+ xy: 409, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-metal-floor-damaged-large
rotate: false
- xy: 2841, 368
+ xy: 1195, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-metal-floor-damaged-medium
rotate: false
- xy: 2325, 216
+ xy: 2877, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-metal-floor-damaged-small
rotate: false
- xy: 2703, 156
+ xy: 1533, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-metal-floor-damaged-tiny
rotate: false
- xy: 1025, 40
+ xy: 2642, 126
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-metal-floor-damaged-xlarge
rotate: false
- xy: 459, 301
+ xy: 459, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-metal-floor-large
rotate: false
- xy: 2841, 326
+ xy: 1237, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-metal-floor-medium
rotate: false
- xy: 2359, 216
+ xy: 2911, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-metal-floor-small
rotate: false
- xy: 2729, 156
+ xy: 1559, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-metal-floor-tiny
rotate: false
- xy: 1043, 58
+ xy: 2642, 108
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-metal-floor-xlarge
rotate: false
- xy: 409, 201
+ xy: 509, 304
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-micro-processor-large
rotate: false
- xy: 2883, 368
+ xy: 1279, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-micro-processor-medium
rotate: false
- xy: 2393, 216
+ xy: 2945, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-micro-processor-small
rotate: false
- xy: 2755, 156
+ xy: 1585, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-micro-processor-tiny
rotate: false
- xy: 1061, 76
+ xy: 2588, 54
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-micro-processor-xlarge
rotate: false
- xy: 459, 251
+ xy: 459, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-moss-large
rotate: false
- xy: 2883, 326
+ xy: 1195, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-moss-medium
rotate: false
- xy: 2427, 216
+ xy: 2979, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-moss-small
rotate: false
- xy: 2781, 156
+ xy: 1611, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-moss-tiny
rotate: false
- xy: 1097, 148
+ xy: 2606, 72
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-moss-xlarge
rotate: false
- xy: 509, 301
+ xy: 509, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-multi-press-large
rotate: false
- xy: 2925, 368
+ xy: 1237, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-multi-press-medium
rotate: false
- xy: 2461, 216
+ xy: 3013, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-multi-press-small
rotate: false
- xy: 2807, 156
+ xy: 1637, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-multi-press-tiny
rotate: false
- xy: 1097, 130
+ xy: 2624, 90
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-multi-press-xlarge
rotate: false
- xy: 459, 201
+ xy: 559, 304
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-multiplicative-reconstructor-large
rotate: false
- xy: 2925, 326
+ xy: 1279, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-multiplicative-reconstructor-medium
rotate: false
- xy: 2495, 216
+ xy: 3047, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-multiplicative-reconstructor-small
rotate: false
- xy: 2833, 156
+ xy: 1663, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-multiplicative-reconstructor-tiny
rotate: false
- xy: 1097, 112
+ xy: 2660, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-multiplicative-reconstructor-xlarge
rotate: false
- xy: 509, 251
+ xy: 509, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-naval-factory-large
rotate: false
- xy: 2967, 368
+ xy: 1321, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-naval-factory-medium
rotate: false
- xy: 2529, 216
+ xy: 3081, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-naval-factory-small
rotate: false
- xy: 2859, 156
+ xy: 1689, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-naval-factory-tiny
rotate: false
- xy: 1097, 94
+ xy: 2660, 126
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-naval-factory-xlarge
rotate: false
- xy: 559, 301
+ xy: 559, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-oil-extractor-large
rotate: false
- xy: 2967, 326
+ xy: 1237, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-oil-extractor-medium
rotate: false
- xy: 2563, 216
+ xy: 3115, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-oil-extractor-small
rotate: false
- xy: 2885, 156
+ xy: 1715, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-oil-extractor-tiny
rotate: false
- xy: 1025, 22
+ xy: 2660, 108
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-oil-extractor-xlarge
rotate: false
- xy: 509, 201
+ xy: 609, 304
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ore-coal-large
rotate: false
- xy: 3009, 368
+ xy: 1279, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ore-coal-medium
rotate: false
- xy: 2597, 216
+ xy: 3149, 274
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-coal-small
rotate: false
- xy: 2911, 156
+ xy: 1741, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ore-coal-tiny
rotate: false
- xy: 1043, 40
+ xy: 2606, 54
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ore-coal-xlarge
rotate: false
- xy: 559, 251
+ xy: 559, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ore-copper-large
rotate: false
- xy: 3009, 326
+ xy: 1321, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ore-copper-medium
rotate: false
- xy: 2631, 216
+ xy: 2877, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-copper-small
rotate: false
- xy: 2937, 156
+ xy: 1767, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ore-copper-tiny
rotate: false
- xy: 1061, 58
+ xy: 2624, 72
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ore-copper-xlarge
rotate: false
- xy: 609, 301
+ xy: 609, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ore-lead-large
rotate: false
- xy: 3051, 368
+ xy: 1363, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ore-lead-medium
rotate: false
- xy: 2665, 216
+ xy: 2911, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-lead-small
rotate: false
- xy: 2963, 156
+ xy: 1793, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ore-lead-tiny
rotate: false
- xy: 1079, 76
+ xy: 2642, 90
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ore-lead-xlarge
rotate: false
- xy: 559, 201
+ xy: 659, 304
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ore-scrap-large
rotate: false
- xy: 3051, 326
+ xy: 1279, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ore-scrap-medium
rotate: false
- xy: 2699, 216
+ xy: 2945, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-scrap-small
rotate: false
- xy: 1767, 130
+ xy: 1819, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ore-scrap-tiny
rotate: false
- xy: 1115, 148
+ xy: 2624, 54
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ore-scrap-xlarge
rotate: false
- xy: 609, 251
+ xy: 609, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ore-thorium-large
rotate: false
- xy: 3093, 368
+ xy: 1321, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ore-thorium-medium
rotate: false
- xy: 2733, 216
+ xy: 2979, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-thorium-small
rotate: false
- xy: 1793, 130
+ xy: 1845, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ore-thorium-tiny
rotate: false
- xy: 1115, 130
+ xy: 2642, 72
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ore-thorium-xlarge
rotate: false
- xy: 659, 301
+ xy: 659, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ore-titanium-large
rotate: false
- xy: 3093, 326
+ xy: 1363, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ore-titanium-medium
rotate: false
- xy: 2767, 216
+ xy: 3013, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ore-titanium-small
rotate: false
- xy: 1819, 130
+ xy: 1871, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ore-titanium-tiny
rotate: false
- xy: 1115, 112
+ xy: 2660, 90
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ore-titanium-xlarge
rotate: false
- xy: 609, 201
+ xy: 709, 304
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-overdrive-dome-large
rotate: false
- xy: 3135, 368
+ xy: 1405, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-overdrive-dome-medium
rotate: false
- xy: 2801, 216
+ xy: 3047, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-overdrive-dome-small
rotate: false
- xy: 1845, 130
+ xy: 1897, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-overdrive-dome-tiny
rotate: false
- xy: 1115, 94
+ xy: 2642, 54
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-overdrive-dome-xlarge
rotate: false
- xy: 659, 251
+ xy: 659, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-overdrive-projector-large
rotate: false
- xy: 3135, 326
+ xy: 1321, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-overdrive-projector-medium
rotate: false
- xy: 2835, 216
+ xy: 3081, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-overdrive-projector-small
rotate: false
- xy: 1871, 130
+ xy: 1923, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-overdrive-projector-tiny
rotate: false
- xy: 1043, 22
+ xy: 2660, 72
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-overdrive-projector-xlarge
rotate: false
- xy: 709, 301
+ xy: 709, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-overflow-gate-large
rotate: false
- xy: 3177, 368
+ xy: 1363, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-overflow-gate-medium
rotate: false
- xy: 2869, 216
+ xy: 3115, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-overflow-gate-small
rotate: false
- xy: 1897, 130
+ xy: 1949, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-overflow-gate-tiny
rotate: false
- xy: 1061, 40
+ xy: 2660, 54
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-overflow-gate-xlarge
rotate: false
- xy: 659, 201
+ xy: 709, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-parallax-large
rotate: false
- xy: 3177, 326
+ xy: 1405, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-parallax-medium
rotate: false
- xy: 2903, 216
+ xy: 3149, 240
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-parallax-small
rotate: false
- xy: 1923, 130
+ xy: 1975, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-parallax-tiny
rotate: false
- xy: 1079, 58
+ xy: 2588, 36
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-parallax-xlarge
rotate: false
- xy: 709, 251
+ xy: 759, 304
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-payload-conveyor-large
+ rotate: false
+ xy: 1447, 329
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-payload-conveyor-medium
+ rotate: false
+ xy: 881, 140
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-payload-conveyor-small
+ rotate: false
+ xy: 2001, 15
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-payload-conveyor-tiny
+ rotate: false
+ xy: 2606, 36
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-payload-conveyor-xlarge
+ rotate: false
+ xy: 759, 254
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-payload-router-large
rotate: false
- xy: 3219, 368
+ xy: 1363, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-payload-router-medium
rotate: false
- xy: 2937, 216
+ xy: 915, 140
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-payload-router-small
rotate: false
- xy: 1949, 130
+ xy: 2027, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-payload-router-tiny
rotate: false
- xy: 1097, 76
+ xy: 2624, 36
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-payload-router-xlarge
rotate: false
- xy: 709, 201
+ xy: 759, 204
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-pebbles-large
rotate: false
- xy: 3219, 326
+ xy: 1405, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-pebbles-medium
rotate: false
- xy: 2971, 216
+ xy: 881, 106
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pebbles-small
rotate: false
- xy: 1975, 130
+ xy: 2053, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-pebbles-tiny
rotate: false
- xy: 1133, 148
+ xy: 2642, 36
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-pebbles-xlarge
rotate: false
- xy: 759, 301
+ xy: 809, 316
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-phase-conduit-large
rotate: false
- xy: 3261, 368
+ xy: 1447, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-phase-conduit-medium
rotate: false
- xy: 1779, 182
+ xy: 949, 140
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-phase-conduit-small
rotate: false
- xy: 2001, 130
+ xy: 2079, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-phase-conduit-tiny
rotate: false
- xy: 1133, 130
+ xy: 2660, 36
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-phase-conduit-xlarge
rotate: false
- xy: 759, 251
+ xy: 809, 266
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-phase-conveyor-large
rotate: false
- xy: 3261, 326
+ xy: 1489, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-phase-conveyor-medium
rotate: false
- xy: 1813, 182
+ xy: 881, 72
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-phase-conveyor-small
rotate: false
- xy: 2027, 130
+ xy: 2105, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-phase-conveyor-tiny
rotate: false
- xy: 1133, 112
+ xy: 2678, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-phase-conveyor-xlarge
rotate: false
- xy: 759, 201
+ xy: 809, 216
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-phase-wall-large
rotate: false
- xy: 3303, 368
+ xy: 1405, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-phase-wall-large-large
rotate: false
- xy: 3303, 326
+ xy: 1447, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-phase-wall-large-medium
rotate: false
- xy: 1847, 182
+ xy: 915, 106
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-phase-wall-large-small
rotate: false
- xy: 2053, 130
+ xy: 2131, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-phase-wall-large-tiny
rotate: false
- xy: 1133, 94
+ xy: 2678, 126
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-phase-wall-large-xlarge
rotate: false
- xy: 809, 313
+ xy: 809, 166
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-phase-wall-medium
rotate: false
- xy: 1881, 182
+ xy: 983, 140
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-phase-wall-small
rotate: false
- xy: 2079, 130
+ xy: 2157, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-phase-wall-tiny
rotate: false
- xy: 1061, 22
+ xy: 2678, 108
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-phase-wall-xlarge
rotate: false
- xy: 809, 263
+ xy: 281, 7
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-phase-weaver-large
rotate: false
- xy: 3345, 368
+ xy: 1489, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-phase-weaver-medium
rotate: false
- xy: 1915, 182
+ xy: 881, 38
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-phase-weaver-small
rotate: false
- xy: 2105, 130
+ xy: 2183, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-phase-weaver-tiny
rotate: false
- xy: 1079, 40
+ xy: 2678, 90
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-phase-weaver-xlarge
rotate: false
- xy: 809, 213
+ xy: 331, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-pine-large
rotate: false
- xy: 3345, 326
+ xy: 1531, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-pine-medium
rotate: false
- xy: 1949, 182
+ xy: 915, 72
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pine-small
rotate: false
- xy: 2131, 130
+ xy: 2209, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-pine-tiny
rotate: false
- xy: 1097, 58
+ xy: 2678, 72
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-pine-xlarge
rotate: false
- xy: 809, 163
+ xy: 331, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-plastanium-compressor-large
rotate: false
- xy: 3387, 368
+ xy: 1447, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-plastanium-compressor-medium
rotate: false
- xy: 1983, 182
+ xy: 949, 106
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-plastanium-compressor-small
rotate: false
- xy: 2157, 130
+ xy: 2235, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-plastanium-compressor-tiny
rotate: false
- xy: 1115, 76
+ xy: 2678, 54
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-plastanium-compressor-xlarge
rotate: false
- xy: 281, 4
+ xy: 381, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-plastanium-conveyor-large
rotate: false
- xy: 3387, 326
+ xy: 1489, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-plastanium-conveyor-medium
rotate: false
- xy: 2017, 182
+ xy: 1017, 140
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-plastanium-conveyor-small
rotate: false
- xy: 2183, 130
+ xy: 2261, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-plastanium-conveyor-tiny
rotate: false
- xy: 1151, 148
+ xy: 2678, 36
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-plastanium-conveyor-xlarge
rotate: false
- xy: 331, 151
+ xy: 331, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-plastanium-wall-large
rotate: false
- xy: 3429, 368
+ xy: 1531, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-plastanium-wall-large-large
rotate: false
- xy: 3429, 326
+ xy: 1573, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-plastanium-wall-large-medium
rotate: false
- xy: 2051, 182
+ xy: 915, 38
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-plastanium-wall-large-small
rotate: false
- xy: 2209, 130
+ xy: 2287, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-plastanium-wall-large-tiny
rotate: false
- xy: 1151, 130
+ xy: 2570, 22
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-plastanium-wall-large-xlarge
rotate: false
- xy: 331, 101
+ xy: 381, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-plastanium-wall-medium
rotate: false
- xy: 2085, 182
+ xy: 949, 72
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-plastanium-wall-small
rotate: false
- xy: 2235, 130
+ xy: 2313, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-plastanium-wall-tiny
rotate: false
- xy: 1151, 112
+ xy: 2588, 18
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-plastanium-wall-xlarge
rotate: false
- xy: 381, 151
+ xy: 431, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-plated-conduit-large
rotate: false
- xy: 3471, 368
+ xy: 1489, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-plated-conduit-medium
rotate: false
- xy: 2119, 182
+ xy: 983, 106
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-plated-conduit-small
rotate: false
- xy: 2261, 130
+ xy: 2339, 15
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-plated-conduit-tiny
rotate: false
- xy: 1151, 94
+ xy: 2606, 18
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-plated-conduit-xlarge
rotate: false
- xy: 331, 51
+ xy: 381, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-pneumatic-drill-large
rotate: false
- xy: 3471, 326
+ xy: 1531, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-pneumatic-drill-medium
rotate: false
- xy: 2153, 182
+ xy: 1051, 140
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pneumatic-drill-small
rotate: false
- xy: 2287, 130
+ xy: 3251, 317
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-pneumatic-drill-tiny
rotate: false
- xy: 1079, 22
+ xy: 2624, 18
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-pneumatic-drill-xlarge
rotate: false
- xy: 381, 101
+ xy: 431, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-power-node-large
rotate: false
- xy: 3513, 368
+ xy: 1573, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-power-node-large-large
rotate: false
- xy: 3513, 326
+ xy: 1615, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-power-node-large-medium
rotate: false
- xy: 2187, 182
+ xy: 949, 38
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-power-node-large-small
rotate: false
- xy: 2313, 130
+ xy: 3249, 291
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-power-node-large-tiny
rotate: false
- xy: 1097, 40
+ xy: 2642, 18
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-power-node-large-xlarge
rotate: false
- xy: 431, 151
+ xy: 481, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-power-node-medium
rotate: false
- xy: 2221, 182
+ xy: 983, 72
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-power-node-small
rotate: false
- xy: 2339, 130
+ xy: 3245, 265
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-power-node-tiny
rotate: false
- xy: 1115, 58
+ xy: 2660, 18
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-power-node-xlarge
rotate: false
- xy: 381, 51
+ xy: 431, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-power-source-large
rotate: false
- xy: 3555, 368
+ xy: 1531, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-power-source-medium
rotate: false
- xy: 2255, 182
+ xy: 1017, 106
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-power-source-small
rotate: false
- xy: 2365, 130
+ xy: 3277, 317
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-power-source-tiny
rotate: false
- xy: 1133, 76
+ xy: 2678, 18
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-power-source-xlarge
rotate: false
- xy: 431, 101
+ xy: 481, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-power-void-large
rotate: false
- xy: 3555, 326
+ xy: 1573, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-power-void-medium
rotate: false
- xy: 2289, 182
+ xy: 983, 38
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-power-void-small
rotate: false
- xy: 2391, 130
+ xy: 3275, 291
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-power-void-tiny
rotate: false
- xy: 1169, 148
+ xy: 3273, 117
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-power-void-xlarge
rotate: false
- xy: 481, 151
+ xy: 531, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-pulse-conduit-large
rotate: false
- xy: 3597, 368
+ xy: 1615, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-pulse-conduit-medium
rotate: false
- xy: 2323, 182
+ xy: 1017, 72
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pulse-conduit-small
rotate: false
- xy: 2417, 130
+ xy: 3271, 265
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-pulse-conduit-tiny
rotate: false
- xy: 1169, 130
+ xy: 3291, 117
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-pulse-conduit-xlarge
rotate: false
- xy: 431, 51
+ xy: 481, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-pulverizer-large
rotate: false
- xy: 3597, 326
+ xy: 1657, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-pulverizer-medium
rotate: false
- xy: 2357, 182
+ xy: 1051, 106
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pulverizer-small
rotate: false
- xy: 2443, 130
+ xy: 2769, 234
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-pulverizer-tiny
rotate: false
- xy: 1169, 112
+ xy: 3309, 117
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-pulverizer-xlarge
rotate: false
- xy: 481, 101
+ xy: 531, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-pyratite-mixer-large
rotate: false
- xy: 3639, 368
+ xy: 1573, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-pyratite-mixer-medium
rotate: false
- xy: 2391, 182
+ xy: 1017, 38
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-pyratite-mixer-small
rotate: false
- xy: 2469, 130
+ xy: 2795, 240
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-pyratite-mixer-tiny
rotate: false
- xy: 1169, 94
+ xy: 3327, 117
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-pyratite-mixer-xlarge
rotate: false
- xy: 531, 151
+ xy: 581, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-repair-point-large
rotate: false
- xy: 3639, 326
+ xy: 1615, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-repair-point-medium
rotate: false
- xy: 2425, 182
+ xy: 1051, 72
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-repair-point-small
rotate: false
- xy: 2495, 130
+ xy: 2821, 240
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-repair-point-tiny
rotate: false
- xy: 1097, 22
+ xy: 3345, 117
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-repair-point-xlarge
rotate: false
- xy: 481, 51
+ xy: 531, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-resupply-point-large
rotate: false
- xy: 3681, 368
+ xy: 1657, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-resupply-point-medium
rotate: false
- xy: 2459, 182
+ xy: 1051, 38
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-resupply-point-small
rotate: false
- xy: 2521, 130
+ xy: 2847, 240
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-resupply-point-tiny
rotate: false
- xy: 1115, 40
+ xy: 3363, 117
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-resupply-point-xlarge
rotate: false
- xy: 531, 101
+ xy: 581, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-ripple-large
rotate: false
- xy: 3681, 326
+ xy: 1699, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-ripple-medium
rotate: false
- xy: 2493, 182
+ xy: 1085, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-ripple-small
rotate: false
- xy: 2547, 130
+ xy: 2769, 208
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-ripple-tiny
rotate: false
- xy: 1133, 58
+ xy: 3381, 117
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-ripple-xlarge
rotate: false
- xy: 581, 151
+ xy: 631, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-rock-large
rotate: false
- xy: 3723, 368
+ xy: 1615, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-rock-medium
rotate: false
- xy: 2527, 182
+ xy: 1085, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-rock-small
rotate: false
- xy: 2573, 130
+ xy: 2795, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-rock-tiny
rotate: false
- xy: 1151, 76
+ xy: 3273, 99
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-rock-xlarge
rotate: false
- xy: 531, 51
+ xy: 581, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-rocks-large
rotate: false
- xy: 3723, 326
+ xy: 1657, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-rocks-medium
rotate: false
- xy: 2561, 182
+ xy: 1119, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-rocks-small
rotate: false
- xy: 2599, 130
+ xy: 2821, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-rocks-tiny
rotate: false
- xy: 1187, 148
+ xy: 3291, 99
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-rocks-xlarge
rotate: false
- xy: 581, 101
+ xy: 631, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-rotary-pump-large
rotate: false
- xy: 3765, 368
+ xy: 1699, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-rotary-pump-medium
rotate: false
- xy: 2595, 182
+ xy: 1085, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-rotary-pump-small
rotate: false
- xy: 2625, 130
+ xy: 2847, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-rotary-pump-tiny
rotate: false
- xy: 1187, 130
+ xy: 3309, 99
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-rotary-pump-xlarge
rotate: false
- xy: 631, 151
+ xy: 681, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-router-large
rotate: false
- xy: 3765, 326
+ xy: 1741, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-router-medium
rotate: false
- xy: 2629, 182
+ xy: 1119, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-router-small
rotate: false
- xy: 2651, 130
+ xy: 2873, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-router-tiny
rotate: false
- xy: 1187, 112
+ xy: 3327, 99
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-router-xlarge
rotate: false
- xy: 581, 51
+ xy: 631, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-rtg-generator-large
rotate: false
- xy: 3807, 368
+ xy: 1657, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-rtg-generator-medium
rotate: false
- xy: 2663, 182
+ xy: 1153, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-rtg-generator-small
rotate: false
- xy: 2677, 130
+ xy: 2899, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-rtg-generator-tiny
rotate: false
- xy: 1187, 94
+ xy: 3345, 99
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-rtg-generator-xlarge
rotate: false
- xy: 631, 101
+ xy: 681, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-salt-large
rotate: false
- xy: 3807, 326
+ xy: 1699, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-salt-medium
rotate: false
- xy: 2697, 182
+ xy: 1119, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-salt-small
rotate: false
- xy: 2703, 130
+ xy: 2925, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-salt-tiny
rotate: false
- xy: 1115, 22
+ xy: 3363, 99
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-salt-xlarge
rotate: false
- xy: 681, 151
+ xy: 731, 154
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-saltrocks-large
rotate: false
- xy: 3849, 368
+ xy: 1741, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-saltrocks-medium
rotate: false
- xy: 2731, 182
+ xy: 1153, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-saltrocks-small
rotate: false
- xy: 2729, 130
+ xy: 2951, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-saltrocks-tiny
rotate: false
- xy: 1133, 40
+ xy: 3381, 99
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-saltrocks-xlarge
rotate: false
- xy: 631, 51
+ xy: 681, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-salvo-large
rotate: false
- xy: 3849, 326
+ xy: 1783, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-salvo-medium
rotate: false
- xy: 2765, 182
+ xy: 1187, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-salvo-small
rotate: false
- xy: 2755, 130
+ xy: 2977, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-salvo-tiny
rotate: false
- xy: 1151, 58
+ xy: 2781, 144
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-salvo-xlarge
rotate: false
- xy: 681, 101
+ xy: 731, 104
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-sand-boulder-large
rotate: false
- xy: 3891, 368
+ xy: 1699, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-sand-boulder-medium
rotate: false
- xy: 2799, 182
+ xy: 1153, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sand-boulder-small
rotate: false
- xy: 2781, 130
+ xy: 3003, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-sand-boulder-tiny
rotate: false
- xy: 1169, 76
+ xy: 3303, 319
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-sand-boulder-xlarge
rotate: false
- xy: 731, 151
+ xy: 731, 54
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-sand-large
rotate: false
- xy: 3891, 326
+ xy: 1741, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-sand-medium
rotate: false
- xy: 2833, 182
+ xy: 1187, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sand-small
rotate: false
- xy: 2807, 130
+ xy: 3029, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-sand-tiny
rotate: false
- xy: 1205, 148
+ xy: 3327, 345
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-sand-water-large
rotate: false
- xy: 3933, 368
+ xy: 1783, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-sand-water-medium
rotate: false
- xy: 2867, 182
+ xy: 1221, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sand-water-small
rotate: false
- xy: 2833, 130
+ xy: 3055, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-sand-water-tiny
rotate: false
- xy: 1205, 130
+ xy: 3345, 345
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-sand-water-xlarge
rotate: false
- xy: 681, 51
+ xy: 331, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-sand-xlarge
rotate: false
- xy: 731, 101
+ xy: 381, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-sandrocks-large
rotate: false
- xy: 3933, 326
+ xy: 1825, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-sandrocks-medium
rotate: false
- xy: 2901, 182
+ xy: 1187, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sandrocks-small
rotate: false
- xy: 2859, 130
+ xy: 3081, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-sandrocks-tiny
rotate: false
- xy: 1205, 112
+ xy: 3363, 345
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-sandrocks-xlarge
rotate: false
- xy: 731, 51
+ xy: 431, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-scatter-large
rotate: false
- xy: 3975, 368
+ xy: 1741, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-scatter-medium
rotate: false
- xy: 2935, 182
+ xy: 1221, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scatter-small
rotate: false
- xy: 2885, 130
+ xy: 3107, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-scatter-tiny
rotate: false
- xy: 1205, 94
+ xy: 3381, 345
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-scatter-xlarge
rotate: false
- xy: 331, 1
+ xy: 481, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-scorch-large
rotate: false
- xy: 3975, 326
+ xy: 1783, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-scorch-medium
rotate: false
- xy: 2969, 182
+ xy: 1255, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scorch-small
rotate: false
- xy: 2911, 130
+ xy: 3133, 214
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-scorch-tiny
rotate: false
- xy: 1133, 22
+ xy: 3399, 345
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-scorch-xlarge
rotate: false
- xy: 381, 1
+ xy: 531, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-scrap-wall-gigantic-large
rotate: false
- xy: 4017, 368
+ xy: 1825, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-scrap-wall-gigantic-medium
rotate: false
- xy: 3009, 232
+ xy: 1221, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scrap-wall-gigantic-small
rotate: false
- xy: 2937, 130
+ xy: 2795, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-scrap-wall-gigantic-tiny
rotate: false
- xy: 1151, 40
+ xy: 3417, 345
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-scrap-wall-gigantic-xlarge
rotate: false
- xy: 431, 1
+ xy: 581, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-scrap-wall-huge-large
rotate: false
- xy: 4017, 326
+ xy: 1867, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-scrap-wall-huge-medium
rotate: false
- xy: 3043, 232
+ xy: 1255, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scrap-wall-huge-small
rotate: false
- xy: 2963, 130
+ xy: 2821, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-scrap-wall-huge-tiny
rotate: false
- xy: 1169, 58
+ xy: 3435, 345
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-scrap-wall-huge-xlarge
rotate: false
- xy: 481, 1
+ xy: 631, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-scrap-wall-large
rotate: false
- xy: 131, 1
+ xy: 1783, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-scrap-wall-large-large
rotate: false
- xy: 173, 1
+ xy: 1825, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-scrap-wall-large-medium
rotate: false
- xy: 3077, 258
+ xy: 1289, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scrap-wall-large-small
rotate: false
- xy: 3290, 138
+ xy: 2847, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-scrap-wall-large-tiny
rotate: false
- xy: 1187, 76
+ xy: 3321, 327
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-scrap-wall-large-xlarge
rotate: false
- xy: 531, 1
+ xy: 681, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-scrap-wall-medium
rotate: false
- xy: 3111, 258
+ xy: 1255, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-scrap-wall-small
rotate: false
- xy: 3316, 138
+ xy: 2873, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-scrap-wall-tiny
rotate: false
- xy: 1223, 148
+ xy: 3339, 327
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-scrap-wall-xlarge
rotate: false
- xy: 581, 1
+ xy: 731, 4
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-segment-large
rotate: false
- xy: 215, 1
+ xy: 1867, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-segment-medium
rotate: false
- xy: 3145, 258
+ xy: 1289, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-segment-small
rotate: false
- xy: 3342, 138
+ xy: 2899, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-segment-tiny
rotate: false
- xy: 1223, 130
+ xy: 3357, 327
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-segment-xlarge
rotate: false
- xy: 631, 1
+ xy: 781, 116
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-separator-large
rotate: false
- xy: 909, 284
+ xy: 1909, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-separator-medium
rotate: false
- xy: 3179, 258
+ xy: 1323, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-separator-small
rotate: false
- xy: 3368, 138
+ xy: 2925, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-separator-tiny
rotate: false
- xy: 1223, 112
+ xy: 3375, 327
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-separator-xlarge
rotate: false
- xy: 681, 1
+ xy: 781, 66
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-shale-boulder-large
rotate: false
- xy: 951, 284
+ xy: 1825, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-shale-boulder-medium
rotate: false
- xy: 3213, 258
+ xy: 1289, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shale-boulder-small
rotate: false
- xy: 3394, 138
+ xy: 2951, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-shale-boulder-tiny
rotate: false
- xy: 1223, 94
+ xy: 3393, 327
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-shale-boulder-xlarge
rotate: false
- xy: 731, 1
+ xy: 781, 16
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-shale-large
rotate: false
- xy: 993, 284
+ xy: 1867, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-shale-medium
rotate: false
- xy: 3247, 258
+ xy: 1323, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shale-small
rotate: false
- xy: 3420, 138
+ xy: 2977, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-shale-tiny
rotate: false
- xy: 1151, 22
+ xy: 3411, 327
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-shale-xlarge
rotate: false
- xy: 781, 113
+ xy: 831, 116
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-shalerocks-large
rotate: false
- xy: 1035, 284
+ xy: 1909, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-shalerocks-medium
rotate: false
- xy: 3281, 258
+ xy: 1357, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shalerocks-small
rotate: false
- xy: 3446, 138
+ xy: 3003, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-shalerocks-tiny
rotate: false
- xy: 1169, 40
+ xy: 3429, 327
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-shalerocks-xlarge
rotate: false
- xy: 781, 63
+ xy: 831, 66
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-shock-mine-large
rotate: false
- xy: 1077, 284
+ xy: 1951, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-shock-mine-medium
rotate: false
- xy: 3315, 258
+ xy: 1323, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shock-mine-small
rotate: false
- xy: 3472, 138
+ xy: 3029, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-shock-mine-tiny
rotate: false
- xy: 1187, 58
+ xy: 3327, 309
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-shock-mine-xlarge
rotate: false
- xy: 781, 13
+ xy: 831, 16
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-shrubs-large
rotate: false
- xy: 1119, 284
+ xy: 1867, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-shrubs-medium
rotate: false
- xy: 3349, 258
+ xy: 1357, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-shrubs-small
rotate: false
- xy: 3498, 138
+ xy: 3055, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-shrubs-tiny
rotate: false
- xy: 1205, 76
+ xy: 3327, 291
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-shrubs-xlarge
rotate: false
- xy: 831, 113
+ xy: 859, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-silicon-crucible-large
rotate: false
- xy: 1161, 284
+ xy: 1909, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-silicon-crucible-medium
rotate: false
- xy: 3383, 258
+ xy: 1391, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-silicon-crucible-small
rotate: false
- xy: 3524, 138
+ xy: 3081, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-silicon-crucible-tiny
rotate: false
- xy: 1241, 148
+ xy: 3345, 309
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-silicon-crucible-xlarge
rotate: false
- xy: 831, 63
+ xy: 909, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-silicon-smelter-large
rotate: false
- xy: 1203, 284
+ xy: 1951, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-silicon-smelter-medium
rotate: false
- xy: 3417, 258
+ xy: 1357, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-silicon-smelter-small
rotate: false
- xy: 3550, 138
+ xy: 3107, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-silicon-smelter-tiny
rotate: false
- xy: 1241, 130
+ xy: 3345, 291
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-silicon-smelter-xlarge
rotate: false
- xy: 831, 13
+ xy: 959, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-slag-large
rotate: false
- xy: 1245, 284
+ xy: 1993, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-slag-medium
rotate: false
- xy: 3451, 258
+ xy: 1391, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-slag-small
rotate: false
- xy: 3576, 138
+ xy: 3133, 188
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-slag-tiny
rotate: false
- xy: 1241, 112
+ xy: 3363, 309
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-slag-xlarge
rotate: false
- xy: 859, 410
+ xy: 1009, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-snow-large
rotate: false
- xy: 1287, 284
+ xy: 1909, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-snow-medium
rotate: false
- xy: 3485, 258
+ xy: 1425, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-snow-pine-large
rotate: false
- xy: 1329, 284
+ xy: 1951, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-snow-pine-medium
rotate: false
- xy: 3519, 258
+ xy: 1391, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-snow-pine-small
rotate: false
- xy: 3602, 138
+ xy: 3241, 237
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-snow-pine-tiny
rotate: false
- xy: 1241, 94
+ xy: 3381, 309
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-snow-pine-xlarge
rotate: false
- xy: 909, 410
+ xy: 1059, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-snow-small
rotate: false
- xy: 3628, 138
+ xy: 3267, 239
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-snow-tiny
rotate: false
- xy: 1169, 22
+ xy: 3399, 309
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-snow-xlarge
rotate: false
- xy: 959, 410
+ xy: 1109, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-snowrock-large
rotate: false
- xy: 1371, 284
+ xy: 1993, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-snowrock-medium
rotate: false
- xy: 3553, 258
+ xy: 1425, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-snowrock-small
rotate: false
- xy: 3654, 138
+ xy: 3241, 211
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-snowrock-tiny
rotate: false
- xy: 1187, 40
+ xy: 3363, 291
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-snowrock-xlarge
rotate: false
- xy: 1009, 410
+ xy: 1159, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-snowrocks-large
rotate: false
- xy: 1413, 284
+ xy: 2035, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-snowrocks-medium
rotate: false
- xy: 3587, 258
+ xy: 1459, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-snowrocks-small
rotate: false
- xy: 3680, 138
+ xy: 3267, 213
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-snowrocks-tiny
rotate: false
- xy: 1205, 58
+ xy: 3349, 273
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-snowrocks-xlarge
rotate: false
- xy: 1059, 410
+ xy: 1209, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-solar-panel-large
rotate: false
- xy: 1455, 284
+ xy: 1951, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-solar-panel-large-large
rotate: false
- xy: 1497, 284
+ xy: 1993, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-solar-panel-large-medium
rotate: false
- xy: 3621, 258
+ xy: 1425, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-solar-panel-large-small
rotate: false
- xy: 3706, 138
+ xy: 3297, 265
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-solar-panel-large-tiny
rotate: false
- xy: 1223, 76
+ xy: 3417, 309
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-solar-panel-large-xlarge
rotate: false
- xy: 1109, 410
+ xy: 1259, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-solar-panel-medium
rotate: false
- xy: 3655, 258
+ xy: 1459, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-solar-panel-small
rotate: false
- xy: 3732, 138
+ xy: 3293, 239
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-solar-panel-tiny
rotate: false
- xy: 1259, 148
+ xy: 3381, 291
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-solar-panel-xlarge
rotate: false
- xy: 1159, 410
+ xy: 1309, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-sorter-large
rotate: false
- xy: 1539, 284
+ xy: 2035, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-sorter-medium
rotate: false
- xy: 3689, 258
+ xy: 1493, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sorter-small
rotate: false
- xy: 3758, 138
+ xy: 3293, 213
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-sorter-tiny
rotate: false
- xy: 1259, 130
+ xy: 3399, 291
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-sorter-xlarge
rotate: false
- xy: 1209, 410
+ xy: 1359, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-spawn-large
rotate: false
- xy: 1581, 284
+ xy: 2077, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-spawn-medium
rotate: false
- xy: 3723, 258
+ xy: 1459, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-spawn-small
rotate: false
- xy: 3784, 138
+ xy: 3301, 291
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-spawn-tiny
rotate: false
- xy: 1259, 112
+ xy: 3367, 273
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-spawn-xlarge
rotate: false
- xy: 1259, 410
+ xy: 1409, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-spectre-large
rotate: false
- xy: 1623, 284
+ xy: 1993, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-spectre-medium
rotate: false
- xy: 3757, 258
+ xy: 1493, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-spectre-small
rotate: false
- xy: 3810, 138
+ xy: 2599, 198
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-spectre-tiny
rotate: false
- xy: 1259, 94
+ xy: 3417, 291
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-spectre-xlarge
rotate: false
- xy: 1309, 410
+ xy: 1459, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-spore-cluster-large
rotate: false
- xy: 1665, 284
+ xy: 2035, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-spore-cluster-medium
rotate: false
- xy: 3791, 258
+ xy: 1527, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-spore-cluster-small
rotate: false
- xy: 3836, 138
+ xy: 2625, 198
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-spore-cluster-tiny
rotate: false
- xy: 1187, 22
+ xy: 3385, 273
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-spore-cluster-xlarge
rotate: false
- xy: 1359, 410
+ xy: 1509, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-spore-moss-large
rotate: false
- xy: 1707, 284
+ xy: 2077, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-spore-moss-medium
rotate: false
- xy: 3825, 258
+ xy: 1493, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-spore-moss-small
rotate: false
- xy: 3862, 138
+ xy: 2651, 198
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-spore-moss-tiny
rotate: false
- xy: 1205, 40
+ xy: 3403, 273
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-spore-moss-xlarge
rotate: false
- xy: 1409, 410
+ xy: 1559, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-spore-pine-large
rotate: false
- xy: 1749, 284
+ xy: 2119, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-spore-pine-medium
rotate: false
- xy: 3859, 258
+ xy: 1527, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-spore-pine-small
rotate: false
- xy: 3888, 138
+ xy: 2677, 198
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-spore-pine-tiny
rotate: false
- xy: 1223, 58
+ xy: 3421, 273
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-spore-pine-xlarge
rotate: false
- xy: 1459, 410
+ xy: 1609, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-spore-press-large
rotate: false
- xy: 1791, 284
+ xy: 2035, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-spore-press-medium
rotate: false
- xy: 3893, 258
+ xy: 1561, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-spore-press-small
rotate: false
- xy: 3914, 138
+ xy: 2703, 200
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-spore-press-tiny
rotate: false
- xy: 1241, 76
+ xy: 3435, 309
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-spore-press-xlarge
rotate: false
- xy: 1509, 410
+ xy: 1659, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-sporerocks-large
rotate: false
- xy: 1833, 284
+ xy: 2077, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-sporerocks-medium
rotate: false
- xy: 3927, 258
+ xy: 1527, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-sporerocks-small
rotate: false
- xy: 3940, 138
+ xy: 2729, 200
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-sporerocks-tiny
rotate: false
- xy: 1277, 148
+ xy: 3435, 291
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-sporerocks-xlarge
rotate: false
- xy: 1559, 410
+ xy: 1709, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-stone-large
rotate: false
- xy: 1875, 284
+ xy: 2119, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-stone-medium
rotate: false
- xy: 3961, 258
+ xy: 1561, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-stone-small
rotate: false
- xy: 3966, 138
+ xy: 3319, 239
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-stone-tiny
rotate: false
- xy: 1277, 130
+ xy: 3439, 273
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-stone-xlarge
rotate: false
- xy: 1609, 410
+ xy: 1759, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-surge-tower-large
rotate: false
- xy: 1917, 284
+ xy: 2161, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-surge-tower-medium
rotate: false
- xy: 3995, 258
+ xy: 1595, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-surge-tower-small
rotate: false
- xy: 3992, 138
+ xy: 3319, 213
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-surge-tower-tiny
rotate: false
- xy: 1277, 112
+ xy: 3371, 255
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-surge-tower-xlarge
rotate: false
- xy: 1659, 410
+ xy: 1809, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-surge-wall-large
rotate: false
- xy: 1959, 284
+ xy: 2077, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-surge-wall-large-large
rotate: false
- xy: 2001, 284
+ xy: 2119, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-surge-wall-large-medium
rotate: false
- xy: 3077, 224
+ xy: 1561, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-surge-wall-large-small
rotate: false
- xy: 2989, 138
+ xy: 3323, 265
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-surge-wall-large-tiny
rotate: false
- xy: 1277, 94
+ xy: 3371, 237
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-surge-wall-large-xlarge
rotate: false
- xy: 1709, 410
+ xy: 1859, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-surge-wall-medium
rotate: false
- xy: 3111, 224
+ xy: 1595, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-surge-wall-small
rotate: false
- xy: 3015, 138
+ xy: 2485, 190
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-surge-wall-tiny
rotate: false
- xy: 1205, 22
+ xy: 3389, 255
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-surge-wall-xlarge
rotate: false
- xy: 1759, 410
+ xy: 1909, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-swarmer-large
rotate: false
- xy: 2043, 284
+ xy: 2161, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-swarmer-medium
rotate: false
- xy: 3145, 224
+ xy: 1629, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-swarmer-small
rotate: false
- xy: 3041, 138
+ xy: 2485, 164
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-swarmer-tiny
rotate: false
- xy: 1223, 40
+ xy: 3371, 219
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-swarmer-xlarge
rotate: false
- xy: 1809, 410
+ xy: 1959, 413
+ size: 48, 48
+ orig: 48, 48
+ offset: 0, 0
+ index: -1
+block-switch-large
+ rotate: false
+ xy: 2203, 329
+ size: 40, 40
+ orig: 40, 40
+ offset: 0, 0
+ index: -1
+block-switch-medium
+ rotate: false
+ xy: 1595, 67
+ size: 32, 32
+ orig: 32, 32
+ offset: 0, 0
+ index: -1
+block-switch-small
+ rotate: false
+ xy: 2511, 193
+ size: 24, 24
+ orig: 24, 24
+ offset: 0, 0
+ index: -1
+block-switch-tiny
+ rotate: false
+ xy: 3407, 255
+ size: 16, 16
+ orig: 16, 16
+ offset: 0, 0
+ index: -1
+block-switch-xlarge
+ rotate: false
+ xy: 2009, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-tainted-water-large
rotate: false
- xy: 2085, 284
+ xy: 2119, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-tainted-water-medium
rotate: false
- xy: 3179, 224
+ xy: 1629, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-tainted-water-small
rotate: false
- xy: 3067, 130
+ xy: 2537, 193
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-tainted-water-tiny
rotate: false
- xy: 1241, 58
+ xy: 3389, 237
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-tainted-water-xlarge
rotate: false
- xy: 1859, 410
+ xy: 2059, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-tar-large
rotate: false
- xy: 2127, 284
+ xy: 2161, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-tar-medium
rotate: false
- xy: 3213, 224
+ xy: 1663, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-tar-small
rotate: false
- xy: 3093, 130
+ xy: 2511, 167
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-tar-tiny
rotate: false
- xy: 1259, 76
+ xy: 3425, 255
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-tar-xlarge
rotate: false
- xy: 1909, 410
+ xy: 2109, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-tendrils-large
rotate: false
- xy: 2169, 284
+ xy: 2203, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-tendrils-medium
rotate: false
- xy: 3247, 224
+ xy: 1629, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-tendrils-small
rotate: false
- xy: 4058, 281
+ xy: 2537, 167
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-tendrils-tiny
rotate: false
- xy: 1295, 148
+ xy: 3407, 237
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-tendrils-xlarge
rotate: false
- xy: 1959, 410
+ xy: 2159, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-tetrative-reconstructor-large
rotate: false
- xy: 2211, 284
+ xy: 2245, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-tetrative-reconstructor-medium
rotate: false
- xy: 3281, 224
+ xy: 1663, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-tetrative-reconstructor-small
rotate: false
- xy: 4058, 255
+ xy: 3345, 239
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-tetrative-reconstructor-tiny
rotate: false
- xy: 1295, 130
+ xy: 3389, 219
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-tetrative-reconstructor-xlarge
rotate: false
- xy: 2009, 410
+ xy: 2209, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-thermal-generator-large
rotate: false
- xy: 2253, 284
+ xy: 2161, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-thermal-generator-medium
rotate: false
- xy: 3315, 224
+ xy: 1697, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-thermal-generator-small
rotate: false
- xy: 4058, 229
+ xy: 3345, 213
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-thermal-generator-tiny
rotate: false
- xy: 1295, 112
+ xy: 3425, 237
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-thermal-generator-xlarge
rotate: false
- xy: 2059, 410
+ xy: 2259, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-thermal-pump-large
rotate: false
- xy: 2295, 284
+ xy: 2203, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-thermal-pump-medium
rotate: false
- xy: 3349, 224
+ xy: 1663, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-thermal-pump-small
rotate: false
- xy: 2989, 112
+ xy: 2492, 138
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-thermal-pump-tiny
rotate: false
- xy: 1295, 94
+ xy: 3407, 219
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-thermal-pump-xlarge
rotate: false
- xy: 2109, 410
+ xy: 2309, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-thorium-reactor-large
rotate: false
- xy: 2337, 284
+ xy: 2245, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-thorium-reactor-medium
rotate: false
- xy: 3383, 224
+ xy: 1697, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-thorium-reactor-small
rotate: false
- xy: 3015, 112
+ xy: 2492, 112
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-thorium-reactor-tiny
rotate: false
- xy: 1223, 22
+ xy: 3425, 219
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-thorium-reactor-xlarge
rotate: false
- xy: 2159, 410
+ xy: 2359, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-thorium-wall-large
rotate: false
- xy: 2379, 284
+ xy: 2287, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-thorium-wall-large-large
rotate: false
- xy: 2421, 284
+ xy: 2203, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-thorium-wall-large-medium
rotate: false
- xy: 3417, 224
+ xy: 1731, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-thorium-wall-large-small
rotate: false
- xy: 3041, 112
+ xy: 2492, 86
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-thorium-wall-large-tiny
rotate: false
- xy: 1241, 40
+ xy: 3443, 255
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-thorium-wall-large-xlarge
rotate: false
- xy: 2209, 410
+ xy: 2409, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-thorium-wall-medium
rotate: false
- xy: 3451, 224
+ xy: 1697, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-thorium-wall-small
rotate: false
- xy: 3067, 104
+ xy: 2518, 141
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-thorium-wall-tiny
rotate: false
- xy: 1259, 58
+ xy: 3443, 237
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-thorium-wall-xlarge
rotate: false
- xy: 2259, 410
+ xy: 2459, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-thruster-large
rotate: false
- xy: 2463, 284
+ xy: 2245, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-thruster-medium
rotate: false
- xy: 3485, 224
+ xy: 1731, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-thruster-small
rotate: false
- xy: 3093, 104
+ xy: 2518, 115
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-thruster-tiny
rotate: false
- xy: 1277, 76
+ xy: 3443, 219
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-thruster-xlarge
rotate: false
- xy: 2309, 410
+ xy: 2509, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-titanium-conveyor-large
rotate: false
- xy: 2505, 284
+ xy: 2287, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-titanium-conveyor-medium
rotate: false
- xy: 3519, 224
+ xy: 1765, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-titanium-conveyor-small
rotate: false
- xy: 4018, 164
+ xy: 2518, 89
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-titanium-conveyor-tiny
rotate: false
- xy: 1313, 148
+ xy: 3393, 201
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-titanium-conveyor-xlarge
rotate: false
- xy: 2359, 410
+ xy: 2559, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-titanium-wall-large
rotate: false
- xy: 2547, 284
+ xy: 2329, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-titanium-wall-large-large
rotate: false
- xy: 2589, 284
+ xy: 2245, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-titanium-wall-large-medium
rotate: false
- xy: 3553, 224
+ xy: 1731, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-titanium-wall-large-small
rotate: false
- xy: 4018, 138
+ xy: 2544, 141
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-titanium-wall-large-tiny
rotate: false
- xy: 1313, 130
+ xy: 3393, 183
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-titanium-wall-large-xlarge
rotate: false
- xy: 2409, 410
+ xy: 2609, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-titanium-wall-medium
rotate: false
- xy: 3587, 224
+ xy: 1765, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-titanium-wall-small
rotate: false
- xy: 3119, 124
+ xy: 2544, 115
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-titanium-wall-tiny
rotate: false
- xy: 1313, 112
+ xy: 3411, 201
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-titanium-wall-xlarge
rotate: false
- xy: 2459, 410
+ xy: 2659, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-turbine-generator-large
rotate: false
- xy: 2631, 284
+ xy: 2287, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-turbine-generator-medium
rotate: false
- xy: 3621, 224
+ xy: 1799, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-turbine-generator-small
rotate: false
- xy: 3145, 124
+ xy: 2544, 89
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-turbine-generator-tiny
rotate: false
- xy: 1313, 94
+ xy: 3393, 165
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-turbine-generator-xlarge
rotate: false
- xy: 2509, 410
+ xy: 2709, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-underflow-gate-large
rotate: false
- xy: 2673, 284
+ xy: 2329, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-underflow-gate-medium
rotate: false
- xy: 3655, 224
+ xy: 1765, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-underflow-gate-small
rotate: false
- xy: 3171, 124
+ xy: 2492, 60
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-underflow-gate-tiny
rotate: false
- xy: 1241, 22
+ xy: 3411, 183
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-underflow-gate-xlarge
rotate: false
- xy: 2559, 410
+ xy: 2759, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-unloader-large
rotate: false
- xy: 2715, 284
+ xy: 2371, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-unloader-medium
rotate: false
- xy: 3689, 224
+ xy: 1799, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-unloader-small
rotate: false
- xy: 3197, 124
+ xy: 2518, 63
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-unloader-tiny
rotate: false
- xy: 1259, 40
+ xy: 3429, 201
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-unloader-xlarge
rotate: false
- xy: 2609, 410
+ xy: 2809, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-vault-large
rotate: false
- xy: 2757, 284
+ xy: 2287, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-vault-medium
rotate: false
- xy: 3723, 224
+ xy: 1833, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-vault-small
rotate: false
- xy: 3119, 98
+ xy: 2544, 63
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-vault-tiny
rotate: false
- xy: 1277, 58
+ xy: 3393, 147
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-vault-xlarge
rotate: false
- xy: 2659, 410
+ xy: 2859, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-water-extractor-large
rotate: false
- xy: 2799, 284
+ xy: 2329, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-water-extractor-medium
rotate: false
- xy: 3757, 224
+ xy: 1799, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-water-extractor-small
rotate: false
- xy: 3145, 98
+ xy: 2518, 37
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-water-extractor-tiny
rotate: false
- xy: 1295, 76
+ xy: 3411, 165
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-water-extractor-xlarge
rotate: false
- xy: 2709, 410
+ xy: 2909, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-water-large
rotate: false
- xy: 2841, 284
+ xy: 2371, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-water-medium
rotate: false
- xy: 3791, 224
+ xy: 1833, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-water-small
rotate: false
- xy: 3171, 98
+ xy: 2544, 37
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-water-tiny
rotate: false
- xy: 1331, 148
+ xy: 3429, 183
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-water-xlarge
rotate: false
- xy: 2759, 410
+ xy: 2959, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-wave-large
rotate: false
- xy: 2883, 284
+ xy: 2413, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-wave-medium
rotate: false
- xy: 3825, 224
+ xy: 1867, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-wave-small
rotate: false
- xy: 3197, 98
+ xy: 3159, 204
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-wave-tiny
rotate: false
- xy: 1331, 130
+ xy: 3411, 147
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-wave-xlarge
rotate: false
- xy: 2809, 410
+ xy: 3009, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-white-tree-dead-large
rotate: false
- xy: 2925, 284
+ xy: 2329, 203
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-white-tree-dead-medium
rotate: false
- xy: 3859, 224
+ xy: 1833, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-white-tree-dead-small
rotate: false
- xy: 3223, 124
+ xy: 3185, 204
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-white-tree-dead-tiny
rotate: false
- xy: 1331, 112
+ xy: 3429, 165
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-white-tree-dead-xlarge
rotate: false
- xy: 2859, 410
+ xy: 3059, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
block-white-tree-large
rotate: false
- xy: 2967, 284
+ xy: 2371, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
block-white-tree-medium
rotate: false
- xy: 3893, 224
+ xy: 1867, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
block-white-tree-small
rotate: false
- xy: 3223, 98
+ xy: 3211, 199
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
block-white-tree-tiny
rotate: false
- xy: 1331, 94
+ xy: 3429, 147
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
block-white-tree-xlarge
rotate: false
- xy: 2909, 410
+ xy: 3109, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
button
rotate: false
- xy: 1557, 226
+ xy: 3027, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17477,7 +17673,7 @@ button
index: -1
button-disabled
rotate: false
- xy: 4057, 481
+ xy: 4057, 484
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17485,7 +17681,7 @@ button-disabled
index: -1
button-down
rotate: false
- xy: 4059, 452
+ xy: 4059, 455
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17493,7 +17689,7 @@ button-down
index: -1
button-edge-1
rotate: false
- xy: 4059, 423
+ xy: 4059, 426
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17501,7 +17697,7 @@ button-edge-1
index: -1
button-edge-2
rotate: false
- xy: 4059, 394
+ xy: 4059, 397
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17509,7 +17705,7 @@ button-edge-2
index: -1
button-edge-3
rotate: false
- xy: 4059, 365
+ xy: 2413, 216
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17517,7 +17713,7 @@ button-edge-3
index: -1
button-edge-4
rotate: false
- xy: 4059, 336
+ xy: 2749, 300
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17525,7 +17721,7 @@ button-edge-4
index: -1
button-edge-over-4
rotate: false
- xy: 4059, 307
+ xy: 2581, 258
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17533,7 +17729,7 @@ button-edge-over-4
index: -1
button-over
rotate: false
- xy: 1405, 255
+ xy: 2875, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17541,7 +17737,7 @@ button-over
index: -1
button-red
rotate: false
- xy: 1405, 226
+ xy: 2451, 216
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17549,7 +17745,7 @@ button-red
index: -1
button-right
rotate: false
- xy: 1481, 255
+ xy: 2913, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17557,7 +17753,7 @@ button-right
index: -1
button-right-down
rotate: false
- xy: 1443, 255
+ xy: 2787, 300
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17565,7 +17761,7 @@ button-right-down
index: -1
button-right-over
rotate: false
- xy: 1443, 226
+ xy: 2619, 258
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17573,7 +17769,7 @@ button-right-over
index: -1
button-select
rotate: false
- xy: 3249, 126
+ xy: 3159, 178
size: 24, 24
split: 4, 4, 4, 4
orig: 24, 24
@@ -17581,7 +17777,7 @@ button-select
index: -1
button-square
rotate: false
- xy: 1519, 226
+ xy: 2951, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17589,7 +17785,7 @@ button-square
index: -1
button-square-down
rotate: false
- xy: 1481, 226
+ xy: 2825, 300
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17597,7 +17793,7 @@ button-square-down
index: -1
button-square-over
rotate: false
- xy: 1519, 255
+ xy: 2657, 258
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17605,7 +17801,7 @@ button-square-over
index: -1
button-trans
rotate: false
- xy: 1557, 255
+ xy: 2989, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17613,77 +17809,77 @@ button-trans
index: -1
check-disabled
rotate: false
- xy: 3927, 224
+ xy: 1901, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-off
rotate: false
- xy: 3961, 224
+ xy: 1867, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-on
rotate: false
- xy: 3995, 224
+ xy: 1901, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-on-disabled
rotate: false
- xy: 901, 166
+ xy: 1935, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-on-over
rotate: false
- xy: 935, 166
+ xy: 1901, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
check-over
rotate: false
- xy: 969, 166
+ xy: 1935, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
clear
rotate: false
- xy: 771, 401
+ xy: 771, 404
size: 10, 10
orig: 10, 10
offset: 0, 0
index: -1
crater
rotate: false
- xy: 309, 181
+ xy: 3239, 393
size: 18, 18
orig: 18, 18
offset: 0, 0
index: -1
cursor
rotate: false
- xy: 3119, 150
+ xy: 2749, 294
size: 4, 4
orig: 4, 4
offset: 0, 0
index: -1
discord-banner
rotate: false
- xy: 771, 463
+ xy: 771, 466
size: 84, 45
orig: 84, 45
offset: 0, 0
index: -1
flat-down-base
rotate: false
- xy: 1595, 255
+ xy: 3065, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17691,14 +17887,14 @@ flat-down-base
index: -1
info-banner
rotate: false
- xy: 259, 354
+ xy: 259, 357
size: 84, 45
orig: 84, 45
offset: 0, 0
index: -1
inventory
rotate: false
- xy: 3249, 84
+ xy: 3185, 162
size: 24, 40
split: 10, 10, 10, 14
orig: 24, 40
@@ -17706,168 +17902,168 @@ inventory
index: -1
item-blast-compound-icon
rotate: false
- xy: 1003, 166
+ xy: 1969, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-coal-icon
rotate: false
- xy: 1037, 166
+ xy: 1935, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-copper-icon
rotate: false
- xy: 1071, 166
+ xy: 1969, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-graphite-icon
rotate: false
- xy: 1105, 166
+ xy: 2003, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-lead-icon
rotate: false
- xy: 1139, 166
+ xy: 1969, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-metaglass-icon
rotate: false
- xy: 1173, 166
+ xy: 2003, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-phase-fabric-icon
rotate: false
- xy: 1207, 166
+ xy: 2037, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-plastanium-icon
rotate: false
- xy: 1241, 166
+ xy: 2003, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-pyratite-icon
rotate: false
- xy: 1275, 166
+ xy: 2037, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-sand-icon
rotate: false
- xy: 1309, 166
+ xy: 2071, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-scrap-icon
rotate: false
- xy: 1343, 166
+ xy: 2037, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-silicon-icon
rotate: false
- xy: 3005, 198
+ xy: 2071, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-spore-pod-icon
rotate: false
- xy: 3039, 198
+ xy: 2105, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-surge-alloy-icon
rotate: false
- xy: 3073, 190
+ xy: 2071, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-thorium-icon
rotate: false
- xy: 3107, 190
+ xy: 2105, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
item-titanium-icon
rotate: false
- xy: 3141, 190
+ xy: 2139, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-cryofluid-icon
rotate: false
- xy: 3175, 190
+ xy: 2105, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-oil-icon
rotate: false
- xy: 3209, 190
+ xy: 2139, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-slag-icon
rotate: false
- xy: 3243, 190
+ xy: 2173, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
liquid-water-icon
rotate: false
- xy: 3277, 190
+ xy: 2139, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
logic-node
rotate: false
- xy: 3311, 190
+ xy: 2173, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
logo
rotate: false
- xy: 1, 401
+ xy: 1, 404
size: 768, 107
orig: 768, 107
offset: 0, 0
index: -1
nomap
rotate: false
- xy: 1, 143
+ xy: 1, 146
size: 256, 256
orig: 256, 256
offset: 0, 0
index: -1
pane
rotate: false
- xy: 1633, 255
+ xy: 3141, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17875,7 +18071,7 @@ pane
index: -1
pane-2
rotate: false
- xy: 1595, 226
+ xy: 3103, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17883,7 +18079,7 @@ pane-2
index: -1
scroll
rotate: false
- xy: 3301, 101
+ xy: 3237, 174
size: 24, 35
split: 10, 10, 6, 5
orig: 24, 35
@@ -17891,7 +18087,7 @@ scroll
index: -1
scroll-horizontal
rotate: false
- xy: 3051, 300
+ xy: 3622, 397
size: 35, 24
split: 6, 5, 10, 10
orig: 35, 24
@@ -17899,70 +18095,70 @@ scroll-horizontal
index: -1
scroll-knob-horizontal-black
rotate: false
- xy: 3009, 300
+ xy: 859, 177
size: 40, 24
orig: 40, 24
offset: 0, 0
index: -1
scroll-knob-vertical-black
rotate: false
- xy: 3275, 96
+ xy: 3211, 157
size: 24, 40
orig: 24, 40
offset: 0, 0
index: -1
scroll-knob-vertical-thin
rotate: false
- xy: 845, 387
+ xy: 3461, 241
size: 12, 40
orig: 12, 40
offset: 0, 0
index: -1
selection
rotate: false
- xy: 859, 163
+ xy: 821, 463
size: 1, 1
orig: 1, 1
offset: 0, 0
index: -1
slider
rotate: false
- xy: 259, 144
+ xy: 3656, 387
size: 1, 8
orig: 1, 8
offset: 0, 0
index: -1
slider-knob
rotate: false
- xy: 3139, 150
+ xy: 3183, 268
size: 29, 38
orig: 29, 38
offset: 0, 0
index: -1
slider-knob-down
rotate: false
- xy: 3170, 150
+ xy: 3590, 331
size: 29, 38
orig: 29, 38
offset: 0, 0
index: -1
slider-knob-over
rotate: false
- xy: 3201, 150
+ xy: 3214, 263
size: 29, 38
orig: 29, 38
offset: 0, 0
index: -1
slider-vertical
rotate: false
- xy: 309, 351
+ xy: 309, 354
size: 8, 1
orig: 8, 1
offset: 0, 0
index: -1
underline
rotate: false
- xy: 1709, 226
+ xy: 1015, 174
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17970,7 +18166,7 @@ underline
index: -1
underline-2
rotate: false
- xy: 1633, 226
+ xy: 3179, 342
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17978,7 +18174,7 @@ underline-2
index: -1
underline-disabled
rotate: false
- xy: 1671, 255
+ xy: 901, 174
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17986,7 +18182,7 @@ underline-disabled
index: -1
underline-red
rotate: false
- xy: 1671, 226
+ xy: 939, 174
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -17994,7 +18190,7 @@ underline-red
index: -1
underline-white
rotate: false
- xy: 1709, 255
+ xy: 977, 174
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -18002,847 +18198,847 @@ underline-white
index: -1
unit-alpha-large
rotate: false
- xy: 901, 242
+ xy: 2413, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-alpha-medium
rotate: false
- xy: 3345, 190
+ xy: 2207, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-alpha-small
rotate: false
- xy: 3327, 112
+ xy: 3237, 148
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-alpha-tiny
rotate: false
- xy: 1259, 22
+ xy: 3447, 201
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-alpha-xlarge
rotate: false
- xy: 2959, 410
+ xy: 3159, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-antumbra-large
rotate: false
- xy: 901, 200
- size: 40, 40
- orig: 40, 40
+ xy: 821, 421
+ size: 36, 40
+ orig: 36, 40
offset: 0, 0
index: -1
unit-antumbra-medium
rotate: false
- xy: 3379, 190
- size: 32, 32
- orig: 32, 32
+ xy: 3621, 329
+ size: 28, 32
+ orig: 28, 32
offset: 0, 0
index: -1
unit-antumbra-small
rotate: false
- xy: 3353, 112
- size: 24, 24
- orig: 24, 24
+ xy: 2353, 41
+ size: 21, 24
+ orig: 21, 24
offset: 0, 0
index: -1
unit-antumbra-tiny
rotate: false
- xy: 1277, 40
- size: 16, 16
- orig: 16, 16
+ xy: 2843, 144
+ size: 14, 16
+ orig: 14, 16
offset: 0, 0
index: -1
unit-antumbra-xlarge
rotate: false
- xy: 3009, 410
- size: 48, 48
- orig: 48, 48
+ xy: 3409, 363
+ size: 43, 48
+ orig: 43, 48
offset: 0, 0
index: -1
unit-arkyid-large
rotate: false
- xy: 943, 242
+ xy: 2455, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-arkyid-medium
rotate: false
- xy: 3413, 190
+ xy: 2173, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-arkyid-small
rotate: false
- xy: 3379, 112
+ xy: 3263, 185
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-arkyid-tiny
rotate: false
- xy: 1295, 58
+ xy: 3447, 183
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-arkyid-xlarge
rotate: false
- xy: 3059, 410
+ xy: 3209, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-atrax-large
rotate: false
- xy: 943, 200
- size: 40, 40
- orig: 40, 40
+ xy: 2371, 214
+ size: 40, 29
+ orig: 40, 29
offset: 0, 0
index: -1
unit-atrax-medium
rotate: false
- xy: 3447, 190
- size: 32, 32
- orig: 32, 32
+ xy: 1085, 42
+ size: 32, 23
+ orig: 32, 23
offset: 0, 0
index: -1
unit-atrax-small
rotate: false
- xy: 3405, 112
- size: 24, 24
- orig: 24, 24
+ xy: 3263, 166
+ size: 24, 17
+ orig: 24, 17
offset: 0, 0
index: -1
unit-atrax-tiny
rotate: false
- xy: 1313, 76
- size: 16, 16
- orig: 16, 16
+ xy: 2563, 170
+ size: 16, 11
+ orig: 16, 11
offset: 0, 0
index: -1
unit-atrax-xlarge
rotate: false
- xy: 3109, 410
- size: 48, 48
- orig: 48, 48
+ xy: 3259, 427
+ size: 48, 34
+ orig: 48, 34
offset: 0, 0
index: -1
unit-beta-large
rotate: false
- xy: 985, 242
+ xy: 2413, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-beta-medium
rotate: false
- xy: 3481, 190
+ xy: 2207, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-beta-small
rotate: false
- xy: 3431, 112
+ xy: 3289, 187
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-beta-tiny
rotate: false
- xy: 1349, 148
+ xy: 3447, 165
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-beta-xlarge
rotate: false
- xy: 3159, 410
+ xy: 3309, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-bryde-large
rotate: false
- xy: 985, 200
+ xy: 2455, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-bryde-medium
rotate: false
- xy: 3515, 190
+ xy: 2241, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-bryde-small
rotate: false
- xy: 3457, 112
+ xy: 3315, 187
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-bryde-tiny
rotate: false
- xy: 1349, 130
+ xy: 3447, 147
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-bryde-xlarge
rotate: false
- xy: 3209, 410
+ xy: 3359, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-crawler-large
rotate: false
- xy: 1027, 242
+ xy: 2497, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-crawler-medium
rotate: false
- xy: 3549, 190
+ xy: 2207, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-crawler-small
rotate: false
- xy: 3483, 112
+ xy: 3341, 187
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-crawler-tiny
rotate: false
- xy: 1349, 112
+ xy: 3453, 319
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-crawler-xlarge
rotate: false
- xy: 3259, 410
+ xy: 3409, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-dagger-large
rotate: false
- xy: 1027, 200
+ xy: 2455, 245
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-dagger-medium
rotate: false
- xy: 3583, 190
+ xy: 2241, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-dagger-small
rotate: false
- xy: 3509, 112
+ xy: 3289, 161
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-dagger-tiny
rotate: false
- xy: 1349, 94
+ xy: 3453, 301
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-dagger-xlarge
rotate: false
- xy: 3309, 410
+ xy: 3459, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-eclipse-large
rotate: false
- xy: 1069, 242
+ xy: 2497, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-eclipse-medium
rotate: false
- xy: 3617, 190
+ xy: 2275, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-eclipse-small
rotate: false
- xy: 3535, 112
+ xy: 3315, 161
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-eclipse-tiny
rotate: false
- xy: 1277, 22
+ xy: 3471, 319
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-eclipse-xlarge
rotate: false
- xy: 3359, 410
+ xy: 3509, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-flare-large
rotate: false
- xy: 1069, 200
+ xy: 2539, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-flare-medium
rotate: false
- xy: 3651, 190
+ xy: 2241, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-flare-small
rotate: false
- xy: 3561, 112
+ xy: 3341, 161
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-flare-tiny
rotate: false
- xy: 1295, 40
+ xy: 3471, 301
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-flare-xlarge
rotate: false
- xy: 3409, 410
+ xy: 3559, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-fortress-large
rotate: false
- xy: 1111, 242
- size: 40, 40
- orig: 40, 40
+ xy: 2497, 253
+ size: 40, 32
+ orig: 40, 32
offset: 0, 0
index: -1
unit-fortress-medium
rotate: false
- xy: 3685, 190
- size: 32, 32
- orig: 32, 32
+ xy: 2275, 108
+ size: 32, 25
+ orig: 32, 25
offset: 0, 0
index: -1
unit-fortress-small
rotate: false
- xy: 3587, 112
- size: 24, 24
- orig: 24, 24
+ xy: 3263, 145
+ size: 24, 19
+ orig: 24, 19
offset: 0, 0
index: -1
unit-fortress-tiny
rotate: false
- xy: 1313, 58
- size: 16, 16
- orig: 16, 16
+ xy: 1273, 1
+ size: 16, 12
+ orig: 16, 12
offset: 0, 0
index: -1
unit-fortress-xlarge
rotate: false
- xy: 3459, 410
- size: 48, 48
- orig: 48, 48
+ xy: 3609, 423
+ size: 48, 38
+ orig: 48, 38
offset: 0, 0
index: -1
unit-gamma-large
rotate: false
- xy: 1111, 200
+ xy: 2539, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-gamma-medium
rotate: false
- xy: 3719, 190
+ xy: 2309, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-gamma-small
rotate: false
- xy: 3613, 112
+ xy: 3289, 135
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-gamma-tiny
rotate: false
- xy: 1331, 76
+ xy: 3489, 319
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-gamma-xlarge
rotate: false
- xy: 3509, 410
+ xy: 3659, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-horizon-large
rotate: false
- xy: 1153, 242
+ xy: 2581, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-horizon-medium
rotate: false
- xy: 3753, 190
+ xy: 2275, 74
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-horizon-small
rotate: false
- xy: 3639, 112
+ xy: 3315, 135
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-horizon-tiny
rotate: false
- xy: 1295, 22
+ xy: 3489, 301
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-horizon-xlarge
rotate: false
- xy: 3559, 410
+ xy: 3709, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-mace-large
rotate: false
- xy: 1153, 200
+ xy: 2581, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-mace-medium
rotate: false
- xy: 3787, 190
+ xy: 2309, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-mace-small
rotate: false
- xy: 3665, 112
+ xy: 3341, 135
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-mace-tiny
rotate: false
- xy: 1313, 40
+ xy: 3507, 319
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-mace-xlarge
rotate: false
- xy: 3609, 410
+ xy: 3759, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-mega-large
rotate: false
- xy: 1195, 242
+ xy: 2623, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-mega-medium
rotate: false
- xy: 3821, 190
+ xy: 2343, 135
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-mega-small
rotate: false
- xy: 3691, 112
+ xy: 3367, 187
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-mega-tiny
rotate: false
- xy: 1331, 58
+ xy: 3507, 301
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-mega-xlarge
rotate: false
- xy: 3659, 410
+ xy: 3809, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-minke-large
rotate: false
- xy: 1195, 200
+ xy: 2623, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-minke-medium
rotate: false
- xy: 3855, 190
+ xy: 2343, 101
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-minke-small
rotate: false
- xy: 3717, 112
+ xy: 3367, 161
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-minke-tiny
rotate: false
- xy: 1349, 76
+ xy: 3525, 319
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-minke-xlarge
rotate: false
- xy: 3709, 410
+ xy: 3859, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-mono-large
rotate: false
- xy: 1237, 242
+ xy: 2665, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-mono-medium
rotate: false
- xy: 3889, 190
+ xy: 2377, 112
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-mono-small
rotate: false
- xy: 3743, 112
+ xy: 3367, 135
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-mono-tiny
rotate: false
- xy: 1313, 22
+ xy: 3525, 301
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-mono-xlarge
rotate: false
- xy: 3759, 410
+ xy: 3909, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-nova-large
rotate: false
- xy: 1237, 200
+ xy: 2665, 287
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-nova-medium
rotate: false
- xy: 3923, 190
+ xy: 2309, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-nova-small
rotate: false
- xy: 3769, 112
+ xy: 2703, 174
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-nova-tiny
rotate: false
- xy: 1331, 40
+ xy: 3543, 319
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-nova-xlarge
rotate: false
- xy: 3809, 410
+ xy: 3959, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-poly-large
rotate: false
- xy: 1279, 242
+ xy: 2707, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-poly-medium
rotate: false
- xy: 3957, 190
+ xy: 2343, 67
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-poly-small
rotate: false
- xy: 3795, 112
+ xy: 2729, 174
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-poly-tiny
rotate: false
- xy: 1349, 58
+ xy: 3543, 301
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-poly-xlarge
rotate: false
- xy: 3859, 410
+ xy: 4009, 413
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-pulsar-large
rotate: false
- xy: 1279, 200
- size: 40, 40
- orig: 40, 40
+ xy: 2707, 294
+ size: 40, 33
+ orig: 40, 33
offset: 0, 0
index: -1
unit-pulsar-medium
rotate: false
- xy: 3991, 190
- size: 32, 32
- orig: 32, 32
+ xy: 2377, 84
+ size: 32, 26
+ orig: 32, 26
offset: 0, 0
index: -1
unit-pulsar-small
rotate: false
- xy: 3821, 112
- size: 24, 24
- orig: 24, 24
+ xy: 2755, 187
+ size: 24, 19
+ orig: 24, 19
offset: 0, 0
index: -1
unit-pulsar-tiny
rotate: false
- xy: 1331, 22
- size: 16, 16
- orig: 16, 16
+ xy: 1, 1
+ size: 16, 13
+ orig: 16, 13
offset: 0, 0
index: -1
unit-pulsar-xlarge
rotate: false
- xy: 3909, 410
- size: 48, 48
- orig: 48, 48
+ xy: 131, 5
+ size: 48, 39
+ orig: 48, 39
offset: 0, 0
index: -1
unit-quasar-large
rotate: false
- xy: 1321, 242
+ xy: 2749, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-quasar-medium
rotate: false
- xy: 3003, 164
+ xy: 1119, 33
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-quasar-small
rotate: false
- xy: 3847, 112
+ xy: 2755, 161
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-quasar-tiny
rotate: false
- xy: 1349, 40
+ xy: 3561, 319
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-quasar-xlarge
rotate: false
- xy: 3959, 410
+ xy: 3259, 377
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-risso-large
rotate: false
- xy: 1321, 200
+ xy: 2791, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-risso-medium
rotate: false
- xy: 3037, 164
+ xy: 1153, 33
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-risso-small
rotate: false
- xy: 3873, 112
+ xy: 2781, 162
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-risso-tiny
rotate: false
- xy: 1349, 22
+ xy: 3561, 301
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-risso-xlarge
rotate: false
- xy: 4009, 410
+ xy: 3309, 363
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
unit-spiroct-large
rotate: false
- xy: 1363, 242
- size: 40, 40
- orig: 40, 40
+ xy: 2539, 254
+ size: 40, 31
+ orig: 40, 31
offset: 0, 0
index: -1
unit-spiroct-medium
rotate: false
- xy: 3071, 156
- size: 32, 32
- orig: 32, 32
+ xy: 1221, 40
+ size: 31, 25
+ orig: 31, 25
offset: 0, 0
index: -1
unit-spiroct-small
rotate: false
- xy: 3899, 112
- size: 24, 24
- orig: 24, 24
+ xy: 2807, 167
+ size: 24, 19
+ orig: 24, 19
offset: 0, 0
index: -1
unit-spiroct-tiny
rotate: false
- xy: 3327, 94
- size: 16, 16
- orig: 16, 16
+ xy: 1291, 1
+ size: 15, 12
+ orig: 15, 12
offset: 0, 0
index: -1
unit-spiroct-xlarge
rotate: false
- xy: 859, 360
- size: 48, 48
- orig: 48, 48
+ xy: 181, 6
+ size: 48, 38
+ orig: 48, 38
offset: 0, 0
index: -1
unit-zenith-large
rotate: false
- xy: 1363, 200
+ xy: 2833, 329
size: 40, 40
orig: 40, 40
offset: 0, 0
index: -1
unit-zenith-medium
rotate: false
- xy: 3105, 156
+ xy: 1187, 33
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
unit-zenith-small
rotate: false
- xy: 3925, 112
+ xy: 2833, 162
size: 24, 24
orig: 24, 24
offset: 0, 0
index: -1
unit-zenith-tiny
rotate: false
- xy: 3345, 94
+ xy: 3457, 283
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
unit-zenith-xlarge
rotate: false
- xy: 859, 310
+ xy: 3359, 363
size: 48, 48
orig: 48, 48
offset: 0, 0
index: -1
white-pane
rotate: false
- xy: 1747, 255
+ xy: 1053, 174
size: 36, 27
split: 12, 12, 12, 12
orig: 36, 27
@@ -18850,14 +19046,14 @@ white-pane
index: -1
whiteui
rotate: false
- xy: 1767, 182
+ xy: 845, 366
size: 3, 3
orig: 3, 3
offset: 0, 0
index: -1
window-empty
rotate: false
- xy: 4029, 229
+ xy: 2411, 83
size: 27, 61
split: 4, 4, 2, 2
orig: 27, 61
diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png
index b163e6076d..56013f318c 100644
Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ
diff --git a/core/assets/sprites/sprites2.png b/core/assets/sprites/sprites2.png
index f2d62c3ad1..88622e74d9 100644
Binary files a/core/assets/sprites/sprites2.png and b/core/assets/sprites/sprites2.png differ
diff --git a/core/assets/sprites/sprites4.png b/core/assets/sprites/sprites4.png
index c3009b673b..1f61b9736f 100644
Binary files a/core/assets/sprites/sprites4.png and b/core/assets/sprites/sprites4.png differ
diff --git a/core/assets/sprites/sprites5.png b/core/assets/sprites/sprites5.png
index 49b9b1cbb9..9044fadaff 100644
Binary files a/core/assets/sprites/sprites5.png and b/core/assets/sprites/sprites5.png differ
diff --git a/core/src/mindustry/ai/BaseAI.java b/core/src/mindustry/ai/BaseAI.java
index df2fc26302..83f393cc83 100644
--- a/core/src/mindustry/ai/BaseAI.java
+++ b/core/src/mindustry/ai/BaseAI.java
@@ -63,6 +63,7 @@ public class BaseAI{
int range = 150;
Position pos = randomPosition();
+
//when there are no random positions, do nothing.
if(pos == null) return;
@@ -159,7 +160,10 @@ public class BaseAI{
private void tryWalls(){
Block wall = Blocks.copperWall;
- Tile spawn = state.rules.defaultTeam.core() != null ? state.rules.defaultTeam.core().tile : data.team.core().tile;
+ Building spawnt = state.rules.defaultTeam.core() != null ? state.rules.defaultTeam.core() : data.team.core();
+ Tile spawn = spawnt == null ? null : spawnt.tile;
+
+ if(spawn == null) return;
for(int wx = lastX; wx <= lastX + lastW; wx++){
for(int wy = lastY; wy <= lastY + lastH; wy++){
diff --git a/core/src/mindustry/ai/BlockIndexer.java b/core/src/mindustry/ai/BlockIndexer.java
index 5931068c48..26ec43e74b 100644
--- a/core/src/mindustry/ai/BlockIndexer.java
+++ b/core/src/mindustry/ai/BlockIndexer.java
@@ -185,7 +185,7 @@ public class BlockIndexer{
if(other == null) continue;
- if(other.team() == team && pred.get(other) && intSet.add(other.pos())){
+ if(other.team == team && pred.get(other) && intSet.add(other.pos())){
cons.get(other);
any = true;
}
@@ -212,11 +212,11 @@ public class BlockIndexer{
}
public void notifyTileDamaged(Building entity){
- if(damagedTiles[entity.team().id] == null){
- damagedTiles[entity.team().id] = new BuildingArray();
+ if(damagedTiles[entity.team.id] == null){
+ damagedTiles[entity.team.id] = new BuildingArray();
}
- damagedTiles[entity.team().id].add(entity);
+ damagedTiles[entity.team.id].add(entity);
}
public Building findEnemyTile(Team team, float x, float y, float range, Boolf pred){
@@ -251,7 +251,7 @@ public class BlockIndexer{
if(e == null) continue;
- if(e.team() != team || !pred.get(e) || !e.block().targetable)
+ if(e.team != team || !pred.get(e) || !e.block().targetable)
continue;
float ndst = e.dst2(x, y);
@@ -390,7 +390,7 @@ public class BlockIndexer{
for(int y = quadrantY * quadrantSize; y < world.height() && y < (quadrantY + 1) * quadrantSize; y++){
Building result = world.build(x, y);
//when a targetable block is found, mark this quadrant as occupied and stop searching
- if(result != null && result.team() == team){
+ if(result != null && result.team == team){
bits.set(quadrantX, quadrantY);
break outer;
}
diff --git a/core/src/mindustry/ai/WaveSpawner.java b/core/src/mindustry/ai/WaveSpawner.java
index 9f2039284b..4ac1b4d8f8 100644
--- a/core/src/mindustry/ai/WaveSpawner.java
+++ b/core/src/mindustry/ai/WaveSpawner.java
@@ -5,11 +5,13 @@ import arc.func.*;
import arc.math.*;
import arc.struct.*;
import arc.util.*;
+import mindustry.annotations.Annotations.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.game.EventType.*;
import mindustry.game.*;
import mindustry.gen.*;
+import mindustry.type.*;
import mindustry.world.*;
import static mindustry.Vars.*;
@@ -97,7 +99,7 @@ public class WaveSpawner{
private void eachFlyerSpawn(Floatc2 cons){
for(Tile tile : spawns){
- float angle = Angles.angle(tile.x, tile.y, world.width() / 2, world.height() / 2);
+ float angle = Angles.angle(world.width() / 2, world.height() / 2, tile.x, tile.y);
float trns = Math.max(world.width(), world.height()) * Mathf.sqrt2 * tilesize;
float spawnX = Mathf.clamp(world.width() * tilesize / 2f + Angles.trnsx(angle, trns), -margin, world.width() * tilesize + margin);
@@ -127,14 +129,18 @@ public class WaveSpawner{
}
private void spawnEffect(Unit unit){
- Fx.unitSpawn.at(unit.x(), unit.y(), 0f, unit);
- Time.run(30f, () -> {
- unit.add();
- Fx.spawn.at(unit);
- });
+ Call.spawnEffect(unit.x, unit.y, unit.type());
+ Time.run(30f, unit::add);
}
private interface SpawnConsumer{
void accept(float x, float y, boolean shockwave);
}
+
+ @Remote(called = Loc.server, unreliable = true)
+ public static void spawnEffect(float x, float y, UnitType type){
+ Fx.unitSpawn.at(x, y, 0f, type);
+
+ Time.run(30f, () -> Fx.spawn.at(x, y));
+ }
}
diff --git a/core/src/mindustry/ai/formations/FormationMember.java b/core/src/mindustry/ai/formations/FormationMember.java
index 7668f3aee6..2fdf259f62 100644
--- a/core/src/mindustry/ai/formations/FormationMember.java
+++ b/core/src/mindustry/ai/formations/FormationMember.java
@@ -11,4 +11,6 @@ import arc.math.geom.*;
public interface FormationMember{
/** Returns the target location of this formation member. */
Vec3 formationPos();
+
+ float formationSize();
}
diff --git a/core/src/mindustry/ai/formations/FormationPattern.java b/core/src/mindustry/ai/formations/FormationPattern.java
index 02f6754421..5fe84bcda9 100644
--- a/core/src/mindustry/ai/formations/FormationPattern.java
+++ b/core/src/mindustry/ai/formations/FormationPattern.java
@@ -12,6 +12,8 @@ import arc.math.geom.*;
*/
public abstract class FormationPattern{
public int slots;
+ /** Spacing between members. */
+ public float spacing = 20f;
/** Returns the location of the given slot index. */
public abstract Vec3 calculateSlotLocation(Vec3 out, int slot);
diff --git a/core/src/mindustry/ai/formations/patterns/ArrowFormation.java b/core/src/mindustry/ai/formations/patterns/ArrowFormation.java
new file mode 100644
index 0000000000..e3db12d2fe
--- /dev/null
+++ b/core/src/mindustry/ai/formations/patterns/ArrowFormation.java
@@ -0,0 +1,26 @@
+package mindustry.ai.formations.patterns;
+
+import arc.math.geom.*;
+import mindustry.ai.formations.*;
+
+public class ArrowFormation extends FormationPattern{
+ //total triangular numbers
+ private static final int totalTris = 30;
+ //triangular number table
+ private static final int[] triTable = new int[totalTris];
+
+ //calculat triangular numbers
+ static{
+ int sum = 0;
+ for(int i = 0; i < totalTris; i++){
+ triTable[i] = sum;
+ sum += (i + 1);
+ }
+ }
+
+ @Override
+ public Vec3 calculateSlotLocation(Vec3 out, int slot){
+ //TODO
+ return out;
+ }
+}
diff --git a/core/src/mindustry/ai/formations/patterns/SquareFormation.java b/core/src/mindustry/ai/formations/patterns/SquareFormation.java
index 9f4b271df6..9d7ddab549 100644
--- a/core/src/mindustry/ai/formations/patterns/SquareFormation.java
+++ b/core/src/mindustry/ai/formations/patterns/SquareFormation.java
@@ -5,7 +5,6 @@ import arc.math.geom.*;
import mindustry.ai.formations.*;
public class SquareFormation extends FormationPattern{
- public float spacing = 20;
@Override
public Vec3 calculateSlotLocation(Vec3 out, int slot){
diff --git a/core/src/mindustry/ai/types/BuilderAI.java b/core/src/mindustry/ai/types/BuilderAI.java
index a606592b26..149f4ef6d0 100644
--- a/core/src/mindustry/ai/types/BuilderAI.java
+++ b/core/src/mindustry/ai/types/BuilderAI.java
@@ -1,9 +1,6 @@
package mindustry.ai.types;
-import arc.math.*;
-import arc.math.geom.*;
import arc.struct.*;
-import arc.util.*;
import mindustry.entities.units.*;
import mindustry.game.Teams.*;
import mindustry.gen.*;
@@ -22,6 +19,8 @@ public class BuilderAI extends AIController{
builder.lookAt(builder.vel().angle());
}
+ builder.updateBuilding(true);
+
//approach request if building
if(builder.buildPlan() != null){
BuildPlan req = builder.buildPlan();
@@ -63,19 +62,4 @@ public class BuilderAI extends AIController{
}
}
}
-
- protected void moveTo(Position target, float circleLength){
- vec.set(target).sub(unit);
-
- float length = circleLength <= 0.001f ? 1f : Mathf.clamp((unit.dst(target) - circleLength) / 100f, -1f, 1f);
-
- vec.setLength(unit.type().speed * Time.delta * length);
- if(length < -0.5f){
- vec.rotate(180f);
- }else if(length < 0){
- vec.setZero();
- }
-
- unit.moveAt(vec);
- }
}
diff --git a/core/src/mindustry/ai/types/FlyingAI.java b/core/src/mindustry/ai/types/FlyingAI.java
index 2a09c1403c..6f4eae425f 100644
--- a/core/src/mindustry/ai/types/FlyingAI.java
+++ b/core/src/mindustry/ai/types/FlyingAI.java
@@ -6,6 +6,8 @@ import mindustry.entities.units.*;
import mindustry.gen.*;
import mindustry.world.meta.*;
+import static mindustry.Vars.*;
+
public class FlyingAI extends AIController{
@Override
@@ -18,14 +20,23 @@ public class FlyingAI extends AIController{
unit.wobble();
}
- if(target != null && unit.hasWeapons()){
+ if(target != null && unit.hasWeapons() && command() == UnitCommand.attack){
if(unit.type().weapons.first().rotate){
- moveTo(unit.range() * 0.8f);
+ moveTo(target, unit.range() * 0.8f);
unit.lookAt(target);
}else{
attack(80f);
}
}
+
+ if(target == null && command() == UnitCommand.attack && state.rules.waves && unit.team == state.rules.defaultTeam){
+ moveTo(getClosestSpawner(), state.rules.dropZoneRadius + 120f);
+ }
+
+ if(command() == UnitCommand.rally){
+ target = targetFlag(unit.x, unit.y, BlockFlag.rally, false);
+ moveTo(target, 60f);
+ }
}
@Override
@@ -44,41 +55,6 @@ public class FlyingAI extends AIController{
//TODO clean up
- protected void circle(float circleLength){
- circle(circleLength, unit.type().speed);
- }
-
- protected void circle(float circleLength, float speed){
- if(target == null) return;
-
- vec.set(target).sub(unit);
-
- if(vec.len() < circleLength){
- vec.rotate((circleLength - vec.len()) / circleLength * 180f);
- }
-
- vec.setLength(speed * Time.delta);
-
- unit.moveAt(vec);
- }
-
- protected void moveTo(float circleLength){
- if(target == null) return;
-
- vec.set(target).sub(unit);
-
- float length = circleLength <= 0.001f ? 1f : Mathf.clamp((unit.dst(target) - circleLength) / 100f, -1f, 1f);
-
- vec.setLength(unit.type().speed * Time.delta * length);
- if(length < -0.5f){
- vec.rotate(180f);
- }else if(length < 0){
- vec.setZero();
- }
-
- unit.moveAt(vec);
- }
-
protected void attack(float circleLength){
vec.set(target).sub(unit);
diff --git a/core/src/mindustry/ai/types/FormationAI.java b/core/src/mindustry/ai/types/FormationAI.java
index 884dc2150c..9ef064cfe1 100644
--- a/core/src/mindustry/ai/types/FormationAI.java
+++ b/core/src/mindustry/ai/types/FormationAI.java
@@ -60,6 +60,15 @@ public class FormationAI extends AIController implements FormationMember{
}
}
+ @Override
+ public float formationSize(){
+ if(unit instanceof Commanderc && ((Commanderc)unit).isCommanding()){
+ //TODO return formation size
+ //eturn ((Commanderc)unit).formation().
+ }
+ return unit.hitSize * 1.7f;
+ }
+
@Override
public boolean isBeingControlled(Unit player){
return leader == player;
diff --git a/core/src/mindustry/ai/types/GroundAI.java b/core/src/mindustry/ai/types/GroundAI.java
index 4378133ef3..d7b112554e 100644
--- a/core/src/mindustry/ai/types/GroundAI.java
+++ b/core/src/mindustry/ai/types/GroundAI.java
@@ -1,37 +1,53 @@
package mindustry.ai.types;
+import arc.math.*;
import mindustry.ai.Pathfinder.*;
import mindustry.entities.*;
import mindustry.entities.units.*;
import mindustry.game.*;
import mindustry.gen.*;
import mindustry.world.*;
+import mindustry.world.meta.*;
-import static mindustry.Vars.pathfinder;
+import static mindustry.Vars.*;
public class GroundAI extends AIController{
+ //static final float commandCooldown = 60f * 10;
+ //float commandTimer = 60*3;
@Override
public void updateMovement(){
Building core = unit.closestEnemyCore();
- if(core != null){
- if(unit.within(core,unit.range() / 1.1f)){
- target = core;
+ if(core != null && unit.within(core, unit.range() / 1.1f)){
+ target = core;
+ }
+
+ if((core == null || !unit.within(core, unit.range() * 0.5f)) && command() == UnitCommand.attack){
+ boolean move = true;
+
+ if(state.rules.waves && unit.team == state.rules.defaultTeam){
+ Tile spawner = getClosestSpawner();
+ if(spawner != null && unit.within(spawner, state.rules.dropZoneRadius + 120f)) move = false;
}
- if(!unit.within(core, unit.range() * 0.5f)){
- moveToCore(FlagTarget.enemyCores);
+ if(move) moveToCore(FlagTarget.enemyCores);
+ }
+
+ if(command() == UnitCommand.rally){
+ Teamc target = targetFlag(unit.x, unit.y, BlockFlag.rally, false);
+
+ if(target != null && !unit.within(target, 70f)){
+ moveToCore(FlagTarget.rallyPoints);
}
}
- boolean rotate = false, shoot = false;
+ if(unit.type().canBoost){
+ unit.elevation = Mathf.approachDelta(unit.elevation, 0f, 0.08f);
+ }
if(!Units.invalidateTarget(target, unit, unit.range())){
- rotate = true;
- shoot = unit.within(target, unit.range());
-
if(unit.type().hasWeapons()){
unit.aimLook(Predict.intercept(unit, target, unit.type().weapons.first().bullet.speed));
}
@@ -39,13 +55,26 @@ public class GroundAI extends AIController{
unit.lookAt(unit.vel().angle());
}
- unit.controlWeapons(rotate, shoot);
+ //auto-command works but it's very buggy
+ /*
+ if(unit instanceof Commanderc){
+ Commanderc c = (Commanderc)unit;
+ //try to command when missing members
+ if(c.controlling().size <= unit.type().commandLimit/2){
+ commandTimer -= Time.delta;
+
+ if(commandTimer <= 0){
+ c.commandNearby(new SquareFormation(), u -> !(u.controller() instanceof FormationAI) && !(u instanceof Commanderc));
+ commandTimer = commandCooldown;
+ }
+ }
+ }*/
}
protected void moveToCore(FlagTarget path){
Tile tile = unit.tileOn();
if(tile == null) return;
- Tile targetTile = pathfinder.getTargetTile(tile, unit.team(), path);
+ Tile targetTile = pathfinder.getTargetTile(tile, unit.team, path);
if(tile == targetTile) return;
diff --git a/core/src/mindustry/ai/types/MinerAI.java b/core/src/mindustry/ai/types/MinerAI.java
new file mode 100644
index 0000000000..5077ad77a1
--- /dev/null
+++ b/core/src/mindustry/ai/types/MinerAI.java
@@ -0,0 +1,88 @@
+package mindustry.ai.types;
+
+import mindustry.content.*;
+import mindustry.entities.units.*;
+import mindustry.gen.*;
+import mindustry.type.*;
+import mindustry.world.*;
+
+import static mindustry.Vars.*;
+
+public class MinerAI extends AIController{
+ boolean mining = true;
+ Item targetItem;
+ Tile ore;
+
+ @Override
+ protected void updateMovement(){
+ if(unit.moving()){
+ unit.lookAt(unit.vel.angle());
+ }
+
+ if(unit.isFlying()){
+ unit.wobble();
+ }
+
+ Building core = unit.closestCore();
+
+ if(!(unit instanceof Minerc) || core == null) return;
+
+ Minerc miner = (Minerc)unit;
+
+ if(miner.mineTile() != null && !miner.mineTile().within(unit, unit.type().range)){
+ miner.mineTile(null);
+ }
+
+ if(mining){
+ targetItem = unit.team.data().mineItems.min(i -> indexer.hasOre(i) && miner.canMine(i), i -> core.items.get(i));
+
+ //core full of the target item, do nothing
+ if(targetItem != null && core.acceptStack(targetItem, 1, unit) == 0){
+ unit.clearItem();
+ return;
+ }
+
+ //if inventory is full, drop it off.
+ if(unit.stack.amount >= unit.type().itemCapacity || (targetItem != null && !unit.acceptsItem(targetItem))){
+ mining = false;
+ }else{
+ if(retarget() && targetItem != null){
+ ore = indexer.findClosestOre(unit.x, unit.y, targetItem);
+ }
+
+ if(ore != null){
+ moveTo(ore, unit.type().range / 1.5f);
+
+ if(unit.within(ore, unit.type().range)){
+ miner.mineTile(ore);
+ }
+
+ if(ore.block() != Blocks.air){
+ mining = false;
+ }
+ }
+ }
+ }else{
+ if(unit.stack.amount == 0){
+ mining = true;
+ return;
+ }
+
+ if(unit.within(core, unit.type().range)){
+ if(core.acceptStack(unit.stack.item, unit.stack.amount, unit) > 0){
+ Call.transferItemTo(unit.stack.item, unit.stack.amount, unit.x, unit.y, core);
+ }
+
+ unit.clearItem();
+ mining = true;
+ }
+
+ circle(core, unit.type().range / 1.8f);
+ }
+ }
+
+ @Override
+ protected void updateTargeting(){
+ }
+
+}
diff --git a/core/src/mindustry/ai/types/SuicideAI.java b/core/src/mindustry/ai/types/SuicideAI.java
index 354b90f8b3..275bc68204 100644
--- a/core/src/mindustry/ai/types/SuicideAI.java
+++ b/core/src/mindustry/ai/types/SuicideAI.java
@@ -39,7 +39,7 @@ public class SuicideAI extends GroundAI{
boolean blocked = Vars.world.raycast(unit.tileX(), unit.tileY(), target.tileX(), target.tileY(), (x, y) -> {
Tile tile = Vars.world.tile(x, y);
if(tile != null && tile.build == target) return false;
- if(tile != null && tile.build != null && tile.build.team() != unit.team()){
+ if(tile != null && tile.build != null && tile.build.team != unit.team()){
blockedByBlock = true;
return true;
}else{
diff --git a/core/src/mindustry/async/PhysicsProcess.java b/core/src/mindustry/async/PhysicsProcess.java
index 46946fd3de..5e8b1be923 100644
--- a/core/src/mindustry/async/PhysicsProcess.java
+++ b/core/src/mindustry/async/PhysicsProcess.java
@@ -1,6 +1,5 @@
package mindustry.async;
-import arc.*;
import arc.box2d.*;
import arc.box2d.BodyDef.*;
import arc.math.geom.*;
@@ -68,6 +67,8 @@ public class PhysicsProcess implements AsyncProcess{
PhysicRef ref = entity.physref();
if(ref.wasGround != grounded){
+ if(ref.body.getFixtureList().isEmpty()) continue;
+
//set correct filter
ref.body.getFixtureList().first().setFilterData(grounded ? ground : flying);
ref.wasGround = grounded;
@@ -96,7 +97,7 @@ public class PhysicsProcess implements AsyncProcess{
ref.lastVelocity.set(ref.velocity);
}
- physics.step(Core.graphics.getDeltaTime(), 5, 8);
+ physics.step(1f/45f, 5, 8);
//get delta vectors
for(PhysicRef ref : refs){
diff --git a/core/src/mindustry/audio/MusicControl.java b/core/src/mindustry/audio/MusicControl.java
index afb48a8d59..1b642bc7cd 100644
--- a/core/src/mindustry/audio/MusicControl.java
+++ b/core/src/mindustry/audio/MusicControl.java
@@ -19,6 +19,7 @@ public class MusicControl{
public Seq ambientMusic = Seq.with();
/** darker music, used in times of conflict */
public Seq darkMusic = Seq.with();
+
protected Music lastRandomPlayed;
protected Interval timer = new Interval();
protected @Nullable Music current;
diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java
index 4c0ffa7268..2b4da903c4 100644
--- a/core/src/mindustry/content/Blocks.java
+++ b/core/src/mindustry/content/Blocks.java
@@ -49,7 +49,7 @@ public class Blocks implements ContentList{
melter, separator, disassembler, sporePress, pulverizer, incinerator, coalCentrifuge,
//sandbox
- powerSource, powerVoid, itemSource, itemVoid, liquidSource, liquidVoid, message, illuminator,
+ powerSource, powerVoid, itemSource, itemVoid, liquidSource, liquidVoid, illuminator,
//defense
copperWall, copperWallLarge, titaniumWall, titaniumWallLarge, plastaniumWall, plastaniumWallLarge, thoriumWall, thoriumWallLarge, door, doorLarge,
@@ -77,12 +77,13 @@ public class Blocks implements ContentList{
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown, segment, parallax,
//units
+ commandCenter,
groundFactory, airFactory, navalFactory,
additiveReconstructor, multiplicativeReconstructor, exponentialReconstructor, tetrativeReconstructor,
repairPoint, resupplyPoint,
//logic
- microProcessor, logicProcessor, logicDisplay,
+ message, switchBlock, microProcessor, logicProcessor, hyperProcessor, logicDisplay, memoryCell,
//campaign
launchPad, launchPadLarge,
@@ -138,7 +139,7 @@ public class Blocks implements ContentList{
speedMultiplier = 0.2f;
variants = 0;
liquidDrop = Liquids.water;
- liquidMultiplier = 2f;
+ liquidMultiplier = 1.5f;
isLiquid = true;
status = StatusEffects.wet;
statusDuration = 120f;
@@ -269,7 +270,7 @@ public class Blocks implements ContentList{
}};
grass = new Floor("grass"){{
-
+ attributes.set(Attribute.water, 0.1f);
}};
salt = new Floor("salt"){{
@@ -893,10 +894,10 @@ public class Blocks implements ContentList{
requirements(Category.effect, with(Items.lead, 25, Items.silicon, 12));
hasShadow = false;
health = 40;
- damage = 11;
+ damage = 23;
tileDamage = 7f;
length = 10;
- tendrils = 5;
+ tendrils = 4;
}};
//endregion
@@ -907,6 +908,7 @@ public class Blocks implements ContentList{
health = 45;
speed = 0.03f;
displayedSpeed = 4.2f;
+ buildCostMultiplier = 2f;
}};
titaniumConveyor = new Conveyor("titanium-conveyor"){{
@@ -994,12 +996,14 @@ public class Blocks implements ContentList{
consumes.power(1.75f);
}};
- payloadConveyor = new PayloadConveyor("mass-conveyor"){{
- requirements(Category.distribution, with(Items.copper, 1));
+ payloadConveyor = new PayloadConveyor("payload-conveyor"){{
+ requirements(Category.distribution, with(Items.graphite, 10, Items.copper, 20));
+ canOverdrive = false;
}};
payloadRouter = new PayloadRouter("payload-router"){{
- requirements(Category.distribution, with(Items.copper, 1));
+ requirements(Category.distribution, with(Items.graphite, 15, Items.copper, 20));
+ canOverdrive = false;
}};
//endregion
@@ -1309,18 +1313,18 @@ public class Blocks implements ContentList{
itemCapacity = 9000;
size = 4;
- unitCapModifier = 16;
+ unitCapModifier = 14;
}};
coreNucleus = new CoreBlock("core-nucleus"){{
- requirements(Category.effect, with(Items.copper, 1000, Items.lead, 1000));
+ requirements(Category.effect, with(Items.copper, 8000, Items.lead, 8000, Items.silicon, 5000, Items.thorium, 4000));
unitType = UnitTypes.gamma;
health = 4000;
itemCapacity = 13000;
size = 5;
- unitCapModifier = 24;
+ unitCapModifier = 20;
}};
vault = new StorageBlock("vault"){{
@@ -1337,7 +1341,7 @@ public class Blocks implements ContentList{
unloader = new Unloader("unloader"){{
requirements(Category.effect, with(Items.titanium, 25, Items.silicon, 30));
- speed = 7f;
+ speed = 6f;
}};
//endregion
@@ -1451,7 +1455,7 @@ public class Blocks implements ContentList{
recoilAmount = 2f;
reloadTime = 90f;
cooldown = 0.03f;
- powerUse = 2.5f;
+ powerUse = 6f;
shootShake = 2f;
shootEffect = Fx.lancerLaserShoot;
smokeEffect = Fx.none;
@@ -1484,7 +1488,7 @@ public class Blocks implements ContentList{
reloadTime = 35f;
shootCone = 40f;
rotatespeed = 8f;
- powerUse = 1.5f;
+ powerUse = 4f;
targetAir = false;
range = 90f;
shootEffect = Fx.lightningShoot;
@@ -1500,8 +1504,8 @@ public class Blocks implements ContentList{
hasPower = true;
size = 2;
- force = 2.5f;
- scaledForce = 5f;
+ force = 3f;
+ scaledForce = 5.5f;
range = 170f;
damage = 0.08f;
health = 160 * size * size;
@@ -1554,14 +1558,14 @@ public class Blocks implements ContentList{
}};
segment = new PointDefenseTurret("segment"){{
- requirements(Category.turret, with(Items.silicon, 130, Items.thorium, 80, Items.phasefabric, 50));
+ requirements(Category.turret, with(Items.silicon, 130, Items.thorium, 80, Items.phasefabric, 25));
hasPower = true;
consumes.power(3f);
size = 2;
shootLength = 5f;
bulletDamage = 12f;
- reloadTime = 25f;
+ reloadTime = 20f;
health = 190 * size * size;
}};
@@ -1697,11 +1701,17 @@ public class Blocks implements ContentList{
//endregion
//region units
+ commandCenter = new CommandCenter("command-center"){{
+ requirements(Category.units, ItemStack.with(Items.copper, 200, Items.lead, 250, Items.silicon, 250, Items.graphite, 100));
+ size = 2;
+ health = size * size * 55;
+ }};
+
groundFactory = new UnitFactory("ground-factory"){{
requirements(Category.units, with(Items.copper, 50, Items.lead, 120, Items.silicon, 80));
plans = new UnitPlan[]{
- new UnitPlan(UnitTypes.dagger, 60f * 20, with(Items.silicon, 10, Items.lead, 10)),
- new UnitPlan(UnitTypes.crawler, 60f * 15, with(Items.silicon, 10, Items.coal, 20)),
+ new UnitPlan(UnitTypes.dagger, 60f * 15, with(Items.silicon, 10, Items.lead, 10)),
+ new UnitPlan(UnitTypes.crawler, 60f * 12, with(Items.silicon, 10, Items.coal, 20)),
new UnitPlan(UnitTypes.nova, 60f * 40, with(Items.silicon, 30, Items.lead, 20, Items.titanium, 20)),
};
size = 3;
@@ -1709,7 +1719,7 @@ public class Blocks implements ContentList{
}};
airFactory = new UnitFactory("air-factory"){{
- requirements(Category.units, with(Items.copper, 30, Items.lead, 70));
+ requirements(Category.units, with(Items.copper, 60, Items.lead, 70));
plans = new UnitPlan[]{
new UnitPlan(UnitTypes.flare, 60f * 15, with(Items.silicon, 15)),
new UnitPlan(UnitTypes.mono, 60f * 35, with(Items.silicon, 30, Items.lead, 15)),
@@ -1719,7 +1729,7 @@ public class Blocks implements ContentList{
}};
navalFactory = new UnitFactory("naval-factory"){{
- requirements(Category.units, with(Items.copper, 30, Items.lead, 70));
+ requirements(Category.units, with(Items.copper, 150, Items.lead, 130, Items.metaglass, 120));
plans = new UnitPlan[]{
new UnitPlan(UnitTypes.risso, 60f * 30f, with(Items.silicon, 20, Items.metaglass, 25)),
};
@@ -1767,11 +1777,11 @@ public class Blocks implements ContentList{
}};
exponentialReconstructor = new Reconstructor("exponential-reconstructor"){{
- requirements(Category.units, with(Items.lead, 2000, Items.silicon, 750, Items.titanium, 950, Items.thorium, 450, Items.plastanium, 350, Items.phasefabric, 250));
+ requirements(Category.units, with(Items.lead, 2000, Items.silicon, 750, Items.titanium, 950, Items.thorium, 450, Items.plastanium, 350, Items.phasefabric, 450));
size = 7;
- consumes.power(12f);
- consumes.items(with(Items.silicon, 250, Items.titanium, 500, Items.plastanium, 400));
+ consumes.power(13f);
+ consumes.items(with(Items.silicon, 450, Items.titanium, 550, Items.plastanium, 550));
consumes.liquid(Liquids.cryofluid, 1f);
constructTime = 60f * 60f * 1.5f;
@@ -1779,15 +1789,16 @@ public class Blocks implements ContentList{
upgrades = new UnitType[][]{
{UnitTypes.zenith, UnitTypes.antumbra},
+ {UnitTypes.spiroct, UnitTypes.arkyid},
};
}};
tetrativeReconstructor = new Reconstructor("tetrative-reconstructor"){{
- requirements(Category.units, with(Items.lead, 4000, Items.silicon, 1500, Items.thorium, 500, Items.plastanium, 50, Items.phasefabric, 600, Items.surgealloy, 500));
+ requirements(Category.units, with(Items.lead, 4000, Items.silicon, 1500, Items.thorium, 500, Items.plastanium, 450, Items.phasefabric, 600, Items.surgealloy, 500));
size = 9;
consumes.power(25f);
- consumes.items(with(Items.silicon, 350, Items.plastanium, 450, Items.surgealloy, 400, Items.phasefabric, 150));
+ consumes.items(with(Items.silicon, 350, Items.plastanium, 550, Items.surgealloy, 350, Items.phasefabric, 150));
consumes.liquid(Liquids.cryofluid, 3f);
constructTime = 60f * 60f * 4;
@@ -1847,10 +1858,6 @@ public class Blocks implements ContentList{
alwaysUnlocked = true;
}};
- message = new MessageBlock("message"){{
- requirements(Category.effect, with(Items.graphite, 5));
- }};
-
illuminator = new LightBlock("illuminator"){{
requirements(Category.effect, BuildVisibility.lightingOnly, with(Items.graphite, 12, Items.silicon, 8));
brightness = 0.67f;
@@ -1864,7 +1871,6 @@ public class Blocks implements ContentList{
//looked up by name, no ref needed
new LegacyMechPad("legacy-mech-pad");
new LegacyUnitFactory("legacy-unit-factory");
- new LegacyCommandCenter("legacy-command-center");
//endregion
//region campaign
@@ -1891,32 +1897,59 @@ public class Blocks implements ContentList{
//endregion campaign
//region logic
+ message = new MessageBlock("message"){{
+ requirements(Category.logic, with(Items.graphite, 5));
+ }};
+
+ switchBlock = new SwitchBlock("switch"){{
+ requirements(Category.logic, with(Items.graphite, 5));
+ }};
+
microProcessor = new LogicBlock("micro-processor"){{
- requirements(Category.effect, with(Items.copper, 30, Items.lead, 50, Items.silicon, 30));
+ requirements(Category.logic, with(Items.copper, 80, Items.lead, 50, Items.silicon, 50));
instructionsPerTick = 2;
- memory = 32;
size = 1;
}};
logicProcessor = new LogicBlock("logic-processor"){{
- requirements(Category.effect, with(Items.copper, 200, Items.lead, 120, Items.silicon, 100, Items.metaglass, 50));
+ requirements(Category.logic, with(Items.lead, 320, Items.silicon, 100, Items.graphite, 60, Items.thorium, 50));
instructionsPerTick = 5;
- memory = 128;
+
+ range = 8 * 20;
size = 2;
}};
- logicDisplay = new LogicDisplay("logic-display"){{
- requirements(Category.effect, with(Items.copper, 200, Items.lead, 120, Items.silicon, 100, Items.metaglass, 50));
+ hyperProcessor = new LogicBlock("hyper-processor"){{
+ requirements(Category.logic, with(Items.lead, 450, Items.silicon, 150, Items.thorium, 75, Items.surgealloy, 50));
- displaySize = 64;
+ consumes.liquid(Liquids.cryofluid, 0.08f);
+ hasLiquids = true;
+
+ instructionsPerTick = 25;
+
+ range = 8 * 40;
size = 3;
}};
+ logicDisplay = new LogicDisplay("logic-display"){{
+ requirements(Category.logic, with(Items.copper, 200, Items.lead, 120, Items.silicon, 100, Items.metaglass, 50));
+
+ displaySize = 80;
+
+ size = 3;
+ }};
+
+ memoryCell = new MemoryBlock("memory-cell"){{
+ requirements(Category.logic, with(Items.graphite, 40, Items.silicon, 40));
+
+ memoryCapacity = 64;
+ }};
+
//endregion
//region experimental
diff --git a/core/src/mindustry/content/Bullets.java b/core/src/mindustry/content/Bullets.java
index e4e02792ea..cc6e1f10a0 100644
--- a/core/src/mindustry/content/Bullets.java
+++ b/core/src/mindustry/content/Bullets.java
@@ -163,7 +163,7 @@ public class Bullets implements ContentList{
width = 6f;
height = 8f;
hitEffect = Fx.flakExplosion;
- splashDamage = 20f;
+ splashDamage = 22f;
splashDamageRadius = 20f;
fragBullet = flakGlassFrag;
fragBullets = 5;
@@ -240,7 +240,7 @@ public class Bullets implements ContentList{
explodeRange = 20f;
}};
- missileExplosive = new MissileBulletType(2.7f, 10){{
+ missileExplosive = new MissileBulletType(3.7f, 10){{
width = 8f;
height = 8f;
shrinkY = 0f;
@@ -248,7 +248,6 @@ public class Bullets implements ContentList{
splashDamageRadius = 30f;
splashDamage = 30f;
ammoMultiplier = 4f;
- lifetime = 100f;
hitEffect = Fx.blastExplosion;
despawnEffect = Fx.blastExplosion;
@@ -256,7 +255,7 @@ public class Bullets implements ContentList{
statusDuration = 60f;
}};
- missileIncendiary = new MissileBulletType(2.9f, 12){{
+ missileIncendiary = new MissileBulletType(3.7f, 12){{
frontColor = Pal.lightishOrange;
backColor = Pal.lightOrange;
width = 7f;
@@ -266,23 +265,21 @@ public class Bullets implements ContentList{
homingPower = 0.08f;
splashDamageRadius = 20f;
splashDamage = 20f;
- lifetime = 100f;
hitEffect = Fx.blastExplosion;
status = StatusEffects.burning;
}};
- missileSurge = new MissileBulletType(4.4f, 20){{
+ missileSurge = new MissileBulletType(3.7f, 20){{
width = 8f;
height = 8f;
shrinkY = 0f;
drag = -0.01f;
splashDamageRadius = 28f;
splashDamage = 40f;
- lifetime = 100f;
hitEffect = Fx.blastExplosion;
despawnEffect = Fx.blastExplosion;
lightning = 2;
- lightningLength = 14;
+ lightningLength = 10;
}};
standardCopper = new BasicBulletType(2.5f, 9){{
diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java
index b1d620141d..0c7a05c557 100644
--- a/core/src/mindustry/content/Fx.java
+++ b/core/src/mindustry/content/Fx.java
@@ -26,15 +26,17 @@ public class Fx{
none = new Effect(0, 0f, e -> {}),
unitSpawn = new Effect(30f, e -> {
- if(!(e.data instanceof Unit)) return;
+ if(!(e.data instanceof UnitType)) return;
alpha(e.fin());
float scl = 1f + e.fout() * 2f;
- Unit unit = e.data();
- rect(unit.type().region, e.x, e.y,
- unit.type().region.getWidth() * Draw.scl * scl, unit.type().region.getHeight() * Draw.scl * scl, 180f);
+ UnitType unit = e.data();
+ TextureRegion region = unit.icon(Cicon.full);
+
+ rect(region, e.x, e.y,
+ region.getWidth() * Draw.scl * scl, region.getHeight() * Draw.scl * scl, 180f);
}),
@@ -102,7 +104,7 @@ public class Fx{
Tmp.v1.set(e.x, e.y).interpolate(Tmp.v2.set(to), e.fin(), Interp.pow3)
.add(Tmp.v2.sub(e.x, e.y).nor().rotate90(1).scl(Mathf.randomSeedRange(e.id, 1f) * e.fslope() * 10f));
float x = Tmp.v1.x, y = Tmp.v1.y;
- float size = Math.min(0.8f + e.rotation / 5f, 2);
+ float size = 1f;
stroke(e.fslope() * 2f * size, Pal.accent);
Lines.circle(x, y, e.fslope() * 2f * size);
@@ -369,7 +371,7 @@ public class Fx{
hitLiquid = new Effect(16, e -> {
color(e.color);
- randLenVectors(e.id, 5, e.fin() * 15f, e.rotation + 180f, 60f, (x, y) -> {
+ randLenVectors(e.id, 5, e.fin() * 15f, e.rotation, 60f, (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fout() * 2f);
});
@@ -512,6 +514,29 @@ public class Fx{
}),
+ sapExplosion = new Effect(25, e -> {
+
+ color(Pal.sapBullet);
+ e.scaled(6, i -> {
+ stroke(3f * i.fout());
+ Lines.circle(e.x, e.y, 3f + i.fin() * 80f);
+ });
+
+ color(Color.gray);
+
+ randLenVectors(e.id, 9, 2f + 70 * e.finpow(), (x, y) -> {
+ Fill.circle(e.x + x, e.y + y, e.fout() * 4f + 0.5f);
+ });
+
+ color(Pal.sapBulletBack);
+ stroke(1f * e.fout());
+
+ randLenVectors(e.id + 1, 8, 1f + 60f * e.finpow(), (x, y) -> {
+ lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
+ });
+
+ }),
+
massiveExplosion = new Effect(30, e -> {
color(Pal.missileYellow);
@@ -670,6 +695,12 @@ public class Fx{
}),
+ sporeSlowed = new Effect(40f, e -> {
+ color(Pal.spore);
+
+ Fill.circle(e.x, e.y, e.fslope() * 1.1f);
+ }),
+
oily = new Effect(42f, e -> {
color(Liquids.oil.color);
diff --git a/core/src/mindustry/content/StatusEffects.java b/core/src/mindustry/content/StatusEffects.java
index 8e6585f446..65814e5cb1 100644
--- a/core/src/mindustry/content/StatusEffects.java
+++ b/core/src/mindustry/content/StatusEffects.java
@@ -9,7 +9,7 @@ import mindustry.type.StatusEffect;
import static mindustry.Vars.*;
public class StatusEffects implements ContentList{
- public static StatusEffect none, burning, freezing, wet, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss;
+ public static StatusEffect none, burning, freezing, wet, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed;
@Override
public void load(){
@@ -17,7 +17,7 @@ public class StatusEffects implements ContentList{
none = new StatusEffect("none");
burning = new StatusEffect("burning"){{
- damage = 0.08f; //over 10 seconds, this would be 48 damage
+ damage = 0.12f; //over 8 seconds, this would be 60 damage
effect = Fx.burning;
init(() -> {
@@ -82,6 +82,12 @@ public class StatusEffects implements ContentList{
effectChance = 0.1f;
}};
+ sporeSlowed = new StatusEffect("spore-slowed"){{
+ speedMultiplier = 0.8f;
+ effect = Fx.sapped;
+ effectChance = 0.04f;
+ }};
+
tarred = new StatusEffect("tarred"){{
speedMultiplier = 0.6f;
effect = Fx.oily;
diff --git a/core/src/mindustry/content/TechTree.java b/core/src/mindustry/content/TechTree.java
index 2a92e9ad0f..e7d21444a0 100644
--- a/core/src/mindustry/content/TechTree.java
+++ b/core/src/mindustry/content/TechTree.java
@@ -17,7 +17,7 @@ import static mindustry.content.UnitTypes.*;
import static mindustry.type.ItemStack.*;
public class TechTree implements ContentList{
- private static ObjectMap map = new ObjectMap<>();
+ static ObjectMap map = new ObjectMap<>();
public static Seq all;
public static TechNode root;
@@ -38,7 +38,6 @@ public class TechTree implements ContentList{
node(distributor);
node(sorter, () -> {
node(invertedSorter);
- node(message);
node(overflowGate, () -> {
node(underflowGate);
});
@@ -204,6 +203,26 @@ public class TechTree implements ContentList{
});
});
});
+
+ node(microProcessor, () -> {
+ node(switchBlock, () -> {
+ node(message, () -> {
+ node(logicDisplay, () -> {
+
+ });
+
+ node(memoryCell, () -> {
+
+ });
+ });
+
+ node(logicProcessor, () -> {
+ node(hyperProcessor, () -> {
+
+ });
+ });
+ });
+ });
});
});
});
@@ -340,6 +359,10 @@ public class TechTree implements ContentList{
});
node(groundFactory, () -> {
+ node(commandCenter, () -> {
+
+ });
+
node(dagger, () -> {
node(mace, () -> {
node(fortress, () -> {
@@ -544,7 +567,7 @@ public class TechTree implements ContentList{
}
public static class TechNode{
- private static TechNode context;
+ static TechNode context;
/** Depth in tech tree. */
public int depth;
diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java
index 697dde82b3..fb1ffcaea3 100644
--- a/core/src/mindustry/content/UnitTypes.java
+++ b/core/src/mindustry/content/UnitTypes.java
@@ -27,7 +27,7 @@ public class UnitTypes implements ContentList{
public static @EntityDef({Unitc.class, Legsc.class}) UnitType atrax;
//legs + building
- public static @EntityDef({Unitc.class, Legsc.class, Builderc.class}) UnitType spiroct, arkyid;
+ public static @EntityDef({Unitc.class, Legsc.class, Builderc.class}) UnitType spiroct, arkyid, toxopid;
//air (no special traits)
public static @EntityDef({Unitc.class}) UnitType flare, eclipse, horizon, zenith, antumbra;
@@ -42,7 +42,7 @@ public class UnitTypes implements ContentList{
public static @EntityDef({Unitc.class, Builderc.class, Minerc.class, Payloadc.class}) UnitType mega;
//air + building + mining
- public static @EntityDef({Unitc.class, Builderc.class, Minerc.class, Trailc.class}) UnitType alpha, beta, gamma;
+ public static @EntityDef({Unitc.class, Builderc.class, Minerc.class}) UnitType alpha, beta, gamma;
//water
public static @EntityDef({Unitc.class, WaterMovec.class, Commanderc.class}) UnitType risso, minke, bryde;
@@ -165,7 +165,7 @@ public class UnitTypes implements ContentList{
boostMultiplier = 1.5f;
speed = 0.48f;
hitsize = 10f;
- health = 300f;
+ health = 320f;
buildSpeed = 0.9f;
armor = 4f;
@@ -173,7 +173,7 @@ public class UnitTypes implements ContentList{
mineSpeed = 5f;
commandLimit = 8;
- abilities.add(new ShieldFieldAbility(15f, 30f, 60f * 5, 60f));
+ abilities.add(new ShieldFieldAbility(20f, 40f, 60f * 5, 60f));
weapons.add(new Weapon("heal-shotgun-weapon"){{
x = 5f;
@@ -193,7 +193,7 @@ public class UnitTypes implements ContentList{
bullet = new LightningBulletType(){{
lightningColor = hitColor = Pal.heal;
- damage = 11f;
+ damage = 15f;
lightningLength = 7;
lightningLengthRand = 7;
shootEffect = Fx.shootHeal;
@@ -206,7 +206,7 @@ public class UnitTypes implements ContentList{
hitsize = 12f;
boostMultiplier = 2f;
itemCapacity = 80;
- health = 640f;
+ health = 650f;
buildSpeed = 1.7f;
canBoost = true;
armor = 9f;
@@ -219,7 +219,7 @@ public class UnitTypes implements ContentList{
mineSpeed = 7f;
drawShields = false;
- abilities.add(new ForceFieldAbility(60f, 0.12f, 200f, 60f * 8));
+ abilities.add(new ForceFieldAbility(60f, 0.2f, 300f, 60f * 7));
weapons.add(new Weapon("beam-weapon"){{
shake = 2f;
@@ -230,7 +230,7 @@ public class UnitTypes implements ContentList{
shootSound = Sounds.laser;
bullet = new LaserBulletType(){{
- damage = 27f;
+ damage = 30f;
recoil = 1f;
sideAngle = 45f;
sideWidth = 1f;
@@ -316,7 +316,7 @@ public class UnitTypes implements ContentList{
drag = 0.4f;
hitsize = 12f;
rotateSpeed = 3f;
- health = 600;
+ health = 760;
immunities = ObjectSet.with(StatusEffects.burning, StatusEffects.melting);
legCount = 6;
legLength = 13f;
@@ -352,7 +352,7 @@ public class UnitTypes implements ContentList{
despawnEffect = Fx.none;
width = 0.54f;
lifetime = 35f;
- knockback = -1.2f;
+ knockback = -1.24f;
}};
}});
@@ -365,62 +365,109 @@ public class UnitTypes implements ContentList{
bullet = new SapBulletType(){{
sapStrength = 0.65f;
length = 40f;
- damage = 12;
+ damage = 13;
shootEffect = Fx.shootSmall;
hitColor = color = Color.valueOf("bf92f9");
despawnEffect = Fx.none;
width = 0.4f;
lifetime = 25f;
- knockback = -0.6f;
+ knockback = -0.65f;
}};
}});
}};
- //TODO implement
arkyid = new UnitType("arkyid"){{
drag = 0.1f;
speed = 0.5f;
- hitsize = 9f;
- health = 140;
+ hitsize = 21f;
+ health = 7600;
+ armor = 6f;
legCount = 6;
legMoveSpace = 1f;
legPairOffset = 3;
- legLength = 34f;
- rotateShooting = false;
+ legLength = 30f;
legExtension = -15;
legBaseOffset = 10f;
- landShake = 2f;
+ landShake = 1f;
legSpeed = 0.1f;
legLengthScl = 1f;
rippleScale = 2f;
legSpeed = 0.2f;
+
legSplashDamage = 32;
legSplashRange = 30;
+ hovering = true;
+ allowLegStep = true;
+ visualElevation = 0.4f;
+ groundLayer = Layer.legUnit;
+
+ BulletType sapper = new SapBulletType(){{
+ sapStrength = 0.8f;
+ length = 55f;
+ damage = 34;
+ shootEffect = Fx.shootSmall;
+ hitColor = color = Color.valueOf("bf92f9");
+ despawnEffect = Fx.none;
+ width = 0.55f;
+ lifetime = 30f;
+ knockback = -1f;
+ }};
+
weapons.add(
- new Weapon("missiles-mount"){{
- reload = 20f;
+ new Weapon("spiroct-weapon"){{
+ reload = 9f;
x = 4f;
+ y = 8f;
rotate = true;
- shake = 1f;
- bullet = new MissileBulletType(2.7f, 12, "missile"){{
- width = 8f;
- height = 8f;
- shrinkY = 0f;
- drag = -0.003f;
- homingRange = 60f;
- keepVelocity = false;
- splashDamageRadius = 25f;
- splashDamage = 10f;
- lifetime = 120f;
- trailColor = Color.gray;
- backColor = Pal.bulletYellowBack;
- frontColor = Pal.bulletYellow;
- hitEffect = Fx.blastExplosion;
- despawnEffect = Fx.blastExplosion;
- weaveScale = 8f;
- weaveMag = 2f;
+ bullet = sapper;
+ }},
+ new Weapon("spiroct-weapon"){{
+ reload = 15f;
+ x = 9f;
+ y = 6f;
+ rotate = true;
+ bullet = sapper;
+ }},
+ new Weapon("spiroct-weapon"){{
+ reload = 23f;
+ x = 14f;
+ y = 0f;
+ rotate = true;
+ bullet = sapper;
+ }},
+ new Weapon("large-purple-mount"){{
+ y = -7f;
+ x = 9f;
+ shootY = 7f;
+ reload = 45;
+ shake = 3f;
+ rotateSpeed = 2f;
+ ejectEffect = Fx.shellEjectSmall;
+ shootSound = Sounds.shootBig;
+ rotate = true;
+ occlusion = 8f;
+ recoil = 3f;
+
+ bullet = new ArtilleryBulletType(2f, 12){{
+ hitEffect = Fx.sapExplosion;
+ knockback = 0.8f;
+ lifetime = 70f;
+ width = height = 19f;
+ collidesTiles = false;
+ ammoMultiplier = 4f;
+ splashDamageRadius = 95f;
+ splashDamage = 55f;
+ backColor = Pal.sapBulletBack;
+ frontColor = lightningColor = Pal.sapBullet;
+ lightning = 3;
+ lightningLength = 10;
+ smokeEffect = Fx.shootBigSmoke2;
+ shake = 5f;
+
+ status = StatusEffects.sapped;
+ statusDuration = 60f * 10;
}};
}});
}};
@@ -448,7 +495,7 @@ public class UnitTypes implements ContentList{
}};
horizon = new UnitType("horizon"){{
- health = 300;
+ health = 350;
speed = 2f;
accel = 0.08f;
drag = 0.016f;
@@ -457,19 +504,19 @@ public class UnitTypes implements ContentList{
engineOffset = 7.8f;
range = 140f;
faceTarget = false;
- armor = 2f;
+ armor = 4f;
weapons.add(new Weapon(){{
minShootVelocity = 0.75f;
x = 3f;
shootY = 0f;
- reload = 12f;
+ reload = 11f;
shootCone = 180f;
ejectEffect = Fx.none;
inaccuracy = 15f;
ignoreRotation = true;
shootSound = Sounds.none;
- bullet = new BombBulletType(23f, 25f){{
+ bullet = new BombBulletType(28f, 25f){{
width = 10f;
height = 14f;
hitEffect = Fx.flakExplosion;
@@ -483,21 +530,21 @@ public class UnitTypes implements ContentList{
}};
zenith = new UnitType("zenith"){{
- health = 1000;
- speed = 1.9f;
+ health = 700;
+ speed = 1.7f;
accel = 0.04f;
drag = 0.016f;
flying = true;
range = 140f;
hitsize = 18f;
lowAltitude = true;
- armor = 6f;
+ armor = 5f;
engineOffset = 12f;
engineSize = 3f;
weapons.add(new Weapon("zenith-missiles"){{
- reload = 32f;
+ reload = 40f;
x = 7f;
rotate = true;
shake = 1f;
@@ -533,7 +580,7 @@ public class UnitTypes implements ContentList{
rotateSpeed = 1.9f;
flying = true;
lowAltitude = true;
- health = 9000;
+ health = 7000;
armor = 9f;
engineOffset = 21;
engineSize = 5.3f;
@@ -544,10 +591,10 @@ public class UnitTypes implements ContentList{
height = 8f;
shrinkY = 0f;
drag = -0.01f;
- splashDamageRadius = 40f;
- splashDamage = 40f;
+ splashDamageRadius = 20f;
+ splashDamage = 30f;
ammoMultiplier = 4f;
- lifetime = 80f;
+ lifetime = 50f;
hitEffect = Fx.blastExplosion;
despawnEffect = Fx.blastExplosion;
@@ -581,17 +628,18 @@ public class UnitTypes implements ContentList{
new Weapon("large-bullet-mount"){{
y = 2f;
x = 10f;
- shootY = 12f;
- reload = 10;
+ shootY = 10f;
+ reload = 12;
shake = 1f;
rotateSpeed = 2f;
ejectEffect = Fx.shellEjectSmall;
shootSound = Sounds.shootBig;
rotate = true;
occlusion = 8f;
- bullet = new BasicBulletType(7f, 60){{
+ bullet = new BasicBulletType(7f, 50){{
width = 12f;
height = 18f;
+ lifetime = 25f;
shootEffect = Fx.shootBig;
}};
}}
@@ -612,6 +660,18 @@ public class UnitTypes implements ContentList{
destructibleWreck = false;
armor = 13f;
+ BulletType fragBullet = new FlakBulletType(4f, 5){{
+ shootEffect = Fx.shootBig;
+ ammoMultiplier = 4f;
+ splashDamage = 42f;
+ splashDamageRadius = 25f;
+ collidesGround = true;
+ lifetime = 38f;
+
+ status = StatusEffects.blasted;
+ statusDuration = 60f;
+ }};
+
weapons.add(
new Weapon("large-laser-mount"){{
shake = 4f;
@@ -619,14 +679,14 @@ public class UnitTypes implements ContentList{
x = 18f;
y = 5f;
rotateSpeed = 2f;
- reload = 50f;
+ reload = 45f;
recoil = 4f;
shootSound = Sounds.laser;
occlusion = 20f;
rotate = true;
bullet = new LaserBulletType(){{
- damage = 75f;
+ damage = 90f;
sideAngle = 20f;
sideWidth = 1.5f;
sideLength = 80f;
@@ -636,50 +696,29 @@ public class UnitTypes implements ContentList{
colors = new Color[]{Color.valueOf("ec7458aa"), Color.valueOf("ff9c5a"), Color.white};
}};
}},
- new Weapon("missiles-mount"){{
+ new Weapon("large-artillery"){{
x = 11f;
y = 27f;
rotateSpeed = 2f;
- reload = 4f;
+ reload = 9f;
shootSound = Sounds.flame;
occlusion = 7f;
rotate = true;
recoil = 0.5f;
- bullet = Bullets.pyraFlame;
+ bullet = fragBullet;
}},
new Weapon("large-artillery"){{
y = -13f;
x = 20f;
- reload = 18f;
+ reload = 12f;
ejectEffect = Fx.shellEjectSmall;
rotateSpeed = 7f;
shake = 1f;
shootSound = Sounds.shoot;
rotate = true;
occlusion = 12f;
- bullet = new ArtilleryBulletType(3.2f, 12){{
- trailMult = 0.8f;
- hitEffect = Fx.massiveExplosion;
- knockback = 1.5f;
- lifetime = 140f;
- height = 12f;
- width = 12f;
- collidesTiles = false;
- ammoMultiplier = 4f;
- splashDamageRadius = 60f;
- splashDamage = 60f;
- backColor = Pal.missileYellowBack;
- frontColor = Pal.missileYellow;
- trailEffect = Fx.artilleryTrail;
- trailSize = 6f;
- hitShake = 4f;
-
- shootEffect = Fx.shootBig2;
-
- status = StatusEffects.blasted;
- statusDuration = 60f;
- }};
+ bullet = fragBullet;
}});
}};
@@ -687,13 +726,17 @@ public class UnitTypes implements ContentList{
//region air support
mono = new UnitType("mono"){{
+ defaultController = MinerAI::new;
+
flying = true;
- drag = 0.05f;
- accel = 0.15f;
- speed = 2f;
+ drag = 0.06f;
+ accel = 0.12f;
+ speed = 1.1f;
health = 100;
engineSize = 1.8f;
engineOffset = 5.7f;
+ itemCapacity = 30;
+ range = 50f;
mineTier = 1;
mineSpeed = 2.5f;
@@ -704,7 +747,7 @@ public class UnitTypes implements ContentList{
flying = true;
drag = 0.05f;
- speed = 2f;
+ speed = 1.9f;
rotateSpeed = 15f;
accel = 0.1f;
range = 70f;
@@ -723,7 +766,7 @@ public class UnitTypes implements ContentList{
weapons.add(new Weapon("heal-weapon-mount"){{
y = -2.5f;
x = 3.5f;
- reload = 34f;
+ reload = 30f;
ejectEffect = Fx.none;
recoil = 2f;
shootSound = Sounds.pew;
@@ -732,11 +775,11 @@ public class UnitTypes implements ContentList{
inaccuracy = 15f;
alternate = true;
- bullet = new MissileBulletType(4f, 10){{
+ bullet = new MissileBulletType(4f, 12){{
homingPower = 0.08f;
weaveMag = 4;
weaveScale = 4;
- lifetime = 50f;
+ lifetime = 56f;
keepVelocity = false;
shootEffect = Fx.shootHeal;
smokeEffect = Fx.hitLaser;
@@ -997,7 +1040,7 @@ public class UnitTypes implements ContentList{
lifetime = 60f;
shootEffect = Fx.shootSmall;
smokeEffect = Fx.shootSmallSmoke;
- tileDamageMultiplier = 0.95f;
+ tileDamageMultiplier = 0.09f;
}};
}});
}};
@@ -1088,6 +1131,7 @@ public class UnitTypes implements ContentList{
hitsize = 0f;
health = 1;
rotateSpeed = 360f;
+ itemCapacity = 0;
}
@Override
diff --git a/core/src/mindustry/content/Weathers.java b/core/src/mindustry/content/Weathers.java
index 86d6575c35..56f39995a8 100644
--- a/core/src/mindustry/content/Weathers.java
+++ b/core/src/mindustry/content/Weathers.java
@@ -255,6 +255,8 @@ public class Weathers implements ContentList{
{
attrs.set(Attribute.spores, 0.5f);
attrs.set(Attribute.light, -0.1f);
+ status = StatusEffects.sporeSlowed;
+ statusGround = false;
}
@Override
diff --git a/core/src/mindustry/core/ContentLoader.java b/core/src/mindustry/core/ContentLoader.java
index a147e6e79e..aa5fe5ba44 100644
--- a/core/src/mindustry/core/ContentLoader.java
+++ b/core/src/mindustry/core/ContentLoader.java
@@ -167,6 +167,10 @@ public class ContentLoader{
}
public void handleContent(Content content){
+ if(content instanceof Item && content.id > 255){
+ throw new IllegalArgumentException("You may not have more than 255 different items total. Remove some mods.");
+ }
+
this.lastAdded = content;
contentMap[content.getContentType().ordinal()].add(content);
}
@@ -243,11 +247,11 @@ public class ContentLoader{
}
public Block block(int id){
- return (Block)getByID(ContentType.block, id);
+ return getByID(ContentType.block, id);
}
public Block block(String name){
- return (Block)getByName(ContentType.block, name);
+ return getByName(ContentType.block, name);
}
public Seq- items(){
@@ -255,7 +259,7 @@ public class ContentLoader{
}
public Item item(int id){
- return (Item)getByID(ContentType.item, id);
+ return getByID(ContentType.item, id);
}
public Seq liquids(){
@@ -263,7 +267,7 @@ public class ContentLoader{
}
public Liquid liquid(int id){
- return (Liquid)getByID(ContentType.liquid, id);
+ return getByID(ContentType.liquid, id);
}
public Seq bullets(){
@@ -271,7 +275,7 @@ public class ContentLoader{
}
public BulletType bullet(int id){
- return (BulletType)getByID(ContentType.bullet, id);
+ return getByID(ContentType.bullet, id);
}
public Seq sectors(){
diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java
index 2b3c81d5a8..46e79e64cd 100644
--- a/core/src/mindustry/core/Control.java
+++ b/core/src/mindustry/core/Control.java
@@ -94,7 +94,6 @@ public class Control implements ApplicationListener, Loadable{
tutorial.reset();
hiscore = false;
-
saves.resetSave();
});
@@ -114,9 +113,13 @@ public class Control implements ApplicationListener, Loadable{
Call.gameOver(event.winner);
});
+ //add player when world loads regardless
+ Events.on(WorldLoadEvent.class, e -> {
+ player.add();
+ });
+
//autohost for pvp maps
Events.on(WorldLoadEvent.class, event -> app.post(() -> {
- player.add();
if(state.rules.pvp && !net.active()){
try{
net.host(port);
@@ -152,12 +155,6 @@ public class Control implements ApplicationListener, Loadable{
}
});
- Events.on(ZoneRequireCompleteEvent.class, e -> {
- if(e.objective.display() != null){
- ui.hudfrag.showToast(Core.bundle.format("zone.requirement.complete", e.zoneForMet.localizedName, e.objective.display()));
- }
- });
-
//delete save on campaign game over
Events.on(GameOverEvent.class, e -> {
if(state.isCampaign() && !net.client() && !headless){
@@ -257,7 +254,7 @@ public class Control implements ApplicationListener, Loadable{
}
//TODO move
- public void handleLaunch(CoreEntity tile){
+ public void handleLaunch(CoreBuild tile){
LaunchCorec ent = LaunchCore.create();
ent.set(tile);
ent.block(Blocks.coreShard);
diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java
index 180e34f8b4..d70776a006 100644
--- a/core/src/mindustry/core/Logic.java
+++ b/core/src/mindustry/core/Logic.java
@@ -89,7 +89,7 @@ public class Logic implements ApplicationListener{
Events.on(WorldLoadEvent.class, e -> {
if(state.isCampaign()){
long seconds = state.rules.sector.getSecondsPassed();
- CoreEntity core = state.rules.defaultTeam.core();
+ CoreBuild core = state.rules.defaultTeam.core();
//apply fractional damage based on how many turns have passed for this sector
float turnsPassed = seconds / (turnDuration / 60f);
@@ -302,6 +302,11 @@ public class Logic implements ApplicationListener{
});
}
+ @Remote(called = Loc.both)
+ public static void updateGameOver(Team winner){
+ state.gameOver = true;
+ }
+
@Remote(called = Loc.both)
public static void gameOver(Team winner){
state.stats.wavesLasted = state.wave;
@@ -320,6 +325,10 @@ public class Logic implements ApplicationListener{
Events.fire(Trigger.update);
universe.updateGlobal();
+ if(Core.settings.modified() && !state.isPlaying()){
+ Core.settings.forceSave();
+ }
+
if(state.isGame()){
if(!net.client()){
state.enemies = Groups.unit.count(u -> u.team() == state.rules.waveTeam && u.type().isCounted);
@@ -331,7 +340,9 @@ public class Logic implements ApplicationListener{
}
if(!state.isPaused()){
- state.secinfo.update();
+ if(state.isCampaign()){
+ state.secinfo.update();
+ }
if(state.isCampaign()){
universe.update();
diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java
index cfa908ca59..ecdf57fc91 100644
--- a/core/src/mindustry/core/NetClient.java
+++ b/core/src/mindustry/core/NetClient.java
@@ -345,6 +345,7 @@ public class NetClient implements ApplicationListener{
Groups.clear();
netClient.removed.clear();
logic.reset();
+ netClient.connecting = true;
net.setClientLoaded(false);
@@ -365,6 +366,9 @@ public class NetClient implements ApplicationListener{
@Remote
public static void playerDisconnect(int playerid){
+ if(netClient != null){
+ netClient.addRemovedEntity(playerid);
+ }
Groups.player.removeByID(playerid);
}
@@ -436,13 +440,14 @@ public class NetClient implements ApplicationListener{
}
@Remote(variants = Variant.one, priority = PacketPriority.low, unreliable = true)
- public static void stateSnapshot(float waveTime, int wave, int enemies, boolean paused, short coreDataLen, byte[] coreData){
+ public static void stateSnapshot(float waveTime, int wave, int enemies, boolean paused, boolean gameOver, short coreDataLen, byte[] coreData){
try{
if(wave > state.wave){
state.wave = wave;
Events.fire(new WaveEvent());
}
+ state.gameOver = gameOver;
state.wavetime = waveTime;
state.wave = wave;
state.enemies = enemies;
@@ -553,10 +558,26 @@ public class NetClient implements ApplicationListener{
void sync(){
if(timer.get(0, playerSyncTime)){
BuildPlan[] requests = null;
- if(player.isBuilder() && control.input.isBuilding){
+ if(player.isBuilder()){
//limit to 10 to prevent buffer overflows
int usedRequests = Math.min(player.builder().plans().size, 10);
+ int totalLength = 0;
+
+ //prevent buffer overflow by checking config length
+ for(int i = 0; i < usedRequests; i++){
+ BuildPlan plan = player.builder().plans().get(i);
+ if(plan.config instanceof byte[]){
+ int length = ((byte[])plan.config).length;
+ totalLength += length;
+ }
+
+ if(totalLength > 2048){
+ usedRequests = i + 1;
+ break;
+ }
+ }
+
requests = new BuildPlan[usedRequests];
for(int i = 0; i < usedRequests; i++){
requests[i] = player.builder().plans().get(i);
@@ -565,7 +586,7 @@ public class NetClient implements ApplicationListener{
Unit unit = player.dead() ? Nulls.unit : player.unit();
- Call.clientShapshot(lastSent++,
+ Call.clientSnapshot(lastSent++,
player.dead(),
unit.x, unit.y,
player.unit().aimX(), player.unit().aimY(),
@@ -573,7 +594,7 @@ public class NetClient implements ApplicationListener{
unit instanceof Mechc ? ((Mechc)unit).baseRotation() : 0,
unit.vel.x, unit.vel.y,
player.miner().mineTile(),
- player.boosting, player.shooting, ui.chatfrag.shown(),
+ player.boosting, player.shooting, ui.chatfrag.shown(), control.input.isBuilding,
requests,
Core.camera.position.x, Core.camera.position.y,
Core.camera.width * viewScale, Core.camera.height * viewScale);
diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java
index 30aad59fe4..2eb71814f9 100644
--- a/core/src/mindustry/core/NetServer.java
+++ b/core/src/mindustry/core/NetServer.java
@@ -6,8 +6,8 @@ import arc.graphics.*;
import arc.math.*;
import arc.math.geom.*;
import arc.struct.*;
-import arc.util.ArcAnnotate.*;
import arc.util.*;
+import arc.util.ArcAnnotate.*;
import arc.util.CommandHandler.*;
import arc.util.io.*;
import arc.util.serialization.*;
@@ -34,8 +34,9 @@ import static arc.util.Log.*;
import static mindustry.Vars.*;
public class NetServer implements ApplicationListener{
- private static final int maxSnapshotSize = 430, timerBlockSync = 0;
- private static final float serverSyncTime = 12, blockSyncTime = 60 * 8;
+ /** note that snapshots are compressed, so the max snapshot size here is above the typical UDP safe limit */
+ private static final int maxSnapshotSize = 800, timerBlockSync = 0;
+ private static final float serverSyncTime = 12, blockSyncTime = 60 * 6;
private static final FloatBuffer fbuffer = FloatBuffer.allocate(20);
private static final Vec2 vector = new Vec2();
private static final Rect viewport = new Rect();
@@ -332,6 +333,8 @@ public class NetServer implements ApplicationListener{
Call.sendMessage(Strings.format("[lightgray]A player has voted on kicking[orange] @[].[accent] (@/@)\n[lightgray]Type[orange] /vote [] to agree.",
target.name, votes, votesRequired()));
+
+ checkPass();
}
boolean checkPass(){
@@ -524,9 +527,13 @@ public class NetServer implements ApplicationListener{
public static void serverPacketUnreliable(Player player, String type, String contents){
serverPacketReliable(player, type, contents);
}
+
+ private static boolean invalid(float f){
+ return Float.isInfinite(f) || Float.isNaN(f);
+ }
@Remote(targets = Loc.client, unreliable = true)
- public static void clientShapshot(
+ public static void clientSnapshot(
Player player,
int snapshotID,
boolean dead,
@@ -535,13 +542,23 @@ public class NetServer implements ApplicationListener{
float rotation, float baseRotation,
float xVelocity, float yVelocity,
Tile mining,
- boolean boosting, boolean shooting, boolean chatting,
+ boolean boosting, boolean shooting, boolean chatting, boolean building,
@Nullable BuildPlan[] requests,
float viewX, float viewY, float viewWidth, float viewHeight
){
NetConnection con = player.con;
if(con == null || snapshotID < con.lastReceivedClientSnapshot) return;
+ //validate coordinates just in case
+ if(invalid(x)) x = 0f;
+ if(invalid(y)) y = 0f;
+ if(invalid(xVelocity)) xVelocity = 0f;
+ if(invalid(yVelocity)) yVelocity = 0f;
+ if(invalid(pointerX)) pointerX = 0f;
+ if(invalid(pointerY)) pointerY = 0f;
+ if(invalid(rotation)) rotation = 0f;
+ if(invalid(baseRotation)) baseRotation = 0f;
+
boolean verifyPosition = !player.dead() && netServer.admins.getStrict() && headless;
if(con.lastReceivedClientTime == 0) con.lastReceivedClientTime = Time.millis() - 16;
@@ -556,6 +573,10 @@ public class NetServer implements ApplicationListener{
shooting = false;
}
+ if(!player.dead() && (player.unit().type().flying || !player.unit().type().canBoost)){
+ boosting = false;
+ }
+
//TODO these need to be assigned elsewhere
player.mouseX = pointerX;
player.mouseY = pointerY;
@@ -568,6 +589,7 @@ public class NetServer implements ApplicationListener{
if(player.isBuilder()){
player.builder().clearBuilding();
+ player.builder().updateBuilding(building);
}
if(player.isMiner()){
@@ -605,9 +627,12 @@ public class NetServer implements ApplicationListener{
if(!player.dead()){
Unit unit = player.unit();
- unit.vel.set(xVelocity, yVelocity).limit(unit.type().speed);
long elapsed = Time.timeSinceMillis(con.lastReceivedClientTime);
- float maxSpeed = player.unit().type().speed;
+ float maxSpeed = ((player.unit().type().canBoost && player.unit().isFlying()) ? player.unit().type().boostMultiplier : 1f) * player.unit().type().speed;
+ if(unit.isGrounded()){
+ maxSpeed *= unit.floorSpeedMultiplier();
+ }
+ unit.vel.set(xVelocity, yVelocity).limit(maxSpeed);
float maxMove = elapsed / 1000f * 60f * maxSpeed * 1.1f;
if(con.lastUnit != unit){
@@ -671,8 +696,8 @@ public class NetServer implements ApplicationListener{
public static void adminRequest(Player player, Player other, AdminAction action){
if(!player.admin){
- Log.warn("ACCESS DENIED: Player @ / @ attempted to perform admin action without proper security access.",
- player.name, player.con.address);
+ Log.warn("ACCESS DENIED: Player @ / @ attempted to perform admin action '@' on '@' without proper security access.",
+ player.name, player.con.address, action.name(), other == null ? null : other.name);
return;
}
@@ -706,13 +731,15 @@ public class NetServer implements ApplicationListener{
@Remote(targets = Loc.client)
public static void connectConfirm(Player player){
+ player.add();
+
if(player.con == null || player.con.hasConnected) return;
- player.add();
player.con.hasConnected = true;
+
if(Config.showConnectMessages.bool()){
Call.sendMessage("[accent]" + player.name + "[accent] has connected.");
- Log.info("&lm[@] &y@ has connected. ", player.uuid(), player.name);
+ Log.info("&lm[@] &y@ has connected.", player.uuid(), player.name);
}
if(!Config.motd.string().equalsIgnoreCase("off")){
@@ -723,7 +750,7 @@ public class NetServer implements ApplicationListener{
}
public boolean isWaitingForPlayers(){
- if(state.rules.pvp){
+ if(state.rules.pvp && !state.gameOver){
int used = 0;
for(TeamData t : state.teams.getActive()){
if(Groups.player.count(p -> p.team() == t.team) > 0){
@@ -778,11 +805,11 @@ public class NetServer implements ApplicationListener{
syncStream.reset();
short sent = 0;
- for(Building entity : Groups.tile){
+ for(Building entity : Groups.build){
if(!entity.block().sync) continue;
sent ++;
- dataStream.writeInt(entity.tile().pos());
+ dataStream.writeInt(entity.pos());
entity.writeAll(Writes.get(dataStream));
if(syncStream.size() > maxSnapshotSize){
@@ -803,11 +830,11 @@ public class NetServer implements ApplicationListener{
public void writeEntitySnapshot(Player player) throws IOException{
syncStream.reset();
- Seq cores = state.teams.cores(player.team());
+ Seq cores = state.teams.cores(player.team());
dataStream.writeByte(cores.size);
- for(CoreEntity entity : cores){
+ for(CoreBuild entity : cores){
dataStream.writeInt(entity.tile().pos());
entity.items.write(Writes.get(dataStream));
}
@@ -816,7 +843,7 @@ public class NetServer implements ApplicationListener{
byte[] stateBytes = syncStream.toByteArray();
//write basic state data.
- Call.stateSnapshot(player.con, state.wavetime, state.wave, state.enemies, state.serverPaused, (short)stateBytes.length, net.compressSnapshot(stateBytes));
+ Call.stateSnapshot(player.con, state.wavetime, state.wave, state.enemies, state.serverPaused, state.gameOver, (short)stateBytes.length, net.compressSnapshot(stateBytes));
viewport.setSize(player.con.viewWidth, player.con.viewHeight).setCenter(player.con.viewX, player.con.viewY);
diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java
index dc5d350a0f..e04aef622d 100644
--- a/core/src/mindustry/core/Renderer.java
+++ b/core/src/mindustry/core/Renderer.java
@@ -185,6 +185,8 @@ public class Renderer implements ApplicationListener{
}
public void draw(){
+ Events.fire(Trigger.preDraw);
+
camera.update();
if(Float.isNaN(camera.position.x) || Float.isNaN(camera.position.y)){
@@ -205,6 +207,8 @@ public class Renderer implements ApplicationListener{
Draw.sort(true);
+ Events.fire(Trigger.draw);
+
if(pixelator.enabled()){
pixelator.register();
}
@@ -254,6 +258,8 @@ public class Renderer implements ApplicationListener{
Draw.reset();
Draw.flush();
Draw.sort(false);
+
+ Events.fire(Trigger.postDraw);
}
private void drawBackground(){
diff --git a/core/src/mindustry/core/UI.java b/core/src/mindustry/core/UI.java
index de85c7ad3b..783cb89cf8 100644
--- a/core/src/mindustry/core/UI.java
+++ b/core/src/mindustry/core/UI.java
@@ -128,6 +128,8 @@ public class UI implements ApplicationListener, Loadable{
public void update(){
if(disableUI || Core.scene == null) return;
+ Events.fire(Trigger.uiDrawBegin);
+
Core.scene.act();
Core.scene.draw();
@@ -143,6 +145,8 @@ public class UI implements ApplicationListener, Loadable{
control.tutorial.draw();
Draw.flush();
}
+
+ Events.fire(Trigger.uiDrawEnd);
}
@Override
@@ -221,12 +225,15 @@ public class UI implements ApplicationListener, Loadable{
}
public TextureRegionDrawable getIcon(String name){
- if(Icon.icons.containsKey(name)){
- return Icon.icons.get(name);
- }
+ if(Icon.icons.containsKey(name)) return Icon.icons.get(name);
return Core.atlas.getDrawable("error");
}
+ public TextureRegionDrawable getIcon(String name, String def){
+ if(Icon.icons.containsKey(name)) return Icon.icons.get(name);
+ return getIcon(def);
+ }
+
public void loadAnd(Runnable call){
loadAnd("@loading", call);
}
@@ -286,6 +293,7 @@ public class UI implements ApplicationListener, Loadable{
public void showInfoFade(String info){
Table table = new Table();
+ table.touchable = Touchable.disabled;
table.setFillParent(true);
table.actions(Actions.fadeOut(7f, Interp.fade), Actions.remove());
table.top().add(info).style(Styles.outlineLabel).padTop(10);
@@ -481,10 +489,11 @@ public class UI implements ApplicationListener, Loadable{
public void announce(String text){
Table t = new Table();
+ t.touchable = Touchable.disabled;
t.background(Styles.black3).margin(8f)
.add(text).style(Styles.outlineLabel);
t.update(() -> t.setPosition(Core.graphics.getWidth()/2f, Core.graphics.getHeight()/2f, Align.center));
- t.actions(Actions.fadeOut(3, Interp.pow4In));
+ t.actions(Actions.fadeOut(3, Interp.pow4In), Actions.remove());
Core.scene.add(t);
}
diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java
index f9c7e97e15..9dea5f0e35 100644
--- a/core/src/mindustry/core/World.java
+++ b/core/src/mindustry/core/World.java
@@ -484,6 +484,9 @@ public class World{
private class Context implements WorldContext{
+ Context(){
+ }
+
@Override
public Tile tile(int index){
return tiles.geti(index);
diff --git a/core/src/mindustry/editor/MapGenerateDialog.java b/core/src/mindustry/editor/MapGenerateDialog.java
index 09262a9d74..c2869a664c 100644
--- a/core/src/mindustry/editor/MapGenerateDialog.java
+++ b/core/src/mindustry/editor/MapGenerateDialog.java
@@ -37,18 +37,18 @@ public class MapGenerateDialog extends BaseDialog{
private Pixmap pixmap;
private Texture texture;
private GenerateInput input = new GenerateInput();
- private Seq filters = new Seq<>();
+ Seq filters = new Seq<>();
private int scaling = mobile ? 3 : 1;
private Table filterTable;
private AsyncExecutor executor = new AsyncExecutor(1);
private AsyncResult result;
- private boolean generating;
+ boolean generating;
private GenTile returnTile = new GenTile();
private GenTile[][] buffer1, buffer2;
private Cons> applier;
- private CachedTile ctile = new CachedTile(){
+ CachedTile ctile = new CachedTile(){
//nothing.
@Override
protected void changeEntity(Team team, Prov entityprov, int rotation){
@@ -178,7 +178,7 @@ public class MapGenerateDialog extends BaseDialog{
add(new Image(Styles.black8));
add(new Image(Icon.refresh, Scaling.none));
visible(() -> generating && !updateEditorOnChange);
- }}).grow().padRight(10);
+ }}).uniformX().grow().padRight(10);
t.pane(p -> filterTable = p.marginRight(6)).update(pane -> {
if(Core.scene.getKeyboardFocus() instanceof Dialog && Core.scene.getKeyboardFocus() != this){
return;
@@ -191,7 +191,7 @@ public class MapGenerateDialog extends BaseDialog{
}else{
Core.scene.setScrollFocus(null);
}
- }).grow().get().setScrollingDisabled(true, false);
+ }).grow().uniformX().get().setScrollingDisabled(true, false);
}).grow();
buffer1 = create();
@@ -213,7 +213,7 @@ public class MapGenerateDialog extends BaseDialog{
}
void rebuildFilters(){
- int cols = Math.max((int)(Math.max(filterTable.parent.getWidth(), Core.graphics.getWidth()/2f * 0.9f) / Scl.scl(290f)), 1);
+ int cols = Math.max((int)(Core.graphics.getWidth()/2f / Scl.scl(290f)), 1);
filterTable.clearChildren();
filterTable.top().left();
int i = 0;
@@ -221,41 +221,45 @@ public class MapGenerateDialog extends BaseDialog{
for(GenerateFilter filter : filters){
//main container
- filterTable.table(Tex.button, c -> {
+ filterTable.table(Tex.pane, c -> {
+ c.margin(0);
+
//icons to perform actions
- c.table(t -> {
- t.top();
- t.add(filter.name()).padTop(5).color(Pal.accent).growX().left();
+ c.table(Tex.whiteui, t -> {
+ t.setColor(Pal.gray);
- t.row();
+ t.top().left();
+ t.add(filter.name()).left().padLeft(6).width(100f).wrap();
- t.table(b -> {
- ImageButtonStyle style = Styles.cleari;
- b.defaults().size(50f);
- b.button(Icon.refresh, style, () -> {
- filter.randomize();
- update();
- });
+ t.add().growX();
- b.button(Icon.upOpen, style, () -> {
- int idx = filters.indexOf(filter);
- filters.swap(idx, Math.max(0, idx - 1));
- rebuildFilters();
- update();
- });
- b.button(Icon.downOpen, style, () -> {
- int idx = filters.indexOf(filter);
- filters.swap(idx, Math.min(filters.size - 1, idx + 1));
- rebuildFilters();
- update();
- });
- b.button(Icon.trash, style, () -> {
- filters.remove(filter);
- rebuildFilters();
- update();
- });
+ ImageButtonStyle style = Styles.geni;
+ t.defaults().size(42f);
+
+ t.button(Icon.refresh, style, () -> {
+ filter.randomize();
+ update();
});
- }).fillX();
+
+ t.button(Icon.upOpen, style, () -> {
+ int idx = filters.indexOf(filter);
+ filters.swap(idx, Math.max(0, idx - 1));
+ rebuildFilters();
+ update();
+ });
+ t.button(Icon.downOpen, style, () -> {
+ int idx = filters.indexOf(filter);
+ filters.swap(idx, Math.min(filters.size - 1, idx + 1));
+ rebuildFilters();
+ update();
+ });
+ t.button(Icon.cancel, style, () -> {
+ filters.remove(filter);
+ rebuildFilters();
+ update();
+ });
+ }).growX();
+
c.row();
//all the options
c.table(f -> {
@@ -269,7 +273,7 @@ public class MapGenerateDialog extends BaseDialog{
}).growX().left();
f.row();
}
- }).grow().left().pad(2).top();
+ }).grow().left().pad(6).top();
}).width(280f).pad(3).top().left().fillY();
if(++i % cols == 0){
filterTable.row();
@@ -404,6 +408,9 @@ public class MapGenerateDialog extends BaseDialog{
public byte team;
public short block, floor, ore;
+ GenTile(){
+ }
+
public void set(Block floor, Block wall, Block ore, Team team){
this.floor = floor.id;
this.block = wall.id;
diff --git a/core/src/mindustry/editor/MapView.java b/core/src/mindustry/editor/MapView.java
index 45dfa8d73a..7689e7aa48 100644
--- a/core/src/mindustry/editor/MapView.java
+++ b/core/src/mindustry/editor/MapView.java
@@ -22,7 +22,7 @@ import static mindustry.Vars.ui;
public class MapView extends Element implements GestureListener{
private MapEditor editor;
- private EditorTool tool = EditorTool.pencil;
+ EditorTool tool = EditorTool.pencil;
private float offsetx, offsety;
private float zoom = 1f;
private boolean grid = false;
@@ -31,11 +31,11 @@ public class MapView extends Element implements GestureListener{
private Rect rect = new Rect();
private Vec2[][] brushPolygons = new Vec2[MapEditor.brushSizes.length][0];
- private boolean drawing;
- private int lastx, lasty;
- private int startx, starty;
- private float mousex, mousey;
- private EditorTool lastTool;
+ boolean drawing;
+ int lastx, lasty;
+ int startx, starty;
+ float mousex, mousey;
+ EditorTool lastTool;
public MapView(MapEditor editor){
this.editor = editor;
@@ -204,7 +204,7 @@ public class MapView extends Element implements GestureListener{
zoom = Mathf.clamp(zoom, 0.2f, 20f);
}
- private Point2 project(float x, float y){
+ Point2 project(float x, float y){
float ratio = 1f / ((float)editor.width() / editor.height());
float size = Math.min(width, height);
float sclwidth = size * zoom;
@@ -213,9 +213,9 @@ public class MapView extends Element implements GestureListener{
y = (y - getHeight() / 2 + sclheight / 2 - offsety * zoom) / sclheight * editor.height();
if(editor.drawBlock.size % 2 == 0 && tool != EditorTool.eraser){
- return Tmp.g1.set((int)(x - 0.5f), (int)(y - 0.5f));
+ return Tmp.p1.set((int)(x - 0.5f), (int)(y - 0.5f));
}else{
- return Tmp.g1.set((int)x, (int)y);
+ return Tmp.p1.set((int)x, (int)y);
}
}
diff --git a/core/src/mindustry/editor/WaveInfoDialog.java b/core/src/mindustry/editor/WaveInfoDialog.java
index 9de662dfa7..d5b957e143 100644
--- a/core/src/mindustry/editor/WaveInfoDialog.java
+++ b/core/src/mindustry/editor/WaveInfoDialog.java
@@ -23,7 +23,7 @@ import static mindustry.game.SpawnGroup.*;
public class WaveInfoDialog extends BaseDialog{
private int displayed = 20;
- private Seq groups = new Seq<>();
+ Seq groups = new Seq<>();
private Table table;
private int start = 0;
diff --git a/core/src/mindustry/entities/Damage.java b/core/src/mindustry/entities/Damage.java
index 2650588cb8..b6a2a94440 100644
--- a/core/src/mindustry/entities/Damage.java
+++ b/core/src/mindustry/entities/Damage.java
@@ -30,24 +30,26 @@ public class Damage{
private static Unit tmpUnit;
/** Creates a dynamic explosion based on specified parameters. */
- public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, Color color){
- for(int i = 0; i < Mathf.clamp(power / 20, 0, 6); i++){
- int branches = 5 + Mathf.clamp((int)(power / 30), 1, 20);
- Time.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.derelict, Pal.power, 3, x, y, Mathf.random(360f), branches + Mathf.range(2)));
- }
+ public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, Color color, boolean damage){
+ if(damage){
+ for(int i = 0; i < Mathf.clamp(power / 20, 0, 6); i++){
+ int branches = 5 + Mathf.clamp((int)(power / 30), 1, 20);
+ Time.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.derelict, Pal.power, 3, x, y, Mathf.random(360f), branches + Mathf.range(2)));
+ }
- for(int i = 0; i < Mathf.clamp(flammability / 4, 0, 30); i++){
- Time.run(i / 2f, () -> Call.createBullet(Bullets.fireball, Team.derelict, x, y, Mathf.random(360f), Bullets.fireball.damage, 1, 1));
- }
+ for(int i = 0; i < Mathf.clamp(flammability / 4, 0, 30); i++){
+ Time.run(i / 2f, () -> Call.createBullet(Bullets.fireball, Team.derelict, x, y, Mathf.random(360f), Bullets.fireball.damage, 1, 1));
+ }
- int waves = Mathf.clamp((int)(explosiveness / 4), 0, 30);
+ int waves = Mathf.clamp((int)(explosiveness / 4), 0, 30);
- for(int i = 0; i < waves; i++){
- int f = i;
- Time.run(i * 2f, () -> {
- Damage.damage(x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), explosiveness / 2f);
- Fx.blockExplosionSmoke.at(x + Mathf.range(radius), y + Mathf.range(radius));
- });
+ for(int i = 0; i < waves; i++){
+ int f = i;
+ Time.run(i * 2f, () -> {
+ Damage.damage(x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), explosiveness / 2f);
+ Fx.blockExplosionSmoke.at(x + Mathf.range(radius), y + Mathf.range(radius));
+ });
+ }
}
if(explosiveness > 15f){
@@ -87,7 +89,7 @@ public class Damage{
tr.trns(angle, length);
Intc2 collider = (cx, cy) -> {
Building tile = world.build(cx, cy);
- if(tile != null && !collidedBlocks.contains(tile.pos()) && tile.team() != team && tile.collide(hitter)){
+ if(tile != null && !collidedBlocks.contains(tile.pos()) && tile.team != team && tile.collide(hitter)){
tile.collision(hitter);
collidedBlocks.add(tile.pos());
hitter.type.hit(hitter, tile.x, tile.y);
diff --git a/core/src/mindustry/entities/EntityGroup.java b/core/src/mindustry/entities/EntityGroup.java
index f9c6d55316..5a1be4bdc3 100644
--- a/core/src/mindustry/entities/EntityGroup.java
+++ b/core/src/mindustry/entities/EntityGroup.java
@@ -101,7 +101,7 @@ public class EntityGroup implements Iterable{
if(map == null) throw new RuntimeException("Mapping is not enabled for group " + id + "!");
T t = map.get(id);
if(t != null){ //remove if present in map already
- remove(t);
+ t.remove();
}
}
diff --git a/core/src/mindustry/entities/Fires.java b/core/src/mindustry/entities/Fires.java
index e24d34dac4..2906b4e7d7 100644
--- a/core/src/mindustry/entities/Fires.java
+++ b/core/src/mindustry/entities/Fires.java
@@ -17,7 +17,7 @@ public class Fires{
/** Start a fire on the tile. If there already is a file there, refreshes its lifetime. */
public static void create(Tile tile){
- if(net.client() || tile == null) return; //not clientside.
+ if(net.client() || tile == null || !state.rules.fire) return; //not clientside.
Fire fire = map.get(tile.pos());
diff --git a/core/src/mindustry/entities/GroupDefs.java b/core/src/mindustry/entities/GroupDefs.java
index 3d2dcc1580..60bdbb5fd3 100644
--- a/core/src/mindustry/entities/GroupDefs.java
+++ b/core/src/mindustry/entities/GroupDefs.java
@@ -8,7 +8,7 @@ class GroupDefs{
@GroupDef(value = Playerc.class, mapping = true) G player;
@GroupDef(value = Bulletc.class, spatial = true, collide = true) G bullet;
@GroupDef(value = Unitc.class, spatial = true, mapping = true) G unit;
- @GroupDef(value = Buildingc.class) G tile;
+ @GroupDef(value = Buildingc.class) G build;
@GroupDef(value = Syncc.class, mapping = true) G sync;
@GroupDef(value = Drawc.class) G draw;
@GroupDef(value = WeatherStatec.class) G weather;
diff --git a/core/src/mindustry/entities/Puddles.java b/core/src/mindustry/entities/Puddles.java
index 3b9f02c75c..461e486001 100644
--- a/core/src/mindustry/entities/Puddles.java
+++ b/core/src/mindustry/entities/Puddles.java
@@ -83,7 +83,7 @@ public class Puddles{
(liquid.flammability > 0.3f && dest.temperature > 0.7f)){ //flammable liquid + hot liquid
Fires.create(tile);
if(Mathf.chance(0.006 * amount)){
- Call.createBullet(Bullets.fireball, Team.derelict, x, y, Mathf.random(360f), -1f, 1f, 1f);
+ Bullets.fireball.createNet(Team.derelict, x, y, Mathf.random(360f), -1f, 1f, 1f);
}
}else if(dest.temperature > 0.7f && liquid.temperature < 0.55f){ //cold liquid poured onto hot Puddle
if(Mathf.chance(0.5f * amount)){
diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java
index d32030775f..23e3c56db4 100644
--- a/core/src/mindustry/entities/Units.java
+++ b/core/src/mindustry/entities/Units.java
@@ -19,8 +19,17 @@ public class Units{
private static boolean boolResult;
@Remote(called = Loc.server)
- public static void unitDeath(Unit unit){
- unit.killed();
+ public static void unitDeath(int uid){
+ Unit unit = Groups.unit.getByID(uid);
+
+ //if there's no unit don't add it later and get it stuck as a ghost
+ if(netClient != null){
+ netClient.addRemovedEntity(uid);
+ }
+
+ if(unit != null){
+ unit.killed();
+ }
}
@Remote(called = Loc.server)
@@ -36,7 +45,7 @@ public class Units{
public static int getCap(Team team){
//wave team has no cap
- if((team == state.rules.waveTeam && state.rules.waves) || (state.isCampaign() && team == state.rules.waveTeam)){
+ if((team == state.rules.waveTeam && !state.rules.pvp) || (state.isCampaign() && team == state.rules.waveTeam)){
return Integer.MAX_VALUE;
}
return state.rules.unitCap + indexer.getExtraUnits(team);
diff --git a/core/src/mindustry/entities/abilities/ForceFieldAbility.java b/core/src/mindustry/entities/abilities/ForceFieldAbility.java
index 60de9a49aa..33aa408602 100644
--- a/core/src/mindustry/entities/abilities/ForceFieldAbility.java
+++ b/core/src/mindustry/entities/abilities/ForceFieldAbility.java
@@ -31,6 +31,7 @@ public class ForceFieldAbility implements Ability{
//break shield
if(paramUnit.shield <= trait.damage()){
paramUnit.shield -= cooldown * regen;
+
Fx.shieldBreak.at(paramUnit.x, paramUnit.y, radius, paramUnit.team.color);
}
diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java
index 74f188f042..481731f7b3 100644
--- a/core/src/mindustry/entities/bullet/BulletType.java
+++ b/core/src/mindustry/entities/bullet/BulletType.java
@@ -54,7 +54,7 @@ public abstract class BulletType extends Content{
/** Status effect applied on hit. */
public StatusEffect status = StatusEffects.none;
/** Intensity of applied status effect in terms of duration. */
- public float statusDuration = 60 * 10f;
+ public float statusDuration = 60 * 8f;
/** Whether this bullet type collides with tiles. */
public boolean collidesTiles = true;
/** Whether this bullet type collides with tiles that are of the same team. */
@@ -92,6 +92,7 @@ public abstract class BulletType extends Content{
public float homingPower = 0f;
public float homingRange = 50f;
+ public Color lightningColor = Pal.surge;
public int lightning;
public int lightningLength = 5;
/** Use a negative value to use default bullet damage. */
@@ -172,7 +173,7 @@ public abstract class BulletType extends Content{
}
for(int i = 0; i < lightning; i++){
- Lightning.create(b, Pal.surge, lightningDamage < 0 ? damage : lightningDamage, b.x, b.y, Mathf.random(360f), lightningLength);
+ Lightning.create(b, lightningColor, lightningDamage < 0 ? damage : lightningDamage, b.x, b.y, Mathf.random(360f), lightningLength);
}
}
@@ -264,13 +265,13 @@ public abstract class BulletType extends Content{
bullet.damage = damage < 0 ? this.damage : damage;
bullet.add();
- if(keepVelocity && owner instanceof Hitboxc) bullet.vel.add(((Hitboxc)owner).deltaX(), ((Hitboxc)owner).deltaY());
+ if(keepVelocity && owner instanceof Hitboxc) bullet.vel.add(((Hitboxc)owner).deltaX() / Time.delta, ((Hitboxc)owner).deltaY() / Time.delta);
return bullet;
}
public void createNet(Team team, float x, float y, float angle, float damage, float velocityScl, float lifetimeScl){
- Call.createBullet(this, team, x, y, damage, angle, velocityScl, lifetimeScl);
+ Call.createBullet(this, team, x, y, angle, damage, velocityScl, lifetimeScl);
}
@Remote(called = Loc.server, unreliable = true)
diff --git a/core/src/mindustry/entities/bullet/ContinuousLaserBulletType.java b/core/src/mindustry/entities/bullet/ContinuousLaserBulletType.java
index 34dd5d2c67..1962b97615 100644
--- a/core/src/mindustry/entities/bullet/ContinuousLaserBulletType.java
+++ b/core/src/mindustry/entities/bullet/ContinuousLaserBulletType.java
@@ -67,7 +67,7 @@ public class ContinuousLaserBulletType extends BulletType{
for(int i = 0; i < tscales.length; i++){
Tmp.v1.trns(b.rotation() + 180f, (lenscales[i] - 1f) * 35f);
Lines.stroke((9f + Mathf.absin(Time.time(), 0.8f, 1.5f)) * b.fout() * strokes[s] * tscales[i]);
- Lines.lineAngle(b.x + Tmp.v1.x, b.y + Tmp.v1.y, b.rotation(), baseLen * lenscales[i], CapStyle.none);
+ Lines.lineAngle(b.x + Tmp.v1.x, b.y + Tmp.v1.y, b.rotation(), baseLen * lenscales[i], false);
}
}
diff --git a/core/src/mindustry/entities/bullet/HealBulletType.java b/core/src/mindustry/entities/bullet/HealBulletType.java
index af66a4c931..4d363dc611 100644
--- a/core/src/mindustry/entities/bullet/HealBulletType.java
+++ b/core/src/mindustry/entities/bullet/HealBulletType.java
@@ -29,7 +29,7 @@ public class HealBulletType extends BulletType{
@Override
public boolean collides(Bullet b, Building tile){
- return tile.team() != b.team || tile.healthf() < 1f;
+ return tile.team != b.team || tile.healthf() < 1f;
}
@Override
@@ -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 BuildBlock)){
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/bullet/LaserBulletType.java b/core/src/mindustry/entities/bullet/LaserBulletType.java
index 571a78826d..821129f51d 100644
--- a/core/src/mindustry/entities/bullet/LaserBulletType.java
+++ b/core/src/mindustry/entities/bullet/LaserBulletType.java
@@ -78,7 +78,7 @@ public class LaserBulletType extends BulletType{
for(Color color : colors){
Draw.color(color);
Lines.stroke((cwidth *= lengthFalloff) * b.fout());
- Lines.lineAngle(b.x, b.y, b.rotation(), baseLen, CapStyle.none);
+ Lines.lineAngle(b.x, b.y, b.rotation(), baseLen, false);
Tmp.v1.trns(b.rotation(), baseLen);
Drawf.tri(b.x + Tmp.v1.x, b.y + Tmp.v1.y, Lines.getStroke() * 1.22f, cwidth * 2f + width / 2f, b.rotation());
diff --git a/core/src/mindustry/entities/bullet/LiquidBulletType.java b/core/src/mindustry/entities/bullet/LiquidBulletType.java
index 155ed32973..45ae536668 100644
--- a/core/src/mindustry/entities/bullet/LiquidBulletType.java
+++ b/core/src/mindustry/entities/bullet/LiquidBulletType.java
@@ -25,7 +25,7 @@ public class LiquidBulletType extends BulletType{
}
lifetime = 74f;
- statusDuration = 90f;
+ statusDuration = 60f * 2f;
despawnEffect = Fx.none;
hitEffect = Fx.hitLiquid;
smokeEffect = Fx.none;
@@ -69,7 +69,7 @@ public class LiquidBulletType extends BulletType{
super.despawned(b);
//don't create liquids when the projectile despawns
- hitEffect.at(b.x, b.y, liquid.color);
+ hitEffect.at(b.x, b.y, b.rotation(), liquid.color);
}
@Override
diff --git a/core/src/mindustry/entities/bullet/MissileBulletType.java b/core/src/mindustry/entities/bullet/MissileBulletType.java
index a3670ac3c0..274a806f5e 100644
--- a/core/src/mindustry/entities/bullet/MissileBulletType.java
+++ b/core/src/mindustry/entities/bullet/MissileBulletType.java
@@ -15,6 +15,7 @@ public class MissileBulletType extends BasicBulletType{
height = 8f;
hitSound = Sounds.explosion;
trailChance = 0.2f;
+ lifetime = 49f;
}
public MissileBulletType(float speed, float damage){
diff --git a/core/src/mindustry/entities/comp/BlockUnitComp.java b/core/src/mindustry/entities/comp/BlockUnitComp.java
index 4ae698db2a..39bfb85b97 100644
--- a/core/src/mindustry/entities/comp/BlockUnitComp.java
+++ b/core/src/mindustry/entities/comp/BlockUnitComp.java
@@ -27,7 +27,7 @@ abstract class BlockUnitComp implements Unitc{
@Override
public void update(){
if(tile != null){
- team = tile.team();
+ team = tile.team;
}
}
@@ -61,7 +61,7 @@ abstract class BlockUnitComp implements Unitc{
public void team(Team team){
if(tile != null && this.team != team){
this.team = team;
- if(tile.team() != team){
+ if(tile.team != team){
tile.team(team);
}
}
diff --git a/core/src/mindustry/entities/comp/BuilderComp.java b/core/src/mindustry/entities/comp/BuilderComp.java
index 694686a2e1..241179e7ae 100644
--- a/core/src/mindustry/entities/comp/BuilderComp.java
+++ b/core/src/mindustry/entities/comp/BuilderComp.java
@@ -29,13 +29,7 @@ abstract class BuilderComp implements Unitc{
@Import float x, y, rotation;
@SyncLocal Queue plans = new Queue<>();
- transient boolean updateBuilding = true;
-
- @Override
- public void controller(UnitController next){
- //reset building state so AI controlled units will always start off building
- updateBuilding = true;
- }
+ @SyncLocal transient boolean updateBuilding = true;
@Override
public void update(){
@@ -85,12 +79,12 @@ abstract class BuilderComp implements Unitc{
boolean hasAll = infinite || !Structs.contains(current.block.requirements, i -> core != null && !core.items.has(i.item));
if(hasAll){
- Build.beginPlace(current.block, team(), current.x, current.y, current.rotation);
+ Call.beginPlace(current.block, team(), current.x, current.y, current.rotation);
}else{
current.stuck = true;
}
}else if(!current.initialized && current.breaking && Build.validBreak(team(), current.x, current.y)){
- Build.beginBreak(team(), current.x, current.y);
+ Call.beginBreak(team(), current.x, current.y);
}else{
plans.removeFirst();
return;
diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java
index b3aebb9adc..f77183dba4 100644
--- a/core/src/mindustry/entities/comp/BuildingComp.java
+++ b/core/src/mindustry/entities/comp/BuildingComp.java
@@ -39,9 +39,9 @@ import static mindustry.Vars.*;
@EntityDef(value = {Buildingc.class}, isFinal = false, genio = false, serialize = false)
@Component(base = true)
-abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, QuadTreeObject, Displayable, Senseable{
+abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, QuadTreeObject, Displayable, Senseable, Controllable{
//region vars and initialization
- static final float timeToSleep = 60f * 1;
+ static final float timeToSleep = 60f * 1, timeToUncontrol = 60f * 6;
static final ObjectSet tmpTiles = new ObjectSet<>();
static final Seq tempTileEnts = new Seq<>();
static final Seq tempTiles = new Seq<>();
@@ -57,6 +57,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
transient byte dump;
transient int rotation;
transient boolean enabled = true;
+ transient float enabledControlTime;
PowerModule power;
ItemModule items;
@@ -330,15 +331,20 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
//endregion
//region handler methods
+ /** Called when this block is dropped as a payload. */
+ public void dropped(){
+
+ }
+
/** This is for logic blocks. */
public void handleString(Object value){
}
public void created(){}
-
+
public boolean shouldConsume(){
- return true;
+ return enabled;
}
public boolean productionValid(){
@@ -404,7 +410,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
int trns = block.size/2 + 1;
Tile next = tile.getNearby(Geometry.d4(rotation).x * trns, Geometry.d4(rotation).y * trns);
- if(next != null && next.build != null && next.build.team() == team && next.build.acceptPayload(base(), todump)){
+ if(next != null && next.build != null && next.build.team == team && next.build.acceptPayload(base(), todump)){
next.build.handlePayload(base(), todump);
return true;
}
@@ -425,7 +431,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
for(int i = 0; i < proximity.size; i++){
Building other = proximity.get((i + dump) % proximity.size);
- if(other.team() == team && other.acceptPayload(base(), todump)){
+ if(other.team == team && other.acceptPayload(base(), todump)){
other.handlePayload(base(), todump);
incrementDump(proximity.size);
return true;
@@ -504,34 +510,31 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
next = next.getLiquidDestination(base(), liquid);
- if(next.team() == team && next.block.hasLiquids && liquids.get(liquid) > 0f){
+ if(next.team == team && next.block.hasLiquids && liquids.get(liquid) > 0f){
+ float ofract = next.liquids.get(liquid) / next.block.liquidCapacity;
+ float fract = liquids.get(liquid) / block.liquidCapacity * block.liquidPressure;
+ float flow = Math.min(Mathf.clamp((fract - ofract) * (1f)) * (block.liquidCapacity), liquids.get(liquid));
+ flow = Math.min(flow, next.block.liquidCapacity - next.liquids.get(liquid) - 0.001f);
- if(next.acceptLiquid(base(), liquid, 0f)){
- float ofract = next.liquids().get(liquid) / next.block.liquidCapacity;
- float fract = liquids.get(liquid) / block.liquidCapacity * block.liquidPressure;
- float flow = Math.min(Mathf.clamp((fract - ofract) * (1f)) * (block.liquidCapacity), liquids.get(liquid));
- flow = Math.min(flow, next.block.liquidCapacity - next.liquids().get(liquid) - 0.001f);
+ if(flow > 0f && ofract <= fract && next.acceptLiquid(base(), liquid, flow)){
+ next.handleLiquid(base(), liquid, flow);
+ liquids.remove(liquid, flow);
+ return flow;
+ }else if(next.liquids.currentAmount() / next.block.liquidCapacity > 0.1f && fract > 0.1f){
+ //TODO these are incorrect effect positions
+ float fx = (x + next.x) / 2f, fy = (y + next.y) / 2f;
- if(flow > 0f && ofract <= fract && next.acceptLiquid(base(), liquid, flow)){
- next.handleLiquid(base(), liquid, flow);
- liquids.remove(liquid, flow);
- return flow;
- }else if(ofract > 0.1f && fract > 0.1f){
- //TODO these are incorrect effect positions
- float fx = (x + next.x) / 2f, fy = (y + next.y) / 2f;
-
- Liquid other = next.liquids().current();
- if((other.flammability > 0.3f && liquid.temperature > 0.7f) || (liquid.flammability > 0.3f && other.temperature > 0.7f)){
- damage(1 * Time.delta);
- next.damage(1 * Time.delta);
- if(Mathf.chance(0.1 * Time.delta)){
- Fx.fire.at(fx, fy);
- }
- }else if((liquid.temperature > 0.7f && other.temperature < 0.55f) || (other.temperature > 0.7f && liquid.temperature < 0.55f)){
- liquids.remove(liquid, Math.min(liquids.get(liquid), 0.7f * Time.delta));
- if(Mathf.chance(0.2f * Time.delta)){
- Fx.steam.at(fx, fy);
- }
+ Liquid other = next.liquids.current();
+ if((other.flammability > 0.3f && liquid.temperature > 0.7f) || (liquid.flammability > 0.3f && other.temperature > 0.7f)){
+ damage(1 * Time.delta);
+ next.damage(1 * Time.delta);
+ if(Mathf.chance(0.1 * Time.delta)){
+ Fx.fire.at(fx, fy);
+ }
+ }else if((liquid.temperature > 0.7f && other.temperature < 0.55f) || (other.temperature > 0.7f && liquid.temperature < 0.55f)){
+ liquids.remove(liquid, Math.min(liquids.get(liquid), 0.7f * Time.delta));
+ if(Mathf.chance(0.2f * Time.delta)){
+ Fx.steam.at(fx, fy);
}
}
}
@@ -562,7 +565,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
for(int i = 0; i < proximity.size; i++){
incrementDump(proximity.size);
Building other = proximity.get((i + dump) % proximity.size);
- if(other.team() == team && other.acceptItem(base(), item) && canDump(other, item)){
+ if(other.team == team && other.acceptItem(base(), item) && canDump(other, item)){
other.handleItem(base(), item);
return;
}
@@ -580,7 +583,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
for(int i = 0; i < proximity.size; i++){
incrementDump(proximity.size);
Building other = proximity.get((i + dump) % proximity.size);
- if(other.team() == team && other.acceptItem(base(), item) && canDump(other, item)){
+ if(other.team == team && other.acceptItem(base(), item) && canDump(other, item)){
other.handleItem(base(), item);
return true;
}
@@ -613,7 +616,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
for(int ii = 0; ii < content.items().size; ii++){
Item item = content.item(ii);
- if(other.team() == team && items.has(item) && other.acceptItem(base(), item) && canDump(other, item)){
+ if(other.team == team && items.has(item) && other.acceptItem(base(), item) && canDump(other, item)){
other.handleItem(base(), item);
items.remove(item, 1);
incrementDump(proximity.size);
@@ -621,7 +624,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
}
}
}else{
- if(other.team() == team && other.acceptItem(base(), todump) && canDump(other, todump)){
+ if(other.team == team && other.acceptItem(base(), todump) && canDump(other, todump)){
other.handleItem(base(), todump);
items.remove(todump, 1);
incrementDump(proximity.size);
@@ -647,7 +650,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
/** Try offloading an item to a nearby container in its facing direction. Returns true if success. */
public boolean moveForward(Item item){
Building other = front();
- if(other != null && other.team() == team && other.acceptItem(base(), item)){
+ if(other != null && other.team == team && other.acceptItem(base(), item)){
other.handleItem(base(), item);
return true;
}
@@ -751,6 +754,16 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
public void drawSelect(){
}
+ public void drawDisabled(){
+ Draw.color(Color.scarlet);
+ Draw.alpha(0.8f);
+
+ float size = 6f;
+ Draw.rect(Icon.cancel.getRegion(), x, y, size, size);
+
+ Draw.reset();
+ }
+
public void draw(){
Draw.rect(block.region, x, y, block.rotate ? rotdeg() : 0);
@@ -843,8 +856,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
}
}
- /** Called when the block is tapped.*/
- public void tapped(Player player){
+ /** Called when the block is tapped by the local player. */
+ public void tapped(){
}
@@ -871,7 +884,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
power += this.power.status * block.consumes.getPower().capacity;
}
- if(block.hasLiquids){
+ if(block.hasLiquids && state.rules.damageExplosions){
liquids.each((liquid, amount) -> {
float splash = Mathf.clamp(amount / 4f, 0f, 10f);
@@ -887,7 +900,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
});
}
- Damage.dynamicExplosion(x, y, flammability, explosiveness * 3.5f, power, tilesize * block.size / 2f, Pal.darkFlame);
+ Damage.dynamicExplosion(x, y, flammability, explosiveness * 3.5f, power, tilesize * block.size / 2f, Pal.darkFlame, state.rules.damageExplosions);
+
if(!floor().solid && !floor().isLiquid){
Effect.rubble(x, y, block.size);
}
@@ -1070,6 +1084,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
return true;
}
+ public boolean canPickup(){
+ return true;
+ }
+
public void removeFromProximity(){
onProximityRemoved();
tmpTiles.clear();
@@ -1168,15 +1186,23 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
}
@Override
- public double sense(LSensor sensor){
- if(sensor == LSensor.health) return health;
- if(sensor == LSensor.efficiency) return efficiency();
- if(sensor == LSensor.totalItems && items != null) return items.total();
- if(sensor == LSensor.totalLiquids && liquids != null) return liquids.total();
- if(sensor == LSensor.totalPower && power != null) return power.status * (block.consumes.getPower().buffered ? block.consumes.getPower().capacity : 1f);
- if(sensor == LSensor.powerNetIn && power != null) return power.graph.getPowerProduced();
- if(sensor == LSensor.powerNetOut && power != null) return power.graph.getPowerNeeded();
- if(sensor == LSensor.powerNetStored && power != null) return power.graph.getLastPowerStored();
+ public double sense(LAccess sensor){
+ if(sensor == LAccess.x) return x;
+ if(sensor == LAccess.y) return y;
+ if(sensor == LAccess.team) return team.id;
+ if(sensor == LAccess.health) return health;
+ if(sensor == LAccess.efficiency) return efficiency();
+ if(sensor == LAccess.rotation) return rotation;
+ if(sensor == LAccess.totalItems && items != null) return items.total();
+ if(sensor == LAccess.totalLiquids && liquids != null) return liquids.total();
+ if(sensor == LAccess.totalPower && power != null && block.consumes.hasPower()) return power.status * (block.consumes.getPower().buffered ? block.consumes.getPower().capacity : 1f);
+ if(sensor == LAccess.itemCapacity) return block.itemCapacity;
+ if(sensor == LAccess.liquidCapacity) return block.liquidCapacity;
+ if(sensor == LAccess.powerCapacity) return block.consumes.hasPower() ? block.consumes.getPower().capacity : 0f;
+ if(sensor == LAccess.powerNetIn && power != null) return power.graph.getPowerProduced();
+ if(sensor == LAccess.powerNetOut && power != null) return power.graph.getPowerNeeded();
+ if(sensor == LAccess.powerNetStored && power != null) return power.graph.getLastPowerStored();
+ if(sensor == LAccess.powerNetCapacity && power != null) return power.graph.getBatteryCapacity();
return 0;
}
@@ -1187,6 +1213,14 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
return 0;
}
+ @Override
+ public void control(LAccess type, double p1, double p2, double p3, double p4){
+ if(type == LAccess.enabled){
+ enabled = !Mathf.zero((float)p1);
+ enabledControlTime = timeToUncontrol;
+ }
+ }
+
@Override
public void remove(){
if(sound != null){
@@ -1211,6 +1245,14 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
timeScale = 1f;
}
+ if(block.autoResetEnabled){
+ enabledControlTime -= Time.delta;
+
+ if(enabledControlTime <= 0){
+ enabled = true;
+ }
+ }
+
if(sound != null){
sound.update(x, y, shouldActiveSound());
}
diff --git a/core/src/mindustry/entities/comp/CommanderComp.java b/core/src/mindustry/entities/comp/CommanderComp.java
index 5462014a16..39fdda447f 100644
--- a/core/src/mindustry/entities/comp/CommanderComp.java
+++ b/core/src/mindustry/entities/comp/CommanderComp.java
@@ -1,10 +1,13 @@
package mindustry.entities.comp;
+import arc.func.*;
+import arc.math.geom.*;
import arc.struct.*;
import arc.util.ArcAnnotate.*;
import mindustry.ai.formations.*;
import mindustry.ai.types.*;
import mindustry.annotations.Annotations.*;
+import mindustry.entities.*;
import mindustry.entities.units.*;
import mindustry.gen.*;
@@ -12,11 +15,14 @@ import mindustry.gen.*;
@Component
abstract class CommanderComp implements Unitc{
private static final Seq members = new Seq<>();
+ private static final Seq units = new Seq<>();
@Import float x, y, rotation;
transient @Nullable Formation formation;
transient Seq controlling = new Seq<>();
+ /** minimum speed of any unit in the formation. */
+ transient float minFormationSpeed;
@Override
public void update(){
@@ -42,21 +48,51 @@ abstract class CommanderComp implements Unitc{
clearCommand();
}
+ void commandNearby(FormationPattern pattern){
+ commandNearby(pattern, u -> true);
+ }
+
+ void commandNearby(FormationPattern pattern, Boolf include){
+ Formation formation = new Formation(new Vec3(x, y, rotation), pattern);
+ formation.slotAssignmentStrategy = new DistanceAssignmentStrategy(pattern);
+
+ units.clear();
+
+ Units.nearby(team(), x, y, 200f, u -> {
+ if(u.isAI() && include.get(u) && u != base()){
+ units.add(u);
+ }
+ });
+
+ units.sort(u -> u.dst2(this));
+ units.truncate(type().commandLimit);
+
+ command(formation, units);
+ }
+
void command(Formation formation, Seq units){
clearCommand();
+ float spacing = hitSize() * 1.7f;
+ minFormationSpeed = type().speed;
+
controlling.addAll(units);
for(Unit unit : units){
- unit.controller(new FormationAI(base(), formation));
+ FormationAI ai;
+ unit.controller(ai = new FormationAI(base(), formation));
+ spacing = Math.max(spacing, ai.formationSize());
+ minFormationSpeed = Math.min(minFormationSpeed, unit.type().speed);
}
this.formation = formation;
+ //update formation spacing based on max size
+ formation.pattern.spacing = spacing;
+
members.clear();
for(Unitc u : units){
members.add((FormationAI)u.controller());
}
-
//TODO doesn't handle units that don't fit a formation
formation.addMembers(members);
}
diff --git a/core/src/mindustry/entities/comp/FireComp.java b/core/src/mindustry/entities/comp/FireComp.java
index 075a96416b..e3b066a60f 100644
--- a/core/src/mindustry/entities/comp/FireComp.java
+++ b/core/src/mindustry/entities/comp/FireComp.java
@@ -15,14 +15,14 @@ import static mindustry.Vars.*;
@EntityDef(value = {Firec.class}, pooled = true)
@Component(base = true)
-abstract class FireComp implements Timedc, Posc, Firec{
+abstract class FireComp implements Timedc, Posc, Firec, Syncc{
private static final float spreadChance = 0.05f, fireballChance = 0.07f;
@Import float time, lifetime, x, y;
Tile tile;
- private Block block;
- private float baseFlammability = -1, puddleFlammability;
+ private transient Block block;
+ private transient float baseFlammability = -1, puddleFlammability;
@Override
public void update(){
@@ -99,4 +99,9 @@ abstract class FireComp implements Timedc, Posc, Firec{
public void afterRead(){
Fires.register(base());
}
+
+ @Override
+ public void afterSync(){
+ Fires.register(base());
+ }
}
diff --git a/core/src/mindustry/entities/comp/FlyingComp.java b/core/src/mindustry/entities/comp/FlyingComp.java
index bc27a2b084..415337622b 100644
--- a/core/src/mindustry/entities/comp/FlyingComp.java
+++ b/core/src/mindustry/entities/comp/FlyingComp.java
@@ -14,7 +14,7 @@ import static mindustry.Vars.net;
abstract class FlyingComp implements Posc, Velc, Healthc, Hitboxc{
private static final Vec2 tmp1 = new Vec2(), tmp2 = new Vec2();
- @Import float x, y;
+ @Import float x, y, speedMultiplier;
@Import Vec2 vel;
@SyncLocal float elevation;
@@ -56,7 +56,7 @@ abstract class FlyingComp implements Posc, Velc, Healthc, Hitboxc{
float floorSpeedMultiplier(){
Floor on = isFlying() || hovering ? Blocks.air.asFloor() : floorOn();
- return on.speedMultiplier;
+ return on.speedMultiplier * speedMultiplier;
}
@Override
diff --git a/core/src/mindustry/entities/comp/HealthComp.java b/core/src/mindustry/entities/comp/HealthComp.java
index 609f3da46f..ca65ea8115 100644
--- a/core/src/mindustry/entities/comp/HealthComp.java
+++ b/core/src/mindustry/entities/comp/HealthComp.java
@@ -6,7 +6,7 @@ import mindustry.annotations.Annotations.*;
import mindustry.gen.*;
@Component
-abstract class HealthComp implements Entityc{
+abstract class HealthComp implements Entityc, Posc{
static final float hitDuration = 9f;
float health;
diff --git a/core/src/mindustry/entities/comp/MechComp.java b/core/src/mindustry/entities/comp/MechComp.java
index 60e9a7dbde..d258e75406 100644
--- a/core/src/mindustry/entities/comp/MechComp.java
+++ b/core/src/mindustry/entities/comp/MechComp.java
@@ -13,7 +13,7 @@ abstract class MechComp implements Posc, Flyingc, Hitboxc, Unitc, Mechc, Elevati
@Override
public void update(){
float len = deltaLen();
- baseRotation = Angles.moveToward(baseRotation, deltaAngle(), type().baseRotateSpeed * Mathf.clamp(len / type().speed));
- walkTime += Time.delta *len;
+ baseRotation = Angles.moveToward(baseRotation, deltaAngle(), type().baseRotateSpeed * Mathf.clamp(len / type().speed / Time.delta) * Time.delta);
+ walkTime += len;
}
}
diff --git a/core/src/mindustry/entities/comp/MinerComp.java b/core/src/mindustry/entities/comp/MinerComp.java
index 12711abe2e..1ec4794ca2 100644
--- a/core/src/mindustry/entities/comp/MinerComp.java
+++ b/core/src/mindustry/entities/comp/MinerComp.java
@@ -40,19 +40,19 @@ abstract class MinerComp implements Itemsc, Posc, Teamc, Rotc, Drawc, Unitc{
public void update(){
Building core = closestCore();
- if(core != null && mineTile != null && mineTile.drop() != null && !acceptsItem(mineTile.drop()) && within(core, mineTransferRange)){
+ if(core != null && mineTile != null && mineTile.drop() != null && !acceptsItem(mineTile.drop()) && within(core, mineTransferRange) && !offloadImmediately()){
int accepted = core.acceptStack(item(), stack().amount, this);
if(accepted > 0){
Call.transferItemTo(item(), accepted,
mineTile.worldx() + Mathf.range(tilesize / 2f),
- mineTile.worldy() + Mathf.range(tilesize / 2f), core.tile());
+ mineTile.worldy() + Mathf.range(tilesize / 2f), core);
clearItem();
}
}
if(mineTile == null || core == null || mineTile.block() != Blocks.air || dst(mineTile.worldx(), mineTile.worldy()) > miningRange
|| (((Object)this) instanceof Builderc && ((Builderc)(Object)this).activelyBuilding())
- || mineTile.drop() == null || !acceptsItem(mineTile.drop()) || !canMine(mineTile.drop())){
+ || mineTile.drop() == null || !canMine(mineTile.drop())){
mineTile = null;
mineTimer = 0f;
}else{
@@ -60,25 +60,30 @@ abstract class MinerComp implements Itemsc, Posc, Teamc, Rotc, Drawc, Unitc{
rotation(Mathf.slerpDelta(rotation(), angleTo(mineTile.worldx(), mineTile.worldy()), 0.4f));
mineTimer += Time.delta *type.mineSpeed;
+ if(Mathf.chance(0.06 * Time.delta)){
+ Fx.pulverizeSmall.at(mineTile.worldx() + Mathf.range(tilesize / 2f), mineTile.worldy() + Mathf.range(tilesize / 2f), 0f, item.color);
+ }
+
if(mineTimer >= 50f + item.hardness*10f){
mineTimer = 0;
if(within(core, mineTransferRange) && core.acceptStack(item, 1, this) == 1 && offloadImmediately()){
Call.transferItemTo(item, 1,
mineTile.worldx() + Mathf.range(tilesize / 2f),
- mineTile.worldy() + Mathf.range(tilesize / 2f), core.tile());
+ mineTile.worldy() + Mathf.range(tilesize / 2f), core);
}else if(acceptsItem(item)){
//this is clientside, since items are synced anyway
InputHandler.transferItemToUnit(item,
mineTile.worldx() + Mathf.range(tilesize / 2f),
mineTile.worldy() + Mathf.range(tilesize / 2f),
this);
+ }else{
+ mineTile = null;
+ mineTimer = 0f;
}
}
- if(Mathf.chance(0.06 * Time.delta)){
- Fx.pulverizeSmall.at(mineTile.worldx() + Mathf.range(tilesize / 2f), mineTile.worldy() + Mathf.range(tilesize / 2f), 0f, item.color);
- }
+
}
}
diff --git a/core/src/mindustry/entities/comp/PayloadComp.java b/core/src/mindustry/entities/comp/PayloadComp.java
index b3e14d5f6e..b715d4d7c4 100644
--- a/core/src/mindustry/entities/comp/PayloadComp.java
+++ b/core/src/mindustry/entities/comp/PayloadComp.java
@@ -6,6 +6,7 @@ import arc.util.*;
import mindustry.*;
import mindustry.annotations.Annotations.*;
import mindustry.content.*;
+import mindustry.entities.*;
import mindustry.gen.*;
import mindustry.world.*;
import mindustry.world.blocks.payloads.*;
@@ -69,17 +70,22 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc{
boolean dropUnit(UnitPayload payload){
Unit u = payload.unit;
+ Fx.unitDrop.at(this);
//can't drop ground units
- if((tileOn() == null || tileOn().solid()) && u.elevation < 0.1f){
+ if(((tileOn() == null || tileOn().solid()) && u.elevation < 0.1f) || (!floorOn().isLiquid && u instanceof WaterMovec)){
return false;
}
+ //clients do not drop payloads
+ if(Vars.net.client()) return true;
+
u.set(this);
u.trns(Tmp.v1.rnd(Mathf.random(2f)));
u.rotation(rotation);
+ //reset the ID to a new value to make sure it's synced
+ u.id = EntityGroup.nextId();
u.add();
- Fx.unitDrop.at(u);
return true;
}
@@ -89,7 +95,7 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc{
Building tile = payload.entity;
int tx = Vars.world.toTile(x - tile.block().offset), ty = Vars.world.toTile(y - tile.block().offset);
Tile on = Vars.world.tile(tx, ty);
- if(on != null && Build.validPlace(tile.block(), tile.team(), tx, ty, tile.rotation)){
+ if(on != null && Build.validPlace(tile.block(), tile.team, tx, ty, tile.rotation)){
int rot = (int)((rotation + 45f) / 90f) % 4;
payload.place(on, rot);
diff --git a/core/src/mindustry/entities/comp/PlayerComp.java b/core/src/mindustry/entities/comp/PlayerComp.java
index a259585805..ce0f36d908 100644
--- a/core/src/mindustry/entities/comp/PlayerComp.java
+++ b/core/src/mindustry/entities/comp/PlayerComp.java
@@ -54,11 +54,13 @@ abstract class PlayerComp implements UnitController, Entityc, Syncc, Timerc, Dra
return unit instanceof Minerc;
}
- public @Nullable CoreEntity closestCore(){
+ public @Nullable
+ CoreBuild closestCore(){
return state.teams.closestCore(x, y, team);
}
- public @Nullable CoreEntity core(){
+ public @Nullable
+ CoreBuild core(){
return team.core();
}
@@ -104,7 +106,7 @@ abstract class PlayerComp implements UnitController, Entityc, Syncc, Timerc, Dra
clearUnit();
}
- CoreEntity core = closestCore();
+ CoreBuild core = closestCore();
if(!dead()){
set(unit);
diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java
index c10880a813..53b53b4182 100644
--- a/core/src/mindustry/entities/comp/UnitComp.java
+++ b/core/src/mindustry/entities/comp/UnitComp.java
@@ -31,6 +31,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
@Import float x, y, rotation, elevation, maxHealth, drag, armor, hitSize, health;
@Import boolean dead;
@Import Team team;
+ @Import int id;
private UnitController controller;
private UnitType type;
@@ -70,9 +71,16 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
}
@Override
- public double sense(LSensor sensor){
- if(sensor == LSensor.totalItems) return stack().amount;
- if(sensor == LSensor.health) return health;
+ public double sense(LAccess sensor){
+ if(sensor == LAccess.totalItems) return stack().amount;
+ if(sensor == LAccess.rotation) return rotation;
+ if(sensor == LAccess.health) return health;
+ if(sensor == LAccess.x) return x;
+ if(sensor == LAccess.y) return y;
+ if(sensor == LAccess.team) return team.id;
+ if(sensor == LAccess.shooting) return isShooting() ? 1 : 0;
+ if(sensor == LAccess.shootX) return aimX();
+ if(sensor == LAccess.shootY) return aimY();
return 0;
}
@@ -216,7 +224,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
//apply knockback based on spawns
if(team != state.rules.waveTeam){
- float relativeSize = state.rules.dropZoneRadius + bounds()/2f + 1f;
+ float relativeSize = state.rules.dropZoneRadius + hitSize/2f + 1f;
for(Tile spawn : spawner.getSpawns()){
if(within(spawn.worldx(), spawn.worldy(), relativeSize)){
vel().add(Tmp.v1.set(this).sub(spawn.worldx(), spawn.worldy()).setLength(0.1f + 1f - dst(spawn) / relativeSize).scl(0.45f * Time.delta));
@@ -268,10 +276,10 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
damageContinuous(floor.damageTaken);
}
- if(!net.client() && tile.solid()){
+ if(tile.solid()){
if(type.canBoost){
elevation = 1f;
- }else{
+ }else if(!net.client()){
kill();
}
}
@@ -282,6 +290,11 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
controller.updateUnit();
}
+ //clear controller when it becomes invalid
+ if(!controller.isValidController()){
+ resetController();
+ }
+
//do not control anything when deactivated
if(deactivated){
controlWeapons(false, false);
@@ -302,7 +315,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
public void destroy(){
float explosiveness = 2f + item().explosiveness * stack().amount;
float flammability = item().flammability * stack().amount;
- Damage.dynamicExplosion(x, y, flammability, explosiveness, 0f, bounds() / 2f, Pal.darkFlame);
+ Damage.dynamicExplosion(x, y, flammability, explosiveness, 0f, bounds() / 2f, Pal.darkFlame, state.rules.damageExplosions);
float shake = hitSize / 3f;
@@ -377,6 +390,6 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
if(dead || net.client()) return;
//deaths are synced; this calls killed()
- Call.unitDeath(base());
+ Call.unitDeath(id);
}
}
diff --git a/core/src/mindustry/entities/comp/VelComp.java b/core/src/mindustry/entities/comp/VelComp.java
index b01e6322ce..469d217665 100644
--- a/core/src/mindustry/entities/comp/VelComp.java
+++ b/core/src/mindustry/entities/comp/VelComp.java
@@ -1,5 +1,6 @@
package mindustry.entities.comp;
+import arc.math.*;
import arc.math.geom.*;
import arc.util.*;
import mindustry.annotations.Annotations.*;
@@ -18,7 +19,7 @@ abstract class VelComp implements Posc{
@Override
public void update(){
move(vel.x * Time.delta, vel.y * Time.delta);
- vel.scl(1f - drag * Time.delta);
+ vel.scl(Mathf.clamp(1f - drag * Time.delta));
}
boolean moving(){
diff --git a/core/src/mindustry/entities/comp/WaterMoveComp.java b/core/src/mindustry/entities/comp/WaterMoveComp.java
index 176c9dee09..92d3fffbf1 100644
--- a/core/src/mindustry/entities/comp/WaterMoveComp.java
+++ b/core/src/mindustry/entities/comp/WaterMoveComp.java
@@ -10,6 +10,7 @@ import mindustry.entities.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.type.*;
+import mindustry.world.*;
import mindustry.world.blocks.environment.*;
import static mindustry.Vars.*;
@@ -35,6 +36,20 @@ abstract class WaterMoveComp implements Posc, Velc, Hitboxc, Flyingc, Unitc{
}
}
+ @Override
+ @Replace
+ public void lookAt(float angle){
+ if(onLiquid()){
+ rotation = Angles.moveToward(rotation, angle, type.rotateSpeed * Time.delta);
+ }
+ }
+
+ @Override
+ @Replace
+ public boolean canShoot(){
+ return onLiquid();
+ }
+
@Override
public void add(){
tleft.clear();
@@ -47,8 +62,8 @@ abstract class WaterMoveComp implements Posc, Velc, Hitboxc, Flyingc, Unitc{
Draw.z(Layer.debris);
- Floor floor = floorOn();
- Color color = Tmp.c1.set(floor.mapColor).mul(1.5f);
+ Floor floor = tileOn() == null ? Blocks.air.asFloor() : tileOn().floor();
+ Color color = Tmp.c1.set(floor.mapColor.equals(Color.black) ? Blocks.water.mapColor : floor.mapColor).mul(1.5f);
trailColor.lerp(color, Mathf.clamp(Time.delta * 0.04f));
tleft.draw(trailColor, type.trailScl);
@@ -79,5 +94,10 @@ abstract class WaterMoveComp implements Posc, Velc, Hitboxc, Flyingc, Unitc{
Floor on = isFlying() ? Blocks.air.asFloor() : floorOn();
return on.isDeep() ? 1.3f : 1f;
}
+
+ public boolean onLiquid(){
+ Tile tile = tileOn();
+ return tile != null && tile.floor().isLiquid;
+ }
}
diff --git a/core/src/mindustry/entities/comp/WeaponsComp.java b/core/src/mindustry/entities/comp/WeaponsComp.java
index d464a7024f..5665bee7db 100644
--- a/core/src/mindustry/entities/comp/WeaponsComp.java
+++ b/core/src/mindustry/entities/comp/WeaponsComp.java
@@ -76,9 +76,15 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc{
aimY = y;
}
+ boolean canShoot(){
+ return true;
+ }
+
/** Update shooting and rotation for this unit. */
@Override
public void update(){
+ boolean can = canShoot();
+
for(WeaponMount mount : mounts){
Weapon weapon = mount.weapon;
mount.reload = Math.max(mount.reload - Time.delta * reloadMultiplier, 0);
@@ -91,7 +97,7 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc{
}
//rotate if applicable
- if(weapon.rotate && (mount.rotate || mount.shoot)){
+ if(weapon.rotate && (mount.rotate || mount.shoot) && can){
float axisX = this.x + Angles.trnsx(rotation - 90, weapon.x, weapon.y),
axisY = this.y + Angles.trnsy(rotation - 90, weapon.x, weapon.y);
@@ -104,9 +110,11 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc{
//shoot if applicable
if(mount.shoot && //must be shooting
+ can && //must be able to shoot
(ammo > 0 || !state.rules.unitAmmo || team().rules().infiniteAmmo) && //check ammo
(!weapon.alternate || mount.side == weapon.flipSprite) &&
- vel.len() >= mount.weapon.minShootVelocity && //check velocity requirements
+ //TODO checking for velocity this way isn't entirely correct
+ (vel.len() >= mount.weapon.minShootVelocity || (net.active() && !isLocal())) && //check velocity requirements
mount.reload <= 0.0001f && //reload has to be 0
Angles.within(weapon.rotate ? mount.rotation : this.rotation, mount.targetRotation, mount.weapon.shootCone) //has to be within the cone
){
diff --git a/core/src/mindustry/entities/units/AIController.java b/core/src/mindustry/entities/units/AIController.java
index 5bbd462d42..aa95959e60 100644
--- a/core/src/mindustry/entities/units/AIController.java
+++ b/core/src/mindustry/entities/units/AIController.java
@@ -2,7 +2,9 @@ package mindustry.entities.units;
import arc.math.*;
import arc.math.geom.*;
+import arc.util.ArcAnnotate.*;
import arc.util.*;
+import mindustry.*;
import mindustry.entities.*;
import mindustry.gen.*;
import mindustry.type.*;
@@ -33,6 +35,10 @@ public class AIController implements UnitController{
updateMovement();
}
+ protected UnitCommand command(){
+ return unit.team.data().command;
+ }
+
protected void updateMovement(){
}
@@ -115,6 +121,45 @@ public class AIController implements UnitController{
}
+ protected @Nullable Tile getClosestSpawner(){
+ return Geometry.findClosest(unit.x, unit.y, Vars.spawner.getSpawns());
+ }
+
+ protected void circle(Position target, float circleLength){
+ circle(target, circleLength, unit.type().speed);
+ }
+
+ protected void circle(Position target, float circleLength, float speed){
+ if(target == null) return;
+
+ vec.set(target).sub(unit);
+
+ if(vec.len() < circleLength){
+ vec.rotate((circleLength - vec.len()) / circleLength * 180f);
+ }
+
+ vec.setLength(speed * Time.delta);
+
+ unit.moveAt(vec);
+ }
+
+ protected void moveTo(Position target, float circleLength){
+ if(target == null) return;
+
+ vec.set(target).sub(unit);
+
+ float length = circleLength <= 0.001f ? 1f : Mathf.clamp((unit.dst(target) - circleLength) / 100f, -1f, 1f);
+
+ vec.setLength(unit.type().speed * Time.delta * length);
+ if(length < -0.5f){
+ vec.rotate(180f);
+ }else if(length < 0){
+ vec.setZero();
+ }
+
+ unit.moveAt(vec);
+ }
+
@Override
public void unit(Unit unit){
if(this.unit == unit) return;
diff --git a/core/src/mindustry/entities/units/BuildPlan.java b/core/src/mindustry/entities/units/BuildPlan.java
index 588c549a2c..e8dba045d7 100644
--- a/core/src/mindustry/entities/units/BuildPlan.java
+++ b/core/src/mindustry/entities/units/BuildPlan.java
@@ -53,7 +53,8 @@ public class BuildPlan{
}
- public static Object pointConfig(Object config, Cons cons){
+ /** Transforms the internal position of this config using the specified function, and return the result. */
+ public static Object pointConfig(Block block, Object config, Cons cons){
if(config instanceof Point2){
config = ((Point2)config).cpy();
cons.get((Point2)config);
@@ -65,14 +66,15 @@ public class BuildPlan{
cons.get(result[i++]);
}
config = result;
+ }else if(block != null){
+ config = block.pointConfig(config, cons);
}
return config;
}
- /** If this requests's config is a Point2 or an array of Point2s, this returns a copy of them for transformation.
- * Otherwise does nothing. */
+ /** Transforms the internal position of this config using the specified function. */
public void pointConfig(Cons cons){
- this.config = pointConfig(this.config, cons);
+ this.config = pointConfig(block, this.config, cons);
}
public BuildPlan copy(){
diff --git a/core/src/mindustry/entities/units/UnitCommand.java b/core/src/mindustry/entities/units/UnitCommand.java
index dada524b84..977150a92d 100644
--- a/core/src/mindustry/entities/units/UnitCommand.java
+++ b/core/src/mindustry/entities/units/UnitCommand.java
@@ -3,7 +3,7 @@ package mindustry.entities.units;
import arc.*;
public enum UnitCommand{
- attack, retreat, rally;
+ attack, rally, idle;
private final String localized;
public static final UnitCommand[] all = values();
diff --git a/core/src/mindustry/game/DefaultWaves.java b/core/src/mindustry/game/DefaultWaves.java
index b7388040f5..6abdc46eb5 100644
--- a/core/src/mindustry/game/DefaultWaves.java
+++ b/core/src/mindustry/game/DefaultWaves.java
@@ -35,6 +35,12 @@ public class DefaultWaves{
max = 4;
}},
+ new SpawnGroup(UnitTypes.pulsar){{
+ begin = 13;
+ spacing = 3;
+ unitScaling = 0.5f;
+ }},
+
new SpawnGroup(UnitTypes.mace){{
begin = 7;
spacing = 3;
diff --git a/core/src/mindustry/game/EventType.java b/core/src/mindustry/game/EventType.java
index e3915e4b45..3dcfe0aca2 100644
--- a/core/src/mindustry/game/EventType.java
+++ b/core/src/mindustry/game/EventType.java
@@ -5,6 +5,7 @@ import mindustry.core.GameState.*;
import mindustry.ctype.*;
import mindustry.entities.units.*;
import mindustry.gen.*;
+import mindustry.net.*;
import mindustry.type.*;
import mindustry.world.*;
@@ -29,7 +30,12 @@ public class EventType{
openWiki,
teamCoreDamage,
socketConfigChanged,
- update
+ update,
+ draw,
+ preDraw,
+ postDraw,
+ uiDrawBegin,
+ uiDrawEnd
}
public static class WinEvent{}
@@ -87,6 +93,14 @@ public class EventType{
}
}
+ public static class ClientPreConnectEvent{
+ public final Host host;
+
+ public ClientPreConnectEvent(Host host){
+ this.host = host;
+ }
+ }
+
public static class PlayerChatEvent{
public final Player player;
public final String message;
@@ -97,27 +111,6 @@ public class EventType{
}
}
- /** Called when a zone's requirements are met. */
- public static class ZoneRequireCompleteEvent{
- public final SectorPreset zoneMet, zoneForMet;
- public final Objectives.Objective objective;
-
- public ZoneRequireCompleteEvent(SectorPreset zoneMet, SectorPreset zoneForMet, Objectives.Objective objective){
- this.zoneMet = zoneMet;
- this.zoneForMet = zoneForMet;
- this.objective = objective;
- }
- }
-
- /** Called when a zone's requirements are met. */
- public static class ZoneConfigureCompleteEvent{
- public final SectorPreset zone;
-
- public ZoneConfigureCompleteEvent(SectorPreset zone){
- this.zone = zone;
- }
- }
-
/** Called when a sector is conquered, e.g. a boss or base is defeated. */
public static class SectorCaptureEvent{
public final Sector sector;
@@ -157,24 +150,13 @@ public class EventType{
}
}
- /** Called when the player taps a block. */
- public static class TapEvent{
- public final Building tile;
- public final Player player;
-
- public TapEvent(Building tile, Player player){
- this.tile = tile;
- this.player = player;
- }
- }
-
- /** Called when the player sets a specific block. */
- public static class TapConfigEvent{
+ /** Called when the configures sets a specific block. */
+ public static class ConfigEvent{
public final Building tile;
public final Player player;
public final Object value;
- public TapConfigEvent(Building tile, Player player, Object value){
+ public ConfigEvent(Building tile, Player player, Object value){
this.tile = tile;
this.player = player;
this.value = value;
diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java
index 83b0c67e6a..2b0c2bac28 100644
--- a/core/src/mindustry/game/Rules.java
+++ b/core/src/mindustry/game/Rules.java
@@ -38,6 +38,10 @@ public class Rules{
public boolean canGameOver = true;
/** Whether reactors can explode and damage other blocks. */
public boolean reactorExplosions = true;
+ /** Whether friendly explosions can occur and set fire/damage other blocks. */
+ public boolean damageExplosions = true;
+ /** Whether fire is enabled. */
+ public boolean fire = true;
/** Whether units use and require ammo. */
public boolean unitAmmo = false;
/** How fast unit pads build units. */
@@ -92,6 +96,8 @@ public class Rules{
public Team defaultTeam = Team.sharded;
/** team of the enemy in waves/sectors */
public Team waveTeam = Team.crux;
+ /** name of the custom mode that this ruleset describes, or null. */
+ public @Nullable String modeName;
/** special tags for additional info */
public StringMap tags = new StringMap();
diff --git a/core/src/mindustry/game/Saves.java b/core/src/mindustry/game/Saves.java
index bf9dd2ae95..501eaf2c3c 100644
--- a/core/src/mindustry/game/Saves.java
+++ b/core/src/mindustry/game/Saves.java
@@ -23,14 +23,14 @@ import java.util.*;
import static mindustry.Vars.*;
public class Saves{
- private Seq saves = new Seq<>();
- private @Nullable SaveSlot current;
+ Seq saves = new Seq<>();
+ @Nullable SaveSlot current;
private @Nullable SaveSlot lastSectorSave;
- private AsyncExecutor previewExecutor = new AsyncExecutor(1);
+ AsyncExecutor previewExecutor = new AsyncExecutor(1);
private boolean saving;
private float time;
- private long totalPlaytime;
+ long totalPlaytime;
private long lastTimestamp;
public Saves(){
diff --git a/core/src/mindustry/game/Schematics.java b/core/src/mindustry/game/Schematics.java
index 95cbece27f..3c8063d1ac 100644
--- a/core/src/mindustry/game/Schematics.java
+++ b/core/src/mindustry/game/Schematics.java
@@ -583,7 +583,7 @@ public class Schematics implements Loadable{
int ox = schem.width/2, oy = schem.height/2;
schem.tiles.each(req -> {
- req.config = BuildPlan.pointConfig(req.config, p -> {
+ req.config = BuildPlan.pointConfig(req.block, req.config, p -> {
int cx = p.x, cy = p.y;
int lx = cx;
diff --git a/core/src/mindustry/game/SectorInfo.java b/core/src/mindustry/game/SectorInfo.java
index c9afbb75e2..7b585890c3 100644
--- a/core/src/mindustry/game/SectorInfo.java
+++ b/core/src/mindustry/game/SectorInfo.java
@@ -64,7 +64,7 @@ public class SectorInfo{
//update core items
coreItems.clear();
- CoreEntity entity = state.rules.defaultTeam.core();
+ CoreBuild entity = state.rules.defaultTeam.core();
if(entity != null){
ItemModule items = entity.items;
@@ -97,7 +97,7 @@ public class SectorInfo{
updateCoreDeltas();
}
- CoreEntity ent = state.rules.defaultTeam.core();
+ CoreBuild ent = state.rules.defaultTeam.core();
//refresh throughput
if(time.get(refreshPeriod)){
@@ -141,7 +141,7 @@ public class SectorInfo{
}
private void updateCoreDeltas(){
- CoreEntity ent = state.rules.defaultTeam.core();
+ CoreBuild ent = state.rules.defaultTeam.core();
for(int i = 0; i < lastCoreItems.length; i++){
lastCoreItems[i] = ent == null ? 0 : ent.items.get(i);
}
diff --git a/core/src/mindustry/game/Team.java b/core/src/mindustry/game/Team.java
index df124f40fd..3028edf3f4 100644
--- a/core/src/mindustry/game/Team.java
+++ b/core/src/mindustry/game/Team.java
@@ -91,7 +91,7 @@ public class Team implements Comparable{
return state.teams.get(this);
}
- public @Nullable CoreEntity core(){
+ public @Nullable CoreBuild core(){
return data().core();
}
@@ -103,7 +103,7 @@ public class Team implements Comparable{
return state.teams.areEnemies(this, other);
}
- public Seq cores(){
+ public Seq cores(){
return state.teams.cores(this);
}
diff --git a/core/src/mindustry/game/Teams.java b/core/src/mindustry/game/Teams.java
index 592aa9d444..e513c31fc6 100644
--- a/core/src/mindustry/game/Teams.java
+++ b/core/src/mindustry/game/Teams.java
@@ -5,7 +5,10 @@ import arc.math.geom.*;
import arc.struct.*;
import arc.util.ArcAnnotate.*;
import mindustry.ai.*;
+import mindustry.content.*;
+import mindustry.entities.units.*;
import mindustry.gen.*;
+import mindustry.type.*;
import mindustry.world.blocks.storage.CoreBlock.*;
import static mindustry.Vars.*;
@@ -21,15 +24,15 @@ public class Teams{
active.add(get(Team.crux));
}
- public @Nullable CoreEntity closestEnemyCore(float x, float y, Team team){
+ public @Nullable CoreBuild closestEnemyCore(float x, float y, Team team){
for(Team enemy : team.enemies()){
- CoreEntity tile = Geometry.findClosest(x, y, enemy.cores());
+ CoreBuild tile = Geometry.findClosest(x, y, enemy.cores());
if(tile != null) return tile;
}
return null;
}
- public @Nullable CoreEntity closestCore(float x, float y, Team team){
+ public @Nullable CoreBuild closestCore(float x, float y, Team team){
return Geometry.findClosest(x, y, get(team).cores);
}
@@ -37,10 +40,10 @@ public class Teams{
return get(team).enemies;
}
- public boolean eachEnemyCore(Team team, Boolf ret){
+ public boolean eachEnemyCore(Team team, Boolf ret){
for(TeamData data : active){
if(areEnemies(team, data.team)){
- for(CoreEntity tile : data.cores){
+ for(CoreBuild tile : data.cores){
if(ret.get(tile)){
return true;
}
@@ -68,12 +71,12 @@ public class Teams{
return map[team.id];
}
- public Seq playerCores(){
+ public Seq playerCores(){
return get(state.rules.defaultTeam).cores;
}
/** Do not modify! */
- public Seq cores(Team team){
+ public Seq cores(Team team){
return get(team).cores;
}
@@ -98,8 +101,8 @@ public class Teams{
return active;
}
- public void registerCore(CoreEntity core){
- TeamData data = get(core.team());
+ public void registerCore(CoreBuild core){
+ TeamData data = get(core.team);
//add core if not present
if(!data.cores.contains(core)){
data.cores.add(core);
@@ -113,8 +116,8 @@ public class Teams{
}
}
- public void unregisterCore(CoreEntity entity){
- TeamData data = get(entity.team());
+ public void unregisterCore(CoreBuild entity){
+ TeamData data = get(entity.team);
//remove core
data.cores.remove(entity);
//unregister in active list
@@ -143,11 +146,17 @@ public class Teams{
}
public class TeamData{
- public final Seq cores = new Seq<>();
+ public final Seq cores = new Seq<>();
public final Team team;
public final BaseAI ai;
+
public Team[] enemies = {};
+ /** Planned blocks for drones. This is usually only blocks that have been broken. */
public Queue blocks = new Queue<>();
+ /** The current command for units to follow. */
+ public UnitCommand command = UnitCommand.attack;
+ /** Target items to mine. */
+ public Seq
- mineItems = Seq.with(Items.copper, Items.lead, Items.titanium, Items.thorium);
public TeamData(Team team){
this.team = team;
@@ -166,13 +175,13 @@ public class Teams{
return cores.isEmpty();
}
- public @Nullable CoreEntity core(){
+ public @Nullable CoreBuild core(){
return cores.isEmpty() ? null : cores.first();
}
/** @return whether this team is controlled by the AI and builds bases. */
public boolean hasAI(){
- return state.rules.attackMode && team.rules().ai;
+ return team.rules().ai;
}
@Override
diff --git a/core/src/mindustry/game/Tutorial.java b/core/src/mindustry/game/Tutorial.java
index cfaa85a84c..bfa18e8e50 100644
--- a/core/src/mindustry/game/Tutorial.java
+++ b/core/src/mindustry/game/Tutorial.java
@@ -23,9 +23,9 @@ public class Tutorial{
private static final int mineCopper = 18;
private static final int blocksToBreak = 3, blockOffset = -6;
- private ObjectSet events = new ObjectSet<>();
- private ObjectIntMap blocksPlaced = new ObjectIntMap<>();
- private int sentence;
+ ObjectSet events = new ObjectSet<>();
+ ObjectIntMap blocksPlaced = new ObjectIntMap<>();
+ int sentence;
public TutorialStage stage = TutorialStage.values()[0];
public Tutorial(){
diff --git a/core/src/mindustry/graphics/BlockRenderer.java b/core/src/mindustry/graphics/BlockRenderer.java
index 97382dd6d7..08b13bf9b8 100644
--- a/core/src/mindustry/graphics/BlockRenderer.java
+++ b/core/src/mindustry/graphics/BlockRenderer.java
@@ -249,7 +249,7 @@ public class BlockRenderer implements Disposable{
Draw.z(Layer.block);
}
- if(entity.team() != player.team()){
+ if(entity.team != player.team()){
entity.drawTeam();
Draw.z(Layer.block);
}
diff --git a/core/src/mindustry/graphics/Drawf.java b/core/src/mindustry/graphics/Drawf.java
index 0a5bbb39c0..4b4a00e47d 100644
--- a/core/src/mindustry/graphics/Drawf.java
+++ b/core/src/mindustry/graphics/Drawf.java
@@ -157,7 +157,7 @@ public class Drawf{
Lines.stroke(12f * scale);
Lines.precise(true);
- Lines.line(line, x + Tmp.v1.x, y + Tmp.v1.y, x2 - Tmp.v1.x, y2 - Tmp.v1.y, CapStyle.none, 0f);
+ Lines.line(line, x + Tmp.v1.x, y + Tmp.v1.y, x2 - Tmp.v1.x, y2 - Tmp.v1.y, false, 0f);
Lines.precise(false);
Lines.stroke(1f);
diff --git a/core/src/mindustry/graphics/FloorRenderer.java b/core/src/mindustry/graphics/FloorRenderer.java
index b13011fbba..43c45ad221 100644
--- a/core/src/mindustry/graphics/FloorRenderer.java
+++ b/core/src/mindustry/graphics/FloorRenderer.java
@@ -256,5 +256,8 @@ public class FloorRenderer implements Disposable{
/** Maps cache layer ID to cache ID in the batch.
* -1 means that this cache is unoccupied. */
int[] caches = new int[CacheLayer.all.length];
+
+ Chunk(){
+ }
}
}
diff --git a/core/src/mindustry/graphics/Layer.java b/core/src/mindustry/graphics/Layer.java
index 87892852f2..519850a2f9 100644
--- a/core/src/mindustry/graphics/Layer.java
+++ b/core/src/mindustry/graphics/Layer.java
@@ -5,6 +5,9 @@ public class Layer{
public static final float
+ //min layer
+ min = -11,
+
//background, which may be planets or an image or nothing at all
background = -10,
@@ -81,7 +84,10 @@ public class Layer{
end = 200,
//things after pixelation - used for text
- endPixeled = 210
+ endPixeled = 210,
+
+ //max layer
+ max = 220
;
}
diff --git a/core/src/mindustry/graphics/LoadRenderer.java b/core/src/mindustry/graphics/LoadRenderer.java
index 9dcb08fa5e..295205a13d 100644
--- a/core/src/mindustry/graphics/LoadRenderer.java
+++ b/core/src/mindustry/graphics/LoadRenderer.java
@@ -464,7 +464,7 @@ public class LoadRenderer implements Disposable{
Font font = assets.get("tech");
font.setColor(Pal.accent);
Draw.color(Color.black);
- font.draw(red + "[[[[ " +key + " ]]\n\n"+orange+"<" + Version.modifier + " " + (Version.build == 0 ? " [init]" : Version.build == -1 ? " custom" : " " + Version.build) + ">", w/2f, h/2f + 110*s, Align.center);
+ font.draw(red + "[[[[ " + key + " ]]\n"+orange+"<" + Version.modifier + " " + (Version.build == 0 ? " [init]" : Version.build == -1 ? " custom" : " " + Version.build) + ">", w/2f, h/2f + 110*s, Align.center);
}
Lines.precise(false);
diff --git a/core/src/mindustry/graphics/OverlayRenderer.java b/core/src/mindustry/graphics/OverlayRenderer.java
index cbb388543d..133d8898b0 100644
--- a/core/src/mindustry/graphics/OverlayRenderer.java
+++ b/core/src/mindustry/graphics/OverlayRenderer.java
@@ -42,10 +42,10 @@ public class OverlayRenderer{
if(!rect.setSize(Core.camera.width * 0.9f, Core.camera.height * 0.9f)
.setCenter(Core.camera.position.x, Core.camera.position.y).contains(player.x, player.y)){
- Tmp.v1.set(player.x, player.y).sub(player).setLength(indicatorLength);
+ Tmp.v1.set(player).sub(Vars.player).setLength(indicatorLength);
- Lines.stroke(2f, player.team().color);
- Lines.lineAngle(player.x + Tmp.v1.x, player.y + Tmp.v1.y, Tmp.v1.angle(), 4f);
+ Lines.stroke(2f, Vars.player.team().color);
+ Lines.lineAngle(Vars.player.x + Tmp.v1.x, Vars.player.y + Tmp.v1.y, Tmp.v1.angle(), 4f);
Draw.reset();
}
}
@@ -111,7 +111,7 @@ public class OverlayRenderer{
if(dst < state.rules.enemyCoreBuildRadius * 2.2f){
Draw.color(Color.darkGray);
Lines.circle(core.x, core.y - 2, state.rules.enemyCoreBuildRadius);
- Draw.color(Pal.accent, core.team().color, 0.5f + Mathf.absin(Time.time(), 10f, 0.5f));
+ Draw.color(Pal.accent, core.team.color, 0.5f + Mathf.absin(Time.time(), 10f, 0.5f));
Lines.circle(core.x, core.y, state.rules.enemyCoreBuildRadius);
}
});
@@ -134,8 +134,11 @@ public class OverlayRenderer{
Vec2 vec = Core.input.mouseWorld(input.getMouseX(), input.getMouseY());
Building tile = world.buildWorld(vec.x, vec.y);
- if(tile != null && tile.team() == player.team()){
+ if(tile != null && tile.team == player.team()){
tile.drawSelect();
+ if(!tile.enabled && tile.block.drawDisabled){
+ tile.drawDisabled();
+ }
if(Core.input.keyDown(Binding.rotateplaced) && tile.block().rotate && tile.interactable(player.team())){
control.input.drawArrow(tile.block(), tile.tileX(), tile.tileY(), tile.rotation, true);
diff --git a/core/src/mindustry/graphics/Pal.java b/core/src/mindustry/graphics/Pal.java
index 84121a9893..052cd14326 100644
--- a/core/src/mindustry/graphics/Pal.java
+++ b/core/src/mindustry/graphics/Pal.java
@@ -9,6 +9,10 @@ public class Pal{
command = Color.valueOf("eab678"),
sap = Color.valueOf("665c9f"),
+ sapBullet = Color.valueOf("bf92f9"),
+ sapBulletBack = Color.valueOf("6d56bf"),
+
+ spore = Color.valueOf("7457ce"),
shield = Color.valueOf("ffd37f").a(0.7f),
shieldIn = Color.black.cpy().a(0f),
diff --git a/core/src/mindustry/input/Binding.java b/core/src/mindustry/input/Binding.java
index 517e50ca69..75655412cb 100644
--- a/core/src/mindustry/input/Binding.java
+++ b/core/src/mindustry/input/Binding.java
@@ -8,7 +8,8 @@ import arc.input.*;
public enum Binding implements KeyBind{
move_x(new Axis(KeyCode.a, KeyCode.d), "general"),
move_y(new Axis(KeyCode.s, KeyCode.w)),
- mouse_move(KeyCode.mouseForward),
+ mouse_move(KeyCode.mouseBack),
+ pan(KeyCode.mouseForward),
boost(KeyCode.shiftLeft),
control(KeyCode.controlLeft),
diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java
index 5af981fb9f..1903d21c40 100644
--- a/core/src/mindustry/input/DesktopInput.java
+++ b/core/src/mindustry/input/DesktopInput.java
@@ -13,7 +13,6 @@ import arc.scene.ui.layout.*;
import arc.util.ArcAnnotate.*;
import arc.util.*;
import mindustry.*;
-import mindustry.entities.*;
import mindustry.entities.units.*;
import mindustry.game.EventType.*;
import mindustry.game.*;
@@ -28,24 +27,33 @@ import static mindustry.Vars.*;
import static mindustry.input.PlaceMode.*;
public class DesktopInput extends InputHandler{
- private Vec2 movement = new Vec2();
+ public Vec2 movement = new Vec2();
/** Current cursor type. */
- private Cursor cursorType = SystemCursor.arrow;
+ public Cursor cursorType = SystemCursor.arrow;
/** Position where the player started dragging a line. */
- private int selectX, selectY, schemX, schemY;
+ public int selectX, selectY, schemX, schemY;
/** Last known line positions.*/
- private int lastLineX, lastLineY, schematicX, schematicY;
+ public int lastLineX, lastLineY, schematicX, schematicY;
/** Whether selecting mode is active. */
- private PlaceMode mode;
+ public PlaceMode mode;
/** Animation scale for line. */
- private float selectScale;
+ public float selectScale;
/** Selected build request for movement. */
- private @Nullable BuildPlan sreq;
+ public @Nullable BuildPlan sreq;
/** Whether player is currently deleting removal requests. */
- private boolean deleting = false, shouldShoot = false;
+ public boolean deleting = false, shouldShoot = false, panning = false;
@Override
public void buildUI(Group group){
+ group.fill(t -> {
+ t.visible(() -> Core.settings.getBool("hints") && !player.dead() && !player.unit().spawnedByCore() && !(Core.settings.getBool("hints") && lastSchematic != null && !selectRequests.isEmpty()));
+ t.bottom();
+ t.table(Styles.black6, b -> {
+ b.defaults().left();
+ b.label(() -> Core.bundle.format("respawn", Core.keybinds.get(Binding.respawn).key.toString())).style(Styles.outlineLabel);
+ }).margin(6f);
+ });
+
group.fill(t -> {
t.bottom();
t.visible(() -> {
@@ -78,15 +86,6 @@ public class DesktopInput extends InputHandler{
});
}).margin(6f);
});
-
- group.fill(t -> {
- t.visible(() -> Core.settings.getBool("hints") && !player.dead() && !player.unit().spawnedByCore());
- t.bottom();
- t.table(Styles.black6, b -> {
- b.defaults().left();
- b.label(() -> Core.bundle.format("respawn", Core.keybinds.get(Binding.respawn).key.toString())).style(Styles.outlineLabel);
- }).margin(6f);
- });
}
@Override
@@ -133,14 +132,12 @@ public class DesktopInput extends InputHandler{
}
//draw schematic requests
- for(BuildPlan request : selectRequests){
- request.animScale = 1f;
- drawRequest(request);
- }
+ selectRequests.each(req -> {
+ req.animScale = 1f;
+ drawRequest(req);
+ });
- for(BuildPlan request : selectRequests){
- drawOverRequest(request);
- }
+ selectRequests.each(this::drawOverRequest);
if(player.isBuilder()){
//draw things that may be placed soon
@@ -177,27 +174,40 @@ public class DesktopInput extends InputHandler{
public void update(){
super.update();
- if(net.active() && Core.input.keyTap(Binding.player_list)){
+ if(net.active() && Core.input.keyTap(Binding.player_list) && (scene.getKeyboardFocus() == null || scene.getKeyboardFocus().isDescendantOf(ui.listfrag.content))){
ui.listfrag.toggle();
}
- //TODO awful UI state checking code
- if((player.dead() || state.isPaused()) && !ui.chatfrag.shown()){
- if(!(scene.getKeyboardFocus() instanceof TextField) && !scene.hasDialog()){
- //move camera around
- float camSpeed = !Core.input.keyDown(Binding.boost) ? 3f : 8f;
- Core.camera.position.add(Tmp.v1.setZero().add(Core.input.axis(Binding.move_x), Core.input.axis(Binding.move_y)).nor().scl(Time.delta * camSpeed));
+ boolean panCam = false;
+ float camSpeed = !Core.input.keyDown(Binding.boost) ? 3f : 8f;
- if(Core.input.keyDown(Binding.mouse_move)){
- Core.camera.position.x += Mathf.clamp((Core.input.mouseX() - Core.graphics.getWidth() / 2f) * 0.005f, -1, 1) * camSpeed;
- Core.camera.position.y += Mathf.clamp((Core.input.mouseY() - Core.graphics.getHeight() / 2f) * 0.005f, -1, 1) * camSpeed;
- }
+ if(input.keyDown(Binding.pan)){
+ panCam = true;
+ panning = true;
+ }
+
+ if((Math.abs(Core.input.axis(Binding.move_x)) > 0 || Math.abs(Core.input.axis(Binding.move_y)) > 0 || input.keyDown(Binding.mouse_move)) && (!scene.hasField())){
+ panning = false;
+ }
+
+ //TODO awful UI state checking code
+ if(((player.dead() || state.isPaused()) && !ui.chatfrag.shown()) && (!scene.hasField() && !scene.hasDialog())){
+ if(input.keyDown(Binding.mouse_move)){
+ panCam = true;
}
- }else if(!player.dead()){
+ panning = false;
+
+ Core.camera.position.add(Tmp.v1.setZero().add(Core.input.axis(Binding.move_x), Core.input.axis(Binding.move_y)).nor().scl(Time.delta * camSpeed));
+ }else if(!player.dead() && !panning){
Core.camera.position.lerpDelta(player, Core.settings.getBool("smoothcamera") ? 0.08f : 1f);
}
- shouldShoot = true;
+ if(panCam){
+ Core.camera.position.x += Mathf.clamp((Core.input.mouseX() - Core.graphics.getWidth() / 2f) * 0.005f, -1, 1) * camSpeed;
+ Core.camera.position.y += Mathf.clamp((Core.input.mouseY() - Core.graphics.getHeight() / 2f) * 0.005f, -1, 1) * camSpeed;
+ }
+
+ shouldShoot = !scene.hasMouse();
if(!scene.hasMouse()){
if(Core.input.keyDown(Binding.control) && Core.input.keyTap(Binding.select)){
@@ -556,6 +566,8 @@ public class DesktopInput extends InputHandler{
@Override
public void updateState(){
+ super.updateState();
+
if(state.isMenu()){
droppingItem = false;
mode = none;
@@ -567,10 +579,18 @@ public class DesktopInput extends InputHandler{
protected void updateMovement(Unit unit){
boolean omni = !(unit instanceof WaterMovec);
- boolean legs = unit.isGrounded();
+ boolean ground = unit.isGrounded();
- float strafePenalty = legs ? 1f : Mathf.lerp(1f, unit.type().strafePenalty, Angles.angleDist(unit.vel().angle(), unit.rotation()) / 180f);
- float speed = unit.type().speed * Mathf.lerp(1f, unit.type().canBoost ? unit.type().boostMultiplier : 1f, unit.elevation) * strafePenalty;
+ float strafePenalty = ground ? 1f : Mathf.lerp(1f, unit.type().strafePenalty, Angles.angleDist(unit.vel().angle(), unit.rotation()) / 180f);
+ float baseSpeed = unit.type().speed;
+
+ //limit speed to minimum formation speed to preserve formation
+ if(unit instanceof Commanderc && ((Commanderc)unit).isCommanding()){
+ //add a tiny multiplier to let units catch up just in case
+ baseSpeed = ((Commanderc)unit).minFormationSpeed() * 0.95f;
+ }
+
+ float speed = baseSpeed * Mathf.lerp(1f, unit.type().canBoost ? unit.type().boostMultiplier : 1f, unit.elevation) * strafePenalty;
float xa = Core.input.axis(Binding.move_x);
float ya = Core.input.axis(Binding.move_y);
boolean boosted = (unit instanceof Mechc && unit.isFlying());
@@ -586,8 +606,8 @@ public class DesktopInput extends InputHandler{
if(aimCursor){
unit.lookAt(mouseAngle);
}else{
- if(unit.moving()){
- unit.lookAt(unit.vel().angle());
+ if(!movement.isZero()){
+ unit.lookAt(unit.vel.isZero() ? movement.angle() : unit.vel.angle());
}
}
@@ -595,8 +615,8 @@ public class DesktopInput extends InputHandler{
unit.moveAt(movement);
}else{
unit.moveAt(Tmp.v2.trns(unit.rotation, movement.len()));
- if(!movement.isZero() && legs){
- unit.vel.rotateTo(movement.angle(), unit.type().rotateSpeed * Time.delta);
+ if(!movement.isZero() && ground){
+ unit.vel.rotateTo(movement.angle(), unit.type().rotateSpeed);
}
}
@@ -609,24 +629,13 @@ public class DesktopInput extends InputHandler{
//update payload input
if(unit instanceof Payloadc){
- Payloadc pay = (Payloadc)unit;
- if(Core.input.keyTap(Binding.pickupCargo) && pay.payloads().size < unit.type().payloadCapacity){
- Unit target = Units.closest(player.team(), pay.x(), pay.y(), unit.type().hitsize * 2.5f, u -> u.isAI() && u.isGrounded() && u.mass() < unit.mass() && u.within(unit, u.hitSize + unit.hitSize * 1.2f));
- if(target != null){
- Call.pickupUnitPayload(player, target);
- }else if(!pay.hasPayload()){
- Building tile = world.buildWorld(pay.x(), pay.y());
-
- if(tile != null && tile.team() == unit.team){
- Call.pickupBlockPayload(player, tile);
- }
- }
+ if(Core.input.keyTap(Binding.pickupCargo)){
+ tryPickupPayload();
}
if(Core.input.keyTap(Binding.dropCargo)){
- Call.dropPayload(player, player.x, player.y);
- pay.dropLastPayload();
+ tryDropPayload();
}
}
diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java
index b261f72382..24ae825bfe 100644
--- a/core/src/mindustry/input/InputHandler.java
+++ b/core/src/mindustry/input/InputHandler.java
@@ -14,7 +14,6 @@ import arc.scene.ui.layout.*;
import arc.struct.*;
import arc.util.ArcAnnotate.*;
import arc.util.*;
-import mindustry.ai.formations.*;
import mindustry.ai.formations.patterns.*;
import mindustry.annotations.Annotations.*;
import mindustry.content.*;
@@ -63,13 +62,13 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
public boolean isBuilding = true, buildWasAutoPaused = false;
public @Nullable UnitType controlledType;
- protected @Nullable Schematic lastSchematic;
- protected GestureDetector detector;
- protected PlaceLine line = new PlaceLine();
- protected BuildPlan resultreq;
- protected BuildPlan brequest = new BuildPlan();
- protected Seq lineRequests = new Seq<>();
- protected Seq selectRequests = new Seq<>();
+ public @Nullable Schematic lastSchematic;
+ public GestureDetector detector;
+ public PlaceLine line = new PlaceLine();
+ public BuildPlan resultreq;
+ public BuildPlan brequest = new BuildPlan();
+ public Seq lineRequests = new Seq<>();
+ public Seq selectRequests = new Seq<>();
//methods to override
@@ -86,12 +85,12 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
@Remote(called = Loc.server, unreliable = true)
- public static void transferItemTo(Item item, int amount, float x, float y, Tile tile){
- if(tile == null || tile.build == null || tile.build.items == null) return;
+ public static void transferItemTo(Item item, int amount, float x, float y, Building build){
+ if(build == null || build.items == null) return;
for(int i = 0; i < Mathf.clamp(amount / 3, 1, 8); i++){
- Time.run(i * 3, () -> createItemTransfer(item, amount, x, y, tile, () -> {}));
+ Time.run(i * 3, () -> createItemTransfer(item, amount, x, y, build, () -> {}));
}
- tile.build.items.add(item, amount);
+ build.items.add(item, amount);
}
public static void createItemTransfer(Item item, int amount, float x, float y, Position to, Runnable done){
@@ -108,6 +107,8 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
@Remote(targets = Loc.both, called = Loc.server, forward = true)
public static void pickupUnitPayload(Player player, Unit target){
+ if(player == null) return;
+
Unit unit = player.unit();
Payloadc pay = (Payloadc)unit;
@@ -120,13 +121,15 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
@Remote(targets = Loc.both, called = Loc.server, forward = true)
public static void pickupBlockPayload(Player player, Building tile){
+ if(player == null) return;
+
Unit unit = player.unit();
Payloadc pay = (Payloadc)unit;
- if(tile != null && tile.team() == unit.team && pay.payloads().size < unit.type().payloadCapacity
+ if(tile != null && tile.team == unit.team && pay.payloads().size < unit.type().payloadCapacity
&& unit.within(tile, tilesize * tile.block.size * 1.2f)){
//pick up block directly
- if(tile.block().buildVisibility != BuildVisibility.hidden && tile.block().size <= 2){
+ if(tile.block().buildVisibility != BuildVisibility.hidden && tile.block().size <= 2 && tile.canPickup()){
pay.pickup(tile);
}else{ //pick up block payload
Payload current = tile.getPayload();
@@ -143,6 +146,8 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
@Remote(targets = Loc.both, called = Loc.server, forward = true)
public static void dropPayload(Player player, float x, float y){
+ if(player == null) return;
+
Payloadc pay = (Payloadc)player.unit();
//allow a slight margin of error
@@ -156,6 +161,8 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
@Remote(targets = Loc.client, called = Loc.server)
public static void dropItem(Player player, float angle){
+ if(player == null) return;
+
if(net.server() && player.unit().stack.amount <= 0){
throw new ValidateException(player, "Player cannot drop an item.");
}
@@ -179,6 +186,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
@Remote(targets = Loc.both, forward = true, called = Loc.server)
public static void transferInventory(Player player, Building tile){
if(player == null || tile == null) return;
+
if(net.server() && (player.unit().stack.amount <= 0 || !Units.canInteract(player, tile) ||
!netServer.admins.allowAction(player, ActionType.depositItem, tile.tile(), action -> {
action.itemAmount = player.unit().stack.amount;
@@ -206,35 +214,34 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
);
}
- @Remote(targets = Loc.both, called = Loc.server, forward = true)
- public static void tileTapped(Player player, Building tile){
- if(tile == null || player == null) return;
- if(net.server() && (!Units.canInteract(player, tile) ||
- !netServer.admins.allowAction(player, ActionType.tapTile, tile.tile(), action -> {}))) throw new ValidateException(player, "Player cannot tap a tile.");
- tile.tapped(player);
- Core.app.post(() -> Events.fire(new TapEvent(tile, player)));
- }
-
@Remote(targets = Loc.both, called = Loc.both, forward = true)
public static void tileConfig(Player player, Building tile, @Nullable Object value){
if(tile == null) return;
if(net.server() && (!Units.canInteract(player, tile) ||
!netServer.admins.allowAction(player, ActionType.configure, tile.tile(), action -> action.config = value))) throw new ValidateException(player, "Player cannot configure a tile.");
tile.configured(player, value);
- Core.app.post(() -> Events.fire(new TapConfigEvent(tile, player, value)));
+ Core.app.post(() -> Events.fire(new ConfigEvent(tile, player, value)));
}
- @Remote(targets = Loc.both, called = Loc.server, forward = true)
+ @Remote(targets = Loc.both, called = Loc.both, forward = true)
public static void unitControl(Player player, @Nullable Unit unit){
+ if(player == null) return;
+
//clear player unit when they possess a core
- if((unit instanceof BlockUnitc && ((BlockUnitc)unit).tile() instanceof CoreEntity)){
+ if((unit instanceof BlockUnitc && ((BlockUnitc)unit).tile() instanceof CoreBuild)){
Fx.spawn.at(player);
+ if(net.client()){
+ control.input.controlledType = null;
+ }
+
player.clearUnit();
- player.deathTimer(60f); //for instant respawn
+ player.deathTimer = 61f;
+ ((CoreBuild)((BlockUnitc)unit).tile()).requestSpawn(player);
+
}else if(unit == null){ //just clear the unit (is this used?)
player.clearUnit();
//make sure it's AI controlled, so players can't overwrite each other
- }else if(unit.isAI() && unit.team == player.team() && !unit.deactivated){
+ }else if(unit.isAI() && unit.team == player.team() && !unit.deactivated() && !unit.dead){
player.unit(unit);
Time.run(Fx.unitSpirit.lifetime, () -> Fx.unitControl.at(unit.x, unit.y, 0f, unit));
if(!player.dead()){
@@ -243,44 +250,28 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
}
- @Remote(targets = Loc.both, called = Loc.server, forward = true)
+ @Remote(targets = Loc.both, called = Loc.both, forward = true)
public static void unitClear(Player player){
//no free core teleports?
- if(!player.dead() && player.unit().spawnedByCore) return;
+ if(player == null || !player.dead() && player.unit().spawnedByCore) return;
Fx.spawn.at(player);
player.clearUnit();
- player.deathTimer(60f); //for instant respawn
+ player.deathTimer = 61f; //for instant respawn
}
@Remote(targets = Loc.both, called = Loc.server, forward = true)
public static void unitCommand(Player player){
- if(player.dead() || !(player.unit() instanceof Commanderc)) return;
+ if(player == null || player.dead() || !(player.unit() instanceof Commanderc)) return;
Commanderc commander = (Commanderc)player.unit();
if(commander.isCommanding()){
commander.clearCommand();
}else{
- SquareFormation pattern = new SquareFormation();
- Formation formation = new Formation(new Vec3(player.x, player.y, player.unit().rotation), pattern);
- formation.slotAssignmentStrategy = new DistanceAssignmentStrategy(pattern);
-
- units.clear();
+ commander.commandNearby(new SquareFormation());
Fx.commandSend.at(player);
- Units.nearby(player.team(), player.x, player.y, 200f, u -> {
- if(u.isAI()){
- units.add(u);
- }
- });
-
- units.sort(u -> u.dst2(player.unit()));
- units.truncate(player.unit().type().commandLimit);
-
- if(units.any()) pattern.spacing = units.max(u -> u.hitSize).hitSize * 2f;
-
- commander.command(formation, units);
}
}
@@ -313,7 +304,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
if(controlledType != null && player.dead()){
- Unit unit = Units.closest(player.team(), player.x, player.y, u -> !u.isPlayer() && u.type() == controlledType && !u.deactivated);
+ Unit unit = Units.closest(player.team(), player.x, player.y, u -> !u.isPlayer() && u.type() == controlledType && !u.deactivated() && !u.dead);
if(unit != null){
Call.unitControl(player, unit);
@@ -323,7 +314,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
public void checkUnit(){
if(controlledType != null){
- Unit unit = Units.closest(player.team(), player.x, player.y, u -> !u.isPlayer() && u.type() == controlledType && !u.deactivated);
+ Unit unit = Units.closest(player.team(), player.x, player.y, u -> !u.isPlayer() && u.type() == controlledType && !u.deactivated() && !u.dead);
if(unit == null && controlledType == UnitTypes.block){
unit = world.buildWorld(player.x, player.y) instanceof ControlBlock ? ((ControlBlock)world.buildWorld(player.x, player.y)).unit() : null;
}
@@ -338,6 +329,34 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
}
+ public void tryPickupPayload(){
+ Unit unit = player.unit();
+ if(!(unit instanceof Payloadc)) return;
+ Payloadc pay = (Payloadc)unit;
+
+ if(pay.payloads().size >= unit.type().payloadCapacity) return;
+
+ Unit target = Units.closest(player.team(), pay.x(), pay.y(), unit.type().hitsize * 2.5f, u -> u.isAI() && u.isGrounded() && u.mass() < unit.mass() && u.within(unit, u.hitSize + unit.hitSize * 1.2f));
+ if(target != null){
+ Call.pickupUnitPayload(player, target);
+ }else if(!pay.hasPayload()){
+ Building tile = world.buildWorld(pay.x(), pay.y());
+
+ if(tile != null && tile.team == unit.team){
+ Call.pickupBlockPayload(player, tile);
+ }
+ }
+ }
+
+ public void tryDropPayload(){
+ Unit unit = player.unit();
+ if(!(unit instanceof Payloadc)) return;
+ Payloadc pay = (Payloadc)unit;
+
+ Call.dropPayload(player, player.x, player.y);
+ pay.dropLastPayload();
+ }
+
public float getMouseX(){
return Core.input.mouseX();
}
@@ -355,7 +374,9 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
public void updateState(){
-
+ if(state.isMenu()){
+ controlledType = null;
+ }
}
public void drawBottom(){
@@ -521,11 +542,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
if(test.get(req)) return req;
}
- for(BuildPlan req : selectRequests){
- if(test.get(req)) return req;
- }
-
- return null;
+ return selectRequests.find(test);
}
protected void drawBreakSelection(int x1, int y1, int x2, int y2){
@@ -748,7 +765,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
//call tapped event
if(!consumed && tile.interactable(player.team())){
- Call.tileTapped(player, tile);
+ tile.tapped();
}
//consume tap event if necessary
@@ -846,7 +863,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
public @Nullable Unit selectedUnit(){
- Unit unit = Units.closest(player.team(), Core.input.mouseWorld().x, Core.input.mouseWorld().y, 40f, u -> u.isAI() && !u.deactivated);
+ Unit unit = Units.closest(player.team(), Core.input.mouseWorld().x, Core.input.mouseWorld().y, 40f, u -> u.isAI() && !u.deactivated());
if(unit != null){
unit.hitbox(Tmp.r1);
Tmp.r1.grow(6f);
@@ -856,7 +873,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
Building tile = world.buildWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y);
- if(tile instanceof ControlBlock && tile.team() == player.team()){
+ if(tile instanceof ControlBlock && tile.team == player.team()){
return ((ControlBlock)tile).unit();
}
@@ -903,7 +920,8 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
public boolean canShoot(){
- return block == null && !Core.scene.hasMouse() && !onConfigurable() && !isDroppingItem() && !(player.builder().updateBuilding() && player.builder().isBuilding());
+ return block == null && !onConfigurable() && !isDroppingItem() && !(player.builder().updateBuilding() && player.builder().isBuilding()) &&
+ !(player.unit() instanceof Mechc && player.unit().isFlying());
}
public boolean onConfigurable(){
@@ -1076,192 +1094,4 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
public int x, y, rotation;
public boolean last;
}
-
- //TODO implement all of this!
- /*
- protected void updateKeyboard(){
- Tile tile = world.tileWorld(x, y);
- boolean canMove = !Core.scene.hasKeyboard() || ui.minimapfrag.shown();
-
- isBoosting = Core.input.keyDown(Binding.dash) && !mech.flying;
-
- //if player is in solid block
- if(tile != null && tile.solid()){
- isBoosting = true;
- }
-
- float speed = isBoosting && !mech.flying ? mech.boostSpeed : mech.speed;
-
- if(mech.flying){
- //prevent strafing backwards, have a penalty for doing so
- float penalty = 0.2f; //when going 180 degrees backwards, reduce speed to 0.2x
- speed *= Mathf.lerp(1f, penalty, Angles.angleDist(rotation, velocity.angle()) / 180f);
- }
-
- movement.setZero();
-
- float xa = Core.input.axis(Binding.move_x);
- float ya = Core.input.axis(Binding.move_y);
- if(!(Core.scene.getKeyboardFocus() instanceof TextField)){
- movement.y += ya * speed;
- movement.x += xa * speed;
- }
-
- if(Core.input.keyDown(Binding.mouse_move)){
- movement.x += Mathf.clamp((Core.input.mouseX() - Core.graphics.getWidth() / 2f) * 0.005f, -1, 1) * speed;
- movement.y += Mathf.clamp((Core.input.mouseY() - Core.graphics.getHeight() / 2f) * 0.005f, -1, 1) * speed;
- }
-
- Vec2 vec = Core.input.mouseWorld(control.input.getMouseX(), control.input.getMouseY());
- pointerX = vec.x;
- pointerY = vec.y;
- updateShooting();
-
- movement.limit(speed).scl(Time.delta());
-
- if(canMove){
- velocity.add(movement.x, movement.y);
- }else{
- isShooting = false;
- }
- float prex = x, prey = y;
- updateVelocityStatus();
- moved = dst(prex, prey) > 0.001f;
-
- if(canMove){
- float baseLerp = mech.getRotationAlpha(this);
- if(!isShooting() || !mech.faceTarget){
- if(!movement.isZero()){
- rotation = Mathf.slerpDelta(rotation, mech.flying ? velocity.angle() : movement.angle(), 0.13f * baseLerp);
- }
- }else{
- float angle = control.input.mouseAngle(x, y);
- this.rotation = Mathf.slerpDelta(this.rotation, angle, 0.1f * baseLerp);
- }
- }
- }
-
- protected void updateShooting(){
- if(!state.isEditor() && isShooting() && mech.canShoot(this)){
- weapons.update(this);
- //if(!mech.turnCursor){
- //shoot forward ignoring cursor
- //mech.weapon.update(this, x + Angles.trnsx(rotation, mech.weapon.targetDistance), y + Angles.trnsy(rotation, mech.weapon.targetDistance));
- //}else{
- //mech.weapon.update(this, pointerX, pointerY);
- //}
- }
- }
-
- protected void updateTouch(){
- if(Units.invalidateTarget(target, this) &&
- !(target instanceof Building && ((Building)target).damaged() && target.isValid() && target.team() == team && mech.canHeal && dst(target) < mech.range && !(((Building)target).block instanceof BuildBlock))){
- target = null;
- }
-
- if(state.isEditor()){
- target = null;
- }
-
- float targetX = Core.camera.position.x, targetY = Core.camera.position.y;
- float attractDst = 15f;
- float speed = isBoosting && !mech.flying ? mech.boostSpeed : mech.speed;
-
- if(moveTarget != null && !moveTarget.dead()){
- targetX = moveTarget.getX();
- targetY = moveTarget.getY();
- boolean tapping = moveTarget instanceof Building && moveTarget.team() == team;
- attractDst = 0f;
-
- if(tapping){
- velocity.setAngle(angleTo(moveTarget));
- }
-
- if(dst(moveTarget) <= 2f * Time.delta()){
- if(tapping && !dead()){
- Tile tile = ((Building)moveTarget).tile;
- tile.tapped(this);
- }
-
- moveTarget = null;
- }
- }else{
- moveTarget = null;
- }
-
- movement.set((targetX - x) / Time.delta(), (targetY - y) / Time.delta()).limit(speed);
- movement.setAngle(Mathf.slerp(movement.angle(), velocity.angle(), 0.05f));
-
- if(dst(targetX, targetY) < attractDst){
- movement.setZero();
- }
-
- float expansion = 3f;
-
- hitbox(rect);
- rect.x -= expansion;
- rect.y -= expansion;
- rect.width += expansion * 2f;
- rect.height += expansion * 2f;
-
- isBoosting = collisions.overlapsTile(rect) || dst(targetX, targetY) > 85f;
-
- velocity.add(movement.scl(Time.delta()));
-
- if(velocity.len() <= 0.2f && mech.flying){
- rotation += Mathf.sin(Time.time() + id * 99, 10f, 1f);
- }else if(target == null){
- rotation = Mathf.slerpDelta(rotation, velocity.angle(), velocity.len() / 10f);
- }
-
- float lx = x, ly = y;
- updateVelocityStatus();
- moved = dst(lx, ly) > 0.001f;
-
- if(mech.flying){
- //hovering effect
- x += Mathf.sin(Time.time() + id * 999, 25f, 0.08f);
- y += Mathf.cos(Time.time() + id * 999, 25f, 0.08f);
- }
-
- //update shooting if not building, not mining and there's ammo left
- if(!isBuilding() && mineTile() == null){
-
- //autofire
- if(target == null){
- isShooting = false;
- if(Core.settings.getBool("autotarget")){
- target = Units.closestTarget(team, x, y, mech.range, u -> u.team() != Team.derelict, u -> u.team() != Team.derelict);
-
- if(mech.canHeal && target == null){
- target = Geometry.findClosest(x, y, indexer.getDamaged(Team.sharded));
- if(target != null && dst(target) > mech.range){
- target = null;
- }else if(target != null){
- target = ((Tile)target).entity;
- }
- }
-
- if(target != null){
- mineTile(null);
- }
- }
- }else if(target.isValid() || (target instanceof Building && ((Building)target).damaged() && target.team() == team && mech.canHeal && dst(target) < mech.range)){
- //rotate toward and shoot the target
- if(mech.faceTarget){
- rotation = Mathf.slerpDelta(rotation, angleTo(target), 0.2f);
- }
-
- Vec2 intercept = Predict.intercept(this, target, getWeapon().bullet.speed);
-
- pointerX = intercept.x;
- pointerY = intercept.y;
-
- updateShooting();
- isShooting = true;
- }
-
- }
- }
- */
}
diff --git a/core/src/mindustry/input/MobileInput.java b/core/src/mindustry/input/MobileInput.java
index cc6a3e6fff..556d862965 100644
--- a/core/src/mindustry/input/MobileInput.java
+++ b/core/src/mindustry/input/MobileInput.java
@@ -31,39 +31,39 @@ public class MobileInput extends InputHandler implements GestureListener{
/** Maximum speed the player can pan. */
private static final float maxPanSpeed = 1.3f;
/** Distance to edge of screen to start panning. */
- private final float edgePan = Scl.scl(60f);
+ public final float edgePan = Scl.scl(60f);
//gesture data
- private Vec2 vector = new Vec2(), movement = new Vec2(), targetPos = new Vec2();
- private float lastZoom = -1;
+ public Vec2 vector = new Vec2(), movement = new Vec2(), targetPos = new Vec2();
+ public float lastZoom = -1;
/** Position where the player started dragging a line. */
- private int lineStartX, lineStartY, lastLineX, lastLineY;
+ public int lineStartX, lineStartY, lastLineX, lastLineY;
/** Animation scale for line. */
- private float lineScale;
+ public float lineScale;
/** Animation data for crosshair. */
- private float crosshairScale;
- private Teamc lastTarget;
+ public float crosshairScale;
+ public Teamc lastTarget;
/** Used for shifting build requests. */
- private float shiftDeltaX, shiftDeltaY;
+ public float shiftDeltaX, shiftDeltaY;
/** Place requests to be removed. */
- private Seq removals = new Seq<>();
+ public Seq removals = new Seq<>();
/** Whether or not the player is currently shifting all placed tiles. */
- private boolean selecting;
+ public boolean selecting;
/** Whether the player is currently in line-place mode. */
- private boolean lineMode, schematicMode;
+ public boolean lineMode, schematicMode;
/** Current place mode. */
- private PlaceMode mode = none;
+ public PlaceMode mode = none;
/** Whether no recipe was available when switching to break mode. */
- private Block lastBlock;
+ public Block lastBlock;
/** Last placed request. Used for drawing block overlay. */
- private BuildPlan lastPlaced;
+ public BuildPlan lastPlaced;
/** Down tracking for panning.*/
- private boolean down = false;
+ public boolean down = false;
- private Teamc target, moveTarget;
+ public Teamc target, moveTarget;
//region utility methods
@@ -77,7 +77,7 @@ public class MobileInput extends InputHandler implements GestureListener{
}else{
Building tile = world.buildWorld(x, y);
- if(tile != null && player.team().isEnemy(tile.team())){
+ if(tile != null && player.team().isEnemy(tile.team)){
player.miner().mineTile(null);
target = tile;
}else if(tile != null && player.unit().type().canHeal && tile.team == player.team() && tile.damaged()){
@@ -532,10 +532,10 @@ public class MobileInput extends InputHandler implements GestureListener{
lineMode = true;
if(mode == breaking){
- Fx.tapBlock.at(cursor.worldx(), cursor.worldy(), 1f);
+ if(!state.isPaused()) Fx.tapBlock.at(cursor.worldx(), cursor.worldy(), 1f);
}else if(block != null){
updateLine(lineStartX, lineStartY, cursor.x, cursor.y);
- Fx.tapBlock.at(cursor.worldx() + block.offset, cursor.worldy() + block.offset, block.size);
+ if(!state.isPaused()) Fx.tapBlock.at(cursor.worldx() + block.offset, cursor.worldy() + block.offset, block.size);
}
}
@@ -555,7 +555,9 @@ public class MobileInput extends InputHandler implements GestureListener{
if(cursor == null || Core.scene.hasMouse(x, y)) return false;
Tile linked = cursor.build == null ? cursor : cursor.build.tile();
- checkTargets(worldx, worldy);
+ if(!player.dead()){
+ checkTargets(worldx, worldy);
+ }
//remove if request present
if(hasRequest(cursor)){
@@ -572,9 +574,18 @@ public class MobileInput extends InputHandler implements GestureListener{
}
//apply command on double tap
- if(count == 2 && Mathf.within(worldx, worldy, player.unit().x, player.unit().y, player.unit().hitSize * 2f) &&
- player.unit() instanceof Commanderc){
- Call.unitCommand(player);
+ if(count == 2 && Mathf.within(worldx, worldy, player.unit().x, player.unit().y, player.unit().hitSize * 2f)){
+ if(player.unit() instanceof Commanderc){
+ Call.unitCommand(player);
+ }
+
+ if(player.unit() instanceof Payloadc){
+ if(((Payloadc)player.unit()).hasPayload()){
+ tryDropPayload();
+ }else{
+ tryPickupPayload();
+ }
+ }
}
}
@@ -785,6 +796,8 @@ public class MobileInput extends InputHandler implements GestureListener{
Rect rect = Tmp.r3;
UnitType type = unit.type();
+ if(type == null) return;
+
boolean flying = type.flying;
boolean omni = !(unit instanceof WaterMovec);
boolean legs = unit.isGrounded();
@@ -803,7 +816,16 @@ public class MobileInput extends InputHandler implements GestureListener{
targetPos.set(Core.camera.position);
float attractDst = 15f;
float strafePenalty = legs ? 1f : Mathf.lerp(1f, type.strafePenalty, Angles.angleDist(unit.vel.angle(), unit.rotation) / 180f);
- float speed = type.speed * Mathf.lerp(1f, type.canBoost ? type.boostMultiplier : 1f, unit.elevation) * strafePenalty;
+
+ float baseSpeed = unit.type().speed;
+
+ //limit speed to minimum formation speed to preserve formation
+ if(unit instanceof Commanderc && ((Commanderc)unit).isCommanding()){
+ //add a tiny multiplier to let units catch up just in case
+ baseSpeed = ((Commanderc)unit).minFormationSpeed() * 0.98f;
+ }
+
+ float speed = baseSpeed * Mathf.lerp(1f, type.canBoost ? type.boostMultiplier : 1f, unit.elevation) * strafePenalty;
float range = unit.hasWeapons() ? unit.range() : 0f;
float bulletSpeed = unit.hasWeapons() ? type.weapons.first().bullet.speed : 0f;
float mouseAngle = unit.angleTo(unit.aimX(), unit.aimY());
@@ -830,19 +852,9 @@ public class MobileInput extends InputHandler implements GestureListener{
movement.set(targetPos).sub(player).limit(speed);
movement.setAngle(Mathf.slerp(movement.angle(), unit.vel.angle(), 0.05f));
- //pathfind for ground units
- if(!flying && !type.canBoost && !(unit instanceof WaterMovec)){
- Tile on = unit.tileOn();
- if(on != null && !on.solid()){
- Tile to = pathfinder.getTargetTile(unit.tileOn(), unit.team, targetPos);
- if(to != null){
- movement.set(to).sub(unit).setLength(speed);
- }
- }
- }
-
if(player.within(targetPos, attractDst)){
movement.setZero();
+ unit.vel.approachDelta(Vec2.ZERO, type.speed * type.accel / 2f);
}
float expansion = 3f;
@@ -895,7 +907,7 @@ public class MobileInput extends InputHandler implements GestureListener{
player.mouseX = intercept.x;
player.mouseY = intercept.y;
- player.shooting = true;
+ player.shooting = !boosted;
unit.aim(player.mouseX, player.mouseY);
}
diff --git a/core/src/mindustry/io/JsonIO.java b/core/src/mindustry/io/JsonIO.java
index 3629ddebae..a8995103d0 100644
--- a/core/src/mindustry/io/JsonIO.java
+++ b/core/src/mindustry/io/JsonIO.java
@@ -68,7 +68,7 @@ public class JsonIO{
return json.prettyPrint(in);
}
- private static void apply(Json json){
+ static void apply(Json json){
json.setIgnoreUnknownFields(true);
json.setElementType(Rules.class, "spawns", SpawnGroup.class);
json.setElementType(Rules.class, "loadout", ItemStack.class);
diff --git a/core/src/mindustry/io/SaveFileReader.java b/core/src/mindustry/io/SaveFileReader.java
index 857551860f..793d8b2eb8 100644
--- a/core/src/mindustry/io/SaveFileReader.java
+++ b/core/src/mindustry/io/SaveFileReader.java
@@ -34,9 +34,11 @@ public abstract class SaveFileReader{
"titan-factory", "legacy-unit-factory",
"fortress-factory", "legacy-unit-factory",
- "command-center", "legacy-command-center"
+ "mass-conveyor", "payload-conveyor"
);
+ protected int lastRegionLength;
+
protected void region(String name, DataInput stream, CounterInputStream counter, IORunner cons) throws IOException{
counter.resetCount();
int length;
@@ -90,6 +92,7 @@ public abstract class SaveFileReader{
/** Reads a chunk of some length. Use the runner for reading to catch more descriptive errors. */
public int readChunk(DataInput input, boolean isShort, IORunner runner) throws IOException{
int length = isShort ? input.readUnsignedShort() : input.readInt();
+ lastRegionLength = length;
runner.accept(input);
return length;
}
diff --git a/core/src/mindustry/io/SaveVersion.java b/core/src/mindustry/io/SaveVersion.java
index 0f7206f500..c3f83b30d8 100644
--- a/core/src/mindustry/io/SaveVersion.java
+++ b/core/src/mindustry/io/SaveVersion.java
@@ -331,6 +331,11 @@ public abstract class SaveVersion extends SaveFileReader{
for(int j = 0; j < amount; j++){
readChunk(stream, true, in -> {
byte typeid = in.readByte();
+ if(EntityMapping.map(typeid) == null){
+ in.skipBytes(lastRegionLength - 1);
+ return;
+ }
+
Entityc entity = (Entityc)EntityMapping.map(typeid).get();
entity.read(Reads.get(in));
entity.add();
diff --git a/core/src/mindustry/io/TypeIO.java b/core/src/mindustry/io/TypeIO.java
index e7291c7df8..f5d721f2c5 100644
--- a/core/src/mindustry/io/TypeIO.java
+++ b/core/src/mindustry/io/TypeIO.java
@@ -49,7 +49,6 @@ public class TypeIO{
}else if(object instanceof String){
write.b((byte)4);
writeString(write, (String)object);
- writeString(write, (String)object);
}else if(object instanceof Content){
Content map = (Content)object;
write.b((byte)5);
@@ -86,9 +85,16 @@ public class TypeIO{
}else if(object instanceof Building){
write.b((byte)12);
write.i(((Building)object).pos());
- }else if(object instanceof LSensor){
+ }else if(object instanceof LAccess){
write.b((byte)13);
- write.s(((LSensor)object).ordinal());
+ write.s(((LAccess)object).ordinal());
+ }else if(object instanceof byte[]){
+ write.b((byte)14);
+ write.i(((byte[])object).length);
+ write.b((byte[])object);
+ }else if(object instanceof UnitCommand){
+ write.b((byte)15);
+ write.b(((UnitCommand)object).ordinal());
}else{
throw new IllegalArgumentException("Unknown object type: " + object.getClass());
}
@@ -111,7 +117,9 @@ public class TypeIO{
case 10: return read.bool();
case 11: return read.d();
case 12: return world.build(read.i());
- case 13: return LSensor.all[read.s()];
+ case 13: return LAccess.all[read.s()];
+ case 14: int blen = read.i(); byte[] bytes = new byte[blen]; read.b(bytes); return bytes;
+ case 15: return UnitCommand.all[read.b()];
default: throw new IllegalArgumentException("Unknown object type: " + type);
}
}
@@ -303,7 +311,7 @@ public class TypeIO{
//make sure player exists
if(player == null) return prev;
return player;
- }else if(type == 1){
+ }else if(type == 1){ //formation controller
int id = read.i();
return prev instanceof FormationAI ? prev : new FormationAI(Groups.unit.getByID(id), null);
}else{
diff --git a/core/src/mindustry/logic/BinaryOp.java b/core/src/mindustry/logic/BinaryOp.java
deleted file mode 100644
index 6ceeae492c..0000000000
--- a/core/src/mindustry/logic/BinaryOp.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package mindustry.logic;
-
-public enum BinaryOp{
- add("+", (a, b) -> a + b),
- sub("-", (a, b) -> a - b),
- mul("*", (a, b) -> a * b),
- div("/", (a, b) -> a / b),
- mod("%", (a, b) -> a % b),
- equal("==", (a, b) -> Math.abs(a - b) < 0.000001 ? 1 : 0),
- lessThan("<", (a, b) -> a < b ? 1 : 0),
- lessThanEq("<=", (a, b) -> a <= b ? 1 : 0),
- greaterThan(">", (a, b) -> a > b ? 1 : 0),
- greaterThanEq(">=", (a, b) -> a >= b ? 1 : 0),
- pow("^", Math::pow),
- shl(">>", (a, b) -> (int)a >> (int)b),
- shr("<<", (a, b) -> (int)a << (int)b),
- or("or", (a, b) -> (int)a | (int)b),
- and("and", (a, b) -> (int)a & (int)b),
- xor("xor", (a, b) -> (int)a ^ (int)b),
- max("max", Math::max),
- min("min", Math::min),
- atan2("atan2", Math::atan2);
-
- public static final BinaryOp[] all = values();
-
- public final OpLambda function;
- public final String symbol;
-
- BinaryOp(String symbol, OpLambda function){
- this.symbol = symbol;
- this.function = function;
- }
-
- @Override
- public String toString(){
- return symbol;
- }
-
- interface OpLambda{
- double get(double a, double b);
- }
-}
diff --git a/core/src/mindustry/logic/ConditionOp.java b/core/src/mindustry/logic/ConditionOp.java
new file mode 100644
index 0000000000..c85bc6f37a
--- /dev/null
+++ b/core/src/mindustry/logic/ConditionOp.java
@@ -0,0 +1,29 @@
+package mindustry.logic;
+
+public enum ConditionOp{
+ equal("==", (a, b) -> Math.abs(a - b) < 0.000001),
+ notEqual("not", (a, b) -> Math.abs(a - b) >= 0.000001),
+ lessThan("<", (a, b) -> a < b),
+ lessThanEq("<=", (a, b) -> a <= b),
+ greaterThan(">", (a, b) -> a > b),
+ greaterThanEq(">=", (a, b) -> a >= b);
+
+ public static final ConditionOp[] all = values();
+
+ public final CondOpLambda function;
+ public final String symbol;
+
+ ConditionOp(String symbol, CondOpLambda function){
+ this.symbol = symbol;
+ this.function = function;
+ }
+
+ @Override
+ public String toString(){
+ return symbol;
+ }
+
+ interface CondOpLambda{
+ boolean get(double a, double b);
+ }
+}
diff --git a/core/src/mindustry/logic/Controllable.java b/core/src/mindustry/logic/Controllable.java
new file mode 100644
index 0000000000..31baf31a1e
--- /dev/null
+++ b/core/src/mindustry/logic/Controllable.java
@@ -0,0 +1,6 @@
+package mindustry.logic;
+
+/** An object that can be controlled with logic. */
+public interface Controllable{
+ void control(LAccess type, double p1, double p2, double p3, double p4);
+}
diff --git a/core/src/mindustry/logic/LAccess.java b/core/src/mindustry/logic/LAccess.java
new file mode 100644
index 0000000000..2128028153
--- /dev/null
+++ b/core/src/mindustry/logic/LAccess.java
@@ -0,0 +1,41 @@
+package mindustry.logic;
+
+import arc.struct.*;
+
+/** Setter/getter enum for logic-controlled objects. */
+public enum LAccess{
+ totalItems,
+ totalLiquids,
+ totalPower,
+ itemCapacity,
+ liquidCapacity,
+ powerCapacity,
+ powerNetStored,
+ powerNetCapacity,
+ powerNetIn,
+ powerNetOut,
+ health,
+ heat,
+ efficiency,
+ rotation,
+ x,
+ y,
+ shootX,
+ shootY,
+ shooting,
+ team,
+
+ //values with parameters are considered controllable
+ enabled("to"), //"to" is standard for single parameter access
+ shoot("x", "y", "shoot"),;
+
+ public final String[] parameters;
+
+ public static final LAccess[] all = values();
+ public static final LAccess[] senseable = Seq.select(all, t -> t.parameters.length <= 1).toArray(LAccess.class);
+ public static final LAccess[] controls = Seq.select(all, t -> t.parameters.length > 0).toArray(LAccess.class);
+
+ LAccess(String... parameters){
+ this.parameters = parameters;
+ }
+}
diff --git a/core/src/mindustry/logic/LAssembler.java b/core/src/mindustry/logic/LAssembler.java
index b85b110f46..8ac7481dd0 100644
--- a/core/src/mindustry/logic/LAssembler.java
+++ b/core/src/mindustry/logic/LAssembler.java
@@ -6,7 +6,9 @@ import arc.util.ArcAnnotate.*;
import mindustry.*;
import mindustry.gen.*;
import mindustry.logic.LExecutor.*;
+import mindustry.logic.LStatements.*;
import mindustry.type.*;
+import mindustry.world.blocks.logic.*;
/** "Compiles" a sequence of statements into instructions. */
public class LAssembler{
@@ -39,15 +41,15 @@ public class LAssembler{
//store sensor constants
- for(LSensor sensor : LSensor.all){
+ for(LAccess sensor : LAccess.all){
putConst("@" + sensor.name(), sensor);
}
}
- public static LAssembler assemble(String data){
+ public static LAssembler assemble(String data, int maxInstructions){
LAssembler asm = new LAssembler();
- Seq st = read(data);
+ Seq st = read(data, maxInstructions);
asm.instructions = st.map(l -> l.build(asm)).filter(l -> l != null).toArray(LInstruction.class);
return asm;
@@ -64,22 +66,90 @@ public class LAssembler{
}
public static Seq read(String data){
+ return read(data, LogicBlock.maxInstructions);
+ }
+
+ public static Seq read(String data, int max){
+ //empty data check
+ if(data == null || data.isEmpty()) return new Seq<>();
+
Seq statements = new Seq<>();
String[] lines = data.split("[;\n]+");
+ int index = 0;
for(String line : lines){
//comments
- //if(line.startsWith("#")) continue;
+ if(line.startsWith("#")) continue;
- String[] tokens = line.split(" ");
- LStatement st = LogicIO.read(tokens);
- if(st != null){
- statements.add(st);
- }else{
- //attempt parsing using custom parser if a match is found - this is for mods
- String first = tokens[0];
- if(customParsers.containsKey(first)){
- statements.add(customParsers.get(first).get(tokens));
+ if(index++ > max) break;
+
+ try{
+ String[] arr;
+
+ //yes, I am aware that this can be split with regex, but that's slow and even more incomprehensible
+ if(line.contains(" ")){
+ Seq tokens = new Seq<>();
+ boolean inString = false;
+ int lastIdx = 0;
+
+ for(int i = 0; i < line.length() + 1; i++){
+ char c = i == line.length() ? ' ' : line.charAt(i);
+ if(c == '"'){
+ inString = !inString;
+ }else if(c == ' ' && !inString){
+ tokens.add(line.substring(lastIdx, i));
+ lastIdx = i + 1;
+ }
+ }
+
+ arr = tokens.toArray(String.class);
+ }else{
+ arr = new String[]{line};
}
+
+ String type = arr[0];
+
+ //legacy stuff
+ if(type.equals("bop")){
+ arr[0] = "op";
+
+ //field order for bop used to be op a, b, result, but now it's op result a b
+ String res = arr[4];
+ arr[4] = arr[3];
+ arr[3] = arr[2];
+ arr[2] = res;
+ }else if(type.equals("uop")){
+ arr[0] = "op";
+
+ if(arr[1].equals("negate")){
+ arr = new String[]{
+ "op", "mul", arr[3], arr[2], "-1"
+ };
+ }else{
+ //field order for uop used to be op a, result, but now it's op result a
+ String res = arr[3];
+ arr[3] = arr[2];
+ arr[2] = res;
+ }
+ }
+
+ LStatement st = LogicIO.read(arr);
+
+ if(st != null){
+ statements.add(st);
+ }else{
+ //attempt parsing using custom parser if a match is found - this is for mods
+ String first = arr[0];
+ if(customParsers.containsKey(first)){
+ statements.add(customParsers.get(first).get(arr));
+ }else{
+ //unparseable statement
+ statements.add(new InvalidStatement());
+ }
+ }
+ }catch(Exception parseFailed){
+ parseFailed.printStackTrace();
+ //when parsing fails, add a dummy invalid statement
+ statements.add(new InvalidStatement());
}
}
return statements;
@@ -92,7 +162,7 @@ public class LAssembler{
//string case
if(symbol.startsWith("\"") && symbol.endsWith("\"")){
- return putConst("___" + symbol, symbol.substring(1, symbol.length() - 1)).id;
+ return putConst("___" + symbol, symbol.substring(1, symbol.length() - 1).replace("\\n", "\n")).id;
}
try{
diff --git a/core/src/mindustry/logic/LCanvas.java b/core/src/mindustry/logic/LCanvas.java
index 53183e7e12..c00a69b887 100644
--- a/core/src/mindustry/logic/LCanvas.java
+++ b/core/src/mindustry/logic/LCanvas.java
@@ -16,78 +16,52 @@ import arc.util.*;
import arc.util.ArcAnnotate.*;
import mindustry.gen.*;
import mindustry.graphics.*;
-import mindustry.logic.LStatements.*;
import mindustry.ui.*;
-import mindustry.ui.dialogs.*;
+import mindustry.world.blocks.logic.*;
public class LCanvas extends Table{
- private static final Color backgroundCol = Pal.darkMetal.cpy().mul(0.1f), gridCol = Pal.darkMetal.cpy().mul(0.5f);
- private static Seq postDraw = new Seq<>();
- private Vec2 offset = new Vec2();
+ static Seq postDraw = new Seq<>();
+ static Seq postDrawPriority = new Seq<>();
- private DragLayout statements;
- private StatementElem dragging;
+ DragLayout statements;
+ StatementElem dragging;
+ ScrollPane pane;
+ float targetWidth;
public LCanvas(){
- //left();
+ rebuild();
+ }
+
+ /** @return if statement elements should have rows. */
+ public static boolean useRows(){
+ return Core.graphics.getWidth() < Scl.scl(900f) * 1.2f;
+ }
+
+ public void rebuild(){
+ targetWidth = useRows() ? 400f : 900f;
+ float s = pane != null ? pane.getScrollPercentY() : 0f;
+ String toLoad = statements != null ? save() : null;
+
+ clear();
statements = new DragLayout();
- ScrollPane pane = pane(statements).grow().get();
+ pane = pane(t -> {
+ t.center();
+ t.add(statements).pad(2f).center().width(targetWidth);
+ }).grow().get();
pane.setClip(false);
pane.setFlickScroll(false);
- row();
+ //load old scroll percent
+ Core.app.post(() -> {
+ pane.setScrollPercentY(s);
+ pane.updateVisualScroll();
+ });
- button("@add", Icon.add, Styles.cleart, () -> {
- BaseDialog dialog = new BaseDialog("@add");
- dialog.cont.pane(t -> {
- t.background(Tex.button);
- int i = 0;
- for(Prov prov : LogicIO.allStatements){
- LStatement example = prov.get();
- t.button(example.name(), Styles.cleart, () -> {
- add(prov.get());
- dialog.hide();
- }).size(140f, 50f);
- if(++i % 2 == 0) t.row();
- }
- });
- dialog.addCloseButton();
- dialog.show();
- }).height(50f).left().width(400f).marginLeft(10f);
-
- add(new PrintStatement());
- add(new SetStatement());
- add(new JumpStatement());
- add(new EnableStatement());
- add(new BinaryOpStatement());
- }
-
- private void drawGrid(){
- Draw.color(backgroundCol);
-
- Fill.crect(x, y, width, height);
-
- Draw.color(gridCol);
-
- float spacing = Scl.scl(50f);
- int xbars = (int)(width / spacing) + 2, ybars = (int)(width / spacing) + 2;
- float ox = offset.x % spacing, oy = offset.y % spacing;
-
- Lines.stroke(Scl.scl(3f));
-
- for(int i = 0; i < xbars; i++){
- float cx = x + width/2f + (i - xbars/2) * spacing + ox;
- Lines.line(cx, y, cx, y + height);
+ if(toLoad != null){
+ load(toLoad);
}
-
- for(int i = 0; i < ybars; i++){
- float cy = y + height/2f + (i - ybars/2) * spacing + oy;
- Lines.line(0, cy, x + width, cy);
- }
-
- Draw.reset();
}
void add(LStatement statement){
@@ -102,34 +76,45 @@ public class LCanvas extends Table{
}
void load(String asm){
- statements.clearChildren();
- try{
- Seq statements = LAssembler.read(asm);
- for(LStatement st : statements){
- add(st);
- }
+ Seq statements = LAssembler.read(asm);
+ statements.truncate(LogicBlock.maxInstructions);
+ this.statements.clearChildren();
+ for(LStatement st : statements){
+ add(st);
+ }
- for(LStatement st : statements){
- st.setupUI();
- }
- }catch(Exception e){
- //ignore errors reading asm
- e.printStackTrace();
+ for(LStatement st : statements){
+ st.setupUI();
}
this.statements.layout();
}
+ @Override
+ public void act(float delta){
+ super.act(delta);
+
+ if(Core.input.isTouched()){
+ float y = Core.input.mouseY();
+ float dst = Math.min(y - this.y, Core.graphics.getHeight() - y);
+ if(dst < Scl.scl(100f)){ //scroll margin
+ int sign = Mathf.sign(Core.graphics.getHeight()/2f - y);
+ pane.setScrollY(pane.getScrollY() + sign * Scl.scl(15f));
+ }
+ }
+ }
+
@Override
public void draw(){
postDraw.clear();
+ postDrawPriority.clear();
super.draw();
postDraw.each(Runnable::run);
+ postDrawPriority.each(Runnable::run);
}
public class DragLayout extends WidgetGroup{
- float margin = 4f;
- float space = 10f, prefWidth, prefHeight;
+ float space = Scl.scl(10f), prefWidth, prefHeight;
Seq seq = new Seq<>();
int insertPosition = 0;
@@ -142,10 +127,10 @@ public class LCanvas extends Table{
float cy = 0;
seq.clear();
- float totalHeight = getChildren().sumf(e -> e.getHeight() + space) + margin*2f;
+ float totalHeight = getChildren().sumf(e -> e.getHeight() + space);
height = prefHeight = totalHeight;
- width = prefWidth = 400f;
+ width = prefWidth = Scl.scl(targetWidth);
//layout everything normally
for(int i = 0; i < getChildren().size; i++){
@@ -154,8 +139,8 @@ public class LCanvas extends Table{
//ignore the dragged element
if(dragging == e) continue;
- e.setSize(width - margin * 2f, e.getPrefHeight());
- e.setPosition(x + margin, height- margin - cy, Align.topLeft);
+ e.setSize(width, e.getPrefHeight());
+ e.setPosition(0, height - cy, Align.topLeft);
cy += e.getPrefHeight() + space;
seq.add(e);
@@ -205,10 +190,10 @@ public class LCanvas extends Table{
//draw selection box indicating placement position
if(dragging != null && insertPosition <= seq.size){
float shiftAmount = dragging.getHeight();
- float lastX = x + margin;
- float lastY = insertPosition == 0 ? height + y - margin : seq.get(insertPosition - 1).y + y - space;
+ float lastX = x;
+ float lastY = insertPosition == 0 ? height + y : seq.get(insertPosition - 1).y + y - space;
- Tex.pane.draw(lastX, lastY - shiftAmount, width - margin*2f, dragging.getHeight());
+ Tex.pane.draw(lastX, lastY - shiftAmount, width, dragging.getHeight());
}
super.draw();
@@ -261,7 +246,11 @@ public class LCanvas extends Table{
t.add(st.name()).style(Styles.outlineLabel).color(color).padRight(8);
t.add().growX();
- t.button(Icon.cancel, Styles.onlyi, () -> {
+
+ t.button(Icon.copy, Styles.logici, () -> {
+ }).padRight(6).get().tapped(() -> copy());
+
+ t.button(Icon.cancel, Styles.logici, () -> {
remove();
dragging = null;
statements.layout();
@@ -272,7 +261,13 @@ public class LCanvas extends Table{
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCode button){
- Vec2 v = localToStageCoordinates(Tmp.v1.set(x, y));
+
+ if(button == KeyCode.mouseMiddle){
+ copy();
+ return false;
+ }
+
+ Vec2 v = localToParentCoordinates(Tmp.v1.set(x, y));
lastx = v.x;
lasty = v.y;
dragging = StatementElem.this;
@@ -283,7 +278,7 @@ public class LCanvas extends Table{
@Override
public void touchDragged(InputEvent event, float x, float y, int pointer){
- Vec2 v = localToStageCoordinates(Tmp.v1.set(x, y));
+ Vec2 v = localToParentCoordinates(Tmp.v1.set(x, y));
translation.add(v.x - lastx, v.y - lasty);
lastx = v.x;
@@ -311,6 +306,18 @@ public class LCanvas extends Table{
marginBottom(7);
}
+ void copy(){
+ LStatement copy = st.copy();
+ if(copy != null){
+ StatementElem s = new StatementElem(copy);
+
+ statements.addChildAfter(StatementElem.this,s);
+ statements.layout();
+ copy.elem = s;
+ copy.setupUI();
+ }
+ }
+
@Override
public void draw(){
float pad = 5f;
@@ -325,16 +332,18 @@ public class LCanvas extends Table{
}
public static class JumpButton extends ImageButton{
+ Color hoverColor = Pal.place;
+ Color defaultColor = Color.white;
@NonNull Prov to;
boolean selecting;
float mx, my;
+ ClickListener listener;
- public JumpButton(Color color, @NonNull Prov getter, Cons setter){
+ public JumpButton(@NonNull Prov getter, Cons setter){
super(Tex.logicNode, Styles.colori);
to = getter;
-
- getStyle().imageUpColor = color;
+ addListener(listener = new ClickListener());
addListener(new InputListener(){
@Override
@@ -370,6 +379,9 @@ public class LCanvas extends Table{
if(to.get() != null && to.get().parent == null){
setter.get(null);
}
+
+ setColor(listener.isOver() ? hoverColor : defaultColor);
+ getStyle().imageUpColor = this.color;
});
}
@@ -377,7 +389,7 @@ public class LCanvas extends Table{
public void draw(){
super.draw();
- postDraw.add(() -> {
+ (listener.isOver() ? postDrawPriority : postDraw).add(() -> {
Element hover = to.get() == null && selecting ? hovered() : to.get();
float tx = 0, ty = 0;
boolean draw = false;
@@ -410,10 +422,12 @@ public class LCanvas extends Table{
}
if(draw){
- drawCurve(rx + width/2f, ry + height/2f, tx, ty, color);
+ drawCurve(rx + width/2f, ry + height/2f, tx, ty);
float s = width;
+ Draw.color(color);
Tex.logicNode.draw(tx + s*0.75f, ty - s/2f, -s, s);
+ Draw.reset();
}
});
}
@@ -429,7 +443,7 @@ public class LCanvas extends Table{
return (StatementElem)e;
}
- void drawCurve(float x, float y, float x2, float y2, Color color){
+ void drawCurve(float x, float y, float x2, float y2){
Lines.stroke(4f, color);
Draw.alpha(parentAlpha);
@@ -442,8 +456,6 @@ public class LCanvas extends Table{
x2, y2,
Math.max(20, (int)(Mathf.dst(x, y, x2, y2) / 5))
);
-
- Draw.reset();
}
}
}
diff --git a/core/src/mindustry/logic/LCategory.java b/core/src/mindustry/logic/LCategory.java
index 562d899f4c..b576261f74 100644
--- a/core/src/mindustry/logic/LCategory.java
+++ b/core/src/mindustry/logic/LCategory.java
@@ -7,11 +7,11 @@ public enum LCategory{
blocks(Pal.accentBack),
control(Color.cyan.cpy().shiftSaturation(-0.6f).mul(0.7f)),
operations(Pal.place.cpy().shiftSaturation(-0.5f).mul(0.7f)),
- io(Pal.remove.cpy().shiftSaturation(-0.5f).mul(0.7f));;
+ io(Pal.remove.cpy().shiftSaturation(-0.5f).mul(0.7f));
public final Color color;
LCategory(Color color){
this.color = color;
}
-}
+}
\ No newline at end of file
diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java
index 20bf8c904e..3b201e4809 100644
--- a/core/src/mindustry/logic/LExecutor.java
+++ b/core/src/mindustry/logic/LExecutor.java
@@ -5,10 +5,14 @@ import arc.util.ArcAnnotate.*;
import arc.util.*;
import mindustry.*;
import mindustry.ctype.*;
+import mindustry.entities.*;
+import mindustry.game.*;
import mindustry.gen.*;
import mindustry.world.blocks.logic.LogicDisplay.*;
+import mindustry.world.blocks.logic.MemoryBlock.*;
+import mindustry.world.blocks.logic.MessageBlock.*;
-import static mindustry.world.blocks.logic.LogicDisplay.*;
+import static mindustry.Vars.*;
public class LExecutor{
//special variables
@@ -16,10 +20,17 @@ public class LExecutor{
varCounter = 0,
varTime = 1;
- public double[] memory = {};
+ public static final int
+ maxGraphicsBuffer = 256,
+ maxDisplayBuffer = 512,
+ maxTextBuffer = 256;
+
public LInstruction[] instructions = {};
public Var[] vars = {};
+
public LongSeq graphicsBuffer = new LongSeq();
+ public StringBuilder textBuffer = new StringBuilder();
+ public Building[] links = {};
public boolean initialized(){
return instructions != null && vars != null && instructions.length > 0;
@@ -38,8 +49,8 @@ public class LExecutor{
}
}
- public void load(String data){
- load(LAssembler.assemble(data));
+ public void load(String data, int maxInstructions){
+ load(LAssembler.assemble(data, maxInstructions));
}
/** Loads with a specified assembler. Resets all variables. */
@@ -65,31 +76,31 @@ public class LExecutor{
//region utility
- @Nullable Building building(int index){
+ public @Nullable Building building(int index){
Object o = vars[index].objval;
return vars[index].isobj && o instanceof Building ? (Building)o : null;
}
- @Nullable Object obj(int index){
+ public @Nullable Object obj(int index){
Object o = vars[index].objval;
return vars[index].isobj ? o : null;
}
- boolean bool(int index){
+ public boolean bool(int index){
Var v = vars[index];
return v.isobj ? v.objval != null : Math.abs(v.numval) >= 0.00001;
}
- double num(int index){
+ public double num(int index){
Var v = vars[index];
- return v.isobj ? 0 : v.numval;
+ return v.isobj ? v.objval != null ? 1 : 0 : v.numval;
}
- int numi(int index){
+ public int numi(int index){
return (int)num(index);
}
- void setnum(int index, double value){
+ public void setnum(int index, double value){
Var v = vars[index];
if(v.constant) return;
v.numval = value;
@@ -97,7 +108,7 @@ public class LExecutor{
v.isobj = false;
}
- void setobj(int index, Object value){
+ public void setobj(int index, Object value){
Var v = vars[index];
if(v.constant) return;
v.objval = value;
@@ -125,30 +136,59 @@ public class LExecutor{
void run(LExecutor exec);
}
- /** Enables/disables a building. */
- public static class EnableI implements LInstruction{
- public int target, value;
+ /** Controls a building's state. */
+ public static class ControlI implements LInstruction{
+ public int target;
+ public LAccess type = LAccess.enabled;
+ public int p1, p2, p3, p4;
- public EnableI(int target, int value){
+ public ControlI(LAccess type, int target, int p1, int p2, int p3, int p4){
+ this.type = type;
this.target = target;
- this.value = value;
+ this.p1 = p1;
+ this.p2 = p2;
+ this.p3 = p3;
+ this.p4 = p4;
}
- EnableI(){}
+ ControlI(){}
@Override
public void run(LExecutor exec){
- Building b = exec.building(target);
- if(b != null) b.enabled = exec.bool(value);
+ Object obj = exec.obj(target);
+ if(obj instanceof Controllable){
+ Controllable cont = (Controllable)obj;
+ cont.control(type, exec.num(p1), exec.num(p2), exec.num(p3), exec.num(p4));
+ }
+ }
+ }
+
+ public static class GetLinkI implements LInstruction{
+ public int output, index;
+
+ public GetLinkI(int output, int index){
+ this.index = index;
+ this.output = output;
+ }
+
+ public GetLinkI(){
+ }
+
+ @Override
+ public void run(LExecutor exec){
+ int address = exec.numi(index);
+
+ exec.setobj(output, address >= 0 && address < exec.links.length ? exec.links[address] : null);
}
}
public static class ReadI implements LInstruction{
- public int from, to;
+ public int target, position, output;
- public ReadI(int from, int to){
- this.from = from;
- this.to = to;
+ public ReadI(int target, int position, int output){
+ this.target = target;
+ this.position = position;
+ this.output = output;
}
public ReadI(){
@@ -156,18 +196,24 @@ public class LExecutor{
@Override
public void run(LExecutor exec){
- int address = exec.numi(from);
+ int address = exec.numi(position);
+ Building from = exec.building(target);
- exec.setnum(to,address < 0 || address >= exec.memory.length ? 0 : exec.memory[address]);
+ if(from instanceof MemoryBuild){
+ MemoryBuild mem = (MemoryBuild)from;
+
+ exec.setnum(output, address < 0 || address >= mem.memory.length ? 0 : mem.memory[address]);
+ }
}
}
public static class WriteI implements LInstruction{
- public int from, to;
+ public int target, position, value;
- public WriteI(int from, int to){
- this.from = from;
- this.to = to;
+ public WriteI(int target, int position, int value){
+ this.target = target;
+ this.position = position;
+ this.value = value;
}
public WriteI(){
@@ -175,10 +221,16 @@ public class LExecutor{
@Override
public void run(LExecutor exec){
- int address = exec.numi(to);
+ int address = exec.numi(position);
+ Building from = exec.building(target);
+
+ if(from instanceof MemoryBuild){
+ MemoryBuild mem = (MemoryBuild)from;
+
+ if(address >= 0 && address < mem.memory.length){
+ mem.memory[address] = exec.num(value);
+ }
- if(address >= 0 && address < exec.memory.length){
- exec.memory[address] = exec.num(from);
}
}
}
@@ -205,8 +257,8 @@ public class LExecutor{
if(target instanceof Senseable){
if(sense instanceof Content){
output = ((Senseable)target).sense(((Content)sense));
- }else if(sense instanceof LSensor){
- output = ((Senseable)target).sense(((LSensor)sense));
+ }else if(sense instanceof LAccess){
+ output = ((Senseable)target).sense(((LAccess)sense));
}
}
@@ -215,6 +267,89 @@ public class LExecutor{
}
}
+ public static class RadarI implements LInstruction{
+ public RadarTarget target1 = RadarTarget.enemy, target2 = RadarTarget.any, target3 = RadarTarget.any;
+ public RadarSort sort = RadarSort.distance;
+ public int radar, sortOrder, output;
+
+ //radar instructions are special in that they cache their output and only change it at fixed intervals.
+ //this prevents lag from spam of radar instructions
+ public Healthc lastTarget;
+ public Interval timer = new Interval();
+
+ static float bestValue = 0f;
+ static Unit best = null;
+
+ public RadarI(RadarTarget target1, RadarTarget target2, RadarTarget target3, RadarSort sort, int radar, int sortOrder, int output){
+ this.target1 = target1;
+ this.target2 = target2;
+ this.target3 = target3;
+ this.sort = sort;
+ this.radar = radar;
+ this.sortOrder = sortOrder;
+ this.output = output;
+ }
+
+ public RadarI(){
+ }
+
+ @Override
+ public void run(LExecutor exec){
+ Building target = exec.building(radar);
+
+ int sortDir = exec.bool(sortOrder) ? 1 : -1;
+
+ if(target instanceof Ranged){
+ float range = ((Ranged)target).range();
+
+ Healthc targeted;
+
+ if(timer.get(30f)){
+ //if any of the targets involve enemies
+ boolean enemies = target1 == RadarTarget.enemy || target2 == RadarTarget.enemy || target3 == RadarTarget.enemy;
+
+ best = null;
+ bestValue = 0;
+
+ if(enemies){
+ for(Team enemy : state.teams.enemiesOf(target.team)){
+ find(target, range, sortDir, enemy);
+ }
+ }else{
+ find(target, range, sortDir, target.team);
+ }
+
+ lastTarget = targeted = best;
+ }else{
+ targeted = lastTarget;
+ }
+
+ exec.setobj(output, targeted);
+ }else{
+ exec.setobj(output, null);
+ }
+ }
+
+ void find(Building b, float range, int sortDir, Team team){
+ Units.nearby(team, b.x, b.y, range, u -> {
+ if(!u.within(b, range)) return;
+
+ boolean valid =
+ target1.func.get(b.team, u) &&
+ target2.func.get(b.team, u) &&
+ target3.func.get(b.team, u);
+
+ if(!valid) return;
+
+ float val = sort.func.get(b, u) * sortDir;
+ if(val > bestValue || best == null){
+ bestValue = val;
+ best = u;
+ }
+ });
+ }
+ }
+
public static class SetI implements LInstruction{
public int from, to;
@@ -243,40 +378,26 @@ public class LExecutor{
}
}
- public static class BinaryOpI implements LInstruction{
- public BinaryOp op;
+ public static class OpI implements LInstruction{
+ public LogicOp op = LogicOp.add;
public int a, b, dest;
- public BinaryOpI(BinaryOp op, int a, int b, int dest){
+ public OpI(LogicOp op, int a, int b, int dest){
this.op = op;
this.a = a;
this.b = b;
this.dest = dest;
}
- BinaryOpI(){}
+ OpI(){}
@Override
public void run(LExecutor exec){
- exec.setnum(dest, op.function.get(exec.num(a), exec.num(b)));
- }
- }
-
- public static class UnaryOpI implements LInstruction{
- public UnaryOp op;
- public int value, dest;
-
- public UnaryOpI(UnaryOp op, int value, int dest){
- this.op = op;
- this.value = value;
- this.dest = dest;
- }
-
- UnaryOpI(){}
-
- @Override
- public void run(LExecutor exec){
- exec.setnum(dest, op.function.get(exec.num(value)));
+ if(op.unary){
+ exec.setnum(dest, op.function1.get(exec.num(a)));
+ }else{
+ exec.setnum(dest, op.function2.get(exec.num(a), exec.num(b)));
+ }
}
}
@@ -288,12 +409,17 @@ public class LExecutor{
}
}
- public static class DisplayI implements LInstruction{
+ public static class NoopI implements LInstruction{
+ @Override
+ public void run(LExecutor exec){}
+ }
+
+ public static class DrawI implements LInstruction{
public byte type;
public int target;
- public int x, y, p1, p2, p3;
+ public int x, y, p1, p2, p3, p4;
- public DisplayI(byte type, int target, int x, int y, int p1, int p2, int p3){
+ public DrawI(byte type, int target, int x, int y, int p1, int p2, int p3, int p4){
this.type = type;
this.target = target;
this.x = x;
@@ -301,9 +427,10 @@ public class LExecutor{
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
+ this.p4 = p4;
}
- public DisplayI(){
+ public DrawI(){
}
@Override
@@ -311,102 +438,122 @@ public class LExecutor{
//graphics on headless servers are useless.
if(Vars.headless) return;
- if(type == commandFlush){
- Building build = exec.building(target);
- if(build instanceof LogicDisplayEntity){
- //flush is a special command
- LogicDisplayEntity d = (LogicDisplayEntity)build;
+ //add graphics calls, cap graphics buffer size
+ if(exec.graphicsBuffer.size < maxGraphicsBuffer){
+ exec.graphicsBuffer.add(DisplayCmd.get(type, exec.numi(x), exec.numi(y), exec.numi(p1), exec.numi(p2), exec.numi(p3), exec.numi(p4)));
+ }
+ }
+ }
+
+ public static class DrawFlushI implements LInstruction{
+ public int target;
+
+ public DrawFlushI(int target){
+ this.target = target;
+ }
+
+ public DrawFlushI(){
+ }
+
+ @Override
+ public void run(LExecutor exec){
+ //graphics on headless servers are useless.
+ if(Vars.headless) return;
+
+ Building build = exec.building(target);
+ if(build instanceof LogicDisplayBuild){
+ LogicDisplayBuild d = (LogicDisplayBuild)build;
+ if(d.commands.size + exec.graphicsBuffer.size < maxDisplayBuffer){
for(int i = 0; i < exec.graphicsBuffer.size; i++){
d.commands.addLast(exec.graphicsBuffer.items[i]);
}
- exec.graphicsBuffer.clear();
- }
-
- }else{
- //add graphics calls, cap graphics buffer size
- if(exec.graphicsBuffer.size < 1024){
- exec.graphicsBuffer.add(DisplayCmd.get(type, exec.numi(x), exec.numi(y), exec.numi(p1), exec.numi(p2), exec.numi(p3)));
}
+ exec.graphicsBuffer.clear();
}
}
}
public static class PrintI implements LInstruction{
- private static final StringBuilder out = new StringBuilder();
+ public int value;
- public int value, target;
-
- public PrintI(int value, int target){
+ public PrintI(int value){
this.value = value;
- this.target = target;
}
PrintI(){}
@Override
public void run(LExecutor exec){
- Building b = exec.building(target);
- if(b == null) return;
+ if(exec.textBuffer.length() >= maxTextBuffer) return;
//this should avoid any garbage allocation
Var v = exec.vars[value];
if(v.isobj && value != 0){
- if(v.objval instanceof String){
- b.handleString(v.objval);
- }else if(v.objval == null){
- b.handleString("null");
- }else{
- b.handleString("[object]");
- }
+ String strValue = v.objval instanceof String ? (String)v.objval : v.objval == null ? "null" :
+ v.objval instanceof Content ? "[content]" :
+ v.objval instanceof Building ? "[building]" :
+ v.objval instanceof Unit ? "[unit]" :
+ "[object]";
+
+ exec.textBuffer.append(strValue);
}else{
- out.setLength(0);
//display integer version when possible
if(Math.abs(v.numval - (long)v.numval) < 0.000001){
- out.append((long)v.numval);
+ exec.textBuffer.append((long)v.numval);
}else{
- out.append(v.numval);
+ exec.textBuffer.append(v.numval);
}
- b.handleString(out);
+ }
+ }
+ }
+
+ public static class PrintFlushI implements LInstruction{
+ public int target;
+
+ public PrintFlushI(int target){
+ this.target = target;
+ }
+
+ public PrintFlushI(){
+ }
+
+ @Override
+ public void run(LExecutor exec){
+
+ Building build = exec.building(target);
+ if(build instanceof MessageBuild){
+ MessageBuild d = (MessageBuild)build;
+
+ d.message.setLength(0);
+ d.message.append(exec.textBuffer, 0, Math.min(exec.textBuffer.length(), maxTextBuffer));
+
+ exec.textBuffer.setLength(0);
}
}
}
public static class JumpI implements LInstruction{
- public int cond, to;
+ public ConditionOp op = ConditionOp.notEqual;
+ public int value, compare, address;
- public JumpI(int cond, int to){
- this.cond = cond;
- this.to = to;
+ public JumpI(ConditionOp op, int value, int compare, int address){
+ this.op = op;
+ this.value = value;
+ this.compare = compare;
+ this.address = address;
}
- JumpI(){}
+ public JumpI(){
+ }
@Override
public void run(LExecutor exec){
- if(to != -1 && exec.bool(cond)){
- exec.vars[varCounter].numval = to;
+ if(address != -1 && op.function.get(exec.num(value), exec.num(compare))){
+ exec.vars[varCounter].numval = address;
}
}
}
- public static class GetBuildI implements LInstruction{
- public int dest;
- public int x, y;
-
- public GetBuildI(int dest, int x, int y){
- this.dest = dest;
- this.x = x;
- this.y = y;
- }
-
- GetBuildI(){}
-
- @Override
- public void run(LExecutor exec){
- exec.setobj(dest, Vars.world.build(exec.numi(x), exec.numi(y)));
- }
- }
-
//endregion
}
diff --git a/core/src/mindustry/logic/LSensor.java b/core/src/mindustry/logic/LSensor.java
deleted file mode 100644
index 2551ad1254..0000000000
--- a/core/src/mindustry/logic/LSensor.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package mindustry.logic;
-
-public enum LSensor{
- totalItems,
- totalLiquids,
- totalPower,
- powerNetStored,
- powerNetIn,
- powerNetOut,
- health,
- heat,
- efficiency;
-
- public static final LSensor[] all = values();
-}
diff --git a/core/src/mindustry/logic/LStatement.java b/core/src/mindustry/logic/LStatement.java
index 36508ee21e..f7e39c6088 100644
--- a/core/src/mindustry/logic/LStatement.java
+++ b/core/src/mindustry/logic/LStatement.java
@@ -7,6 +7,7 @@ import arc.scene.*;
import arc.scene.actions.*;
import arc.scene.ui.*;
import arc.scene.ui.layout.*;
+import arc.struct.*;
import arc.util.*;
import arc.util.ArcAnnotate.*;
import mindustry.gen.*;
@@ -24,6 +25,13 @@ public abstract class LStatement{
public abstract LCategory category();
public abstract LInstruction build(LAssembler builder);
+ public LStatement copy(){
+ StringBuilder build = new StringBuilder();
+ write(build);
+ Seq read = LAssembler.read(build.toString());
+ return read.size == 0 ? null : read.first();
+ }
+
//protected methods are only for internal UI layout utilities
protected Cell field(Table table, String value, Cons setter){
@@ -40,6 +48,12 @@ public abstract class LStatement{
field(table, value, setter).width(85f);
}
+ protected void row(Table table){
+ if(LCanvas.useRows()){
+ table.row();
+ }
+ }
+
protected void showSelect(Button b, T[] values, T current, Cons getter, int cols, Cons
| sizer){
showSelectTable(b, (t, hide) -> {
ButtonGroup |