factorio-draftsman 3.0.0__tar.gz → 3.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/MANIFEST.in +8 -8
  2. {factorio_draftsman-3.0.0/factorio_draftsman.egg-info → factorio_draftsman-3.0.1}/PKG-INFO +3 -6
  3. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/README.md +1 -0
  4. factorio_draftsman-3.0.1/draftsman/_version.py +4 -0
  5. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/blueprintable.py +4 -1
  6. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/blueprint.py +13 -6
  7. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/blueprint_book.py +20 -10
  8. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/blueprintable.py +6 -1
  9. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/deconstruction_planner.py +10 -2
  10. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/entity.py +6 -6
  11. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/exportable.py +35 -12
  12. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/group.py +12 -12
  13. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/request_filters.py +6 -2
  14. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/spatial_data_structure.py +1 -1
  15. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/spatial_hashmap.py +21 -5
  16. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/tile_list.py +155 -9
  17. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/upgrade_planner.py +23 -18
  18. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/compatibility/interface.lua +0 -18
  19. {factorio_draftsman-3.0.0/draftsman/environment → factorio_draftsman-3.0.1/draftsman/data}/__init__.py +1 -1
  20. factorio_draftsman-3.0.1/draftsman/data/entities.pkl +0 -0
  21. factorio_draftsman-3.0.1/draftsman/data/equipment.pkl +0 -0
  22. factorio_draftsman-3.0.1/draftsman/data/fluids.pkl +0 -0
  23. factorio_draftsman-3.0.1/draftsman/data/instruments.pkl +0 -0
  24. factorio_draftsman-3.0.1/draftsman/data/items.pkl +0 -0
  25. factorio_draftsman-3.0.1/draftsman/data/mods.pkl +0 -0
  26. factorio_draftsman-3.0.1/draftsman/data/modules.pkl +0 -0
  27. factorio_draftsman-3.0.1/draftsman/data/planets.pkl +0 -0
  28. factorio_draftsman-3.0.1/draftsman/data/qualities.pkl +0 -0
  29. factorio_draftsman-3.0.1/draftsman/data/recipes.pkl +0 -0
  30. factorio_draftsman-3.0.1/draftsman/data/signals.pkl +0 -0
  31. factorio_draftsman-3.0.1/draftsman/data/tiles.pkl +0 -0
  32. {factorio_draftsman-3.0.0/draftsman/prototypes → factorio_draftsman-3.0.1/draftsman/environment}/__init__.py +1 -1
  33. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/environment/mod_list.py +1 -1
  34. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/environment/script.py +27 -7
  35. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/environment/update.py +42 -12
  36. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/extras.py +1 -2
  37. factorio_draftsman-3.0.1/draftsman/factorio-data/.git +1 -0
  38. factorio_draftsman-3.0.1/draftsman/factorio-data/README.md +23 -0
  39. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/info.json +1 -1
  40. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/projectiles.lua +6 -3
  41. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/item.lua +12 -6
  42. factorio_draftsman-3.0.1/draftsman/factorio-data/changelog.txt +18258 -0
  43. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/utility-sprites.lua +2 -1
  44. factorio_draftsman-3.0.1/draftsman/factorio-data/credits.txt +71 -0
  45. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/info.json +1 -1
  46. factorio_draftsman-3.0.1/draftsman/factorio-data/map-gen-settings.example.json +68 -0
  47. factorio_draftsman-3.0.1/draftsman/factorio-data/map-settings.example.json +122 -0
  48. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/info.json +1 -1
  49. factorio_draftsman-3.0.1/draftsman/factorio-data/server-settings.example.json +76 -0
  50. factorio_draftsman-3.0.1/draftsman/factorio-data/server-whitelist.example.json +4 -0
  51. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/info.json +1 -1
  52. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/asteroid.lua +1 -0
  53. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/item.lua +4 -2
  54. factorio_draftsman-3.0.1/draftsman/factorio-mods/.gitignore +2 -0
  55. {factorio_draftsman-3.0.0/draftsman/data → factorio_draftsman-3.0.1/draftsman/prototypes}/__init__.py +1 -1
  56. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/arithmetic_combinator.py +40 -8
  57. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/constant_combinator.py +31 -3
  58. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/decider_combinator.py +65 -2
  59. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/legacy_curved_rail.py +2 -0
  60. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/programmable_speaker.py +2 -2
  61. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/train_stop.py +4 -0
  62. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/serialization.py +1 -1
  63. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/signatures.py +79 -42
  64. factorio_draftsman-3.0.1/draftsman/types.py +9 -0
  65. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/validators.py +1 -0
  66. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1/factorio_draftsman.egg-info}/PKG-INFO +3 -6
  67. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/factorio_draftsman.egg-info/SOURCES.txt +8 -0
  68. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/pyproject.toml +36 -16
  69. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_all_factorio_versions.py +56 -56
  70. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_blueprint_book.py +11 -1
  71. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_group.py +3 -3
  72. factorio_draftsman-3.0.1/test/test_spatial_hash_map.py +192 -0
  73. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_tile_list.py +2 -2
  74. factorio_draftsman-3.0.1/test/test_version.py +9 -0
  75. factorio_draftsman-3.0.0/draftsman/_version.py +0 -4
  76. factorio_draftsman-3.0.0/draftsman/data/entities.pkl +0 -0
  77. factorio_draftsman-3.0.0/draftsman/data/equipment.pkl +0 -0
  78. factorio_draftsman-3.0.0/draftsman/data/fluids.pkl +0 -0
  79. factorio_draftsman-3.0.0/draftsman/data/instruments.pkl +0 -0
  80. factorio_draftsman-3.0.0/draftsman/data/items.pkl +0 -0
  81. factorio_draftsman-3.0.0/draftsman/data/mods.pkl +0 -0
  82. factorio_draftsman-3.0.0/draftsman/data/modules.pkl +0 -0
  83. factorio_draftsman-3.0.0/draftsman/data/planets.pkl +0 -0
  84. factorio_draftsman-3.0.0/draftsman/data/qualities.pkl +0 -0
  85. factorio_draftsman-3.0.0/draftsman/data/recipes.pkl +0 -0
  86. factorio_draftsman-3.0.0/draftsman/data/signals.pkl +0 -0
  87. factorio_draftsman-3.0.0/draftsman/data/tiles.pkl +0 -0
  88. factorio_draftsman-3.0.0/draftsman/factorio-mods/.gitignore +0 -2
  89. factorio_draftsman-3.0.0/draftsman/types.py +0 -11
  90. factorio_draftsman-3.0.0/test/test_spatial_hash_map.py +0 -96
  91. factorio_draftsman-3.0.0/test/test_version.py +0 -9
  92. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/LICENSE +0 -0
  93. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/__init__.py +0 -0
  94. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/_factorio_version.py +0 -0
  95. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/__init__.py +0 -0
  96. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/association.py +0 -0
  97. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/collection.py +0 -0
  98. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/collision_set.py +0 -0
  99. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/entity_like.py +0 -0
  100. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/entity_list.py +0 -0
  101. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/__init__.py +0 -0
  102. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/artillery_auto_target.py +0 -0
  103. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/circuit_condition.py +0 -0
  104. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/circuit_connectable.py +0 -0
  105. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/circuit_enable.py +0 -0
  106. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/circuit_read_contents.py +0 -0
  107. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/circuit_read_hand.py +0 -0
  108. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/circuit_read_resource.py +0 -0
  109. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/circuit_set_filters.py +0 -0
  110. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/color.py +0 -0
  111. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/control_behavior.py +0 -0
  112. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/crafting_machine.py +0 -0
  113. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/directional.py +0 -0
  114. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/energy_source.py +0 -0
  115. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/equipment_grid.py +0 -0
  116. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/filters.py +0 -0
  117. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/input_ingredients.py +0 -0
  118. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/inventory.py +0 -0
  119. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/io_type.py +0 -0
  120. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/logistic_condition.py +0 -0
  121. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/mode_of_operation.py +0 -0
  122. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/modules.py +0 -0
  123. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/orientation.py +0 -0
  124. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/player_description.py +0 -0
  125. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/power_connectable.py +0 -0
  126. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/read_ammo.py +0 -0
  127. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/read_rail_signal.py +0 -0
  128. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/recipe.py +0 -0
  129. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/stack_size.py +0 -0
  130. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/target_priorities.py +0 -0
  131. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/variation.py +0 -0
  132. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/mixins/vehicle.py +0 -0
  133. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/rail_planner.py +0 -0
  134. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/schedule.py +0 -0
  135. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/schedule_list.py +0 -0
  136. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/spatial_like.py +0 -0
  137. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/tile.py +0 -0
  138. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/train_configuration.py +0 -0
  139. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/transformable.py +0 -0
  140. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/classes/vector.py +0 -0
  141. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/compatibility/defines.lua +0 -0
  142. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/compatibility/serpent.lua +0 -0
  143. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/compatibility/settings.lua +0 -0
  144. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/constants.py +0 -0
  145. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/entities.py +0 -0
  146. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/equipment.py +0 -0
  147. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/fluids.py +0 -0
  148. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/instruments.py +0 -0
  149. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/items.py +0 -0
  150. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/mods.py +0 -0
  151. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/modules.py +0 -0
  152. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/planets.py +0 -0
  153. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/qualities.py +0 -0
  154. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/recipes.py +0 -0
  155. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/signals.py +0 -0
  156. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/data/tiles.py +0 -0
  157. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/entity.py +0 -0
  158. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/environment/mod_settings.py +0 -0
  159. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/error.py +0 -0
  160. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/data-updates.lua +0 -0
  161. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/data.lua +0 -0
  162. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/1.1.0.json +0 -0
  163. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/1.2.0 stack inserter rename.json +0 -0
  164. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/2.0.0-biter-egg.json +0 -0
  165. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/2.0.0-internal.json +0 -0
  166. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/2.0.0-internal2.json +0 -0
  167. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/2.0.0-internal3.json +0 -0
  168. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/2.0.0.json +0 -0
  169. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/2.0.0.lua +0 -0
  170. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/migrations/migrations.txt +0 -0
  171. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/achievements.lua +0 -0
  172. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/ambient-sounds.lua +0 -0
  173. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/autoplace-controls.lua +0 -0
  174. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/categories/ammo-category.lua +0 -0
  175. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/categories/equipment-category.lua +0 -0
  176. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/categories/fuel-category.lua +0 -0
  177. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/categories/module-category.lua +0 -0
  178. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/categories/quality.lua +0 -0
  179. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/categories/recipe-category.lua +0 -0
  180. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/categories/resource-category.lua +0 -0
  181. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/collision-layers.lua +0 -0
  182. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/custom-inputs.lua +0 -0
  183. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/damage-type.lua +0 -0
  184. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/decorative/decorative-trigger-effects.lua +0 -0
  185. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/decorative/decoratives.lua +0 -0
  186. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/demo.lua +0 -0
  187. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/artillery-cannon-muzzle-flash-shifting.lua +0 -0
  188. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/assemblerpipes.lua +0 -0
  189. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/atomic-bomb.lua +0 -0
  190. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/beacon-animations.lua +0 -0
  191. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/beams.lua +0 -0
  192. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/biter-ai-settings.lua +0 -0
  193. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/biter-animations.lua +0 -0
  194. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/biter-die-effects.lua +0 -0
  195. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/cargo-hatch.lua +0 -0
  196. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/cargo-pod-catalogue.lua +0 -0
  197. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/character-animations.lua +0 -0
  198. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/circuit-network.lua +0 -0
  199. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/combinator-pictures.lua +0 -0
  200. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/crash-site.lua +0 -0
  201. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/enemies.lua +0 -0
  202. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/enemy-autoplace-utils.lua +0 -0
  203. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/enemy-constants.lua +0 -0
  204. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/enemy-projectiles.lua +0 -0
  205. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/entities.lua +0 -0
  206. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/entity-util.lua +0 -0
  207. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/explosion-animations.lua +0 -0
  208. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/explosions.lua +0 -0
  209. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/factorio-logo.lua +0 -0
  210. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/fire.lua +0 -0
  211. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/flying-robots.lua +0 -0
  212. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/giga-cargo-hatch.lua +0 -0
  213. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/hit-effects.lua +0 -0
  214. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/laser-sounds.lua +0 -0
  215. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/mining-drill.lua +0 -0
  216. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/movement-triggers.lua +0 -0
  217. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/pipecovers.lua +0 -0
  218. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/pump-connector.lua +0 -0
  219. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/rail-pictures.lua +0 -0
  220. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/remnants.lua +0 -0
  221. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/resources.lua +0 -0
  222. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/rocket-projectile-pictures.lua +0 -0
  223. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/smoke-animations.lua +0 -0
  224. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/smoke.lua +0 -0
  225. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/sounds.lua +0 -0
  226. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/spawner-animation.lua +0 -0
  227. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/spidertron-animations.lua +0 -0
  228. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/spidertron-light-positions.lua +0 -0
  229. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/spitter-animations.lua +0 -0
  230. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/trains.lua +0 -0
  231. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/transport-belts.lua +0 -0
  232. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/trees.lua +0 -0
  233. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/turrets.lua +0 -0
  234. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/entity/worm-animations.lua +0 -0
  235. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/equipment-grid.lua +0 -0
  236. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/equipment.lua +0 -0
  237. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/factoriopedia-simulations.lua +0 -0
  238. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/factoriopedia-util.lua +0 -0
  239. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/fire-util.lua +0 -0
  240. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/fluid.lua +0 -0
  241. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/impact-deliver-category.lua +0 -0
  242. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/item-groups.lua +0 -0
  243. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/item-tints.lua +0 -0
  244. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/item_sounds.lua +0 -0
  245. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/map-gen-presets.lua +0 -0
  246. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/map-settings.lua +0 -0
  247. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/noise-expressions.lua +0 -0
  248. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/particle-animations.lua +0 -0
  249. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/particles.lua +0 -0
  250. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/planet/planet-map-gen.lua +0 -0
  251. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/planet/planet.lua +0 -0
  252. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/planet/procession-audio-catalogue-types.lua +0 -0
  253. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/planet/procession-graphic-catalogue-types.lua +0 -0
  254. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/planet/procession-style.lua +0 -0
  255. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/planet/procession.lua +0 -0
  256. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/planet/surface-property.lua +0 -0
  257. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/pollution.lua +0 -0
  258. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/recipe.lua +0 -0
  259. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/shortcuts.lua +0 -0
  260. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/signal.lua +0 -0
  261. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/technology.lua +0 -0
  262. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tile/tile-collision-masks.lua +0 -0
  263. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tile/tile-graphics.lua +0 -0
  264. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tile/tile-pollution-values.lua +0 -0
  265. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tile/tile-sounds.lua +0 -0
  266. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tile/tile-trigger-effects.lua +0 -0
  267. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tile/tiles.lua +0 -0
  268. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tips-and-tricks-simulations.lua +0 -0
  269. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tips-and-tricks.lua +0 -0
  270. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/trigger-target-types.lua +0 -0
  271. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/tutorials.lua +0 -0
  272. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/base/prototypes/utility-sprites.lua +0 -0
  273. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/backers.json +0 -0
  274. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/data.lua +0 -0
  275. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/info.json +0 -0
  276. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/autoplace_utils.lua +0 -0
  277. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/bonus-gui-ordering.lua +0 -0
  278. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/circuit-connector-generated-definitions.lua +0 -0
  279. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/circuit-connector-sprites.lua +0 -0
  280. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/collision-mask-defaults.lua +0 -0
  281. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/collision-mask-util.lua +0 -0
  282. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/crash-site.lua +0 -0
  283. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/data-duplicate-checker.lua +0 -0
  284. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/dataloader.lua +0 -0
  285. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/event_handler.lua +0 -0
  286. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/kill-score.lua +0 -0
  287. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/math2d.lua +0 -0
  288. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/math3d.lua +0 -0
  289. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/meld.lua +0 -0
  290. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/mod-gui.lua +0 -0
  291. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/production-score.lua +0 -0
  292. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/resource-autoplace.lua +0 -0
  293. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/silo-script.lua +0 -0
  294. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/sound-util.lua +0 -0
  295. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/space-finish-script.lua +0 -0
  296. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/story.lua +0 -0
  297. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/surface-render-parameter-effects.lua +0 -0
  298. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/lualib/util.lua +0 -0
  299. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/burner-usage.lua +0 -0
  300. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/cursors.lua +0 -0
  301. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/editor-controller.lua +0 -0
  302. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/fonts.lua +0 -0
  303. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/god-controller.lua +0 -0
  304. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/noise-functions.lua +0 -0
  305. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/noise-programs.lua +0 -0
  306. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/parameters.lua +0 -0
  307. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/remote-controller.lua +0 -0
  308. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/spectator-controller.lua +0 -0
  309. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/style.lua +0 -0
  310. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/unknown.lua +0 -0
  311. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/utility-constants.lua +0 -0
  312. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/core/prototypes/utility-sounds.lua +0 -0
  313. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/data.lua +0 -0
  314. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/base-data-updates.lua +0 -0
  315. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/entity/elevated-rail-pictures.lua +0 -0
  316. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/entity/elevated-rails.lua +0 -0
  317. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/entity/explosions.lua +0 -0
  318. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/entity/remnants.lua +0 -0
  319. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/item/elevated-rails.lua +0 -0
  320. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/particles.lua +0 -0
  321. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/recipe/elevated-rails.lua +0 -0
  322. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/sloped-trains-updates.lua +0 -0
  323. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/technology/elevated-rails.lua +0 -0
  324. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/tips-and-tricks-simulations.lua +0 -0
  325. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/elevated-rails/prototypes/tips-and-tricks.lua +0 -0
  326. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/data-updates.lua +0 -0
  327. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/data.lua +0 -0
  328. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/base-data-updates.lua +0 -0
  329. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/entity/entity.lua +0 -0
  330. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/entity/explosions.lua +0 -0
  331. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/entity/recycler-pictures.lua +0 -0
  332. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/entity/remnants.lua +0 -0
  333. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/item.lua +0 -0
  334. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/module-category.lua +0 -0
  335. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/quality.lua +0 -0
  336. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/recipe.lua +0 -0
  337. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/recycling.lua +0 -0
  338. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/signal.lua +0 -0
  339. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/technology.lua +0 -0
  340. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/tips-and-tricks-simulations.lua +0 -0
  341. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/quality/prototypes/tips-and-tricks.lua +0 -0
  342. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/base-data-updates.lua +0 -0
  343. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/data-updates.lua +0 -0
  344. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/data.lua +0 -0
  345. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/migrations/aquilo-tilesets.json +0 -0
  346. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/migrations/biolab.json +0 -0
  347. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/migrations/internal.json +0 -0
  348. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/migrations/jelly-yum-rename.json +0 -0
  349. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/migrations/shattered-planet.json +0 -0
  350. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/migrations/tungsten-belt-rename.json +0 -0
  351. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/achievements.lua +0 -0
  352. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/active-triggers.lua +0 -0
  353. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/ambient-sounds.lua +0 -0
  354. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/autoplace-controls.lua +0 -0
  355. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/burner-usage.lua +0 -0
  356. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/categories/ammo-category.lua +0 -0
  357. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/categories/fuel-category.lua +0 -0
  358. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/categories/recipe-category.lua +0 -0
  359. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/categories/resource-category.lua +0 -0
  360. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/decorative/decoratives-aquilo.lua +0 -0
  361. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/decorative/decoratives-fulgora.lua +0 -0
  362. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/decorative/decoratives-gleba.lua +0 -0
  363. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/decorative/decoratives-vulcanus.lua +0 -0
  364. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/decorative/decoratives.lua +0 -0
  365. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/agricultural-tower-crane.lua +0 -0
  366. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/asteroid-collector-pictures.lua +0 -0
  367. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/base-frozen-graphics.lua +0 -0
  368. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/beams.lua +0 -0
  369. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/big-mining-drill.lua +0 -0
  370. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/biochamber-pictures.lua +0 -0
  371. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/cargo-hatch.lua +0 -0
  372. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/cargo-pod-catalogue.lua +0 -0
  373. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/circuit-network.lua +0 -0
  374. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/crusher-pictures.lua +0 -0
  375. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/cryogenic-plant-pictures.lua +0 -0
  376. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/electromagnetic-plant-pictures.lua +0 -0
  377. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/enemies.lua +0 -0
  378. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/entities.lua +0 -0
  379. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/explosion-animations.lua +0 -0
  380. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/explosions.lua +0 -0
  381. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/flying-robots.lua +0 -0
  382. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/foundry-pictures.lua +0 -0
  383. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/fusion-system-pictures.lua +0 -0
  384. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/giga-cargo-hatch.lua +0 -0
  385. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/gleba-ai-settings.lua +0 -0
  386. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/gleba-enemy-animations.lua +0 -0
  387. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/lightning-collector-graphics.lua +0 -0
  388. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/lightning-rod-graphics.lua +0 -0
  389. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/mech-armor-animations.lua +0 -0
  390. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/plants.lua +0 -0
  391. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/projectiles.lua +0 -0
  392. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/railgun-turret-pictures.lua +0 -0
  393. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/remnants.lua +0 -0
  394. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/resources.lua +0 -0
  395. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/smoke.lua +0 -0
  396. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/sounds.lua +0 -0
  397. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/space-enemy-autoplace-utils.lua +0 -0
  398. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/space-platform-hub-cockpit.lua +0 -0
  399. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/transport-belts.lua +0 -0
  400. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/trees.lua +0 -0
  401. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/entity/turrets.lua +0 -0
  402. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/equipment-grid.lua +0 -0
  403. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/equipment.lua +0 -0
  404. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/factoriopedia-simulations.lua +0 -0
  405. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/fluid.lua +0 -0
  406. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/item-effects.lua +0 -0
  407. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/item-groups.lua +0 -0
  408. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/item_sounds.lua +0 -0
  409. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/particle-animations.lua +0 -0
  410. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/particles.lua +0 -0
  411. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/asteroid-spawn-definitions.lua +0 -0
  412. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/general-functions.lua +0 -0
  413. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/general-variables.lua +0 -0
  414. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/planet-to-platform/audio-events.lua +0 -0
  415. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/planet-to-platform/cloud-layers.lua +0 -0
  416. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/planet-to-platform/pod-layers-a.lua +0 -0
  417. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/planet-to-platform/pod-layers-b.lua +0 -0
  418. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/planet-to-platform/pod-layers-i.lua +0 -0
  419. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/planet-to-platform/rocket-layers.lua +0 -0
  420. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/planet-to-platform/space-layers.lua +0 -0
  421. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/planet-to-platform.lua +0 -0
  422. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/platform-to-planet/audio-events.lua +0 -0
  423. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/platform-to-planet/cloud-layers.lua +0 -0
  424. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/platform-to-planet/pod-layers-a.lua +0 -0
  425. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/platform-to-planet/pod-layers-b.lua +0 -0
  426. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/platform-to-planet/pod-layers-i.lua +0 -0
  427. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/platform-to-planet/space-layers.lua +0 -0
  428. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/general/platform-to-planet.lua +0 -0
  429. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/planet-aquilo-map-gen.lua +0 -0
  430. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/planet-fulgora-map-gen.lua +0 -0
  431. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/planet-gleba-map-gen.lua +0 -0
  432. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/planet-map-gen.lua +0 -0
  433. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/planet-vulcanus-map-gen.lua +0 -0
  434. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/planet.lua +0 -0
  435. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/procession-catalogue-aquilo.lua +0 -0
  436. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/procession-catalogue-fulgora.lua +0 -0
  437. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/procession-catalogue-gleba.lua +0 -0
  438. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/procession-catalogue-vulcanus.lua +0 -0
  439. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/procession-common.lua +0 -0
  440. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/planet/procession.lua +0 -0
  441. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/recipe.lua +0 -0
  442. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/spores.lua +0 -0
  443. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/surface.lua +0 -0
  444. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/technology.lua +0 -0
  445. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/platform-tile-animations.lua +0 -0
  446. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/tile-pollution-values.lua +0 -0
  447. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/tile-sounds.lua +0 -0
  448. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/tile-trigger-effects.lua +0 -0
  449. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/tiles-aquilo.lua +0 -0
  450. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/tiles-fulgora.lua +0 -0
  451. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/tiles-gleba.lua +0 -0
  452. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/tiles-vulcanus.lua +0 -0
  453. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tile/tiles.lua +0 -0
  454. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tips-and-tricks-simulations.lua +0 -0
  455. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/tips-and-tricks.lua +0 -0
  456. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/utility-sounds.lua +0 -0
  457. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/factorio-data/space-age/prototypes/utility-sprites.lua +0 -0
  458. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/accumulator.py +0 -0
  459. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/agricultural_tower.py +0 -0
  460. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/ammo_turret.py +0 -0
  461. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/artillery_turret.py +0 -0
  462. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/artillery_wagon.py +0 -0
  463. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/assembling_machine.py +0 -0
  464. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/asteroid_collector.py +0 -0
  465. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/beacon.py +0 -0
  466. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/boiler.py +0 -0
  467. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/burner_generator.py +0 -0
  468. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/car.py +0 -0
  469. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/cargo_bay.py +0 -0
  470. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/cargo_landing_pad.py +0 -0
  471. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/cargo_wagon.py +0 -0
  472. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/container.py +0 -0
  473. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/curved_rail_a.py +0 -0
  474. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/curved_rail_b.py +0 -0
  475. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/display_panel.py +0 -0
  476. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/electric_energy_interface.py +0 -0
  477. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/electric_pole.py +0 -0
  478. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/electric_turret.py +0 -0
  479. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/elevated_curved_rail_a.py +0 -0
  480. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/elevated_curved_rail_b.py +0 -0
  481. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/elevated_half_diagonal_rail.py +0 -0
  482. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/elevated_straight_rail.py +0 -0
  483. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/fluid_turret.py +0 -0
  484. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/fluid_wagon.py +0 -0
  485. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/furnace.py +0 -0
  486. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/fusion_generator.py +0 -0
  487. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/fusion_reactor.py +0 -0
  488. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/gate.py +0 -0
  489. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/generator.py +0 -0
  490. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/half_diagonal_rail.py +0 -0
  491. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/heat_interface.py +0 -0
  492. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/heat_pipe.py +0 -0
  493. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/infinity_container.py +0 -0
  494. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/infinity_pipe.py +0 -0
  495. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/inserter.py +0 -0
  496. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/lab.py +0 -0
  497. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/lamp.py +0 -0
  498. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/land_mine.py +0 -0
  499. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/legacy_straight_rail.py +0 -0
  500. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/lightning_attractor.py +0 -0
  501. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/linked_belt.py +0 -0
  502. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/linked_container.py +0 -0
  503. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/loader.py +0 -0
  504. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/locomotive.py +0 -0
  505. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/logistic_active_container.py +0 -0
  506. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/logistic_buffer_container.py +0 -0
  507. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/logistic_passive_container.py +0 -0
  508. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/logistic_request_container.py +0 -0
  509. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/logistic_storage_container.py +0 -0
  510. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/mining_drill.py +0 -0
  511. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/offshore_pump.py +0 -0
  512. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/pipe.py +0 -0
  513. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/player_port.py +0 -0
  514. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/power_switch.py +0 -0
  515. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/pump.py +0 -0
  516. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/radar.py +0 -0
  517. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/rail_chain_signal.py +0 -0
  518. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/rail_ramp.py +0 -0
  519. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/rail_signal.py +0 -0
  520. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/rail_support.py +0 -0
  521. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/reactor.py +0 -0
  522. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/roboport.py +0 -0
  523. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/rocket_silo.py +0 -0
  524. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/selector_combinator.py +0 -0
  525. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/simple_entity_with_force.py +0 -0
  526. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/simple_entity_with_owner.py +0 -0
  527. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/solar_panel.py +0 -0
  528. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/space_platform_hub.py +0 -0
  529. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/spider_vehicle.py +0 -0
  530. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/splitter.py +0 -0
  531. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/storage_tank.py +0 -0
  532. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/straight_rail.py +0 -0
  533. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/thruster.py +0 -0
  534. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/transport_belt.py +0 -0
  535. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/underground_belt.py +0 -0
  536. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/underground_pipe.py +0 -0
  537. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/prototypes/wall.py +0 -0
  538. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/rail.py +0 -0
  539. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/tile.py +0 -0
  540. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/utils.py +0 -0
  541. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/draftsman/warning.py +0 -0
  542. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/factorio_draftsman.egg-info/dependency_links.txt +0 -0
  543. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/factorio_draftsman.egg-info/entry_points.txt +0 -0
  544. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/factorio_draftsman.egg-info/requires.txt +0 -0
  545. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/factorio_draftsman.egg-info/top_level.txt +0 -0
  546. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/setup.cfg +0 -0
  547. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_association.py +0 -0
  548. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_blueprint.py +0 -0
  549. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_blueprintable.py +0 -0
  550. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_collision_set.py +0 -0
  551. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_constants.py +0 -0
  552. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_data.py +0 -0
  553. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_deconstruction_planner.py +0 -0
  554. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_entity.py +0 -0
  555. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_entity_list.py +0 -0
  556. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_environment.py +0 -0
  557. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_examples.py +0 -0
  558. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_mixins.py +0 -0
  559. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_rail_planner.py +0 -0
  560. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_schedule.py +0 -0
  561. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_schedule_list.py +0 -0
  562. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_serialization.py +0 -0
  563. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_signatures.py +0 -0
  564. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_tile.py +0 -0
  565. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_train_configuration.py +0 -0
  566. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_upgrade_planner.py +0 -0
  567. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_utils.py +0 -0
  568. {factorio_draftsman-3.0.0 → factorio_draftsman-3.0.1}/test/test_vector.py +0 -0
@@ -1,9 +1,9 @@
1
- global-include *.pkl
2
- global-exclude *.zip
3
-
4
- exclude draftsman/factorio-mods/mod-settings.dat
5
- exclude draftsman/factorio-mods/mod-list.json
6
- include draftsman/factorio-mods/.gitignore
7
-
8
- recursive-include draftsman/factorio-data/* *
1
+ global-include *.pkl
2
+ global-exclude *.zip
3
+
4
+ exclude draftsman/factorio-mods/mod-settings.dat
5
+ exclude draftsman/factorio-mods/mod-list.json
6
+ include draftsman/factorio-mods/.gitignore
7
+
8
+ recursive-include draftsman/factorio-data/* *
9
9
  include draftsman/compatibility/*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: factorio-draftsman
3
- Version: 3.0.0
3
+ Version: 3.0.1
4
4
  Summary: A complete, well-tested, and up-to-date module to manipulate Factorio blueprint strings. Compatible with mods.
5
5
  Author: redruin01
6
6
  License: MIT License
@@ -31,10 +31,6 @@ Project-URL: Issues, https://github.com/redruin1/factorio-draftsman/issues
31
31
  Project-URL: Changelog, https://github.com/redruin1/factorio-draftsman/blob/main/changelog.md
32
32
  Keywords: factorio,blueprint,string
33
33
  Classifier: Development Status :: 4 - Beta
34
- Classifier: Programming Language :: Python :: 3
35
- Classifier: Programming Language :: Python :: 3.7
36
- Classifier: Programming Language :: Python :: 3.8
37
- Classifier: Programming Language :: Python :: 3.9
38
34
  Classifier: Programming Language :: Python :: 3.10
39
35
  Classifier: Programming Language :: Python :: 3.11
40
36
  Classifier: Programming Language :: Python :: 3.12
@@ -43,7 +39,7 @@ Classifier: Intended Audience :: Developers
43
39
  Classifier: Intended Audience :: End Users/Desktop
44
40
  Classifier: Operating System :: OS Independent
45
41
  Classifier: License :: OSI Approved :: MIT License
46
- Requires-Python: >=3.8
42
+ Requires-Python: >=3.9
47
43
  Description-Content-Type: text/markdown
48
44
  License-File: LICENSE
49
45
  Requires-Dist: attrs>=25.3.0
@@ -274,6 +270,7 @@ Available recipes:
274
270
  test # Run test suite against {current Factorio version, all Python versions}
275
271
  test-all # Run test suite against {all Factorio versions, latest Python version} (LONG)
276
272
  report-coverage # Combine all coverage files and create HTML report
273
+ benchmark # Run benchmark tests and save profiles for this Draftsman version
277
274
  ```
278
275
 
279
276
  Note that testing currently is only guaranteed to pass with a vanilla [environment](https://factorio-draftsman.readthedocs.io/en/latest/concepts/environment.html).
@@ -216,6 +216,7 @@ Available recipes:
216
216
  test # Run test suite against {current Factorio version, all Python versions}
217
217
  test-all # Run test suite against {all Factorio versions, latest Python version} (LONG)
218
218
  report-coverage # Combine all coverage files and create HTML report
219
+ benchmark # Run benchmark tests and save profiles for this Draftsman version
219
220
  ```
220
221
 
221
222
  Note that testing currently is only guaranteed to pass with a vanilla [environment](https://factorio-draftsman.readthedocs.io/en/latest/concepts/environment.html).
@@ -0,0 +1,4 @@
1
+ # _version.py
2
+
3
+ __version__ = "3.0.1"
4
+ __version_info__ = (3, 0, 1)
@@ -76,6 +76,7 @@ def get_blueprintable_from_JSON(blueprintable_JSON: dict) -> Blueprintable:
76
76
  ``"deconstruction_planner"``, ``"upgrade_planner"``, nor
77
77
  ``"blueprint_book"``, and thus it's type cannot be deduced.
78
78
  """
79
+ blueprintable_type: type[Blueprintable]
79
80
  if "blueprint" in blueprintable_JSON:
80
81
  blueprintable_type = Blueprint
81
82
  elif "deconstruction_planner" in blueprintable_JSON:
@@ -92,7 +93,9 @@ def get_blueprintable_from_JSON(blueprintable_JSON: dict) -> Blueprintable:
92
93
  )
93
94
  # Try and get the version from the dictionary, falling back to current
94
95
  # environment configuration if not found
95
- root_item = blueprintable_type.root_item.fget(blueprintable_type)
96
+ # TODO: could maybe fix mypy annotation here by making `root_item` a raw
97
+ # attribute, but that seems worse
98
+ root_item = blueprintable_type.root_item.fget(blueprintable_type) # type: ignore
96
99
  if "version" in blueprintable_JSON[root_item]:
97
100
  version = decode_version(blueprintable_JSON[root_item]["version"])
98
101
  else:
@@ -211,7 +211,7 @@ class Blueprint(Transformable, Collection, Blueprintable):
211
211
  result += self.tiles.validate(mode=mode)
212
212
  # TODO: self.schedules.validate(mode=mode)
213
213
 
214
- for class_validator in type(self).__attrs_class_validators__:
214
+ for class_validator in type(self).__attrs_class_validators__: # type: ignore
215
215
  class_validator(self, mode=mode) # TODO: pass in error/warning list
216
216
 
217
217
  return result
@@ -397,7 +397,7 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
397
397
  ): fields.position_relative_to_grid.name,
398
398
  ("blueprint", "entities"): ( # Custom structure function
399
399
  fields.entities,
400
- lambda value, _, inst: EntityList(
400
+ lambda value, _, inst, args: EntityList(
401
401
  inst,
402
402
  [
403
403
  converter.structure(
@@ -417,7 +417,7 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
417
417
  ),
418
418
  ),
419
419
  ("blueprint", "tiles"): fields.tiles.name,
420
- # None: fields.wires.name,
420
+ ("blueprint", "wires"): fields.wires.name, # *Possibly* imported
421
421
  ("blueprint", "schedules"): fields.schedules.name,
422
422
  # None: fields.stock_connections.name,
423
423
  },
@@ -436,7 +436,7 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
436
436
  ): fields.position_relative_to_grid.name,
437
437
  ("blueprint", "entities"): fields.entities.name,
438
438
  ("blueprint", "tiles"): fields.tiles.name,
439
- # None: fields.wires.name,
439
+ # None: fields.wires.name, # Not exported (if I have anything to say about it)
440
440
  ("blueprint", "schedules"): fields.schedules.name,
441
441
  # None: fields.stock_connections.name,
442
442
  },
@@ -486,7 +486,14 @@ def structure_blueprint_1_0_factory(t: type):
486
486
 
487
487
  blueprint_dict = d["blueprint"]
488
488
 
489
- wires = blueprint_dict["wires"] = []
489
+ # For crazy ass reasons, "wires" might *actually* be populated on a 1.0
490
+ # versioned blueprint (If the blueprint "version" key is straight up
491
+ # wrong)
492
+ # So try to grab it and use it if it exists, otherwise initialize it to
493
+ # an empty list
494
+ if "wires" not in blueprint_dict: # pragma: no coverage
495
+ blueprint_dict["wires"] = []
496
+ wires = blueprint_dict["wires"]
490
497
  if "entities" in blueprint_dict:
491
498
  for entity in blueprint_dict["entities"]:
492
499
 
@@ -602,7 +609,7 @@ draftsman_converters.get_version((2, 0)).add_hook_fns(
602
609
  ): fields.position_relative_to_grid.name,
603
610
  ("blueprint", "entities"): ( # Custom structure function
604
611
  fields.entities,
605
- lambda value, _, inst: EntityList(
612
+ lambda value, _, inst, args: EntityList(
606
613
  inst,
607
614
  [
608
615
  converter.structure(
@@ -20,7 +20,7 @@ from draftsman.validators import instance_of
20
20
  import attrs
21
21
  import cattrs
22
22
  from collections.abc import MutableSequence
23
- from typing import Any, Literal, Union
23
+ from typing import Any, Iterable, Literal, Sequence, overload
24
24
 
25
25
 
26
26
  class BlueprintableList(MutableSequence):
@@ -30,7 +30,7 @@ class BlueprintableList(MutableSequence):
30
30
 
31
31
  def __init__(
32
32
  self,
33
- initlist: list[Union[dict, Blueprintable]] = [],
33
+ initlist: Sequence[dict | Blueprintable] = [],
34
34
  ):
35
35
  from draftsman.blueprintable import get_blueprintable_from_JSON # FIXME: cursed
36
36
 
@@ -47,17 +47,27 @@ class BlueprintableList(MutableSequence):
47
47
 
48
48
  self.data.insert(idx, value)
49
49
 
50
- def __getitem__(
51
- self, idx: Union[int, slice]
52
- ) -> Union[Blueprintable, MutableSequence[Blueprintable]]:
50
+ @overload
51
+ def __getitem__(self, idx: int) -> Blueprintable: ...
52
+ @overload
53
+ def __getitem__(self, idx: slice) -> list[Blueprintable]: ...
54
+ def __getitem__(self, idx):
53
55
  return self.data[idx]
54
56
 
55
- def __setitem__(self, idx: Union[int, slice], value: Blueprintable) -> None:
56
- self.check_blueprintable(value)
57
-
58
- self.data[idx] = value
57
+ @overload
58
+ def __setitem__(self, idx: int, value: Blueprintable) -> None: ...
59
+ @overload
60
+ def __setitem__(self, idx: slice, value: Iterable[Blueprintable]) -> None: ...
61
+ def __setitem__(self, idx, value):
62
+ if isinstance(idx, slice):
63
+ for v in value:
64
+ self.check_blueprintable(v)
65
+ self.data[idx] = [v for v in value]
66
+ else:
67
+ self.check_blueprintable(value)
68
+ self.data[idx] = value
59
69
 
60
- def __delitem__(self, idx: Union[int, slice]) -> None:
70
+ def __delitem__(self, idx: int | slice) -> None:
61
71
  del self.data[idx]
62
72
 
63
73
  def __len__(self) -> int:
@@ -77,6 +77,11 @@ class Blueprintable(Exportable, metaclass=ABCMeta):
77
77
  # Try and get the version from the dictionary, falling back to current
78
78
  # environment configuration if not found
79
79
  if "version" in json_dict[root_item]:
80
+ # However, "version" is simply the version of the game that the
81
+ # blueprint was originally created in, and is not necessarily kept
82
+ # up-to-date and as such may be straight up wrong.
83
+ # This means our importing methods need to be robust to the case
84
+ # where the blueprint string lies to us about it's contents
80
85
  version = decode_version(json_dict[root_item]["version"])
81
86
  else:
82
87
  version = mods.versions.get("base", DEFAULT_FACTORIO_VERSION)
@@ -254,7 +259,7 @@ class Blueprintable(Exportable, metaclass=ABCMeta):
254
259
 
255
260
  This attribute is imported/exported from blueprint strings.
256
261
 
257
- The version of Factorio the Blueprint was created in/intended for.
262
+ The version of Factorio the Blueprint was created in.
258
263
 
259
264
  The Blueprint ``version`` is a 64-bit integer, which is a bitwise-OR
260
265
  of four 16-bit numbers. You can interpret this number more clearly by
@@ -219,7 +219,11 @@ class DeconstructionPlanner(Blueprintable):
219
219
  new_entry = EntityFilter(
220
220
  index=index, name=name, quality=quality, comparator=comparator
221
221
  )
222
- bisect.insort(self.entity_filters, new_entry, key=lambda e: e.index)
222
+ bisect.insort(
223
+ self.entity_filters,
224
+ new_entry,
225
+ key=lambda e: 0 if e.index is None else e.index,
226
+ )
223
227
 
224
228
  def set_tile_filter(
225
229
  self, index: int, name: str # TODO: should be uint64 # TODO: should be TileID
@@ -248,7 +252,11 @@ class DeconstructionPlanner(Blueprintable):
248
252
  if found_index is None:
249
253
  # Otherwise its unique; add to list
250
254
  new_entry = TileFilter(index=index, name=name)
251
- bisect.insort(self.tile_filters, new_entry, key=lambda e: e.index)
255
+ bisect.insort(
256
+ self.tile_filters,
257
+ new_entry,
258
+ key=lambda e: 0 if e.index is None else e.index,
259
+ )
252
260
 
253
261
 
254
262
  draftsman_converters.add_hook_fns(
@@ -156,7 +156,7 @@ class Entity(EntityLike, Exportable):
156
156
  def __attrs_post_init__(self):
157
157
  # We gave incorrect defaults for `position` and `tile_position` so that
158
158
  # we can deduce which ones were specified in init
159
- # (For example`position` can be `None` at this point, even though it's
159
+ # (For example `position` can be `None` at this point, even though it's
160
160
  # type annotated as always being a Vector instance. We wouldn't have to
161
161
  # do this if attrs supported kwargs here, but it doesn't, so.)
162
162
 
@@ -259,7 +259,7 @@ class Entity(EntityLike, Exportable):
259
259
  # =========================================================================
260
260
 
261
261
  @property
262
- def collision_mask(self) -> set:
262
+ def collision_mask(self) -> set[str]:
263
263
  """
264
264
  The set of all collision layers that this Entity collides with,
265
265
  specified as strings. Equivalent to Factorio's ``data.raw`` entry.
@@ -1021,7 +1021,7 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
1021
1021
  "entity_number": None,
1022
1022
  "name": (
1023
1023
  fields.name,
1024
- lambda input, _, inst: migrate_name(
1024
+ lambda input, _, inst, args: migrate_name(
1025
1025
  input,
1026
1026
  source_version=(1, 0),
1027
1027
  dest_version=mods.versions.get("base", DEFAULT_FACTORIO_VERSION),
@@ -1032,7 +1032,7 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
1032
1032
  # None: fields.quality.name,
1033
1033
  "items": (
1034
1034
  _export_fields.item_requests,
1035
- lambda input_dict, _, inst: [
1035
+ lambda input_dict, _, inst, args: [
1036
1036
  {
1037
1037
  "id": {"name": k, "quality": "normal"},
1038
1038
  "items": {
@@ -1060,7 +1060,7 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
1060
1060
  lambda fields, converter: {
1061
1061
  "name": (
1062
1062
  fields.name,
1063
- lambda inst: migrate_name(
1063
+ lambda inst: migrate_name( # TODO
1064
1064
  inst.name,
1065
1065
  source_version=mods.versions.get("base", DEFAULT_FACTORIO_VERSION),
1066
1066
  dest_version=(1, 0),
@@ -1090,7 +1090,7 @@ draftsman_converters.get_version((2, 0)).add_hook_fns(
1090
1090
  "entity_number": None,
1091
1091
  "name": (
1092
1092
  fields.name,
1093
- lambda input, _, inst: migrate_name(
1093
+ lambda input, _, inst, args: migrate_name(
1094
1094
  input,
1095
1095
  source_version=(2, 0),
1096
1096
  dest_version=mods.versions.get("base", DEFAULT_FACTORIO_VERSION),
@@ -375,35 +375,58 @@ def make_exportable_structure_factory_func(
375
375
  def structure_hook(input_dict: dict, _: type):
376
376
  inst = cls.__new__(cls)
377
377
 
378
+ # print(input_dict)
379
+
378
380
  init_args = {}
379
- for dict_loc, attr_name in structure_dict.items():
380
- if attr_name is None:
381
- try_pop_location(input_dict, dict_loc)
381
+ for source_loc, dest_loc in structure_dict.items():
382
+ # If the destination is None, that's us telling the structure
383
+ # function to ignore that particular entry
384
+ if dest_loc is None:
385
+ try_pop_location(input_dict, source_loc)
382
386
  continue
383
387
 
384
- if isinstance(attr_name, tuple):
385
- attr = attr_name[0]
386
- custom_handler = attr_name[1]
388
+ # print(source_loc, dest_loc)
389
+
390
+ if isinstance(dest_loc, dict):
391
+ custom_handler = dest_loc.get("handler", None)
392
+ attr = dest_loc["attr"]
393
+ attr_name = dest_loc["name"]
394
+ attr_type = dest_loc["type"]
395
+ elif isinstance(dest_loc, tuple):
396
+ attr = dest_loc[0]
397
+ custom_handler = dest_loc[1]
387
398
  attr_name = attr.alias if attr.alias != attr.name else attr.name
399
+ attr_type = attr.type
388
400
  else:
389
- attr = getattr(class_attrs, attr_name)
401
+ attr = getattr(class_attrs, dest_loc)
390
402
  custom_handler = None
391
403
  attr_name = attr.alias if attr.alias != attr.name else attr.name
404
+ attr_type = attr.type
405
+
406
+ # print(attr)
407
+ # print(attr_name)
408
+ # print(attr_type)
409
+ # print(custom_handler)
392
410
 
393
- value = try_pop_location(input_dict, dict_loc)
411
+ value = try_pop_location(input_dict, source_loc)
412
+ # No value means nothing to do
394
413
  if value is None:
395
414
  continue
396
415
 
416
+ # Grab the appropriate structure handler
397
417
  handler = (
398
418
  custom_handler
399
- if custom_handler
400
- else find_structure_handler(attr, attr.type, converter)
419
+ if custom_handler is not None
420
+ else find_structure_handler(attr, attr_type, converter)
401
421
  )
422
+ # print(handler)
402
423
  try:
403
424
  if custom_handler:
404
- init_args[attr_name] = handler(value, attr.type, inst)
425
+ init_args[attr_name] = handler(
426
+ value, attr_type, inst, init_args
427
+ )
405
428
  else:
406
- init_args[attr_name] = handler(value, attr.type)
429
+ init_args[attr_name] = handler(value, attr_type)
407
430
  except Exception as e:
408
431
  raise DataFormatError(e)
409
432
 
@@ -6,6 +6,7 @@ from draftsman.classes.blueprint import (
6
6
  )
7
7
  from draftsman.classes.collection import Collection
8
8
  from draftsman.classes.collision_set import CollisionSet
9
+ from draftsman.classes.entity import Entity
9
10
  from draftsman.classes.entity_like import EntityLike
10
11
  from draftsman.classes.entity_list import EntityList
11
12
  from draftsman.classes.exportable import Exportable, ValidationMode, ValidationResult
@@ -241,16 +242,15 @@ class Group(
241
242
 
242
243
  # =========================================================================
243
244
 
244
- # TODO: delete this or fix this
245
- collision_mask: dict = attrs.field(
246
- factory=lambda: {"layers": set()},
247
- converter=lambda v: {"layers": set()} if v is None else v,
248
- validator=instance_of(dict),
245
+ collision_mask: set[str] = attrs.field(
246
+ factory=set,
247
+ converter=lambda v: set() if v is None else v,
248
+ validator=instance_of(set),
249
249
  kw_only=True,
250
250
  )
251
251
  """
252
- The set of all collision layers that this Entity collides with,
253
- specified as strings. Defaults to an empty ``set``.
252
+ The set of all collision layers that this group collides with, specified as
253
+ strings. Defaults to an empty ``set``.
254
254
  """
255
255
 
256
256
  # =========================================================================
@@ -264,7 +264,7 @@ class Group(
264
264
 
265
265
  # =========================================================================
266
266
 
267
- def get(self) -> list[EntityLike]:
267
+ def get(self) -> list[Entity]:
268
268
  """
269
269
  Gets all the child-most ``Entity`` instances in this ``Group`` and
270
270
  returns them as a "flattened" 1-dimensional list. Offsets all of their
@@ -285,7 +285,7 @@ class Group(
285
285
  def get_dimensions(self) -> tuple[int, int]:
286
286
  return aabb_to_dimensions(self.get_world_bounding_box())
287
287
 
288
- def mergable_with(self, other: "Group") -> bool:
288
+ def mergable_with(self, other: EntityLike) -> bool:
289
289
  # For now, we assume that Groups themselves are not mergable
290
290
  # Note that the entities *inside* groups are perfectly mergable; the
291
291
  # only case where this is important is when two identical groups are
@@ -293,7 +293,7 @@ class Group(
293
293
  # will exist, one of which will be empty
294
294
  return False
295
295
 
296
- def merge(self, other: "Group"):
296
+ def merge(self, other: EntityLike):
297
297
  # For now, we assume that Groups themselves are not mergable
298
298
  return # Do nothing
299
299
 
@@ -328,7 +328,7 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
328
328
  ("blueprint", "position-relative-to-grid"): None,
329
329
  ("blueprint", "entities"): ( # Custom structure function
330
330
  fields.entities,
331
- lambda value, _, inst: EntityList(
331
+ lambda value, _, inst, args: EntityList(
332
332
  inst,
333
333
  [
334
334
  converter.structure(elem, get_entity_class(elem.get("name", None)))
@@ -377,7 +377,7 @@ draftsman_converters.get_version((2, 0)).add_hook_fns(
377
377
  ("blueprint", "position-relative-to-grid"): None,
378
378
  ("blueprint", "entities"): ( # Custom structure function
379
379
  fields.entities,
380
- lambda value, _, inst: EntityList(
380
+ lambda value, _, inst, args: EntityList(
381
381
  inst,
382
382
  [
383
383
  converter.structure(elem, get_entity_class(elem.get("name", None)))
@@ -139,7 +139,7 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
139
139
  # None: fields.requests_enabled.name,
140
140
  "request_filters": (
141
141
  _export_fields.sections,
142
- lambda input_dict, _, inst: [
142
+ lambda input_dict, _, inst, args: [
143
143
  ManualSection(
144
144
  index=0, filters=converter.structure(input_dict, list[SignalFilter])
145
145
  )
@@ -153,7 +153,11 @@ draftsman_converters.get_version((1, 0)).add_hook_fns(
153
153
  "request_filters": (
154
154
  _export_fields.sections,
155
155
  lambda inst: (
156
- converter.unstructure(inst.sections[0].filters)
156
+ # Have to copy from ManualSection
157
+ [
158
+ converter.unstructure(value)
159
+ for _, value in sorted(inst.sections[0].filters.items())
160
+ ]
157
161
  if len(inst.sections) > 0
158
162
  else []
159
163
  ),
@@ -57,7 +57,7 @@ class SpatialDataStructure(metaclass=abc.ABCMeta):
57
57
  pass
58
58
 
59
59
  @abc.abstractmethod
60
- def get_all_entities(self) -> list[SpatialLike]: # pragma: no coverage
60
+ def get_all(self) -> list[SpatialLike]: # pragma: no coverage
61
61
  """
62
62
  Get all the entities in the hash map. Iterates over every cell and
63
63
  returns the contents sequentially. Useful if you want to get all the
@@ -27,7 +27,7 @@ class SpatialHashMap(SpatialDataStructure):
27
27
  Accellerates spatial queries of :py:class:`~.Collection`.
28
28
  """
29
29
 
30
- def __init__(self, cell_size: int = 8) -> None:
30
+ def __init__(self, cell_size: int = 4) -> None:
31
31
  """
32
32
  Create a new :py:class:`.SpatialHashMap`.
33
33
 
@@ -97,8 +97,10 @@ class SpatialHashMap(SpatialDataStructure):
97
97
  # StraightRails and CurvedRails cannot collide with each other
98
98
  # UNLESS they are the same type, face the same direction, and
99
99
  # exist at the exact same place
100
- if isinstance(item, (StraightRail, LegacyCurvedRail)) and isinstance(
101
- overlapping_item, (StraightRail, LegacyCurvedRail)
100
+ if isinstance(
101
+ item, (StraightRail, LegacyStraightRail, LegacyCurvedRail)
102
+ ) and isinstance(
103
+ overlapping_item, (StraightRail, LegacyStraightRail, LegacyCurvedRail)
102
104
  ):
103
105
  identical = (
104
106
  item.name == overlapping_item.name
@@ -125,19 +127,33 @@ class SpatialHashMap(SpatialDataStructure):
125
127
  overlapping_collision_set = overlapping_item.get_world_collision_set()
126
128
  if item_collision_set.overlaps(overlapping_collision_set):
127
129
  warnings.warn(
128
- "Added object '{}' ({}) at {} intersects '{}' ({}) at {}".format(
130
+ "Added object\n"
131
+ "\t'{}' ({}) at {}{}\n"
132
+ "intersects\n"
133
+ "\t'{}' ({}) at {}{}".format(
129
134
  item.name,
130
135
  type(item).__name__,
131
136
  item.global_position,
137
+ (
138
+ " facing {}".format(repr(item.direction))
139
+ if hasattr(item, "rotatable") and item.rotatable
140
+ else ""
141
+ ),
132
142
  overlapping_item.name,
133
143
  type(overlapping_item).__name__,
134
144
  overlapping_item.global_position,
145
+ (
146
+ " facing {}".format(repr(overlapping_item.direction))
147
+ if hasattr(overlapping_item, "rotatable")
148
+ and overlapping_item.rotatable
149
+ else ""
150
+ ),
135
151
  ),
136
152
  OverlappingObjectsWarning,
137
153
  stacklevel=2,
138
154
  )
139
155
 
140
- def get_all_entities(self) -> list[SpatialLike]:
156
+ def get_all(self) -> list[SpatialLike]:
141
157
  items = []
142
158
  for cell_coord in self.map:
143
159
  for item in self.map[cell_coord]: