diff --git a/README.md b/README.md index aab377402d..7f0e6208bc 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Server builds are bundled with each released build (in Releases). If you'd rathe 1. Install the Android SDK [here.](https://developer.android.com/studio#downloads) Make sure you're downloading the "Command line tools only", as Android Studio is not required. 2. Create a file named `local.properties` inside the Mindustry directory, with its contents looking like this: `sdk.dir=`. For example, if you're on Windows and installed the tools to C:\\tools, your local.properties would contain `sdk.dir=C:\\tools` (*note the double backslashes are required instead of single ones!*). 3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`. -4. (Optional) To debug the application on a connected phone, do `gradlew android:installDebug android:run`. It is **highly recommended** to use IntelliJ for this instead, however. +4. (Optional) To debug the application on a connected phone, do `gradlew android:installDebug android:run`. It is **highly recommended** to use IntelliJ for this instead. ##### Troubleshooting diff --git a/android/src/mindustry/android/AndroidLauncher.java b/android/src/mindustry/android/AndroidLauncher.java index bfa89526e2..e2c484e50d 100644 --- a/android/src/mindustry/android/AndroidLauncher.java +++ b/android/src/mindustry/android/AndroidLauncher.java @@ -64,24 +64,6 @@ public class AndroidLauncher extends AndroidApplication{ moveTaskToBack(true); } - @Override - public String getUUID(){ - try{ - String s = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID); - int len = s.length(); - byte[] data = new byte[len / 2]; - for(int i = 0; i < len; i += 2){ - data[i / 2] = (byte)((Character.digit(s.charAt(i), 16) << 4) - + Character.digit(s.charAt(i + 1), 16)); - } - String result = new String(Base64Coder.encode(data)); - if(result.equals("AAAAAAAAAOA=")) throw new RuntimeException("Bad UUID."); - return result; - }catch(Exception e){ - return super.getUUID(); - } - } - @Override public rhino.Context getScriptContext(){ return AndroidRhinoContext.enter(getContext().getCacheDir()); @@ -126,7 +108,7 @@ public class AndroidLauncher extends AndroidApplication{ }); }else if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){ - chooser = new FileChooser(open ? "$open" : "$save", file -> file.extension().equalsIgnoreCase(extension), open, file -> { + chooser = new FileChooser(open ? "@open" : "@save", file -> file.extension().equalsIgnoreCase(extension), open, file -> { if(!open){ cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension)); }else{ @@ -234,10 +216,10 @@ public class AndroidLauncher extends AndroidApplication{ SaveSlot slot = control.saves.importSave(file); ui.load.runLoadSave(slot); }catch(IOException e){ - ui.showException("$save.import.fail", e); + ui.showException("@save.import.fail", e); } }else{ - ui.showErrorMessage("$save.import.invalid"); + ui.showErrorMessage("@save.import.invalid"); } }else if(map){ //open map Fi file = Core.files.local("temp-map." + mapExtension); diff --git a/annotations/src/main/java/mindustry/annotations/misc/LoadRegionProcessor.java b/annotations/src/main/java/mindustry/annotations/misc/LoadRegionProcessor.java index 8138fe398f..d2e3e99c17 100644 --- a/annotations/src/main/java/mindustry/annotations/misc/LoadRegionProcessor.java +++ b/annotations/src/main/java/mindustry/annotations/misc/LoadRegionProcessor.java @@ -103,11 +103,11 @@ public class LoadRegionProcessor extends BaseProcessor{ private String parse(String value){ value = '"' + value + '"'; + value = value.replace("@size", "\" + ((mindustry.world.Block)content).size + \""); value = value.replace("@", "\" + content.name + \""); value = value.replace("#1", "\" + INDEX0 + \""); value = value.replace("#2", "\" + INDEX1 + \""); value = value.replace("#", "\" + INDEX0 + \""); - value = value.replace("$size", "\" + ((mindustry.world.Block)content).size + \""); return value; } diff --git a/annotations/src/main/resources/classids.properties b/annotations/src/main/resources/classids.properties index 3de3ec7821..288f09bdbe 100644 --- a/annotations/src/main/resources/classids.properties +++ b/annotations/src/main/resources/classids.properties @@ -1,44 +1,24 @@ #Maps entity names to IDs. Autogenerated. alpha=0 -arkyid=37 -atrax=38 -block=1 -bryde=40 -cix=2 -draug=3 -flare=36 -horizon=35 +atrax=1 +block=2 +flare=3 mace=4 -mega=28 -mindustry.entities.comp.BuildingComp=22 -mindustry.entities.comp.Buildingomp=11 -mindustry.entities.comp.BulletComp=24 -mindustry.entities.comp.Bulletomp=5 -mindustry.entities.comp.DecalComp=6 -mindustry.entities.comp.EffectComp=7 -mindustry.entities.comp.EffectInstanceComp=23 -mindustry.entities.comp.EffectStateComp=25 -mindustry.entities.comp.FireComp=8 -mindustry.entities.comp.LaunchCoreComp=21 -mindustry.entities.comp.PlayerComp=9 -mindustry.entities.comp.PuddleComp=10 -mindustry.type.Weather.WeatherComp=12 -mindustry.type.Weather.WeatherStateComp=26 -mindustry.world.blocks.campaign.CoreLauncher.LaunchCoreComp=13 -mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=14 -mono=29 -nova=30 -oculon=15 -phantom=16 -poly=31 -pulsar=34 -quasar=32 -risse=33 -risso=41 -spirit=27 -spiroct=39 -tau=17 -trident=18 -vanguard=19 -wraith=20 \ No newline at end of file +mega=5 +mindustry.entities.comp.BuildingComp=6 +mindustry.entities.comp.BulletComp=7 +mindustry.entities.comp.DecalComp=8 +mindustry.entities.comp.EffectStateComp=9 +mindustry.entities.comp.FireComp=10 +mindustry.entities.comp.LaunchCoreComp=11 +mindustry.entities.comp.PlayerComp=12 +mindustry.entities.comp.PuddleComp=13 +mindustry.type.Weather.WeatherStateComp=14 +mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=15 +mono=16 +nova=17 +poly=18 +pulsar=19 +risso=20 +spiroct=21 \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BlockUnitUnit/0.json b/annotations/src/main/resources/revisions/BlockUnitUnit/0.json index 2160b1858b..5431957381 100644 --- a/annotations/src/main/resources/revisions/BlockUnitUnit/0.json +++ b/annotations/src/main/resources/revisions/BlockUnitUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BlockUnitUnit/1.json b/annotations/src/main/resources/revisions/BlockUnitUnit/1.json deleted file mode 100644 index dd8fdb2784..0000000000 --- a/annotations/src/main/resources/revisions/BlockUnitUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BlockUnitUnit/2.json b/annotations/src/main/resources/revisions/BlockUnitUnit/2.json deleted file mode 100644 index a73abd7000..0000000000 --- a/annotations/src/main/resources/revisions/BlockUnitUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/0.json b/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/0.json index d5684055f5..c743f3567d 100644 --- a/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/0.json +++ b/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/1.json b/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/1.json deleted file mode 100644 index 6ed4e60191..0000000000 --- a/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/2.json b/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/2.json deleted file mode 100644 index 36a9e50333..0000000000 --- a/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderLegsUnit/0.json b/annotations/src/main/resources/revisions/BuilderLegsUnit/0.json index 719d06eac9..56602f78f3 100644 --- a/annotations/src/main/resources/revisions/BuilderLegsUnit/0.json +++ b/annotations/src/main/resources/revisions/BuilderLegsUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderLegsUnit/1.json b/annotations/src/main/resources/revisions/BuilderLegsUnit/1.json deleted file mode 100644 index 885ef84f29..0000000000 --- a/annotations/src/main/resources/revisions/BuilderLegsUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderLegsUnit/2.json b/annotations/src/main/resources/revisions/BuilderLegsUnit/2.json deleted file mode 100644 index f6efa6f663..0000000000 --- a/annotations/src/main/resources/revisions/BuilderLegsUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMechUnit/0.json b/annotations/src/main/resources/revisions/BuilderMechUnit/0.json index b0bacdb1c1..0588266557 100644 --- a/annotations/src/main/resources/revisions/BuilderMechUnit/0.json +++ b/annotations/src/main/resources/revisions/BuilderMechUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMechUnit/1.json b/annotations/src/main/resources/revisions/BuilderMechUnit/1.json deleted file mode 100644 index a5d726ded8..0000000000 --- a/annotations/src/main/resources/revisions/BuilderMechUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMechUnit/2.json b/annotations/src/main/resources/revisions/BuilderMechUnit/2.json deleted file mode 100644 index 08f1b277b3..0000000000 --- a/annotations/src/main/resources/revisions/BuilderMechUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/0.json b/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/0.json index 26faae9a77..8d62f2ee4f 100644 --- a/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/0.json +++ b/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq,size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq,size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/1.json b/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/1.json deleted file mode 100644 index de89770ab4..0000000000 --- a/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq,size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/2.json b/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/2.json deleted file mode 100644 index 025bfc439c..0000000000 --- a/annotations/src/main/resources/revisions/BuilderMinerPayloadUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq,size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/0.json b/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/0.json index 94f48a7b63..a4e818fd35 100644 --- a/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/0.json +++ b/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/1.json b/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/1.json deleted file mode 100644 index 3a92a12856..0000000000 --- a/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/2.json b/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/2.json deleted file mode 100644 index d30cd7ad51..0000000000 --- a/annotations/src/main/resources/revisions/BuilderMinerTrailUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerUnit/0.json b/annotations/src/main/resources/revisions/BuilderMinerUnit/0.json index 94f48a7b63..a4e818fd35 100644 --- a/annotations/src/main/resources/revisions/BuilderMinerUnit/0.json +++ b/annotations/src/main/resources/revisions/BuilderMinerUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerUnit/1.json b/annotations/src/main/resources/revisions/BuilderMinerUnit/1.json deleted file mode 100644 index 3a92a12856..0000000000 --- a/annotations/src/main/resources/revisions/BuilderMinerUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerUnit/2.json b/annotations/src/main/resources/revisions/BuilderMinerUnit/2.json deleted file mode 100644 index d30cd7ad51..0000000000 --- a/annotations/src/main/resources/revisions/BuilderMinerUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderUnit/0.json b/annotations/src/main/resources/revisions/BuilderUnit/0.json deleted file mode 100644 index 719d06eac9..0000000000 --- a/annotations/src/main/resources/revisions/BuilderUnit/0.json +++ /dev/null @@ -1 +0,0 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/CommanderPayloadUnitWaterMove/0.json b/annotations/src/main/resources/revisions/CommanderPayloadUnitWaterMove/0.json deleted file mode 100644 index dbb981dfd1..0000000000 --- a/annotations/src/main/resources/revisions/CommanderPayloadUnitWaterMove/0.json +++ /dev/null @@ -1 +0,0 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:payloads,type:arc.struct.Seq,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/CommanderUnitWaterMove/0.json b/annotations/src/main/resources/revisions/CommanderUnitWaterMove/0.json index 2160b1858b..5431957381 100644 --- a/annotations/src/main/resources/revisions/CommanderUnitWaterMove/0.json +++ b/annotations/src/main/resources/revisions/CommanderUnitWaterMove/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/CommanderUnitWaterMove/1.json b/annotations/src/main/resources/revisions/CommanderUnitWaterMove/1.json deleted file mode 100644 index dd8fdb2784..0000000000 --- a/annotations/src/main/resources/revisions/CommanderUnitWaterMove/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/CommanderUnitWaterMove/2.json b/annotations/src/main/resources/revisions/CommanderUnitWaterMove/2.json deleted file mode 100644 index a73abd7000..0000000000 --- a/annotations/src/main/resources/revisions/CommanderUnitWaterMove/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/LegsUnit/0.json b/annotations/src/main/resources/revisions/LegsUnit/0.json index 2160b1858b..5431957381 100644 --- a/annotations/src/main/resources/revisions/LegsUnit/0.json +++ b/annotations/src/main/resources/revisions/LegsUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/LegsUnit/1.json b/annotations/src/main/resources/revisions/LegsUnit/1.json deleted file mode 100644 index dd8fdb2784..0000000000 --- a/annotations/src/main/resources/revisions/LegsUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/LegsUnit/2.json b/annotations/src/main/resources/revisions/LegsUnit/2.json deleted file mode 100644 index a73abd7000..0000000000 --- a/annotations/src/main/resources/revisions/LegsUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/MechUnit/0.json b/annotations/src/main/resources/revisions/MechUnit/0.json index 32f895e075..1779e118de 100644 --- a/annotations/src/main/resources/revisions/MechUnit/0.json +++ b/annotations/src/main/resources/revisions/MechUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/MechUnit/1.json b/annotations/src/main/resources/revisions/MechUnit/1.json deleted file mode 100644 index 66897ee06f..0000000000 --- a/annotations/src/main/resources/revisions/MechUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/MechUnit/2.json b/annotations/src/main/resources/revisions/MechUnit/2.json deleted file mode 100644 index b113f6564d..0000000000 --- a/annotations/src/main/resources/revisions/MechUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/MinerUnit/0.json b/annotations/src/main/resources/revisions/MinerUnit/0.json index 5df97253d8..3f9c01dbd8 100644 --- a/annotations/src/main/resources/revisions/MinerUnit/0.json +++ b/annotations/src/main/resources/revisions/MinerUnit/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/MinerUnit/1.json b/annotations/src/main/resources/revisions/MinerUnit/1.json deleted file mode 100644 index 9d58b6775a..0000000000 --- a/annotations/src/main/resources/revisions/MinerUnit/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/MinerUnit/2.json b/annotations/src/main/resources/revisions/MinerUnit/2.json deleted file mode 100644 index 048458ea23..0000000000 --- a/annotations/src/main/resources/revisions/MinerUnit/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/UnitEntity/0.json b/annotations/src/main/resources/revisions/UnitEntity/0.json index 2160b1858b..5431957381 100644 --- a/annotations/src/main/resources/revisions/UnitEntity/0.json +++ b/annotations/src/main/resources/revisions/UnitEntity/0.json @@ -1 +1 @@ -{fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file +{fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/UnitEntity/1.json b/annotations/src/main/resources/revisions/UnitEntity/1.json deleted file mode 100644 index dd8fdb2784..0000000000 --- a/annotations/src/main/resources/revisions/UnitEntity/1.json +++ /dev/null @@ -1 +0,0 @@ -{version:1,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/UnitEntity/2.json b/annotations/src/main/resources/revisions/UnitEntity/2.json deleted file mode 100644 index a73abd7000..0000000000 --- a/annotations/src/main/resources/revisions/UnitEntity/2.json +++ /dev/null @@ -1 +0,0 @@ -{version:2,fields:[{name:ammo,type:float,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:deactivated,type:boolean,size:1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mounts,type:"mindustry.entities.units.WeaponMount[]",size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/build.gradle b/build.gradle index a986b4e058..9146c9160c 100644 --- a/build.gradle +++ b/build.gradle @@ -324,8 +324,6 @@ project(":tools"){ implementation arcModule("natives:natives-freetype-desktop") implementation arcModule("natives:natives-box2d-desktop") implementation arcModule("backends:backend-headless") - - implementation "org.reflections:reflections:0.9.11" } } diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/conduit-top-4.png index ecd147450a..e673a4c6cf 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/conduit-top-4.png and b/core/assets-raw/sprites/blocks/liquid/conduit-top-4.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-4.png index 6e7321360b..be533536a7 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-4.png and b/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-4.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-4.png index 050aa16f7a..f4e6379a31 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-4.png and b/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-4.png differ diff --git a/core/assets-raw/sprites/units/weapons/eclipse-weapon.png b/core/assets-raw/sprites/units/weapons/eclipse-weapon.png deleted file mode 100644 index 016e6dacf4..0000000000 Binary files a/core/assets-raw/sprites/units/weapons/eclipse-weapon.png and /dev/null differ diff --git a/core/assets-raw/sprites/units/weapons/large-bullet-mount.png b/core/assets-raw/sprites/units/weapons/large-bullet-mount.png new file mode 100644 index 0000000000..92b785ef65 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/large-bullet-mount.png differ diff --git a/core/assets-raw/sprites/units/weapons/large-laser-mount.png b/core/assets-raw/sprites/units/weapons/large-laser-mount.png new file mode 100644 index 0000000000..9cad74c69b Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/large-laser-mount.png differ diff --git a/core/assets-raw/sprites/units/weapons/zenith-missiles.png b/core/assets-raw/sprites/units/weapons/zenith-missiles.png index e482202c65..f9b614d611 100644 Binary files a/core/assets-raw/sprites/units/weapons/zenith-missiles.png and b/core/assets-raw/sprites/units/weapons/zenith-missiles.png differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 1eb56ec443..344101e0e6 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -466,6 +466,7 @@ complete = [lightgray]Complete: requirement.wave = Reach Wave {0} in {1} requirement.core = Destroy Enemy Core in {0} requirement.research = Research {0} +requirement.capture = Capture {0} resume = Resume Zone:\n[lightgray]{0} bestwave = [lightgray]Best Wave: {0} #TODO fix/remove this @@ -545,8 +546,8 @@ settings.graphics = Graphics settings.cleardata = Clear Game Data... settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone! settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit. -settings.clearsaves.confirm = Are you sure you want to clear all saves? -settings.clearsaves = Clear all saves +settings.clearsaves.confirm = Are you sure you want to clear all your saves? +settings.clearsaves = Clear Saves paused = [accent]< Paused > clear = Clear banned = [scarlet]Banned diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 4361222424..d4c14e22f5 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -496,29 +496,30 @@ error.io = Błąd sieciowy I/O. error.any = Nieznany błąd sieci. error.bloom = Nie udało się załadować bloom.\nTwoje urządzenie może nie wspierać tej funkcji. -sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest -sector.ruinousShores.name = Ruinous Shores -sector.stainedMountains.name = Stained Mountains -sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth -sector.tarFields.name = Tar Fields -sector.saltFlats.name = Salt Flats -sector.fungalPass.name = Fungal Pass +sector.groundZero.name = Punkt Zerowy +sector.craters.name = Kratery +sector.frozenForest.name = Zamrożony Las +sector.ruinousShores.name = Zniszczone Przybrzeża +sector.stainedMountains.name = Zabarwione Góry +sector.desolateRift.name = Ponura Szczelina +sector.nuclearComplex.name = Centrum Wyrobu Jądrowego +sector.overgrowth.name = Przerośnięty Las +sector.tarFields.name = Pola Smołowe +sector.saltFlats.name = Solne Równiny +sector.fungalPass.name = Grzybowa Przełęcz -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders. -sector.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing. -sector.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills. -sector.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology. -sector.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units. -sector.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost. -sector.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible. -sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks. -sector.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers. -sector.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores. +sector.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz jak najwięcej miedzi i ołowiu, tyle ile jest możliwe.\nPrzejdź do następnej strefy jak najszybciej. +sector.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki rozprzestrzeniły się. Niskie temperatury nie mogą ich zatrzymać na zawsze.\n\nRozpocznij przedsięwzięcie od władzy. Buduj generatory spalinowe. Naucz się korzystać z naprawiaczy. +sector.desertWastes.description = Te pustkowia są rozległe, nieprzewidywalne, i znajdują się na nich opuszczone struktury.\nWęgiel jest obecny w tym regionie. Użyj go do produkcji energii, lub do stworzenia grafitu.\n\n[lightgray]Miejsce lądowania nie jest pewne. +sector.saltFlats.description = Na obrzeżach pustyni spoczywają Solne Równiny. Można tu znaleźć niewiele surowców.\n\nWrogowie zbudowali tu bazę składującą surowce. Zniszcz ich rdżeń. Zniszcz wszystko co stanie ci na drodze. +sector.craters.description = W tym kraterze zebrała się woda. Pozostałość dawnych wojen. Odzyskaj ten teren. Wykop piasek. Wytop metaszkło. Pompuj wodę do działek obronnych i wierteł by je schłodzić +sector.ruinousShores.description = Za pustkowiami ciągnie się linia brzegowa. Kiedyś znajdowała się tu przybrzeżna linia obronna. Niewiele z niej zostało. Ostały się tylko podstawowe struktury obronne, z reszty został tylko złom.\nKontynuuj eksploracje. Odkryj pozostawioną tu technologię. +sector.stainedMountains.description = W głębi lądu leżą góry, jeszcze nieskażone przez zarodniki.\nWydobądź obfity tytan w tym obszarze. Dowiedz się, jak z niego korzystać.\n\nObecność wroga jest tutaj większa. Nie daj im czasu na wysłanie swoich najsilniejszych jednostek. +sector.overgrowth.description = Obszar ten jest zarośnięty, bliżej źródła zarodników.\nWróg założył tu placówkę. Zbuduj jednostki Nóż. Zniszcz to. Odzyskaj to, co nam odebrano. +sector.tarFields.description = Obrzeża strefy produkcji ropy, między górami a pustynią. Jeden z niewielu obszarów z rezerwami użytecznej smoły.\nMimo że ta strefa jest opuszczona, w pobliżu znajdują się niebezpieczne siły wroga. Nie lekceważ ich.\n\n[lightgray]Jeśli to możliwe, zbadaj technologię przetwarzania oleju. +sector.desolateRift.description = Strefa wyjątkowo niebezpieczna. Obfita w zasoby ale mało miejsca. Wysokie ryzyko zniszczenia. Opuść tę strefe jak najszybciej. Nie daj się zwieść długiemu odstępowi między atakami wroga. +sector.nuclearComplex.description = Dawny zakład produkcji i przetwarzania toru, zredukowny do ruin.\n[lightgray]Zbadaj tor i jego zastosowania.\n\nWróg jest tutaj obecny w dużej ilości, nieustannie poszukuje napastników. +sector.fungalPass.description = Przejściowy obszar pomiędzy wysokimi górami a nisko znajdującymi się, ogarniętymi przez zarodniki równinami. Znajduje się tu mała postawiona przez wrogów baza zwiadowcza.\nZniszcz ją.\nUżyj jednostek Nóż i Pełzak. Zniszcz oba rdzenie. settings.language = Język settings.data = Dane Gry @@ -856,11 +857,11 @@ unit.crawler.name = Pełzak unit.atrax.name = Atrax unit.spiroct.name = Spiroct unit.arkyid.name = Arkyid -unit.flare.name = Flare -unit.horizon.name = Horizon -unit.zenith.name = Zenith +unit.flare.name = Błysk +unit.horizon.name = Horyzont +unit.zenith.name = Zenit unit.antumbra.name = Antumbra -unit.eclipse.name = Eclipse +unit.eclipse.name = Zaćmienie unit.mono.name = Mono unit.poly.name = Poly unit.mega.name = Mega @@ -1045,7 +1046,7 @@ block.surge-wall-large.name = Duża Ściana Elektrum block.cyclone.name = Cyklon block.fuse.name = Lont block.shock-mine.name = Mina -block.overdrive-projector.name = Projektor Przyśpieszający +block.overdrive-projector.name = Projektor Pola Overdrive block.force-projector.name = Projektor Pola Siłowego block.arc.name = Piorun block.rtg-generator.name = Generator RTG @@ -1055,18 +1056,18 @@ block.container.name = Kontener block.launch-pad.name = Wyrzutnia block.launch-pad-large.name = Duża Wyrzutnia block.segment.name = Segment -block.ground-factory.name = Ground Factory -block.air-factory.name = Air Factory -block.naval-factory.name = Naval Factory -block.additive-reconstructor.name = Additive Reconstructor -block.multiplicative-reconstructor.name = Multiplicative Reconstructor -block.exponential-reconstructor.name = Exponential Reconstructor +block.ground-factory.name = Fabryka Naziemna +block.air-factory.name = Fabryka Powietrzna +block.naval-factory.name = Fabryka Morska +block.additive-reconstructor.name = Rekonstruktor Addytywny +block.multiplicative-reconstructor.name = Rekonstruktor Multiplikatywny +block.exponential-reconstructor.name = Rekonstruktor Wykładniczy block.tetrative-reconstructor.name = Tetrative Reconstructor -block.mass-conveyor.name = Mass Conveyor -block.payload-router.name = Payload Router -block.disassembler.name = Disassembler +block.mass-conveyor.name = Przenośnik Masowy +block.payload-router.name = Rozdzielacz Ładunku +block.disassembler.name = Dezasembler block.silicon-crucible.name = Silicon Crucible -block.large-overdrive-projector.name = Large Overdrive Projector +block.overdrive-dome.name = Kopuła Pola Overdrive team.blue.name = niebieski team.crux.name = czerwony team.sharded.name = żółty @@ -1162,7 +1163,7 @@ block.force-projector.description = Wytwarza pole siłowe w kształcie sześciok block.shock-mine.description = Zadaje obrażenia jednostkom wroga którzy na nią wejdą. Ledwo widoczne dla wrogów. block.conveyor.description = Podstawowy blok transportowy dla przedmiotów. Automatycznie przesyła przedmioty naprzód do działek oraz maszyn. Można obrócić. block.titanium-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. Przesyła przedmioty szybciej od zwykłego przenośnika. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. +block.plastanium-conveyor.description = Przenosi przedmity partiami. Przyjmuje przedmioty z tyłu i rozładowuje je w trzech kierunkach z przodu. Wymaga wielu punktów ładujących i rozładowujących w celu osiągnięcia maksymalnej przepustowości. block.junction.description = Używany jako most dla dwóch krzyżujących się przenośników. Przydatne w sytuacjach kiedy dwa różne przenośniki transportują różne surowce do różnych miejsc. block.bridge-conveyor.description = Zaawansowany blok transportujący. Pozwala na przenoszenie przedmiotów nawet do 3 bloków na każdym terenie, przez każdy budynek. block.phase-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. Używa energii do teleportacji przedmiotów do połączonego transportera fazowego na spore odległości. diff --git a/core/assets/maps/frozenForest.msav b/core/assets/maps/frozenForest.msav index 431b4ce947..21e75e565b 100644 Binary files a/core/assets/maps/frozenForest.msav and b/core/assets/maps/frozenForest.msav differ diff --git a/core/assets/maps/groundZero.msav b/core/assets/maps/groundZero.msav index c2d66b2cc8..1f1500439b 100644 Binary files a/core/assets/maps/groundZero.msav and b/core/assets/maps/groundZero.msav differ diff --git a/core/assets/planets/TODO.dat b/core/assets/planets/TODO.dat deleted file mode 100644 index eb42302979..0000000000 Binary files a/core/assets/planets/TODO.dat and /dev/null differ diff --git a/core/assets/planets/serpulo.dat b/core/assets/planets/serpulo.dat new file mode 100644 index 0000000000..aa856cce4d Binary files /dev/null and b/core/assets/planets/serpulo.dat differ diff --git a/core/assets/scripts/global.js b/core/assets/scripts/global.js index 4bbf0aa1c5..4f2843c3a1 100755 --- a/core/assets/scripts/global.js +++ b/core/assets/scripts/global.js @@ -30,11 +30,73 @@ const extend = function(classType, params){ const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer})) Call = Packages.mindustry.gen.Call -importPackage(Packages.arc.graphics.g2d) +importPackage(Packages.mindustry.maps) +importPackage(Packages.mindustry.world.blocks.production) +importPackage(Packages.mindustry.graphics.g3d) +importPackage(Packages.mindustry.ai.types) +importPackage(Packages.mindustry.world.draw) +importPackage(Packages.mindustry.game) +importPackage(Packages.mindustry.logic) +importPackage(Packages.mindustry.entities.comp) +importPackage(Packages.mindustry.world.blocks.sandbox) +importPackage(Packages.mindustry.world.consumers) +importPackage(Packages.mindustry.type) +importPackage(Packages.mindustry.maps.filters) +importPackage(Packages.arc.struct) +importPackage(Packages.mindustry.world.meta.values) +importPackage(Packages.mindustry.world.blocks.distribution) +importPackage(Packages.mindustry.ui.dialogs) importPackage(Packages.mindustry.gen) +importPackage(Packages.mindustry.graphics) +importPackage(Packages.arc.scene.ui) +importPackage(Packages.mindustry.ai) +importPackage(Packages.mindustry.content) +importPackage(Packages.mindustry.ctype) +importPackage(Packages.arc.scene.event) +importPackage(Packages.mindustry.entities.bullet) +importPackage(Packages.arc.math.geom) +importPackage(Packages.mindustry.ui) +importPackage(Packages.mindustry.ai.formations) +importPackage(Packages.arc.func) +importPackage(Packages.mindustry.ui.fragments) +importPackage(Packages.mindustry.world.blocks.units) +importPackage(Packages.mindustry.world.modules) +importPackage(Packages.mindustry.world.blocks.power) +importPackage(Packages.arc.scene.utils) +importPackage(Packages.mindustry.entities) +importPackage(Packages.mindustry.audio) importPackage(Packages.arc.math) -importPackage(Packages.arc.graphics) +importPackage(Packages.arc.scene.ui.layout) +importPackage(Packages.arc.scene.actions) +importPackage(Packages.arc.scene.style) +importPackage(Packages.mindustry.world.blocks.defense.turrets) +importPackage(Packages.mindustry.core) +importPackage(Packages.arc.scene) +importPackage(Packages.mindustry.entities.units) +importPackage(Packages.mindustry.world.blocks.defense) +importPackage(Packages.mindustry.world) +importPackage(Packages.mindustry.world.blocks) +importPackage(Packages.mindustry.editor) +importPackage(Packages.mindustry.world.blocks.storage) +importPackage(Packages.mindustry.world.blocks.environment) +importPackage(Packages.mindustry.async) +importPackage(Packages.mindustry.maps.planet) +importPackage(Packages.mindustry.world.blocks.liquid) +importPackage(Packages.mindustry.ai.formations.patterns) +importPackage(Packages.mindustry.ui.layout) +importPackage(Packages.mindustry.input) +importPackage(Packages.mindustry.world.blocks.legacy) +importPackage(Packages.mindustry.entities.abilities) +importPackage(Packages.mindustry) +importPackage(Packages.mindustry.world.meta) +importPackage(Packages.mindustry.world.blocks.experimental) +importPackage(Packages.mindustry.world.blocks.payloads) +importPackage(Packages.mindustry.maps.generators) +importPackage(Packages.arc.graphics.g2d) importPackage(Packages.arc.util) +importPackage(Packages.mindustry.world.blocks.campaign) +importPackage(Packages.arc.graphics) +importPackage(Packages.mindustry.world.producers) importPackage(Packages.arc) const PlayerIpUnbanEvent = Packages.mindustry.game.EventType.PlayerIpUnbanEvent const PlayerIpBanEvent = Packages.mindustry.game.EventType.PlayerIpBanEvent diff --git a/core/assets/sprites/block_colors.png b/core/assets/sprites/block_colors.png index 9677923456..94d1d88158 100644 Binary files a/core/assets/sprites/block_colors.png and b/core/assets/sprites/block_colors.png differ diff --git a/core/assets/sprites/fallback/sprites.atlas b/core/assets/sprites/fallback/sprites.atlas index 44cb3d0565..c21c8f3e23 100644 --- a/core/assets/sprites/fallback/sprites.atlas +++ b/core/assets/sprites/fallback/sprites.atlas @@ -439,5586 +439,5488 @@ filter: nearest,nearest repeat: none core-silo rotate: false - xy: 487, 1887 + xy: 1, 1561 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 data-processor rotate: false - xy: 1569, 947 + xy: 1367, 1623 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 data-processor-2 rotate: false - xy: 1827, 526 + xy: 1445, 885 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 data-processor-top rotate: false - xy: 1667, 947 + xy: 1465, 1721 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launch-pad rotate: false - xy: 1589, 849 + xy: 1041, 1317 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launch-pad-large rotate: false - xy: 1561, 1355 + xy: 423, 915 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 launch-pad-light rotate: false - xy: 1687, 849 + xy: 1139, 1415 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launchpod rotate: false - xy: 479, 467 + xy: 1775, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 force-projector rotate: false - xy: 99, 857 + xy: 845, 1221 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 force-projector-top rotate: false - xy: 197, 857 + xy: 943, 1415 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mend-projector rotate: false - xy: 397, 463 + xy: 1939, 1009 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mend-projector-top rotate: false - xy: 677, 463 + xy: 1973, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mender rotate: false - xy: 909, 45 + xy: 1931, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mender-top rotate: false - xy: 943, 45 + xy: 1829, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 overdrive-dome rotate: false - xy: 1279, 751 + xy: 1311, 1121 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 overdrive-dome-top rotate: false - xy: 1377, 751 + xy: 1433, 1427 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 overdrive-projector rotate: false - xy: 1, 462 + xy: 1973, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 overdrive-projector-top rotate: false - xy: 545, 461 + xy: 1965, 811 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 shock-mine rotate: false - xy: 205, 11 + xy: 1833, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-loader rotate: false - xy: 1283, 1045 + xy: 975, 1709 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-unloader rotate: false - xy: 981, 1041 + xy: 1171, 1709 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 bridge-arrow rotate: false - xy: 939, 113 + xy: 1625, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor rotate: false - xy: 1109, 113 + xy: 1625, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-bridge rotate: false - xy: 1143, 113 + xy: 1659, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-end rotate: false - xy: 1177, 113 + xy: 1693, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 center rotate: false - xy: 1211, 113 + xy: 1727, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-0-0 rotate: false - xy: 1739, 172 + xy: 2015, 1547 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-armored-conveyor-full rotate: false - xy: 1739, 172 + xy: 2015, 1547 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-0-1 rotate: false - xy: 785, 156 + xy: 2015, 727 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-0-2 rotate: false - xy: 701, 153 + xy: 2015, 693 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-0-3 rotate: false - xy: 819, 153 + xy: 2015, 659 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-1-0 rotate: false - xy: 1549, 152 + xy: 2015, 625 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-1-1 rotate: false - xy: 1583, 152 + xy: 2015, 591 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-1-2 rotate: false - xy: 1617, 152 + xy: 2015, 557 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-1-3 rotate: false - xy: 1773, 152 + xy: 2015, 523 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-0 rotate: false - xy: 451, 151 + xy: 2015, 489 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-1 rotate: false - xy: 853, 149 + xy: 2005, 1043 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-2 rotate: false - xy: 887, 149 + xy: 2005, 1009 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-3 rotate: false - xy: 535, 148 + xy: 1623, 485 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-0 rotate: false - xy: 735, 148 + xy: 1657, 485 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-1 rotate: false - xy: 1, 147 + xy: 1691, 485 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-2 rotate: false - xy: 35, 147 + xy: 1725, 485 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-3 rotate: false - xy: 69, 147 + xy: 1759, 485 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-0 rotate: false - xy: 103, 147 + xy: 1793, 485 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-1 rotate: false - xy: 137, 147 + xy: 1827, 485 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-2 rotate: false - xy: 171, 147 + xy: 1861, 477 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-3 rotate: false - xy: 205, 147 + xy: 1895, 477 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-1 rotate: false - xy: 603, 105 + xy: 1761, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-2 rotate: false - xy: 1719, 104 + xy: 1795, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-3 rotate: false - xy: 1449, 103 + xy: 1659, 179 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-0 rotate: false - xy: 1635, 96 + xy: 1693, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-1 rotate: false - xy: 1669, 96 + xy: 1727, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-2 rotate: false - xy: 753, 88 + xy: 1761, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-3 rotate: false - xy: 1483, 87 + xy: 1795, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-0 rotate: false - xy: 1807, 87 + xy: 1693, 179 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-1 rotate: false - xy: 1841, 87 + xy: 1727, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-2 rotate: false - xy: 1875, 87 + xy: 1761, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-3 rotate: false - xy: 671, 85 + xy: 1795, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-0 rotate: false - xy: 787, 85 + xy: 1727, 179 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-1 rotate: false - xy: 1517, 84 + xy: 1761, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-2 rotate: false - xy: 1551, 84 + xy: 1795, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-3 rotate: false - xy: 1585, 84 + xy: 1761, 179 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-0 rotate: false - xy: 1753, 84 + xy: 1795, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-1 rotate: false - xy: 443, 83 + xy: 1795, 179 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-2 rotate: false - xy: 821, 81 + xy: 1625, 145 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-3 rotate: false - xy: 855, 81 + xy: 1659, 145 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor rotate: false - xy: 1351, 45 + xy: 1863, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-0 rotate: false - xy: 1385, 45 + xy: 1897, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-1 rotate: false - xy: 1889, 45 + xy: 1931, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-2 rotate: false - xy: 1923, 45 + xy: 1897, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-edge rotate: false - xy: 1957, 45 + xy: 1931, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-stack rotate: false - xy: 1991, 45 + xy: 1931, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-1 rotate: false - xy: 1215, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-0-2 - rotate: false - xy: 1249, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-0-3 - rotate: false - xy: 1283, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-1-0 - rotate: false - xy: 1317, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-1-1 - rotate: false - xy: 1351, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-1-2 - rotate: false - xy: 1385, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-1-3 - rotate: false - xy: 1873, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-2-0 - rotate: false - xy: 1907, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-2-1 - rotate: false - xy: 1941, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-2-2 - rotate: false - xy: 1975, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-2-3 - rotate: false - xy: 2009, 11 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-3-0 - rotate: false - xy: 477, 9 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-3-1 - rotate: false - xy: 545, 3 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-3-2 - rotate: false - xy: 579, 3 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-3-3 - rotate: false - xy: 1671, 2 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-conveyor-4-0 - rotate: false - xy: 1419, 1 + xy: 2003, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cross rotate: false - xy: 239, 79 + xy: 1459, 99 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 distributor rotate: false - xy: 1167, 521 + xy: 1511, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 inverted-sorter rotate: false - xy: 991, 79 + xy: 1527, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 junction rotate: false - xy: 443, 49 + xy: 1493, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mass-conveyor rotate: false - xy: 887, 845 + xy: 943, 1219 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-conveyor-edge rotate: false - xy: 1, 840 + xy: 1041, 1219 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-conveyor-top rotate: false - xy: 491, 837 + xy: 1139, 1219 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 payload-router-top rotate: false - xy: 491, 837 + xy: 1139, 1219 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-driver-base rotate: false - xy: 1083, 833 + xy: 919, 1121 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 overflow-gate rotate: false - xy: 1011, 45 + xy: 1897, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 payload-router rotate: false - xy: 1475, 751 + xy: 1433, 1329 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 payload-router-edge rotate: false - xy: 1573, 751 + xy: 1531, 1427 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 payload-router-over rotate: false - xy: 1671, 751 + xy: 1433, 1231 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 phase-conveyor rotate: false - xy: 1181, 45 + xy: 1931, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-arrow rotate: false - xy: 1215, 45 + xy: 1829, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-bridge rotate: false - xy: 1249, 45 + xy: 1863, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-end rotate: false - xy: 1283, 45 + xy: 1897, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 router rotate: false - xy: 443, 15 + xy: 1935, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sorter rotate: false - xy: 273, 11 + xy: 1901, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 blast-drill rotate: false - xy: 1311, 1615 + xy: 1, 401 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 blast-drill-rim rotate: false - xy: 1441, 1615 + xy: 1497, 1917 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 blast-drill-rotator rotate: false - xy: 1571, 1615 + xy: 1, 271 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 blast-drill-top rotate: false - xy: 1701, 1615 + xy: 1627, 1917 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 drill-top rotate: false - xy: 1365, 521 + xy: 1709, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-liquid rotate: false - xy: 1365, 521 + xy: 1709, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 laser-drill rotate: false - xy: 1197, 849 + xy: 943, 1317 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-rim rotate: false - xy: 1295, 849 + xy: 1041, 1415 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-rotator rotate: false - xy: 1393, 849 + xy: 1759, 1525 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-top rotate: false - xy: 1491, 849 + xy: 1857, 1527 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-drill rotate: false - xy: 199, 463 + xy: 1907, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-rotator rotate: false - xy: 265, 463 + xy: 1907, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-top rotate: false - xy: 331, 463 + xy: 1899, 811 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 oil-extractor rotate: false - xy: 197, 759 + xy: 1213, 1121 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-liquid rotate: false - xy: 295, 759 + xy: 1335, 1415 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-rotator rotate: false - xy: 393, 759 + xy: 1335, 1317 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-top rotate: false - xy: 1181, 751 + xy: 1335, 1219 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 pneumatic-drill rotate: false - xy: 1419, 455 + xy: 901, 748 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-rotator rotate: false - xy: 1485, 455 + xy: 967, 748 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-top rotate: false - xy: 1551, 455 + xy: 1033, 748 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor rotate: false - xy: 133, 331 + xy: 985, 22 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-liquid rotate: false - xy: 199, 331 + xy: 1051, 88 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-rotator rotate: false - xy: 265, 331 + xy: 1117, 154 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-top rotate: false - xy: 331, 331 + xy: 1051, 22 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-border rotate: false - xy: 375, 147 + xy: 1565, 477 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-middle rotate: false - xy: 1685, 130 + xy: 1557, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-select rotate: false - xy: 103, 113 + xy: 1625, 383 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 1909, 113 + xy: 1761, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 message rotate: false - xy: 977, 45 + xy: 1863, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 place-arrow rotate: false - xy: 1769, 751 + xy: 1531, 1329 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 bridge-conduit rotate: false - xy: 973, 113 + xy: 1659, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-arrow rotate: false - xy: 1007, 113 + xy: 1693, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-arrow rotate: false - xy: 1007, 113 + xy: 1693, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-bridge rotate: false - xy: 1041, 113 + xy: 1727, 383 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-end rotate: false - xy: 1075, 113 + xy: 1761, 417 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 1313, 113 + xy: 1625, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-0 rotate: false - xy: 1347, 113 + xy: 1659, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-1 rotate: false - xy: 1381, 113 + xy: 1693, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-2 rotate: false - xy: 1415, 113 + xy: 1727, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-3 rotate: false - xy: 1415, 113 + xy: 1727, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-4 rotate: false - xy: 1415, 113 + xy: 1727, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-0 rotate: false - xy: 1943, 113 + xy: 1795, 383 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-1 rotate: false - xy: 1977, 113 + xy: 1625, 179 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-2 rotate: false - xy: 2011, 113 + xy: 1659, 213 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-3 rotate: false - xy: 477, 111 + xy: 1693, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-3 rotate: false - xy: 477, 111 + xy: 1693, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-4 rotate: false - xy: 569, 105 + xy: 1727, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-junction rotate: false - xy: 511, 46 + xy: 1829, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate rotate: false - xy: 35, 45 + xy: 1829, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate-top rotate: false - xy: 69, 45 + xy: 1863, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-bottom rotate: false - xy: 103, 45 + xy: 1897, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-liquid rotate: false - xy: 137, 45 + xy: 1829, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-top rotate: false - xy: 171, 45 + xy: 1863, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-tank-bottom rotate: false - xy: 1785, 849 + xy: 1139, 1317 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-liquid rotate: false - xy: 1883, 849 + xy: 1237, 1415 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-top rotate: false - xy: 687, 845 + xy: 1237, 1317 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 409, 45 + xy: 1829, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mechanical-pump-liquid rotate: false - xy: 613, 45 + xy: 1863, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump-liquid rotate: false - xy: 613, 45 + xy: 1863, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thermal-pump-liquid rotate: false - xy: 613, 45 + xy: 1863, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit rotate: false - xy: 1045, 45 + xy: 1931, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-arrow rotate: false - xy: 1079, 45 + xy: 1829, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-bridge rotate: false - xy: 1113, 45 + xy: 1863, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-end rotate: false - xy: 1147, 45 + xy: 1897, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-cap rotate: false - xy: 545, 37 + xy: 1965, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-0 rotate: false - xy: 579, 37 + xy: 1965, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-1 rotate: false - xy: 1687, 36 + xy: 1965, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-2 rotate: false - xy: 1419, 35 + xy: 1965, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-3 rotate: false - xy: 1603, 28 + xy: 1965, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-4 rotate: false - xy: 1637, 28 + xy: 1965, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-0 rotate: false - xy: 1805, 19 + xy: 1833, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-1 rotate: false - xy: 1839, 19 + xy: 1867, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-2 rotate: false - xy: 647, 17 + xy: 1833, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-4 rotate: false - xy: 773, 17 + xy: 1867, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump rotate: false - xy: 927, 399 + xy: 1099, 682 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 393, 661 + xy: 1923, 1233 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 battery rotate: false - xy: 239, 147 + xy: 1929, 477 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 battery-large rotate: false - xy: 1693, 1143 + xy: 623, 379 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 battery-large-top rotate: false - xy: 1791, 1143 + xy: 623, 281 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 battery-top rotate: false - xy: 273, 147 + xy: 1963, 477 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 1245, 113 + xy: 1761, 383 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 1279, 113 + xy: 1795, 417 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 differential-generator rotate: false - xy: 1765, 947 + xy: 1367, 1525 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 differential-generator-liquid rotate: false - xy: 1863, 947 + xy: 1465, 1623 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 differential-generator-top rotate: false - xy: 691, 943 + xy: 1563, 1721 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 diode rotate: false - xy: 273, 79 + xy: 1459, 65 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 diode-arrow rotate: false - xy: 307, 79 + xy: 1459, 31 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator rotate: false - xy: 889, 79 + xy: 1493, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator-top rotate: false - xy: 923, 79 + xy: 1527, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 impact-reactor rotate: false - xy: 911, 1371 + xy: 261, 395 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-bottom rotate: false - xy: 1041, 1371 + xy: 261, 265 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-light rotate: false - xy: 521, 1359 + xy: 261, 135 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-plasma-0 rotate: false - xy: 651, 1359 + xy: 261, 5 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-plasma-1 rotate: false - xy: 1171, 1355 + xy: 455, 1305 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-plasma-2 rotate: false - xy: 1301, 1355 + xy: 447, 1175 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 impact-reactor-plasma-3 rotate: false - xy: 1431, 1355 + xy: 435, 1045 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 power-node rotate: false - xy: 739, 20 + xy: 1965, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-node-large rotate: false - xy: 1893, 421 + xy: 1099, 748 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 power-source rotate: false - xy: 1453, 19 + xy: 1965, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void rotate: false - xy: 1771, 19 + xy: 1833, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 993, 399 + xy: 1165, 682 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rtg-generator-top rotate: false - xy: 807, 13 + xy: 1867, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 239, 11 + xy: 1867, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-large rotate: false - xy: 295, 661 + xy: 1923, 1331 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 surge-tower rotate: false - xy: 1471, 389 + xy: 991, 286 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 1947, 355 + xy: 991, 220 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-reactor rotate: false - xy: 1177, 653 + xy: 919, 1023 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-lights rotate: false - xy: 1275, 653 + xy: 1017, 1023 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-top rotate: false - xy: 1373, 653 + xy: 1115, 1023 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 turbine-generator rotate: false - xy: 743, 333 + xy: 1057, 220 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-cap rotate: false - xy: 875, 333 + xy: 1123, 286 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-top rotate: false - xy: 941, 333 + xy: 1123, 220 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-turbine0 rotate: false - xy: 595, 332 + xy: 985, 154 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-turbine1 rotate: false - xy: 809, 332 + xy: 985, 88 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 alloy-smelter rotate: false - xy: 1497, 1143 + xy: 635, 575 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 alloy-smelter-top rotate: false - xy: 1595, 1143 + xy: 623, 477 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 blast-mixer rotate: false - xy: 1981, 897 + xy: 721, 128 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-forge rotate: false - xy: 883, 1061 + xy: 909, 1807 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 coal-centrifuge rotate: false - xy: 479, 533 + xy: 859, 285 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 729, 529 + xy: 1807, 1009 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 1, 528 + xy: 1873, 1009 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 545, 527 + xy: 919, 153 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator rotate: false - xy: 1629, 526 + xy: 919, 87 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 1695, 526 + xy: 919, 21 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 1761, 526 + xy: 1445, 951 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 disassembler rotate: false - xy: 903, 943 + xy: 1465, 1525 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 disassembler-liquid rotate: false - xy: 1, 938 + xy: 1563, 1623 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 disassembler-spinner rotate: false - xy: 491, 935 + xy: 1661, 1721 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 graphite-press rotate: false - xy: 1497, 521 + xy: 1841, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 incinerator rotate: false - xy: 957, 79 + xy: 1493, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source rotate: false - xy: 1467, 53 + xy: 1799, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void rotate: false - xy: 1737, 50 + xy: 1799, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 kiln rotate: false - xy: 1563, 521 + xy: 1511, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 kiln-top rotate: false - xy: 1893, 487 + xy: 1577, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-smelter-top rotate: false - xy: 1893, 487 + xy: 1577, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 liquid-source rotate: false - xy: 273, 45 + xy: 1829, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-void rotate: false - xy: 307, 45 + xy: 1863, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 melter rotate: false - xy: 875, 45 + xy: 1897, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 multi-press rotate: false - xy: 785, 767 + xy: 1017, 1121 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 phase-weaver rotate: false - xy: 1761, 460 + xy: 835, 683 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-bottom rotate: false - xy: 1827, 460 + xy: 905, 814 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-weave rotate: false - xy: 1155, 455 + xy: 971, 814 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor rotate: false - xy: 1221, 455 + xy: 1037, 814 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor-top rotate: false - xy: 1287, 455 + xy: 1103, 814 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 1487, 16 + xy: 1901, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 1521, 16 + xy: 1833, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pyratite-mixer rotate: false - xy: 1075, 405 + xy: 901, 682 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator rotate: false - xy: 529, 395 + xy: 1057, 550 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 1617, 394 + xy: 925, 352 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-spinner rotate: false - xy: 1683, 394 + xy: 991, 418 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-crucible rotate: false - xy: 99, 661 + xy: 1825, 1231 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 silicon-crucible-top rotate: false - xy: 197, 661 + xy: 1923, 1429 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 silicon-smelter rotate: false - xy: 1749, 394 + xy: 1057, 484 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press rotate: false - xy: 1815, 394 + xy: 1123, 550 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame0 rotate: false - xy: 1141, 389 + xy: 925, 286 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame1 rotate: false - xy: 1207, 389 + xy: 991, 352 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame2 rotate: false - xy: 1273, 389 + xy: 1057, 418 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-liquid rotate: false - xy: 1339, 389 + xy: 1123, 484 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-top rotate: false - xy: 1405, 389 + xy: 925, 220 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rock1 rotate: false - xy: 101, 181 + xy: 1347, 401 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rock2 rotate: false - xy: 151, 181 + xy: 1397, 451 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sand-boulder1 rotate: false - xy: 841, 13 + xy: 1901, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-boulder2 rotate: false - xy: 511, 12 + xy: 1935, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder1 rotate: false - xy: 137, 11 + xy: 1969, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder2 rotate: false - xy: 171, 11 + xy: 1969, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snowrock1 rotate: false - xy: 351, 181 + xy: 1397, 351 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrock2 rotate: false - xy: 401, 181 + xy: 1347, 251 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-cluster1 rotate: false - xy: 1941, 147 + xy: 1623, 519 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 spore-cluster2 rotate: false - xy: 1983, 147 + xy: 1665, 519 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 spore-cluster3 rotate: false - xy: 493, 145 + xy: 1707, 519 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 container rotate: false - xy: 957, 531 + xy: 853, 153 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 core-foundation rotate: false - xy: 651, 1489 + xy: 131, 351 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 core-foundation-team rotate: false - xy: 1181, 1485 + xy: 131, 221 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 core-nucleus-team rotate: false - xy: 1, 1887 + xy: 1, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 core-shard rotate: false - xy: 1, 1036 + xy: 1171, 1611 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 core-shard-team rotate: false - xy: 495, 1033 + xy: 1171, 1513 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 vault rotate: false - xy: 1569, 653 + xy: 1311, 1023 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 arc-heat rotate: false - xy: 785, 190 + xy: 1411, 983 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-1 rotate: false - xy: 307, 147 + xy: 1497, 477 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-2 rotate: false - xy: 1101, 603 + xy: 721, 62 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-3 rotate: false - xy: 1889, 1143 + xy: 623, 183 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-4 rotate: false - xy: 1831, 1615 + xy: 1, 141 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 hail-heat rotate: false - xy: 831, 290 + xy: 1447, 419 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 1089, 471 + xy: 1709, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 meltdown-heat rotate: false - xy: 1821, 1355 + xy: 403, 655 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 ripple-heat rotate: false - xy: 687, 747 + xy: 1531, 1231 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 salvo-heat rotate: false - xy: 809, 398 + xy: 935, 616 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-left rotate: false - xy: 67, 397 + xy: 1001, 616 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-right rotate: false - xy: 133, 397 + xy: 1067, 616 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch-heat rotate: false - xy: 1, 11 + xy: 1935, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 661, 331 + xy: 1117, 22 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 additive-reconstructor rotate: false - xy: 1951, 1387 + xy: 737, 779 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 additive-reconstructor-top rotate: false - xy: 1301, 1143 + xy: 737, 681 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 air-factory rotate: false - xy: 1399, 1143 + xy: 839, 881 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 command-center rotate: false - xy: 811, 531 + xy: 859, 219 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 factory-in-3 rotate: false - xy: 1001, 931 + xy: 1563, 1525 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 factory-in-5 rotate: false - xy: 1, 1725 + xy: 325, 1561 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 factory-out-3 rotate: false - xy: 1099, 931 + xy: 1661, 1623 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 factory-out-5 rotate: false - xy: 163, 1725 + xy: 487, 1723 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 factory-top-3 rotate: false - xy: 789, 865 + xy: 1759, 1721 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ground-factory rotate: false - xy: 393, 857 + xy: 1759, 1623 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 multiplicative-reconstructor rotate: false - xy: 325, 1725 + xy: 649, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 multiplicative-reconstructor-top rotate: false - xy: 487, 1725 + xy: 1, 1075 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 naval-factory rotate: false - xy: 99, 759 + xy: 1115, 1121 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 rally-point rotate: false - xy: 463, 401 + xy: 967, 682 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 repair-point-base rotate: false - xy: 1721, 16 + xy: 1901, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 resupply-point rotate: false - xy: 743, 399 + xy: 1033, 682 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 copper-wall rotate: false - xy: 511, 80 + xy: 1693, 145 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-large rotate: false - xy: 1023, 531 + xy: 853, 87 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door rotate: false - xy: 341, 79 + xy: 1493, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 door-large rotate: false - xy: 1233, 521 + xy: 1577, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 1299, 521 + xy: 1643, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-open rotate: false - xy: 375, 79 + xy: 1527, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 1317, 45 + xy: 1931, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 1695, 460 + xy: 835, 749 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-wall rotate: false - xy: 477, 43 + xy: 1965, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-wall-large rotate: false - xy: 1353, 455 + xy: 1169, 814 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-gigantic rotate: false - xy: 911, 1241 + xy: 617, 1467 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 scrap-wall-huge2 rotate: false - xy: 1079, 735 + xy: 1825, 1427 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-huge3 rotate: false - xy: 785, 669 + xy: 1825, 1329 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-large1 rotate: false - xy: 265, 397 + xy: 925, 550 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large2 rotate: false - xy: 331, 397 + xy: 925, 484 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large3 rotate: false - xy: 397, 397 + xy: 991, 550 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large4 rotate: false - xy: 677, 397 + xy: 925, 418 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall2 rotate: false - xy: 35, 11 + xy: 1935, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall3 rotate: false - xy: 69, 11 + xy: 1969, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall4 rotate: false - xy: 103, 11 + xy: 1969, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall5 rotate: false - xy: 103, 11 + xy: 1969, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall rotate: false - xy: 1147, 11 + xy: 2003, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall-large rotate: false - xy: 1537, 389 + xy: 1057, 352 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-wall rotate: false - xy: 1181, 11 + xy: 2003, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-wall-large rotate: false - xy: 1059, 339 + xy: 1057, 286 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thruster rotate: false - xy: 521, 1229 + xy: 585, 1207 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 titanium-wall-large rotate: false - xy: 463, 335 + xy: 1123, 352 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 bullet rotate: false - xy: 727, 279 + xy: 1759, 757 size: 52, 52 orig: 52, 52 offset: 0, 0 index: -1 bullet-back rotate: false - xy: 875, 279 + xy: 1813, 757 size: 52, 52 orig: 52, 52 offset: 0, 0 index: -1 circle-end rotate: false - xy: 1, 1134 + xy: 533, 714 size: 100, 199 orig: 100, 199 offset: 0, 0 index: -1 error rotate: false - xy: 1937, 247 + xy: 1291, 117 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 laser-end rotate: false - xy: 491, 599 + xy: 1869, 1075 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 minelaser-end rotate: false - xy: 663, 596 + xy: 1943, 1077 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 missile rotate: false - xy: 1629, 615 + xy: 1749, 519 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 missile-back rotate: false - xy: 1837, 356 + xy: 1787, 519 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 parallax-laser-end rotate: false - xy: 883, 596 + xy: 1297, 872 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 particle rotate: false - xy: 1423, 147 + xy: 1723, 561 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 shell rotate: false - xy: 2011, 317 + xy: 1825, 519 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 shell-back rotate: false - xy: 687, 293 + xy: 1863, 511 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 alpha-wreck0 rotate: false - xy: 875, 414 + xy: 1967, 761 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-wreck1 rotate: false - xy: 1007, 349 + xy: 1465, 703 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-wreck2 rotate: false - xy: 929, 283 + xy: 1515, 703 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 arc rotate: false - xy: 2013, 387 + xy: 843, 1529 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 arkyid-wreck0 rotate: false - xy: 921, 1631 + xy: 1237, 1917 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 arkyid-wreck1 rotate: false - xy: 1051, 1631 + xy: 1, 531 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 arkyid-wreck2 rotate: false - xy: 1181, 1615 + xy: 1367, 1917 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 atrax-wreck0 rotate: false - xy: 491, 673 + xy: 1207, 880 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 atrax-wreck1 rotate: false - xy: 979, 669 + xy: 1321, 957 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 atrax-wreck2 rotate: false - xy: 1069, 669 + xy: 1433, 1165 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 beta-wreck0 rotate: false - xy: 101, 281 + xy: 1765, 707 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 beta-wreck1 rotate: false - xy: 151, 281 + xy: 1815, 707 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 beta-wreck2 rotate: false - xy: 201, 281 + xy: 1247, 567 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 block-additive-reconstructor-full rotate: false - xy: 511, 1131 + xy: 623, 85 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-air-factory-full rotate: false - xy: 609, 1131 + xy: 779, 1661 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-arc-full rotate: false - xy: 341, 147 + xy: 1531, 477 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-blast-drill-full rotate: false - xy: 1, 1595 + xy: 1757, 1917 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 block-char-full rotate: false - xy: 409, 147 + xy: 1489, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-cliffs-full rotate: false - xy: 651, 147 + xy: 1489, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-conduit-full rotate: false - xy: 921, 147 + xy: 1523, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-conveyor-full rotate: false - xy: 955, 147 + xy: 1489, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-0 rotate: false - xy: 955, 147 + xy: 1489, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-core-foundation-full rotate: false - xy: 131, 1595 + xy: 1, 11 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 block-core-shard-full rotate: false - xy: 1087, 1127 + xy: 779, 1563 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-craters-full rotate: false - xy: 989, 147 + xy: 1523, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-cryofluidmixer-full rotate: false - xy: 83, 595 + xy: 1371, 817 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-cultivator-full rotate: false - xy: 149, 595 + xy: 737, 615 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-cyclone-full rotate: false - xy: 1185, 1127 + xy: 811, 1807 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-dark-metal-full rotate: false - xy: 1023, 147 + xy: 1557, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-darksand-full rotate: false - xy: 1057, 147 + xy: 1489, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-dunerocks-full rotate: false - xy: 1091, 147 + xy: 1523, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-duo-full rotate: false - xy: 1125, 147 + xy: 1557, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-fuse-full rotate: false - xy: 103, 1053 + xy: 1007, 1807 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-grass-full rotate: false - xy: 1159, 147 + xy: 1489, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ground-factory-full rotate: false - xy: 201, 1053 + xy: 1105, 1807 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-hail-full rotate: false - xy: 1193, 147 + xy: 1523, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-holostone-full rotate: false - xy: 1227, 147 + xy: 1557, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-hotrock-full rotate: false - xy: 1261, 147 + xy: 1489, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ice-full rotate: false - xy: 1295, 147 + xy: 1523, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ice-snow-full rotate: false - xy: 1329, 147 + xy: 1557, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-icerocks-full rotate: false - xy: 569, 139 + xy: 1489, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ignarock-full rotate: false - xy: 603, 139 + xy: 1523, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-impact-reactor-full rotate: false - xy: 261, 1595 + xy: 1887, 1917 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 block-lancer-full rotate: false - xy: 215, 595 + xy: 803, 615 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-laser-drill-full rotate: false - xy: 299, 1053 + xy: 877, 1709 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-liquid-router-full rotate: false - xy: 1739, 138 + xy: 1557, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-liquid-tank-full rotate: false - xy: 397, 1053 + xy: 877, 1611 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-magmarock-full rotate: false - xy: 1465, 137 + xy: 1489, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-mass-conveyor-full rotate: false - xy: 1381, 1045 + xy: 975, 1611 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-conveyor-icon rotate: false - xy: 1381, 1045 + xy: 975, 1611 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-mass-driver-full rotate: false - xy: 1479, 1045 + xy: 1073, 1709 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-mechanical-drill-full rotate: false - xy: 281, 595 + xy: 793, 549 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-meltdown-full rotate: false - xy: 391, 1595 + xy: 163, 1001 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 block-metal-floor-damaged-full rotate: false - xy: 1651, 130 + xy: 1523, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-moss-full rotate: false - xy: 769, 122 + xy: 1489, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-naval-factory-full rotate: false - xy: 1577, 1045 + xy: 1073, 1611 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-oil-extractor-full rotate: false - xy: 1675, 1045 + xy: 877, 1513 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-ore-coal-full rotate: false - xy: 1499, 121 + xy: 1523, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-copper-full rotate: false - xy: 1807, 121 + xy: 1557, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-lead-full rotate: false - xy: 1841, 121 + xy: 1523, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-scrap-full rotate: false - xy: 1875, 121 + xy: 1557, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-thorium-full rotate: false - xy: 685, 119 + xy: 1557, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-titanium-full rotate: false - xy: 803, 119 + xy: 1591, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-parallax-full rotate: false - xy: 347, 595 + xy: 793, 483 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-payload-router-full rotate: false - xy: 1773, 1045 + xy: 975, 1513 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 payload-router-icon rotate: false - xy: 1773, 1045 + xy: 975, 1513 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-pebbles-full rotate: false - xy: 1533, 118 + xy: 1591, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-phase-weaver-full rotate: false - xy: 413, 595 + xy: 793, 417 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-plated-conduit-full rotate: false - xy: 1567, 118 + xy: 1591, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-pneumatic-drill-full rotate: false - xy: 1167, 587 + xy: 793, 351 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-pulse-conduit-full rotate: false - xy: 1601, 118 + xy: 1591, 341 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-pulverizer-full rotate: false - xy: 1773, 118 + xy: 1591, 307 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-repair-point-full rotate: false - xy: 443, 117 + xy: 1591, 273 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ripple-full rotate: false - xy: 1871, 1045 + xy: 1073, 1513 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-rock-full rotate: false - xy: 251, 281 + xy: 1247, 517 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 block-rocks-full rotate: false - xy: 837, 115 + xy: 1591, 239 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-saltrocks-full rotate: false - xy: 871, 115 + xy: 1591, 205 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-salvo-full rotate: false - xy: 1233, 587 + xy: 793, 285 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-sand-boulder-full rotate: false - xy: 535, 114 + xy: 1591, 171 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-sand-full rotate: false - xy: 719, 114 + xy: 1625, 451 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-sandrocks-full rotate: false - xy: 1, 113 + xy: 1659, 451 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-scatter-full rotate: false - xy: 1299, 587 + xy: 793, 219 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-scorch-full rotate: false - xy: 35, 113 + xy: 1625, 417 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-scrap-wall-full rotate: false - xy: 69, 113 + xy: 1693, 451 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall1 rotate: false - xy: 69, 113 + xy: 1693, 451 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-scrap-wall-huge-full rotate: false - xy: 707, 1041 + xy: 1203, 1807 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-huge1 rotate: false - xy: 707, 1041 + xy: 1203, 1807 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-scrap-wall-large-full rotate: false - xy: 1365, 587 + xy: 787, 153 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-segment-full rotate: false - xy: 1431, 587 + xy: 787, 87 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-shale-boulder-full rotate: false - xy: 137, 113 + xy: 1659, 417 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shale-full rotate: false - xy: 171, 113 + xy: 1727, 451 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shalerocks-full rotate: false - xy: 205, 113 + xy: 1625, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shrubs-full rotate: false - xy: 239, 113 + xy: 1659, 383 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-snow-full rotate: false - xy: 273, 113 + xy: 1693, 417 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-snowrock-full rotate: false - xy: 301, 281 + xy: 1247, 467 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 block-snowrocks-full rotate: false - xy: 307, 113 + xy: 1761, 451 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-spectre-full rotate: false - xy: 791, 1501 + xy: 143, 871 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 block-spore-cluster-full rotate: false - xy: 1913, 632 + xy: 1497, 511 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 block-spore-moss-full rotate: false - xy: 341, 113 + xy: 1625, 315 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-spore-press-full rotate: false - xy: 1497, 587 + xy: 787, 21 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-sporerocks-full rotate: false - xy: 375, 113 + xy: 1659, 349 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-stone-full rotate: false - xy: 409, 113 + xy: 1693, 383 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-swarmer-full rotate: false - xy: 1563, 587 + xy: 859, 549 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-tendrils-full rotate: false - xy: 637, 113 + xy: 1727, 417 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-titanium-conveyor-full rotate: false - xy: 905, 113 + xy: 1795, 451 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-0 rotate: false - xy: 905, 113 + xy: 1795, 451 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-turbine-generator-full rotate: false - xy: 1913, 553 + xy: 859, 483 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-water-extractor-full rotate: false - xy: 1979, 553 + xy: 859, 417 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-wave-full rotate: false - xy: 1101, 537 + xy: 859, 351 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 bryde-wreck0 rotate: false - xy: 1549, 1745 + xy: 163, 1131 size: 140, 140 orig: 140, 140 offset: 0, 0 index: -1 bryde-wreck1 rotate: false - xy: 1691, 1745 + xy: 953, 1905 size: 140, 140 orig: 140, 140 offset: 0, 0 index: -1 bryde-wreck2 rotate: false - xy: 1833, 1745 + xy: 1, 791 size: 140, 140 orig: 140, 140 offset: 0, 0 index: -1 core-foundation-team-crux rotate: false - xy: 1311, 1485 + xy: 131, 91 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 core-foundation-team-sharded rotate: false - xy: 1441, 1485 + xy: 325, 1305 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 core-nucleus-team-crux rotate: false - xy: 163, 1887 + xy: 1, 1723 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 core-nucleus-team-sharded rotate: false - xy: 325, 1887 + xy: 163, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 core-shard-team-crux rotate: false - xy: 593, 1033 + xy: 1301, 1819 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 core-shard-team-sharded rotate: false - xy: 1079, 1029 + xy: 1399, 1819 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-1-0 rotate: false - xy: 705, 80 + xy: 1727, 145 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-1 rotate: false - xy: 1, 79 + xy: 1761, 145 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-2 rotate: false - xy: 35, 79 + xy: 1795, 145 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-3 rotate: false - xy: 69, 79 + xy: 1425, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-4 rotate: false - xy: 103, 79 + xy: 1425, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-5 rotate: false - xy: 137, 79 + xy: 1425, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-6 rotate: false - xy: 171, 79 + xy: 1425, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-7 rotate: false - xy: 205, 79 + xy: 1459, 133 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-2-0 rotate: false - xy: 663, 530 + xy: 853, 21 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-1 rotate: false - xy: 877, 530 + xy: 1437, 817 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-2 rotate: false - xy: 83, 529 + xy: 1411, 1017 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-3 rotate: false - xy: 149, 529 + xy: 1477, 1017 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-4 rotate: false - xy: 215, 529 + xy: 1543, 1009 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-5 rotate: false - xy: 281, 529 + xy: 1609, 1009 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-6 rotate: false - xy: 347, 529 + xy: 1675, 1009 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-7 rotate: false - xy: 413, 529 + xy: 1741, 1009 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-3-0 rotate: false - xy: 1177, 1029 + xy: 1497, 1819 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-1 rotate: false - xy: 805, 963 + xy: 1595, 1819 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-2 rotate: false - xy: 99, 955 + xy: 1693, 1819 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-3 rotate: false - xy: 197, 955 + xy: 1791, 1819 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-4 rotate: false - xy: 295, 955 + xy: 1889, 1819 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-5 rotate: false - xy: 393, 955 + xy: 1269, 1709 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-6 rotate: false - xy: 1275, 947 + xy: 1269, 1611 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-7 rotate: false - xy: 1373, 947 + xy: 1269, 1513 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-4-0 rotate: false - xy: 1571, 1485 + xy: 487, 1467 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-1 rotate: false - xy: 1701, 1485 + xy: 649, 1629 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-2 rotate: false - xy: 1831, 1485 + xy: 317, 1175 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-3 rotate: false - xy: 1, 1465 + xy: 305, 1045 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-4 rotate: false - xy: 131, 1465 + xy: 293, 915 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-5 rotate: false - xy: 261, 1465 + xy: 273, 785 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-6 rotate: false - xy: 391, 1465 + xy: 273, 655 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-4-7 rotate: false - xy: 781, 1371 + xy: 261, 525 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 cracks-5-0 rotate: false - xy: 649, 1887 + xy: 163, 1723 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-1 rotate: false - xy: 811, 1887 + xy: 325, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-2 rotate: false - xy: 973, 1887 + xy: 1, 1399 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-3 rotate: false - xy: 1135, 1887 + xy: 163, 1561 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-4 rotate: false - xy: 1297, 1887 + xy: 325, 1723 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-5 rotate: false - xy: 1459, 1887 + xy: 487, 1885 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-6 rotate: false - xy: 1621, 1887 + xy: 1, 1237 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 cracks-5-7 rotate: false - xy: 1783, 1887 + xy: 163, 1399 size: 160, 160 orig: 160, 160 offset: 0, 0 index: -1 crawler-wreck0 rotate: false - xy: 1173, 281 + xy: 1247, 217 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-wreck1 rotate: false - xy: 1223, 281 + xy: 1247, 167 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-wreck2 rotate: false - xy: 1273, 281 + xy: 1241, 117 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 cyclone rotate: false - xy: 1471, 947 + xy: 1367, 1721 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 dagger-wreck0 rotate: false - xy: 1473, 281 + xy: 1715, 653 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-wreck1 rotate: false - xy: 1523, 281 + xy: 1765, 657 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-wreck2 rotate: false - xy: 1837, 247 + xy: 1815, 657 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 duo rotate: false - xy: 409, 79 + xy: 1493, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 flare-wreck0 rotate: false - xy: 571, 232 + xy: 1965, 711 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 flare-wreck1 rotate: false - xy: 1, 231 + xy: 1865, 649 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 flare-wreck2 rotate: false - xy: 51, 231 + xy: 1915, 661 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 fortress-wreck0 rotate: false - xy: 205, 1253 + xy: 521, 468 size: 100, 80 orig: 100, 80 offset: 0, 0 index: -1 fortress-wreck1 rotate: false - xy: 307, 1253 + xy: 521, 386 size: 100, 80 orig: 100, 80 offset: 0, 0 index: -1 fortress-wreck2 rotate: false - xy: 409, 1253 + xy: 521, 304 size: 100, 80 orig: 100, 80 offset: 0, 0 index: -1 fuse rotate: false - xy: 295, 857 + xy: 1661, 1525 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 gamma-wreck0 rotate: false - xy: 1183, 331 + xy: 1189, 304 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 gamma-wreck1 rotate: false - xy: 1241, 331 + xy: 1189, 246 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 gamma-wreck2 rotate: false - xy: 1299, 331 + xy: 1353, 759 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 hail rotate: false - xy: 637, 79 + xy: 1561, 137 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 horizon-wreck0 rotate: false - xy: 1969, 1069 + xy: 1647, 1075 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 horizon-wreck1 rotate: false - xy: 805, 1065 + xy: 1721, 1075 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 horizon-wreck2 rotate: false - xy: 1197, 955 + xy: 1795, 1075 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 item-blast-compound-large rotate: false - xy: 1529, 239 + xy: 1539, 511 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-blast-compound-medium rotate: false - xy: 1059, 79 + xy: 1527, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-blast-compound-xlarge rotate: false - xy: 251, 231 + xy: 1765, 607 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-coal-large rotate: false - xy: 881, 237 + xy: 1447, 377 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-coal-medium rotate: false - xy: 1127, 79 + xy: 1561, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal-xlarge rotate: false - xy: 301, 231 + xy: 1815, 607 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-copper-large rotate: false - xy: 1529, 197 + xy: 1447, 335 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-copper-medium rotate: false - xy: 1195, 79 + xy: 1298, 672 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper-xlarge rotate: false - xy: 351, 231 + xy: 1865, 599 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-graphite-large rotate: false - xy: 1381, 189 + xy: 1447, 293 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-graphite-medium rotate: false - xy: 1263, 79 + xy: 1595, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite-xlarge rotate: false - xy: 401, 231 + xy: 1915, 561 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-lead-large rotate: false - xy: 1423, 189 + xy: 1447, 251 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-lead-medium rotate: false - xy: 1331, 79 + xy: 1595, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead-xlarge rotate: false - xy: 621, 231 + xy: 1965, 561 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-metaglass-large rotate: false - xy: 701, 187 + xy: 1447, 209 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-metaglass-medium rotate: false - xy: 1399, 79 + xy: 1663, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass-xlarge rotate: false - xy: 671, 231 + xy: 1465, 653 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-phase-fabric-large rotate: false - xy: 821, 187 + xy: 1597, 603 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-phase-fabric-medium rotate: false - xy: 1943, 79 + xy: 1663, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric-xlarge rotate: false - xy: 979, 231 + xy: 1515, 653 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-plastanium-large rotate: false - xy: 1571, 186 + xy: 1597, 561 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-plastanium-medium rotate: false - xy: 2011, 79 + xy: 1663, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium-xlarge rotate: false - xy: 1029, 231 + xy: 1565, 653 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-pyratite-large rotate: false - xy: 1613, 186 + xy: 1347, 159 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-pyratite-medium rotate: false - xy: 545, 71 + xy: 1731, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite-xlarge rotate: false - xy: 1079, 231 + xy: 1615, 645 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-sand-large rotate: false - xy: 1773, 186 + xy: 1341, 117 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-sand-medium rotate: false - xy: 1703, 70 + xy: 1731, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand-xlarge rotate: false - xy: 1129, 231 + xy: 1665, 603 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-scrap-large rotate: false - xy: 451, 185 + xy: 1341, 75 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-scrap-medium rotate: false - xy: 1619, 62 + xy: 1731, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap-xlarge rotate: false - xy: 1179, 231 + xy: 1715, 603 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-silicon-large rotate: false - xy: 743, 182 + xy: 1341, 33 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-silicon-medium rotate: false - xy: 739, 54 + xy: 1765, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon-xlarge rotate: false - xy: 1229, 231 + xy: 1765, 557 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-spore-pod-large rotate: false - xy: 1465, 171 + xy: 1389, 151 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-spore-pod-medium rotate: false - xy: 1821, 53 + xy: 1799, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod-xlarge rotate: false - xy: 1279, 231 + xy: 1815, 557 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-surge-alloy-large rotate: false - xy: 1655, 164 + xy: 1383, 109 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-surge-alloy-medium rotate: false - xy: 671, 51 + xy: 1629, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy-xlarge rotate: false - xy: 1329, 231 + xy: 1865, 549 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-thorium-large rotate: false - xy: 1697, 164 + xy: 1383, 67 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-thorium-medium rotate: false - xy: 1501, 50 + xy: 1697, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium-xlarge rotate: false - xy: 1379, 231 + xy: 1915, 511 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-titanium-large rotate: false - xy: 1507, 155 + xy: 1383, 25 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-titanium-medium rotate: false - xy: 1569, 50 + xy: 1765, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium-xlarge rotate: false - xy: 1429, 231 + xy: 1965, 511 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 lancer rotate: false - xy: 1959, 487 + xy: 1643, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 liquid-cryofluid-large rotate: false - xy: 1815, 155 + xy: 1581, 511 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-cryofluid-medium rotate: false - xy: 841, 47 + xy: 1561, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid-xlarge rotate: false - xy: 831, 229 + xy: 1297, 435 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-oil-large rotate: false - xy: 1857, 155 + xy: 1447, 167 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-oil-medium rotate: false - xy: 1, 45 + xy: 1863, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil-xlarge rotate: false - xy: 1623, 228 + xy: 1297, 385 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-slag-large rotate: false - xy: 1899, 155 + xy: 1639, 561 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-slag-medium rotate: false - xy: 239, 45 + xy: 1931, 443 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag-xlarge rotate: false - xy: 1779, 228 + xy: 1297, 335 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-water-large rotate: false - xy: 1381, 147 + xy: 1681, 561 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-water-medium rotate: false - xy: 375, 45 + xy: 1931, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water-xlarge rotate: false - xy: 451, 227 + xy: 1297, 285 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mace-wreck0 rotate: false - xy: 861, 464 + xy: 1701, 811 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-wreck1 rotate: false - xy: 67, 463 + xy: 1767, 811 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-wreck2 rotate: false - xy: 133, 463 + xy: 1833, 811 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mass-driver rotate: false - xy: 985, 833 + xy: 1237, 1219 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mega-wreck0 rotate: false - xy: 307, 1151 + xy: 635, 877 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 mega-wreck1 rotate: false - xy: 409, 1151 + xy: 635, 775 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 mega-wreck2 rotate: false - xy: 781, 1139 + xy: 737, 877 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 meltdown rotate: false - xy: 1691, 1355 + xy: 403, 785 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 minke-wreck0 rotate: false - xy: 261, 1335 + xy: 391, 265 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 minke-wreck1 rotate: false - xy: 391, 1335 + xy: 391, 135 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 minke-wreck2 rotate: false - xy: 781, 1241 + xy: 391, 5 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 mono-wreck0 rotate: false - xy: 1879, 197 + xy: 1397, 651 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mono-wreck1 rotate: false - xy: 1929, 197 + xy: 1347, 601 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mono-wreck2 rotate: false - xy: 1979, 189 + xy: 1347, 551 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 nova-wreck0 rotate: false - xy: 1473, 331 + xy: 1291, 706 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 nova-wreck1 rotate: false - xy: 1531, 331 + xy: 1349, 701 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 nova-wreck2 rotate: false - xy: 1837, 297 + xy: 1407, 701 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 parallax rotate: false - xy: 1629, 460 + xy: 839, 815 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 poly-wreck0 rotate: false - xy: 529, 287 + xy: 1183, 72 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 poly-wreck1 rotate: false - xy: 1589, 286 + xy: 1183, 14 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 poly-wreck2 rotate: false - xy: 1007, 281 + xy: 1469, 753 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 pulsar-wreck0 rotate: false - xy: 1987, 1237 + xy: 719, 12 size: 58, 48 orig: 58, 48 offset: 0, 0 index: -1 pulsar-wreck1 rotate: false - xy: 1987, 1187 + xy: 1295, 822 size: 58, 48 orig: 58, 48 offset: 0, 0 index: -1 pulsar-wreck2 rotate: false - xy: 529, 345 + xy: 1235, 780 size: 58, 48 orig: 58, 48 offset: 0, 0 index: -1 quasar-wreck0 rotate: false - xy: 581, 593 + xy: 1409, 1083 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 quasar-wreck1 rotate: false - xy: 1667, 592 + xy: 1491, 1083 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 quasar-wreck2 rotate: false - xy: 1749, 592 + xy: 1955, 1737 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 repair-point rotate: false - xy: 1555, 16 + xy: 1867, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ripple rotate: false - xy: 1867, 751 + xy: 1629, 1427 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 risso-wreck0 rotate: false - xy: 589, 741 + xy: 1629, 1231 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 risso-wreck1 rotate: false - xy: 491, 739 + xy: 1727, 1329 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 risso-wreck2 rotate: false - xy: 981, 735 + xy: 1727, 1231 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 salvo rotate: false - xy: 611, 398 + xy: 869, 616 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scatter rotate: false - xy: 199, 397 + xy: 1133, 616 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch rotate: false - xy: 681, 12 + xy: 1901, 35 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 segment rotate: false - xy: 1, 396 + xy: 991, 484 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spectre rotate: false - xy: 1041, 1241 + xy: 585, 1337 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 spiroct-wreck0 rotate: false - xy: 1763, 674 + xy: 937, 946 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 spiroct-wreck1 rotate: false - xy: 1859, 674 + xy: 1033, 946 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 spiroct-wreck2 rotate: false - xy: 687, 670 + xy: 1129, 946 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 splash-0 rotate: false - xy: 341, 11 + xy: 1969, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-1 rotate: false - xy: 375, 11 + xy: 1999, 455 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-10 rotate: false - xy: 1079, 11 + xy: 2003, 149 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-11 rotate: false - xy: 1113, 11 + xy: 2003, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-2 rotate: false - xy: 409, 11 + xy: 1999, 421 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-3 rotate: false - xy: 613, 11 + xy: 1999, 387 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-4 rotate: false - xy: 875, 11 + xy: 1999, 353 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-5 rotate: false - xy: 909, 11 + xy: 1999, 319 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-6 rotate: false - xy: 943, 11 + xy: 1999, 285 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-7 rotate: false - xy: 977, 11 + xy: 1999, 251 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-8 rotate: false - xy: 1011, 11 + xy: 1999, 217 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-9 rotate: false - xy: 1045, 11 + xy: 1999, 183 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 swarmer rotate: false - xy: 1881, 355 + xy: 1123, 418 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 unit-alpha-full rotate: false - xy: 651, 181 + xy: 1347, 201 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-arkyid-full rotate: false - xy: 651, 1229 + xy: 715, 1337 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 unit-atrax-full rotate: false - xy: 1955, 619 + xy: 1523, 1165 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 unit-beta-full rotate: false - xy: 931, 181 + xy: 1397, 243 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-bryde-full rotate: false - xy: 649, 1619 + xy: 1095, 1905 size: 140, 140 orig: 140, 140 offset: 0, 0 index: -1 unit-crawler-full rotate: false - xy: 981, 181 + xy: 1397, 193 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-dagger-full rotate: false - xy: 1031, 181 + xy: 1447, 603 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-flare-full rotate: false - xy: 1081, 181 + xy: 1447, 553 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-fortress-full rotate: false - xy: 883, 1159 + xy: 521, 18 size: 100, 80 orig: 100, 80 offset: 0, 0 index: -1 unit-gamma-full rotate: false - xy: 1647, 278 + xy: 1585, 753 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 unit-horizon-full rotate: false - xy: 737, 595 + xy: 1371, 883 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 unit-mace-full rotate: false - xy: 67, 331 + xy: 1051, 154 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 unit-mega-full rotate: false - xy: 985, 1139 + xy: 635, 673 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 unit-minke-full rotate: false - xy: 1171, 1225 + xy: 715, 1207 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 unit-mono-full rotate: false - xy: 1131, 181 + xy: 1497, 603 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-nova-full rotate: false - xy: 1779, 278 + xy: 1643, 753 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 unit-poly-full rotate: false - xy: 463, 277 + xy: 1701, 753 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 unit-pulsar-full rotate: false - xy: 1603, 344 + xy: 1231, 730 size: 58, 48 orig: 58, 48 offset: 0, 0 index: -1 unit-quasar-full rotate: false - xy: 1831, 592 + xy: 1955, 1655 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 unit-risso-full rotate: false - xy: 1471, 653 + xy: 1213, 1023 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 unit-spiroct-full rotate: false - xy: 883, 670 + xy: 1225, 946 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 unit-zenith-full rotate: false - xy: 1301, 1241 + xy: 577, 1093 size: 112, 112 orig: 112, 112 offset: 0, 0 index: -1 wave rotate: false - xy: 397, 331 + xy: 1117, 88 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 zenith-wreck0 rotate: false - xy: 1643, 1241 + xy: 565, 979 size: 112, 112 orig: 112, 112 offset: 0, 0 index: -1 zenith-wreck1 rotate: false - xy: 1757, 1241 + xy: 679, 979 size: 112, 112 orig: 112, 112 offset: 0, 0 index: -1 zenith-wreck2 rotate: false - xy: 1871, 1241 + xy: 793, 979 size: 112, 112 orig: 112, 112 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 1025, 79 + xy: 1561, 103 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal rotate: false - xy: 1093, 79 + xy: 1561, 69 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper rotate: false - xy: 1161, 79 + xy: 1264, 660 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite rotate: false - xy: 1229, 79 + xy: 1595, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead rotate: false - xy: 1297, 79 + xy: 1629, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass rotate: false - xy: 1365, 79 + xy: 1629, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric rotate: false - xy: 1909, 79 + xy: 1629, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium rotate: false - xy: 1977, 79 + xy: 1697, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite rotate: false - xy: 477, 77 + xy: 1697, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand rotate: false - xy: 579, 71 + xy: 1697, 43 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap rotate: false - xy: 1433, 69 + xy: 1765, 111 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 1653, 62 + xy: 1765, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod rotate: false - xy: 1787, 53 + xy: 1799, 77 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 1855, 53 + xy: 1595, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 773, 51 + xy: 1663, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 1535, 50 + xy: 1731, 9 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid rotate: false - xy: 807, 47 + xy: 1527, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil rotate: false - xy: 705, 46 + xy: 1829, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag rotate: false - xy: 205, 45 + xy: 1897, 409 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water rotate: false - xy: 341, 45 + xy: 1897, 375 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shape-3 rotate: false - xy: 1, 331 + xy: 1199, 617 size: 63, 63 orig: 63, 63 offset: 0, 0 index: -1 alpha rotate: false - xy: 611, 543 + xy: 1867, 761 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-cell rotate: false - xy: 743, 479 + xy: 1917, 761 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 arkyid rotate: false - xy: 791, 1631 + xy: 1, 661 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 chaos-array rotate: false - xy: 791, 1631 + xy: 1, 661 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 arkyid-cell rotate: false - xy: 1955, 685 + xy: 937, 880 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 arkyid-foot rotate: false - xy: 811, 597 + xy: 721, 503 size: 70, 70 orig: 70, 70 offset: 0, 0 index: -1 arkyid-joint-base rotate: false - xy: 957, 597 + xy: 721, 431 size: 70, 70 orig: 70, 70 offset: 0, 0 index: -1 arkyid-leg rotate: false - xy: 1663, 336 + xy: 1295, 764 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 arkyid-leg-base rotate: false - xy: 521, 1659 + xy: 131, 25 size: 104, 64 orig: 104, 64 offset: 0, 0 index: -1 atrax rotate: false - xy: 1, 676 + xy: 1027, 880 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 atrax-base rotate: false - xy: 1975, 1750 + xy: 721, 194 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 atrax-cell rotate: false - xy: 589, 675 + xy: 1117, 880 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 atrax-foot rotate: false - xy: 1987, 1145 + xy: 1447, 461 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 atrax-leg rotate: false - xy: 1961, 1491 + xy: 733, 587 size: 36, 26 orig: 36, 26 offset: 0, 0 index: -1 atrax-leg-base rotate: false - xy: 1999, 1491 + xy: 1341, 5 size: 36, 26 orig: 36, 26 offset: 0, 0 index: -1 beta rotate: false - xy: 1, 281 + xy: 1665, 703 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 beta-cell rotate: false - xy: 51, 281 + xy: 1715, 703 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 bryde rotate: false - xy: 1265, 1745 + xy: 811, 1905 size: 140, 140 orig: 140, 140 offset: 0, 0 index: -1 bryde-cell rotate: false - xy: 1407, 1745 + xy: 1, 933 size: 140, 140 orig: 140, 140 offset: 0, 0 index: -1 chaos-array-base rotate: false - xy: 921, 1501 + xy: 143, 741 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 chaos-array-cell rotate: false - xy: 1051, 1501 + xy: 131, 611 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 chaos-array-leg rotate: false - xy: 521, 1489 + xy: 131, 481 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 crawler rotate: false - xy: 351, 281 + xy: 1247, 417 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-base rotate: false - xy: 401, 281 + xy: 1247, 367 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-cell rotate: false - xy: 637, 281 + xy: 1247, 317 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-leg rotate: false - xy: 1123, 281 + xy: 1247, 267 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger rotate: false - xy: 1323, 281 + xy: 1241, 67 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-base rotate: false - xy: 1373, 281 + xy: 1241, 17 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-leg rotate: false - xy: 1423, 281 + xy: 1665, 653 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 eradicator rotate: false - xy: 649, 1761 + xy: 163, 1273 size: 152, 124 orig: 152, 124 offset: 0, 0 index: -1 eradicator-base rotate: false - xy: 803, 1761 + xy: 325, 1435 size: 152, 124 orig: 152, 124 offset: 0, 0 index: -1 eradicator-cell rotate: false - xy: 957, 1761 + xy: 487, 1597 size: 152, 124 orig: 152, 124 offset: 0, 0 index: -1 eradicator-leg rotate: false - xy: 1111, 1761 + xy: 649, 1759 size: 152, 124 orig: 152, 124 offset: 0, 0 index: -1 flare rotate: false - xy: 929, 233 + xy: 1915, 711 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 fortress rotate: false - xy: 1945, 1967 + xy: 533, 632 size: 100, 80 orig: 100, 80 offset: 0, 0 index: -1 fortress-base rotate: false - xy: 1431, 521 + xy: 1775, 943 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 fortress-cell rotate: false - xy: 103, 1253 + xy: 521, 550 size: 100, 80 orig: 100, 80 offset: 0, 0 index: -1 fortress-leg rotate: false - xy: 1961, 1601 + xy: 553, 917 size: 80, 60 orig: 80, 60 offset: 0, 0 index: -1 gamma rotate: false - xy: 1779, 336 + xy: 1189, 420 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 gamma-cell rotate: false - xy: 1125, 331 + xy: 1189, 362 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 horizon rotate: false - xy: 1975, 1816 + xy: 1955, 1581 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 horizon-cell rotate: false - xy: 707, 1155 + xy: 1573, 1075 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 mace rotate: false - xy: 795, 465 + xy: 1841, 877 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-base rotate: false - xy: 943, 465 + xy: 1503, 811 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-cell rotate: false - xy: 1009, 465 + xy: 1569, 811 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-leg rotate: false - xy: 611, 464 + xy: 1635, 811 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mega rotate: false - xy: 103, 1151 + xy: 521, 202 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 mega-cell rotate: false - xy: 205, 1151 + xy: 521, 100 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 minke rotate: false - xy: 1, 1335 + xy: 391, 525 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 minke-cell rotate: false - xy: 131, 1335 + xy: 391, 395 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 mono rotate: false - xy: 1723, 206 + xy: 1297, 603 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mono-cell rotate: false - xy: 1829, 197 + xy: 1347, 651 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 nova rotate: false - xy: 1357, 331 + xy: 1411, 759 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 nova-base rotate: false - xy: 551, 182 + xy: 1397, 551 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 nova-cell rotate: false - xy: 1415, 331 + xy: 1987, 1859 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 nova-leg rotate: false - xy: 1, 181 + xy: 1347, 451 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 poly rotate: false - xy: 1895, 297 + xy: 1189, 188 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 poly-cell rotate: false - xy: 1953, 297 + xy: 1183, 130 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 power-cell rotate: false - xy: 1065, 281 + xy: 1527, 753 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 pulsar rotate: false - xy: 1985, 1337 + xy: 1955, 1531 size: 58, 48 orig: 58, 48 offset: 0, 0 index: -1 pulsar-base rotate: false - xy: 51, 181 + xy: 1397, 501 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 pulsar-cell rotate: false - xy: 1985, 1287 + xy: 1235, 830 size: 58, 48 orig: 58, 48 offset: 0, 0 index: -1 pulsar-leg rotate: false - xy: 1959, 421 + xy: 1165, 748 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 quasar rotate: false - xy: 1961, 1519 + xy: 1695, 1149 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 quasar-base rotate: false - xy: 1961, 963 + xy: 1777, 1149 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 quasar-cell rotate: false - xy: 1965, 767 + xy: 1859, 1149 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 quasar-leg rotate: false - xy: 1, 594 + xy: 1941, 1151 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 risso rotate: false - xy: 883, 747 + xy: 1629, 1329 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 risso-cell rotate: false - xy: 1, 742 + xy: 1727, 1427 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 spiroct rotate: false - xy: 1945, 1890 + xy: 623, 8 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 spiroct-cell rotate: false - xy: 1667, 674 + xy: 747, 1486 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 spiroct-foot rotate: false - xy: 1981, 849 + xy: 803, 1759 size: 46, 46 orig: 46, 46 offset: 0, 0 index: -1 spiroct-joint rotate: false - xy: 307, 11 + xy: 1935, 1 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spiroct-leg rotate: false - xy: 521, 1623 + xy: 1987, 1823 size: 48, 34 orig: 48, 34 offset: 0, 0 index: -1 spiroct-leg-base rotate: false - xy: 571, 1623 + xy: 1231, 694 size: 48, 34 orig: 48, 34 offset: 0, 0 index: -1 vanguard rotate: false - xy: 1181, 181 + xy: 1497, 553 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 vanguard-cell rotate: false - xy: 1231, 181 + xy: 1447, 503 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 antumbra-missiles rotate: false - xy: 587, 282 + xy: 1565, 703 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 artillery rotate: false - xy: 781, 274 + xy: 1615, 695 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 artillery-mount rotate: false - xy: 1029, 597 + xy: 721, 359 size: 70, 70 orig: 70, 70 offset: 0, 0 index: -1 beam-weapon rotate: false - xy: 1961, 1663 + xy: 1613, 1149 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 chaos rotate: false - xy: 1721, 256 + xy: 1189, 478 size: 56, 136 orig: 56, 136 offset: 0, 0 index: -1 -eclipse-weapon - rotate: false - xy: 1887, 247 - size: 48, 48 - orig: 48, 48 - offset: 0, 0 - index: -1 eradication rotate: false - xy: 589, 839 + xy: 845, 1319 size: 96, 192 orig: 96, 192 offset: 0, 0 index: -1 eruption rotate: false - xy: 1987, 239 + xy: 1291, 59 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 flakgun rotate: false - xy: 521, 237 + xy: 1291, 9 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 flamethrower rotate: false - xy: 1573, 228 + xy: 1865, 699 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 heal-shotgun-weapon rotate: false - xy: 101, 231 + xy: 1965, 661 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 heal-weapon rotate: false - xy: 151, 231 + xy: 1915, 611 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 heal-weapon-mount rotate: false - xy: 201, 231 + xy: 1965, 611 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 large-artillery rotate: false - xy: 1479, 213 + xy: 1297, 535 size: 48, 66 orig: 48, 66 offset: 0, 0 index: -1 +large-bullet-mount + rotate: false + xy: 721, 260 + size: 70, 97 + orig: 70, 97 + offset: 0, 0 + index: -1 +large-laser-mount + rotate: false + xy: 1857, 1625 + size: 96, 192 + orig: 96, 192 + offset: 0, 0 + index: -1 large-weapon rotate: false - xy: 721, 229 + xy: 1297, 485 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 missiles rotate: false - xy: 771, 224 + xy: 1297, 235 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 missiles-mount rotate: false - xy: 1673, 206 + xy: 1297, 185 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mount-purple-weapon rotate: false - xy: 501, 187 + xy: 1397, 601 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mount-weapon rotate: false - xy: 881, 183 + xy: 1347, 501 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 small-basic-weapon rotate: false - xy: 201, 181 + xy: 1347, 351 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 small-mount-weapon rotate: false - xy: 251, 181 + xy: 1397, 401 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 small-weapon rotate: false - xy: 301, 181 + xy: 1347, 301 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spiroct-weapon rotate: false - xy: 601, 173 + xy: 1397, 293 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 weapon rotate: false - xy: 1281, 181 + xy: 1547, 603 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 zenith-missiles rotate: false - xy: 1331, 181 + xy: 1547, 553 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 zenith rotate: false - xy: 1415, 1241 + xy: 691, 1093 size: 112, 112 orig: 112, 112 offset: 0, 0 index: -1 zenith-cell rotate: false - xy: 1529, 1241 + xy: 805, 1093 size: 112, 112 orig: 112, 112 offset: 0, 0 @@ -6029,408 +5931,513 @@ size: 256,256 format: rgba8888 filter: nearest,nearest repeat: none -titanium-conveyor-4-1 +titanium-conveyor-0-2 rotate: false xy: 1, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -titanium-conveyor-4-2 +titanium-conveyor-0-3 rotate: false xy: 1, 189 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -titanium-conveyor-4-3 +titanium-conveyor-1-0 rotate: false xy: 35, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -underflow-gate - rotate: false - xy: 69, 223 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -unloader - rotate: false - xy: 1, 121 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -unloader-center - rotate: false - xy: 35, 155 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -titanium-wall +titanium-conveyor-1-1 rotate: false xy: 1, 155 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -casing - rotate: false - xy: 89, 53 - size: 8, 16 - orig: 8, 16 - offset: 0, 0 - index: -1 -circle-mid - rotate: false - xy: 107, 4 - size: 1, 199 - orig: 1, 199 - offset: 0, 0 - index: -1 -laser - rotate: false - xy: 251, 207 - size: 4, 48 - orig: 4, 48 - offset: 0, 0 - index: -1 -minelaser - rotate: false - xy: 251, 157 - size: 4, 48 - orig: 4, 48 - offset: 0, 0 - index: -1 -parallax-laser - rotate: false - xy: 97, 173 - size: 4, 48 - orig: 4, 48 - offset: 0, 0 - index: -1 -scale_marker - rotate: false - xy: 1, 1 - size: 4, 4 - orig: 4, 4 - offset: 0, 0 - index: -1 -transfer - rotate: false - xy: 63, 3 - size: 4, 48 - orig: 4, 48 - offset: 0, 0 - index: -1 -transfer-arrow +titanium-conveyor-1-2 rotate: false xy: 35, 189 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 +titanium-conveyor-1-3 + rotate: false + xy: 69, 223 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-2-0 + rotate: false + xy: 1, 121 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-2-1 + rotate: false + xy: 35, 155 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-2-2 + rotate: false + xy: 69, 189 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-2-3 + rotate: false + xy: 103, 223 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-3-0 + rotate: false + xy: 1, 87 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-3-1 + rotate: false + xy: 35, 121 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-3-2 + rotate: false + xy: 69, 155 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-3-3 + rotate: false + xy: 103, 189 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-4-0 + rotate: false + xy: 137, 223 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-4-1 + rotate: false + xy: 1, 53 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-4-2 + rotate: false + xy: 35, 87 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-conveyor-4-3 + rotate: false + xy: 69, 121 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +underflow-gate + rotate: false + xy: 171, 223 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +unloader + rotate: false + xy: 1, 19 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +unloader-center + rotate: false + xy: 35, 53 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +titanium-wall + rotate: false + xy: 103, 155 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +casing + rotate: false + xy: 19, 1 + size: 8, 16 + orig: 8, 16 + offset: 0, 0 + index: -1 +circle-mid + rotate: false + xy: 253, 30 + size: 1, 199 + orig: 1, 199 + offset: 0, 0 + index: -1 +laser + rotate: false + xy: 95, 41 + size: 4, 48 + orig: 4, 48 + offset: 0, 0 + index: -1 +minelaser + rotate: false + xy: 101, 41 + size: 4, 48 + orig: 4, 48 + offset: 0, 0 + index: -1 +parallax-laser + rotate: false + xy: 107, 41 + size: 4, 48 + orig: 4, 48 + offset: 0, 0 + index: -1 +scale_marker + rotate: false + xy: 29, 13 + size: 4, 4 + orig: 4, 4 + offset: 0, 0 + index: -1 +transfer + rotate: false + xy: 113, 41 + size: 4, 48 + orig: 4, 48 + offset: 0, 0 + index: -1 +transfer-arrow + rotate: false + xy: 137, 189 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 white rotate: false - xy: 61, 150 + xy: 61, 10 size: 3, 3 orig: 3, 3 offset: 0, 0 index: -1 item-blast-compound-small rotate: false - xy: 103, 231 + xy: 103, 129 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-blast-compound-tiny rotate: false - xy: 233, 239 + xy: 1, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-coal-small rotate: false - xy: 1, 95 + xy: 137, 163 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-coal-tiny rotate: false - xy: 27, 25 + xy: 181, 145 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-copper-small rotate: false - xy: 35, 129 + xy: 171, 197 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-copper-tiny rotate: false - xy: 233, 221 + xy: 181, 127 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-graphite-small rotate: false - xy: 69, 169 + xy: 205, 231 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-graphite-tiny rotate: false - xy: 233, 203 + xy: 181, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-lead-small rotate: false - xy: 129, 231 + xy: 231, 231 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-lead-tiny rotate: false - xy: 27, 7 + xy: 215, 179 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-metaglass-small rotate: false - xy: 1, 69 + xy: 35, 27 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-metaglass-tiny rotate: false - xy: 45, 25 + xy: 199, 153 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-phase-fabric-small rotate: false - xy: 155, 231 + xy: 35, 1 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-phase-fabric-tiny rotate: false - xy: 45, 7 + xy: 199, 135 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-plastanium-small rotate: false - xy: 1, 43 + xy: 69, 67 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-plastanium-tiny rotate: false - xy: 61, 125 + xy: 199, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-pyratite-small rotate: false - xy: 181, 231 + xy: 69, 41 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-pyratite-tiny rotate: false - xy: 79, 125 + xy: 155, 93 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-sand-small rotate: false - xy: 1, 17 + xy: 61, 15 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-sand-tiny rotate: false - xy: 53, 107 + xy: 233, 187 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-scrap-small rotate: false - xy: 207, 231 + xy: 103, 103 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-scrap-tiny rotate: false - xy: 71, 107 + xy: 217, 161 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-silicon-small rotate: false - xy: 69, 143 + xy: 129, 129 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-silicon-tiny rotate: false - xy: 53, 89 + xy: 217, 143 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-spore-pod-small rotate: false - xy: 103, 205 + xy: 129, 103 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-spore-pod-tiny rotate: false - xy: 71, 89 + xy: 217, 125 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-surge-alloy-small rotate: false - xy: 129, 205 + xy: 163, 163 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-surge-alloy-tiny rotate: false - xy: 53, 71 + xy: 199, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-thorium-small rotate: false - xy: 155, 205 + xy: 155, 137 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-thorium-tiny rotate: false - xy: 71, 71 + xy: 217, 107 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-titanium-small rotate: false - xy: 181, 205 + xy: 155, 111 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-titanium-tiny rotate: false - xy: 53, 53 + xy: 235, 169 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-cryofluid-small rotate: false - xy: 207, 205 + xy: 197, 197 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-cryofluid-tiny rotate: false - xy: 71, 53 + xy: 235, 151 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-oil-small rotate: false - xy: 27, 95 + xy: 189, 171 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-oil-tiny rotate: false - xy: 89, 107 + xy: 235, 133 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-slag-small rotate: false - xy: 27, 69 + xy: 223, 205 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-slag-tiny rotate: false - xy: 89, 89 + xy: 235, 115 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-water-small rotate: false - xy: 27, 43 + xy: 87, 15 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-water-tiny rotate: false - xy: 89, 71 + xy: 173, 91 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blank rotate: false - xy: 66, 152 + xy: 61, 50 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 atrax-joint rotate: false - xy: 69, 195 + xy: 69, 93 size: 26, 26 orig: 26, 26 offset: 0, 0 diff --git a/core/assets/sprites/fallback/sprites.png b/core/assets/sprites/fallback/sprites.png index 6b05408ab2..c45cbd7ea0 100644 Binary files a/core/assets/sprites/fallback/sprites.png and b/core/assets/sprites/fallback/sprites.png differ diff --git a/core/assets/sprites/fallback/sprites2.png b/core/assets/sprites/fallback/sprites2.png index 6c54531d6d..092866211b 100644 Binary files a/core/assets/sprites/fallback/sprites2.png and b/core/assets/sprites/fallback/sprites2.png differ diff --git a/core/assets/sprites/fallback/sprites3.png b/core/assets/sprites/fallback/sprites3.png index d7621ba8ac..5f0532fac5 100644 Binary files a/core/assets/sprites/fallback/sprites3.png and b/core/assets/sprites/fallback/sprites3.png differ diff --git a/core/assets/sprites/fallback/sprites4.png b/core/assets/sprites/fallback/sprites4.png index 12c6e236b4..0e77aa0352 100644 Binary files a/core/assets/sprites/fallback/sprites4.png and b/core/assets/sprites/fallback/sprites4.png differ diff --git a/core/assets/sprites/fallback/sprites7.png b/core/assets/sprites/fallback/sprites7.png index d562daa421..982ca5fc65 100644 Binary files a/core/assets/sprites/fallback/sprites7.png and b/core/assets/sprites/fallback/sprites7.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index b1afff4e6b..af812bf1d4 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -20,7 +20,7 @@ data-processor index: -1 data-processor-2 rotate: false - xy: 3487, 369 + xy: 3427, 698 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -48,14 +48,14 @@ launch-pad-large index: -1 launch-pad-light rotate: false - xy: 2431, 747 + xy: 2333, 587 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launchpod rotate: false - xy: 3691, 649 + xy: 3493, 698 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -76,63 +76,63 @@ force-projector-top index: -1 mend-projector rotate: false - xy: 3757, 537 + xy: 3619, 490 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mend-projector-top rotate: false - xy: 3823, 537 + xy: 3685, 556 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mender rotate: false - xy: 2393, 177 + xy: 3210, 89 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mender-top rotate: false - xy: 2427, 149 + xy: 3210, 55 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 overdrive-dome rotate: false - xy: 2627, 551 + xy: 2823, 551 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 overdrive-dome-top rotate: false - xy: 2725, 551 + xy: 2235, 489 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 overdrive-projector rotate: false - xy: 3889, 537 + xy: 3619, 424 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 overdrive-projector-top rotate: false - xy: 3691, 517 + xy: 3685, 490 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 shock-mine rotate: false - xy: 3549, 59 + xy: 2604, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -153,35 +153,35 @@ block-unloader index: -1 bridge-arrow rotate: false - xy: 2597, 251 + xy: 2958, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor rotate: false - xy: 2767, 251 + xy: 2784, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-bridge rotate: false - xy: 2801, 251 + xy: 2822, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-end rotate: false - xy: 2835, 251 + xy: 2856, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 center rotate: false - xy: 2869, 251 + xy: 2890, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -244,49 +244,49 @@ armored-conveyor-1-2 index: -1 armored-conveyor-1-3 rotate: false - xy: 4063, 977 + xy: 4061, 2015 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-0 rotate: false - xy: 4063, 943 + xy: 1905, 587 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-1 rotate: false - xy: 4061, 2015 + xy: 3254, 367 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-2 rotate: false - xy: 3252, 408 + xy: 2796, 269 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-3 rotate: false - xy: 2143, 236 + xy: 4061, 1981 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-0 rotate: false - xy: 2223, 271 + xy: 3254, 333 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-1 rotate: false - xy: 4061, 1981 + xy: 2830, 269 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -300,399 +300,399 @@ armored-conveyor-3-2 index: -1 armored-conveyor-3-3 rotate: false - xy: 4061, 1913 + xy: 2864, 269 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-0 rotate: false - xy: 4061, 1879 + xy: 4061, 1913 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-1 rotate: false - xy: 4061, 1845 + xy: 2898, 269 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-2 rotate: false - xy: 4061, 1811 + xy: 4061, 1879 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-3 rotate: false - xy: 4063, 1777 + xy: 2932, 269 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-1 rotate: false - xy: 2665, 217 + xy: 2394, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-2 rotate: false - xy: 2699, 217 + xy: 2394, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-3 rotate: false - xy: 2733, 217 + xy: 2411, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-0 rotate: false - xy: 2767, 217 + xy: 2428, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-1 rotate: false - xy: 2801, 217 + xy: 2428, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-2 rotate: false - xy: 2835, 217 + xy: 2428, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-3 rotate: false - xy: 2869, 217 + xy: 2445, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-0 rotate: false - xy: 2903, 217 + xy: 2462, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-1 rotate: false - xy: 2937, 217 + xy: 2462, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-2 rotate: false - xy: 2971, 217 + xy: 2462, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-3 rotate: false - xy: 3005, 217 + xy: 2479, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-0 rotate: false - xy: 3039, 301 + xy: 2496, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-1 rotate: false - xy: 3039, 267 + xy: 2496, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-2 rotate: false - xy: 3039, 233 + xy: 2496, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-3 rotate: false - xy: 3039, 199 + xy: 2513, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-0 rotate: false - xy: 3073, 269 + xy: 2530, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-1 rotate: false - xy: 3107, 269 + xy: 2530, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-2 rotate: false - xy: 3073, 235 + xy: 2530, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-3 rotate: false - xy: 3141, 269 + xy: 2547, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor rotate: false - xy: 2835, 149 + xy: 3278, 21 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-0 rotate: false - xy: 2869, 149 + xy: 3390, 334 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-1 rotate: false - xy: 2903, 149 + xy: 3424, 334 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-2 rotate: false - xy: 2937, 149 + xy: 3458, 334 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-edge rotate: false - xy: 2971, 149 + xy: 3492, 334 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-stack rotate: false - xy: 3005, 149 + xy: 3390, 300 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-1 rotate: false - xy: 3583, 23 + xy: 3340, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-2 rotate: false - xy: 3617, 23 + xy: 3272, 291 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-3 rotate: false - xy: 2185, 233 + xy: 3374, 257 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-0 rotate: false - xy: 2185, 199 + xy: 3374, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-1 rotate: false - xy: 2185, 165 + xy: 3408, 266 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-2 rotate: false - xy: 2185, 131 + xy: 3442, 266 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-3 rotate: false - xy: 2185, 97 + xy: 3408, 232 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-0 rotate: false - xy: 2219, 203 + xy: 3476, 266 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-1 rotate: false - xy: 2253, 203 + xy: 3442, 232 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-2 rotate: false - xy: 2219, 169 + xy: 3476, 232 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-3 rotate: false - xy: 2219, 135 + xy: 3510, 256 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-0 rotate: false - xy: 2253, 169 + xy: 3544, 256 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-1 rotate: false - xy: 2219, 101 + xy: 3578, 256 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-2 rotate: false - xy: 2253, 135 + xy: 3612, 256 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-3 rotate: false - xy: 2253, 101 + xy: 3646, 256 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-0 rotate: false - xy: 2287, 173 + xy: 3680, 256 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-1 rotate: false - xy: 2321, 173 + xy: 3510, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-2 rotate: false - xy: 2287, 139 + xy: 3544, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-3 rotate: false - xy: 2355, 173 + xy: 3578, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cross rotate: false - xy: 3243, 256 + xy: 2632, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 distributor rotate: false - xy: 3559, 773 + xy: 3421, 632 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 inverted-sorter rotate: false - xy: 3379, 193 + xy: 2717, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 junction rotate: false - xy: 2971, 183 + xy: 3006, 31 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mass-conveyor rotate: false - xy: 2823, 747 + xy: 2529, 649 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-conveyor-edge rotate: false - xy: 2431, 649 + xy: 2627, 747 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-conveyor-top rotate: false - xy: 2529, 649 + xy: 2627, 649 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 payload-router-top rotate: false - xy: 2529, 649 + xy: 2627, 649 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -706,77 +706,77 @@ mass-driver-base index: -1 overflow-gate rotate: false - xy: 2495, 149 + xy: 3176, 21 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 payload-router rotate: false - xy: 2823, 551 + xy: 2333, 489 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 payload-router-edge rotate: false - xy: 2235, 489 + xy: 2431, 453 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 payload-router-over rotate: false - xy: 2333, 489 + xy: 2529, 453 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 phase-conveyor rotate: false - xy: 2665, 149 + xy: 3244, 21 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-arrow rotate: false - xy: 2699, 149 + xy: 3264, 157 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-bridge rotate: false - xy: 2733, 149 + xy: 3278, 123 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-end rotate: false - xy: 2767, 149 + xy: 3278, 89 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 router rotate: false - xy: 3549, 161 + xy: 3832, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sorter rotate: false - xy: 3617, 57 + xy: 2672, 181 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 underflow-gate rotate: false - xy: 2321, 105 + xy: 3680, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -811,511 +811,511 @@ blast-drill-top index: -1 drill-top rotate: false - xy: 3559, 575 + xy: 3421, 434 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-liquid rotate: false - xy: 3559, 575 + xy: 3421, 434 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 laser-drill rotate: false - xy: 2137, 648 + xy: 2235, 783 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-rim rotate: false - xy: 2235, 783 + xy: 2235, 685 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-rotator rotate: false - xy: 2235, 685 + xy: 2333, 783 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-top rotate: false - xy: 2333, 783 + xy: 2235, 587 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-drill rotate: false - xy: 3889, 735 + xy: 3619, 556 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-rotator rotate: false - xy: 3889, 669 + xy: 3685, 622 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-top rotate: false - xy: 3889, 603 + xy: 3553, 424 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 oil-extractor rotate: false - xy: 2333, 587 + xy: 2431, 551 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-liquid rotate: false - xy: 2137, 550 + xy: 2529, 551 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-rotator rotate: false - xy: 2431, 551 + xy: 2627, 551 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-top rotate: false - xy: 2529, 551 + xy: 2725, 551 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 pneumatic-drill rotate: false - xy: 3955, 670 + xy: 3817, 579 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-rotator rotate: false - xy: 3955, 604 + xy: 3751, 447 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-top rotate: false - xy: 3955, 538 + xy: 3817, 513 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor rotate: false - xy: 729, 22 + xy: 1994, 241 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-liquid rotate: false - xy: 795, 22 + xy: 1885, 175 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-rotator rotate: false - xy: 861, 22 + xy: 1885, 109 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-top rotate: false - xy: 4015, 142 + xy: 1951, 175 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-border rotate: false - xy: 4063, 1607 + xy: 4063, 1743 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-middle rotate: false - xy: 2893, 319 + xy: 2334, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-select rotate: false - xy: 2801, 285 + xy: 3136, 193 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 2461, 217 + xy: 3128, 159 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 message rotate: false - xy: 2461, 149 + xy: 3142, 21 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 place-arrow rotate: false - xy: 2431, 453 + xy: 2627, 453 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 bridge-conduit rotate: false - xy: 2631, 251 + xy: 2992, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-arrow rotate: false - xy: 2665, 251 + xy: 3026, 183 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-arrow rotate: false - xy: 2665, 251 + xy: 3026, 183 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-bridge rotate: false - xy: 2699, 251 + xy: 3060, 183 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-end rotate: false - xy: 2733, 251 + xy: 2750, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 2971, 251 + xy: 2992, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-0 rotate: false - xy: 3005, 251 + xy: 3026, 149 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-1 rotate: false - xy: 2393, 245 + xy: 3060, 149 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-2 rotate: false - xy: 2427, 217 + xy: 3094, 159 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-3 rotate: false - xy: 2427, 217 + xy: 3094, 159 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-4 rotate: false - xy: 2427, 217 + xy: 3094, 159 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-0 rotate: false - xy: 2495, 217 + xy: 3162, 157 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-1 rotate: false - xy: 2529, 217 + xy: 3196, 157 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-2 rotate: false - xy: 2563, 217 + xy: 3230, 157 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-3 rotate: false - xy: 2597, 217 + xy: 2377, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-3 rotate: false - xy: 2597, 217 + xy: 2377, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-4 rotate: false - xy: 2631, 217 + xy: 2394, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-junction rotate: false - xy: 3073, 167 + xy: 3040, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate rotate: false - xy: 3175, 156 + xy: 3074, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate-top rotate: false - xy: 3209, 156 + xy: 3108, 125 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-bottom rotate: false - xy: 3243, 154 + xy: 3108, 91 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-liquid rotate: false - xy: 3277, 126 + xy: 3108, 57 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-top rotate: false - xy: 3311, 126 + xy: 3040, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-tank-bottom rotate: false - xy: 2529, 747 + xy: 2431, 747 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-liquid rotate: false - xy: 2627, 747 + xy: 2431, 649 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-top rotate: false - xy: 2725, 747 + xy: 2529, 747 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 2291, 207 + xy: 3176, 89 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mechanical-pump-liquid rotate: false - xy: 2325, 207 + xy: 3210, 123 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump-liquid rotate: false - xy: 2325, 207 + xy: 3210, 123 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thermal-pump-liquid rotate: false - xy: 2325, 207 + xy: 3210, 123 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit rotate: false - xy: 2529, 149 + xy: 3210, 21 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-arrow rotate: false - xy: 2563, 149 + xy: 3244, 123 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-bridge rotate: false - xy: 2597, 149 + xy: 3244, 89 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-end rotate: false - xy: 2631, 149 + xy: 3244, 55 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-cap rotate: false - xy: 3073, 133 + xy: 3458, 300 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-0 rotate: false - xy: 3107, 133 + xy: 3492, 300 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-1 rotate: false - xy: 3141, 133 + xy: 3526, 324 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-2 rotate: false - xy: 3175, 122 + xy: 3560, 324 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-3 rotate: false - xy: 3209, 122 + xy: 3594, 324 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-4 rotate: false - xy: 3243, 120 + xy: 3628, 324 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-0 rotate: false - xy: 3379, 91 + xy: 3560, 290 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-1 rotate: false - xy: 3413, 91 + xy: 3594, 290 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-2 rotate: false - xy: 3447, 91 + xy: 3628, 290 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-4 rotate: false - xy: 3481, 91 + xy: 3662, 290 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump rotate: false - xy: 4021, 472 + xy: 3883, 579 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 3019, 551 + xy: 3117, 747 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 battery rotate: false - xy: 4063, 1743 + xy: 4061, 1845 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1336,21 +1336,21 @@ battery-large-top index: -1 battery-top rotate: false - xy: 4063, 1709 + xy: 2966, 269 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 2903, 251 + xy: 2924, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 2937, 251 + xy: 2958, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1378,28 +1378,28 @@ differential-generator-top index: -1 diode rotate: false - xy: 3243, 222 + xy: 2632, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 diode-arrow rotate: false - xy: 3175, 190 + xy: 2649, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator rotate: false - xy: 3311, 228 + xy: 2700, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator-top rotate: false - xy: 3311, 194 + xy: 2700, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1455,126 +1455,126 @@ impact-reactor-plasma-3 index: -1 power-node rotate: false - xy: 3277, 92 + xy: 3662, 324 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-node-large rotate: false - xy: 3955, 472 + xy: 3751, 381 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 power-source rotate: false - xy: 3311, 92 + xy: 3696, 324 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void rotate: false - xy: 3345, 91 + xy: 3526, 290 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 3559, 509 + xy: 3883, 513 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rtg-generator-top rotate: false - xy: 3549, 127 + xy: 3866, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 3583, 57 + xy: 2638, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-large rotate: false - xy: 3019, 649 + xy: 3019, 453 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 surge-tower rotate: false - xy: 3619, 311 + xy: 1862, 420 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 3817, 207 + xy: 1928, 505 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-reactor rotate: false - xy: 3019, 453 + xy: 3117, 649 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-lights rotate: false - xy: 3117, 747 + xy: 3117, 551 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-top rotate: false - xy: 3117, 649 + xy: 3117, 453 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 turbine-generator rotate: false - xy: 3949, 273 + xy: 1928, 373 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-cap rotate: false - xy: 3949, 207 + xy: 1994, 439 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-top rotate: false - xy: 4015, 340 + xy: 1928, 307 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-turbine0 rotate: false - xy: 4015, 274 + xy: 1994, 373 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-turbine1 rotate: false - xy: 4015, 208 + xy: 1994, 307 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -1595,7 +1595,7 @@ alloy-smelter-top index: -1 blast-mixer rotate: false - xy: 3289, 530 + xy: 3507, 836 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -1609,49 +1609,49 @@ block-forge index: -1 coal-centrifuge rotate: false - xy: 3355, 435 + xy: 3573, 754 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 3493, 765 + xy: 729, 22 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 3493, 699 + xy: 795, 22 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 3493, 633 + xy: 861, 22 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator rotate: false - xy: 3493, 567 + xy: 3363, 764 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 3487, 501 + xy: 3429, 764 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 3487, 435 + xy: 3361, 698 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -1679,294 +1679,294 @@ disassembler-spinner index: -1 graphite-press rotate: false - xy: 3625, 707 + xy: 3487, 632 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 incinerator rotate: false - xy: 3345, 193 + xy: 2700, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source rotate: false - xy: 2631, 183 + xy: 2904, 65 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void rotate: false - xy: 2937, 183 + xy: 3006, 65 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 kiln rotate: false - xy: 3625, 641 + xy: 3487, 566 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 kiln-top rotate: false - xy: 3625, 575 + xy: 3487, 500 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-smelter-top rotate: false - xy: 3625, 575 + xy: 3487, 500 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 liquid-source rotate: false - xy: 3413, 125 + xy: 3142, 123 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-void rotate: false - xy: 3447, 125 + xy: 3142, 89 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 melter rotate: false - xy: 2359, 207 + xy: 3176, 55 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 multi-press rotate: false - xy: 2823, 649 + xy: 2823, 747 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 phase-weaver rotate: false - xy: 3889, 471 + xy: 3619, 358 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-bottom rotate: false - xy: 3909, 868 + xy: 3685, 358 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-weave rotate: false - xy: 3909, 802 + xy: 3757, 645 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor rotate: false - xy: 3975, 868 + xy: 3823, 645 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor-top rotate: false - xy: 3975, 802 + xy: 3751, 579 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 3515, 91 + xy: 3696, 290 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 3520, 229 + xy: 3730, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pyratite-mixer rotate: false - xy: 4021, 670 + xy: 3817, 381 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator rotate: false - xy: 3955, 406 + xy: 4015, 455 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 4021, 406 + xy: 4015, 389 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-spinner rotate: false - xy: 3751, 339 + xy: 4015, 323 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-crucible rotate: false - xy: 3049, 845 + xy: 3019, 649 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 silicon-crucible-top rotate: false - xy: 3019, 747 + xy: 3019, 551 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 silicon-smelter rotate: false - xy: 3817, 339 + xy: 3949, 257 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press rotate: false - xy: 3883, 339 + xy: 4015, 257 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame0 rotate: false - xy: 3685, 319 + xy: 1796, 486 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame1 rotate: false - xy: 3751, 273 + xy: 1796, 420 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame2 rotate: false - xy: 3817, 273 + xy: 1796, 354 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-liquid rotate: false - xy: 3883, 273 + xy: 1796, 288 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-top rotate: false - xy: 3553, 311 + xy: 1862, 486 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rock1 rotate: false - xy: 2952, 353 + xy: 3154, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rock2 rotate: false - xy: 3002, 353 + xy: 3204, 351 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sand-boulder1 rotate: false - xy: 3549, 93 + xy: 3900, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-boulder2 rotate: false - xy: 3583, 193 + xy: 2366, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder1 rotate: false - xy: 3583, 91 + xy: 2536, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder2 rotate: false - xy: 3617, 91 + xy: 2570, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snowrock1 rotate: false - xy: 3202, 292 + xy: 2604, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrock2 rotate: false - xy: 3252, 348 + xy: 2654, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-cluster1 rotate: false - xy: 2354, 347 + xy: 2594, 219 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 spore-cluster2 rotate: false - xy: 2185, 305 + xy: 2636, 219 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 spore-cluster3 rotate: false - xy: 2227, 305 + xy: 2678, 253 size: 40, 40 orig: 40, 40 offset: 0, 0 @@ -1987,7 +1987,7 @@ white-tree-dead index: -1 container rotate: false - xy: 3457, 831 + xy: 3705, 754 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2036,21 +2036,21 @@ core-shard-team index: -1 unloader rotate: false - xy: 2355, 139 + xy: 3714, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 unloader-center rotate: false - xy: 2355, 105 + xy: 3748, 247 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 vault rotate: false - xy: 3117, 453 + xy: 3175, 943 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -2064,14 +2064,14 @@ arc-heat index: -1 block-1 rotate: false - xy: 4063, 1675 + xy: 4061, 1811 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-2 rotate: false - xy: 3289, 464 + xy: 3289, 591 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2092,14 +2092,14 @@ block-4 index: -1 hail-heat rotate: false - xy: 829, 547 + xy: 4035, 653 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 3691, 715 + xy: 3487, 368 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2113,42 +2113,42 @@ meltdown-heat index: -1 ripple-heat rotate: false - xy: 2627, 453 + xy: 2823, 453 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 salvo-heat rotate: false - xy: 3553, 443 + xy: 3883, 381 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-left rotate: false - xy: 3553, 377 + xy: 3883, 315 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-right rotate: false - xy: 3619, 443 + xy: 3949, 587 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch-heat rotate: false - xy: 3583, 159 + xy: 2400, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 1796, 418 + xy: 1928, 43 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2176,7 +2176,7 @@ air-factory index: -1 command-center rotate: false - xy: 3355, 369 + xy: 3639, 754 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2281,28 +2281,28 @@ multiplicative-reconstructor-top index: -1 naval-factory rotate: false - xy: 2235, 587 + xy: 2823, 649 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 rally-point rotate: false - xy: 4021, 604 + xy: 3751, 315 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 repair-point-base rotate: false - xy: 3549, 195 + xy: 3798, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 resupply-point rotate: false - xy: 4021, 538 + xy: 3817, 315 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2323,70 +2323,70 @@ tetrative-reconstructor-top index: -1 copper-wall rotate: false - xy: 3073, 201 + xy: 2564, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-large rotate: false - xy: 3427, 765 + xy: 3771, 777 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door rotate: false - xy: 3209, 190 + xy: 2666, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 door-large rotate: false - xy: 3559, 707 + xy: 3421, 566 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 3559, 641 + xy: 3421, 500 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-open rotate: false - xy: 3243, 188 + xy: 2666, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 2801, 149 + xy: 3278, 55 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 3823, 471 + xy: 3553, 358 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-wall rotate: false - xy: 3039, 131 + xy: 3424, 300 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-wall-large rotate: false - xy: 3955, 736 + xy: 3751, 513 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2400,98 +2400,98 @@ scrap-wall-gigantic index: -1 scrap-wall-huge2 rotate: false - xy: 2921, 453 + xy: 3049, 845 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-huge3 rotate: false - xy: 2951, 845 + xy: 3019, 747 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-large1 rotate: false - xy: 3691, 451 + xy: 3949, 455 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large2 rotate: false - xy: 3685, 385 + xy: 3949, 389 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large3 rotate: false - xy: 3757, 405 + xy: 3949, 323 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large4 rotate: false - xy: 3823, 405 + xy: 4015, 587 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall2 rotate: false - xy: 3583, 125 + xy: 2434, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall3 rotate: false - xy: 3617, 159 + xy: 2468, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall4 rotate: false - xy: 3617, 125 + xy: 2502, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall5 rotate: false - xy: 3617, 125 + xy: 2502, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall rotate: false - xy: 3515, 57 + xy: 3306, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall-large rotate: false - xy: 3685, 253 + xy: 1862, 354 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-wall rotate: false - xy: 3549, 25 + xy: 3340, 257 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-wall-large rotate: false - xy: 3883, 207 + xy: 1928, 439 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2505,35 +2505,35 @@ thruster index: -1 titanium-wall rotate: false - xy: 2287, 105 + xy: 3612, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-wall-large rotate: false - xy: 3949, 339 + xy: 1994, 505 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 bullet rotate: false - xy: 3655, 851 + xy: 2292, 319 size: 52, 52 orig: 52, 52 offset: 0, 0 index: -1 bullet-back rotate: false - xy: 2152, 496 + xy: 2350, 377 size: 52, 52 orig: 52, 52 offset: 0, 0 index: -1 casing rotate: false - xy: 1931, 603 + xy: 2706, 197 size: 8, 16 orig: 8, 16 offset: 0, 0 @@ -2547,7 +2547,7 @@ circle-end index: -1 circle-mid rotate: false - xy: 4081, 205 + xy: 4081, 494 size: 1, 199 orig: 1, 199 offset: 0, 0 @@ -2561,7 +2561,7 @@ circle-shadow index: -1 error rotate: false - xy: 2078, 34 + xy: 4011, 803 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -2575,119 +2575,119 @@ laser index: -1 laser-end rotate: false - xy: 3215, 664 + xy: 3215, 549 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 minelaser rotate: false - xy: 3553, 517 + xy: 3961, 949 size: 4, 48 orig: 4, 48 offset: 0, 0 index: -1 minelaser-end rotate: false - xy: 3215, 590 + xy: 3215, 475 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 missile rotate: false - xy: 2269, 309 + xy: 3361, 660 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 missile-back rotate: false - xy: 2307, 309 + xy: 2720, 257 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 parallax-laser rotate: false - xy: 3685, 459 + xy: 607, 693 size: 4, 48 orig: 4, 48 offset: 0, 0 index: -1 parallax-laser-end rotate: false - xy: 3215, 516 + xy: 3215, 401 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 particle rotate: false - xy: 2312, 347 + xy: 2552, 219 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 scale_marker rotate: false - xy: 3355, 590 + xy: 3553, 692 size: 4, 4 orig: 4, 4 offset: 0, 0 index: -1 shell rotate: false - xy: 2345, 309 + xy: 2678, 215 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 shell-back rotate: false - xy: 2185, 267 + xy: 2758, 265 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 transfer rotate: false - xy: 607, 693 + xy: 639, 1033 size: 4, 48 orig: 4, 48 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 2321, 139 + xy: 3646, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 white rotate: false - xy: 1856, 348 + xy: 2077, 171 size: 3, 3 orig: 3, 3 offset: 0, 0 index: -1 alpha-wreck0 rotate: false - xy: 2093, 334 + xy: 2082, 209 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-wreck1 rotate: false - xy: 2093, 284 + xy: 2132, 212 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-wreck2 rotate: false - xy: 1856, 246 + xy: 2182, 212 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -2743,42 +2743,42 @@ arkyid-wreck2 index: -1 atrax-wreck0 rotate: false - xy: 3459, 979 + xy: 3273, 902 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 atrax-wreck1 rotate: false - xy: 3549, 979 + xy: 3363, 902 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 atrax-wreck2 rotate: false - xy: 3639, 979 + xy: 3453, 902 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 beta-wreck0 rotate: false - xy: 1885, 146 + xy: 2077, 109 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 beta-wreck1 rotate: false - xy: 1935, 220 + xy: 2044, 59 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 beta-wreck2 rotate: false - xy: 1935, 170 + xy: 2044, 9 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -2799,7 +2799,7 @@ block-air-factory-full index: -1 block-arc-full rotate: false - xy: 4063, 1641 + xy: 4063, 1777 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2813,35 +2813,35 @@ block-blast-drill-full index: -1 block-char-full rotate: false - xy: 927, 4 + xy: 4063, 1709 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-cliffs-full rotate: false - xy: 961, 4 + xy: 4063, 1675 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-conduit-full rotate: false - xy: 995, 4 + xy: 4063, 1641 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-conveyor-full rotate: false - xy: 1029, 4 + xy: 4063, 1607 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-0 rotate: false - xy: 1029, 4 + xy: 4063, 1607 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2869,21 +2869,21 @@ block-core-shard-full index: -1 block-craters-full rotate: false - xy: 1063, 4 + xy: 3000, 269 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-cryofluidmixer-full rotate: false - xy: 3289, 398 + xy: 3289, 525 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-cultivator-full rotate: false - xy: 3711, 913 + xy: 3289, 459 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2897,28 +2897,28 @@ block-cyclone-full index: -1 block-dark-metal-full rotate: false - xy: 2383, 313 + xy: 3288, 359 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-darksand-full rotate: false - xy: 2417, 319 + xy: 3322, 359 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-dunerocks-full rotate: false - xy: 2451, 319 + xy: 3356, 359 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-duo-full rotate: false - xy: 2485, 319 + xy: 3288, 325 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2939,7 +2939,7 @@ block-fuse-full index: -1 block-grass-full rotate: false - xy: 2519, 319 + xy: 3322, 325 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2953,49 +2953,49 @@ block-ground-factory-full index: -1 block-hail-full rotate: false - xy: 2553, 319 + xy: 3356, 325 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-holostone-full rotate: false - xy: 2587, 319 + xy: 4061, 869 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-hotrock-full rotate: false - xy: 2621, 319 + xy: 4061, 835 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ice-full rotate: false - xy: 2655, 319 + xy: 927, 4 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ice-snow-full rotate: false - xy: 2689, 319 + xy: 961, 4 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-icerocks-full rotate: false - xy: 2723, 319 + xy: 995, 4 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ignarock-full rotate: false - xy: 2757, 319 + xy: 1029, 4 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3009,7 +3009,7 @@ block-impact-reactor-full index: -1 block-lancer-full rotate: false - xy: 3777, 933 + xy: 3289, 393 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -3023,7 +3023,7 @@ block-laser-drill-full index: -1 block-liquid-router-full rotate: false - xy: 2791, 319 + xy: 1063, 4 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3037,7 +3037,7 @@ block-liquid-tank-full index: -1 block-magmarock-full rotate: false - xy: 2825, 319 + xy: 2758, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3065,7 +3065,7 @@ block-mass-driver-full index: -1 block-mechanical-drill-full rotate: false - xy: 3843, 933 + xy: 1941, 571 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -3079,14 +3079,14 @@ block-meltdown-full index: -1 block-metal-floor-damaged-full rotate: false - xy: 2859, 319 + xy: 2346, 339 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-moss-full rotate: false - xy: 2927, 319 + xy: 2332, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3114,49 +3114,49 @@ block-oil-extractor-full index: -1 block-ore-coal-full rotate: false - xy: 2961, 319 + xy: 2332, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-copper-full rotate: false - xy: 2995, 319 + xy: 2796, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-lead-full rotate: false - xy: 2257, 271 + xy: 2830, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-scrap-full rotate: false - xy: 2291, 275 + xy: 2864, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-thorium-full rotate: false - xy: 2325, 275 + xy: 2898, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-titanium-full rotate: false - xy: 2359, 275 + xy: 2932, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-parallax-full rotate: false - xy: 3777, 867 + xy: 2007, 571 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -3177,49 +3177,49 @@ payload-router-icon index: -1 block-pebbles-full rotate: false - xy: 2393, 279 + xy: 2966, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-phase-weaver-full rotate: false - xy: 3843, 867 + xy: 3945, 851 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-plated-conduit-full rotate: false - xy: 2427, 285 + xy: 3000, 235 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-pneumatic-drill-full rotate: false - xy: 3711, 847 + xy: 3967, 945 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-pulse-conduit-full rotate: false - xy: 2461, 285 + xy: 3034, 251 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-pulverizer-full rotate: false - xy: 2495, 285 + xy: 3068, 251 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-repair-point-full rotate: false - xy: 2529, 285 + xy: 3034, 217 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3233,77 +3233,77 @@ block-ripple-full index: -1 block-rock-full rotate: false - xy: 1985, 220 + xy: 2094, 59 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 block-rocks-full rotate: false - xy: 2563, 285 + xy: 3068, 217 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-saltrocks-full rotate: false - xy: 2597, 285 + xy: 3102, 227 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-salvo-full rotate: false - xy: 3777, 801 + xy: 3945, 785 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-sand-boulder-full rotate: false - xy: 2631, 285 + xy: 3136, 227 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-sand-full rotate: false - xy: 2665, 285 + xy: 3170, 225 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-sandrocks-full rotate: false - xy: 2699, 285 + xy: 3204, 225 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-scatter-full rotate: false - xy: 3843, 801 + xy: 3355, 591 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-scorch-full rotate: false - xy: 2733, 285 + xy: 3238, 225 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-scrap-wall-full rotate: false - xy: 2767, 285 + xy: 3102, 193 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall1 rotate: false - xy: 2767, 285 + xy: 3102, 193 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3324,63 +3324,63 @@ scrap-wall-huge1 index: -1 block-scrap-wall-large-full rotate: false - xy: 3325, 831 + xy: 3355, 525 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-segment-full rotate: false - xy: 3391, 831 + xy: 3355, 459 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-shale-boulder-full rotate: false - xy: 2835, 285 + xy: 3170, 191 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shale-full rotate: false - xy: 2869, 285 + xy: 3204, 191 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shalerocks-full rotate: false - xy: 2903, 285 + xy: 3238, 191 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shrubs-full rotate: false - xy: 2937, 285 + xy: 2720, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-snow-full rotate: false - xy: 2971, 285 + xy: 2716, 189 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-snowrock-full rotate: false - xy: 1985, 170 + xy: 2094, 9 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 block-snowrocks-full rotate: false - xy: 3005, 285 + xy: 2754, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3394,49 +3394,49 @@ block-spectre-full index: -1 block-spore-cluster-full rotate: false - xy: 3729, 1003 + xy: 3903, 801 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 block-spore-moss-full rotate: false - xy: 2427, 251 + xy: 2788, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-spore-press-full rotate: false - xy: 3361, 765 + xy: 3355, 393 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-sporerocks-full rotate: false - xy: 2461, 251 + xy: 2822, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-stone-full rotate: false - xy: 2495, 251 + xy: 2856, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-swarmer-full rotate: false - xy: 3361, 699 + xy: 3507, 770 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-tendrils-full rotate: false - xy: 2529, 251 + xy: 2890, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3450,35 +3450,35 @@ block-tetrative-reconstructor-full index: -1 block-titanium-conveyor-full rotate: false - xy: 2563, 251 + xy: 2924, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-0 rotate: false - xy: 2563, 251 + xy: 2924, 201 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-turbine-generator-full rotate: false - xy: 3361, 633 + xy: 3573, 820 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-water-extractor-full rotate: false - xy: 3361, 567 + xy: 3639, 820 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-wave-full rotate: false - xy: 3355, 501 + xy: 3705, 820 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -3548,112 +3548,112 @@ core-shard-team-sharded index: -1 cracks-1-0 rotate: false - xy: 3107, 235 + xy: 2564, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-1 rotate: false - xy: 3107, 201 + xy: 2564, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-2 rotate: false - xy: 3141, 235 + xy: 2581, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-3 rotate: false - xy: 3141, 201 + xy: 2598, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-4 rotate: false - xy: 3175, 258 + xy: 2598, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-5 rotate: false - xy: 3209, 258 + xy: 2598, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-6 rotate: false - xy: 3175, 224 + xy: 2615, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-7 rotate: false - xy: 3209, 224 + xy: 2632, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-2-0 rotate: false - xy: 3427, 699 + xy: 3837, 777 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-1 rotate: false - xy: 3427, 633 + xy: 3771, 711 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-2 rotate: false - xy: 3427, 567 + xy: 3837, 711 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-3 rotate: false - xy: 3421, 501 + xy: 3903, 719 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-4 rotate: false - xy: 3421, 435 + xy: 3969, 719 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-5 rotate: false - xy: 3421, 369 + xy: 3903, 653 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-6 rotate: false - xy: 3523, 839 + xy: 3969, 653 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-7 rotate: false - xy: 3589, 839 + xy: 663, 22 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -4052,21 +4052,21 @@ cracks-9-7 index: -1 crawler-wreck0 rotate: false - xy: 1985, 120 + xy: 2194, 62 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-wreck1 rotate: false - xy: 2035, 120 + xy: 2194, 12 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-wreck2 rotate: false - xy: 2085, 134 + xy: 2227, 112 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -4080,28 +4080,28 @@ cyclone index: -1 dagger-wreck0 rotate: false - xy: 1978, 20 + xy: 1855, 571 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-wreck1 rotate: false - xy: 2028, 70 + xy: 4033, 903 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-wreck2 rotate: false - xy: 2028, 20 + xy: 4011, 853 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 duo rotate: false - xy: 3277, 228 + xy: 2666, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4129,21 +4129,21 @@ eclipse-wreck2 index: -1 flare-wreck0 rotate: false - xy: 2152, 396 + xy: 2282, 215 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 flare-wreck1 rotate: false - xy: 2202, 439 + xy: 2282, 165 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 flare-wreck2 rotate: false - xy: 2252, 439 + xy: 2277, 115 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -4178,70 +4178,70 @@ fuse index: -1 gamma-wreck0 rotate: false - xy: 1978, 502 + xy: 2060, 259 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 gamma-wreck1 rotate: false - xy: 1920, 444 + xy: 2118, 494 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 gamma-wreck2 rotate: false - xy: 2036, 502 + xy: 2118, 436 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 hail rotate: false - xy: 3277, 194 + xy: 2683, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 horizon-wreck0 rotate: false - xy: 3637, 905 + xy: 3215, 771 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 horizon-wreck1 rotate: false - xy: 3243, 812 + xy: 3215, 697 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 horizon-wreck2 rotate: false - xy: 3215, 738 + xy: 3215, 623 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 item-blast-compound-large rotate: false - xy: 1885, 104 + xy: 829, 547 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-blast-compound-medium rotate: false - xy: 3447, 193 + xy: 2785, 129 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-blast-compound-small rotate: false - xy: 1419, 1049 + xy: 3771, 860 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -4255,707 +4255,707 @@ item-blast-compound-tiny index: -1 item-blast-compound-xlarge rotate: false - xy: 2252, 389 + xy: 2344, 65 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-coal-large rotate: false - xy: 3600, 269 + xy: 1928, 1 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-coal-medium rotate: false - xy: 3277, 160 + xy: 2853, 133 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal-small rotate: false - xy: 1445, 1049 + xy: 1419, 1049 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-coal-tiny rotate: false - xy: 19, 1 + xy: 3753, 1027 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-coal-xlarge rotate: false - xy: 2302, 389 + xy: 2344, 15 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-copper-large rotate: false - xy: 3642, 269 + xy: 1844, 246 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-copper-medium rotate: false - xy: 3345, 159 + xy: 2921, 133 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper-small rotate: false - xy: 613, 1057 + xy: 1445, 1049 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-copper-tiny rotate: false - xy: 37, 1 + xy: 2060, 241 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-copper-xlarge rotate: false - xy: 2352, 389 + xy: 2334, 269 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-graphite-large rotate: false - xy: 2178, 26 + xy: 1886, 246 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-graphite-medium rotate: false - xy: 3413, 159 + xy: 2989, 133 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite-small rotate: false - xy: 967, 1733 + xy: 2768, 1 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-graphite-tiny rotate: false - xy: 55, 1 + xy: 4011, 785 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-graphite-xlarge rotate: false - xy: 2402, 403 + xy: 2404, 381 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-lead-large rotate: false - xy: 3352, 227 + xy: 3104, 261 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-lead-medium rotate: false - xy: 3481, 159 + xy: 2734, 47 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead-small rotate: false - xy: 903, 1121 + xy: 2794, 1 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-lead-tiny rotate: false - xy: 73, 1 + xy: 3034, 285 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-lead-xlarge rotate: false - xy: 2452, 403 + xy: 2454, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-metaglass-large rotate: false - xy: 3394, 227 + xy: 3146, 261 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-metaglass-medium rotate: false - xy: 3515, 159 + xy: 2768, 95 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass-small rotate: false - xy: 871, 863 + xy: 2820, 1 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-metaglass-tiny rotate: false - xy: 91, 1 + xy: 19, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-metaglass-xlarge rotate: false - xy: 2502, 403 + xy: 2504, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-phase-fabric-large rotate: false - xy: 3436, 227 + xy: 3188, 259 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-phase-fabric-medium rotate: false - xy: 2257, 237 + xy: 2768, 27 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric-small rotate: false - xy: 1161, 1185 + xy: 2400, 221 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-phase-fabric-tiny rotate: false - xy: 109, 1 + xy: 3753, 1009 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-phase-fabric-xlarge rotate: false - xy: 2552, 403 + xy: 2554, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-plastanium-large rotate: false - xy: 3478, 227 + xy: 3230, 259 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-plastanium-medium rotate: false - xy: 2325, 241 + xy: 2802, 61 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium-small rotate: false - xy: 1129, 959 + xy: 613, 1057 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-plastanium-tiny rotate: false - xy: 127, 1 + xy: 37, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-plastanium-xlarge rotate: false - xy: 2602, 403 + xy: 2604, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-pyratite-large rotate: false - xy: 3600, 227 + xy: 3245, 860 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-pyratite-medium rotate: false - xy: 2393, 211 + xy: 2836, 99 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite-small rotate: false - xy: 1097, 733 + xy: 967, 1733 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-pyratite-tiny rotate: false - xy: 145, 1 + xy: 55, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-pyratite-xlarge rotate: false - xy: 2652, 403 + xy: 2654, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-sand-large rotate: false - xy: 3642, 227 + xy: 2384, 289 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-sand-medium rotate: false - xy: 2461, 183 + xy: 2870, 99 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand-small rotate: false - xy: 1097, 537 + xy: 903, 1121 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-sand-tiny rotate: false - xy: 3029, 335 + xy: 73, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-sand-xlarge rotate: false - xy: 2702, 403 + xy: 2704, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-scrap-large rotate: false - xy: 3684, 211 + xy: 2384, 247 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-scrap-medium rotate: false - xy: 2529, 183 + xy: 2870, 65 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap-small rotate: false - xy: 1451, 1507 + xy: 871, 863 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-scrap-tiny rotate: false - xy: 2959, 1023 + xy: 91, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-scrap-xlarge rotate: false - xy: 2752, 403 + xy: 2754, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-silicon-large rotate: false - xy: 1805, 579 + xy: 2426, 261 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-silicon-medium rotate: false - xy: 2597, 183 + xy: 2870, 31 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon-small rotate: false - xy: 323, 767 + xy: 3259, 1733 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-silicon-tiny rotate: false - xy: 3147, 848 + xy: 109, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-silicon-xlarge rotate: false - xy: 2802, 403 + xy: 2804, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-spore-pod-large rotate: false - xy: 1847, 579 + xy: 2468, 261 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-spore-pod-medium rotate: false - xy: 2699, 183 + xy: 2904, 31 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod-small rotate: false - xy: 2431, 855 + xy: 1161, 1185 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-spore-pod-tiny rotate: false - xy: 3757, 829 + xy: 127, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-spore-pod-xlarge rotate: false - xy: 2852, 403 + xy: 2854, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-surge-alloy-large rotate: false - xy: 1889, 579 + xy: 2510, 261 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-surge-alloy-medium rotate: false - xy: 2767, 183 + xy: 2972, 99 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy-small rotate: false - xy: 2073, 937 + xy: 1129, 959 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-surge-alloy-tiny rotate: false - xy: 4041, 808 + xy: 145, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-surge-alloy-xlarge rotate: false - xy: 2902, 403 + xy: 2904, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-thorium-large rotate: false - xy: 2144, 354 + xy: 2552, 261 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-thorium-medium rotate: false - xy: 2835, 183 + xy: 2972, 65 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium-small rotate: false - xy: 2203, 866 + xy: 1097, 733 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-thorium-tiny rotate: false - xy: 3729, 985 + xy: 2377, 149 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-thorium-xlarge rotate: false - xy: 2952, 403 + xy: 2954, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-titanium-large rotate: false - xy: 2143, 312 + xy: 2594, 261 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-titanium-medium rotate: false - xy: 2903, 183 + xy: 3006, 99 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium-small rotate: false - xy: 2206, 524 + xy: 1097, 537 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-titanium-tiny rotate: false - xy: 3726, 235 + xy: 3254, 315 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-titanium-xlarge rotate: false - xy: 3002, 403 + xy: 3004, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 lancer rotate: false - xy: 3691, 781 + xy: 3487, 434 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 liquid-cryofluid-large rotate: false - xy: 2143, 270 + xy: 2636, 261 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-cryofluid-medium rotate: false - xy: 3039, 165 + xy: 3040, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid-small rotate: false - xy: 2402, 463 + xy: 1451, 1507 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-cryofluid-tiny rotate: false - xy: 3073, 317 + xy: 3753, 991 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-cryofluid-xlarge rotate: false - xy: 3152, 403 + xy: 3154, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-oil-large rotate: false - xy: 2186, 347 + xy: 2426, 219 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-oil-medium rotate: false - xy: 3141, 167 + xy: 3074, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil-small rotate: false - xy: 1561, 889 + xy: 323, 767 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-oil-tiny rotate: false - xy: 3277, 272 + xy: 2959, 1023 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-oil-xlarge rotate: false - xy: 3202, 392 + xy: 2454, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-slag-large rotate: false - xy: 2228, 347 + xy: 2468, 219 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-slag-medium rotate: false - xy: 3379, 125 + xy: 3108, 23 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag-small rotate: false - xy: 4065, 1181 + xy: 2431, 855 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-slag-tiny rotate: false - xy: 3651, 209 + xy: 4003, 1447 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-slag-xlarge rotate: false - xy: 3102, 353 + xy: 2504, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-water-large rotate: false - xy: 2270, 347 + xy: 2510, 219 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-water-medium rotate: false - xy: 3515, 125 + xy: 3142, 55 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water-small rotate: false - xy: 1097, 12 + xy: 2073, 937 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-water-tiny rotate: false - xy: 2185, 68 + xy: 2203, 874 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-water-xlarge rotate: false - xy: 3152, 353 + xy: 2554, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mace-wreck0 rotate: false - xy: 3757, 603 + xy: 3553, 556 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-wreck1 rotate: false - xy: 3823, 669 + xy: 3619, 622 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-wreck2 rotate: false - xy: 3823, 603 + xy: 3553, 490 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mass-driver rotate: false - xy: 2627, 649 + xy: 2725, 747 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -5011,70 +5011,70 @@ minke-wreck2 index: -1 mono-wreck0 rotate: false - xy: 2552, 353 + xy: 2804, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mono-wreck1 rotate: false - xy: 2602, 353 + xy: 2854, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mono-wreck2 rotate: false - xy: 2652, 353 + xy: 2904, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 nova-wreck0 rotate: false - xy: 1920, 386 + xy: 2176, 436 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 nova-wreck1 rotate: false - xy: 1978, 386 + xy: 2118, 320 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 nova-wreck2 rotate: false - xy: 2036, 386 + xy: 2176, 378 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 parallax rotate: false - xy: 3757, 471 + xy: 3685, 424 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 poly-wreck0 rotate: false - xy: 2035, 328 + xy: 2176, 262 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 poly-wreck1 rotate: false - xy: 1861, 296 + xy: 2234, 431 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 poly-wreck2 rotate: false - xy: 1919, 270 + xy: 2292, 431 size: 56, 56 orig: 56, 56 offset: 0, 0 @@ -5088,14 +5088,14 @@ pulsar-wreck0 index: -1 pulsar-wreck1 rotate: false - xy: 1796, 303 + xy: 2073, 587 size: 58, 48 orig: 58, 48 offset: 0, 0 index: -1 pulsar-wreck2 rotate: false - xy: 1796, 253 + xy: 2017, 126 size: 58, 48 orig: 58, 48 offset: 0, 0 @@ -5109,77 +5109,77 @@ quasar-wreck0 index: -1 quasar-wreck1 rotate: false - xy: 3243, 886 + xy: 3715, 886 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 quasar-wreck2 rotate: false - xy: 3325, 897 + xy: 3797, 917 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 repair-point rotate: false - xy: 3554, 229 + xy: 3764, 281 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ripple rotate: false - xy: 2529, 453 + xy: 2725, 453 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 risso-wreck0 rotate: false - xy: 2921, 747 + xy: 2921, 551 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 risso-wreck1 rotate: false - xy: 2921, 649 + xy: 2921, 453 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 risso-wreck2 rotate: false - xy: 2921, 551 + xy: 2951, 845 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 salvo rotate: false - xy: 3625, 509 + xy: 3883, 447 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scatter rotate: false - xy: 3619, 377 + xy: 3949, 521 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch rotate: false - xy: 3617, 193 + xy: 2366, 167 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 segment rotate: false - xy: 3889, 405 + xy: 4015, 521 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -5193,119 +5193,119 @@ spectre index: -1 spiroct-wreck0 rotate: false - xy: 2037, 560 + xy: 3369, 968 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 spiroct-wreck1 rotate: false - xy: 3967, 934 + xy: 3465, 968 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 spiroct-wreck2 rotate: false - xy: 3147, 866 + xy: 3561, 968 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 splash-0 rotate: false - xy: 3107, 99 + xy: 2434, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-1 rotate: false - xy: 3141, 99 + xy: 2468, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-10 rotate: false - xy: 3447, 57 + xy: 3272, 257 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-11 rotate: false - xy: 3481, 57 + xy: 3306, 257 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-2 rotate: false - xy: 3175, 88 + xy: 2502, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-3 rotate: false - xy: 3209, 88 + xy: 2536, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-4 rotate: false - xy: 3243, 86 + xy: 2570, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-5 rotate: false - xy: 3277, 58 + xy: 2604, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-6 rotate: false - xy: 3311, 58 + xy: 2638, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-7 rotate: false - xy: 3345, 57 + xy: 3272, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-8 rotate: false - xy: 3379, 57 + xy: 3312, 291 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-9 rotate: false - xy: 3413, 57 + xy: 3346, 291 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 swarmer rotate: false - xy: 3751, 207 + xy: 1862, 288 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 unit-alpha-full rotate: false - xy: 3302, 312 + xy: 2754, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5326,14 +5326,14 @@ unit-arkyid-full index: -1 unit-atrax-full rotate: false - xy: 4003, 1531 + xy: 3543, 902 size: 88, 64 orig: 88, 64 offset: 0, 0 index: -1 unit-beta-full rotate: false - xy: 3352, 319 + xy: 2804, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5347,14 +5347,14 @@ unit-bryde-full index: -1 unit-crawler-full rotate: false - xy: 3402, 319 + xy: 2854, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-dagger-full rotate: false - xy: 3452, 319 + xy: 2904, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5368,7 +5368,7 @@ unit-eclipse-full index: -1 unit-flare-full rotate: false - xy: 3502, 319 + xy: 2954, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5382,21 +5382,21 @@ unit-fortress-full index: -1 unit-gamma-full rotate: false - xy: 2035, 270 + xy: 2350, 431 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 unit-horizon-full rotate: false - xy: 3215, 442 + xy: 3289, 828 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 unit-mace-full rotate: false - xy: 663, 22 + xy: 1928, 241 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -5417,21 +5417,21 @@ unit-minke-full index: -1 unit-mono-full rotate: false - xy: 3302, 262 + xy: 3004, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-nova-full rotate: false - xy: 2094, 492 + xy: 2234, 315 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 unit-poly-full rotate: false - xy: 2094, 434 + xy: 2292, 373 size: 56, 56 orig: 56, 56 offset: 0, 0 @@ -5445,21 +5445,21 @@ unit-pulsar-full index: -1 unit-quasar-full rotate: false - xy: 3407, 897 + xy: 3879, 917 size: 80, 80 orig: 80, 80 offset: 0, 0 index: -1 unit-risso-full rotate: false - xy: 3117, 551 + xy: 3147, 845 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 unit-spiroct-full rotate: false - xy: 3183, 968 + xy: 3657, 968 size: 94, 75 orig: 94, 75 offset: 0, 0 @@ -5473,7 +5473,7 @@ unit-zenith-full index: -1 wave rotate: false - xy: 1796, 484 + xy: 1951, 109 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -5501,147 +5501,147 @@ zenith-wreck2 index: -1 item-blast-compound rotate: false - xy: 3413, 193 + xy: 2751, 129 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal rotate: false - xy: 3481, 193 + xy: 2819, 133 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper rotate: false - xy: 3311, 160 + xy: 2887, 133 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite rotate: false - xy: 3379, 159 + xy: 2955, 133 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead rotate: false - xy: 3447, 159 + xy: 2734, 81 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass rotate: false - xy: 3515, 193 + xy: 2734, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric rotate: false - xy: 2223, 237 + xy: 2768, 61 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium rotate: false - xy: 2291, 241 + xy: 2802, 95 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite rotate: false - xy: 2359, 241 + xy: 2802, 27 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand rotate: false - xy: 2427, 183 + xy: 2836, 65 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap rotate: false - xy: 2495, 183 + xy: 2836, 31 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 2563, 183 + xy: 2904, 99 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod rotate: false - xy: 2665, 183 + xy: 2938, 99 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 2733, 183 + xy: 2938, 65 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 2801, 183 + xy: 2938, 31 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 2869, 183 + xy: 2972, 31 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid rotate: false - xy: 3005, 183 + xy: 3040, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil rotate: false - xy: 3107, 167 + xy: 3074, 115 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag rotate: false - xy: 3345, 125 + xy: 3074, 13 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water rotate: false - xy: 3481, 125 + xy: 3176, 123 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 blank rotate: false - xy: 3352, 395 + xy: 2118, 259 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -5655,21 +5655,21 @@ circle index: -1 shape-3 rotate: false - xy: 1796, 353 + xy: 2017, 176 size: 63, 63 orig: 63, 63 offset: 0, 0 index: -1 alpha rotate: false - xy: 2152, 446 + xy: 2234, 265 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-cell rotate: false - xy: 2094, 384 + xy: 1994, 59 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5711,21 +5711,21 @@ arkyid-cell index: -1 arkyid-foot rotate: false - xy: 3289, 740 + xy: 3363, 830 size: 70, 70 orig: 70, 70 offset: 0, 0 index: -1 arkyid-joint-base rotate: false - xy: 3289, 668 + xy: 3289, 756 size: 70, 70 orig: 70, 70 offset: 0, 0 index: -1 arkyid-leg rotate: false - xy: 3909, 941 + xy: 4033, 953 size: 56, 56 orig: 56, 56 offset: 0, 0 @@ -5739,7 +5739,7 @@ arkyid-leg-base index: -1 atrax rotate: false - xy: 3279, 979 + xy: 4003, 1531 size: 88, 64 orig: 88, 64 offset: 0, 0 @@ -5753,7 +5753,7 @@ atrax-base index: -1 atrax-cell rotate: false - xy: 3369, 979 + xy: 4003, 1465 size: 88, 64 orig: 88, 64 offset: 0, 0 @@ -5767,7 +5767,7 @@ atrax-foot index: -1 atrax-joint rotate: false - xy: 3259, 1731 + xy: 2426, 303 size: 26, 26 orig: 26, 26 offset: 0, 0 @@ -5788,14 +5788,14 @@ atrax-leg-base index: -1 beta rotate: false - xy: 2093, 234 + xy: 2132, 162 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 beta-cell rotate: false - xy: 1885, 196 + xy: 2182, 162 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5837,49 +5837,49 @@ chaos-array-leg index: -1 crawler rotate: false - xy: 2035, 220 + xy: 2127, 109 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-base rotate: false - xy: 2035, 170 + xy: 2177, 112 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-cell rotate: false - xy: 2085, 184 + xy: 2144, 59 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-leg rotate: false - xy: 1935, 120 + xy: 2144, 9 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger rotate: false - xy: 1928, 70 + xy: 2244, 62 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-base rotate: false - xy: 1928, 20 + xy: 2244, 12 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-leg rotate: false - xy: 1978, 70 + xy: 1805, 571 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5928,7 +5928,7 @@ eradicator-leg index: -1 flare rotate: false - xy: 2128, 18 + xy: 2284, 265 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -5942,7 +5942,7 @@ fortress index: -1 fortress-base rotate: false - xy: 3625, 773 + xy: 3421, 368 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -5963,56 +5963,56 @@ fortress-leg index: -1 gamma rotate: false - xy: 1861, 354 + xy: 2060, 375 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 gamma-cell rotate: false - xy: 1920, 502 + xy: 2060, 317 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 horizon rotate: false - xy: 3489, 905 + xy: 3797, 843 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 horizon-cell rotate: false - xy: 3563, 905 + xy: 3871, 843 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 mace rotate: false - xy: 3691, 583 + xy: 3559, 688 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-base rotate: false - xy: 3757, 735 + xy: 3625, 688 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-cell rotate: false - xy: 3757, 669 + xy: 3691, 688 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mace-leg rotate: false - xy: 3823, 735 + xy: 3553, 622 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -6047,63 +6047,63 @@ minke-cell index: -1 mono rotate: false - xy: 2452, 353 + xy: 2704, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mono-cell rotate: false - xy: 2502, 353 + xy: 2754, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 nova rotate: false - xy: 1978, 444 + xy: 2176, 494 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 nova-base rotate: false - xy: 2802, 353 + xy: 2404, 331 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 nova-cell rotate: false - xy: 2036, 444 + xy: 2118, 378 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 nova-leg rotate: false - xy: 2852, 353 + xy: 3054, 335 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 poly rotate: false - xy: 1919, 328 + xy: 2118, 262 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 poly-cell rotate: false - xy: 1977, 328 + xy: 2176, 320 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 power-cell rotate: false - xy: 1977, 270 + xy: 2234, 373 size: 56, 56 orig: 56, 56 offset: 0, 0 @@ -6117,7 +6117,7 @@ pulsar index: -1 pulsar-base rotate: false - xy: 2902, 353 + xy: 3104, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -6131,14 +6131,14 @@ pulsar-cell index: -1 pulsar-leg rotate: false - xy: 4021, 736 + xy: 3817, 447 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 quasar rotate: false - xy: 4003, 1449 + xy: 3633, 886 size: 80, 80 orig: 80, 80 offset: 0, 0 @@ -6166,14 +6166,14 @@ quasar-leg index: -1 risso rotate: false - xy: 2725, 453 + xy: 2921, 747 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 risso-cell rotate: false - xy: 2823, 453 + xy: 2921, 649 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -6187,70 +6187,70 @@ spiroct index: -1 spiroct-cell rotate: false - xy: 1941, 560 + xy: 3273, 968 size: 94, 75 orig: 94, 75 offset: 0, 0 index: -1 spiroct-foot rotate: false - xy: 3552, 263 + xy: 1796, 240 size: 46, 46 orig: 46, 46 offset: 0, 0 index: -1 spiroct-joint rotate: false - xy: 3073, 99 + xy: 2400, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 spiroct-leg rotate: false - xy: 3771, 1301 + xy: 2232, 168 size: 48, 34 orig: 48, 34 offset: 0, 0 index: -1 spiroct-leg-base rotate: false - xy: 3302, 362 + xy: 3771, 1301 size: 48, 34 orig: 48, 34 offset: 0, 0 index: -1 vanguard rotate: false - xy: 3352, 269 + xy: 3054, 285 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 vanguard-cell rotate: false - xy: 3402, 269 + xy: 3104, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 antumbra-missiles rotate: false - xy: 4041, 884 + xy: 2082, 159 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 artillery rotate: false - xy: 4041, 826 + xy: 1994, 1 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 artillery-mount rotate: false - xy: 3289, 596 + xy: 3435, 830 size: 70, 70 orig: 70, 70 offset: 0, 0 @@ -6264,18 +6264,11 @@ beam-weapon index: -1 chaos rotate: false - xy: 1862, 412 + xy: 2060, 433 size: 56, 136 orig: 56, 136 offset: 0, 0 index: -1 -eclipse-weapon - rotate: false - xy: 2085, 84 - size: 48, 48 - orig: 48, 48 - offset: 0, 0 - index: -1 eradication rotate: false xy: 1745, 623 @@ -6285,126 +6278,140 @@ eradication index: -1 eruption rotate: false - xy: 2135, 176 + xy: 4035, 745 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 flakgun rotate: false - xy: 2135, 126 + xy: 4035, 695 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 flamethrower rotate: false - xy: 2135, 68 + xy: 2232, 204 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 heal-shotgun-weapon rotate: false - xy: 2302, 439 + xy: 2294, 65 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 heal-weapon rotate: false - xy: 2352, 439 + xy: 2294, 15 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 heal-weapon-mount rotate: false - xy: 2202, 389 + xy: 2327, 115 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 large-artillery rotate: false - xy: 3052, 385 + xy: 3054, 385 size: 48, 66 orig: 48, 66 offset: 0, 0 index: -1 +large-bullet-mount + rotate: false + xy: 3289, 657 + size: 70, 97 + orig: 70, 97 + offset: 0, 0 + index: -1 +large-laser-mount + rotate: false + xy: 2137, 552 + size: 96, 192 + orig: 96, 192 + offset: 0, 0 + index: -1 large-weapon rotate: false - xy: 3102, 403 + xy: 3104, 403 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 missiles rotate: false - xy: 3202, 342 + xy: 2604, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 missiles-mount rotate: false - xy: 2402, 353 + xy: 2654, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mount-purple-weapon rotate: false - xy: 2702, 353 + xy: 2954, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mount-weapon rotate: false - xy: 2752, 353 + xy: 3004, 353 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 small-basic-weapon rotate: false - xy: 3052, 335 + xy: 2454, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 small-mount-weapon rotate: false - xy: 3102, 303 + xy: 2504, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 small-weapon rotate: false - xy: 3152, 303 + xy: 2554, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spiroct-weapon rotate: false - xy: 3252, 290 + xy: 2704, 295 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 weapon rotate: false - xy: 3452, 269 + xy: 3154, 303 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 zenith-missiles rotate: false - xy: 3502, 269 + xy: 3204, 301 size: 48, 48 orig: 48, 48 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index b51a1238aa..4b006c3f45 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 65f9572463..d7909175a3 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 1e8b8ec830..3bdf38bd58 100644 Binary files a/core/assets/sprites/sprites5.png and b/core/assets/sprites/sprites5.png differ diff --git a/core/src/mindustry/ai/types/FlyingAI.java b/core/src/mindustry/ai/types/FlyingAI.java index 80d712573a..2a09c1403c 100644 --- a/core/src/mindustry/ai/types/FlyingAI.java +++ b/core/src/mindustry/ai/types/FlyingAI.java @@ -1,54 +1,45 @@ package mindustry.ai.types; import arc.math.*; -import arc.math.geom.*; import arc.util.*; -import mindustry.entities.*; import mindustry.entities.units.*; +import mindustry.gen.*; import mindustry.world.meta.*; public class FlyingAI extends AIController{ @Override - public void updateUnit(){ + public void updateMovement(){ if(unit.moving()){ - unit.rotation(unit.vel().angle()); + unit.lookAt(unit.vel.angle()); } if(unit.isFlying()){ unit.wobble(); } - if(Units.invalidateTarget(target, unit.team(), unit.x(), unit.y())){ - target = null; - } - - if(retarget()){ - targetClosest(); - - if(target == null) targetClosestEnemyFlag(BlockFlag.producer); - if(target == null) targetClosestEnemyFlag(BlockFlag.turret); - } - - boolean shoot = false; - if(target != null && unit.hasWeapons()){ if(unit.type().weapons.first().rotate){ - moveTo(unit.range() * 0.85f); + moveTo(unit.range() * 0.8f); unit.lookAt(target); }else{ attack(80f); } - - shoot = unit.inRange(target); - - if(shoot && unit.type().hasWeapons()){ - Vec2 to = Predict.intercept(unit, target, unit.type().weapons.first().bullet.speed); - unit.aim(to); - } } + } - unit.controlWeapons(shoot, shoot); + @Override + protected Teamc findTarget(float x, float y, float range, boolean air, boolean ground){ + Teamc result = target(x, y, range, air, ground); + if(result != null) return result; + + if(ground) result = targetFlag(x, y, BlockFlag.producer, true); + if(result != null) return result; + + if(ground) result = targetFlag(x, y, BlockFlag.turret, true); + if(result != null) return result; + + return null; } //TODO clean up diff --git a/core/src/mindustry/ai/types/GroundAI.java b/core/src/mindustry/ai/types/GroundAI.java index 0a7384ff45..4378133ef3 100644 --- a/core/src/mindustry/ai/types/GroundAI.java +++ b/core/src/mindustry/ai/types/GroundAI.java @@ -12,15 +12,7 @@ import static mindustry.Vars.pathfinder; public class GroundAI extends AIController{ @Override - public void updateUnit(){ - - if(Units.invalidateTarget(target, unit.team(), unit.x(), unit.y(), Float.MAX_VALUE)){ - target = null; - } - - if(retarget()){ - targetClosest(); - } + public void updateMovement(){ Building core = unit.closestEnemyCore(); diff --git a/core/src/mindustry/ai/types/SuicideAI.java b/core/src/mindustry/ai/types/SuicideAI.java index 57638d7597..354b90f8b3 100644 --- a/core/src/mindustry/ai/types/SuicideAI.java +++ b/core/src/mindustry/ai/types/SuicideAI.java @@ -17,7 +17,7 @@ public class SuicideAI extends GroundAI{ } if(retarget()){ - targetClosest(); + target = target(unit.x, unit.y, unit.range(), unit.type().targetAir, unit.type().targetGround); } Building core = unit.closestEnemyCore(); diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 87b1317199..0e0186a971 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -246,11 +246,13 @@ public class Blocks implements ContentList{ sand = new Floor("sand"){{ itemDrop = Items.sand; playerUnmineable = true; + attributes.set(Attribute.oil, 0.7f); }}; darksand = new Floor("darksand"){{ itemDrop = Items.sand; playerUnmineable = true; + attributes.set(Attribute.oil, 1.5f); }}; ((ShallowLiquid)darksandTaintedWater).set(Blocks.taintedWater, Blocks.darksand); @@ -267,7 +269,8 @@ public class Blocks implements ContentList{ salt = new Floor("salt"){{ variants = 0; - attributes.set(Attribute.water, -0.2f); + attributes.set(Attribute.water, -0.25f); + attributes.set(Attribute.oil, 0.3f); }}; snow = new Floor("snow"){{ @@ -355,7 +358,7 @@ public class Blocks implements ContentList{ shale = new Floor("shale"){{ variants = 3; - attributes.set(Attribute.oil, 0.15f); + attributes.set(Attribute.oil, 1f); }}; shaleRocks = new StaticWall("shalerocks"){{ @@ -1270,6 +1273,8 @@ public class Blocks implements ContentList{ size = 3; liquidCapacity = 30f; attribute = Attribute.oil; + baseEfficiency = 0f; + itemUseTime = 60f; consumes.item(Items.sand); consumes.power(3f); @@ -1460,6 +1465,7 @@ public class Blocks implements ContentList{ hitSize = 4; lifetime = 16f; drawSize = 400f; + collidesAir = false; }}; }}; diff --git a/core/src/mindustry/content/Bullets.java b/core/src/mindustry/content/Bullets.java index 40a8a545de..a5ece85275 100644 --- a/core/src/mindustry/content/Bullets.java +++ b/core/src/mindustry/content/Bullets.java @@ -239,7 +239,7 @@ public class Bullets implements ContentList{ explodeRange = 20f; }}; - missileExplosive = new MissileBulletType(2.7f, 10, "missile"){{ + missileExplosive = new MissileBulletType(2.7f, 10){{ width = 8f; height = 8f; shrinkY = 0f; @@ -247,7 +247,7 @@ public class Bullets implements ContentList{ splashDamageRadius = 30f; splashDamage = 30f; ammoMultiplier = 4f; - lifetime = 150f; + lifetime = 100f; hitEffect = Fx.blastExplosion; despawnEffect = Fx.blastExplosion; @@ -255,7 +255,7 @@ public class Bullets implements ContentList{ statusDuration = 60f; }}; - missileIncendiary = new MissileBulletType(2.9f, 12, "missile"){{ + missileIncendiary = new MissileBulletType(2.9f, 12){{ frontColor = Pal.lightishOrange; backColor = Pal.lightOrange; width = 7f; @@ -265,26 +265,26 @@ public class Bullets implements ContentList{ homingPower = 0.08f; splashDamageRadius = 20f; splashDamage = 20f; - lifetime = 160f; + lifetime = 100f; hitEffect = Fx.blastExplosion; status = StatusEffects.burning; }}; - missileSurge = new MissileBulletType(4.4f, 20, "bullet"){{ + missileSurge = new MissileBulletType(4.4f, 20){{ width = 8f; height = 8f; shrinkY = 0f; drag = -0.01f; splashDamageRadius = 28f; splashDamage = 40f; - lifetime = 150f; + lifetime = 100f; hitEffect = Fx.blastExplosion; despawnEffect = Fx.blastExplosion; lightning = 2; lightningLength = 14; }}; - standardCopper = new BasicBulletType(2.5f, 9, "bullet"){{ + standardCopper = new BasicBulletType(2.5f, 9){{ width = 7f; height = 9f; lifetime = 60f; @@ -293,7 +293,7 @@ public class Bullets implements ContentList{ ammoMultiplier = 2; }}; - standardDense = new BasicBulletType(3.5f, 18, "bullet"){{ + standardDense = new BasicBulletType(3.5f, 18){{ width = 9f; height = 12f; reloadMultiplier = 0.6f; @@ -430,34 +430,25 @@ public class Bullets implements ContentList{ } }; - basicFlame = new BulletType(3f, 15f){ - { - ammoMultiplier = 3f; - hitSize = 7f; - lifetime = 42f; - pierce = true; - drag = 0.05f; - statusDuration = 60f * 4; - shootEffect = Fx.shootSmallFlame; - hitEffect = Fx.hitFlameSmall; - despawnEffect = Fx.none; - status = StatusEffects.burning; - keepVelocity = false; - hittable = false; - } + basicFlame = new BulletType(3.35f, 15f){{ + ammoMultiplier = 3f; + hitSize = 7f; + lifetime = 18f; + pierce = true; + statusDuration = 60f * 4; + shootEffect = Fx.shootSmallFlame; + hitEffect = Fx.hitFlameSmall; + despawnEffect = Fx.none; + status = StatusEffects.burning; + keepVelocity = false; + hittable = false; + }}; - @Override - public float range(){ - return 50f; - } - }; - - pyraFlame = new BulletType(3.3f, 22f){{ + pyraFlame = new BulletType(3.35f, 22f){{ ammoMultiplier = 4f; hitSize = 7f; - lifetime = 42f; + lifetime = 18f; pierce = true; - drag = 0.05f; statusDuration = 60f * 6; shootEffect = Fx.shootPyraFlame; hitEffect = Fx.hitFlameSmall; diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index 2ff065ad34..6bd88f3b5e 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -63,15 +63,15 @@ public class Fx{ }), unitDespawn = new Effect(100f, e -> { - if(!(e.data instanceof Unitc)) return; + if(!(e.data instanceof Unit) || e.data().type() == null) return; - Unitc select = (Unitc)e.data; + Unit select = e.data(); float scl = e.fout(Interp.pow2Out); float p = Draw.scl; Draw.scl *= scl; mixcol(Pal.accent, 1f); - rect(select.type().icon(Cicon.full), select.x(), select.y(), select.rotation() - 90f); + rect(select.type().icon(Cicon.full), select.x, select.y, select.rotation - 90f); reset(); Draw.scl = p; @@ -96,7 +96,7 @@ public class Fx{ Fill.square(x, y, 1f * size, 45f); }), - itemTransfer = new Effect(10f, e -> { + itemTransfer = new Effect(12f, e -> { if(!(e.data instanceof Position)) return; Position to = e.data(); Tmp.v1.set(e.x, e.y).interpolate(Tmp.v2.set(to), e.fin(), Interp.pow3) diff --git a/core/src/mindustry/content/Planets.java b/core/src/mindustry/content/Planets.java index 37ffba70d8..873ba1c054 100644 --- a/core/src/mindustry/content/Planets.java +++ b/core/src/mindustry/content/Planets.java @@ -9,7 +9,7 @@ import mindustry.type.*; public class Planets implements ContentList{ public static Planet sun, - starter; //TODO rename + serpulo; @Override public void load(){ @@ -31,9 +31,8 @@ public class Planets implements ContentList{ ); }}; - //TODO rename - starter = new Planet("TODO", sun, 3, 1){{ - generator = new TODOPlanetGenerator(); + serpulo = new Planet("serpulo", sun, 3, 1){{ + generator = new SerpuloPlanetGenerator(); meshLoader = () -> new HexMesh(this, 6); atmosphereColor = Color.valueOf("3c1b8f"); startSector = 15; diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index 366887c2f2..3b76795c1d 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -1,162 +1,64 @@ package mindustry.content; import mindustry.ctype.*; -import mindustry.game.Objectives.*; import mindustry.type.*; -import static arc.struct.Seq.*; import static mindustry.content.Planets.*; public class SectorPresets implements ContentList{ public static SectorPreset groundZero, craters, frozenForest, ruinousShores, stainedMountains, tarFields, fungalPass, - saltFlats, overgrowth, impact0078, crags, + saltFlats, overgrowth, desolateRift, nuclearComplex; @Override public void load(){ - groundZero = new SectorPreset("groundZero", starter, 15){{ + groundZero = new SectorPreset("groundZero", serpulo, 15){{ alwaysUnlocked = true; - conditionWave = 5; - launchPeriod = 5; - rules = r -> { - r.winWave = 20; - }; + captureWave = 10; }}; - saltFlats = new SectorPreset("saltFlats", starter, 101){{ - conditionWave = 10; - launchPeriod = 5; - requirements = with( - new SectorWave(groundZero, 60), - //new Unlock(Blocks.daggerFactory), - //new Unlock(Blocks.draugFactory), - new Research(Blocks.door), - new Research(Blocks.waterExtractor) - ); + saltFlats = new SectorPreset("saltFlats", serpulo, 101){{ + }}; - frozenForest = new SectorPreset("frozenForest", starter, 86){{ - conditionWave = 10; - requirements = with( - new SectorWave(groundZero, 10), - new Research(Blocks.junction), - new Research(Blocks.router) - ); + frozenForest = new SectorPreset("frozenForest", serpulo, 86){{ + captureWave = 40; }}; - craters = new SectorPreset("craters", starter, 18){{ - conditionWave = 10; - requirements = with( - new SectorWave(frozenForest, 10), - new Research(Blocks.mender), - new Research(Blocks.combustionGenerator) - ); + craters = new SectorPreset("craters", serpulo, 18){{ + captureWave = 40; }}; - ruinousShores = new SectorPreset("ruinousShores", starter, 19){{ - conditionWave = 20; - launchPeriod = 20; - requirements = with( - new SectorWave(groundZero, 20), - new SectorWave(craters, 15), - new Research(Blocks.graphitePress), - new Research(Blocks.combustionGenerator), - new Research(Blocks.kiln), - new Research(Blocks.mechanicalPump) - ); + ruinousShores = new SectorPreset("ruinousShores", serpulo, 19){{ + captureWave = 40; }}; - stainedMountains = new SectorPreset("stainedMountains", starter, 20){{ - conditionWave = 10; - launchPeriod = 10; - requirements = with( - new SectorWave(frozenForest, 15), - new Research(Blocks.pneumaticDrill), - new Research(Blocks.powerNode), - new Research(Blocks.turbineGenerator) - ); + stainedMountains = new SectorPreset("stainedMountains", serpulo, 20){{ + captureWave = 30; }}; - fungalPass = new SectorPreset("fungalPass", starter, 21){{ - requirements = with( - new SectorWave(stainedMountains, 15), - //new Unlock(Blocks.daggerFactory), - //new Unlock(Blocks.crawlerFactory), - new Research(Blocks.door), - new Research(Blocks.siliconSmelter) - ); + fungalPass = new SectorPreset("fungalPass", serpulo, 21){{ + }}; - overgrowth = new SectorPreset("overgrowth", starter, 22){{ - conditionWave = 12; - launchPeriod = 4; - requirements = with( - new SectorWave(craters, 40), - new Launched(fungalPass), - new Research(Blocks.cultivator), - new Research(Blocks.sporePress) - //new Unlock(Blocks.titanFactory), - //new Unlock(Blocks.wraithFactory) - ); + overgrowth = new SectorPreset("overgrowth", serpulo, 22){{ + }}; - tarFields = new SectorPreset("tarFields", starter, 23){{ - conditionWave = 15; - launchPeriod = 10; - requirements = with( - new SectorWave(ruinousShores, 20), - new Research(Blocks.coalCentrifuge), - new Research(Blocks.conduit), - new Research(Blocks.wave) - ); + tarFields = new SectorPreset("tarFields", serpulo, 23){{ + captureWave = 40; }}; - desolateRift = new SectorPreset("desolateRift", starter, 123){{ - conditionWave = 3; - launchPeriod = 2; - requirements = with( - new SectorWave(tarFields, 20), - new Research(Blocks.thermalGenerator), - new Research(Blocks.thoriumReactor) - ); + desolateRift = new SectorPreset("desolateRift", serpulo, 123){{ + captureWave = 40; }}; - nuclearComplex = new SectorPreset("nuclearComplex", starter, 130){{ - conditionWave = 30; - launchPeriod = 15; - requirements = with( - new Launched(fungalPass), - new Research(Blocks.thermalGenerator), - new Research(Blocks.laserDrill) - ); + nuclearComplex = new SectorPreset("nuclearComplex", serpulo, 130){{ + captureWave = 60; }}; - - /* - crags = new Zone("crags", new MapGenerator("crags").dist(2f)){{ - loadout = Loadouts.basicFoundation; - baseLaunchCost = ItemStack.with(); - startingItems = ItemStack.list(Items.copper, 2000, Items.lead, 2000, Items.graphite, 500, Items.titanium, 500, Items.silicon, 500); - conditionWave = 3; - launchPeriod = 2; - requirements = with(stainedMountains, 40); - blockRequirements = new Block[]{Blocks.thermalGenerator}; - resources = Array.with(Items.copper, Items.scrap, Items.lead, Items.coal, Items.sand}; - }}; - - - impact0078 = new SectorPreset("impact0078"){{ - loadout = Loadouts.basicNucleus; - baseLaunchCost = ItemStack.list(); - startingItems = ItemStack.list(Items.copper, 2000, Items.lead, 2000, Items.graphite, 500, Items.titanium, 500, Items.silicon, 500); - conditionWave = 3; - launchPeriod = 2; - //requirements = with(nuclearComplex, 40); - //blockRequirements = new Block[]{Blocks.thermalGenerator}; - //resources = Array.with(Items.copper, Items.scrap, Items.lead, Items.coal, Items.titanium, Items.thorium}; - }};*/ } } diff --git a/core/src/mindustry/content/TechTree.java b/core/src/mindustry/content/TechTree.java index 53fa052574..2a92e9ad0f 100644 --- a/core/src/mindustry/content/TechTree.java +++ b/core/src/mindustry/content/TechTree.java @@ -11,6 +11,8 @@ import mindustry.type.*; import mindustry.world.*; import static mindustry.content.Blocks.*; +import static mindustry.content.SectorPresets.*; +import static mindustry.content.SectorPresets.craters; import static mindustry.content.UnitTypes.*; import static mindustry.type.ItemStack.*; @@ -110,7 +112,7 @@ public class TechTree implements ContentList{ }); node(Items.coal, with(Items.lead, 3000), () -> { - node(Items.graphite, with(Items.coal, 3000), () -> { + node(Items.graphite, with(Items.coal, 1000), () -> { node(graphitePress, () -> { node(Items.titanium, with(Items.graphite, 6000, Items.copper, 10000, Items.lead, 10000), () -> { node(pneumaticDrill, () -> { @@ -405,17 +407,87 @@ public class TechTree implements ContentList{ }); //TODO research sectors - /* - node(SectorPresets.groundZero, () -> { - node(SectorPresets.nuclearComplex, () -> { - node(SectorPresets.craters, () -> { - node(SectorPresets.saltFlats, () -> { + node(groundZero, () -> { + node(frozenForest, Seq.with( + new SectorComplete(groundZero), + new Research(junction), + new Research(router) + ), () -> { + node(craters, Seq.with( + new SectorComplete(frozenForest), + new Research(mender), + new Research(combustionGenerator) + ), () -> { + node(ruinousShores, Seq.with( + new SectorComplete(craters), + new Research(graphitePress), + new Research(combustionGenerator), + new Research(kiln), + new Research(mechanicalPump) + ), () -> { + + node(tarFields, Seq.with( + new SectorComplete(ruinousShores), + new Research(coalCentrifuge), + new Research(conduit), + new Research(wave) + ), () -> { + node(desolateRift, Seq.with( + new SectorComplete(tarFields), + new Research(thermalGenerator), + new Research(thoriumReactor) + ), () -> { + + }); + }); + + node(saltFlats, Seq.with( + new SectorComplete(ruinousShores), + new Research(groundFactory), + new Research(airFactory), + new Research(door), + new Research(waterExtractor) + ), () -> { + + }); + }); + + node(overgrowth, Seq.with( + new SectorComplete(craters), + new SectorComplete(fungalPass), + new Research(cultivator), + new Research(sporePress), + new Research(UnitTypes.mace), + new Research(UnitTypes.flare) + ), () -> { + + }); + }); + + node(stainedMountains, Seq.with( + new SectorComplete(frozenForest), + new Research(pneumaticDrill), + new Research(powerNode), + new Research(turbineGenerator) + ), () -> { + node(fungalPass, Seq.with( + new SectorComplete(stainedMountains), + new Research(groundFactory), + new Research(door), + new Research(siliconSmelter) + ), () -> { + node(nuclearComplex, Seq.with( + new SectorComplete(fungalPass), + new Research(thermalGenerator), + new Research(laserDrill) + ), () -> { + + }); }); }); }); }); - */ }); } @@ -448,6 +520,12 @@ public class TechTree implements ContentList{ return new TechNode(content, requirements, children); } + private static TechNode node(UnlockableContent content, Seq objectives, Runnable children){ + TechNode node = new TechNode(content, empty, children); + node.objectives = objectives; + return node; + } + private static TechNode node(UnlockableContent block){ return node(block, () -> {}); } diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index cae6808fd6..84e7858145 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -530,7 +530,7 @@ public class UnitTypes implements ContentList{ speed = 1.25f; accel = 0.035f; drag = 0.05f; - rotateSpeed = 3.5f; + rotateSpeed = 1.9f; flying = true; lowAltitude = true; health = 9000; @@ -539,20 +539,70 @@ public class UnitTypes implements ContentList{ engineSize = 5.3f; hitsize = 58f; - weapons.add(new Weapon(){{ - y = 1.5f; - reload = 28f; + BulletType missiles = new MissileBulletType(2.7f, 10){{ + width = 8f; + height = 8f; + shrinkY = 0f; + drag = -0.01f; + splashDamageRadius = 40f; + splashDamage = 40f; + ammoMultiplier = 4f; + lifetime = 80f; + hitEffect = Fx.blastExplosion; + despawnEffect = Fx.blastExplosion; + + status = StatusEffects.blasted; + statusDuration = 60f; + }}; + + weapons.add( + new Weapon("missiles-mount"){{ + y = 8f; + x = 17f; + reload = 20f; ejectEffect = Fx.shellEjectSmall; - bullet = Bullets.standardCopper; + rotateSpeed = 8f; + bullet = missiles; shootSound = Sounds.shoot; - }}); + rotate = true; + occlusion = 6f; + }}, + new Weapon("missiles-mount"){{ + y = -8f; + x = 17f; + reload = 35; + rotateSpeed = 8f; + ejectEffect = Fx.shellEjectSmall; + bullet = missiles; + shootSound = Sounds.shoot; + rotate = true; + occlusion = 6f; + }}, + new Weapon("large-bullet-mount"){{ + y = 2f; + x = 10f; + shootY = 12f; + reload = 10; + shake = 1f; + rotateSpeed = 2f; + ejectEffect = Fx.shellEjectSmall; + shootSound = Sounds.shootBig; + rotate = true; + occlusion = 8f; + bullet = new BasicBulletType(7f, 60){{ + width = 12f; + height = 18f; + shootEffect = Fx.shootBig; + }}; + }} + ); }}; eclipse = new UnitType("eclipse"){{ speed = 1.1f; accel = 0.02f; drag = 0.05f; - rotateSpeed = 2.5f; + rotateSpeed = 1f; flying = true; lowAltitude = true; health = 18000; @@ -562,12 +612,74 @@ public class UnitTypes implements ContentList{ destructibleWreck = false; armor = 13f; - weapons.add(new Weapon(){{ - y = 1.5f; - reload = 28f; + weapons.add( + new Weapon("large-laser-mount"){{ + shake = 4f; + shootY = 9f; + x = 18f; + y = 5f; + rotateSpeed = 2f; + reload = 50f; + recoil = 4f; + shootSound = Sounds.laser; + occlusion = 20f; + rotate = true; + + bullet = new LaserBulletType(){{ + damage = 75f; + sideAngle = 20f; + sideWidth = 1.5f; + sideLength = 80f; + width = 25f; + length = 200f; + shootEffect = Fx.shockwave; + colors = new Color[]{Color.valueOf("ec7458aa"), Color.valueOf("ff9c5a"), Color.white}; + }}; + }}, + new Weapon("missiles-mount"){{ + x = 11f; + y = 27f; + rotateSpeed = 2f; + reload = 4f; + shootSound = Sounds.flame; + occlusion = 7f; + rotate = true; + recoil = 0.5f; + + bullet = Bullets.pyraFlame; + }}, + new Weapon("large-artillery"){{ + y = -13f; + x = 20f; + reload = 18f; ejectEffect = Fx.shellEjectSmall; - bullet = Bullets.standardCopper; + rotateSpeed = 7f; + shake = 1f; shootSound = Sounds.shoot; + rotate = true; + occlusion = 12f; + bullet = new ArtilleryBulletType(3.2f, 12){{ + trailMult = 0.8f; + hitEffect = Fx.massiveExplosion; + knockback = 1.5f; + lifetime = 140f; + height = 12f; + width = 12f; + collidesTiles = false; + ammoMultiplier = 4f; + splashDamageRadius = 60f; + splashDamage = 60f; + backColor = Pal.missileYellowBack; + frontColor = Pal.missileYellow; + trailEffect = Fx.artilleryTrail; + trailSize = 6f; + hitShake = 4f; + + shootEffect = Fx.shootBig2; + + status = StatusEffects.blasted; + statusDuration = 60f; + }}; }}); }}; @@ -792,7 +904,6 @@ public class UnitTypes implements ContentList{ shots = 1; inaccuracy = 3f; - ejectEffect = Fx.shellEjectBig; bullet = new ArtilleryBulletType(3.2f, 12){{ @@ -859,7 +970,6 @@ public class UnitTypes implements ContentList{ //region core alpha = new UnitType("alpha"){{ - //TODO maybe these should be changed defaultController = BuilderAI::new; isCounted = false; @@ -872,12 +982,12 @@ public class UnitTypes implements ContentList{ rotateSpeed = 15f; accel = 0.1f; itemCapacity = 30; - health = 80f; + health = 120f; engineOffset = 6f; hitsize = 8f; weapons.add(new Weapon("small-basic-weapon"){{ - reload = 20f; + reload = 17f; x = 2.75f; y = 1f; @@ -887,13 +997,12 @@ public class UnitTypes implements ContentList{ lifetime = 60f; shootEffect = Fx.shootSmall; smokeEffect = Fx.shootSmallSmoke; - tileDamageMultiplier = 0.1f; + tileDamageMultiplier = 0.95f; }}; }}); }}; beta = new UnitType("beta"){{ - //TODO maybe these should be changed defaultController = BuilderAI::new; isCounted = false; @@ -906,7 +1015,7 @@ public class UnitTypes implements ContentList{ rotateSpeed = 17f; accel = 0.1f; itemCapacity = 50; - health = 120f; + health = 150f; engineOffset = 6f; hitsize = 9f; rotateShooting = false; @@ -933,7 +1042,6 @@ public class UnitTypes implements ContentList{ }}; gamma = new UnitType("gamma"){{ - //TODO maybe these should be changed defaultController = BuilderAI::new; isCounted = false; @@ -946,7 +1054,7 @@ public class UnitTypes implements ContentList{ rotateSpeed = 19f; accel = 0.11f; itemCapacity = 70; - health = 160f; + health = 190f; engineOffset = 6f; hitsize = 10f; diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java index be5d8a1b59..83ac42defa 100644 --- a/core/src/mindustry/core/Control.java +++ b/core/src/mindustry/core/Control.java @@ -122,7 +122,7 @@ public class Control implements ApplicationListener, Loadable{ net.host(port); player.admin(true); }catch(IOException e){ - ui.showException("$server.error", e); + ui.showException("@server.error", e); state.set(State.menu); } } @@ -312,7 +312,7 @@ public class Control implements ApplicationListener, Loadable{ }catch(SaveException e){ Log.err(e); sector.save = null; - Time.runTask(10f, () -> ui.showErrorMessage("$save.corrupted")); + Time.runTask(10f, () -> ui.showErrorMessage("@save.corrupted")); slot.delete(); playSector(origin, sector); } @@ -434,6 +434,7 @@ public class Control implements ApplicationListener, Loadable{ ui.showStartupInfo("[accent]v6[] is currently in [accent]pre-alpha[].\n" + "[lightgray]This means:[]\n" + "- Content is missing\n" + + "- [scarlet]Mobile[] is not supported.\n" + "- Most [scarlet]Unit AI[] does not work\n" + "- Many units are [scarlet]missing[] or unfinished\n" + "- The campaign is completely unfinished\n" + @@ -450,7 +451,7 @@ public class Control implements ApplicationListener, Loadable{ //display UI scale changed dialog if(Core.settings.getBool("uiscalechanged", false)){ Core.app.post(() -> Core.app.post(() -> { - BaseDialog dialog = new BaseDialog("$confirm"); + BaseDialog dialog = new BaseDialog("@confirm"); dialog.setFillParent(true); float[] countdown = {60 * 11}; @@ -469,9 +470,9 @@ public class Control implements ApplicationListener, Loadable{ }).pad(10f).expand().center(); dialog.buttons.defaults().size(200f, 60f); - dialog.buttons.button("$uiscale.cancel", exit); + dialog.buttons.button("@uiscale.cancel", exit); - dialog.buttons.button("$ok", () -> { + dialog.buttons.button("@ok", () -> { Core.settings.put("uiscalechanged", false); dialog.hide(); }); diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index 674c6f28ac..180e34f8b4 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -2,7 +2,6 @@ package mindustry.core; import arc.*; import arc.math.*; -import arc.struct.*; import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; @@ -88,27 +87,35 @@ public class Logic implements ApplicationListener{ //when loading a 'damaged' sector, propagate the damage Events.on(WorldLoadEvent.class, e -> { - if(state.isCampaign() && state.rules.sector.getSecondsPassed() > 0 && state.rules.sector.hasBase()){ + if(state.isCampaign()){ long seconds = state.rules.sector.getSecondsPassed(); CoreEntity core = state.rules.defaultTeam.core(); - //update correct storage capacity - state.rules.sector.save.meta.secinfo.storageCapacity = core.storageCapacity; - //apply fractional damage based on how many turns have passed for this sector float turnsPassed = seconds / (turnDuration / 60f); - if(state.rules.sector.hasWaves()){ + if(state.rules.sector.hasWaves() && turnsPassed > 0 && state.rules.sector.hasBase()){ SectorDamage.apply(turnsPassed / sectorDestructionTurns); } //add resources based on turns passed if(state.rules.sector.save != null && core != null){ - //add new items recieved - state.rules.sector.calculateRecievedItems().each((item, amount) -> core.items.add(item, amount)); + //update correct storage capacity + state.rules.sector.save.meta.secinfo.storageCapacity = core.storageCapacity; + + //add new items received + state.rules.sector.calculateReceivedItems().each((item, amount) -> core.items.add(item, amount)); //clear received items - state.rules.sector.setReceivedItems(new Seq<>()); + state.rules.sector.setExtraItems(new ItemSeq()); + + //validation + for(Item item : content.items()){ + //ensure positive items + if(core.items.get(item) < 0) core.items.set(item, 0); + //cap the items + if(core.items.get(item) > core.storageCapacity) core.items.set(item, core.storageCapacity); + } } state.rules.sector.setSecondsPassed(0); @@ -262,15 +269,15 @@ public class Logic implements ApplicationListener{ Time.runTask(30f, () -> { Sector origin = sector.save.meta.secinfo.origin; if(origin != null){ - Seq stacks = origin.getReceivedItems(); + ItemSeq stacks = origin.getExtraItems(); //add up all items into list for(Building entity : state.teams.playerCores()){ - entity.items.each((item, amount) -> ItemStack.insert(stacks, item, amount)); + entity.items.each(stacks::add); } //save received items - origin.setReceivedItems(stacks); + origin.setExtraItems(stacks); } //remove all the cores diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java index 01f663f8ab..19f1ec454e 100644 --- a/core/src/mindustry/core/NetClient.java +++ b/core/src/mindustry/core/NetClient.java @@ -63,7 +63,7 @@ public class NetClient implements ApplicationListener{ reset(); ui.loadfrag.hide(); - ui.loadfrag.show("$connecting.data"); + ui.loadfrag.show("@connecting.data"); ui.loadfrag.setButton(() -> { ui.loadfrag.hide(); @@ -80,7 +80,7 @@ public class NetClient implements ApplicationListener{ c.uuid = platform.getUUID(); if(c.uuid == null){ - ui.showErrorMessage("$invalidid"); + ui.showErrorMessage("@invalidid"); ui.loadfrag.hide(); disconnectQuietly(); return; @@ -104,14 +104,14 @@ public class NetClient implements ApplicationListener{ if(packet.reason != null){ if(packet.reason.equals("closed")){ - ui.showSmall("$disconnect", "$disconnect.closed"); + ui.showSmall("@disconnect", "@disconnect.closed"); }else if(packet.reason.equals("timeout")){ - ui.showSmall("$disconnect", "$disconnect.timeout"); + ui.showSmall("@disconnect", "@disconnect.timeout"); }else if(packet.reason.equals("error")){ - ui.showSmall("$disconnect", "$disconnect.error"); + ui.showSmall("@disconnect", "@disconnect.error"); } }else{ - ui.showErrorMessage("$disconnect"); + ui.showErrorMessage("@disconnect"); } }); @@ -261,7 +261,7 @@ public class NetClient implements ApplicationListener{ if(reason.extraText() != null){ ui.showText(reason.toString(), reason.extraText()); }else{ - ui.showText("$disconnect", reason.toString()); + ui.showText("@disconnect", reason.toString()); } } ui.loadfrag.hide(); @@ -271,7 +271,7 @@ public class NetClient implements ApplicationListener{ public static void kick(String reason){ netClient.disconnectQuietly(); logic.reset(); - ui.showText("$disconnect", reason, Align.left); + ui.showText("@disconnect", reason, Align.left); ui.loadfrag.hide(); } @@ -347,7 +347,7 @@ public class NetClient implements ApplicationListener{ net.setClientLoaded(false); - ui.loadfrag.show("$connecting.data"); + ui.loadfrag.show("@connecting.data"); ui.loadfrag.setButton(() -> { ui.loadfrag.hide(); @@ -481,7 +481,7 @@ public class NetClient implements ApplicationListener{ Log.err("Failed to load data!"); ui.loadfrag.hide(); quiet = true; - ui.showErrorMessage("$disconnect.data"); + ui.showErrorMessage("@disconnect.data"); net.disconnect(); timeoutTime = 0f; } diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java index a1b07c52f6..30aad59fe4 100644 --- a/core/src/mindustry/core/NetServer.java +++ b/core/src/mindustry/core/NetServer.java @@ -687,6 +687,7 @@ public class NetServer implements ApplicationListener{ logic.skipWave(); }else if(action == AdminAction.ban){ netServer.admins.banPlayerIP(other.con.address); + netServer.admins.banPlayerID(other.con.uuid); other.kick(KickReason.banned); Log.info("&lc@ has banned @.", player.name, other.name); }else if(action == AdminAction.kick){ @@ -739,7 +740,7 @@ public class NetServer implements ApplicationListener{ if(!headless && !closing && net.server() && state.isMenu()){ closing = true; - ui.loadfrag.show("$server.closing"); + ui.loadfrag.show("@server.closing"); Time.runTask(5f, () -> { net.closeServer(); ui.loadfrag.hide(); diff --git a/core/src/mindustry/core/Platform.java b/core/src/mindustry/core/Platform.java index 83c0c46c5a..ff7d44ec88 100644 --- a/core/src/mindustry/core/Platform.java +++ b/core/src/mindustry/core/Platform.java @@ -111,7 +111,7 @@ public interface Platform{ * @param extension File extension to filter */ default void showFileChooser(boolean open, String extension, Cons cons){ - new FileChooser(open ? "$open" : "$save", file -> file.extEquals(extension), open, file -> { + new FileChooser(open ? "@open" : "@save", file -> file.extEquals(extension), open, file -> { if(!open){ cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension)); }else{ @@ -129,7 +129,7 @@ public interface Platform{ if(mobile){ showFileChooser(true, extensions[0], cons); }else{ - new FileChooser("$open", file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); + new FileChooser("@open", file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); } } diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index 5b0b0a00ef..dc5d350a0f 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -87,6 +87,10 @@ public class Renderer implements ApplicationListener{ } } + public boolean isLanding(){ + return landTime > 0; + } + public float weatherAlpha(){ return weatherAlpha; } @@ -134,7 +138,7 @@ public class Renderer implements ApplicationListener{ }catch(Throwable e){ e.printStackTrace(); settings.put("bloom", false); - ui.showErrorMessage("$error.bloom"); + ui.showErrorMessage("@error.bloom"); } } @@ -314,7 +318,7 @@ public class Renderer implements ApplicationListener{ int memory = w * h * 4 / 1024 / 1024; if(memory >= 65){ - ui.showInfo("$screenshot.invalid"); + ui.showInfo("@screenshot.invalid"); return; } diff --git a/core/src/mindustry/core/UI.java b/core/src/mindustry/core/UI.java index 6b316c1975..66ff092959 100644 --- a/core/src/mindustry/core/UI.java +++ b/core/src/mindustry/core/UI.java @@ -85,7 +85,7 @@ public class UI implements ApplicationListener, Loadable{ Fonts.def.getData().markupEnabled = true; Fonts.def.setOwnsTexture(false); - Core.assets.getAll(BitmapFont.class, new Seq<>()).each(font -> font.setUseIntegerPositions(true)); + Core.assets.getAll(Font.class, new Seq<>()).each(font -> font.setUseIntegerPositions(true)); Core.scene = new Scene(); Core.input.addProcessor(Core.scene); @@ -99,6 +99,7 @@ public class UI implements ApplicationListener, Loadable{ Dialog.setHideAction(() -> sequence(fadeOut(0.1f))); Tooltips.getInstance().animations = false; + Tooltips.getInstance().textProvider = text -> new Tooltip(t -> t.background(Styles.black5).margin(4f).add(text)); Core.settings.setErrorHandler(e -> { e.printStackTrace(); @@ -118,7 +119,7 @@ public class UI implements ApplicationListener, Loadable{ @Override public Seq getDependencies(){ - return Seq.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", BitmapFont.class), new AssetDescriptor<>("default", BitmapFont.class), new AssetDescriptor<>("chat", BitmapFont.class)); + return Seq.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", Font.class), new AssetDescriptor<>("default", Font.class), new AssetDescriptor<>("chat", Font.class)); } @Override @@ -224,7 +225,7 @@ public class UI implements ApplicationListener, Loadable{ } public void loadAnd(Runnable call){ - loadAnd("$loading", call); + loadAnd("@loading", call); } public void loadAnd(String text, Runnable call){ @@ -238,7 +239,7 @@ public class UI implements ApplicationListener, Loadable{ public void showTextInput(String titleText, String dtext, int textLength, String def, boolean inumeric, Cons confirmed){ if(mobile){ Core.input.getTextInput(new TextInput(){{ - this.title = (titleText.startsWith("$") ? Core.bundle.get(titleText.substring(1)) : titleText); + this.title = (titleText.startsWith("@") ? Core.bundle.get(titleText.substring(1)) : titleText); this.text = def; this.numeric = inumeric; this.maxLength = textLength; @@ -251,11 +252,11 @@ public class UI implements ApplicationListener, Loadable{ TextField field = cont.field(def, t -> {}).size(330f, 50f).get(); field.setFilter((f, c) -> field.getText().length() < textLength && filter.acceptChar(f, c)); buttons.defaults().size(120, 54).pad(4); - buttons.button("$ok", () -> { + buttons.button("@ok", () -> { confirmed.get(field.getText()); hide(); }).disabled(b -> field.getText().isEmpty()); - buttons.button("$cancel", this::hide); + buttons.button("@cancel", this::hide); keyDown(KeyCode.enter, () -> { String text = field.getText(); if(!text.isEmpty()){ @@ -340,7 +341,7 @@ public class UI implements ApplicationListener, Loadable{ new Dialog(""){{ getCell(cont).growX(); cont.margin(15).add(info).width(400f).wrap().get().setAlignment(Align.center, Align.center); - buttons.button("$ok", () -> { + buttons.button("@ok", () -> { hide(); listener.run(); }).size(110, 50).pad(4); @@ -351,7 +352,7 @@ public class UI implements ApplicationListener, Loadable{ new Dialog(""){{ getCell(cont).growX(); cont.margin(15).add(info).width(400f).wrap().get().setAlignment(Align.left); - buttons.button("$ok", this::hide).size(110, 50).pad(4); + buttons.button("@ok", this::hide).size(110, 50).pad(4); }}.show(); } @@ -359,13 +360,13 @@ public class UI implements ApplicationListener, Loadable{ new Dialog(""){{ setFillParent(true); cont.margin(15f); - cont.add("$error.title"); + cont.add("@error.title"); cont.row(); cont.image().width(300f).pad(2).height(4f).color(Color.scarlet); cont.row(); cont.add(text).pad(2f).growX().wrap().get().setAlignment(Align.center); cont.row(); - cont.button("$ok", this::hide).size(120, 50).pad(4); + cont.button("@ok", this::hide).size(120, 50).pad(4); }}.show(); } @@ -380,17 +381,17 @@ public class UI implements ApplicationListener, Loadable{ setFillParent(true); cont.margin(15); - cont.add("$error.title").colspan(2); + cont.add("@error.title").colspan(2); cont.row(); cont.image().width(300f).pad(2).colspan(2).height(4f).color(Color.scarlet); cont.row(); - cont.add((text.startsWith("$") ? Core.bundle.get(text.substring(1)) : text) + (message == null ? "" : "\n[lightgray](" + message + ")")).colspan(2).wrap().growX().center().get().setAlignment(Align.center); + cont.add((text.startsWith("@") ? Core.bundle.get(text.substring(1)) : text) + (message == null ? "" : "\n[lightgray](" + message + ")")).colspan(2).wrap().growX().center().get().setAlignment(Align.center); cont.row(); Collapser col = new Collapser(base -> base.pane(t -> t.margin(14f).add(Strings.neatError(exc)).color(Color.lightGray).left()), true); - cont.button("$details", Styles.togglet, col::toggle).size(180f, 50f).checked(b -> !col.isCollapsed()).fillX().right(); - cont.button("$ok", this::hide).size(110, 50).fillX().left(); + cont.button("@details", Styles.togglet, col::toggle).size(180f, 50f).checked(b -> !col.isCollapsed()).fillX().right(); + cont.button("@ok", this::hide).size(110, 50).fillX().left(); cont.row(); cont.add(col).colspan(2).pad(2); }}.show(); @@ -407,14 +408,14 @@ public class UI implements ApplicationListener, Loadable{ cont.row(); cont.add(text).width(400f).wrap().get().setAlignment(align, align); cont.row(); - buttons.button("$ok", this::hide).size(110, 50).pad(4); + buttons.button("@ok", this::hide).size(110, 50).pad(4); }}.show(); } public void showInfoText(String titleText, String text){ new Dialog(titleText){{ cont.margin(15).add(text).width(400f).wrap().left().get().setAlignment(Align.left, Align.left); - buttons.button("$ok", this::hide).size(110, 50).pad(4); + buttons.button("@ok", this::hide).size(110, 50).pad(4); }}.show(); } @@ -423,7 +424,7 @@ public class UI implements ApplicationListener, Loadable{ cont.margin(10).add(text); titleTable.row(); titleTable.image().color(Pal.accent).height(3f).growX().pad(2f); - buttons.button("$ok", this::hide).size(110, 50).pad(4); + buttons.button("@ok", this::hide).size(110, 50).pad(4); }}.show(); } @@ -436,8 +437,8 @@ public class UI implements ApplicationListener, Loadable{ dialog.cont.add(text).width(mobile ? 400f : 500f).wrap().pad(4f).get().setAlignment(Align.center, Align.center); dialog.buttons.defaults().size(200f, 54f).pad(2f); dialog.setFillParent(false); - dialog.buttons.button("$cancel", dialog::hide); - dialog.buttons.button("$ok", () -> { + dialog.buttons.button("@cancel", dialog::hide); + dialog.buttons.button("@ok", () -> { dialog.hide(); confirmed.run(); }); @@ -489,7 +490,7 @@ public class UI implements ApplicationListener, Loadable{ dialog.cont.add(text).width(500f).wrap().pad(4f).get().setAlignment(Align.center, Align.center); dialog.buttons.defaults().size(200f, 54f).pad(2f); dialog.setFillParent(false); - dialog.buttons.button("$ok", () -> { + dialog.buttons.button("@ok", () -> { dialog.hide(); confirmed.run(); }); diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java index 830db31d9d..f9c7e97e15 100644 --- a/core/src/mindustry/core/World.java +++ b/core/src/mindustry/core/World.java @@ -277,7 +277,7 @@ public class World{ }catch(Throwable e){ Log.err(e); if(!headless){ - ui.showErrorMessage("$map.invalid"); + ui.showErrorMessage("@map.invalid"); Core.app.post(() -> state.set(State.menu)); invalidMap = true; } @@ -291,17 +291,17 @@ public class World{ if(!headless){ if(state.teams.playerCores().size == 0 && !checkRules.pvp){ - ui.showErrorMessage("$map.nospawn"); + ui.showErrorMessage("@map.nospawn"); invalidMap = true; }else if(checkRules.pvp){ //pvp maps need two cores to be valid if(state.teams.getActive().count(TeamData::hasCore) < 2){ invalidMap = true; - ui.showErrorMessage("$map.nospawn.pvp"); + ui.showErrorMessage("@map.nospawn.pvp"); } }else if(checkRules.attackMode){ //attack maps need two cores to be valid invalidMap = state.teams.get(state.rules.waveTeam).noCores(); if(invalidMap){ - ui.showErrorMessage("$map.nospawn.attack"); + ui.showErrorMessage("@map.nospawn.attack"); } } }else{ diff --git a/core/src/mindustry/editor/MapEditor.java b/core/src/mindustry/editor/MapEditor.java index 75d2b8f4b5..a41856aaf1 100644 --- a/core/src/mindustry/editor/MapEditor.java +++ b/core/src/mindustry/editor/MapEditor.java @@ -137,14 +137,11 @@ public class MapEditor{ if(isFloor){ tile.setFloor(drawBlock.asFloor()); }else{ - tile.setBlock(drawBlock); - if(drawBlock.synthetic()){ - tile.setTeam(drawTeam); - } if(drawBlock.rotate && tile.build != null && tile.build.rotation != rotation){ addTileOp(TileOp.get(tile.x, tile.y, (byte)OpType.rotation.ordinal(), (byte)rotation)); - tile.build.rotation = (byte)rotation; } + + tile.setBlock(drawBlock, drawTeam, rotation); } }; diff --git a/core/src/mindustry/editor/MapEditorDialog.java b/core/src/mindustry/editor/MapEditorDialog.java index 8fcd9f8d44..045d0b724e 100644 --- a/core/src/mindustry/editor/MapEditorDialog.java +++ b/core/src/mindustry/editor/MapEditorDialog.java @@ -58,7 +58,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ infoDialog = new MapInfoDialog(editor); generateDialog = new MapGenerateDialog(editor, true); - menu = new BaseDialog("$menu"); + menu = new BaseDialog("@menu"); menu.addCloseButton(); float swidth = 180f; @@ -66,41 +66,41 @@ public class MapEditorDialog extends Dialog implements Disposable{ menu.cont.table(t -> { t.defaults().size(swidth, 60f).padBottom(5).padRight(5).padLeft(5); - t.button("$editor.savemap", Icon.save, this::save); + t.button("@editor.savemap", Icon.save, this::save); - t.button("$editor.mapinfo", Icon.pencil, () -> { + t.button("@editor.mapinfo", Icon.pencil, () -> { infoDialog.show(); menu.hide(); }); t.row(); - t.button("$editor.generate", Icon.terrain, () -> { + t.button("@editor.generate", Icon.terrain, () -> { generateDialog.show(generateDialog::applyToEditor); menu.hide(); }); - t.button("$editor.resize", Icon.resize, () -> { + t.button("@editor.resize", Icon.resize, () -> { resizeDialog.show(); menu.hide(); }); t.row(); - t.button("$editor.import", Icon.download, () -> createDialog("$editor.import", - "$editor.importmap", "$editor.importmap.description", Icon.download, (Runnable)loadDialog::show, - "$editor.importfile", "$editor.importfile.description", Icon.file, (Runnable)() -> + t.button("@editor.import", Icon.download, () -> createDialog("@editor.import", + "@editor.importmap", "@editor.importmap.description", Icon.download, (Runnable)loadDialog::show, + "@editor.importfile", "@editor.importfile.description", Icon.file, (Runnable)() -> platform.showFileChooser(true, mapExtension, file -> ui.loadAnd(() -> { maps.tryCatchMapError(() -> { if(MapIO.isImage(file)){ - ui.showInfo("$editor.errorimage"); + ui.showInfo("@editor.errorimage"); }else{ editor.beginEdit(MapIO.createMap(file, true)); } }); })), - "$editor.importimage", "$editor.importimage.description", Icon.fileImage, (Runnable)() -> + "@editor.importimage", "@editor.importimage.description", Icon.fileImage, (Runnable)() -> platform.showFileChooser(true, "png", file -> ui.loadAnd(() -> { try{ @@ -108,16 +108,16 @@ public class MapEditorDialog extends Dialog implements Disposable{ editor.beginEdit(pixmap); pixmap.dispose(); }catch(Exception e){ - ui.showException("$editor.errorload", e); + ui.showException("@editor.errorload", e); Log.err(e); } }))) ); - t.button("$editor.export", Icon.upload, () -> createDialog("$editor.export", - "$editor.exportfile", "$editor.exportfile.description", Icon.file, + t.button("@editor.export", Icon.upload, () -> createDialog("@editor.export", + "@editor.exportfile", "@editor.exportfile.description", Icon.file, (Runnable)() -> platform.export(editor.getTags().get("name", "unknown"), mapExtension, file -> MapIO.writeMap(file, editor.createMap(file))), - "$editor.exportimage", "$editor.exportimage.description", Icon.fileImage, + "@editor.exportimage", "@editor.exportimage.description", Icon.fileImage, (Runnable)() -> platform.export(editor.getTags().get("name", "unknown"), "png", file -> { Pixmap out = MapIO.writeImage(editor.tiles()); file.writePNG(out); @@ -128,7 +128,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ menu.cont.row(); if(steam){ - menu.cont.button("$editor.publish.workshop", Icon.link, () -> { + menu.cont.button("@editor.publish.workshop", Icon.link, () -> { Map builtin = maps.all().find(m -> m.name().equals(editor.getTags().get("name", "").trim())); if(editor.getTags().containsKey("steamid") && builtin != null && !builtin.custom){ @@ -146,26 +146,26 @@ public class MapEditorDialog extends Dialog implements Disposable{ if(map == null) return; if(map.tags.get("description", "").length() < 4){ - ui.showErrorMessage("$editor.nodescription"); + ui.showErrorMessage("@editor.nodescription"); return; } if(!Structs.contains(Gamemode.all, g -> g.valid(map))){ - ui.showErrorMessage("$map.nospawn"); + ui.showErrorMessage("@map.nospawn"); return; } platform.publish(map); - }).padTop(-3).size(swidth * 2f + 10, 60f).update(b -> b.setText(editor.getTags().containsKey("steamid") ? editor.getTags().get("author").equals(player.name) ? "$workshop.listing" : "$view.workshop" : "$editor.publish.workshop")); + }).padTop(-3).size(swidth * 2f + 10, 60f).update(b -> b.setText(editor.getTags().containsKey("steamid") ? editor.getTags().get("author").equals(player.name) ? "@workshop.listing" : "@view.workshop" : "@editor.publish.workshop")); menu.cont.row(); } - menu.cont.button("$editor.ingame", Icon.right, this::playtest).padTop(!steam ? -3 : 1).size(swidth * 2f + 10, 60f); + menu.cont.button("@editor.ingame", Icon.right, this::playtest).padTop(!steam ? -3 : 1).size(swidth * 2f + 10, 60f); menu.cont.row(); - menu.cont.button("$quit", Icon.exit, () -> { + menu.cont.button("@quit", Icon.exit, () -> { tryExit(); menu.hide(); }).size(swidth * 2f + 10, 60f); @@ -182,7 +182,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ try{ editor.beginEdit(map); }catch(Exception e){ - ui.showException("$editor.errorload", e); + ui.showException("@editor.errorload", e); Log.err(e); } })); @@ -280,14 +280,14 @@ public class MapEditorDialog extends Dialog implements Disposable{ if(name.isEmpty()){ infoDialog.show(); - Core.app.post(() -> ui.showErrorMessage("$editor.save.noname")); + Core.app.post(() -> ui.showErrorMessage("@editor.save.noname")); }else{ Map map = maps.all().find(m -> m.name().equals(name)); if(map != null && !map.custom){ handleSaveBuiltin(map); }else{ returned = maps.saveMap(editor.getTags()); - ui.showInfoFade("$editor.saved"); + ui.showInfoFade("@editor.saved"); } } @@ -299,7 +299,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ /** Called when a built-in map save is attempted.*/ protected void handleSaveBuiltin(Map map){ - ui.showErrorMessage("$editor.save.overwrite"); + ui.showErrorMessage("@editor.save.overwrite"); } /** @@ -368,7 +368,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ show(); }catch(Exception e){ Log.err(e); - ui.showException("$editor.errorload", e); + ui.showException("@editor.errorload", e); } }); } @@ -521,7 +521,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ tools.row(); - tools.table(Tex.underline, t -> t.add("$editor.teams")) + tools.table(Tex.underline, t -> t.add("@editor.teams")) .colspan(3).height(40).width(size * 3f + 3f).padBottom(3); tools.row(); @@ -557,7 +557,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ } t.top(); - t.add("$editor.brush"); + t.add("@editor.brush"); t.row(); t.add(slider).width(size * 3f - 20).padTop(4f); }).padTop(5).growX().top(); @@ -650,7 +650,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ private void tryExit(){ if(!saved){ - ui.showConfirm("$confirm", "$editor.unsaved", this::hide); + ui.showConfirm("@confirm", "@editor.unsaved", this::hide); }else{ hide(); } diff --git a/core/src/mindustry/editor/MapGenerateDialog.java b/core/src/mindustry/editor/MapGenerateDialog.java index b9f0962cea..09262a9d74 100644 --- a/core/src/mindustry/editor/MapGenerateDialog.java +++ b/core/src/mindustry/editor/MapGenerateDialog.java @@ -58,34 +58,34 @@ public class MapGenerateDialog extends BaseDialog{ /** @param applied whether or not to use the applied in-game mode. */ public MapGenerateDialog(MapEditor editor, boolean applied){ - super("$editor.generate"); + super("@editor.generate"); this.editor = editor; this.applied = applied; shown(this::setup); addCloseButton(); if(applied){ - buttons.button("$editor.apply", () -> { + buttons.button("@editor.apply", () -> { ui.loadAnd(() -> { apply(); hide(); }); }).size(160f, 64f); }else{ - buttons.button("$settings.reset", () -> { + buttons.button("@settings.reset", () -> { filters.set(maps.readFilters("")); rebuildFilters(); update(); }).size(160f, 64f); } - buttons.button("$editor.randomize", () -> { + buttons.button("@editor.randomize", () -> { for(GenerateFilter filter : filters){ filter.randomize(); } update(); }).size(160f, 64f); - buttons.button("$add", Icon.add, this::showAdd).height(64f).width(140f); + buttons.button("@add", Icon.add, this::showAdd).height(64f).width(140f); if(!applied){ hidden(this::apply); @@ -277,12 +277,12 @@ public class MapGenerateDialog extends BaseDialog{ } if(filters.isEmpty()){ - filterTable.add("$filters.empty").wrap().width(200f); + filterTable.add("@filters.empty").wrap().width(200f); } } void showAdd(){ - BaseDialog selection = new BaseDialog("$add"); + BaseDialog selection = new BaseDialog("@add"); selection.setFillParent(false); selection.cont.defaults().size(210f, 60f); int i = 0; @@ -300,7 +300,7 @@ public class MapGenerateDialog extends BaseDialog{ if(++i % 2 == 0) selection.cont.row(); } - selection.cont.button("$filter.defaultores", () -> { + selection.cont.button("@filter.defaultores", () -> { maps.addDefaultOres(filters); rebuildFilters(); update(); diff --git a/core/src/mindustry/editor/MapInfoDialog.java b/core/src/mindustry/editor/MapInfoDialog.java index b5a7e435ea..9e217c335f 100644 --- a/core/src/mindustry/editor/MapInfoDialog.java +++ b/core/src/mindustry/editor/MapInfoDialog.java @@ -16,7 +16,7 @@ public class MapInfoDialog extends BaseDialog{ private final CustomRulesDialog ruleInfo = new CustomRulesDialog(); public MapInfoDialog(MapEditor editor){ - super("$editor.mapinfo"); + super("@editor.mapinfo"); this.editor = editor; this.waveInfo = new WaveInfoDialog(editor); this.generate = new MapGenerateDialog(editor, false); @@ -32,47 +32,47 @@ public class MapInfoDialog extends BaseDialog{ ObjectMap tags = editor.getTags(); cont.pane(t -> { - t.add("$editor.mapname").padRight(8).left(); + t.add("@editor.mapname").padRight(8).left(); t.defaults().padTop(15); TextField name = t.field(tags.get("name", ""), text -> { tags.put("name", text); }).size(400, 55f).addInputDialog(50).get(); - name.setMessageText("$unknown"); + name.setMessageText("@unknown"); t.row(); - t.add("$editor.description").padRight(8).left(); + t.add("@editor.description").padRight(8).left(); TextArea description = t.area(tags.get("description", ""), Styles.areaField, text -> { tags.put("description", text); }).size(400f, 140f).addInputDialog(1000).get(); t.row(); - t.add("$editor.author").padRight(8).left(); + t.add("@editor.author").padRight(8).left(); TextField author = t.field(tags.get("author", Core.settings.getString("mapAuthor", "")), text -> { tags.put("author", text); Core.settings.put("mapAuthor", text); }).size(400, 55f).addInputDialog(50).get(); - author.setMessageText("$unknown"); + author.setMessageText("@unknown"); t.row(); - t.add("$editor.rules").padRight(8).left(); - t.button("$edit", () -> { + t.add("@editor.rules").padRight(8).left(); + t.button("@edit", () -> { ruleInfo.show(Vars.state.rules, () -> Vars.state.rules = new Rules()); hide(); }).left().width(200f); t.row(); - t.add("$editor.waves").padRight(8).left(); - t.button("$edit", () -> { + t.add("@editor.waves").padRight(8).left(); + t.button("@edit", () -> { waveInfo.show(); hide(); }).left().width(200f); t.row(); - t.add("$editor.generation").padRight(8).left(); - t.button("$edit", () -> { + t.add("@editor.generation").padRight(8).left(); + t.button("@edit", () -> { generate.show(Vars.maps.readFilters(editor.getTags().get("genfilters", "")), filters -> editor.getTags().put("genfilters", JsonIO.write(filters))); hide(); diff --git a/core/src/mindustry/editor/MapLoadDialog.java b/core/src/mindustry/editor/MapLoadDialog.java index 540ed754a2..53673ae9d2 100644 --- a/core/src/mindustry/editor/MapLoadDialog.java +++ b/core/src/mindustry/editor/MapLoadDialog.java @@ -14,11 +14,11 @@ public class MapLoadDialog extends BaseDialog{ private Map selected = null; public MapLoadDialog(Cons loader){ - super("$editor.loadmap"); + super("@editor.loadmap"); shown(this::rebuild); - TextButton button = new TextButton("$load"); + TextButton button = new TextButton("@load"); button.setDisabled(() -> selected == null); button.clicked(() -> { if(selected != null){ @@ -28,7 +28,7 @@ public class MapLoadDialog extends BaseDialog{ }); buttons.defaults().size(200f, 50f); - buttons.button("$cancel", this::hide); + buttons.button("@cancel", this::hide); buttons.add(button); } @@ -64,9 +64,9 @@ public class MapLoadDialog extends BaseDialog{ } if(maps.all().size == 0){ - table.add("$maps.none").center(); + table.add("@maps.none").center(); }else{ - cont.add("$editor.loadmap"); + cont.add("@editor.loadmap"); } cont.row(); diff --git a/core/src/mindustry/editor/MapResizeDialog.java b/core/src/mindustry/editor/MapResizeDialog.java index 29178f3976..b3e190b020 100644 --- a/core/src/mindustry/editor/MapResizeDialog.java +++ b/core/src/mindustry/editor/MapResizeDialog.java @@ -12,7 +12,7 @@ public class MapResizeDialog extends BaseDialog{ int width, height; public MapResizeDialog(MapEditor editor, Intc2 cons){ - super("$editor.resizemap"); + super("@editor.resizemap"); shown(() -> { cont.clear(); width = editor.width(); @@ -21,7 +21,7 @@ public class MapResizeDialog extends BaseDialog{ Table table = new Table(); for(boolean w : Mathf.booleans){ - table.add(w ? "$width" : "$height").padRight(8f); + table.add(w ? "@width" : "@height").padRight(8f); table.defaults().height(60f).padTop(8); table.field((w ? width : height) + "", TextFieldFilter.digitsOnly, value -> { @@ -37,8 +37,8 @@ public class MapResizeDialog extends BaseDialog{ }); buttons.defaults().size(200f, 50f); - buttons.button("$cancel", this::hide); - buttons.button("$ok", () -> { + buttons.button("@cancel", this::hide); + buttons.button("@ok", () -> { cons.get(width, height); hide(); }); diff --git a/core/src/mindustry/editor/WaveGraph.java b/core/src/mindustry/editor/WaveGraph.java index c1c65cbb62..f71a5e6f7d 100644 --- a/core/src/mindustry/editor/WaveGraph.java +++ b/core/src/mindustry/editor/WaveGraph.java @@ -35,7 +35,7 @@ public class WaveGraph extends Table{ Lines.precise(true); GlyphLayout lay = Pools.obtain(GlyphLayout.class, GlyphLayout::new); - BitmapFont font = Fonts.outline; + Font font = Fonts.outline; lay.setText(font, "1"); @@ -137,7 +137,7 @@ public class WaveGraph extends Table{ ButtonGroup