diff --git a/annotations/src/main/java/io/anuke/annotations/AssetsAnnotationProcessor.java b/annotations/src/main/java/io/anuke/annotations/AssetsAnnotationProcessor.java index 53642c7597..51727dbe4b 100644 --- a/annotations/src/main/java/io/anuke/annotations/AssetsAnnotationProcessor.java +++ b/annotations/src/main/java/io/anuke/annotations/AssetsAnnotationProcessor.java @@ -86,10 +86,9 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{ //load.addStatement(name + " = io.anuke.arc.Core.audio."+loadMethod+"(io.anuke.arc.Core.files.internal(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S))", //filepath, filepath.replace(".ogg", ".mp3")); + String filename = "io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? \"" + filepath + "\" : \"" + filepath.replace(".ogg", ".mp3")+"\""; - loadBegin.addStatement("io.anuke.arc.Core.assets.load(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S, "+rtype+".class, " + - "new io.anuke.arc.assets.loaders."+classname.substring(0, classname.length()-1)+"Loader."+classname.substring(0, classname.length()-1)+"Parameter((m, name, type) -> " + name + " = m.get(\"" + filepath + "\")))", - filepath, filepath.replace(".ogg", ".mp3")); + loadBegin.addStatement("io.anuke.arc.Core.assets.load("+filename +", "+rtype+".class).loaded = a -> " + name + " = ("+rtype+")a", filepath, filepath.replace(".ogg", ".mp3")); dispose.addStatement(name + ".dispose()"); diff --git a/build.gradle b/build.gradle index 57f06993b1..59a445f5f5 100644 --- a/build.gradle +++ b/build.gradle @@ -179,7 +179,7 @@ project(":ios"){ } props['app.id'] = 'io.anuke.mindustry' - props['app.version'] = '4.0' + props['app.version'] = '4.2.1' props['app.mainclass'] = 'io.anuke.mindustry.IOSLauncher' props['app.executable'] = 'IOSLauncher' props['app.name'] = 'Mindustry' @@ -205,6 +205,7 @@ project(":core"){ apply plugin: "java" task preGen{ + outputs.upToDateWhen{ false } generateLocales() writeVersion() } @@ -325,4 +326,4 @@ task deployAll{ dependsOn "desktop:packrMacOS" dependsOn "server:deploy" dependsOn "android:deploy" -} \ No newline at end of file +} diff --git a/core/assets-raw/sprites/ui/icons/icon-fdroid.png b/core/assets-raw/sprites/ui/icons/icon-fdroid.png new file mode 100644 index 0000000000..24c7cb884d Binary files /dev/null and b/core/assets-raw/sprites/ui/icons/icon-fdroid.png differ diff --git a/core/assets-raw/sprites/zones/craters.png b/core/assets-raw/sprites/zones/zone-craters.png similarity index 100% rename from core/assets-raw/sprites/zones/craters.png rename to core/assets-raw/sprites/zones/zone-craters.png diff --git a/core/assets-raw/sprites/zones/desertWastes.png b/core/assets-raw/sprites/zones/zone-desertWastes.png similarity index 100% rename from core/assets-raw/sprites/zones/desertWastes.png rename to core/assets-raw/sprites/zones/zone-desertWastes.png diff --git a/core/assets-raw/sprites/zones/desolateRift.png b/core/assets-raw/sprites/zones/zone-desolateRift.png similarity index 100% rename from core/assets-raw/sprites/zones/desolateRift.png rename to core/assets-raw/sprites/zones/zone-desolateRift.png diff --git a/core/assets-raw/sprites/zones/frozenForest.png b/core/assets-raw/sprites/zones/zone-frozenForest.png similarity index 100% rename from core/assets-raw/sprites/zones/frozenForest.png rename to core/assets-raw/sprites/zones/zone-frozenForest.png diff --git a/core/assets-raw/sprites/zones/fungalPass.png b/core/assets-raw/sprites/zones/zone-fungalPass.png similarity index 100% rename from core/assets-raw/sprites/zones/fungalPass.png rename to core/assets-raw/sprites/zones/zone-fungalPass.png diff --git a/core/assets-raw/sprites/zones/groundZero.png b/core/assets-raw/sprites/zones/zone-groundZero.png similarity index 100% rename from core/assets-raw/sprites/zones/groundZero.png rename to core/assets-raw/sprites/zones/zone-groundZero.png diff --git a/core/assets-raw/sprites/zones/nuclearComplex.png b/core/assets-raw/sprites/zones/zone-nuclearComplex.png similarity index 100% rename from core/assets-raw/sprites/zones/nuclearComplex.png rename to core/assets-raw/sprites/zones/zone-nuclearComplex.png diff --git a/core/assets-raw/sprites/zones/overgrowth.png b/core/assets-raw/sprites/zones/zone-overgrowth.png similarity index 100% rename from core/assets-raw/sprites/zones/overgrowth.png rename to core/assets-raw/sprites/zones/zone-overgrowth.png diff --git a/core/assets-raw/sprites/zones/ruinousShores.png b/core/assets-raw/sprites/zones/zone-ruinousShores.png similarity index 100% rename from core/assets-raw/sprites/zones/ruinousShores.png rename to core/assets-raw/sprites/zones/zone-ruinousShores.png diff --git a/core/assets-raw/sprites/zones/saltFlats.png b/core/assets-raw/sprites/zones/zone-saltFlats.png similarity index 100% rename from core/assets-raw/sprites/zones/saltFlats.png rename to core/assets-raw/sprites/zones/zone-saltFlats.png diff --git a/core/assets-raw/sprites/zones/stainedMountains.png b/core/assets-raw/sprites/zones/zone-stainedMountains.png similarity index 100% rename from core/assets-raw/sprites/zones/stainedMountains.png rename to core/assets-raw/sprites/zones/zone-stainedMountains.png diff --git a/core/assets-raw/sprites/zones/tarFields.png b/core/assets-raw/sprites/zones/zone-tarFields.png similarity index 100% rename from core/assets-raw/sprites/zones/tarFields.png rename to core/assets-raw/sprites/zones/zone-tarFields.png diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index cbb01cda34..ee124426b8 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -64,16 +64,18 @@ techtree = Tech Tree research.list = [lightgray]Research: research = Research researched = [lightgray]{0} researched. -players = {0} players online -players.single = {0} player online +players = {0} players +players.single = {0} player 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. @@ -110,7 +112,7 @@ server.edit = Edit Server server.outdated = [crimson]Outdated Server![] server.outdated.client = [crimson]Outdated Client![] server.version = [gray]v{0} {1} -server.custombuild = [yellow]Custom Build +server.custombuild = [accent]Custom Build confirmban = Are you sure you want to ban this player? confirmkick = Are you sure you want to kick this player? confirmunban = Are you sure you want to unban this player? @@ -119,6 +121,9 @@ confirmunadmin = Are you sure you want to remove admin status from this player? 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! connecting = [accent]Connecting... connecting.data = [accent]Loading world data... @@ -152,7 +157,7 @@ off = Off save.autosave = Autosave: {0} save.map = Map: {0} save.wave = Wave {0} -save.difficulty = Difficulty: {0} +save.mode = Gamemode: {0} save.date = Last Saved: {0} save.playtime = Playtime: {0} warning = Warning. @@ -446,6 +451,7 @@ 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 @@ -890,8 +896,8 @@ tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[a 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.\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.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered -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]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered +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.\n\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. diff --git a/core/assets/music/menu.ogg b/core/assets/music/menu.ogg index 90dfbb6378..c23fe679fb 100644 Binary files a/core/assets/music/menu.ogg and b/core/assets/music/menu.ogg differ diff --git a/core/assets/sprites/block_colors.png b/core/assets/sprites/block_colors.png index 2f8914711b..9b00505564 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/sprites.atlas b/core/assets/sprites/sprites.atlas index d2b078ade6..2b65c73d7f 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -6,5194 +6,5194 @@ filter: Nearest,Nearest repeat: none force-projector rotate: false - xy: 1423, 1659 + xy: 521, 478 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 force-projector-icon-full rotate: false - xy: 1423, 1659 + xy: 521, 478 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 force-projector-top rotate: false - xy: 1521, 1659 + xy: 489, 380 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mend-projector rotate: false - xy: 715, 1322 + xy: 1676, 1595 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mend-projector-icon-full rotate: false - xy: 715, 1322 + xy: 1676, 1595 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mend-projector-top rotate: false - xy: 781, 1322 + xy: 1742, 1591 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mender rotate: false - xy: 907, 696 + xy: 1347, 889 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mender-icon-full rotate: false - xy: 907, 696 + xy: 1347, 889 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mender-top rotate: false - xy: 847, 662 + xy: 1347, 855 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 overdrive-projector rotate: false - xy: 913, 1331 + xy: 1874, 1591 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 overdrive-projector-icon-full rotate: false - xy: 913, 1331 + xy: 1874, 1591 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 overdrive-projector-top rotate: false - xy: 649, 1190 + xy: 1940, 1591 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 shock-mine rotate: false - xy: 1043, 739 + xy: 1415, 721 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-arrow rotate: false - xy: 962, 909 + xy: 1361, 1095 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor rotate: false - xy: 1132, 909 + xy: 1395, 1197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-icon-full rotate: false - xy: 1132, 909 + xy: 1395, 1197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-bridge rotate: false - xy: 1166, 909 + xy: 1395, 1163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-end rotate: false - xy: 1200, 909 + xy: 1395, 1129 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 center rotate: false - xy: 1234, 909 + xy: 1395, 1095 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-0 rotate: false - xy: 1444, 931 + xy: 1063, 212 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-icon-full rotate: false - xy: 1444, 931 + xy: 1063, 212 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-1 rotate: false - xy: 1478, 931 + xy: 1097, 246 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-2 rotate: false - xy: 1512, 931 + xy: 1097, 212 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-3 rotate: false - xy: 1546, 931 + xy: 1135, 416 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-0 rotate: false - xy: 1580, 931 + xy: 1135, 382 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-1 rotate: false - xy: 1614, 931 + xy: 1135, 348 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-2 rotate: false - xy: 1444, 897 + xy: 1131, 314 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-3 rotate: false - xy: 1478, 897 + xy: 1131, 280 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-0 rotate: false - xy: 1512, 897 + xy: 1131, 246 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-1 rotate: false - xy: 1546, 897 + xy: 1131, 212 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-2 rotate: false - xy: 1580, 897 + xy: 1153, 749 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-3 rotate: false - xy: 1614, 897 + xy: 1155, 584 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-0 rotate: false - xy: 1656, 975 + xy: 1361, 1061 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-1 rotate: false - xy: 1690, 975 + xy: 1395, 1061 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-2 rotate: false - xy: 1724, 975 + xy: 1360, 1027 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-3 rotate: false - xy: 1758, 975 + xy: 1394, 1027 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-0 rotate: false - xy: 1792, 975 + xy: 1433, 1333 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-1 rotate: false - xy: 1826, 975 + xy: 1433, 1299 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-2 rotate: false - xy: 1860, 975 + xy: 1429, 1265 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-3 rotate: false - xy: 1656, 941 + xy: 1429, 1231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-0 rotate: false - xy: 1145, 739 + xy: 1671, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-icon-full rotate: false - xy: 1145, 739 + xy: 1671, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-1 rotate: false - xy: 1179, 773 + xy: 1637, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-2 rotate: false - xy: 1213, 807 + xy: 1671, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-3 rotate: false - xy: 1247, 841 + xy: 1497, 1295 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-0 rotate: false - xy: 1145, 705 + xy: 1497, 1261 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-1 rotate: false - xy: 1179, 739 + xy: 1531, 1295 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-2 rotate: false - xy: 1213, 773 + xy: 1497, 1227 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-3 rotate: false - xy: 1247, 807 + xy: 1565, 1295 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-0 rotate: false - xy: 1179, 705 + xy: 1531, 1261 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-1 rotate: false - xy: 1213, 739 + xy: 1497, 1193 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-2 rotate: false - xy: 1247, 773 + xy: 1599, 1295 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-3 rotate: false - xy: 1213, 705 + xy: 1565, 1261 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-0 rotate: false - xy: 1247, 739 + xy: 1531, 1227 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-1 rotate: false - xy: 1247, 705 + xy: 1497, 1159 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-2 rotate: false - xy: 983, 671 + xy: 1633, 1295 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-3 rotate: false - xy: 983, 637 + xy: 1599, 1261 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-0 rotate: false - xy: 1017, 671 + xy: 1565, 1227 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-1 rotate: false - xy: 983, 603 + xy: 1531, 1193 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-2 rotate: false - xy: 1017, 637 + xy: 1497, 1125 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-3 rotate: false - xy: 1051, 671 + xy: 1667, 1295 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 distributor rotate: false - xy: 1325, 1399 + xy: 525, 118 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 distributor-icon-full rotate: false - xy: 1325, 1399 + xy: 525, 118 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 junction rotate: false - xy: 839, 798 + xy: 1221, 739 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 junction-icon-full rotate: false - xy: 839, 798 + xy: 1221, 739 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mass-driver-base rotate: false - xy: 1619, 1463 + xy: 651, 750 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 overflow-gate rotate: false - xy: 915, 628 + xy: 1347, 821 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 overflow-gate-icon-full rotate: false - xy: 915, 628 + xy: 1347, 821 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor rotate: false - xy: 897, 424 + xy: 1279, 797 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-icon-full rotate: false - xy: 897, 424 + xy: 1279, 797 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-arrow rotate: false - xy: 897, 390 + xy: 1347, 787 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-bridge rotate: false - xy: 897, 356 + xy: 1381, 789 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-end rotate: false - xy: 931, 458 + xy: 1415, 789 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 router rotate: false - xy: 1009, 841 + xy: 1463, 1231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 router-icon-full rotate: false - xy: 1009, 841 + xy: 1463, 1231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sorter rotate: false - xy: 1111, 773 + xy: 1467, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sorter-icon-full rotate: false - xy: 1111, 773 + xy: 1467, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 blast-drill rotate: false - xy: 645, 1716 + xy: 1804, 1917 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 blast-drill-rim rotate: false - xy: 453, 1355 + xy: 526, 1595 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 blast-drill-rotator rotate: false - xy: 775, 1716 + xy: 453, 1392 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 blast-drill-top rotate: false - xy: 905, 1757 + xy: 163, 1031 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 drill-top rotate: false - xy: 649, 1454 + xy: 591, 52 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-liquid rotate: false - xy: 649, 1454 + xy: 591, 52 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 laser-drill rotate: false - xy: 423, 265 + xy: 685, 184 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-rim rotate: false - xy: 683, 769 + xy: 583, 1436 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-rotator rotate: false - xy: 683, 671 + xy: 681, 1436 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-top rotate: false - xy: 933, 1463 + xy: 609, 1338 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-drill rotate: false - xy: 1177, 1397 + xy: 1412, 1557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-rotator rotate: false - xy: 649, 1322 + xy: 1544, 1595 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-top rotate: false - xy: 649, 1256 + xy: 1610, 1595 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 oil-extractor rotate: false - xy: 1717, 1401 + xy: 749, 1142 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-liquid rotate: false - xy: 553, 509 + xy: 749, 946 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-rotator rotate: false - xy: 651, 573 + xy: 749, 848 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-top rotate: false - xy: 651, 475 + xy: 749, 750 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 pneumatic-drill rotate: false - xy: 1045, 1331 + xy: 1214, 1491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-rotator rotate: false - xy: 913, 1199 + xy: 1346, 1491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-top rotate: false - xy: 715, 1124 + xy: 1412, 1491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor rotate: false - xy: 922, 1001 + xy: 979, 889 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-liquid rotate: false - xy: 988, 1001 + xy: 979, 823 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-rotator rotate: false - xy: 1120, 1067 + xy: 913, 757 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-top rotate: false - xy: 1054, 1001 + xy: 979, 757 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-border rotate: false - xy: 1920, 995 + xy: 1361, 1197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-middle rotate: false - xy: 285, 11 + xy: 1361, 1163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-select rotate: false - xy: 319, 11 + xy: 1361, 1129 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 1588, 999 + xy: 1029, 280 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 place-arrow rotate: false - xy: 1913, 1597 + xy: 717, 554 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 rubble-1-0 rotate: false - xy: 979, 1199 + xy: 1742, 1459 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rubble-1-1 rotate: false - xy: 913, 1133 + xy: 1808, 1459 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rubble-2-0 rotate: false - xy: 1177, 1331 + xy: 1874, 1459 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rubble-2-1 rotate: false - xy: 1111, 1265 + xy: 1940, 1459 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rubble-3-0 rotate: false - xy: 749, 475 + xy: 783, 260 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 rubble-3-1 rotate: false - xy: 749, 475 + xy: 783, 260 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 rubble-4-0 rotate: false - xy: 423, 705 + xy: 293, 742 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 rubble-4-1 rotate: false - xy: 423, 705 + xy: 293, 742 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 bridge-conduit rotate: false - xy: 996, 909 + xy: 1399, 1333 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-icon-full rotate: false - xy: 996, 909 + xy: 1399, 1333 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-arrow rotate: false - xy: 1030, 909 + xy: 1399, 1299 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-arrow rotate: false - xy: 1030, 909 + xy: 1399, 1299 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-bridge rotate: false - xy: 1064, 909 + xy: 1395, 1265 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-end rotate: false - xy: 1098, 909 + xy: 1395, 1231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 1418, 975 + xy: 1101, 416 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-0 rotate: false - xy: 1410, 907 + xy: 1101, 382 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-1 rotate: false - xy: 1452, 999 + xy: 1033, 348 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-2 rotate: false - xy: 1486, 999 + xy: 1067, 348 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-3 rotate: false - xy: 1486, 999 + xy: 1067, 348 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-4 rotate: false - xy: 1486, 999 + xy: 1067, 348 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-6 rotate: false - xy: 1486, 999 + xy: 1067, 348 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-5 rotate: false - xy: 1520, 999 + xy: 1101, 348 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-0 rotate: false - xy: 1622, 999 + xy: 1063, 314 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-1 rotate: false - xy: 1452, 965 + xy: 1029, 246 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-2 rotate: false - xy: 1486, 965 + xy: 1063, 280 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-3 rotate: false - xy: 1520, 965 + xy: 1097, 314 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-3 rotate: false - xy: 1520, 965 + xy: 1097, 314 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-4 rotate: false - xy: 1554, 965 + xy: 1029, 212 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-5 rotate: false - xy: 1588, 965 + xy: 1063, 246 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-6 rotate: false - xy: 1622, 965 + xy: 1097, 280 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-junction rotate: false - xy: 873, 832 + xy: 1379, 959 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-junction-icon-full rotate: false - xy: 873, 832 + xy: 1379, 959 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-bottom rotate: false - xy: 873, 798 + xy: 1447, 959 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-liquid rotate: false - xy: 839, 730 + xy: 1279, 899 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-top rotate: false - xy: 873, 764 + xy: 1279, 865 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-tank-bottom rotate: false - xy: 1129, 1463 + xy: 651, 1240 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-liquid rotate: false - xy: 1325, 1465 + xy: 651, 1044 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-top rotate: false - xy: 1423, 1463 + xy: 651, 946 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 873, 696 + xy: 1313, 839 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mechanical-pump-icon-full rotate: false - xy: 873, 696 + xy: 1313, 839 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit rotate: false - xy: 915, 560 + xy: 1415, 823 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-icon-full rotate: false - xy: 915, 560 + xy: 1415, 823 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-arrow rotate: false - xy: 915, 526 + xy: 1449, 823 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-bridge rotate: false - xy: 915, 492 + xy: 1483, 823 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-end rotate: false - xy: 897, 458 + xy: 1313, 805 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-0 rotate: false - xy: 941, 764 + xy: 1449, 755 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-1 rotate: false - xy: 941, 730 + xy: 1483, 755 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-2 rotate: false - xy: 941, 696 + xy: 1289, 737 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-4 rotate: false - xy: 949, 662 + xy: 1165, 314 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-5 rotate: false - xy: 949, 628 + xy: 1165, 280 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-6 rotate: false - xy: 949, 594 + xy: 1165, 246 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump rotate: false - xy: 1111, 1331 + xy: 1610, 1463 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rotary-pump-icon-full rotate: false - xy: 1111, 1331 + xy: 1610, 1463 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 521, 215 + xy: 881, 162 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thermal-pump-icon-full rotate: false - xy: 521, 215 + xy: 881, 162 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 dart-mech-pad rotate: false - xy: 821, 13 + xy: 393, 58 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dart-mech-pad-icon-full rotate: false - xy: 821, 13 + xy: 393, 58 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 delta-mech-pad rotate: false - xy: 887, 13 + xy: 459, 118 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 delta-mech-pad-icon-full rotate: false - xy: 887, 13 + xy: 459, 118 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 glaive-ship-pad rotate: false - xy: 1815, 1597 + xy: 685, 282 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 glaive-ship-pad-icon-full rotate: false - xy: 1815, 1597 + xy: 685, 282 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 javelin-ship-pad rotate: false - xy: 781, 1388 + xy: 1280, 1623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 javelin-ship-pad-icon-full rotate: false - xy: 781, 1388 + xy: 1280, 1623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 omega-mech-pad rotate: false - xy: 1913, 1695 + xy: 749, 652 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 omega-mech-pad-icon-full rotate: false - xy: 1913, 1695 + xy: 749, 652 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 tau-mech-pad rotate: false - xy: 1375, 1133 + xy: 979, 1285 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 tau-mech-pad-icon-full rotate: false - xy: 1375, 1133 + xy: 979, 1285 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 trident-ship-pad rotate: false - xy: 790, 1058 + xy: 979, 1087 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 trident-ship-pad-icon-full rotate: false - xy: 790, 1058 + xy: 979, 1087 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 battery rotate: false - xy: 1960, 1033 + xy: 1361, 1265 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 battery-icon-full rotate: false - xy: 1960, 1033 + xy: 1361, 1265 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 battery-large rotate: false - xy: 423, 363 + xy: 293, 384 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 battery-large-icon-full rotate: false - xy: 423, 363 + xy: 293, 384 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 359, 19 + xy: 1067, 416 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator-icon-full rotate: false - xy: 359, 19 + xy: 1067, 416 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 1410, 941 + xy: 1067, 382 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 differential-generator rotate: false - xy: 1129, 1561 + xy: 656, 1534 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 differential-generator-icon-full rotate: false - xy: 1129, 1561 + xy: 656, 1534 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 differential-generator-liquid rotate: false - xy: 1227, 1659 + xy: 293, 188 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 differential-generator-top rotate: false - xy: 1227, 1561 + xy: 391, 384 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 impact-reactor rotate: false - xy: 519, 1225 + xy: 1888, 1787 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-bottom rotate: false - xy: 519, 1095 + xy: 1498, 1661 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-light rotate: false - xy: 594, 965 + xy: 1758, 1657 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-plasma-0 rotate: false - xy: 163, 814 + xy: 1888, 1657 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-plasma-1 rotate: false - xy: 163, 684 + xy: 163, 251 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-plasma-2 rotate: false - xy: 163, 554 + xy: 155, 121 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-plasma-3 rotate: false - xy: 163, 424 + xy: 219, 1262 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 power-node rotate: false - xy: 931, 390 + xy: 1483, 789 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-node-icon-full rotate: false - xy: 931, 390 + xy: 1483, 789 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-node-large rotate: false - xy: 781, 1124 + xy: 1478, 1463 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 power-node-large-icon-full rotate: false - xy: 781, 1124 + xy: 1478, 1463 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 power-source rotate: false - xy: 931, 356 + xy: 1313, 771 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void rotate: false - xy: 941, 832 + xy: 1381, 755 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void-icon-full rotate: false - xy: 941, 832 + xy: 1381, 755 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 1045, 1265 + xy: 1676, 1463 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rtg-generator-icon-full rotate: false - xy: 1045, 1265 + xy: 1676, 1463 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rtg-generator-top rotate: false - xy: 1077, 875 + xy: 1463, 1197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 1077, 739 + xy: 1467, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-icon-full rotate: false - xy: 1077, 739 + xy: 1467, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-large rotate: false - xy: 733, 377 + xy: 881, 260 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 solar-panel-large-icon-full rotate: false - xy: 733, 377 + xy: 881, 260 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 surge-tower rotate: false - xy: 1573, 1331 + xy: 903, 1351 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 surge-tower-icon-full rotate: false - xy: 1573, 1331 + xy: 903, 1351 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 1441, 1133 + xy: 913, 1219 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-generator-icon-full rotate: false - xy: 1441, 1133 + xy: 913, 1219 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-reactor rotate: false - xy: 619, 279 + xy: 754, 1632 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-icon-full rotate: false - xy: 619, 279 + xy: 754, 1632 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-center rotate: false - xy: 717, 279 + xy: 754, 1534 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-lights rotate: false - xy: 619, 181 + xy: 779, 1436 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 turbine-generator rotate: false - xy: 790, 992 + xy: 913, 1021 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-icon-full rotate: false - xy: 790, 992 + xy: 913, 1021 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-top rotate: false - xy: 856, 1058 + xy: 979, 1021 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 alloy-smelter rotate: false - xy: 541, 1629 + xy: 1, 1 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 alloy-smelter-icon-full rotate: false - xy: 541, 1629 + xy: 1, 1 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 alloy-smelter-top rotate: false - xy: 553, 607 + xy: 1934, 1949 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 blast-mixer rotate: false - xy: 359, 53 + xy: 651, 586 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 blast-mixer-icon-full rotate: false - xy: 359, 53 + xy: 651, 586 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 coal-centrifuge rotate: false - xy: 831, 343 + xy: 295, 24 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 coal-centrifuge-icon-full rotate: false - xy: 831, 343 + xy: 295, 24 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 557, 83 + xy: 847, 942 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 623, 115 + xy: 847, 810 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 689, 115 + xy: 847, 744 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator rotate: false - xy: 623, 49 + xy: 847, 678 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 755, 79 + xy: 1016, 1549 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 821, 79 + xy: 877, 1493 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 graphite-press rotate: false - xy: 715, 1388 + xy: 1148, 1557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 graphite-press-icon-full rotate: false - xy: 715, 1388 + xy: 1148, 1557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 incinerator rotate: false - xy: 1920, 893 + xy: 1447, 993 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 incinerator-icon-full rotate: false - xy: 1920, 893 + xy: 1447, 993 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source rotate: false - xy: 846, 900 + xy: 2006, 1487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source-icon-full rotate: false - xy: 846, 900 + xy: 2006, 1487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void rotate: false - xy: 873, 866 + xy: 1229, 773 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void-icon-full rotate: false - xy: 873, 866 + xy: 1229, 773 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 kiln rotate: false - xy: 847, 1388 + xy: 1214, 1557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 kiln-icon-full rotate: false - xy: 847, 1388 + xy: 1214, 1557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 kiln-top rotate: false - xy: 913, 1397 + xy: 1346, 1623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-smelter-top rotate: false - xy: 913, 1397 + xy: 1346, 1623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 liquid-source rotate: false - xy: 839, 696 + xy: 1255, 739 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-source-icon-full rotate: false - xy: 839, 696 + xy: 1255, 739 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 melter rotate: false - xy: 907, 730 + xy: 1347, 923 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 melter-icon-full rotate: false - xy: 907, 730 + xy: 1347, 923 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 multi-press rotate: false - xy: 1815, 1499 + xy: 749, 1240 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 multi-press-icon-full rotate: false - xy: 1815, 1499 + xy: 749, 1240 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 phase-weaver rotate: false - xy: 979, 1331 + xy: 1676, 1529 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-bottom rotate: false - xy: 913, 1265 + xy: 1742, 1525 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-weave rotate: false - xy: 715, 1190 + xy: 1874, 1525 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor rotate: false - xy: 781, 1190 + xy: 1940, 1525 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor-icon-full rotate: false - xy: 781, 1190 + xy: 1940, 1525 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor-top rotate: false - xy: 847, 1190 + xy: 1148, 1491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 949, 560 + xy: 1165, 212 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 949, 492 + xy: 1173, 144 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 975, 875 + xy: 1173, 110 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pyratite-mixer rotate: false - xy: 847, 1124 + xy: 1544, 1463 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pyratite-mixer-icon-full rotate: false - xy: 847, 1124 + xy: 1544, 1463 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator rotate: false - xy: 1309, 1333 + xy: 1405, 1425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-icon-full rotate: false - xy: 1309, 1333 + xy: 1405, 1425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 1309, 1267 + xy: 1471, 1397 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-smelter rotate: false - xy: 1309, 1201 + xy: 1537, 1397 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-smelter-icon-full rotate: false - xy: 1309, 1201 + xy: 1537, 1397 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press rotate: false - xy: 1375, 1265 + xy: 1735, 1393 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame0 rotate: false - xy: 1441, 1331 + xy: 1801, 1393 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame1 rotate: false - xy: 1375, 1199 + xy: 1867, 1393 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame2 rotate: false - xy: 1441, 1265 + xy: 1933, 1393 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-liquid rotate: false - xy: 1441, 1199 + xy: 1045, 1417 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-top rotate: false - xy: 1507, 1265 + xy: 913, 1417 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 container rotate: false - xy: 815, 211 + xy: 1098, 1689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 container-icon-full rotate: false - xy: 815, 211 + xy: 1098, 1689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 core-foundation rotate: false - xy: 1555, 1757 + xy: 163, 381 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 core-foundation-icon-full rotate: false - xy: 1555, 1757 + xy: 163, 381 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 core-nucleus rotate: false - xy: 848, 1887 + xy: 1, 999 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 core-nucleus-icon-full rotate: false - xy: 848, 1887 + xy: 1, 999 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 core-shard rotate: false - xy: 639, 1618 + xy: 293, 286 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 core-shard-icon-full rotate: false - xy: 639, 1618 + xy: 293, 286 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launch-pad rotate: false - xy: 1031, 1463 + xy: 707, 1338 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launch-pad-icon-full rotate: false - xy: 1031, 1463 + xy: 707, 1338 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launch-pad-large rotate: false - xy: 163, 294 + xy: 349, 1262 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 launch-pad-large-icon-full rotate: false - xy: 163, 294 + xy: 349, 1262 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 unloader rotate: false - xy: 1051, 637 + xy: 1565, 1193 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 unloader-icon-full rotate: false - xy: 1051, 637 + xy: 1565, 1193 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 vault rotate: false - xy: 285, 119 + xy: 852, 1559 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 vault-icon-full rotate: false - xy: 285, 119 + xy: 852, 1559 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 arc-heat rotate: false - xy: 1979, 1793 + xy: 877, 1459 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-1 rotate: false - xy: 1994, 1033 + xy: 1361, 1231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-2 rotate: false - xy: 831, 409 + xy: 717, 488 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-3 rotate: false - xy: 541, 1531 + xy: 423, 514 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-4 rotate: false - xy: 1035, 1757 + xy: 163, 901 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 hail-heat rotate: false - xy: 541, 1489 + xy: 609, 1296 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 1045, 1397 + xy: 1412, 1623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 meltdown-heat rotate: false - xy: 155, 34 + xy: 293, 1132 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 ripple-heat rotate: false - xy: 1913, 1401 + xy: 783, 456 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 salvo-heat rotate: false - xy: 979, 1133 + xy: 789, 96 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-left rotate: false - xy: 1177, 1265 + xy: 921, 96 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-right rotate: false - xy: 1111, 1199 + xy: 723, 30 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch-heat rotate: false - xy: 1077, 841 + xy: 1517, 925 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 1186, 1001 + xy: 1045, 1285 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 command-center rotate: false - xy: 815, 277 + xy: 950, 1615 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 command-center-icon-full rotate: false - xy: 815, 277 + xy: 950, 1615 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 crawler-factory rotate: false - xy: 515, 149 + xy: 847, 1140 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dagger-factory rotate: false - xy: 515, 149 + xy: 847, 1140 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 draug-factory rotate: false - xy: 515, 149 + xy: 847, 1140 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phantom-factory rotate: false - xy: 515, 149 + xy: 847, 1140 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spirit-factory rotate: false - xy: 515, 149 + xy: 847, 1140 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 wraith-factory rotate: false - xy: 515, 149 + xy: 847, 1140 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 crawler-factory-top rotate: false - xy: 491, 1 + xy: 847, 1008 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dagger-factory-top rotate: false - xy: 755, 13 + xy: 1009, 1483 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 draug-factory-top rotate: false - xy: 1589, 1397 + xy: 525, 52 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 fortress-factory rotate: false - xy: 1423, 1561 + xy: 489, 282 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 fortress-factory-top rotate: false - xy: 1619, 1659 + xy: 619, 478 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory-top rotate: false - xy: 1619, 1659 + xy: 619, 478 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 titan-factory-top rotate: false - xy: 1619, 1659 + xy: 619, 478 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory rotate: false - xy: 1717, 1597 + xy: 587, 184 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 phantom-factory-top rotate: false - xy: 781, 1256 + xy: 1544, 1529 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 repair-point-base rotate: false - xy: 975, 841 + xy: 1173, 42 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 revenant-factory rotate: false - xy: 293, 705 + xy: 423, 1132 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 revenant-factory-top rotate: false - xy: 293, 575 + xy: 423, 1002 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 spirit-factory-top rotate: false - xy: 1375, 1331 + xy: 1669, 1397 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 titan-factory rotate: false - xy: 717, 181 + xy: 805, 1338 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 wraith-factory-top rotate: false - xy: 1252, 1001 + xy: 1045, 1153 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 copper-wall rotate: false - xy: 1690, 941 + xy: 1429, 1197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-icon-full rotate: false - xy: 1690, 941 + xy: 1429, 1197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-large rotate: false - xy: 815, 145 + xy: 1016, 1615 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 copper-wall-large-icon-full rotate: false - xy: 815, 145 + xy: 1016, 1615 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door rotate: false - xy: 1336, 891 + xy: 1037, 76 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 door-icon-full rotate: false - xy: 1336, 891 + xy: 1037, 76 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 door-large rotate: false - xy: 1391, 1397 + xy: 591, 118 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-large-icon-full rotate: false - xy: 1391, 1397 + xy: 591, 118 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 1457, 1397 + xy: 657, 118 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-open rotate: false - xy: 1370, 891 + xy: 1071, 110 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 931, 424 + xy: 1449, 789 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-icon-full rotate: false - xy: 931, 424 + xy: 1449, 789 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 847, 1256 + xy: 1610, 1529 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-wall-large-icon-full rotate: false - xy: 847, 1256 + xy: 1610, 1529 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-gigantic rotate: false - xy: 553, 835 + xy: 423, 872 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 scrap-wall-gigantic-icon-full rotate: false - xy: 553, 835 + xy: 423, 872 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 scrap-wall-huge1 rotate: false - xy: 537, 411 + xy: 783, 162 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-huge-icon-full rotate: false - xy: 537, 411 + xy: 783, 162 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-huge2 rotate: false - xy: 521, 313 + xy: 881, 456 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-huge3 rotate: false - xy: 635, 377 + xy: 881, 358 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-large1 rotate: false - xy: 1177, 1199 + xy: 921, 30 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large2 rotate: false - xy: 1111, 1133 + xy: 1141, 1425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large3 rotate: false - xy: 1243, 1199 + xy: 1207, 1425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large4 rotate: false - xy: 1177, 1133 + xy: 1273, 1425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall1 rotate: false - xy: 975, 705 + xy: 1517, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall-icon-full rotate: false - xy: 975, 705 + xy: 1517, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall2 rotate: false - xy: 1009, 739 + xy: 1517, 823 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall3 rotate: false - xy: 1043, 773 + xy: 1517, 789 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall4 rotate: false - xy: 1077, 807 + xy: 1517, 755 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall5 rotate: false - xy: 1077, 807 + xy: 1517, 755 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall rotate: false - xy: 1111, 739 + xy: 1535, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall-icon-full rotate: false - xy: 1111, 739 + xy: 1535, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall-large rotate: false - xy: 1507, 1199 + xy: 969, 1351 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 surge-wall-large-icon-full rotate: false - xy: 1507, 1199 + xy: 969, 1351 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-wall rotate: false - xy: 1111, 705 + xy: 1603, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-wall-icon-full rotate: false - xy: 1111, 705 + xy: 1603, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-wall-large rotate: false - xy: 1507, 1133 + xy: 979, 1219 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-wall-large-icon-full rotate: false - xy: 1507, 1133 + xy: 979, 1219 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thruster rotate: false - xy: 553, 705 + xy: 293, 482 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 thruster-icon-full rotate: false - xy: 553, 705 + xy: 293, 482 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 titanium-wall rotate: false - xy: 983, 569 + xy: 1633, 1261 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-wall-icon-full rotate: false - xy: 983, 569 + xy: 1633, 1261 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-wall-large rotate: false - xy: 724, 992 + xy: 913, 1087 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 titanium-wall-large-icon-full rotate: false - xy: 724, 992 + xy: 913, 1087 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 bullet rotate: false - xy: 1318, 1081 + xy: 979, 405 size: 52, 52 orig: 52, 52 offset: 0, 0 index: -1 bullet-back rotate: false - xy: 1318, 1027 + xy: 979, 351 size: 52, 52 orig: 52, 52 offset: 0, 0 index: -1 casing rotate: false - xy: 537, 557 + xy: 903, 1423 size: 8, 16 orig: 8, 16 offset: 0, 0 index: -1 circle-shadow rotate: false - xy: 1, 944 + xy: 645, 1844 size: 201, 201 orig: 201, 201 offset: 0, 0 index: -1 error rotate: false - xy: 1639, 1347 + xy: 1351, 1375 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 laser rotate: false - xy: 515, 215 + xy: 155, 301 size: 4, 48 orig: 4, 48 offset: 0, 0 index: -1 laser-end rotate: false - xy: 285, 45 + xy: 759, 1770 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 minelaser rotate: false - xy: 419, 3 + xy: 155, 251 size: 4, 48 orig: 4, 48 offset: 0, 0 index: -1 minelaser-end rotate: false - xy: 1966, 1901 + xy: 950, 1681 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 missile rotate: false - xy: 581, 177 + xy: 759, 1732 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 missile-back rotate: false - xy: 848, 1849 + xy: 1361, 1337 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 scale_marker rotate: false - xy: 639, 1721 + xy: 459, 184 size: 4, 4 orig: 4, 4 offset: 0, 0 index: -1 scorch1 rotate: false - xy: 2019, 1799 + xy: 1705, 1295 size: 28, 100 orig: 28, 100 offset: 0, 0 index: -1 scorch2 rotate: false - xy: 965, 390 + xy: 1735, 1291 size: 28, 100 orig: 28, 100 offset: 0, 0 index: -1 scorch3 rotate: false - xy: 1281, 791 + xy: 1765, 1291 size: 28, 100 orig: 28, 100 offset: 0, 0 index: -1 scorch4 rotate: false - xy: 1281, 689 + xy: 1795, 1291 size: 28, 100 orig: 28, 100 offset: 0, 0 index: -1 scorch5 rotate: false - xy: 947, 254 + xy: 1825, 1291 size: 28, 100 orig: 28, 100 offset: 0, 0 index: -1 shell rotate: false - xy: 1882, 1013 + xy: 1103, 721 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 shell-back rotate: false - xy: 1922, 1029 + xy: 1361, 1299 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 shot rotate: false - xy: 1111, 807 + xy: 1483, 721 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 transfer rotate: false - xy: 417, 265 + xy: 285, 201 size: 4, 48 orig: 4, 48 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 1017, 603 + xy: 1599, 1227 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 transfer-end rotate: false - xy: 1945, 1827 + xy: 1024, 1681 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 white rotate: false - xy: 254, 1142 + xy: 645, 1725 size: 3, 3 orig: 3, 3 offset: 0, 0 index: -1 arc rotate: false - xy: 1945, 1793 + xy: 609, 1262 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 arc-icon-full rotate: false - xy: 755, 147 + xy: 797, 1736 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 blast-drill-icon-full rotate: false - xy: 323, 1355 + xy: 323, 1392 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 char-icon-full rotate: false - xy: 1268, 909 + xy: 1033, 416 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cliffs-icon-full rotate: false - xy: 1302, 893 + xy: 1033, 382 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-icon-full rotate: false - xy: 1554, 999 + xy: 1029, 314 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-0 rotate: false - xy: 1724, 941 + xy: 1429, 1163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-1 rotate: false - xy: 1758, 941 + xy: 1429, 1129 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-2 rotate: false - xy: 1792, 941 + xy: 1429, 1095 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-3 rotate: false - xy: 1826, 941 + xy: 1429, 1061 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-4 rotate: false - xy: 1860, 941 + xy: 1428, 1027 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-5 rotate: false - xy: 1648, 907 + xy: 1163, 550 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-6 rotate: false - xy: 1682, 907 + xy: 1163, 516 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-7 rotate: false - xy: 1716, 907 + xy: 1163, 482 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-2-0 rotate: false - xy: 391, 199 + xy: 1164, 1689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-1 rotate: false - xy: 383, 133 + xy: 1230, 1689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-2 rotate: false - xy: 881, 277 + xy: 1296, 1689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-3 rotate: false - xy: 881, 211 + xy: 1362, 1689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-4 rotate: false - xy: 881, 145 + xy: 1428, 1689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-5 rotate: false - xy: 425, 67 + xy: 393, 124 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-6 rotate: false - xy: 425, 1 + xy: 847, 1272 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-7 rotate: false - xy: 449, 133 + xy: 847, 1206 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-3-0 rotate: false - xy: 737, 1618 + xy: 656, 1632 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-1 rotate: false - xy: 639, 1520 + xy: 553, 1164 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-2 rotate: false - xy: 737, 1520 + xy: 553, 1066 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-3 rotate: false - xy: 835, 1618 + xy: 553, 968 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-4 rotate: false - xy: 835, 1520 + xy: 553, 870 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-5 rotate: false - xy: 933, 1659 + xy: 553, 772 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-6 rotate: false - xy: 933, 1561 + xy: 553, 674 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-7 rotate: false - xy: 1031, 1659 + xy: 553, 576 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-4-0 rotate: false - xy: 1685, 1793 + xy: 848, 1755 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-1 rotate: false - xy: 1815, 1793 + xy: 978, 1755 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-2 rotate: false - xy: 259, 1225 + xy: 1108, 1755 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-3 rotate: false - xy: 389, 1225 + xy: 1238, 1755 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-4 rotate: false - xy: 259, 1095 + xy: 1368, 1755 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-5 rotate: false - xy: 389, 1095 + xy: 1498, 1791 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-6 rotate: false - xy: 204, 965 + xy: 1628, 1791 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-7 rotate: false - xy: 334, 965 + xy: 1758, 1787 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-5-0 rotate: false - xy: 1, 782 + xy: 848, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-1 rotate: false - xy: 1010, 1887 + xy: 1, 837 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-2 rotate: false - xy: 1, 620 + xy: 1010, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-3 rotate: false - xy: 1172, 1887 + xy: 1, 675 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-4 rotate: false - xy: 1, 458 + xy: 1172, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-5 rotate: false - xy: 1334, 1887 + xy: 1, 513 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-6 rotate: false - xy: 1, 296 + xy: 1334, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-7 rotate: false - xy: 1496, 1887 + xy: 1, 351 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 craters-icon-full rotate: false - xy: 1, 1147 - size: 256, 256 - orig: 256, 256 + xy: 1203, 807 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 crawler-factory-icon-full rotate: false - xy: 491, 67 + xy: 847, 1074 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-icon-full rotate: false - xy: 557, 17 + xy: 847, 876 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-icon-full rotate: false - xy: 689, 49 + xy: 950, 1549 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cyclone rotate: false - xy: 1031, 1561 + xy: 99, 1 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cyclone-icon-full rotate: false - xy: 1129, 1659 + xy: 197, 23 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 dagger-factory-icon-full rotate: false - xy: 887, 79 + xy: 943, 1483 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dark-metal-icon-full rotate: false - xy: 1750, 907 + xy: 1195, 773 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-1-icon-full rotate: false - xy: 1784, 907 + xy: 1187, 739 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-2-icon-full rotate: false - xy: 1818, 907 + xy: 1345, 991 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-3-icon-full rotate: false - xy: 1852, 907 + xy: 1379, 993 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-4-icon-full rotate: false - xy: 1648, 873 + xy: 1413, 993 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-5-icon-full rotate: false - xy: 1682, 873 + xy: 1037, 178 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-6-icon-full rotate: false - xy: 1716, 873 + xy: 1037, 144 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-icon-full rotate: false - xy: 1750, 873 + xy: 1071, 178 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-tainted-water-icon-full rotate: false - xy: 1784, 873 + xy: 1037, 110 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-water-icon-full rotate: false - xy: 1818, 873 + xy: 1071, 144 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 deepwater-icon-full rotate: false - xy: 1852, 873 + xy: 1105, 178 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 draug-factory-icon-full rotate: false - xy: 1523, 1397 + xy: 459, 52 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dunerocks-icon-full rotate: false - xy: 1404, 873 + xy: 1105, 144 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 duo rotate: false - xy: 1438, 863 + xy: 1071, 76 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 duo-icon-full rotate: false - xy: 1472, 863 + xy: 1105, 110 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fortress-factory-icon-full rotate: false - xy: 1521, 1561 + xy: 489, 184 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 fuse rotate: false - xy: 1619, 1561 + xy: 587, 380 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 fuse-icon-full rotate: false - xy: 1717, 1695 + xy: 587, 282 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory-icon-full rotate: false - xy: 1815, 1695 + xy: 685, 380 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 grass-icon-full rotate: false - xy: 1506, 863 + xy: 1105, 76 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 hail rotate: false - xy: 1540, 863 + xy: 1037, 42 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 hail-icon-full rotate: false - xy: 1574, 863 + xy: 1071, 42 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 holostone-icon-full rotate: false - xy: 1608, 863 + xy: 1105, 42 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 hotrock-icon-full rotate: false - xy: 1894, 961 + xy: 1139, 178 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ice-icon-full rotate: false - xy: 1928, 961 + xy: 1139, 144 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ice-snow-icon-full rotate: false - xy: 1894, 927 + xy: 1139, 110 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icerocks-icon-full rotate: false - xy: 1928, 927 + xy: 1139, 76 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ignarock-icon-full rotate: false - xy: 1886, 893 + xy: 1139, 42 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 impact-reactor-icon-full rotate: false - xy: 464, 965 + xy: 1628, 1661 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 item-blast-compound-medium rotate: false - xy: 789, 155 + xy: 583, 1410 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-blast-compound-small rotate: false - xy: 1894, 995 + xy: 583, 1392 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-blast-compound-xlarge rotate: false - xy: 1, 2 + xy: 1029, 576 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-blast-compound-xxlarge rotate: false - xy: 1689, 1301 + xy: 1111, 1159 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-coal-medium rotate: false - xy: 1658, 1897 + xy: 847, 652 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-coal-small rotate: false - xy: 353, 1 + xy: 155, 103 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-coal-xlarge rotate: false - xy: 1922, 1109 + xy: 1203, 883 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-coal-xxlarge rotate: false - xy: 1739, 1351 + xy: 1161, 1325 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-copper-medium rotate: false - xy: 905, 1731 + xy: 873, 652 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-copper-small rotate: false - xy: 371, 1 + xy: 852, 1541 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-copper-xlarge rotate: false - xy: 43, 2 + xy: 1253, 933 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-copper-xxlarge rotate: false - xy: 1689, 1251 + xy: 1211, 1325 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-graphite-medium rotate: false - xy: 1685, 1767 + xy: 1934, 1923 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-graphite-small rotate: false - xy: 204, 947 + xy: 723, 166 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-graphite-xlarge rotate: false - xy: 1922, 1067 + xy: 1303, 983 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-graphite-xxlarge rotate: false - xy: 1739, 1301 + xy: 1161, 1275 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-lead-medium rotate: false - xy: 651, 679 + xy: 521, 586 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-lead-small rotate: false - xy: 1945, 1905 + xy: 913, 557 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-lead-xlarge rotate: false - xy: 1964, 1109 + xy: 1153, 783 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-lead-xxlarge rotate: false - xy: 1789, 1351 + xy: 1261, 1325 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-metaglass-medium rotate: false - xy: 391, 289 + xy: 423, 488 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-metaglass-small rotate: false - xy: 913, 1502 + xy: 877, 1441 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-metaglass-xlarge rotate: false - xy: 85, 2 + xy: 1071, 576 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-metaglass-xxlarge rotate: false - xy: 1689, 1201 + xy: 1211, 1275 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-phase-fabric-medium rotate: false - xy: 583, 1362 + xy: 219, 1162 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-phase-fabric-small rotate: false - xy: 886, 1869 + xy: 895, 1441 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-phase-fabric-xlarge rotate: false - xy: 1964, 1067 + xy: 1203, 841 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-phase-fabric-xxlarge rotate: false - xy: 1739, 1251 + xy: 1161, 1225 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-plastanium-medium rotate: false - xy: 649, 1098 + xy: 1111, 1457 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-plastanium-small rotate: false - xy: 2028, 1049 + xy: 197, 5 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-plastanium-xlarge rotate: false - xy: 2006, 1109 + xy: 1113, 576 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-plastanium-xxlarge rotate: false - xy: 1789, 1301 + xy: 1311, 1325 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-pyratite-medium rotate: false - xy: 724, 966 + xy: 1163, 456 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-pyratite-small rotate: false - xy: 1311, 875 + xy: 1323, 753 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-pyratite-xlarge rotate: false - xy: 2006, 1067 + xy: 1037, 534 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-pyratite-xxlarge rotate: false - xy: 1839, 1351 + xy: 1261, 1275 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-sand-medium rotate: false - xy: 1639, 1155 + xy: 2006, 1461 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-sand-small rotate: false - xy: 391, 271 + xy: 1451, 1407 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-sand-xlarge rotate: false - xy: 623, 7 + xy: 1037, 492 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-sand-xxlarge rotate: false - xy: 1739, 1201 + xy: 1211, 1225 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-scrap-medium rotate: false - xy: 127, 18 + xy: 361, 64 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-scrap-small rotate: false - xy: 675, 1106 + xy: 449, 496 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-scrap-xlarge rotate: false - xy: 665, 7 + xy: 1079, 534 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-scrap-xxlarge rotate: false - xy: 1789, 1251 + xy: 1161, 1175 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-silicon-medium rotate: false - xy: 581, 151 + xy: 429, 32 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-silicon-small rotate: false - xy: 750, 974 + xy: 245, 1170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-silicon-xlarge rotate: false - xy: 707, 7 + xy: 1079, 492 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-silicon-xxlarge rotate: false - xy: 1839, 1301 + xy: 1311, 1275 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-spore-pod-medium rotate: false - xy: 393, 27 + xy: 1257, 713 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-spore-pod-small rotate: false - xy: 1665, 1163 + xy: 1111, 1439 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-spore-pod-xlarge rotate: false - xy: 1672, 1009 + xy: 1121, 534 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-spore-pod-xxlarge rotate: false - xy: 1889, 1351 + xy: 1261, 1225 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-surge-alloy-medium rotate: false - xy: 393, 1 + xy: 1467, 1303 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-surge-alloy-small rotate: false - xy: 1639, 1137 + xy: 1497, 1081 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-surge-alloy-xlarge rotate: false - xy: 1714, 1009 + xy: 1121, 492 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-surge-alloy-xxlarge rotate: false - xy: 1789, 1201 + xy: 1211, 1175 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-thorium-medium rotate: false - xy: 1017, 577 + xy: 1497, 1099 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-thorium-small rotate: false - xy: 983, 525 + xy: 1855, 1349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-thorium-xlarge rotate: false - xy: 1756, 1009 + xy: 1037, 450 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-thorium-xxlarge rotate: false - xy: 1839, 1251 + xy: 1311, 1225 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-titanium-medium rotate: false - xy: 1051, 611 + xy: 1633, 1235 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-titanium-small rotate: false - xy: 1145, 687 + xy: 1881, 1375 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-titanium-xlarge rotate: false - xy: 1798, 1009 + xy: 1079, 450 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-titanium-xxlarge rotate: false - xy: 1889, 1301 + xy: 1261, 1175 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 lancer rotate: false - xy: 979, 1397 + xy: 1280, 1557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 lancer-icon-full rotate: false - xy: 1111, 1397 + xy: 1346, 1557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 laser-drill-icon-full rotate: false - xy: 683, 867 + xy: 295, 90 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-router-icon-full rotate: false - xy: 907, 832 + xy: 1481, 959 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-tank-icon-full rotate: false - xy: 1227, 1463 + xy: 651, 1142 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 magmarock-icon-full rotate: false - xy: 907, 764 + xy: 1313, 873 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mass-driver rotate: false - xy: 1521, 1463 + xy: 651, 848 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-driver-icon-full rotate: false - xy: 1717, 1499 + xy: 651, 652 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mech-icon-alpha-mech rotate: false - xy: 1939, 1301 + xy: 1261, 1125 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mech-icon-dart-ship rotate: false - xy: 1889, 1201 + xy: 1311, 1125 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mech-icon-delta-mech rotate: false - xy: 1939, 1251 + xy: 1111, 1109 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mech-icon-glaive-ship rotate: false - xy: 1655, 1405 + xy: 1045, 892 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 mech-icon-javelin-ship rotate: false - xy: 1939, 1201 + xy: 1110, 1059 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mech-icon-omega-mech rotate: false - xy: 846, 934 + xy: 584, 1537 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 mech-icon-tau-mech rotate: false - xy: 781, 731 + xy: 1045, 834 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 mech-icon-trident-ship rotate: false - xy: 781, 673 + xy: 1045, 776 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 mechanical-drill-icon-full rotate: false - xy: 1243, 1397 + xy: 1478, 1595 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 meltdown rotate: false - xy: 155, 164 + xy: 479, 1262 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 meltdown-icon-full rotate: false - xy: 293, 835 + xy: 293, 1002 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 metal-floor-2-icon-full rotate: false - xy: 847, 628 + xy: 1381, 925 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-3-icon-full rotate: false - xy: 881, 662 + xy: 1381, 891 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-5-icon-full rotate: false - xy: 847, 594 + xy: 1415, 925 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-damaged-icon-full rotate: false - xy: 881, 628 + xy: 1381, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-icon-full rotate: false - xy: 847, 560 + xy: 1415, 891 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 moss-icon-full rotate: false - xy: 881, 594 + xy: 1449, 925 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 oil-extractor-icon-full rotate: false - xy: 1815, 1401 + xy: 749, 1044 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ore-coal-icon-full rotate: false - xy: 847, 526 + xy: 1415, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-coal-icon-medium rotate: false - xy: 847, 526 + xy: 1415, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-coal-icon-large rotate: false - xy: 1989, 1351 + xy: 1103, 1009 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ore-coal-icon-small rotate: false - xy: 1085, 645 + xy: 1599, 1201 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ore-copper-icon-full rotate: false - xy: 881, 560 + xy: 1449, 891 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-copper-icon-medium rotate: false - xy: 881, 560 + xy: 1449, 891 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-copper-icon-large rotate: false - xy: 1989, 1301 + xy: 1103, 959 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ore-copper-icon-small rotate: false - xy: 983, 543 + xy: 1565, 1167 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ore-lead-icon-full rotate: false - xy: 847, 492 + xy: 1449, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-lead-icon-medium rotate: false - xy: 847, 492 + xy: 1449, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-lead-icon-large rotate: false - xy: 1989, 1251 + xy: 1103, 909 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ore-lead-icon-small rotate: false - xy: 1119, 679 + xy: 1531, 1133 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ore-scrap-icon-full rotate: false - xy: 881, 526 + xy: 1483, 925 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-scrap-icon-medium rotate: false - xy: 881, 526 + xy: 1483, 925 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-scrap-icon-large rotate: false - xy: 1989, 1201 + xy: 1103, 859 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ore-scrap-icon-small rotate: false - xy: 947, 228 + xy: 1667, 1269 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ore-thorium-icon-full rotate: false - xy: 881, 492 + xy: 1483, 891 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-icon-medium rotate: false - xy: 881, 492 + xy: 1483, 891 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-icon-large rotate: false - xy: 1689, 1151 + xy: 1103, 809 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ore-thorium-icon-small rotate: false - xy: 965, 364 + xy: 1855, 1367 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ore-titanium-icon-full rotate: false - xy: 915, 662 + xy: 1483, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-icon-medium rotate: false - xy: 915, 662 + xy: 1483, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-icon-large rotate: false - xy: 1739, 1151 + xy: 1103, 759 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ore-titanium-icon-small rotate: false - xy: 609, 1362 + xy: 1960, 1923 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pebbles-icon-full rotate: false - xy: 915, 594 + xy: 1381, 823 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phantom-factory-icon-full rotate: false - xy: 715, 1256 + xy: 1478, 1529 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-icon-full rotate: false - xy: 649, 1124 + xy: 1808, 1525 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pine-icon-full rotate: false - xy: 1789, 1151 + xy: 1161, 1075 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 pneumatic-drill-icon-full rotate: false - xy: 979, 1265 + xy: 1280, 1491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 power-source-icon-full rotate: false - xy: 941, 866 + xy: 1347, 753 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-icon-full rotate: false - xy: 941, 798 + xy: 1415, 755 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-icon-full rotate: false - xy: 949, 526 + xy: 1173, 178 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 repair-point rotate: false - xy: 1009, 875 + xy: 1173, 76 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 repair-point-icon-full rotate: false - xy: 1043, 875 + xy: 1191, 8 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 revenant-factory-icon-full rotate: false - xy: 423, 835 + xy: 293, 872 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 ripple rotate: false - xy: 1913, 1499 + xy: 815, 554 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ripple-icon-full rotate: false - xy: 749, 573 + xy: 783, 358 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 rock-icon-full rotate: false - xy: 1939, 1151 + xy: 1311, 1075 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rocks-icon-full rotate: false - xy: 975, 807 + xy: 1463, 1265 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 salt-icon-full rotate: false - xy: 975, 773 + xy: 1463, 1163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 saltrocks-icon-full rotate: false - xy: 1009, 807 + xy: 1463, 1129 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 salvo rotate: false - xy: 1045, 1199 + xy: 723, 96 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-icon-full rotate: false - xy: 1243, 1331 + xy: 855, 96 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 sand-boulder-icon-full rotate: false - xy: 1043, 841 + xy: 1463, 1095 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-icon-full rotate: false - xy: 1111, 875 + xy: 1463, 1061 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-water-icon-full rotate: false - xy: 975, 739 + xy: 1496, 1027 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sandrocks-icon-full rotate: false - xy: 1009, 773 + xy: 1515, 993 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scatter rotate: false - xy: 1045, 1133 + xy: 789, 30 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scatter-icon-full rotate: false - xy: 1243, 1265 + xy: 855, 30 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch rotate: false - xy: 1043, 807 + xy: 1515, 959 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scorch-icon-full rotate: false - xy: 1145, 875 + xy: 1517, 891 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall-large-icon-full rotate: false - xy: 1243, 1133 + xy: 1339, 1425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 shale-boulder-icon-full rotate: false - xy: 1111, 841 + xy: 361, 24 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-icon-full rotate: false - xy: 1179, 875 + xy: 395, 24 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shalerocks-icon-full rotate: false - xy: 1009, 705 + xy: 1381, 721 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shock-mine-icon-full rotate: false - xy: 1077, 773 + xy: 1449, 721 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shrubs-icon-full rotate: false - xy: 1145, 841 + xy: 1517, 721 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snow-icon-full rotate: false - xy: 1213, 875 + xy: 1189, 705 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snow-pine-icon-full rotate: false - xy: 1672, 1101 + xy: 1210, 1025 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrock-icon-full rotate: false - xy: 1672, 1051 + xy: 1260, 1025 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrocks-icon-full rotate: false - xy: 1043, 705 + xy: 1223, 705 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spawn-icon-full rotate: false - xy: 1145, 807 + xy: 1501, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spectre rotate: false - xy: 293, 445 + xy: 293, 612 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 spectre-icon-full rotate: false - xy: 423, 575 + xy: 423, 742 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 spirit-factory-icon-full rotate: false - xy: 1309, 1135 + xy: 1603, 1397 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-cluster-icon-full rotate: false - xy: 1840, 1009 + xy: 1121, 450 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 spore-moss-icon-full rotate: false - xy: 1179, 841 + xy: 1535, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spore-pine-icon-full rotate: false - xy: 1722, 1051 + xy: 1153, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-press-icon-full rotate: false - xy: 1507, 1331 + xy: 979, 1417 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 sporerocks-icon-full rotate: false - xy: 1247, 875 + xy: 1501, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 stone-icon-full rotate: false - xy: 1077, 705 + xy: 1569, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 swarmer rotate: false - xy: 1573, 1265 + xy: 1035, 1351 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 swarmer-icon-full rotate: false - xy: 1573, 1199 + xy: 913, 1285 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 tainted-water-icon-full rotate: false - xy: 1145, 773 + xy: 1603, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 tar-icon-full rotate: false - xy: 1179, 807 + xy: 1569, 1329 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 tendrils-icon-full rotate: false - xy: 1213, 841 + xy: 1637, 1363 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titan-factory-icon-full rotate: false - xy: 293, 217 + xy: 852, 1657 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 unit-icon-chaos-array rotate: false - xy: 293, 315 + xy: 423, 612 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 unit-icon-crawler rotate: false - xy: 1822, 1051 + xy: 1203, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-icon-dagger rotate: false - xy: 1872, 1101 + xy: 1253, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-icon-eradicator rotate: false - xy: 1812, 1923 + xy: 1, 99 size: 152, 124 orig: 152, 124 offset: 0, 0 index: -1 unit-icon-eruptor rotate: false - xy: 856, 992 + xy: 913, 955 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 unit-icon-fortress rotate: false - xy: 922, 1067 + xy: 979, 955 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 unit-icon-titan rotate: false - xy: 988, 1067 + xy: 913, 889 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-icon-full rotate: false - xy: 1054, 1067 + xy: 913, 823 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-icon-full rotate: false - xy: 1085, 671 + xy: 1531, 1159 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 wave rotate: false - xy: 1186, 1067 + xy: 913, 691 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 wave-icon-full rotate: false - xy: 1120, 1001 + xy: 979, 691 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 white-tree-dead-icon-full rotate: false - xy: 1, 1405 + xy: 1, 1403 size: 320, 320 orig: 320, 320 offset: 0, 0 index: -1 white-tree-icon-full rotate: false - xy: 323, 1727 + xy: 323, 1725 size: 320, 320 orig: 320, 320 offset: 0, 0 index: -1 wraith-factory-icon-full rotate: false - xy: 1252, 1067 + xy: 1045, 1219 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 1886, 859 + xy: 1462, 1027 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal rotate: false - xy: 1920, 859 + xy: 1481, 993 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper rotate: false - xy: 1954, 995 + xy: 987, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite rotate: false - xy: 1988, 999 + xy: 1021, 8 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead rotate: false - xy: 1962, 961 + xy: 1055, 8 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass rotate: false - xy: 1962, 927 + xy: 1089, 8 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric rotate: false - xy: 1954, 893 + xy: 1123, 8 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium rotate: false - xy: 1954, 859 + xy: 1157, 8 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite rotate: false - xy: 1996, 965 + xy: 2006, 1623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand rotate: false - xy: 1996, 931 + xy: 2006, 1589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap rotate: false - xy: 1988, 893 + xy: 2006, 1555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 1988, 859 + xy: 2006, 1521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod rotate: false - xy: 880, 900 + xy: 1245, 891 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 914, 900 + xy: 1245, 857 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 839, 866 + xy: 1245, 823 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 839, 832 + xy: 1295, 941 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid rotate: false - xy: 907, 866 + xy: 1345, 957 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil rotate: false - xy: 839, 764 + xy: 1413, 959 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag rotate: false - xy: 907, 798 + xy: 1279, 831 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water rotate: false - xy: 873, 730 + xy: 1313, 907 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 alpha-mech rotate: false - xy: 259, 1355 + xy: 1999, 1409 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-mech-base rotate: false - xy: 204, 1097 + xy: 1999, 1359 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-mech-leg rotate: false - xy: 1372, 1083 + xy: 979, 301 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 delta-mech rotate: false - xy: 1310, 927 + xy: 1151, 1375 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 delta-mech-base rotate: false - xy: 1360, 925 + xy: 1201, 1375 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 delta-mech-leg rotate: false - xy: 1622, 1083 + xy: 1251, 1375 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 omega-mech rotate: false - xy: 904, 934 + xy: 1045, 718 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 omega-mech-armor rotate: false - xy: 847, 1322 + xy: 1808, 1591 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 omega-mech-base rotate: false - xy: 962, 943 + xy: 913, 633 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 omega-mech-leg rotate: false - xy: 1020, 943 + xy: 913, 575 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 tau-mech rotate: false - xy: 1194, 943 + xy: 979, 517 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 tau-mech-base rotate: false - xy: 1772, 1051 + xy: 1203, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 tau-mech-leg rotate: false - xy: 1822, 1101 + xy: 1153, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dart-ship rotate: false - xy: 1368, 975 + xy: 1101, 1367 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 glaive-ship rotate: false - xy: 457, 207 + xy: 526, 1537 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 javelin-ship rotate: false - xy: 1939, 1351 + xy: 1311, 1175 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 javelin-ship-shield rotate: false - xy: 1839, 1201 + xy: 1161, 1125 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 trident-ship rotate: false - xy: 1252, 943 + xy: 979, 459 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 blank rotate: false - xy: 848, 1846 + xy: 1029, 348 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 circle rotate: false - xy: 645, 1846 + xy: 323, 1522 size: 201, 201 orig: 201, 201 offset: 0, 0 index: -1 shape-3 rotate: false - xy: 781, 927 + xy: 1045, 1088 size: 63, 63 orig: 63, 63 offset: 0, 0 index: -1 chaos-array rotate: false - xy: 1165, 1757 + xy: 163, 771 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 chaos-array-base rotate: false - xy: 1295, 1757 + xy: 163, 641 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 chaos-array-leg rotate: false - xy: 1425, 1757 + xy: 163, 511 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 crawler rotate: false - xy: 1472, 1033 + xy: 1079, 618 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-base rotate: false - xy: 1522, 1083 + xy: 1095, 668 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-leg rotate: false - xy: 1522, 1033 + xy: 1129, 618 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger rotate: false - xy: 1572, 1083 + xy: 987, 143 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-base rotate: false - xy: 1572, 1033 + xy: 987, 93 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-leg rotate: false - xy: 1318, 977 + xy: 987, 43 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 draug rotate: false - xy: 1622, 1033 + xy: 1301, 1375 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 eradicator rotate: false - xy: 1, 170 + xy: 1496, 1921 size: 152, 124 orig: 152, 124 offset: 0, 0 index: -1 eradicator-base rotate: false - xy: 1658, 1923 + xy: 1, 225 size: 152, 124 orig: 152, 124 offset: 0, 0 index: -1 eradicator-leg rotate: false - xy: 1, 44 + xy: 1650, 1921 size: 152, 124 orig: 152, 124 offset: 0, 0 index: -1 eruptor rotate: false - xy: 715, 1454 + xy: 657, 52 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 eruptor-base rotate: false - xy: 781, 1454 + xy: 1082, 1615 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 eruptor-leg rotate: false - xy: 847, 1454 + xy: 1082, 1549 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 fortress rotate: false - xy: 583, 1454 + xy: 1075, 1483 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 fortress-base rotate: false - xy: 583, 1388 + xy: 1148, 1623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 titan-base rotate: false - xy: 583, 1388 + xy: 1148, 1623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 fortress-leg rotate: false - xy: 649, 1388 + xy: 1214, 1623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 ghoul rotate: false - xy: 1966, 1975 + xy: 219, 1188 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 lich rotate: false - xy: 323, 1485 + xy: 1, 1161 size: 216, 240 orig: 216, 240 offset: 0, 0 index: -1 phantom rotate: false - xy: 1078, 943 + xy: 971, 633 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 power-cell rotate: false - xy: 1136, 943 + xy: 971, 575 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 reaper rotate: false - xy: 1, 1727 + xy: 1, 1725 size: 320, 320 orig: 320, 320 offset: 0, 0 index: -1 revenant rotate: false - xy: 423, 461 + xy: 645, 1730 size: 112, 112 orig: 112, 112 offset: 0, 0 index: -1 spirit rotate: false - xy: 1722, 1101 + xy: 1310, 1025 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 titan rotate: false - xy: 1573, 1133 + xy: 913, 1153 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 titan-leg rotate: false - xy: 724, 1058 + xy: 979, 1153 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 wraith rotate: false - xy: 1872, 1051 + xy: 1153, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 artillery-equip rotate: false - xy: 1372, 1025 + xy: 979, 243 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 1422, 1083 + xy: 979, 193 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 bomber-equip rotate: false - xy: 1422, 1033 + xy: 1045, 668 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 missiles-equip rotate: false - xy: 1422, 1033 + xy: 1045, 668 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 chain-blaster-equip rotate: false - xy: 1472, 1083 + xy: 1029, 618 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 chaos-equip rotate: false - xy: 781, 789 + xy: 1045, 950 size: 56, 136 orig: 56, 136 offset: 0, 0 index: -1 eradication-equip rotate: false - xy: 1325, 1563 + xy: 391, 190 size: 96, 192 orig: 96, 192 offset: 0, 0 index: -1 eruption-equip rotate: false - xy: 1639, 1289 + xy: 1401, 1367 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 flakgun-equip rotate: false - xy: 1639, 1239 + xy: 1111, 1317 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 flamethrower-equip rotate: false - xy: 1639, 1181 + xy: 1111, 1259 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 heal-blaster-equip rotate: false - xy: 1689, 1351 + xy: 1111, 1209 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 lich-missiles-equip rotate: false - xy: 1889, 1251 + xy: 1211, 1125 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 reaper-gun-equip rotate: false - xy: 1839, 1151 + xy: 1211, 1075 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 revenant-missiles-equip rotate: false - xy: 1889, 1151 + xy: 1261, 1075 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 1989, 1151 + xy: 1160, 1025 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 swarmer-equip rotate: false - xy: 1772, 1101 + xy: 1153, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5206,1967 +5206,1967 @@ filter: Nearest,Nearest repeat: none alloy-smelter-icon-editor rotate: false - xy: 453, 651 + xy: 1, 15 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 arc-icon-editor rotate: false - xy: 2015, 973 + xy: 261, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 battery-icon-editor rotate: false - xy: 2015, 939 + xy: 427, 87 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 battery-large-icon-editor rotate: false - xy: 581, 779 + xy: 745, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 blast-drill-icon-editor rotate: false - xy: 323, 619 + xy: 1, 243 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 blast-mixer-icon-editor rotate: false - xy: 1, 5 + xy: 745, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-border-editor rotate: false - xy: 865, 679 + xy: 477, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-icon-editor rotate: false - xy: 651, 481 + xy: 611, 391 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-icon-editor rotate: false - xy: 815, 587 + xy: 427, 53 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 char-icon-editor rotate: false - xy: 899, 679 + xy: 511, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-char1 rotate: false - xy: 899, 679 + xy: 511, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 clear-editor rotate: false - xy: 1231, 906 + xy: 261, 370 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 cliffs-icon-editor rotate: false - xy: 685, 481 + xy: 645, 391 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 coal-centrifuge-icon-editor rotate: false - xy: 1757, 843 + xy: 811, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 combustion-generator-icon-editor rotate: false - xy: 933, 679 + xy: 679, 391 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 command-center-icon-editor rotate: false - xy: 1823, 843 + xy: 877, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 conduit-icon-editor rotate: false - xy: 967, 679 + xy: 295, 5 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 container-icon-editor rotate: false - xy: 1889, 843 + xy: 943, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 conveyor-icon-editor rotate: false - xy: 1001, 679 + xy: 329, 5 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-icon-editor rotate: false - xy: 1035, 679 + xy: 363, 5 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-large-icon-editor rotate: false - xy: 67, 5 + xy: 1009, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 core-foundation-icon-editor rotate: false - xy: 581, 877 + xy: 323, 725 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 core-nucleus-icon-editor rotate: false - xy: 1, 201 + xy: 323, 855 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 core-shard-icon-editor rotate: false - xy: 323, 391 + xy: 99, 15 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 craters-icon-editor rotate: false - xy: 323, 749 - size: 256, 256 - orig: 256, 256 + xy: 397, 5 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +editor-craters1 + rotate: false + xy: 397, 5 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 crawler-factory-icon-editor rotate: false - xy: 1955, 843 + xy: 1075, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-icon-editor rotate: false - xy: 163, 167 + xy: 1141, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-icon-editor rotate: false - xy: 229, 167 + xy: 1207, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cyclone-icon-editor rotate: false - xy: 1231, 909 + xy: 843, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 dagger-factory-icon-editor rotate: false - xy: 131, 101 + xy: 1273, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dark-metal-icon-editor rotate: false - xy: 1069, 679 + xy: 461, 87 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-1-icon-editor rotate: false - xy: 1103, 679 + xy: 461, 53 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-dark-panel-1 rotate: false - xy: 1103, 679 + xy: 461, 53 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-2-icon-editor rotate: false - xy: 1137, 679 + xy: 431, 19 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-dark-panel-2 rotate: false - xy: 1137, 679 + xy: 431, 19 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-3-icon-editor rotate: false - xy: 1171, 679 + xy: 465, 19 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-dark-panel-3 rotate: false - xy: 1171, 679 + xy: 465, 19 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-4-icon-editor rotate: false - xy: 1205, 679 + xy: 495, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-dark-panel-4 rotate: false - xy: 1205, 679 + xy: 495, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-5-icon-editor rotate: false - xy: 133, 1 + xy: 495, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-dark-panel-5 rotate: false - xy: 133, 1 + xy: 495, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-6-icon-editor rotate: false - xy: 167, 1 + xy: 529, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-dark-panel-6 rotate: false - xy: 167, 1 + xy: 529, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-icon-editor rotate: false - xy: 201, 1 + xy: 529, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-darksand1 rotate: false - xy: 201, 1 + xy: 529, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-tainted-water-icon-editor rotate: false - xy: 235, 1 + xy: 545, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-darksand-tainted-water rotate: false - xy: 235, 1 + xy: 545, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-water-icon-editor rotate: false - xy: 269, 1 + xy: 499, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-darksand-water rotate: false - xy: 269, 1 + xy: 499, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dart-mech-pad-icon-editor rotate: false - xy: 197, 101 + xy: 1339, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 deepwater-icon-editor rotate: false - xy: 719, 481 + xy: 533, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-deepwater rotate: false - xy: 719, 481 + xy: 533, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 delta-mech-pad-icon-editor rotate: false - xy: 133, 35 + xy: 1405, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 differential-generator-icon-editor rotate: false - xy: 453, 553 + xy: 941, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 distributor-icon-editor rotate: false - xy: 199, 35 + xy: 1471, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-icon-editor rotate: false - xy: 303, 1 + xy: 499, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 door-large-icon-editor rotate: false - xy: 263, 101 + xy: 1537, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 draug-factory-icon-editor rotate: false - xy: 265, 35 + xy: 1603, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dunerocks-icon-editor rotate: false - xy: 553, 431 + xy: 533, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 duo-icon-editor rotate: false - xy: 553, 397 + xy: 563, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-char2 rotate: false - xy: 587, 431 + xy: 563, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-char3 rotate: false - xy: 587, 397 + xy: 567, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-clear rotate: false - xy: 295, 167 + xy: 733, 875 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 -editor-craters1 - rotate: false - xy: 621, 431 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 editor-craters2 rotate: false - xy: 621, 397 + xy: 567, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-craters3 rotate: false - xy: 295, 213 + xy: 611, 357 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-darksand2 rotate: false - xy: 295, 179 + xy: 645, 357 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-darksand3 rotate: false - xy: 753, 497 + xy: 679, 357 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-grass1 rotate: false - xy: 655, 447 + xy: 569, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 grass-icon-editor rotate: false - xy: 655, 447 + xy: 569, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-grass2 rotate: false - xy: 655, 413 + xy: 555, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-grass3 rotate: false - xy: 689, 447 + xy: 555, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-holostone1 rotate: false - xy: 689, 413 + xy: 555, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 holostone-icon-editor rotate: false - xy: 689, 413 + xy: 555, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-holostone2 rotate: false - xy: 723, 447 + xy: 555, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-holostone3 rotate: false - xy: 723, 413 + xy: 555, 179 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-hotrock1 rotate: false - xy: 343, 263 + xy: 589, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 hotrock-icon-editor rotate: false - xy: 343, 263 + xy: 589, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-hotrock2 rotate: false - xy: 799, 547 + xy: 589, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-hotrock3 rotate: false - xy: 865, 645 + xy: 589, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ice-snow1 rotate: false - xy: 1001, 645 + xy: 623, 323 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ice-snow-icon-editor rotate: false - xy: 1001, 645 + xy: 623, 323 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ice-snow2 rotate: false - xy: 1035, 645 + xy: 623, 289 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ice-snow3 rotate: false - xy: 1069, 645 + xy: 657, 323 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ice1 rotate: false - xy: 899, 645 + xy: 589, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ice-icon-editor rotate: false - xy: 899, 645 + xy: 589, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ice2 rotate: false - xy: 933, 645 + xy: 589, 179 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ice3 rotate: false - xy: 967, 645 + xy: 579, 145 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ignarock1 rotate: false - xy: 1103, 645 + xy: 623, 255 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ignarock-icon-editor rotate: false - xy: 1103, 645 + xy: 623, 255 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ignarock2 rotate: false - xy: 1137, 645 + xy: 657, 289 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ignarock3 rotate: false - xy: 1171, 645 + xy: 623, 221 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-magmarock1 rotate: false - xy: 1205, 645 + xy: 657, 255 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 magmarock-icon-editor rotate: false - xy: 1205, 645 + xy: 657, 255 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-magmarock2 rotate: false - xy: 655, 379 + xy: 623, 187 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-magmarock3 rotate: false - xy: 689, 379 + xy: 657, 221 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-metal-floor rotate: false - xy: 723, 379 + xy: 657, 187 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-icon-editor rotate: false - xy: 723, 379 + xy: 657, 187 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-metal-floor-2 rotate: false - xy: 343, 229 + xy: 691, 323 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-2-icon-editor rotate: false - xy: 343, 229 + xy: 691, 323 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-metal-floor-3 rotate: false - xy: 329, 195 + xy: 691, 289 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-3-icon-editor rotate: false - xy: 329, 195 + xy: 691, 289 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-metal-floor-5 rotate: false - xy: 329, 161 + xy: 691, 255 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-5-icon-editor rotate: false - xy: 329, 161 + xy: 691, 255 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-metal-floor-damaged1 rotate: false - xy: 329, 127 + xy: 691, 221 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-damaged-icon-editor rotate: false - xy: 329, 127 + xy: 691, 221 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-metal-floor-damaged2 rotate: false - xy: 799, 513 + xy: 691, 187 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-metal-floor-damaged3 rotate: false - xy: 857, 611 + xy: 613, 145 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-moss1 rotate: false - xy: 891, 611 + xy: 597, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 moss-icon-editor rotate: false - xy: 891, 611 + xy: 597, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-moss2 rotate: false - xy: 925, 611 + xy: 597, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-moss3 rotate: false - xy: 959, 611 + xy: 647, 153 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-coal1 rotate: false - xy: 993, 611 + xy: 681, 153 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-coal2 rotate: false - xy: 1027, 611 + xy: 601, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-coal3 rotate: false - xy: 1061, 611 + xy: 601, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-copper1 rotate: false - xy: 1095, 611 + xy: 631, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-copper2 rotate: false - xy: 1129, 611 + xy: 631, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-copper3 rotate: false - xy: 1163, 611 + xy: 635, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-lead1 rotate: false - xy: 1197, 611 + xy: 635, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-lead2 rotate: false - xy: 849, 577 + xy: 665, 119 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-lead3 rotate: false - xy: 883, 577 + xy: 665, 85 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-scrap1 rotate: false - xy: 917, 577 + xy: 669, 51 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-scrap2 rotate: false - xy: 951, 577 + xy: 669, 17 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-scrap3 rotate: false - xy: 985, 577 + xy: 699, 119 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-thorium1 rotate: false - xy: 1019, 577 + xy: 699, 85 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-thorium2 rotate: false - xy: 1053, 577 + xy: 703, 51 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-thorium3 rotate: false - xy: 1087, 577 + xy: 703, 17 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-titanium1 rotate: false - xy: 1121, 577 + xy: 715, 153 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-titanium2 rotate: false - xy: 1155, 577 + xy: 733, 119 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-ore-titanium3 rotate: false - xy: 1189, 577 + xy: 733, 85 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-pebbles1 rotate: false - xy: 833, 543 + xy: 737, 51 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-pebbles2 rotate: false - xy: 867, 543 + xy: 737, 17 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-pebbles3 rotate: false - xy: 901, 543 + xy: 713, 391 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-salt rotate: false - xy: 935, 543 + xy: 713, 357 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 salt-icon-editor rotate: false - xy: 935, 543 + xy: 713, 357 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-sand-water rotate: false - xy: 1071, 543 + xy: 725, 221 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-water-icon-editor rotate: false - xy: 1071, 543 + xy: 725, 221 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-sand1 rotate: false - xy: 969, 543 + xy: 725, 323 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-icon-editor rotate: false - xy: 969, 543 + xy: 725, 323 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-sand2 rotate: false - xy: 1003, 543 + xy: 725, 289 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-sand3 rotate: false - xy: 1037, 543 + xy: 725, 255 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-shale1 rotate: false - xy: 1105, 543 + xy: 725, 187 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-icon-editor rotate: false - xy: 1105, 543 + xy: 725, 187 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-shale2 rotate: false - xy: 1139, 543 + xy: 749, 153 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-shale3 rotate: false - xy: 1173, 543 + xy: 767, 119 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-snow1 rotate: false - xy: 833, 509 + xy: 767, 85 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-snow2 rotate: false - xy: 867, 509 + xy: 771, 51 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-snow3 rotate: false - xy: 901, 509 + xy: 771, 17 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-spawn rotate: false - xy: 935, 509 + xy: 733, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-spore-moss1 rotate: false - xy: 969, 509 + xy: 767, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spore-moss-icon-editor rotate: false - xy: 969, 509 + xy: 767, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-spore-moss2 rotate: false - xy: 1003, 509 + xy: 801, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-spore-moss3 rotate: false - xy: 1037, 509 + xy: 835, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-stone1 rotate: false - xy: 1071, 509 + xy: 869, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 stone-icon-editor rotate: false - xy: 1071, 509 + xy: 869, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-stone2 rotate: false - xy: 1105, 509 + xy: 903, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-stone3 rotate: false - xy: 1139, 509 + xy: 937, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-tainted-water rotate: false - xy: 1173, 509 + xy: 971, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 tainted-water-icon-editor rotate: false - xy: 1173, 509 + xy: 971, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-tar rotate: false - xy: 1207, 543 + xy: 1005, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 tar-icon-editor rotate: false - xy: 1207, 543 + xy: 1005, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-tendrils1 rotate: false - xy: 1207, 509 + xy: 1039, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-tendrils2 rotate: false - xy: 1223, 577 + xy: 1073, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-tendrils3 rotate: false - xy: 1231, 611 + xy: 1107, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 editor-water rotate: false - xy: 1241, 543 + xy: 1141, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 water-icon-editor rotate: false - xy: 1241, 543 + xy: 1141, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 force-projector-icon-editor rotate: false - xy: 679, 779 + xy: 1039, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 fortress-factory-icon-editor rotate: false - xy: 1329, 909 + xy: 1137, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 fuse-icon-editor rotate: false - xy: 777, 779 + xy: 1235, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory-icon-editor rotate: false - xy: 1427, 909 + xy: 1333, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 glaive-ship-pad-icon-editor rotate: false - xy: 875, 779 + xy: 1431, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 graphite-press-icon-editor rotate: false - xy: 421, 389 + xy: 1669, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 hail-icon-editor rotate: false - xy: 1241, 509 + xy: 1175, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icerocks-icon-editor rotate: false - xy: 1257, 577 + xy: 1209, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 impact-reactor-icon-editor rotate: false - xy: 1, 71 + xy: 485, 887 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 incinerator-icon-editor rotate: false - xy: 1275, 543 + xy: 1243, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source-icon-editor rotate: false - xy: 1275, 509 + xy: 1277, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void-icon-editor rotate: false - xy: 757, 463 + xy: 1311, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 javelin-ship-pad-icon-editor rotate: false - xy: 487, 389 + xy: 1735, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 junction-icon-editor rotate: false - xy: 757, 429 + xy: 1345, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 kiln-icon-editor rotate: false - xy: 1267, 745 + xy: 1801, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 lancer-icon-editor rotate: false - xy: 1333, 745 + xy: 1867, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 laser-drill-icon-editor rotate: false - xy: 1525, 909 + xy: 1529, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launch-pad-icon-editor rotate: false - xy: 973, 779 + xy: 1627, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launch-pad-large-icon-editor rotate: false - xy: 163, 233 + xy: 1, 113 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 liquid-junction-icon-editor rotate: false - xy: 757, 395 + xy: 1379, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-icon-editor rotate: false - xy: 757, 361 + xy: 1413, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-source-icon-editor rotate: false - xy: 363, 195 + xy: 1447, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-tank-icon-editor rotate: false - xy: 1623, 909 + xy: 1725, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-driver-icon-editor rotate: false - xy: 1071, 779 + xy: 1823, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-drill-icon-editor rotate: false - xy: 1399, 745 + xy: 1933, 853 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-pump-icon-editor rotate: false - xy: 363, 161 + xy: 1481, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 meltdown-icon-editor rotate: false - xy: 323, 489 + xy: 131, 243 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 melter-icon-editor rotate: false - xy: 363, 127 + xy: 1515, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mend-projector-icon-editor rotate: false - xy: 1465, 745 + xy: 485, 821 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mender-icon-editor rotate: false - xy: 791, 479 + xy: 1549, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 multi-press-icon-editor rotate: false - xy: 1721, 909 + xy: 1921, 919 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-icon-editor rotate: false - xy: 1819, 909 + xy: 323, 367 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 omega-mech-pad-icon-editor rotate: false - xy: 1917, 909 + xy: 197, 15 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 overdrive-projector-icon-editor rotate: false - xy: 1531, 745 + xy: 551, 821 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 overflow-gate-icon-editor rotate: false - xy: 791, 445 + xy: 1583, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pebbles-icon-editor rotate: false - xy: 791, 411 + xy: 1617, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phantom-factory-icon-editor rotate: false - xy: 1597, 745 + xy: 617, 821 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-conduit-icon-editor rotate: false - xy: 791, 377 + xy: 1651, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-icon-editor rotate: false - xy: 825, 475 + xy: 1685, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-icon-editor rotate: false - xy: 825, 441 + xy: 1719, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-large-icon-editor rotate: false - xy: 1663, 745 + xy: 453, 755 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-icon-editor rotate: false - xy: 1757, 777 + xy: 519, 755 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pine-icon-editor rotate: false - xy: 293, 247 + xy: 1999, 869 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 plastanium-compressor-icon-editor rotate: false - xy: 1823, 777 + xy: 453, 689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-icon-editor rotate: false - xy: 1889, 777 + xy: 519, 689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 power-node-icon-editor rotate: false - xy: 859, 475 + xy: 1753, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-node-large-icon-editor rotate: false - xy: 1955, 777 + xy: 585, 755 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 power-source-icon-editor rotate: false - xy: 825, 407 + xy: 1787, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void-icon-editor rotate: false - xy: 859, 441 + xy: 1821, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-icon-editor rotate: false - xy: 893, 475 + xy: 1855, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-icon-editor rotate: false - xy: 859, 407 + xy: 1889, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pyratite-mixer-icon-editor rotate: false - xy: 293, 297 + xy: 453, 623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 repair-point-icon-editor rotate: false - xy: 893, 441 + xy: 1923, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 revenant-factory-icon-editor rotate: false - xy: 711, 877 + xy: 323, 595 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 ripple-icon-editor rotate: false - xy: 453, 455 + xy: 261, 269 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 rock-icon-editor rotate: false - xy: 551, 465 + xy: 1999, 819 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rocks-icon-editor rotate: false - xy: 927, 475 + xy: 1957, 819 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump-icon-editor rotate: false - xy: 581, 713 + xy: 519, 623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 router-icon-editor rotate: false - xy: 893, 407 + xy: 717, 785 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rtg-generator-icon-editor rotate: false - xy: 647, 713 + xy: 585, 689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 saltrocks-icon-editor rotate: false - xy: 927, 441 + xy: 717, 751 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 salvo-icon-editor rotate: false - xy: 713, 713 + xy: 453, 557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 sand-boulder-icon-editor rotate: false - xy: 961, 475 + xy: 751, 785 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sandrocks-icon-editor rotate: false - xy: 927, 407 + xy: 717, 717 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scatter-icon-editor rotate: false - xy: 779, 713 + xy: 519, 557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch-icon-editor rotate: false - xy: 961, 441 + xy: 785, 785 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall-gigantic-icon-editor rotate: false - xy: 841, 877 + xy: 615, 887 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 scrap-wall-huge-icon-editor rotate: false - xy: 1169, 779 + xy: 261, 171 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-icon-editor rotate: false - xy: 995, 475 + xy: 751, 751 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall-large-icon-editor rotate: false - xy: 845, 713 + xy: 585, 623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-icon-editor rotate: false - xy: 911, 713 + xy: 453, 491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 shale-boulder-icon-editor rotate: false - xy: 961, 407 + xy: 717, 683 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shalerocks-icon-editor rotate: false - xy: 995, 441 + xy: 819, 785 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shock-mine-icon-editor rotate: false - xy: 1029, 475 + xy: 785, 751 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shrubs-icon-editor rotate: false - xy: 995, 407 + xy: 751, 717 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 silicon-smelter-icon-editor rotate: false - xy: 977, 713 + xy: 519, 491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 snow-icon-editor rotate: false - xy: 1029, 441 + xy: 717, 649 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snow-pine-icon-editor rotate: false - xy: 815, 663 + xy: 519, 375 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrock-icon-editor rotate: false - xy: 749, 531 + xy: 683, 837 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrocks-icon-editor rotate: false - xy: 1063, 475 + xy: 853, 785 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-icon-editor rotate: false - xy: 1029, 407 + xy: 819, 751 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-large-icon-editor rotate: false - xy: 1267, 811 + xy: 359, 269 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 sorter-icon-editor rotate: false - xy: 1063, 441 + xy: 785, 717 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spawn-icon-editor rotate: false - xy: 1097, 475 + xy: 751, 683 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spectre-icon-editor rotate: false - xy: 971, 877 + xy: 131, 113 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 spirit-factory-icon-editor rotate: false - xy: 1043, 713 + xy: 585, 557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-cluster-icon-editor rotate: false - xy: 815, 621 + xy: 569, 383 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 spore-pine-icon-editor rotate: false - xy: 601, 465 + xy: 427, 121 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-press-icon-editor rotate: false - xy: 1109, 713 + xy: 585, 491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 sporerocks-icon-editor rotate: false - xy: 1063, 407 + xy: 717, 615 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-tower-icon-editor rotate: false - xy: 1175, 713 + xy: 519, 425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 surge-wall-icon-editor rotate: false - xy: 1097, 441 + xy: 887, 785 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall-large-icon-editor rotate: false - xy: 551, 647 + xy: 585, 425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 swarmer-icon-editor rotate: false - xy: 551, 581 + xy: 651, 755 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 tau-mech-pad-icon-editor rotate: false - xy: 617, 647 + xy: 651, 689 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 tendrils-icon-editor rotate: false - xy: 1131, 475 + xy: 853, 751 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thermal-generator-icon-editor rotate: false - xy: 551, 515 + xy: 651, 623 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-pump-icon-editor rotate: false - xy: 1365, 811 + xy: 359, 171 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-icon-editor rotate: false - xy: 1463, 811 + xy: 421, 367 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-wall-icon-editor rotate: false - xy: 1097, 407 + xy: 819, 717 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-wall-large-icon-editor rotate: false - xy: 617, 581 + xy: 651, 557 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thruster-icon-editor rotate: false - xy: 1101, 877 + xy: 323, 465 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 titan-factory-icon-editor rotate: false - xy: 1561, 811 + xy: 457, 269 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 titanium-conveyor-icon-editor rotate: false - xy: 1131, 441 + xy: 785, 683 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-wall-icon-editor rotate: false - xy: 1165, 475 + xy: 751, 649 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-wall-large-icon-editor rotate: false - xy: 683, 647 + xy: 651, 491 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 trident-ship-pad-icon-editor rotate: false - xy: 617, 515 + xy: 651, 425 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-icon-editor rotate: false - xy: 683, 581 + xy: 295, 105 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 unloader-icon-editor rotate: false - xy: 1131, 407 + xy: 717, 581 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 vault-icon-editor rotate: false - xy: 1659, 811 + xy: 457, 171 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 water-extractor-icon-editor rotate: false - xy: 749, 647 + xy: 295, 39 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 wave-icon-editor rotate: false - xy: 683, 515 + xy: 361, 105 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 white-tree-dead-icon-editor rotate: false - xy: 1, 685 + xy: 1, 695 size: 320, 320 orig: 320, 320 offset: 0, 0 index: -1 white-tree-icon-editor rotate: false - xy: 1, 363 + xy: 1, 373 size: 320, 320 orig: 320, 320 offset: 0, 0 index: -1 wraith-factory-icon-editor rotate: false - xy: 749, 581 + xy: 361, 39 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -7177,84 +7177,84 @@ size: 1024,1024 format: RGBA8888 filter: Nearest,Nearest repeat: none -craters +zone-craters rotate: false xy: 605, 767 size: 256, 256 orig: 256, 256 offset: 0, 0 index: -1 -desertWastes +zone-desertWastes rotate: false xy: 303, 461 size: 260, 260 orig: 260, 260 offset: 0, 0 index: -1 -desolateRift +zone-desolateRift rotate: false xy: 817, 163 size: 100, 350 orig: 100, 350 offset: 0, 0 index: -1 -frozenForest +zone-frozenForest rotate: false xy: 303, 1 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 -fungalPass +zone-fungalPass rotate: false xy: 863, 773 size: 150, 250 orig: 150, 250 offset: 0, 0 index: -1 -groundZero +zone-groundZero rotate: false xy: 303, 203 size: 256, 256 orig: 256, 256 offset: 0, 0 index: -1 -nuclearComplex +zone-nuclearComplex rotate: false xy: 605, 515 size: 250, 250 orig: 250, 250 offset: 0, 0 index: -1 -overgrowth +zone-overgrowth rotate: false xy: 1, 723 size: 300, 300 orig: 300, 300 offset: 0, 0 index: -1 -ruinousShores +zone-ruinousShores rotate: false xy: 1, 421 size: 300, 300 orig: 300, 300 offset: 0, 0 index: -1 -saltFlats +zone-saltFlats rotate: false xy: 303, 723 size: 300, 300 orig: 300, 300 offset: 0, 0 index: -1 -stainedMountains +zone-stainedMountains rotate: false xy: 1, 119 size: 300, 300 orig: 300, 300 offset: 0, 0 index: -1 -tarFields +zone-tarFields rotate: false xy: 565, 263 size: 250, 250 @@ -8647,49 +8647,49 @@ filter: Nearest,Nearest repeat: none alloy-smelter-icon-large rotate: false - xy: 1, 663 + xy: 1, 670 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alloy-smelter-icon-medium rotate: false - xy: 301, 629 + xy: 301, 575 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 alloy-smelter-icon-small rotate: false - xy: 1975, 684 + xy: 501, 1 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 arc-icon-large rotate: false - xy: 259, 921 + xy: 259, 928 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 arc-icon-medium rotate: false - xy: 301, 595 + xy: 301, 541 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 arc-icon-small rotate: false - xy: 1639, 560 + xy: 527, 1 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 bar rotate: false - xy: 1581, 548 + xy: 1279, 519 size: 27, 36 split: 9, 9, 9, 9 orig: 27, 36 @@ -8697,7 +8697,7 @@ bar index: -1 bar-top rotate: false - xy: 1552, 548 + xy: 1250, 519 size: 27, 36 split: 9, 10, 9, 10 orig: 27, 36 @@ -8705,133 +8705,133 @@ bar-top index: -1 battery-icon-large rotate: false - xy: 1, 613 + xy: 1, 620 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 battery-icon-medium rotate: false - xy: 301, 561 + xy: 301, 507 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 battery-icon-small rotate: false - xy: 1665, 560 + xy: 1981, 749 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 battery-large-icon-large rotate: false - xy: 259, 871 + xy: 259, 878 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 battery-large-icon-medium rotate: false - xy: 301, 527 + xy: 301, 473 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 battery-large-icon-small rotate: false - xy: 1639, 534 + xy: 1337, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 blast-drill-icon-large rotate: false - xy: 1, 563 + xy: 1, 570 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 blast-drill-icon-medium rotate: false - xy: 301, 493 + xy: 301, 439 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 blast-drill-icon-small rotate: false - xy: 1665, 534 + xy: 1363, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 blast-mixer-icon-large rotate: false - xy: 259, 821 + xy: 259, 828 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 blast-mixer-icon-medium rotate: false - xy: 301, 459 + xy: 301, 405 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 blast-mixer-icon-small rotate: false - xy: 2001, 681 + xy: 1337, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 bridge-conduit-icon-large rotate: false - xy: 1, 513 + xy: 1, 520 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 bridge-conduit-icon-medium rotate: false - xy: 301, 425 + xy: 301, 371 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-icon-small rotate: false - xy: 1639, 508 + xy: 1389, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 bridge-conveyor-icon-large rotate: false - xy: 259, 771 + xy: 259, 778 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 bridge-conveyor-icon-medium rotate: false - xy: 301, 391 + xy: 301, 337 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-icon-small rotate: false - xy: 1665, 508 + xy: 1363, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 button rotate: false - xy: 1813, 710 + xy: 301, 696 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8839,7 +8839,7 @@ button index: -1 button-disabled rotate: false - xy: 2009, 939 + xy: 2009, 946 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8847,7 +8847,7 @@ button-disabled index: -1 button-down rotate: false - xy: 2009, 910 + xy: 2009, 917 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8855,7 +8855,7 @@ button-down index: -1 button-edge-1 rotate: false - xy: 2009, 881 + xy: 2009, 888 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8863,7 +8863,7 @@ button-edge-1 index: -1 button-edge-2 rotate: false - xy: 2009, 852 + xy: 2009, 859 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8871,7 +8871,7 @@ button-edge-2 index: -1 button-edge-3 rotate: false - xy: 2009, 823 + xy: 2009, 830 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8879,7 +8879,7 @@ button-edge-3 index: -1 button-edge-4 rotate: false - xy: 2009, 794 + xy: 2009, 801 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8887,7 +8887,7 @@ button-edge-4 index: -1 button-edge-over-4 rotate: false - xy: 1779, 739 + xy: 1829, 746 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8895,7 +8895,7 @@ button-edge-over-4 index: -1 button-over rotate: false - xy: 1817, 739 + xy: 1867, 746 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8903,7 +8903,7 @@ button-over index: -1 button-red rotate: false - xy: 1855, 739 + xy: 1905, 746 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8911,7 +8911,7 @@ button-red index: -1 button-right rotate: false - xy: 1969, 739 + xy: 1787, 720 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8919,7 +8919,7 @@ button-right index: -1 button-right-down rotate: false - xy: 1893, 739 + xy: 1943, 746 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8927,7 +8927,7 @@ button-right-down index: -1 button-right-over rotate: false - xy: 1931, 739 + xy: 2009, 772 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8935,7 +8935,7 @@ button-right-over index: -1 button-select rotate: false - xy: 1988, 655 + xy: 1415, 531 size: 24, 24 split: 4, 4, 4, 4 orig: 24, 24 @@ -8943,7 +8943,7 @@ button-select index: -1 button-square rotate: false - xy: 2007, 736 + xy: 1901, 717 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8951,7 +8951,7 @@ button-square index: -1 button-square-down rotate: false - xy: 2009, 765 + xy: 1825, 717 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8959,7 +8959,7 @@ button-square-down index: -1 button-square-over rotate: false - xy: 1737, 713 + xy: 1863, 717 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8967,7 +8967,7 @@ button-square-over index: -1 button-trans rotate: false - xy: 1775, 710 + xy: 1939, 717 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -8975,889 +8975,889 @@ button-trans index: -1 char-icon-large rotate: false - xy: 1, 463 + xy: 1, 470 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 char-icon-medium rotate: false - xy: 301, 357 + xy: 301, 303 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 char-icon-small rotate: false - xy: 2014, 655 + xy: 1389, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 check-disabled rotate: false - xy: 301, 323 + xy: 301, 269 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 check-off rotate: false - xy: 301, 289 + xy: 301, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 check-on rotate: false - xy: 301, 255 + xy: 301, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 check-on-disabled rotate: false - xy: 301, 221 + xy: 301, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 check-on-over rotate: false - xy: 301, 187 + xy: 301, 133 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 check-over rotate: false - xy: 301, 153 + xy: 301, 99 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 clear rotate: false - xy: 1, 1 + xy: 1, 8 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 cliffs-icon-large rotate: false - xy: 1, 413 + xy: 1, 420 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 cliffs-icon-medium rotate: false - xy: 301, 119 + xy: 301, 65 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cliffs-icon-small rotate: false - xy: 2003, 629 + xy: 1441, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 coal-centrifuge-icon-large rotate: false - xy: 1, 363 + xy: 1, 370 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 coal-centrifuge-icon-medium rotate: false - xy: 301, 85 + xy: 301, 31 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 coal-centrifuge-icon-small rotate: false - xy: 2003, 603 + xy: 1415, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 combustion-generator-icon-large rotate: false - xy: 1, 313 + xy: 1, 320 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 combustion-generator-icon-medium rotate: false - xy: 301, 51 + xy: 339, 607 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator-icon-small rotate: false - xy: 2003, 577 + xy: 1467, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 command-center-icon-large rotate: false - xy: 1, 263 + xy: 1, 270 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 command-center-icon-medium rotate: false - xy: 301, 17 + xy: 335, 573 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 command-center-icon-small rotate: false - xy: 403, 14 + xy: 1441, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 conduit-icon-large rotate: false - xy: 1, 213 + xy: 1, 220 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 conduit-icon-medium rotate: false - xy: 377, 684 + xy: 335, 539 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-icon-small rotate: false - xy: 429, 14 + xy: 1493, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 container-icon-large rotate: false - xy: 1, 163 + xy: 1, 170 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 container-icon-medium rotate: false - xy: 411, 684 + xy: 335, 505 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 container-icon-small rotate: false - xy: 469, 80 + xy: 1467, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 conveyor-icon-large rotate: false - xy: 1, 113 + xy: 1, 120 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 conveyor-icon-medium rotate: false - xy: 445, 684 + xy: 335, 471 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-icon-small rotate: false - xy: 469, 54 + xy: 1519, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 copper-wall-icon-large rotate: false - xy: 1, 63 + xy: 1, 70 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 copper-wall-icon-medium rotate: false - xy: 479, 684 + xy: 335, 437 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-icon-small rotate: false - xy: 495, 82 + xy: 1493, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 copper-wall-large-icon-large rotate: false - xy: 1, 13 + xy: 1, 20 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 copper-wall-large-icon-medium rotate: false - xy: 513, 684 + xy: 335, 403 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-large-icon-small rotate: false - xy: 495, 56 + xy: 1545, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 core-foundation-icon-large rotate: false - xy: 87, 710 + xy: 87, 717 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 core-foundation-icon-medium rotate: false - xy: 547, 684 + xy: 335, 369 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 core-foundation-icon-small rotate: false - xy: 537, 148 + xy: 1519, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 core-nucleus-icon-large rotate: false - xy: 137, 710 + xy: 137, 717 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 core-nucleus-icon-medium rotate: false - xy: 581, 684 + xy: 335, 335 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 core-nucleus-icon-small rotate: false - xy: 537, 122 + xy: 1571, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 core-shard-icon-large rotate: false - xy: 187, 710 + xy: 187, 717 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 core-shard-icon-medium rotate: false - xy: 615, 684 + xy: 335, 301 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 core-shard-icon-small rotate: false - xy: 563, 150 + xy: 1545, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 craters-icon-large rotate: false - xy: 345, 968 + xy: 345, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 craters-icon-medium rotate: false - xy: 649, 684 + xy: 335, 267 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 craters-icon-small rotate: false - xy: 563, 124 + xy: 1597, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 crawler-factory-icon-large rotate: false - xy: 395, 968 + xy: 395, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-factory-icon-medium rotate: false - xy: 683, 684 + xy: 335, 233 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 crawler-factory-icon-small rotate: false - xy: 605, 216 + xy: 1571, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 cryofluidmixer-icon-large rotate: false - xy: 445, 968 + xy: 445, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 cryofluidmixer-icon-medium rotate: false - xy: 717, 684 + xy: 335, 199 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cryofluidmixer-icon-small rotate: false - xy: 605, 190 + xy: 1623, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 cultivator-icon-large rotate: false - xy: 495, 968 + xy: 495, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 cultivator-icon-medium rotate: false - xy: 751, 684 + xy: 335, 165 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cultivator-icon-small rotate: false - xy: 631, 218 + xy: 1597, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 cursor rotate: false - xy: 259, 765 + xy: 1977, 717 size: 4, 4 orig: 4, 4 offset: 0, 0 index: -1 cyclone-icon-large rotate: false - xy: 545, 968 + xy: 545, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 cyclone-icon-medium rotate: false - xy: 785, 684 + xy: 335, 131 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cyclone-icon-small rotate: false - xy: 631, 192 + xy: 1649, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dagger-factory-icon-large rotate: false - xy: 595, 968 + xy: 595, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-factory-icon-medium rotate: false - xy: 819, 684 + xy: 335, 97 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dagger-factory-icon-small rotate: false - xy: 673, 284 + xy: 1623, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dark-metal-icon-large rotate: false - xy: 645, 968 + xy: 645, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dark-metal-icon-medium rotate: false - xy: 853, 684 + xy: 335, 63 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-metal-icon-small rotate: false - xy: 673, 258 + xy: 1675, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dark-panel-1-icon-large rotate: false - xy: 695, 968 + xy: 695, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dark-panel-1-icon-medium rotate: false - xy: 887, 684 + xy: 335, 29 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-1-icon-small rotate: false - xy: 699, 286 + xy: 1649, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dark-panel-2-icon-large rotate: false - xy: 745, 968 + xy: 745, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dark-panel-2-icon-medium rotate: false - xy: 921, 684 + xy: 377, 662 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-2-icon-small rotate: false - xy: 699, 260 + xy: 1701, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dark-panel-3-icon-large rotate: false - xy: 795, 968 + xy: 795, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dark-panel-3-icon-medium rotate: false - xy: 955, 684 + xy: 411, 662 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-3-icon-small rotate: false - xy: 741, 352 + xy: 1675, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dark-panel-4-icon-large rotate: false - xy: 845, 968 + xy: 845, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dark-panel-4-icon-medium rotate: false - xy: 989, 684 + xy: 453, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-4-icon-small rotate: false - xy: 741, 326 + xy: 1727, 531 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dark-panel-5-icon-large rotate: false - xy: 895, 968 + xy: 895, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dark-panel-5-icon-medium rotate: false - xy: 1023, 684 + xy: 487, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-5-icon-small rotate: false - xy: 767, 354 + xy: 1701, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dark-panel-6-icon-large rotate: false - xy: 945, 968 + xy: 945, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dark-panel-6-icon-medium rotate: false - xy: 1057, 684 + xy: 521, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dark-panel-6-icon-small rotate: false - xy: 767, 328 + xy: 1727, 505 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 darksand-icon-large rotate: false - xy: 995, 968 + xy: 995, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 darksand-icon-medium rotate: false - xy: 1091, 684 + xy: 555, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-icon-small rotate: false - xy: 809, 420 + xy: 2007, 746 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 darksand-tainted-water-icon-large rotate: false - xy: 1045, 968 + xy: 1045, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 darksand-tainted-water-icon-medium rotate: false - xy: 1125, 684 + xy: 589, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-tainted-water-icon-small rotate: false - xy: 809, 394 + xy: 301, 5 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 darksand-water-icon-large rotate: false - xy: 1095, 968 + xy: 1095, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 darksand-water-icon-medium rotate: false - xy: 1159, 684 + xy: 623, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 darksand-water-icon-small rotate: false - xy: 835, 422 + xy: 327, 3 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dart-mech-pad-icon-large rotate: false - xy: 1145, 968 + xy: 1145, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dart-mech-pad-icon-medium rotate: false - xy: 1193, 684 + xy: 657, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dart-mech-pad-icon-small rotate: false - xy: 835, 396 + xy: 1753, 528 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 deepwater-icon-large rotate: false - xy: 1195, 968 + xy: 1195, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 deepwater-icon-medium rotate: false - xy: 1227, 684 + xy: 691, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 deepwater-icon-small rotate: false - xy: 911, 522 + xy: 1753, 502 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 delta-mech-pad-icon-large rotate: false - xy: 1245, 968 + xy: 1245, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 delta-mech-pad-icon-medium rotate: false - xy: 1261, 684 + xy: 725, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 delta-mech-pad-icon-small rotate: false - xy: 937, 524 + xy: 1337, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 differential-generator-icon-large rotate: false - xy: 1295, 968 + xy: 1295, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 differential-generator-icon-medium rotate: false - xy: 1295, 684 + xy: 759, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 differential-generator-icon-small rotate: false - xy: 963, 528 + xy: 1363, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 discord-banner rotate: false - xy: 1, 713 + xy: 1, 720 size: 84, 45 orig: 84, 45 offset: 0, 0 index: -1 distributor-icon-large rotate: false - xy: 1345, 968 + xy: 1345, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 distributor-icon-medium rotate: false - xy: 1329, 684 + xy: 793, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 distributor-icon-small rotate: false - xy: 989, 528 + xy: 1389, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 door-icon-large rotate: false - xy: 1395, 968 + xy: 1395, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 door-icon-medium rotate: false - xy: 1363, 684 + xy: 827, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 door-icon-small rotate: false - xy: 1015, 528 + xy: 1415, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 door-large-icon-large rotate: false - xy: 1445, 968 + xy: 1445, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 door-large-icon-medium rotate: false - xy: 1397, 684 + xy: 861, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 door-large-icon-small rotate: false - xy: 1041, 528 + xy: 1441, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 draug-factory-icon-large rotate: false - xy: 1495, 968 + xy: 1495, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 draug-factory-icon-medium rotate: false - xy: 1431, 684 + xy: 895, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 draug-factory-icon-small rotate: false - xy: 1067, 528 + xy: 1467, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 dunerocks-icon-large rotate: false - xy: 1545, 968 + xy: 1545, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dunerocks-icon-medium rotate: false - xy: 1465, 684 + xy: 929, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 dunerocks-icon-small rotate: false - xy: 1093, 528 + xy: 1493, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 duo-icon-large rotate: false - xy: 1595, 968 + xy: 1595, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 duo-icon-medium rotate: false - xy: 1499, 684 + xy: 963, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 duo-icon-small rotate: false - xy: 1119, 528 + xy: 1519, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 flat-down-base rotate: false - xy: 1851, 710 + xy: 339, 696 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -9865,2611 +9865,2632 @@ flat-down-base index: -1 force-projector-icon-large rotate: false - xy: 1645, 968 + xy: 1645, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 force-projector-icon-medium rotate: false - xy: 1533, 684 + xy: 997, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 force-projector-icon-small rotate: false - xy: 1145, 528 + xy: 1545, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 fortress-factory-icon-large rotate: false - xy: 1695, 968 + xy: 1695, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 fortress-factory-icon-medium rotate: false - xy: 1567, 684 + xy: 1031, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fortress-factory-icon-small rotate: false - xy: 1171, 528 + xy: 1571, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 fuse-icon-large rotate: false - xy: 1745, 968 + xy: 1745, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 fuse-icon-medium rotate: false - xy: 1601, 684 + xy: 1065, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fuse-icon-small rotate: false - xy: 1197, 528 + xy: 1597, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ghoul-factory-icon-large rotate: false - xy: 1795, 968 + xy: 1795, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ghoul-factory-icon-medium rotate: false - xy: 1635, 684 + xy: 1099, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ghoul-factory-icon-small rotate: false - xy: 1223, 528 + xy: 1623, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 glaive-ship-pad-icon-large rotate: false - xy: 1845, 968 + xy: 1845, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 glaive-ship-pad-icon-medium rotate: false - xy: 1669, 684 + xy: 1133, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 glaive-ship-pad-icon-small rotate: false - xy: 1249, 528 + xy: 1649, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 graphite-press-icon-large rotate: false - xy: 1895, 968 + xy: 1895, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 graphite-press-icon-medium rotate: false - xy: 1703, 684 + xy: 1167, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 graphite-press-icon-small rotate: false - xy: 1275, 528 + xy: 1675, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 grass-icon-large rotate: false - xy: 1945, 968 + xy: 1945, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 grass-icon-medium rotate: false - xy: 1737, 679 + xy: 1201, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 grass-icon-small rotate: false - xy: 1301, 528 + xy: 1701, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 hail-icon-large rotate: false - xy: 1995, 968 + xy: 1995, 975 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 hail-icon-medium rotate: false - xy: 1771, 676 + xy: 1235, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 hail-icon-small rotate: false - xy: 1327, 528 + xy: 1727, 479 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 holostone-icon-large rotate: false - xy: 237, 710 + xy: 237, 717 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 holostone-icon-medium rotate: false - xy: 1805, 676 + xy: 1269, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 holostone-icon-small rotate: false - xy: 1353, 528 + xy: 1753, 476 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 hotrock-icon-large rotate: false - xy: 51, 660 + xy: 51, 667 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 hotrock-icon-medium rotate: false - xy: 1839, 676 + xy: 1303, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 hotrock-icon-small rotate: false - xy: 1379, 528 + xy: 1981, 723 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ice-icon-large rotate: false - xy: 51, 610 + xy: 51, 617 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ice-icon-medium rotate: false - xy: 1873, 676 + xy: 1337, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ice-icon-small rotate: false - xy: 1405, 528 + xy: 2007, 720 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ice-snow-icon-large rotate: false - xy: 101, 660 + xy: 101, 667 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ice-snow-icon-medium rotate: false - xy: 1907, 676 + xy: 1371, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ice-snow-icon-small rotate: false - xy: 1431, 528 + xy: 1779, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 icerocks-icon-large rotate: false - xy: 51, 560 + xy: 51, 567 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icerocks-icon-medium rotate: false - xy: 1941, 676 + xy: 1405, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icerocks-icon-small rotate: false - xy: 1457, 520 + xy: 1779, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 icon-about rotate: false - xy: 101, 610 + xy: 101, 617 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-about-med rotate: false - xy: 947, 618 + xy: 607, 421 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-about-small rotate: false - xy: 338, 655 + xy: 1439, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-add rotate: false - xy: 151, 660 + xy: 151, 667 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-add-med rotate: false - xy: 403, 40 + xy: 641, 455 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-add-small rotate: false - xy: 335, 621 + xy: 1473, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-admin rotate: false - xy: 51, 510 + xy: 51, 517 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-admin-med rotate: false - xy: 437, 74 + xy: 675, 489 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-admin-small rotate: false - xy: 101, 560 + xy: 101, 567 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-admin-small-med rotate: false - xy: 471, 108 + xy: 709, 523 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-admin-small-small rotate: false - xy: 335, 587 + xy: 1507, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-arrow rotate: false - xy: 151, 610 + xy: 151, 617 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-arrow-16 rotate: false - xy: 151, 610 + xy: 151, 617 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-arrow-16-med rotate: false - xy: 505, 142 + xy: 743, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-arrow-med rotate: false - xy: 505, 142 + xy: 743, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-arrow-16-small rotate: false - xy: 335, 553 + xy: 1541, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-arrow-small rotate: false - xy: 335, 553 + xy: 1541, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-arrow-down rotate: false - xy: 201, 660 + xy: 201, 667 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-arrow-down-med rotate: false - xy: 539, 176 + xy: 437, 217 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-arrow-down-small rotate: false - xy: 335, 519 + xy: 1575, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-arrow-left rotate: false - xy: 51, 460 + xy: 51, 467 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-arrow-left-med rotate: false - xy: 573, 210 + xy: 471, 251 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-arrow-left-small rotate: false - xy: 335, 485 + xy: 1609, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 101, 510 + xy: 101, 517 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-arrow-right-med rotate: false - xy: 607, 244 + xy: 505, 285 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-arrow-right-small rotate: false - xy: 335, 451 + xy: 1643, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 151, 560 + xy: 151, 567 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-arrow-up-med rotate: false - xy: 641, 278 + xy: 539, 319 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-arrow-up-small rotate: false - xy: 335, 417 + xy: 1677, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-back rotate: false - xy: 201, 610 + xy: 201, 617 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-back-med rotate: false - xy: 675, 312 + xy: 573, 353 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-back-small rotate: false - xy: 335, 383 + xy: 1711, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-ban rotate: false - xy: 51, 410 + xy: 51, 417 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-ban-med rotate: false - xy: 709, 346 + xy: 607, 389 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-ban-small rotate: false - xy: 335, 349 + xy: 1745, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-break rotate: false - xy: 101, 460 + xy: 101, 467 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-break-med rotate: false - xy: 743, 380 + xy: 775, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-break-small rotate: false - xy: 335, 315 + xy: 445, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 151, 510 + xy: 151, 517 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-cancel-med rotate: false - xy: 777, 414 + xy: 437, 185 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-cancel-small rotate: false - xy: 335, 281 + xy: 479, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-changelog rotate: false - xy: 201, 560 + xy: 201, 567 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-changelog-med rotate: false - xy: 811, 448 + xy: 807, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-changelog-small rotate: false - xy: 335, 247 + xy: 513, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 51, 360 + xy: 51, 367 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-chat-med rotate: false - xy: 845, 482 + xy: 437, 153 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-chat-small rotate: false - xy: 335, 213 + xy: 547, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-check rotate: false - xy: 101, 410 + xy: 101, 417 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-check-med rotate: false - xy: 879, 516 + xy: 839, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-check-small rotate: false - xy: 335, 179 + xy: 581, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-command-attack rotate: false - xy: 151, 460 + xy: 151, 467 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-command-attack-med rotate: false - xy: 913, 550 + xy: 437, 121 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-command-attack-small rotate: false - xy: 335, 145 + xy: 615, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-command-idle rotate: false - xy: 201, 510 + xy: 201, 517 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-command-idle-med rotate: false - xy: 947, 586 + xy: 871, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-command-idle-small rotate: false - xy: 335, 111 + xy: 649, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-command-patrol rotate: false - xy: 51, 310 + xy: 51, 317 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-command-patrol-med rotate: false - xy: 979, 618 + xy: 437, 89 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-command-patrol-small rotate: false - xy: 335, 77 + xy: 683, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-command-retreat rotate: false - xy: 101, 360 + xy: 101, 367 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-command-retreat-med rotate: false - xy: 979, 586 + xy: 903, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-command-retreat-small rotate: false - xy: 335, 43 + xy: 717, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-copy rotate: false - xy: 151, 410 + xy: 151, 417 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-copy-med rotate: false - xy: 1011, 618 + xy: 437, 57 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-copy-small rotate: false - xy: 335, 9 + xy: 751, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-crafting rotate: false - xy: 201, 460 + xy: 201, 467 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-crafting-med rotate: false - xy: 1011, 586 + xy: 935, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-crafting-small rotate: false - xy: 372, 650 + xy: 785, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 51, 260 + xy: 51, 267 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-cursor-med rotate: false - xy: 1043, 618 + xy: 967, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-cursor-small rotate: false - xy: 406, 650 + xy: 819, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-database rotate: false - xy: 101, 310 + xy: 101, 317 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-database-med rotate: false - xy: 1043, 586 + xy: 999, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-database-small rotate: false - xy: 440, 650 + xy: 853, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 151, 360 + xy: 151, 367 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-defense-med rotate: false - xy: 1075, 618 + xy: 1031, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-defense-small rotate: false - xy: 474, 650 + xy: 887, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-dev-builds rotate: false - xy: 201, 410 + xy: 201, 417 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-dev-builds-med rotate: false - xy: 1075, 586 + xy: 1063, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-dev-builds-small rotate: false - xy: 508, 650 + xy: 921, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-diagonal rotate: false - xy: 51, 210 + xy: 51, 217 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-diagonal-med rotate: false - xy: 1107, 618 + xy: 1095, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-diagonal-small rotate: false - xy: 542, 650 + xy: 955, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-discord rotate: false - xy: 101, 260 + xy: 101, 267 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-discord-med rotate: false - xy: 1107, 586 + xy: 1127, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-discord-small rotate: false - xy: 576, 650 + xy: 989, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-distribution rotate: false - xy: 151, 310 + xy: 151, 317 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-distribution-med rotate: false - xy: 1139, 618 + xy: 1159, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-distribution-small rotate: false - xy: 610, 650 + xy: 1023, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-donate rotate: false - xy: 201, 360 + xy: 201, 367 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-donate-med rotate: false - xy: 1139, 586 + xy: 1191, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-donate-small rotate: false - xy: 644, 650 + xy: 1057, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 51, 160 + xy: 51, 167 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-dots-med rotate: false - xy: 1171, 618 + xy: 1223, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-dots-small rotate: false - xy: 678, 650 + xy: 1091, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 101, 210 + xy: 101, 217 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-editor-med rotate: false - xy: 1171, 586 + xy: 1255, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-editor-small rotate: false - xy: 712, 650 + xy: 1125, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-effect rotate: false - xy: 151, 260 + xy: 151, 267 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-effect-med rotate: false - xy: 1203, 618 + xy: 1287, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-effect-small rotate: false - xy: 746, 650 + xy: 1159, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-elevation rotate: false - xy: 201, 310 + xy: 201, 317 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-elevation-med rotate: false - xy: 1203, 586 + xy: 1319, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-elevation-small rotate: false - xy: 780, 650 + xy: 1193, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-eraser rotate: false - xy: 51, 110 + xy: 51, 117 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-eraser-med rotate: false - xy: 1235, 618 + xy: 1351, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-eraser-small rotate: false - xy: 814, 650 + xy: 1227, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 101, 160 + xy: 101, 167 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-exit-med rotate: false - xy: 1235, 586 + xy: 1383, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-exit-small rotate: false - xy: 848, 650 + xy: 1261, 657 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +icon-fdroid + rotate: false + xy: 151, 217 + size: 48, 48 + orig: 48, 48 + offset: 0, 0 + index: -1 +icon-fdroid-med + rotate: false + xy: 1415, 557 + size: 30, 30 + orig: 30, 30 + offset: 0, 0 + index: -1 +icon-fdroid-small + rotate: false + xy: 1295, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-file rotate: false - xy: 151, 210 + xy: 201, 267 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-file-image rotate: false - xy: 201, 260 + xy: 51, 67 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-file-image-med rotate: false - xy: 1267, 618 + xy: 1447, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-file-image-small rotate: false - xy: 882, 650 + xy: 1329, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-file-med rotate: false - xy: 1267, 586 + xy: 1479, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-file-small rotate: false - xy: 916, 650 + xy: 1363, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 51, 60 + xy: 101, 117 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-file-text-med rotate: false - xy: 1299, 618 + xy: 1511, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-file-text-small rotate: false - xy: 950, 650 + xy: 1397, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 101, 110 + xy: 151, 167 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-fill-med rotate: false - xy: 1299, 586 + xy: 1543, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-fill-small rotate: false - xy: 984, 650 + xy: 1431, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 151, 160 + xy: 201, 217 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-floppy-16 rotate: false - xy: 201, 210 + xy: 101, 67 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-floppy-16-med rotate: false - xy: 1331, 618 + xy: 1575, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-floppy-16-small rotate: false - xy: 1018, 650 + xy: 1465, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-floppy-med rotate: false - xy: 1331, 586 + xy: 1607, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-floppy-small rotate: false - xy: 1052, 650 + xy: 1499, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 101, 60 + xy: 151, 117 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-folder-med rotate: false - xy: 1363, 618 + xy: 1639, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 151, 110 + xy: 201, 167 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-folder-parent-med rotate: false - xy: 1363, 586 + xy: 1671, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-folder-parent-small rotate: false - xy: 1086, 650 + xy: 1533, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-folder-small rotate: false - xy: 1120, 650 + xy: 1567, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-github rotate: false - xy: 201, 160 + xy: 151, 67 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-github-med rotate: false - xy: 1395, 618 + xy: 1703, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-github-small rotate: false - xy: 1154, 650 + xy: 1601, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 151, 60 + xy: 201, 117 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-google-play-med rotate: false - xy: 1395, 586 + xy: 1735, 557 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-google-play-small rotate: false - xy: 1188, 650 + xy: 1635, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 201, 110 + xy: 201, 67 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-grid-med rotate: false - xy: 1427, 618 + xy: 1767, 586 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-grid-small rotate: false - xy: 1222, 650 + xy: 1669, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-home rotate: false - xy: 201, 60 + xy: 51, 17 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-home-med rotate: false - xy: 1427, 586 + xy: 1767, 554 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-home-small rotate: false - xy: 1256, 650 + xy: 1703, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-host rotate: false - xy: 51, 10 + xy: 101, 17 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-host-med rotate: false - xy: 1459, 618 + xy: 1799, 583 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-host-small rotate: false - xy: 1290, 650 + xy: 1737, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-info rotate: false - xy: 101, 10 + xy: 151, 17 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-info-med rotate: false - xy: 1459, 586 + xy: 1831, 583 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-info-small rotate: false - xy: 1324, 650 + xy: 1779, 686 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 151, 10 + xy: 201, 17 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-itch.io-med rotate: false - xy: 1491, 618 + xy: 1863, 583 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-itch.io-small rotate: false - xy: 1358, 650 + xy: 1771, 652 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-item rotate: false - xy: 201, 10 + xy: 251, 667 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-item-med rotate: false - xy: 1491, 586 + xy: 1895, 583 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-item-small rotate: false - xy: 1392, 650 + xy: 376, 628 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-line rotate: false - xy: 251, 660 + xy: 251, 617 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-line-med rotate: false - xy: 1523, 618 + xy: 1927, 583 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-line-small rotate: false - xy: 1426, 650 + xy: 410, 628 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-link rotate: false - xy: 251, 610 + xy: 251, 567 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-link-med rotate: false - xy: 1523, 586 + xy: 1799, 551 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-link-small rotate: false - xy: 1460, 650 + xy: 444, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 251, 560 + xy: 251, 517 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-liquid-consume rotate: false - xy: 251, 510 + xy: 251, 467 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-liquid-consume-med rotate: false - xy: 1555, 618 + xy: 1831, 551 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-liquid-consume-small rotate: false - xy: 1494, 650 + xy: 478, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-liquid-med rotate: false - xy: 1555, 586 + xy: 1863, 551 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-liquid-small rotate: false - xy: 1528, 650 + xy: 512, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-load rotate: false - xy: 251, 460 + xy: 251, 417 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 251, 410 + xy: 251, 367 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-load-image-med rotate: false - xy: 1587, 618 + xy: 1895, 551 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-load-image-small rotate: false - xy: 1562, 650 + xy: 546, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 251, 360 + xy: 251, 317 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-load-map-med rotate: false - xy: 1587, 586 + xy: 1927, 551 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-load-map-small rotate: false - xy: 1596, 650 + xy: 580, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-load-med rotate: false - xy: 1619, 618 + xy: 369, 18 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-load-small rotate: false - xy: 1630, 650 + xy: 614, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 251, 310 + xy: 251, 267 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-loading-med rotate: false - xy: 1619, 586 + xy: 401, 18 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-loading-small rotate: false - xy: 1664, 650 + xy: 648, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-locked rotate: false - xy: 251, 260 + xy: 251, 217 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-locked-med rotate: false - xy: 1651, 618 + xy: 1959, 583 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-locked-small rotate: false - xy: 1698, 650 + xy: 682, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-map rotate: false - xy: 251, 210 + xy: 251, 167 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-map-med rotate: false - xy: 1651, 586 + xy: 1959, 551 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-map-small rotate: false - xy: 369, 616 + xy: 716, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 251, 160 + xy: 251, 117 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 251, 110 + xy: 251, 67 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-menu-large-med rotate: false - xy: 1683, 618 + xy: 1975, 651 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-menu-large-small rotate: false - xy: 369, 582 + xy: 750, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-menu-med rotate: false - xy: 1683, 586 + xy: 437, 25 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-menu-small rotate: false - xy: 403, 616 + xy: 784, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-missing rotate: false - xy: 251, 60 + xy: 251, 17 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-missing-med rotate: false - xy: 369, 6 + xy: 607, 357 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-missing-small rotate: false - xy: 369, 548 + xy: 818, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-mode-attack rotate: false - xy: 251, 10 + xy: 309, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-mode-attack-med rotate: false - xy: 1732, 647 + xy: 639, 421 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-mode-attack-small rotate: false - xy: 403, 582 + xy: 852, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-mode-pvp rotate: false - xy: 309, 918 + xy: 309, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-mode-pvp-med rotate: false - xy: 1764, 644 + xy: 639, 389 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-mode-pvp-small rotate: false - xy: 437, 616 + xy: 886, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-mode-survival rotate: false - xy: 309, 868 + xy: 359, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-mode-survival-med rotate: false - xy: 1796, 644 + xy: 639, 357 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-mode-survival-small rotate: false - xy: 369, 514 + xy: 920, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-none rotate: false - xy: 359, 918 + xy: 309, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-none-med rotate: false - xy: 1828, 644 + xy: 673, 455 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-none-small rotate: false - xy: 403, 548 + xy: 954, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-paste rotate: false - xy: 309, 818 + xy: 359, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-paste-med rotate: false - xy: 1860, 644 + xy: 671, 423 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-paste-small rotate: false - xy: 437, 582 + xy: 988, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 359, 868 + xy: 409, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-pause-med rotate: false - xy: 1892, 644 + xy: 671, 391 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-pause-small rotate: false - xy: 471, 616 + xy: 1022, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 409, 918 + xy: 359, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-pencil-med rotate: false - xy: 1924, 644 + xy: 671, 359 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 369, 480 + xy: 1056, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 359, 818 + xy: 409, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-pick-med rotate: false - xy: 1956, 644 + xy: 707, 489 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-pick-small rotate: false - xy: 403, 514 + xy: 1090, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-play rotate: false - xy: 409, 868 + xy: 459, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 459, 918 + xy: 409, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-play-2-med rotate: false - xy: 1715, 615 + xy: 705, 457 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-play-2-small rotate: false - xy: 437, 548 + xy: 1124, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-play-custom rotate: false - xy: 409, 818 + xy: 459, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-play-custom-med rotate: false - xy: 1715, 583 + xy: 469, 217 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-play-custom-small rotate: false - xy: 471, 582 + xy: 1158, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-play-med rotate: false - xy: 1747, 612 + xy: 469, 185 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-play-small rotate: false - xy: 505, 616 + xy: 1192, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-players rotate: false - xy: 459, 868 + xy: 509, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-players-med rotate: false - xy: 1779, 612 + xy: 469, 153 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-players-small rotate: false - xy: 369, 446 + xy: 1226, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-power rotate: false - xy: 509, 918 + xy: 459, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-power-med rotate: false - xy: 1811, 612 + xy: 469, 121 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-power-small rotate: false - xy: 403, 480 + xy: 1260, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-production rotate: false - xy: 459, 818 + xy: 509, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-production-med rotate: false - xy: 1843, 612 + xy: 469, 89 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-production-small rotate: false - xy: 437, 514 + xy: 1294, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 509, 868 + xy: 559, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-quit-med rotate: false - xy: 1875, 612 + xy: 469, 57 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-quit-small rotate: false - xy: 471, 548 + xy: 1328, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 559, 918 + xy: 509, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-redo-med rotate: false - xy: 1907, 612 + xy: 469, 25 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-redo-small rotate: false - xy: 505, 582 + xy: 1362, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 509, 818 + xy: 559, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-refresh-med rotate: false - xy: 1939, 612 + xy: 503, 251 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-refresh-small rotate: false - xy: 539, 616 + xy: 1396, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 559, 868 + xy: 609, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-rename-med rotate: false - xy: 1747, 580 + xy: 501, 219 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-rename-small rotate: false - xy: 369, 412 + xy: 1430, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 609, 918 + xy: 559, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-resize-med rotate: false - xy: 1779, 580 + xy: 501, 187 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-resize-small rotate: false - xy: 403, 446 + xy: 1464, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 559, 818 + xy: 609, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 609, 868 + xy: 659, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-rotate-arrow-med rotate: false - xy: 1811, 580 + xy: 501, 155 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-rotate-arrow-small rotate: false - xy: 437, 480 + xy: 1498, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 659, 918 + xy: 609, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-rotate-left-med rotate: false - xy: 1843, 580 + xy: 501, 123 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-rotate-left-small rotate: false - xy: 471, 514 + xy: 1532, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-rotate-med rotate: false - xy: 1875, 580 + xy: 501, 91 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 609, 818 + xy: 659, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-rotate-right-med rotate: false - xy: 1907, 580 + xy: 501, 59 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-rotate-right-small rotate: false - xy: 505, 548 + xy: 1566, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-rotate-small rotate: false - xy: 539, 582 + xy: 1600, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-save rotate: false - xy: 659, 868 + xy: 709, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 709, 918 + xy: 659, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-save-image-med rotate: false - xy: 1939, 580 + xy: 501, 27 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-save-image-small rotate: false - xy: 573, 616 + xy: 1634, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 659, 818 + xy: 709, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-save-map-med rotate: false - xy: 1971, 612 + xy: 537, 285 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-save-map-small rotate: false - xy: 369, 378 + xy: 1668, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-save-med rotate: false - xy: 1971, 580 + xy: 535, 253 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-save-small rotate: false - xy: 403, 412 + xy: 1702, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 709, 868 + xy: 759, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-settings-med rotate: false - xy: 947, 554 + xy: 571, 319 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-settings-small rotate: false - xy: 437, 446 + xy: 1736, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-spray rotate: false - xy: 759, 918 + xy: 709, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-spray-med rotate: false - xy: 979, 554 + xy: 569, 287 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-spray-small rotate: false - xy: 471, 480 + xy: 1770, 618 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 709, 818 + xy: 759, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-terrain-med rotate: false - xy: 1011, 554 + xy: 741, 523 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-terrain-small rotate: false - xy: 505, 514 + xy: 1813, 683 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 759, 868 + xy: 809, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-tools-med rotate: false - xy: 1043, 554 + xy: 739, 491 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-tools-small rotate: false - xy: 539, 548 + xy: 1847, 683 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 809, 918 + xy: 759, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 759, 818 + xy: 809, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-trash-16-med rotate: false - xy: 1075, 554 + xy: 773, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-trash-16-small rotate: false - xy: 573, 582 + xy: 1881, 683 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-trash-med rotate: false - xy: 1107, 554 + xy: 805, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-trash-small rotate: false - xy: 607, 616 + xy: 1915, 683 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-tree rotate: false - xy: 809, 868 + xy: 859, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-tree-med rotate: false - xy: 1139, 554 + xy: 837, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-tree-small rotate: false - xy: 369, 344 + xy: 1949, 683 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 859, 918 + xy: 809, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-trello-med rotate: false - xy: 1171, 554 + xy: 869, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-trello-small rotate: false - xy: 403, 378 + xy: 1805, 649 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-turret rotate: false - xy: 809, 818 + xy: 859, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-turret-med rotate: false - xy: 1203, 554 + xy: 901, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-turret-small rotate: false - xy: 437, 412 + xy: 1839, 649 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 859, 868 + xy: 909, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-tutorial-med rotate: false - xy: 1235, 554 + xy: 933, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-tutorial-small rotate: false - xy: 471, 446 + xy: 1873, 649 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 909, 918 + xy: 859, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-undo-med rotate: false - xy: 1267, 554 + xy: 965, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-undo-small rotate: false - xy: 505, 480 + xy: 1907, 649 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-units rotate: false - xy: 859, 818 + xy: 909, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-units-med rotate: false - xy: 1299, 554 + xy: 997, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-units-small rotate: false - xy: 539, 514 + xy: 1941, 649 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-unlocks rotate: false - xy: 909, 868 + xy: 959, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-unlocks-med rotate: false - xy: 1331, 554 + xy: 1029, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-unlocks-small rotate: false - xy: 573, 548 + xy: 1804, 615 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-upgrade rotate: false - xy: 959, 918 + xy: 909, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-upgrade-med rotate: false - xy: 1363, 554 + xy: 1061, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-upgrade-small rotate: false - xy: 607, 582 + xy: 1838, 615 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 909, 818 + xy: 959, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-wiki-med rotate: false - xy: 1395, 554 + xy: 1093, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-wiki-small rotate: false - xy: 641, 616 + xy: 1872, 615 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 959, 868 + xy: 1009, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-zoom-med rotate: false - xy: 1427, 554 + xy: 1125, 525 size: 30, 30 orig: 30, 30 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 369, 310 + xy: 1906, 615 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ignarock-icon-large rotate: false - xy: 1009, 918 + xy: 959, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ignarock-icon-medium rotate: false - xy: 403, 344 + xy: 1940, 615 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ignarock-icon-small rotate: false - xy: 1483, 520 + xy: 1805, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 impact-reactor-icon-large rotate: false - xy: 959, 818 + xy: 1009, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 impact-reactor-icon-medium rotate: false - xy: 437, 378 + xy: 373, 594 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 impact-reactor-icon-small rotate: false - xy: 1509, 520 + xy: 1805, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 incinerator-icon-large rotate: false - xy: 1009, 868 + xy: 1059, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 incinerator-icon-medium rotate: false - xy: 471, 412 + xy: 407, 594 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 incinerator-icon-small rotate: false - xy: 1535, 520 + xy: 1831, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 info-banner rotate: false - xy: 259, 971 + xy: 259, 978 size: 84, 45 orig: 84, 45 offset: 0, 0 index: -1 inventory rotate: false - xy: 1561, 506 + xy: 1831, 483 size: 24, 40 split: 10, 10, 10, 14 orig: 24, 40 @@ -12477,686 +12498,686 @@ inventory index: -1 item-source-icon-large rotate: false - xy: 1059, 918 + xy: 1009, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-source-icon-medium rotate: false - xy: 505, 446 + xy: 369, 560 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source-icon-small rotate: false - xy: 911, 496 + xy: 1857, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-void-icon-large rotate: false - xy: 1009, 818 + xy: 1059, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-void-icon-medium rotate: false - xy: 539, 480 + xy: 369, 526 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void-icon-small rotate: false - xy: 937, 498 + xy: 1857, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 javelin-ship-pad-icon-large rotate: false - xy: 1059, 868 + xy: 1109, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 javelin-ship-pad-icon-medium rotate: false - xy: 573, 514 + xy: 403, 560 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 javelin-ship-pad-icon-small rotate: false - xy: 963, 502 + xy: 1883, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 junction-icon-large rotate: false - xy: 1109, 918 + xy: 1059, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 junction-icon-medium rotate: false - xy: 607, 548 + xy: 369, 492 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 junction-icon-small rotate: false - xy: 989, 502 + xy: 1883, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 kiln-icon-large rotate: false - xy: 1059, 818 + xy: 1109, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 kiln-icon-medium rotate: false - xy: 641, 582 + xy: 403, 526 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 kiln-icon-small rotate: false - xy: 1015, 502 + xy: 1909, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 lancer-icon-large rotate: false - xy: 1109, 868 + xy: 1159, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 lancer-icon-medium rotate: false - xy: 675, 616 + xy: 369, 458 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 lancer-icon-small rotate: false - xy: 1041, 502 + xy: 1909, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 laser-drill-icon-large rotate: false - xy: 1159, 918 + xy: 1109, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 laser-drill-icon-medium rotate: false - xy: 369, 276 + xy: 403, 492 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 laser-drill-icon-small rotate: false - xy: 1067, 502 + xy: 1935, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 launch-pad-icon-large rotate: false - xy: 1109, 818 + xy: 1159, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 launch-pad-icon-medium rotate: false - xy: 403, 310 + xy: 369, 424 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 launch-pad-icon-small rotate: false - xy: 1093, 502 + xy: 1935, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 launch-pad-large-icon-large rotate: false - xy: 1159, 868 + xy: 1209, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 launch-pad-large-icon-medium rotate: false - xy: 437, 344 + xy: 403, 458 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 launch-pad-large-icon-small rotate: false - xy: 1119, 502 + xy: 1961, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-junction-icon-large rotate: false - xy: 1209, 918 + xy: 1159, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-junction-icon-medium rotate: false - xy: 471, 378 + xy: 369, 390 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-junction-icon-small rotate: false - xy: 1145, 502 + xy: 1961, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-router-icon-large rotate: false - xy: 1159, 818 + xy: 1209, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-router-icon-medium rotate: false - xy: 505, 412 + xy: 403, 424 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-icon-small rotate: false - xy: 1171, 502 + xy: 1779, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-source-icon-large rotate: false - xy: 1209, 868 + xy: 1259, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-source-icon-medium rotate: false - xy: 539, 446 + xy: 369, 356 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-source-icon-small rotate: false - xy: 1197, 502 + xy: 1805, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-tank-icon-large rotate: false - xy: 1259, 918 + xy: 1209, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-tank-icon-medium rotate: false - xy: 573, 480 + xy: 403, 390 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-tank-icon-small rotate: false - xy: 1223, 502 + xy: 1857, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 magmarock-icon-large rotate: false - xy: 1209, 818 + xy: 1259, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 magmarock-icon-medium rotate: false - xy: 607, 514 + xy: 369, 322 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 magmarock-icon-small rotate: false - xy: 1249, 502 + xy: 1883, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 mass-driver-icon-large rotate: false - xy: 1259, 868 + xy: 1309, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mass-driver-icon-medium rotate: false - xy: 641, 548 + xy: 403, 356 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mass-driver-icon-small rotate: false - xy: 1275, 502 + xy: 1909, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 mechanical-drill-icon-large rotate: false - xy: 1309, 918 + xy: 1259, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mechanical-drill-icon-medium rotate: false - xy: 675, 582 + xy: 369, 288 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mechanical-drill-icon-small rotate: false - xy: 1301, 502 + xy: 1935, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 mechanical-pump-icon-large rotate: false - xy: 1259, 818 + xy: 1309, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mechanical-pump-icon-medium rotate: false - xy: 709, 616 + xy: 403, 322 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mechanical-pump-icon-small rotate: false - xy: 1327, 502 + xy: 1961, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 meltdown-icon-large rotate: false - xy: 1309, 868 + xy: 1359, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 meltdown-icon-medium rotate: false - xy: 369, 242 + xy: 369, 254 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 meltdown-icon-small rotate: false - xy: 1353, 502 + xy: 1831, 457 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 melter-icon-large rotate: false - xy: 1359, 918 + xy: 1309, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 melter-icon-medium rotate: false - xy: 403, 276 + xy: 403, 288 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 melter-icon-small rotate: false - xy: 1379, 502 + xy: 1857, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 mend-projector-icon-large rotate: false - xy: 1309, 818 + xy: 1359, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mend-projector-icon-medium rotate: false - xy: 437, 310 + xy: 369, 220 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mend-projector-icon-small rotate: false - xy: 1405, 502 + xy: 1883, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 mender-icon-large rotate: false - xy: 1359, 868 + xy: 1409, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mender-icon-medium rotate: false - xy: 471, 344 + xy: 403, 254 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mender-icon-small rotate: false - xy: 1431, 502 + xy: 1909, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 metal-floor-2-icon-large rotate: false - xy: 1409, 918 + xy: 1359, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 metal-floor-2-icon-medium rotate: false - xy: 505, 378 + xy: 369, 186 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-2-icon-small rotate: false - xy: 1457, 494 + xy: 1935, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 metal-floor-3-icon-large rotate: false - xy: 1359, 818 + xy: 1409, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 metal-floor-3-icon-medium rotate: false - xy: 539, 412 + xy: 403, 220 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-3-icon-small rotate: false - xy: 1483, 494 + xy: 1961, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 metal-floor-5-icon-large rotate: false - xy: 1409, 868 + xy: 1459, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 metal-floor-5-icon-medium rotate: false - xy: 573, 446 + xy: 369, 152 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-5-icon-small rotate: false - xy: 1509, 494 + xy: 1987, 525 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 metal-floor-damaged-icon-large rotate: false - xy: 1459, 918 + xy: 1409, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 metal-floor-damaged-icon-medium rotate: false - xy: 607, 480 + xy: 403, 186 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-damaged-icon-small rotate: false - xy: 1535, 494 + xy: 1987, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 metal-floor-icon-large rotate: false - xy: 1409, 818 + xy: 1459, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 metal-floor-icon-medium rotate: false - xy: 641, 514 + xy: 369, 118 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 metal-floor-icon-small rotate: false - xy: 1561, 480 + xy: 1987, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 moss-icon-large rotate: false - xy: 1459, 868 + xy: 1509, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 moss-icon-medium rotate: false - xy: 675, 548 + xy: 403, 152 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 moss-icon-small rotate: false - xy: 963, 476 + xy: 1987, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 multi-press-icon-large rotate: false - xy: 1509, 918 + xy: 1459, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 multi-press-icon-medium rotate: false - xy: 709, 582 + xy: 369, 84 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 multi-press-icon-small rotate: false - xy: 989, 476 + xy: 1975, 625 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nomap rotate: false - xy: 1, 760 + xy: 1, 767 size: 256, 256 orig: 256, 256 offset: 0, 0 index: -1 oil-extractor-icon-large rotate: false - xy: 1459, 818 + xy: 1509, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 oil-extractor-icon-medium rotate: false - xy: 743, 616 + xy: 403, 118 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 oil-extractor-icon-small rotate: false - xy: 1015, 476 + xy: 2001, 625 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 omega-mech-pad-icon-large rotate: false - xy: 1509, 868 + xy: 1559, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 omega-mech-pad-icon-medium rotate: false - xy: 369, 208 + xy: 369, 50 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 omega-mech-pad-icon-small rotate: false - xy: 1041, 476 + xy: 1991, 599 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 overdrive-projector-icon-large rotate: false - xy: 1559, 918 + xy: 1509, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 overdrive-projector-icon-medium rotate: false - xy: 403, 242 + xy: 403, 84 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 overdrive-projector-icon-small rotate: false - xy: 1067, 476 + xy: 1991, 573 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 overflow-gate-icon-large rotate: false - xy: 1509, 818 + xy: 1559, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 overflow-gate-icon-medium rotate: false - xy: 437, 276 + xy: 403, 50 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 overflow-gate-icon-small rotate: false - xy: 1093, 476 + xy: 2017, 599 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pane rotate: false - xy: 1927, 710 + xy: 377, 696 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -13164,7 +13185,7 @@ pane index: -1 pane-2 rotate: false - xy: 1889, 710 + xy: 301, 667 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -13172,805 +13193,805 @@ pane-2 index: -1 pebbles-icon-large rotate: false - xy: 1559, 868 + xy: 1609, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 pebbles-icon-medium rotate: false - xy: 471, 310 + xy: 441, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pebbles-icon-small rotate: false - xy: 1119, 476 + xy: 2017, 573 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 phantom-factory-icon-large rotate: false - xy: 1609, 918 + xy: 1559, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 phantom-factory-icon-medium rotate: false - xy: 505, 344 + xy: 475, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phantom-factory-icon-small rotate: false - xy: 1145, 476 + xy: 2013, 547 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 phase-conduit-icon-large rotate: false - xy: 1559, 818 + xy: 1609, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 phase-conduit-icon-medium rotate: false - xy: 539, 378 + xy: 509, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-icon-small rotate: false - xy: 1171, 476 + xy: 2013, 521 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 phase-conveyor-icon-large rotate: false - xy: 1609, 868 + xy: 1659, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 phase-conveyor-icon-medium rotate: false - xy: 573, 412 + xy: 543, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-icon-small rotate: false - xy: 1197, 476 + xy: 2013, 495 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 phase-wall-icon-large rotate: false - xy: 1659, 918 + xy: 1609, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 phase-wall-icon-medium rotate: false - xy: 607, 446 + xy: 577, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-icon-small rotate: false - xy: 1223, 476 + xy: 2013, 469 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 phase-wall-large-icon-large rotate: false - xy: 1609, 818 + xy: 1659, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 phase-wall-large-icon-medium rotate: false - xy: 641, 480 + xy: 611, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-large-icon-small rotate: false - xy: 1249, 476 + xy: 2013, 443 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 phase-weaver-icon-large rotate: false - xy: 1659, 868 + xy: 1709, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 phase-weaver-icon-medium rotate: false - xy: 675, 514 + xy: 645, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-weaver-icon-small rotate: false - xy: 1275, 476 + xy: 605, 331 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pine-icon-large rotate: false - xy: 1709, 918 + xy: 1659, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 pine-icon-medium rotate: false - xy: 709, 548 + xy: 679, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pine-icon-small rotate: false - xy: 1301, 476 + xy: 631, 331 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 plastanium-compressor-icon-large rotate: false - xy: 1659, 818 + xy: 1709, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 plastanium-compressor-icon-medium rotate: false - xy: 743, 582 + xy: 713, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-compressor-icon-small rotate: false - xy: 1327, 476 + xy: 657, 331 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pneumatic-drill-icon-large rotate: false - xy: 1709, 868 + xy: 1759, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 pneumatic-drill-icon-medium rotate: false - xy: 777, 616 + xy: 747, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pneumatic-drill-icon-small rotate: false - xy: 1353, 476 + xy: 683, 333 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 power-node-icon-large rotate: false - xy: 1759, 918 + xy: 1709, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 power-node-icon-medium rotate: false - xy: 369, 174 + xy: 781, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-node-icon-small rotate: false - xy: 1379, 476 + xy: 603, 305 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 power-node-large-icon-large rotate: false - xy: 1709, 818 + xy: 1759, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 power-node-large-icon-medium rotate: false - xy: 403, 208 + xy: 815, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-node-large-icon-small rotate: false - xy: 1405, 476 + xy: 629, 305 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 power-source-icon-large rotate: false - xy: 1759, 868 + xy: 1809, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 power-source-icon-medium rotate: false - xy: 437, 242 + xy: 849, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-source-icon-small rotate: false - xy: 1431, 476 + xy: 655, 305 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 power-void-icon-large rotate: false - xy: 1809, 918 + xy: 1759, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 power-void-icon-medium rotate: false - xy: 471, 276 + xy: 883, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void-icon-small rotate: false - xy: 937, 472 + xy: 601, 279 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pulse-conduit-icon-large rotate: false - xy: 1759, 818 + xy: 1809, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 pulse-conduit-icon-medium rotate: false - xy: 505, 310 + xy: 917, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-icon-small rotate: false - xy: 1457, 468 + xy: 627, 279 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pulverizer-icon-large rotate: false - xy: 1809, 868 + xy: 1859, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 pulverizer-icon-medium rotate: false - xy: 539, 344 + xy: 951, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-icon-small rotate: false - xy: 1483, 468 + xy: 653, 279 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pyratite-mixer-icon-large rotate: false - xy: 1859, 918 + xy: 1809, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 pyratite-mixer-icon-medium rotate: false - xy: 573, 378 + xy: 985, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pyratite-mixer-icon-small rotate: false - xy: 1509, 468 + xy: 771, 497 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 repair-point-icon-large rotate: false - xy: 1809, 818 + xy: 1859, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 repair-point-icon-medium rotate: false - xy: 607, 412 + xy: 1019, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 repair-point-icon-small rotate: false - xy: 1535, 468 + xy: 797, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 revenant-factory-icon-large rotate: false - xy: 1859, 868 + xy: 1909, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 revenant-factory-icon-medium rotate: false - xy: 641, 446 + xy: 1053, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 revenant-factory-icon-small rotate: false - xy: 1561, 454 + xy: 823, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ripple-icon-large rotate: false - xy: 1909, 918 + xy: 1859, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 ripple-icon-medium rotate: false - xy: 675, 480 + xy: 1087, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ripple-icon-small rotate: false - xy: 963, 450 + xy: 849, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rock-icon-large rotate: false - xy: 1859, 818 + xy: 1909, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rock-icon-medium rotate: false - xy: 709, 514 + xy: 1121, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rock-icon-small rotate: false - xy: 989, 450 + xy: 875, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rocks-icon-large rotate: false - xy: 1909, 868 + xy: 1959, 925 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rocks-icon-medium rotate: false - xy: 743, 548 + xy: 1155, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rocks-icon-small rotate: false - xy: 1015, 450 + xy: 901, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rotary-pump-icon-large rotate: false - xy: 1959, 918 + xy: 1909, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rotary-pump-icon-medium rotate: false - xy: 777, 582 + xy: 1189, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump-icon-small rotate: false - xy: 1041, 450 + xy: 927, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 router-icon-large rotate: false - xy: 1909, 818 + xy: 1959, 875 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 router-icon-medium rotate: false - xy: 811, 616 + xy: 1223, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 router-icon-small rotate: false - xy: 1067, 450 + xy: 953, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rtg-generator-icon-large rotate: false - xy: 1959, 868 + xy: 1959, 825 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rtg-generator-icon-medium rotate: false - xy: 369, 140 + xy: 1257, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rtg-generator-icon-small rotate: false - xy: 1093, 450 + xy: 979, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 salt-icon-large rotate: false - xy: 1959, 818 + xy: 309, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 salt-icon-medium rotate: false - xy: 403, 174 + xy: 1291, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 salt-icon-small rotate: false - xy: 1119, 450 + xy: 1005, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 saltrocks-icon-large rotate: false - xy: 309, 768 + xy: 359, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 saltrocks-icon-medium rotate: false - xy: 437, 208 + xy: 1325, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 saltrocks-icon-small rotate: false - xy: 1145, 450 + xy: 1031, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 salvo-icon-large rotate: false - xy: 359, 768 + xy: 409, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 salvo-icon-medium rotate: false - xy: 471, 242 + xy: 1359, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 salvo-icon-small rotate: false - xy: 1171, 450 + xy: 1057, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 sand-boulder-icon-large rotate: false - xy: 409, 768 + xy: 459, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sand-boulder-icon-medium rotate: false - xy: 505, 276 + xy: 1393, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-boulder-icon-small rotate: false - xy: 1197, 450 + xy: 1083, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 sand-icon-large rotate: false - xy: 459, 768 + xy: 509, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sand-icon-medium rotate: false - xy: 539, 310 + xy: 1427, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-icon-small rotate: false - xy: 1223, 450 + xy: 1109, 499 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 sand-water-icon-large rotate: false - xy: 509, 768 + xy: 559, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sand-water-icon-medium rotate: false - xy: 573, 344 + xy: 1461, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-water-icon-small rotate: false - xy: 1249, 450 + xy: 771, 471 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 sandrocks-icon-large rotate: false - xy: 559, 768 + xy: 609, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sandrocks-icon-medium rotate: false - xy: 607, 378 + xy: 1495, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sandrocks-icon-small rotate: false - xy: 1275, 450 + xy: 797, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 scatter-icon-large rotate: false - xy: 609, 768 + xy: 659, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 scatter-icon-medium rotate: false - xy: 641, 412 + xy: 1529, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scatter-icon-small rotate: false - xy: 1301, 450 + xy: 823, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 scorch-icon-large rotate: false - xy: 659, 768 + xy: 709, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 scorch-icon-medium rotate: false - xy: 675, 446 + xy: 1563, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scorch-icon-small rotate: false - xy: 1327, 450 + xy: 849, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 scrap-wall-gigantic-icon-large rotate: false - xy: 709, 768 + xy: 759, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 scrap-wall-gigantic-icon-medium rotate: false - xy: 709, 480 + xy: 1597, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall-gigantic-icon-small rotate: false - xy: 1353, 450 + xy: 875, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 scrap-wall-huge-icon-large rotate: false - xy: 759, 768 + xy: 809, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 scrap-wall-huge-icon-medium rotate: false - xy: 743, 514 + xy: 1631, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall-huge-icon-small rotate: false - xy: 1379, 450 + xy: 901, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 scrap-wall-icon-large rotate: false - xy: 809, 768 + xy: 859, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 scrap-wall-icon-medium rotate: false - xy: 777, 548 + xy: 1665, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall-icon-small rotate: false - xy: 1405, 450 + xy: 927, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 scrap-wall-large-icon-large rotate: false - xy: 859, 768 + xy: 909, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 scrap-wall-large-icon-medium rotate: false - xy: 811, 582 + xy: 1699, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall-large-icon-small rotate: false - xy: 1431, 450 + xy: 953, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 scroll rotate: false - xy: 1613, 486 + xy: 1005, 462 size: 24, 35 split: 10, 10, 6, 5 orig: 24, 35 @@ -13978,7 +13999,7 @@ scroll index: -1 scroll-horizontal rotate: false - xy: 301, 663 + xy: 339, 641 size: 35, 24 split: 6, 5, 10, 10 orig: 35, 24 @@ -13986,7 +14007,7 @@ scroll-horizontal index: -1 scroll-knob-horizontal-black rotate: false - xy: 1737, 742 + xy: 1787, 749 size: 40, 24 split: 11, 10, 10, 10 orig: 40, 24 @@ -13994,7 +14015,7 @@ scroll-knob-horizontal-black index: -1 scroll-knob-vertical-black rotate: false - xy: 1587, 481 + xy: 979, 457 size: 24, 40 split: 10, 10, 6, 10 orig: 24, 40 @@ -14002,952 +14023,952 @@ scroll-knob-vertical-black index: -1 selection rotate: false - xy: 309, 968 + xy: 309, 975 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 separator-icon-large rotate: false - xy: 909, 768 + xy: 959, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 separator-icon-medium rotate: false - xy: 845, 616 + xy: 1733, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 separator-icon-small rotate: false - xy: 1587, 455 + xy: 1031, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shale-boulder-icon-large rotate: false - xy: 959, 768 + xy: 1009, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 shale-boulder-icon-medium rotate: false - xy: 369, 106 + xy: 437, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder-icon-small rotate: false - xy: 1613, 460 + xy: 1057, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shale-icon-large rotate: false - xy: 1009, 768 + xy: 1059, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 shale-icon-medium rotate: false - xy: 403, 140 + xy: 437, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-icon-small rotate: false - xy: 1639, 482 + xy: 1083, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shalerocks-icon-large rotate: false - xy: 1059, 768 + xy: 1109, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 shalerocks-icon-medium rotate: false - xy: 437, 174 + xy: 471, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shalerocks-icon-small rotate: false - xy: 1665, 482 + xy: 1109, 473 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shock-mine-icon-large rotate: false - xy: 1109, 768 + xy: 1159, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 shock-mine-icon-medium rotate: false - xy: 471, 208 + xy: 437, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shock-mine-icon-small rotate: false - xy: 1639, 456 + xy: 1031, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shrubs-icon-large rotate: false - xy: 1159, 768 + xy: 1209, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 shrubs-icon-medium rotate: false - xy: 505, 242 + xy: 471, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shrubs-icon-small rotate: false - xy: 1665, 456 + xy: 1057, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 silicon-smelter-icon-large rotate: false - xy: 1209, 768 + xy: 1259, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 silicon-smelter-icon-medium rotate: false - xy: 539, 276 + xy: 505, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 silicon-smelter-icon-small rotate: false - xy: 1457, 442 + xy: 1083, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 slider rotate: false - xy: 2045, 1008 + xy: 373, 631 size: 1, 8 orig: 1, 8 offset: 0, 0 index: -1 slider-knob rotate: false - xy: 1459, 546 + xy: 1157, 517 size: 29, 38 orig: 29, 38 offset: 0, 0 index: -1 slider-knob-down rotate: false - xy: 1490, 546 + xy: 1188, 517 size: 29, 38 orig: 29, 38 offset: 0, 0 index: -1 slider-knob-over rotate: false - xy: 1521, 546 + xy: 1219, 517 size: 29, 38 orig: 29, 38 offset: 0, 0 index: -1 slider-vertical rotate: false - xy: 51, 710 + xy: 51, 717 size: 8, 1 orig: 8, 1 offset: 0, 0 index: -1 snow-icon-large rotate: false - xy: 1259, 768 + xy: 1309, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snow-icon-medium rotate: false - xy: 573, 310 + xy: 437, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snow-icon-small rotate: false - xy: 1483, 442 + xy: 1109, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 snow-pine-icon-large rotate: false - xy: 1309, 768 + xy: 1359, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snow-pine-icon-medium rotate: false - xy: 607, 344 + xy: 471, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snow-pine-icon-small rotate: false - xy: 1509, 442 + xy: 1005, 436 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 snowrock-icon-large rotate: false - xy: 1359, 768 + xy: 1409, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrock-icon-medium rotate: false - xy: 641, 378 + xy: 505, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snowrock-icon-small rotate: false - xy: 1535, 442 + xy: 1031, 421 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 snowrocks-icon-large rotate: false - xy: 1409, 768 + xy: 1459, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrocks-icon-medium rotate: false - xy: 675, 412 + xy: 539, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snowrocks-icon-small rotate: false - xy: 1561, 428 + xy: 1057, 421 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 solar-panel-icon-large rotate: false - xy: 1459, 768 + xy: 1509, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 solar-panel-icon-medium rotate: false - xy: 709, 446 + xy: 437, 419 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-icon-small rotate: false - xy: 1587, 429 + xy: 1083, 421 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 solar-panel-large-icon-large rotate: false - xy: 1509, 768 + xy: 1559, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 solar-panel-large-icon-medium rotate: false - xy: 743, 480 + xy: 471, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-large-icon-small rotate: false - xy: 1613, 434 + xy: 1109, 421 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 sorter-icon-large rotate: false - xy: 1559, 768 + xy: 1609, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sorter-icon-medium rotate: false - xy: 777, 514 + xy: 505, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sorter-icon-small rotate: false - xy: 1639, 430 + xy: 1135, 491 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spawn-icon-large rotate: false - xy: 1609, 768 + xy: 1659, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spawn-icon-medium rotate: false - xy: 811, 548 + xy: 539, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spawn-icon-small rotate: false - xy: 1665, 430 + xy: 1161, 491 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spectre-icon-large rotate: false - xy: 1659, 768 + xy: 1709, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spectre-icon-medium rotate: false - xy: 845, 582 + xy: 573, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spectre-icon-small rotate: false - xy: 1613, 408 + xy: 1135, 465 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spirit-factory-icon-large rotate: false - xy: 1709, 768 + xy: 1759, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spirit-factory-icon-medium rotate: false - xy: 879, 616 + xy: 437, 385 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spirit-factory-icon-small rotate: false - xy: 1587, 403 + xy: 1187, 491 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spore-cluster-icon-large rotate: false - xy: 1759, 768 + xy: 1809, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-cluster-icon-medium rotate: false - xy: 369, 72 + xy: 471, 419 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spore-cluster-icon-small rotate: false - xy: 1639, 404 + xy: 1135, 439 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spore-moss-icon-large rotate: false - xy: 1809, 768 + xy: 1859, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-moss-icon-medium rotate: false - xy: 403, 106 + xy: 505, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spore-moss-icon-small rotate: false - xy: 1665, 404 + xy: 1161, 465 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spore-pine-icon-large rotate: false - xy: 1859, 768 + xy: 1909, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-pine-icon-medium rotate: false - xy: 437, 140 + xy: 539, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spore-pine-icon-small rotate: false - xy: 1613, 382 + xy: 1213, 491 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spore-press-icon-large rotate: false - xy: 1909, 768 + xy: 1959, 775 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-press-icon-medium rotate: false - xy: 471, 174 + xy: 573, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spore-press-icon-small rotate: false - xy: 1639, 378 + xy: 1161, 439 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 sporerocks-icon-large rotate: false - xy: 1959, 768 + xy: 287, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sporerocks-icon-medium rotate: false - xy: 505, 208 + xy: 607, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sporerocks-icon-small rotate: false - xy: 1665, 378 + xy: 1187, 465 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 stone-icon-large rotate: false - xy: 287, 718 + xy: 337, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 stone-icon-medium rotate: false - xy: 539, 242 + xy: 437, 351 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 stone-icon-small rotate: false - xy: 1691, 557 + xy: 1187, 439 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 surge-tower-icon-large rotate: false - xy: 337, 718 + xy: 387, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 surge-tower-icon-medium rotate: false - xy: 573, 276 + xy: 471, 385 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-tower-icon-small rotate: false - xy: 1717, 557 + xy: 1213, 465 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 surge-wall-icon-large rotate: false - xy: 387, 718 + xy: 437, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 surge-wall-icon-medium rotate: false - xy: 607, 310 + xy: 505, 419 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall-icon-small rotate: false - xy: 1691, 531 + xy: 1213, 439 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 surge-wall-large-icon-large rotate: false - xy: 437, 718 + xy: 487, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 surge-wall-large-icon-medium rotate: false - xy: 641, 344 + xy: 539, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall-large-icon-small rotate: false - xy: 1691, 505 + xy: 1135, 413 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 swarmer-icon-large rotate: false - xy: 487, 718 + xy: 537, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 swarmer-icon-medium rotate: false - xy: 675, 378 + xy: 573, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 swarmer-icon-small rotate: false - xy: 1717, 531 + xy: 1161, 413 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 tainted-water-icon-large rotate: false - xy: 537, 718 + xy: 587, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 tainted-water-icon-medium rotate: false - xy: 709, 412 + xy: 607, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 tainted-water-icon-small rotate: false - xy: 1691, 479 + xy: 1187, 413 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 tar-icon-large rotate: false - xy: 587, 718 + xy: 637, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 tar-icon-medium rotate: false - xy: 743, 446 + xy: 641, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 tar-icon-small rotate: false - xy: 1717, 505 + xy: 1213, 413 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 tau-mech-pad-icon-large rotate: false - xy: 637, 718 + xy: 687, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 tau-mech-pad-icon-medium rotate: false - xy: 777, 480 + xy: 437, 317 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 tau-mech-pad-icon-small rotate: false - xy: 1691, 453 + xy: 1239, 491 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 tendrils-icon-large rotate: false - xy: 687, 718 + xy: 737, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 tendrils-icon-medium rotate: false - xy: 811, 514 + xy: 471, 351 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 tendrils-icon-small rotate: false - xy: 1717, 479 + xy: 1239, 465 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thermal-generator-icon-large rotate: false - xy: 737, 718 + xy: 787, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 thermal-generator-icon-medium rotate: false - xy: 845, 548 + xy: 505, 385 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thermal-generator-icon-small rotate: false - xy: 1691, 427 + xy: 1239, 439 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thermal-pump-icon-large rotate: false - xy: 787, 718 + xy: 837, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 thermal-pump-icon-medium rotate: false - xy: 879, 582 + xy: 539, 419 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thermal-pump-icon-small rotate: false - xy: 1717, 453 + xy: 1239, 413 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thorium-reactor-icon-large rotate: false - xy: 837, 718 + xy: 887, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 thorium-reactor-icon-medium rotate: false - xy: 913, 616 + xy: 573, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-reactor-icon-small rotate: false - xy: 1691, 401 + xy: 1265, 493 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thorium-wall-icon-large rotate: false - xy: 887, 718 + xy: 937, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 thorium-wall-icon-medium rotate: false - xy: 369, 38 + xy: 607, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-wall-icon-small rotate: false - xy: 1717, 427 + xy: 1265, 467 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thorium-wall-large-icon-large rotate: false - xy: 937, 718 + xy: 987, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 thorium-wall-large-icon-medium rotate: false - xy: 403, 72 + xy: 641, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-wall-large-icon-small rotate: false - xy: 1717, 401 + xy: 1265, 441 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thruster-icon-large rotate: false - xy: 987, 718 + xy: 1037, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 thruster-icon-medium rotate: false - xy: 437, 106 + xy: 675, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thruster-icon-small rotate: false - xy: 1691, 375 + xy: 1265, 415 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 titan-factory-icon-large rotate: false - xy: 1037, 718 + xy: 1087, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 titan-factory-icon-medium rotate: false - xy: 471, 140 + xy: 437, 283 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titan-factory-icon-small rotate: false - xy: 1717, 375 + xy: 1291, 468 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 titanium-conveyor-icon-large rotate: false - xy: 1087, 718 + xy: 1137, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 titanium-conveyor-icon-medium rotate: false - xy: 505, 174 + xy: 471, 317 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-icon-small rotate: false - xy: 1743, 554 + xy: 1291, 442 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 titanium-wall-icon-large rotate: false - xy: 1137, 718 + xy: 1187, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 titanium-wall-icon-medium rotate: false - xy: 539, 208 + xy: 505, 351 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-wall-icon-small rotate: false - xy: 1743, 528 + xy: 1291, 416 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 titanium-wall-large-icon-large rotate: false - xy: 1187, 718 + xy: 1237, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 titanium-wall-large-icon-medium rotate: false - xy: 573, 242 + xy: 539, 385 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-wall-large-icon-small rotate: false - xy: 1769, 554 + xy: 1317, 453 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 trident-ship-pad-icon-large rotate: false - xy: 1237, 718 + xy: 1287, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 trident-ship-pad-icon-medium rotate: false - xy: 607, 276 + xy: 573, 419 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 trident-ship-pad-icon-small rotate: false - xy: 1743, 502 + xy: 1343, 453 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 turbine-generator-icon-large rotate: false - xy: 1287, 718 + xy: 1337, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 turbine-generator-icon-medium rotate: false - xy: 641, 310 + xy: 607, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 turbine-generator-icon-small rotate: false - xy: 1769, 528 + xy: 1317, 427 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 underline rotate: false - xy: 339, 689 + xy: 301, 609 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -14955,7 +14976,7 @@ underline index: -1 underline-2 rotate: false - xy: 1965, 710 + xy: 301, 638 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -14963,7 +14984,7 @@ underline-2 index: -1 underline-disabled rotate: false - xy: 2003, 707 + xy: 339, 667 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -14971,7 +14992,7 @@ underline-disabled index: -1 underline-red rotate: false - xy: 301, 689 + xy: 415, 696 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -14979,161 +15000,161 @@ underline-red index: -1 unloader-icon-large rotate: false - xy: 1337, 718 + xy: 1387, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unloader-icon-medium rotate: false - xy: 675, 344 + xy: 641, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 unloader-icon-small rotate: false - xy: 1795, 554 + xy: 1369, 453 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 vault-icon-large rotate: false - xy: 1387, 718 + xy: 1437, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 vault-icon-medium rotate: false - xy: 709, 378 + xy: 675, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 vault-icon-small rotate: false - xy: 1743, 476 + xy: 1343, 427 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 water-extractor-icon-large rotate: false - xy: 1437, 718 + xy: 1487, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 water-extractor-icon-medium rotate: false - xy: 743, 412 + xy: 709, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 water-extractor-icon-small rotate: false - xy: 1769, 502 + xy: 1395, 453 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 water-icon-large rotate: false - xy: 1487, 718 + xy: 1537, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 water-icon-medium rotate: false - xy: 777, 446 + xy: 437, 249 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 water-icon-small rotate: false - xy: 1795, 528 + xy: 1369, 427 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 wave-icon-large rotate: false - xy: 1537, 718 + xy: 1587, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 wave-icon-medium rotate: false - xy: 811, 480 + xy: 471, 283 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 wave-icon-small rotate: false - xy: 1821, 554 + xy: 1421, 453 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 white-tree-dead-icon-large rotate: false - xy: 1587, 718 + xy: 1637, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 white-tree-dead-icon-medium rotate: false - xy: 845, 514 + xy: 505, 317 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 white-tree-dead-icon-small rotate: false - xy: 1743, 450 + xy: 1395, 427 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 white-tree-icon-large rotate: false - xy: 1637, 718 + xy: 1687, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 white-tree-icon-medium rotate: false - xy: 879, 548 + xy: 539, 351 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 white-tree-icon-small rotate: false - xy: 1769, 476 + xy: 1447, 453 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 whiteui rotate: false - xy: 372, 684 + xy: 445, 691 size: 3, 3 orig: 3, 3 offset: 0, 0 index: -1 window-empty rotate: false - xy: 1610, 523 + xy: 1308, 494 size: 27, 61 split: 8, 8, 44, 11 orig: 27, 61 @@ -15141,21 +15162,21 @@ window-empty index: -1 wraith-factory-icon-large rotate: false - xy: 1687, 718 + xy: 1737, 725 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 wraith-factory-icon-medium rotate: false - xy: 913, 582 + xy: 573, 385 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 wraith-factory-icon-small rotate: false - xy: 1795, 502 + xy: 1421, 427 size: 24, 24 orig: 24, 24 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 4d22a79c42..e5e1823e00 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 305ed3765f..4c744e487e 100644 Binary files a/core/assets/sprites/sprites2.png and b/core/assets/sprites/sprites2.png differ diff --git a/core/assets/sprites/sprites5.png b/core/assets/sprites/sprites5.png index 15c16ea0ae..11151bcffb 100644 Binary files a/core/assets/sprites/sprites5.png and b/core/assets/sprites/sprites5.png differ diff --git a/core/src/io/anuke/mindustry/ClientLauncher.java b/core/src/io/anuke/mindustry/ClientLauncher.java index 39a605f507..8e57f24058 100644 --- a/core/src/io/anuke/mindustry/ClientLauncher.java +++ b/core/src/io/anuke/mindustry/ClientLauncher.java @@ -84,10 +84,12 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform @Override public void resize(int width, int height){ - super.resize(width, height); + if(assets == null) return; if(!assets.isFinished()){ Draw.proj().setOrtho(0, 0, width, height); + }else{ + super.resize(width, height); } } @@ -100,6 +102,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform for(ApplicationListener listener : modules){ listener.init(); } + super.resize(graphics.getWidth(), graphics.getHeight()); finished = true; Events.fire(new ClientLoadEvent()); } diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index d5db0dda50..04d751358c 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -3,6 +3,7 @@ package io.anuke.mindustry; import io.anuke.arc.Application.*; import io.anuke.arc.*; import io.anuke.arc.assets.*; +import io.anuke.arc.collection.*; import io.anuke.arc.files.*; import io.anuke.arc.graphics.*; import io.anuke.arc.scene.ui.layout.*; @@ -43,6 +44,8 @@ public class Vars implements Loadable{ public static final String discordURL = "https://discord.gg/mindustry"; /** URL for sending crash reports to */ public static final String crashReportURL = "http://mins.us.to/report"; + /** list of built-in servers.*/ + public static final Array defaultServers = Array.with(/*"mins.us.to"*/); /** maximum distance between mine and core that supports automatic transferring */ public static final float mineTransferRange = 220f; /** team of the player by default */ diff --git a/core/src/io/anuke/mindustry/ai/BlockIndexer.java b/core/src/io/anuke/mindustry/ai/BlockIndexer.java index a31b2bbf8a..a9e575f35d 100644 --- a/core/src/io/anuke/mindustry/ai/BlockIndexer.java +++ b/core/src/io/anuke/mindustry/ai/BlockIndexer.java @@ -242,14 +242,13 @@ public class BlockIndexer{ int quadrantY = tile.y / quadrantSize; itemSet.clear(); - Tile rounded = world.tile(Mathf.clamp(quadrantX * quadrantSize + quadrantSize / 2, 0, world.width() - 1), - Mathf.clamp(quadrantY * quadrantSize + quadrantSize / 2, 0, world.height() - 1)); + Tile rounded = world.tile(Mathf.clamp(quadrantX * quadrantSize + quadrantSize / 2, 0, world.width() - 1), Mathf.clamp(quadrantY * quadrantSize + quadrantSize / 2, 0, world.height() - 1)); //find all items that this quadrant contains - for(int x = quadrantX * quadrantSize; x < world.width() && x < (quadrantX + 1) * quadrantSize; x++){ - for(int y = quadrantY * quadrantSize; y < world.height() && y < (quadrantY + 1) * quadrantSize; y++){ + for(int x = Math.max(0, rounded.x - quadrantSize / 2); x < rounded.x + quadrantSize / 2 && x < world.width(); x++){ + for(int y = Math.max(0, rounded.y - quadrantSize / 2); y < rounded.y + quadrantSize / 2 && y < world.height(); y++){ Tile result = world.tile(x, y); - if(result == null || result.drop() == null || !scanOres.contains(result.drop())) continue; + if(result == null || result.drop() == null || !scanOres.contains(result.drop()) || result.block() != Blocks.air) continue; itemSet.add(result.drop()); } diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index c5784aeeab..8c33e1fac5 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -500,6 +500,7 @@ public class Blocks implements ContentList{ consumes.items(new ItemStack(Items.thorium, 4), new ItemStack(Items.sand, 10)); consumes.power(5f); + itemCapacity = 20; int bottomRegion = reg("-bottom"), weaveRegion = reg("-weave"); @@ -982,7 +983,6 @@ public class Blocks implements ContentList{ pulseConduit = new Conduit("pulse-conduit"){{ requirements(Category.liquid, ItemStack.with(Items.titanium, 1, Items.metaglass, 1)); liquidCapacity = 16f; - liquidFlowFactor = 4.9f; health = 90; }}; @@ -1405,14 +1405,14 @@ public class Blocks implements ContentList{ }}; arc = new PowerTurret("arc"){{ - requirements(Category.turret, ItemStack.with(Items.copper, 35, Items.lead, 35)); + requirements(Category.turret, ItemStack.with(Items.copper, 35, Items.lead, 50)); shootType = Bullets.arc; - reload = 24f; + reload = 35f; shootCone = 40f; rotatespeed = 8f; - powerUse = 0.9f; + powerUse = 1.5f; targetAir = false; - range = 95f; + range = 90f; shootEffect = Fx.lightningShoot; heatColor = Color.RED; recoil = 1f; @@ -1775,4 +1775,4 @@ public class Blocks implements ContentList{ //endregion } -} \ No newline at end of file +} diff --git a/core/src/io/anuke/mindustry/content/Bullets.java b/core/src/io/anuke/mindustry/content/Bullets.java index c0b2ad732c..11fc118902 100644 --- a/core/src/io/anuke/mindustry/content/Bullets.java +++ b/core/src/io/anuke/mindustry/content/Bullets.java @@ -7,12 +7,13 @@ import io.anuke.arc.util.*; import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.bullet.*; import io.anuke.mindustry.entities.effect.*; +import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.game.*; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.*; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Vars.*; public class Bullets implements ContentList{ public static BulletType @@ -631,7 +632,7 @@ public class Bullets implements ContentList{ @Override public void init(Bullet b){ - Lightning.create(b.getTeam(), Pal.lancerLaser, damage, b.x, b.y, b.rot(), 30); + Lightning.create(b.getTeam(), Pal.lancerLaser, damage * (b.getOwner() instanceof Player ? state.rules.playerDamageMultiplier : 1f), b.x, b.y, b.rot(), 30); } }; diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 049053b9c0..1ffb6badde 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -48,6 +48,10 @@ public class Control implements ApplicationListener, Loadable{ private boolean wasPaused = false; public Control(){ + saves = new Saves(); + tutorial = new Tutorial(); + music = new MusicControl(); + Events.on(StateChangeEvent.class, event -> { if((event.from == State.playing && event.to == State.menu) || (event.from == State.menu && event.to != State.menu)){ Time.runTask(5f, platform::updateRPC); @@ -152,10 +156,6 @@ public class Control implements ApplicationListener, Loadable{ @Override public void loadAsync(){ - saves = new Saves(); - tutorial = new Tutorial(); - music = new MusicControl(); - Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth(); Core.input.setCatch(KeyCode.BACK, true); diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index 88abd225db..9c1828df8e 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -107,7 +107,17 @@ public class NetClient implements ApplicationListener{ Time.runTask(3f, ui.loadfrag::hide); - ui.showError("$disconnect"); + if(packet.reason != null){ + if(packet.reason.equals("closed")){ + ui.showSmall("$disconnect", "$disconnect.closed"); + }else if(packet.reason.equals("timeout")){ + ui.showSmall("$disconnect", "$disconnect.timeout"); + }else if(packet.reason.equals("error")){ + ui.showSmall("$disconnect", "$disconnect.error"); + } + }else{ + ui.showError("$disconnect"); + } }); Net.handleClient(WorldStream.class, data -> { diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 40623bc6e2..ffe369e998 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -1,39 +1,32 @@ package io.anuke.mindustry.core; -import io.anuke.annotations.Annotations.Loc; -import io.anuke.annotations.Annotations.Remote; -import io.anuke.arc.ApplicationListener; -import io.anuke.arc.Events; +import io.anuke.annotations.Annotations.*; +import io.anuke.arc.*; import io.anuke.arc.collection.*; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.Colors; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.graphics.*; +import io.anuke.arc.math.*; +import io.anuke.arc.math.geom.*; import io.anuke.arc.util.*; import io.anuke.arc.util.CommandHandler.*; import io.anuke.arc.util.io.*; -import io.anuke.mindustry.content.Blocks; -import io.anuke.mindustry.core.GameState.State; -import io.anuke.mindustry.entities.EntityGroup; -import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest; -import io.anuke.mindustry.entities.traits.Entity; -import io.anuke.mindustry.entities.traits.SyncTrait; -import io.anuke.mindustry.entities.type.Player; -import io.anuke.mindustry.game.EventType.WorldLoadEvent; -import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.game.Version; -import io.anuke.mindustry.gen.Call; -import io.anuke.mindustry.gen.RemoteReadServer; +import io.anuke.mindustry.content.*; +import io.anuke.mindustry.core.GameState.*; +import io.anuke.mindustry.entities.*; +import io.anuke.mindustry.entities.traits.BuilderTrait.*; +import io.anuke.mindustry.entities.traits.*; +import io.anuke.mindustry.entities.type.*; +import io.anuke.mindustry.game.EventType.*; +import io.anuke.mindustry.game.*; +import io.anuke.mindustry.gen.*; import io.anuke.mindustry.net.*; -import io.anuke.mindustry.net.Administration.PlayerInfo; -import io.anuke.mindustry.net.Administration.TraceInfo; +import io.anuke.mindustry.net.Net; +import io.anuke.mindustry.net.Administration.*; import io.anuke.mindustry.net.Packets.*; -import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.*; import java.io.*; -import java.nio.ByteBuffer; -import java.util.zip.DeflaterOutputStream; +import java.nio.*; +import java.util.zip.*; import static io.anuke.mindustry.Vars.*; @@ -76,7 +69,7 @@ public class NetServer implements ApplicationListener{ Net.handleServer(Disconnect.class, (id, packet) -> { Player player = connections.get(id); if(player != null){ - onDisconnect(player); + onDisconnect(player, packet.reason); } connections.remove(id); }); @@ -111,6 +104,27 @@ public class NetServer implements ApplicationListener{ return; } + if(admins.isIDBanned(uuid)){ + kick(id, KickReason.banned); + return; + } + + if(admins.getPlayerLimit() > 0 && playerGroup.size() >= admins.getPlayerLimit()){ + kick(id, KickReason.playerLimit); + return; + } + + if(!admins.isWhitelisted(packet.uuid, packet.usid)){ + info.adminUsid = packet.usid; + info.lastName = packet.name; + info.id = packet.uuid; + admins.save(); + Call.onInfoMessage(id, "You are not whitelisted here."); + Log.info("&lcDo &lywhitelist-add {0}&lc to whitelist the player &lb'{1}'", packet.uuid, packet.name); + kick(id, KickReason.whitelist); + return; + } + if(packet.versionType == null || ((packet.version == -1 || !packet.versionType.equals(Version.type)) && Version.build != -1 && !admins.allowsCustomClients())){ kick(id, !Version.type.equals(packet.versionType) ? KickReason.typeMismatch : KickReason.customClient); return; @@ -184,6 +198,8 @@ public class NetServer implements ApplicationListener{ sendWorldData(player, id); platform.updateRPC(); + + Events.fire(new PlayerJoin(player)); }); Net.handleServer(InvokePacket.class, (id, packet) -> { @@ -227,25 +243,34 @@ public class NetServer implements ApplicationListener{ }); //duration of a a kick in seconds - int kickDuration = 10 * 60; + int kickDuration = 15 * 60; class VoteSession{ Player target; ObjectSet voted = new ObjectSet<>(); - ObjectMap map; + VoteSession[] map; Timer.Task task; int votes; - public VoteSession(ObjectMap map, Player target){ + public VoteSession(VoteSession[] map, Player target){ this.target = target; this.map = map; this.task = Timer.schedule(() -> { if(!checkPass()){ Call.sendMessage(Strings.format("[lightgray]Vote failed. Not enough votes to kick[orange] {0}[lightgray].", target.name)); + map[0] = null; + task.cancel(); } - map.remove(target); - task.cancel(); - }, 60 * 1.5f); + }, 60 * 1); + } + + void vote(Player player, int d){ + votes += d; + voted.addAll(player.uuid, admins.getInfo(player.uuid).lastIP); + + Call.sendMessage(Strings.format("[orange]{0}[lightgray] has voted to kick[orange] {1}[].[accent] ({2}/{3})\n[lightgray]Type[orange] /vote [] to agree.", + player.name, target.name, votes, votesRequired())); + //checkPass(); } boolean checkPass(){ @@ -253,6 +278,8 @@ public class NetServer implements ApplicationListener{ Call.sendMessage(Strings.format("[orange]Vote passed.[scarlet] {0}[orange] will be kicked from the server.", target.name)); admins.getInfo(target.uuid).lastKicked = Time.millis() + kickDuration*1000; kick(target.con.id, KickReason.vote); + map[0] = null; + task.cancel(); return true; } return false; @@ -260,10 +287,10 @@ public class NetServer implements ApplicationListener{ } //cooldown between votes - int voteTime = 60 * 10; + int voteTime = 60 * 5; Timekeeper vtime = new Timekeeper(voteTime); //current kick sessions - ObjectMap currentlyKicking = new ObjectMap<>(); + VoteSession[] currentlyKicking = {null}; clientCommands.register("votekick", "[player...]", "Vote to kick a player, with a cooldown.", (args, player) -> { if(playerGroup.size() < 3){ @@ -271,8 +298,8 @@ public class NetServer implements ApplicationListener{ return; } - if(currentlyKicking.values().toArray().contains(v -> v.voted.contains(player.uuid) || v.voted.contains(admins.getInfo(player.uuid).lastIP))){ - player.sendMessage("[scarlet]You've already voted. Sit down."); + if(player.isLocal){ + player.sendMessage("[scarlet]Just kick them yourself if you're the host."); return; } @@ -295,24 +322,20 @@ public class NetServer implements ApplicationListener{ } if(found != null){ - if(player == found){ - player.sendMessage("[scarlet]If you're interested in kicking yourself, just leave."); - }else if(found.isAdmin){ + if(found.isAdmin){ player.sendMessage("[scarlet]Did you really expect to be able to kick an admin?"); + }else if(found.isLocal){ + player.sendMessage("[scarlet]Local players cannot be kicked."); }else{ - if(!currentlyKicking.containsKey(found) && !vtime.get()){ + if(!vtime.get()){ player.sendMessage("[scarlet]You must wait " + voteTime/60 + " minutes between votekicks."); return; } - VoteSession session = currentlyKicking.getOr(found, () -> new VoteSession(currentlyKicking, found)); - session.votes ++; - session.voted.addAll(player.uuid, admins.getInfo(player.uuid).lastIP); - - Call.sendMessage(Strings.format("[orange]{0}[lightgray] has voted to kick[orange] {1}[].[accent] ({2}/{3})\n[lightgray]Type[orange] /votekick #{4}[] to agree.", - player.name, found.name, session.votes, votesRequired(), found.con.id)); - session.checkPass(); - vtime.reset(); + VoteSession session = new VoteSession(currentlyKicking, found); + session.vote(player, 1); + vtime.reset(); + currentlyKicking[0] = session; } }else{ player.sendMessage("[scarlet]No player[orange]'" + args[0] + "'[scarlet] found."); @@ -320,6 +343,31 @@ public class NetServer implements ApplicationListener{ } }); + clientCommands.register("vote", "", "Vote to kick the current player.", (arg, player) -> { + if(currentlyKicking[0] == null){ + player.sendMessage("[scarlet]Nobody is being voted on."); + }else{ + if(currentlyKicking[0].voted.contains(player.uuid) || currentlyKicking[0].voted.contains(admins.getInfo(player.uuid).lastIP)){ + player.sendMessage("[scarlet]You've already voted. Sit down."); + return; + } + + if(currentlyKicking[0].target == player){ + player.sendMessage("[scarlet]You can't vote on your own trial."); + return; + } + + if(!arg[0].toLowerCase().equals("y") && !arg[0].toLowerCase().equals("n")){ + player.sendMessage("[scarlet]Vote either 'y' (yes) or 'n' (no)."); + return; + } + + int sign = arg[0].toLowerCase().equals("y") ? 1 : -1; + currentlyKicking[0].vote(player, sign); + } + }); + + clientCommands.register("sync", "Re-synchronize world state.", (args, player) -> { if(player.isLocal){ player.sendMessage("[scarlet]Re-synchronizing as the host is pointless."); @@ -331,7 +379,7 @@ public class NetServer implements ApplicationListener{ } public int votesRequired(){ - return playerGroup.size() * 2 / 3; + return 2 + (playerGroup.size() > 4 ? 1 : 0); } public Team assignTeam(Player current, Iterable players){ @@ -361,7 +409,7 @@ public class NetServer implements ApplicationListener{ Log.debug("Packed {0} compressed bytes of world data.", stream.size()); } - public static void onDisconnect(Player player){ + public static void onDisconnect(Player player, String reason){ //singleplayer multiplayer wierdness if(player.con == null){ player.remove(); @@ -369,12 +417,13 @@ public class NetServer implements ApplicationListener{ } if(player.con.hasConnected){ + Events.fire(new PlayerLeave(player)); Call.sendMessage("[accent]" + player.name + "[accent] has disconnected."); Call.onPlayerDisconnect(player.id); } player.remove(); netServer.connections.remove(player.con.id); - Log.info("&lm[{1}] &lc{0} has disconnected.", player.name, player.uuid); + Log.info("&lm[{1}] &lc{0} has disconnected. &lg&fi({2})", player.name, player.uuid, reason); } private static float compound(float speed, float drag){ @@ -700,7 +749,7 @@ public class NetServer implements ApplicationListener{ if(connection == null || !connection.isConnected() || !connections.containsKey(connection.id)){ //player disconnected, call d/c event - onDisconnect(player); + onDisconnect(player, "disappeared"); return; } diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index 194754f328..7a3281d1e1 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -360,6 +360,15 @@ public class UI implements ApplicationListener, Loadable{ }}.show(); } + public void showSmall(String titleText, String text){ + new Dialog(titleText, "dialog"){{ + cont.margin(10).add(text); + titleTable.row(); + titleTable.addImage("whiteui").color(Pal.accent).height(3f).growX().pad(2f); + buttons.addButton("$ok", this::hide).size(90, 50).pad(4); + }}.show(); + } + public void showConfirm(String title, String text, Runnable confirmed){ showConfirm(title, text, null, confirmed); } diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index ab62680ddb..3647577151 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -186,7 +186,6 @@ public class MapEditorDialog extends Dialog implements Disposable{ clearChildren(); margin(0); - shown(this::build); update(() -> { if(Core.scene.getKeyboardFocus() instanceof Dialog && Core.scene.getKeyboardFocus() != this){ @@ -228,6 +227,8 @@ public class MapEditorDialog extends Dialog implements Disposable{ platform.updateRPC(); if(!Core.settings.getBool("landscape")) platform.endForceLandscape(); }); + + shown(this::build); } @Override diff --git a/core/src/io/anuke/mindustry/entities/traits/SpawnerTrait.java b/core/src/io/anuke/mindustry/entities/traits/SpawnerTrait.java index df23a1053d..c890d4cbfc 100644 --- a/core/src/io/anuke/mindustry/entities/traits/SpawnerTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/SpawnerTrait.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.traits; import io.anuke.arc.math.geom.Position; -import io.anuke.mindustry.entities.type.Player; +import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.world.Tile; public interface SpawnerTrait extends TargetTrait, Position{ @@ -9,6 +9,8 @@ public interface SpawnerTrait extends TargetTrait, Position{ void updateSpawning(Player unit); + boolean hasUnit(Unit unit); + @Override default boolean isValid(){ return getTile().entity instanceof SpawnerTrait; diff --git a/core/src/io/anuke/mindustry/entities/type/BaseUnit.java b/core/src/io/anuke/mindustry/entities/type/BaseUnit.java index 82615e8a01..1c38ceb45c 100644 --- a/core/src/io/anuke/mindustry/entities/type/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/type/BaseUnit.java @@ -58,7 +58,7 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ //visual only. if(Net.client()){ Tile tile = world.tile(unit.spawner); - if(tile != null && !Net.client()){ + if(tile != null){ tile.block().unitRemoved(tile, unit); } diff --git a/core/src/io/anuke/mindustry/entities/type/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/type/FlyingUnit.java index d02ad55ec1..95fb1821b9 100644 --- a/core/src/io/anuke/mindustry/entities/type/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/type/FlyingUnit.java @@ -125,8 +125,8 @@ public abstract class FlyingUnit extends BaseUnit{ if(!Net.client()){ updateRotation(); - wobble(); } + wobble(); } @Override diff --git a/core/src/io/anuke/mindustry/entities/type/Player.java b/core/src/io/anuke/mindustry/entities/type/Player.java index 0b481a6105..d443f99ffe 100644 --- a/core/src/io/anuke/mindustry/entities/type/Player.java +++ b/core/src/io/anuke/mindustry/entities/type/Player.java @@ -23,6 +23,7 @@ import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.input.*; import io.anuke.mindustry.input.InputHandler.PlaceDraw; import io.anuke.mindustry.io.TypeIO; +import io.anuke.mindustry.net.Administration.*; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetConnection; import io.anuke.mindustry.type.*; @@ -37,6 +38,7 @@ import static io.anuke.mindustry.Vars.*; public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{ public static final int timerSync = 2; public static final int timerAbility = 3; + public static final int timerTransfer = 4; private static final int timerShootLeft = 0; private static final int timerShootRight = 1; private static final float liftoffBoost = 0.2f; @@ -59,7 +61,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{ public NetConnection con; public boolean isLocal = false; - public Interval timer = new Interval(4); + public Interval timer = new Interval(6); public TargetTrait target; public TargetTrait moveTarget; @@ -800,6 +802,14 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{ } } + public PlayerInfo getInfo(){ + if(uuid == null){ + throw new IllegalArgumentException("Local players cannot be traced and do not have info."); + }else{ + return netServer.admins.getInfo(uuid); + } + } + /** Resets all values of the player. */ public void reset(){ resetNoAdd(); @@ -909,7 +919,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{ buffer.writeInt(Color.rgba8888(color)); buffer.writeByte(mech.id); buffer.writeInt(mining == null ? noSpawner : mining.pos()); - buffer.writeInt(spawner == null ? noSpawner : spawner.getTile().pos()); + buffer.writeInt(spawner == null || !spawner.hasUnit(this) ? noSpawner : spawner.getTile().pos()); buffer.writeShort((short)(baseRotation * 2)); writeBuilding(buffer); diff --git a/core/src/io/anuke/mindustry/game/EventType.java b/core/src/io/anuke/mindustry/game/EventType.java index 6d8b8a0b40..d1158e1265 100644 --- a/core/src/io/anuke/mindustry/game/EventType.java +++ b/core/src/io/anuke/mindustry/game/EventType.java @@ -5,6 +5,7 @@ import io.anuke.mindustry.entities.traits.BuilderTrait; import io.anuke.mindustry.entities.type.Unit; import io.anuke.mindustry.type.Zone; import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.entities.type.Player; public class EventType{ @@ -184,5 +185,22 @@ public class EventType{ public static class ResizeEvent{ } + + public static class PlayerJoin{ + public final Player player; + + public PlayerJoin(Player player){ + this.player = player; + } + } + + public static class PlayerLeave{ + public final Player player; + + public PlayerLeave(Player player){ + this.player = player; + } + } + } diff --git a/core/src/io/anuke/mindustry/game/Gamemode.java b/core/src/io/anuke/mindustry/game/Gamemode.java index 16f129f065..2dd0c31348 100644 --- a/core/src/io/anuke/mindustry/game/Gamemode.java +++ b/core/src/io/anuke/mindustry/game/Gamemode.java @@ -69,6 +69,20 @@ public enum Gamemode{ this.validator = validator; } + public static Gamemode bestFit(Rules rules){ + if(rules.pvp){ + return pvp; + }else if(rules.editor){ + return editor; + }else if(rules.attackMode){ + return attack; + }else if(rules.infiniteResources){ + return sandbox; + }else{ + return survival; + } + } + /** Applies this preset to this ruleset. */ public Rules apply(Rules in){ rules.accept(in); diff --git a/core/src/io/anuke/mindustry/game/MusicControl.java b/core/src/io/anuke/mindustry/game/MusicControl.java index 28991e87e2..dc16c5d464 100644 --- a/core/src/io/anuke/mindustry/game/MusicControl.java +++ b/core/src/io/anuke/mindustry/game/MusicControl.java @@ -14,7 +14,7 @@ import static io.anuke.mindustry.Vars.*; /** Controls playback of multiple music tracks.*/ public class MusicControl{ - private static final float finTime = 120f, foutTime = 120f, musicInterval = 60 * 60 * 3f, musicChance = 0.5f, musicWaveChance = 0.4f; + private static final float finTime = 120f, foutTime = 120f, musicInterval = 60 * 60 * 3f, musicChance = 0.6f, musicWaveChance = 0.5f; /** normal, ambient music, plays at any time */ public final Array ambientMusic = Array.with(Musics.game1, Musics.game3, Musics.game4, Musics.game6); diff --git a/core/src/io/anuke/mindustry/game/Saves.java b/core/src/io/anuke/mindustry/game/Saves.java index 284de3572b..7f3cb40f59 100644 --- a/core/src/io/anuke/mindustry/game/Saves.java +++ b/core/src/io/anuke/mindustry/game/Saves.java @@ -266,6 +266,10 @@ public class Saves{ return meta == null || meta.rules == null ? null : meta.rules.zone; } + public Gamemode mode(){ + return Gamemode.bestFit(meta.rules); + } + public int getBuild(){ return meta.build; } diff --git a/core/src/io/anuke/mindustry/game/Tutorial.java b/core/src/io/anuke/mindustry/game/Tutorial.java index 4989d07c73..d099055220 100644 --- a/core/src/io/anuke/mindustry/game/Tutorial.java +++ b/core/src/io/anuke/mindustry/game/Tutorial.java @@ -115,9 +115,7 @@ public class Tutorial{ outline("blockinfo"); } }, - conveyor( - line -> Strings.format(line, Math.min(placed(Blocks.conveyor), 2), 2), - () -> placed(Blocks.conveyor, 2) && event("lineconfirm") && event("coreitem")){ + conveyor(() -> placed(Blocks.conveyor, 2) && event("lineconfirm") && event("coreitem")){ void draw(){ outline("category-distribution"); outline("block-conveyor"); @@ -190,13 +188,12 @@ public class Tutorial{ protected final String line = Core.bundle.has("tutorial." + name() + ".mobile") && mobile ? "tutorial." + name() + ".mobile" : "tutorial." + name(); protected final Function text; - protected final Array sentences; + protected Array sentences; protected final BooleanProvider done; TutorialStage(Function text, BooleanProvider done){ this.text = text; this.done = done; - this.sentences = Array.select(Core.bundle.get(line).split("\n"), s -> !s.isEmpty()); } TutorialStage(BooleanProvider done){ @@ -205,6 +202,7 @@ public class Tutorial{ /** displayed tutorial stage text.*/ public String text(){ + if(sentences == null) this.sentences = Array.select(Core.bundle.get(line).split("\n"), s -> !s.isEmpty()); String line = sentences.get(control.tutorial.sentence); return line.contains("{") ? text.get(line) : line; } diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index 6ed371a7ec..f611fd9fcf 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -59,6 +59,7 @@ public abstract class InputHandler implements InputProcessor{ @Remote(targets = Loc.both, forward = true, called = Loc.server) public static void transferInventory(Player player, Tile tile){ + if(!player.timer.get(Player.timerTransfer, 40)) return; if(Net.server() && (player.item().amount <= 0 || player.isTransferring)){ throw new ValidateException(player, "Player cannot transfer an item."); } @@ -288,7 +289,7 @@ public abstract class InputHandler implements InputProcessor{ } public void tryDropItems(Tile tile, float x, float y){ - if(!droppingItem || player.item().amount <= 0 || canTapPlayer(x, y) || state.isPaused()){ + if(!droppingItem || player.item().amount <= 0 || canTapPlayer(x, y) || state.isPaused() || !player.timer.check(Player.timerTransfer, 40)){ droppingItem = false; return; } diff --git a/core/src/io/anuke/mindustry/maps/Maps.java b/core/src/io/anuke/mindustry/maps/Maps.java index 932045d016..81a4e6da49 100644 --- a/core/src/io/anuke/mindustry/maps/Maps.java +++ b/core/src/io/anuke/mindustry/maps/Maps.java @@ -184,7 +184,7 @@ public class Maps{ FileHandle dest = findFile(); file.copyTo(dest); - loadMap(dest, true); + createNewPreview(loadMap(dest, true)); } /** Attempts to run the following code; @@ -356,7 +356,7 @@ public class Maps{ //if it's here, then the preview failed to load or doesn't exist, make it //this has to be done synchronously! Pixmap pix = MapIO.generatePreview(map); - Core.app.post(() -> map.texture = new Texture(pix)); + map.texture = new Texture(pix); executor.submit(() -> { try{ map.previewFile().writePNG(pix); @@ -404,7 +404,7 @@ public class Maps{ return customMapDirectory.child("map_" + i + "." + mapExtension); } - private void loadMap(FileHandle file, boolean custom) throws IOException{ + private Map loadMap(FileHandle file, boolean custom) throws IOException{ Map map = MapIO.createMap(file, custom); if(map.name() == null){ @@ -413,6 +413,7 @@ public class Maps{ maps.add(map); maps.sort(); + return map; } private void loadCustomMaps(){ diff --git a/core/src/io/anuke/mindustry/net/Administration.java b/core/src/io/anuke/mindustry/net/Administration.java index bebd0c9115..0aaeb8542f 100644 --- a/core/src/io/anuke/mindustry/net/Administration.java +++ b/core/src/io/anuke/mindustry/net/Administration.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.net; -import io.anuke.annotations.Annotations.Serialize; -import io.anuke.arc.Core; +import io.anuke.annotations.Annotations.*; +import io.anuke.arc.*; import io.anuke.arc.collection.*; import static io.anuke.mindustry.Vars.headless; @@ -10,6 +10,7 @@ public class Administration{ /** All player info. Maps UUIDs to info. This persists throughout restarts. */ private ObjectMap playerInfo = new ObjectMap<>(); private Array bannedIPs = new Array<>(); + private Array whitelist = new Array<>(); public Administration(){ Core.settings.defaults( @@ -20,9 +21,16 @@ public class Administration{ load(); } + public int getPlayerLimit(){ + return Core.settings.getInt("playerlimit", 0); + } + + public void setPlayerLimit(int limit){ + Core.settings.putSave("playerlimit", limit); + } + public void setStrict(boolean on){ - Core.settings.put("strict", on); - Core.settings.save(); + Core.settings.putSave("strict", on); } public boolean getStrict(){ @@ -186,6 +194,36 @@ public class Administration{ return true; } + public boolean isWhitelistEnabled(){ + return Core.settings.getBool("whitelist", false); + } + + public void setWhitelist(boolean enabled){ + Core.settings.putSave("whitelist", enabled); + } + + public boolean isWhitelisted(String id, String usid){ + return !isWhitelistEnabled() || whitelist.contains(usid + id); + } + + public boolean whitelist(String id){ + PlayerInfo info = getCreateInfo(id); + if(whitelist.contains(info.adminUsid + id)) return false; + whitelist.add(info.adminUsid + id); + save(); + return true; + } + + public boolean unwhitelist(String id){ + PlayerInfo info = getCreateInfo(id); + if(whitelist.contains(info.adminUsid + id)){ + whitelist.remove(info.adminUsid + id); + save(); + return true; + } + return false; + } + public boolean isIPBanned(String ip){ return bannedIPs.contains(ip, false) || (findByIP(ip) != null && findByIP(ip).banned); } @@ -242,6 +280,10 @@ public class Administration{ return null; } + public Array getWhitelisted(){ + return playerInfo.values().toArray().select(p -> isWhitelisted(p.id, p.adminUsid)); + } + private PlayerInfo getCreateInfo(String id){ if(playerInfo.containsKey(id)){ return playerInfo.get(id); @@ -256,6 +298,7 @@ public class Administration{ public void save(){ Core.settings.putObject("player-info", playerInfo); Core.settings.putObject("banned-ips", bannedIPs); + Core.settings.putObject("whitelisted", whitelist); Core.settings.save(); } @@ -263,6 +306,7 @@ public class Administration{ private void load(){ playerInfo = Core.settings.getObject("player-info", ObjectMap.class, ObjectMap::new); bannedIPs = Core.settings.getObject("banned-ips", Array.class, Array::new); + whitelist = Core.settings.getObject("whitelisted", Array.class, Array::new); } @Serialize diff --git a/core/src/io/anuke/mindustry/net/Host.java b/core/src/io/anuke/mindustry/net/Host.java index 77a281d8ec..44b6c6a665 100644 --- a/core/src/io/anuke/mindustry/net/Host.java +++ b/core/src/io/anuke/mindustry/net/Host.java @@ -1,15 +1,18 @@ package io.anuke.mindustry.net; +import io.anuke.mindustry.game.*; + public class Host{ public final String name; public final String address; public final String mapname; public final int wave; - public final int players; + public final int players, playerLimit; public final int version; public final String versionType; + public final Gamemode mode; - public Host(String name, String address, String mapname, int wave, int players, int version, String versionType){ + public Host(String name, String address, String mapname, int wave, int players, int version, String versionType, Gamemode mode, int playerLimit){ this.name = name; this.address = address; this.players = players; @@ -17,5 +20,7 @@ public class Host{ this.wave = wave; this.version = version; this.versionType = versionType; + this.playerLimit = playerLimit; + this.mode = mode; } } diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index 663cfcdf0d..9bc881f08c 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -1,17 +1,15 @@ package io.anuke.mindustry.net; -import io.anuke.arc.Core; -import io.anuke.arc.util.Time; -import io.anuke.mindustry.entities.Entities; -import io.anuke.mindustry.entities.type.Player; +import io.anuke.arc.*; +import io.anuke.arc.util.*; +import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.game.*; -import io.anuke.mindustry.io.JsonIO; -import io.anuke.mindustry.io.SaveIO; +import io.anuke.mindustry.io.*; import io.anuke.mindustry.maps.Map; import java.io.*; -import java.nio.ByteBuffer; -import java.util.Arrays; +import java.nio.*; +import java.util.*; import static io.anuke.mindustry.Vars.*; @@ -71,8 +69,9 @@ public class NetworkIO{ buffer.putInt(state.wave); buffer.putInt(Version.build); writeString(buffer, Version.type); - //TODO additional information: - // - gamemode ID/name (just pick the closest one?) + + buffer.put((byte)Gamemode.bestFit(state.rules).ordinal()); + buffer.putInt(netServer.admins.getPlayerLimit()); return buffer; } @@ -83,13 +82,15 @@ public class NetworkIO{ int wave = buffer.getInt(); int version = buffer.getInt(); String vertype = readString(buffer); + Gamemode gamemode = Gamemode.all[buffer.get()]; + int limit = buffer.getInt(); - return new Host(host, hostAddress, map, wave, players, version, vertype); + return new Host(host, hostAddress, map, wave, players, version, vertype, gamemode, limit); } private static void writeString(ByteBuffer buffer, String string, int maxlen){ byte[] bytes = string.getBytes(charset); - //truncating this way may lead to wierd encoding errors at the ends of strings... + //todo truncating this way may lead to wierd encoding errors at the ends of strings... if(bytes.length > maxlen){ bytes = Arrays.copyOfRange(bytes, 0, maxlen); } diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index 12d9d75067..d7d79bfbb3 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -14,7 +14,7 @@ public class Packets{ public enum KickReason{ kick, clientOutdated, serverOutdated, banned, gameover(true), recentKick, - nameInUse, idInUse, nameEmpty, customClient, serverClose, vote, typeMismatch; + nameInUse, idInUse, nameEmpty, customClient, serverClose, vote, typeMismatch, whitelist, playerLimit; public final boolean quiet; @@ -52,6 +52,7 @@ public class Packets{ public static class Disconnect implements Packet{ public int id; + public String reason; @Override public boolean isImportant(){ diff --git a/core/src/io/anuke/mindustry/plugin/Plugins.java b/core/src/io/anuke/mindustry/plugin/Plugins.java index e371c78b66..803ed277c5 100644 --- a/core/src/io/anuke/mindustry/plugin/Plugins.java +++ b/core/src/io/anuke/mindustry/plugin/Plugins.java @@ -1,12 +1,11 @@ package io.anuke.mindustry.plugin; -import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.*; import io.anuke.arc.files.*; import io.anuke.arc.function.*; import io.anuke.arc.util.*; import io.anuke.mindustry.io.*; -import java.lang.reflect.*; import java.net.*; import static io.anuke.mindustry.Vars.pluginDirectory; @@ -50,12 +49,9 @@ public class Plugins{ PluginMeta meta = JsonIO.read(PluginMeta.class, metaf.readString()); - URLClassLoader classLoader = (URLClassLoader)ClassLoader.getSystemClassLoader(); - Method method = URLClassLoader.class.getDeclaredMethod("addURL", URL.class); - method.setAccessible(true); - method.invoke(classLoader, jar.file().toURI().toURL()); - Class main = Class.forName(meta.main); + URLClassLoader classLoader = new URLClassLoader(new URL[]{jar.file().toURI().toURL()}, ClassLoader.getSystemClassLoader()); + Class main = classLoader.loadClass(meta.main); return new LoadedPlugin(jar, zip, (Plugin)main.newInstance(), meta); } diff --git a/core/src/io/anuke/mindustry/type/Zone.java b/core/src/io/anuke/mindustry/type/Zone.java index 34a42d9d17..8bfd5a0ebf 100644 --- a/core/src/io/anuke/mindustry/type/Zone.java +++ b/core/src/io/anuke/mindustry/type/Zone.java @@ -42,7 +42,7 @@ public class Zone extends UnlockableContent{ @Override public void load(){ - preview = Core.atlas.find(name); + preview = Core.atlas.find("zone-" + name); } public Rules getRules(){ diff --git a/core/src/io/anuke/mindustry/ui/ItemDisplay.java b/core/src/io/anuke/mindustry/ui/ItemDisplay.java index 728d99a710..1efcd10919 100644 --- a/core/src/io/anuke/mindustry/ui/ItemDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ItemDisplay.java @@ -13,11 +13,15 @@ public class ItemDisplay extends Table{ this(item, 0); } - public ItemDisplay(Item item, int amount){ - add(new ItemImage(new ItemStack(item, amount))).size(8 * 4); - add(item.localizedName()).padLeft(4); + public ItemDisplay(Item item, int amount, boolean showName){ + add(new ItemImage(new ItemStack(item, amount))).size(8 * 4).padRight(amount > 99 ? 12 : 0); + if(showName) add(item.localizedName()).padLeft(4 + amount > 99 ? 4 : 0); this.item = item; this.amount = amount; } + + public ItemDisplay(Item item, int amount){ + this(item, amount, true); + } } diff --git a/core/src/io/anuke/mindustry/ui/LiquidDisplay.java b/core/src/io/anuke/mindustry/ui/LiquidDisplay.java index 86f5323102..0faf138853 100644 --- a/core/src/io/anuke/mindustry/ui/LiquidDisplay.java +++ b/core/src/io/anuke/mindustry/ui/LiquidDisplay.java @@ -27,7 +27,7 @@ public class LiquidDisplay extends Table{ t.add(Strings.autoFixed(amount, 1)); add(t); } - }}).size(8 * 4).padRight(3); + }}).size(8 * 4).padRight(3 + (amount != 0 && Strings.autoFixed(amount, 1).length() > 2 ? 8 : 0)); if(perSecond){ add(StatUnit.perSecond.localized()).padLeft(2).padRight(5).color(Color.LIGHT_GRAY); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java index dd4c4ce169..86f0cb5b9d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java @@ -182,10 +182,10 @@ public class JoinDialog extends FloatingDialog{ void setupServer(Server server, Host host){ server.lastHost = host; server.content.clear(); - server.content.table(t -> setupHostTable(t, host)).expand().left().bottom().padLeft(12f).padBottom(8); + buildServer(host, server.content); } - void setupHostTable(Table content, Host host){ + void buildServer(Host host, Table content){ String versionString; if(host.version == -1){ @@ -202,12 +202,14 @@ public class JoinDialog extends FloatingDialog{ versionString = Core.bundle.format("server.version", host.version, host.versionType); } - content.add("[lightgray]" + host.name + " " + versionString).width(targetWidth() - 10f).left().get().setEllipsis(true); - content.row(); - content.add("[lightgray]" + (host.players != 1 ? Core.bundle.format("players", host.players == 0 ? host.players : "[accent]" + host.players + "[lightgray]") : Core.bundle.format("players.single", "[accent]" + host.players + "[lightgray]"))).left(); - content.row(); - content.add("[lightgray]" + Core.bundle.format("save.map", host.mapname) + "[lightgray] / " + Core.bundle.format("save.wave", host.wave)).width(targetWidth() - 10f).left().get().setEllipsis(true); + content.table(t -> { + t.add("[lightgray]" + host.name + " " + versionString).width(targetWidth() - 10f).left().get().setEllipsis(true); + t.row(); + t.add("[lightgray]" + (Core.bundle.format("players" + (host.players == 1 ? ".single" : ""), (host.players == 0 ? "[lightgray]" : "[accent]") + host.players + (host.playerLimit > 0 ? "[lightgray]/[accent]" + host.playerLimit : "")+ "[lightgray]"))).left(); + t.row(); + t.add("[lightgray]" + Core.bundle.format("save.map", host.mapname) + "[lightgray] / " + host.mode.toString()).width(targetWidth() - 10f).left().get().setEllipsis(true); + }).expand().left().bottom().padLeft(12f).padBottom(8); } void setup(){ @@ -275,6 +277,9 @@ public class JoinDialog extends FloatingDialog{ local.background((Drawable)null); local.table("button", t -> t.label(() -> "[accent]" + Core.bundle.get("hosts.discovering.any") + Strings.animated(Time.time(), 4, 10f, ".")).pad(10f)).growX(); Net.discoverServers(this::addLocalHost, this::finishLocalHosts); + for(String host : defaultServers){ + Net.pingHost(host, port, this::addLocalHost, e -> {}); + } } void finishLocalHosts(){ @@ -299,11 +304,10 @@ public class JoinDialog extends FloatingDialog{ local.row(); - local.addButton(b -> { - b.margin(5f); - b.left(); - setupHostTable(b, host); - }, "clear", () -> connect(host.address, port)).width(w).pad(4f).get(); + TextButton button = local.addButton("", "clear", () -> connect(host.address, port)) + .width(w).pad(5f).get(); + button.clearChildren(); + buildServer(host, button); } void connect(String ip, int port){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index b8b17e803e..f535d65d0a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -137,13 +137,13 @@ public class LoadDialog extends FloatingDialog{ meta.row(); meta.labelWrap(Core.bundle.format("save.map", color + (slot.getMap() == null ? Core.bundle.get("unknown") : slot.getMap().name()))); meta.row(); - meta.labelWrap(Core.bundle.format("save.wave", color + slot.getWave())); + meta.labelWrap(slot.mode().toString() + " /" + color + " " + Core.bundle.format("save.wave", color + slot.getWave())); meta.row(); meta.labelWrap(() -> Core.bundle.format("save.autosave", color + Core.bundle.get(slot.isAutosave() ? "on" : "off"))); meta.row(); meta.labelWrap(() -> Core.bundle.format("save.playtime", color + slot.getPlayTime())); meta.row(); - meta.labelWrap(Core.bundle.format("save.date", color + slot.getDate())); + meta.labelWrap(color + slot.getDate()); meta.row(); }).left().growX().width(250f); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java index 546d7a3b5a..1f2c04873b 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java @@ -62,49 +62,52 @@ public class MapsDialog extends FloatingDialog{ if(!ios){ buttons.addImageTextButton("$editor.importmap", "icon-load", iconsize, () -> { platform.showFileChooser("$editor.importmap", "Map File", file -> { - maps.tryCatchMapError(() -> { - if(MapIO.isImage(file)){ - ui.showError("$editor.errorimage"); - return; - } + ui.loadAnd(() -> { + maps.tryCatchMapError(() -> { + if(MapIO.isImage(file)){ + ui.showError("$editor.errorimage"); + return; + } - Map map; - if(file.extension().equalsIgnoreCase(mapExtension)){ - map = MapIO.createMap(file, true); - }else{ - map = maps.makeLegacyMap(file); - } + Map map; + if(file.extension().equalsIgnoreCase(mapExtension)){ + map = MapIO.createMap(file, true); + }else{ + map = maps.makeLegacyMap(file); + } - //when you attempt to import a save, it will have no name, so generate one - String name = map.tags.getOr("name", () -> { - String result = "unknown"; - int number = 0; - while(maps.byName(result + number++) != null) ; - return result + number; - }); - - //this will never actually get called, but it remains just in case - if(name == null){ - ui.showError("$editor.errorname"); - return; - } - - Map conflict = maps.all().find(m -> m.name().equals(name)); - - if(conflict != null && !conflict.custom){ - ui.showInfo(Core.bundle.format("editor.import.exists", name)); - }else if(conflict != null){ - ui.showConfirm("$confirm", "$editor.overwrite.confirm", () -> { - maps.tryCatchMapError(() -> { - maps.importMap(file); - setup(); - }); + //when you attempt to import a save, it will have no name, so generate one + String name = map.tags.getOr("name", () -> { + String result = "unknown"; + int number = 0; + while(maps.byName(result + number++) != null); + return result + number; }); - }else{ - maps.importMap(map.file); - setup(); - } + //this will never actually get called, but it remains just in case + if(name == null){ + ui.showError("$editor.errorname"); + return; + } + + Map conflict = maps.all().find(m -> m.name().equals(name)); + + if(conflict != null && !conflict.custom){ + ui.showInfo(Core.bundle.format("editor.import.exists", name)); + }else if(conflict != null){ + ui.showConfirm("$confirm", "$editor.overwrite.confirm", () -> { + maps.tryCatchMapError(() -> { + maps.removeMap(conflict); + maps.importMap(map.file); + setup(); + }); + }); + }else{ + maps.importMap(map.file); + setup(); + } + + }); }); }, true, FileChooser.anyMapFiles); }).size(210f, 64f); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MinimapDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MinimapDialog.java index feb374fd2e..88002c6627 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MinimapDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MinimapDialog.java @@ -5,6 +5,7 @@ import io.anuke.arc.graphics.*; import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.input.*; import io.anuke.arc.scene.event.*; +import io.anuke.arc.scene.ui.layout.*; import static io.anuke.mindustry.Vars.renderer; @@ -40,7 +41,7 @@ public class MinimapDialog extends FloatingDialog{ renderer.minimap.drawEntities(x, y, width, height); } }).grow(); - }).size(Math.min(Core.graphics.getWidth() / 1.1f, Core.graphics.getHeight() / 1.3f)).padTop(-20f); + }).size(Math.min(Core.graphics.getWidth() / 1.1f, Core.graphics.getHeight() / 1.3f) / UnitScl.dp.scl(1f)).padTop(-20f); cont.addListener(new InputListener(){ @Override diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index 6eabbbefba..876c49976d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -139,7 +139,7 @@ public class SettingsMenuDialog extends SettingsDialog{ t.row(); //iOS doesn't have a file chooser. - if(!ios){ + //if(!ios){ t.addButton("$data.import", style, () -> ui.showConfirm("$confirm", "$data.import.confirm", () -> platform.showFileChooser("$data.import", "Zip Files", file -> { try{ data.importData(file); @@ -151,7 +151,7 @@ public class SettingsMenuDialog extends SettingsDialog{ ui.showError(Strings.parseException(e, true)); } }, true, f -> f.equalsIgnoreCase("zip")))); - } + //} }); ScrollPane pane = new ScrollPane(prefs); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index 4a8b96707e..a1853ee300 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -40,7 +40,7 @@ public class BlockInventoryFragment extends Fragment{ @Remote(called = Loc.server, targets = Loc.both, forward = true) public static void requestItem(Player player, Tile tile, Item item, int amount){ - if(player == null || tile == null) return; + if(player == null || tile == null || !player.timer.get(Player.timerTransfer, 20)) return; int removed = tile.block().removeStack(tile, item, amount); @@ -71,6 +71,8 @@ public class BlockInventoryFragment extends Fragment{ } public void hide(){ + if(table == null) return; + table.actions(Actions.scaleTo(0f, 1f, 0.06f, Interpolation.pow3Out), Actions.run(() -> { table.clearChildren(); table.clearListeners(); diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 189911c66f..c07e0b4791 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -19,7 +19,6 @@ import io.anuke.arc.util.pooling.*; import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.bullet.*; import io.anuke.mindustry.entities.effect.*; -import io.anuke.mindustry.entities.type.Unit; import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.game.*; import io.anuke.mindustry.gen.*; @@ -32,6 +31,7 @@ import io.anuke.mindustry.world.blocks.*; import io.anuke.mindustry.world.blocks.power.*; import io.anuke.mindustry.world.consumers.*; import io.anuke.mindustry.world.meta.*; +import io.anuke.mindustry.world.meta.values.*; import java.util.*; @@ -251,7 +251,7 @@ public class Block extends BlockStorage{ public void drawPlace(int x, int y, int rotation, boolean valid){ } - protected float drawPlaceText(String text, int x, int y, boolean valid){ + public float drawPlaceText(String text, int x, int y, boolean valid){ if(renderer.pixelator.enabled()) return 0; Color color = valid ? Pal.accent : Pal.remove; @@ -476,7 +476,10 @@ public class Block extends BlockStorage{ public void setStats(){ stats.add(BlockStat.size, "{0}x{0}", size); stats.add(BlockStat.health, health, StatUnit.none); - stats.add(BlockStat.buildTime, buildCost / 60, StatUnit.seconds); + if(isBuildable()){ + stats.add(BlockStat.buildTime, buildCost / 60, StatUnit.seconds); + stats.add(BlockStat.buildCost, new ItemListValue(false, buildRequirements)); + } consumes.display(stats); @@ -581,7 +584,7 @@ public class Block extends BlockStorage{ }); } - Damage.dynamicExplosion(x, y, flammability, explosiveness, power, tilesize * size / 2f, Pal.darkFlame); + Damage.dynamicExplosion(x, y, flammability, explosiveness * 3.5f, power, tilesize * size / 2f, Pal.darkFlame); if(!tile.floor().solid && !tile.floor().isLiquid){ RubbleDecal.create(tile.drawx(), tile.drawy(), size); } diff --git a/core/src/io/anuke/mindustry/world/BlockStorage.java b/core/src/io/anuke/mindustry/world/BlockStorage.java index 358e2d6ddc..8573284852 100644 --- a/core/src/io/anuke/mindustry/world/BlockStorage.java +++ b/core/src/io/anuke/mindustry/world/BlockStorage.java @@ -28,7 +28,6 @@ public abstract class BlockStorage extends UnlockableContent{ public int itemCapacity = 10; public float liquidCapacity = 10f; - public float liquidFlowFactor = 4.9f; public final BlockStats stats = new BlockStats(); public final BlockBars bars = new BlockBars(); diff --git a/core/src/io/anuke/mindustry/world/blocks/RespawnBlock.java b/core/src/io/anuke/mindustry/world/blocks/RespawnBlock.java new file mode 100644 index 0000000000..03e54e734c --- /dev/null +++ b/core/src/io/anuke/mindustry/world/blocks/RespawnBlock.java @@ -0,0 +1,71 @@ +package io.anuke.mindustry.world.blocks; + +import io.anuke.arc.graphics.g2d.*; +import io.anuke.arc.math.*; +import io.anuke.mindustry.entities.type.*; +import io.anuke.mindustry.graphics.*; +import io.anuke.mindustry.net.*; +import io.anuke.mindustry.type.*; +import io.anuke.mindustry.world.*; + +public class RespawnBlock{ + + public static void drawRespawn(Tile tile, float heat, float progress, float time, Player player, Mech to){ + progress = Mathf.clamp(progress); + + Draw.color(Pal.darkMetal); + Lines.stroke(2f * heat); + Fill.poly(tile.drawx(), tile.drawy(), 4, 10f * heat); + + Draw.reset(); + if(player != null){ + TextureRegion region = to.iconRegion; + + Draw.color(0f, 0f, 0f, 0.4f * progress); + Draw.rect("circle-shadow", tile.drawx(), tile.drawy(), region.getWidth() / 3f, region.getWidth() / 3f); + Draw.color(); + + Shaders.build.region = region; + Shaders.build.progress = progress; + Shaders.build.color.set(Pal.accent); + Shaders.build.time = -time / 10f; + + Draw.shader(Shaders.build, true); + Draw.rect(region, tile.drawx(), tile.drawy()); + Draw.shader(); + + Draw.color(Pal.accentBack); + + float pos = Mathf.sin(time, 6f, 8f); + + Lines.lineAngleCenter(tile.drawx() + pos, tile.drawy(), 90, 16f - Math.abs(pos) * 2f); + + Draw.reset(); + } + + Lines.stroke(2f * heat); + + Draw.color(Pal.accentBack); + Lines.poly(tile.drawx(), tile.drawy(), 4, 8f * heat); + + float oy = -7f, len = 6f * heat; + Lines.stroke(5f); + Draw.color(Pal.darkMetal); + Lines.line(tile.drawx() - len, tile.drawy() + oy, tile.drawx() + len, tile.drawy() + oy, CapStyle.none); + for(int i : Mathf.signs){ + Fill.tri(tile.drawx() + len * i, tile.drawy() + oy - Lines.getStroke()/2f, tile.drawx() + len * i, tile.drawy() + oy + Lines.getStroke()/2f, tile.drawx() + (len + Lines.getStroke() * heat) * i, tile.drawy() + oy); + } + + Lines.stroke(3f); + Draw.color(Pal.accent); + Lines.line(tile.drawx() - len, tile.drawy() + oy, tile.drawx() - len + len*2 * progress, tile.drawy() + oy, CapStyle.none); + for(int i : Mathf.signs){ + Fill.tri(tile.drawx() + len * i, tile.drawy() + oy - Lines.getStroke()/2f, tile.drawx() + len * i, tile.drawy() + oy + Lines.getStroke()/2f, tile.drawx() + (len + Lines.getStroke() * heat) * i, tile.drawy() + oy); + } + Draw.reset(); + + if(Net.active() && player != null){ + tile.block().drawPlaceText(player.name, tile.x, tile.y - (Math.max((tile.block().size-1)/2, 0)), true); + } + } +} diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java index b425dd689d..1e0f0a3d64 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java @@ -44,7 +44,7 @@ public class CooledTurret extends Turret{ TurretEntity entity = tile.entity(); Liquid liquid = entity.liquids.current(); - float used = Math.min(Math.min(entity.liquids.get(liquid), maxUsed * Time.delta()), Math.max(0, ((reload - entity.reload) / coolantMultiplier) / liquid.heatCapacity)); + float used = Math.min(Math.min(entity.liquids.get(liquid), maxUsed * Time.delta()), Math.max(0, ((reload - entity.reload) / coolantMultiplier) / liquid.heatCapacity)) * baseReloadSpeed(tile); entity.reload += (used * liquid.heatCapacity) / liquid.heatCapacity; entity.liquids.remove(liquid, used); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index 3873f2177d..761f8d1c81 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -201,7 +201,7 @@ public abstract class Turret extends Block{ protected void turnToTarget(Tile tile, float targetRot){ TurretEntity entity = tile.entity(); - entity.rotation = Angles.moveToward(entity.rotation, targetRot, rotatespeed * entity.delta()); + entity.rotation = Angles.moveToward(entity.rotation, targetRot, rotatespeed * entity.delta() * baseReloadSpeed(tile)); } public boolean shouldTurn(Tile tile){ diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java index a57f165907..d32813791d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -37,7 +37,7 @@ public class ItemLiquidGenerator extends PowerGenerator{ protected Effects.Effect explodeEffect = Fx.generatespark; protected Color heatColor = Color.valueOf("ff9b59"); protected TextureRegion topRegion, liquidRegion; - protected boolean randomlyExplode = false; + protected boolean randomlyExplode = true; public ItemLiquidGenerator(boolean hasItems, boolean hasLiquids, String name){ super(name); @@ -127,8 +127,10 @@ public class ItemLiquidGenerator extends PowerGenerator{ if(randomlyExplode && Mathf.chance(entity.delta() * 0.06 * Mathf.clamp(entity.explosiveness - 0.5f))){ //this block is run last so that in the event of a block destruction, no code relies on the block type - entity.damage(Mathf.random(11f)); - Effects.effect(explodeEffect, tile.worldx() + Mathf.range(size * tilesize / 2f), tile.worldy() + Mathf.range(size * tilesize / 2f)); + Core.app.post(() -> { + entity.damage(Mathf.random(11f)); + Effects.effect(explodeEffect, tile.worldx() + Mathf.range(size * tilesize / 2f), tile.worldy() + Mathf.range(size * tilesize / 2f)); + }); } }else{ entity.productionEfficiency = 0.0f; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java index 4dddcd36b0..e3bd566738 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java @@ -22,7 +22,6 @@ public class Pump extends LiquidBlock{ public Pump(String name){ super(name); layer = Layer.overlay; - liquidFlowFactor = 3f; group = BlockGroup.liquids; floating = true; } diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index b4f02e1fc0..e63f3121bd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -3,9 +3,7 @@ package io.anuke.mindustry.world.blocks.storage; import io.anuke.annotations.Annotations.*; import io.anuke.arc.*; import io.anuke.arc.collection.*; -import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.*; -import io.anuke.mindustry.*; import io.anuke.mindustry.content.*; import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.traits.*; @@ -16,6 +14,7 @@ import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; +import io.anuke.mindustry.world.blocks.*; import io.anuke.mindustry.world.meta.*; import static io.anuke.mindustry.Vars.*; @@ -32,6 +31,7 @@ public class CoreBlock extends StorageBlock{ flags = EnumSet.of(BlockFlag.target, BlockFlag.producer); activeSound = Sounds.respawning; activeSoundVolume = 1f; + layer = Layer.overlay; } @Remote(called = Loc.server) @@ -84,41 +84,11 @@ public class CoreBlock extends StorageBlock{ } @Override - public void draw(Tile tile){ + public void drawLayer(Tile tile){ CoreEntity entity = tile.entity(); - Draw.rect(region, tile.drawx(), tile.drawy()); - - if(entity.heat > 0){ - Draw.color(Pal.darkMetal); - Lines.stroke(2f * entity.heat); - Lines.poly(tile.drawx(), tile.drawy(), 4, 8f * entity.heat); - Draw.reset(); - } - - if(entity.spawnPlayer != null){ - Unit player = entity.spawnPlayer; - - TextureRegion region = player.getIconRegion(); - - Shaders.build.region = region; - Shaders.build.progress = entity.progress; - Shaders.build.color.set(Pal.accent); - Shaders.build.time = -entity.time / 10f; - - Draw.shader(Shaders.build, true); - Draw.rect(region, tile.drawx(), tile.drawy()); - Draw.shader(); - - Draw.color(Pal.accent); - - Lines.lineAngleCenter( - tile.drawx() + Mathf.sin(entity.time, 6f, Vars.tilesize / 3f * size), - tile.drawy(), - 90, - size * Vars.tilesize / 2f); - - Draw.reset(); + if(entity.heat > 0.001f){ + RespawnBlock.drawRespawn(tile, entity.heat, entity.progress, entity.time, entity.spawnPlayer, mech); } } @@ -173,6 +143,11 @@ public class CoreBlock extends StorageBlock{ float time; float heat; + @Override + public boolean hasUnit(Unit unit){ + return unit == spawnPlayer; + } + @Override public void updateSpawning(Player player){ if(!netServer.isWaitingForPlayers() && spawnPlayer == null){ diff --git a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java index dbb67e8d7f..b8388d822f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java @@ -1,32 +1,24 @@ package io.anuke.mindustry.world.blocks.units; -import io.anuke.annotations.Annotations.Loc; -import io.anuke.annotations.Annotations.Remote; -import io.anuke.arc.Core; +import io.anuke.annotations.Annotations.*; import io.anuke.arc.graphics.g2d.*; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.math.geom.Geometry; -import io.anuke.arc.util.Time; -import io.anuke.mindustry.Vars; -import io.anuke.mindustry.content.Fx; -import io.anuke.mindustry.content.Mechs; -import io.anuke.mindustry.entities.Effects; -import io.anuke.mindustry.entities.traits.SpawnerTrait; -import io.anuke.mindustry.entities.type.Player; -import io.anuke.mindustry.entities.type.TileEntity; -import io.anuke.mindustry.gen.Call; -import io.anuke.mindustry.graphics.Pal; -import io.anuke.mindustry.graphics.Shaders; -import io.anuke.mindustry.type.Mech; -import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.mindustry.world.meta.StatUnit; +import io.anuke.arc.math.*; +import io.anuke.arc.math.geom.*; +import io.anuke.arc.util.*; +import io.anuke.mindustry.content.*; +import io.anuke.mindustry.entities.*; +import io.anuke.mindustry.entities.traits.*; +import io.anuke.mindustry.entities.type.*; +import io.anuke.mindustry.gen.*; +import io.anuke.mindustry.graphics.*; +import io.anuke.mindustry.type.*; +import io.anuke.mindustry.world.*; +import io.anuke.mindustry.world.blocks.*; +import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.mobile; -import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Vars.*; public class MechPad extends Block{ protected Mech mech; @@ -37,6 +29,7 @@ public class MechPad extends Block{ update = true; solid = false; hasPower = true; + layer = Layer.overlay; } @Override @@ -110,32 +103,11 @@ public class MechPad extends Block{ } @Override - public void draw(Tile tile){ + public void drawLayer(Tile tile){ MechFactoryEntity entity = tile.entity(); - Draw.rect(Core.atlas.find(name), tile.drawx(), tile.drawy()); - if(entity.player != null){ - TextureRegion region = (!entity.sameMech && entity.player.mech == mech ? Mechs.starter.iconRegion : mech.iconRegion); - - Shaders.build.region = region; - Shaders.build.progress = entity.progress; - Shaders.build.time = -entity.time / 5f; - Shaders.build.color.set(Pal.accent); - - Draw.shader(Shaders.build); - Draw.rect(region, tile.drawx(), tile.drawy()); - Draw.shader(); - - Draw.color(Pal.accent); - - Lines.lineAngleCenter( - tile.drawx() + Mathf.sin(entity.time, 6f, Vars.tilesize / 3f * size), - tile.drawy(), - 90, - size * Vars.tilesize / 2f + 1f); - - Draw.reset(); + RespawnBlock.drawRespawn(tile, entity.heat, entity.progress, entity.time, entity.player, (!entity.sameMech && entity.player.mech == mech ? Mechs.starter : mech)); } } @@ -170,6 +142,11 @@ public class MechPad extends Block{ float time; float heat; + @Override + public boolean hasUnit(Unit unit){ + return unit == player; + } + @Override public void updateSpawning(Player unit){ if(player == null){ diff --git a/core/src/io/anuke/mindustry/world/meta/BlockStat.java b/core/src/io/anuke/mindustry/world/meta/BlockStat.java index 4845e4936e..b32fb7d192 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockStat.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockStat.java @@ -9,6 +9,7 @@ public enum BlockStat{ health(StatCategory.general), size(StatCategory.general), buildTime(StatCategory.general), + buildCost(StatCategory.general), itemCapacity(StatCategory.items), itemsMoved(StatCategory.items), diff --git a/core/src/io/anuke/mindustry/world/meta/values/ItemListValue.java b/core/src/io/anuke/mindustry/world/meta/values/ItemListValue.java index 494be7285c..87d7732718 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/ItemListValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/ItemListValue.java @@ -7,15 +7,21 @@ import io.anuke.mindustry.world.meta.StatValue; public class ItemListValue implements StatValue{ private final ItemStack[] stacks; + private final boolean displayName; public ItemListValue(ItemStack... stacks){ + this(true, stacks); + } + + public ItemListValue(boolean displayName, ItemStack... stacks){ this.stacks = stacks; + this.displayName = displayName; } @Override public void display(Table table){ for(ItemStack stack : stacks){ - table.add(new ItemDisplay(stack.item, stack.amount)).padRight(5); + table.add(new ItemDisplay(stack.item, stack.amount, displayName)).padRight(5); } } } diff --git a/fastlane/metadata/android/fr-FR/full_description.txt b/fastlane/metadata/android/fr-FR/full_description.txt new file mode 100644 index 0000000000..d1a5fd0d8a --- /dev/null +++ b/fastlane/metadata/android/fr-FR/full_description.txt @@ -0,0 +1,14 @@ +Crée des chaînes de ravitaillement pour tes défenses, produit les matériaux de construction pour aggrandir et protéger tes batiments contre des vagues d'ennemis. Joue avec tes amis grâce à des jeux multijoueurs co-op cross-plateforme, ou défie les dans des parties en PvP par équipe. + +Caractéristiques: +- 24 cartes dans le jeu de base +- Une campagne, complète avec un arbre de recherche et des zones à débloquer +- 4 puissantes vagues de boss à vaincre +- Systèmes de transport d'énergie, liquides et objets +- 19 différent types de drones, méchas et vaisseaux +- 120+ blocs technologiques à maîtriser +- 75+ différents blocs environnementaux +- Multijoueur cross-plateforme via réseau local or serveurs dédiés +- Règles de jeu personnalisables: Changez le coût des structures, les stats des ennemis, les ressources de départ, fréquence des vagues et plus +- Un éditeur puissant dotés d'outils pour générer aléatoirement des minéraux, le terrain, des décorations et appliquer une symétrie de terrain. +- Personnaliser les vagues d'ennemis diff --git a/fastlane/metadata/android/fr-FR/short_description.txt b/fastlane/metadata/android/fr-FR/short_description.txt new file mode 100644 index 0000000000..f511b816dd --- /dev/null +++ b/fastlane/metadata/android/fr-FR/short_description.txt @@ -0,0 +1 @@ +L'industrie au service de ce tower defense. diff --git a/fastlane/metadata/android/fr-FR/title.txt b/fastlane/metadata/android/fr-FR/title.txt new file mode 100644 index 0000000000..2beb939017 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/title.txt @@ -0,0 +1 @@ +Mindustry \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/video.txt b/fastlane/metadata/android/fr-FR/video.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ios/Info.plist.xml b/ios/Info.plist.xml index 4dee6ec646..7c7ba53d60 100644 --- a/ios/Info.plist.xml +++ b/ios/Info.plist.xml @@ -73,6 +73,23 @@ io.anuke.mindustry.mapfile + + + + CFBundleTypeIconFiles + + icon-72.png + + CFBundleTypeName + Zip Data File + LSHandlerRank + Alternate + LSItemContentTypes + + public.archive + + + UTExportedTypeDeclarations diff --git a/ios/src/io/anuke/mindustry/IOSLauncher.java b/ios/src/io/anuke/mindustry/IOSLauncher.java index 19e379ecfe..6fe9fa5df8 100644 --- a/ios/src/io/anuke/mindustry/IOSLauncher.java +++ b/ios/src/io/anuke/mindustry/IOSLauncher.java @@ -3,6 +3,7 @@ package io.anuke.mindustry; import com.badlogic.gdx.backends.iosrobovm.*; import io.anuke.arc.*; import io.anuke.arc.files.*; +import io.anuke.arc.function.*; import io.anuke.arc.scene.ui.layout.*; import io.anuke.arc.util.*; import io.anuke.arc.util.io.*; @@ -13,6 +14,7 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.*; import org.robovm.apple.foundation.*; import org.robovm.apple.uikit.*; +import org.robovm.objc.block.*; import java.io.*; import java.util.*; @@ -38,6 +40,51 @@ public class IOSLauncher extends IOSApplication.Delegate{ IOSApplicationConfiguration config = new IOSApplicationConfiguration(); return new IOSApplication(new ClientLauncher(){ + @Override + public void showFileChooser(String text, String content, Consumer cons, boolean open, Predicate filetype){ + UIDocumentBrowserViewController cont = new UIDocumentBrowserViewController(); + cont.setAllowsDocumentCreation(false); + cont.setDelegate(new UIDocumentBrowserViewControllerDelegate(){ + @Override + public void didPickDocumentURLs(UIDocumentBrowserViewController controller, NSArray documentURLs){ + + } + + @Override + public void didPickDocumentsAtURLs(UIDocumentBrowserViewController controller, NSArray documentURLs){ + + } + + @Override + public void didRequestDocumentCreationWithHandler(UIDocumentBrowserViewController controller, VoidBlock2 importHandler){ + + } + + @Override + public void didImportDocument(UIDocumentBrowserViewController controller, NSURL sourceURL, NSURL destinationURL){ + cons.accept(Core.files.absolute(destinationURL.getAbsoluteString())); + } + + @Override + public void failedToImportDocument(UIDocumentBrowserViewController controller, NSURL documentURL, NSError error){ + + } + + @Override + public NSArray applicationActivities(UIDocumentBrowserViewController controller, NSArray documentURLs){ + return null; + } + + @Override + public void willPresentActivityViewController(UIDocumentBrowserViewController controller, UIActivityViewController activityViewController){ + + } + }); + UIApplication.getSharedApplication().getKeyWindow().getRootViewController().presentViewController(cont, true, () -> { + + }); + } + @Override public void shareFile(FileHandle file){ Log.info("Attempting to share file " + file); diff --git a/net/src/io/anuke/mindustry/net/ArcNetClient.java b/net/src/io/anuke/mindustry/net/ArcNetClient.java index 2739660e0e..08124d4f5f 100644 --- a/net/src/io/anuke/mindustry/net/ArcNetClient.java +++ b/net/src/io/anuke/mindustry/net/ArcNetClient.java @@ -36,12 +36,13 @@ public class ArcNetClient implements ClientProvider{ } @Override - public void disconnected(Connection connection){ + public void disconnected(Connection connection, DcReason reason){ if(connection.getLastProtocolError() != null){ netClient.setQuiet(); } Disconnect c = new Disconnect(); + c.reason = reason.toString(); Core.app.post(() -> Net.handleClientReceived(c)); } @@ -181,6 +182,8 @@ public class ArcNetClient implements ClientProvider{ private void handleException(Exception e){ if(e instanceof ArcNetException){ Core.app.post(() -> Net.showError(new IOException("mismatch"))); + }else if(e instanceof ClosedChannelException){ + Core.app.post(() -> Net.showError(new IOException("alreadyconnected"))); }else{ Core.app.post(() -> Net.showError(e)); } diff --git a/net/src/io/anuke/mindustry/net/ArcNetServer.java b/net/src/io/anuke/mindustry/net/ArcNetServer.java index d7198e1b1c..775f4a7d15 100644 --- a/net/src/io/anuke/mindustry/net/ArcNetServer.java +++ b/net/src/io/anuke/mindustry/net/ArcNetServer.java @@ -47,12 +47,13 @@ public class ArcNetServer implements ServerProvider{ } @Override - public void disconnected(Connection connection){ + public void disconnected(Connection connection, DcReason reason){ ArcConnection k = getByArcID(connection.getID()); if(k == null) return; Disconnect c = new Disconnect(); c.id = k.id; + c.reason = reason.toString(); Core.app.post(() -> { Net.handleServerReceived(k.id, c); @@ -102,6 +103,34 @@ public class ArcNetServer implements ServerProvider{ return null; } + @Override + public void sendStream(int id, Streamable stream){ + ArcConnection connection = getByID(id); + if(connection == null) return; + + connection.connection.addListener(new InputStreamSender(stream.stream, 512){ + int id; + + @Override + protected void start(){ + //send an object so the receiving side knows how to handle the following chunks + StreamBegin begin = new StreamBegin(); + begin.total = stream.stream.available(); + begin.type = Registrator.getID(stream.getClass()); + connection.connection.sendTCP(begin); + id = begin.id; + } + + @Override + protected Object next(byte[] bytes){ + StreamChunk chunk = new StreamChunk(); + chunk.id = id; + chunk.data = bytes; + return chunk; //wrap the byte[] with an object so the receiving side knows how to handle it. + } + }); + } + @Override public void host(int port) throws IOException{ connections.clear(); @@ -159,7 +188,7 @@ public class ArcNetServer implements ServerProvider{ }catch(Exception e){ Log.err(e); Log.info("Error sending packet. Disconnecting invalid client!"); - connection.close(); + connection.close(DcReason.error); ArcConnection k = getByArcID(connection.getID()); if(k != null) connections.remove(k); @@ -168,7 +197,7 @@ public class ArcNetServer implements ServerProvider{ @Override public void close(){ - if(connection.isConnected()) connection.close(); + if(connection.isConnected()) connection.close(DcReason.closed); } } diff --git a/server/src/io/anuke/mindustry/server/ServerControl.java b/server/src/io/anuke/mindustry/server/ServerControl.java index b97ff4c525..7e22d8ad67 100644 --- a/server/src/io/anuke/mindustry/server/ServerControl.java +++ b/server/src/io/anuke/mindustry/server/ServerControl.java @@ -41,7 +41,7 @@ public class ServerControl implements ApplicationListener{ private static final int commandSocketPort = 6859; private final CommandHandler handler = new CommandHandler(""); - private final FileHandle logFolder = Core.files.local("logs/"); + private final FileHandle logFolder = Core.settings.getDataDirectory().child("logs/"); private final io.anuke.mindustry.plugin.Plugins plugins = new Plugins(); private FileHandle currentLogFile; @@ -401,6 +401,68 @@ public class ServerControl implements ApplicationListener{ info("Server name is now &lc'{0}'.", arg[0]); }); + handler.register("playerlimit", "[off/somenumber]", "Set the server player limit.", arg -> { + if(arg.length == 0){ + info("Player limit is currently &lc{0}.", netServer.admins.getPlayerLimit() == 0 ? "off" : netServer.admins.getPlayerLimit()); + return; + } + if(arg[0].equals("off")){ + netServer.admins.setPlayerLimit(0); + info("Player limit disabled."); + return; + } + + if(Strings.canParsePostiveInt(arg[0]) && Strings.parseInt(arg[0]) > 0){ + int lim = Strings.parseInt(arg[0]); + netServer.admins.setPlayerLimit(lim); + info("Player limit is now &lc{0}.", lim); + }else{ + err("Limit must be a number above 0."); + } + }); + + handler.register("whitelist", "[on/off...]", "Enable/disable whitelisting.", arg -> { + if(arg.length == 0){ + info("Whitelist is currently &lc{0}.", netServer.admins.isWhitelistEnabled() ? "on" : "off"); + return; + } + boolean on = arg[0].equalsIgnoreCase("on"); + netServer.admins.setWhitelist(on); + info("Whitelist is now &lc{0}.", on ? "on" : "off"); + }); + + handler.register("whitelisted", "List the entire whitelist.", arg -> { + if(netServer.admins.getWhitelisted().isEmpty()){ + info("&lyNo whitelisted players found."); + return; + } + + info("&lyWhitelist:"); + netServer.admins.getWhitelisted().each(p -> Log.info("- &ly{0}", p.lastName)); + }); + + handler.register("whitelist-add", "", "Add a player to the whitelist by ID.", arg -> { + PlayerInfo info = netServer.admins.getInfoOptional(arg[0]); + if(info == null){ + err("Player ID not found. You must use the ID displayed when a player joins a server."); + return; + } + + netServer.admins.whitelist(arg[0]); + info("Player &ly'{0}'&lg has been whitelisted.", info.lastName); + }); + + handler.register("whitelist-remove", "", "Remove a player to the whitelist by ID.", arg -> { + PlayerInfo info = netServer.admins.getInfoOptional(arg[0]); + if(info == null){ + err("Player ID not found. You must use the ID displayed when a player joins a server."); + return; + } + + netServer.admins.unwhitelist(arg[0]); + info("Player &ly'{0}'&lg has been un-whitelisted.", info.lastName); + }); + handler.register("crashreport", "", "Disables or enables automatic crash reporting", arg -> { boolean value = arg[0].equalsIgnoreCase("on"); Core.settings.put("crashreport", value);