Advertisement
Guest User

Untitled

a guest
Jul 15th, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.22 KB | None | 0 0
  1. require "data/prefix"
  2.  
  3. local Data_Table = {
  4. {
  5. Name = "chalcopyrite",
  6. Order = "e",
  7. Coverage = 0.004,
  8. Mining_Hardness = 3.75,
  9. Mining_Time = 1.5,
  10. Tint = Material_Colors.Copper,
  11. Starting_Area = true,
  12. Starting_Area_Strength = 2,
  13. Multiplier = 1.05,
  14. },
  15. {
  16. Name = "hematite",
  17. Order = "d",
  18. Coverage = 0.004,
  19. Mining_Hardness = 5,
  20. Mining_Time = 2.5,
  21. Tint = Material_Colors.Iron,
  22. Starting_Area = true,
  23. Starting_Area_Strength = 2.5,
  24. Multiplier = 1.04,
  25. },
  26. {
  27. Name = "galena",
  28. Order = "i",
  29. Coverage = 0.003,
  30. Mining_Hardness = 1.25,
  31. Mining_Time = 5,
  32. Tint = Material_Colors.Lead,
  33. Starting_Area = false,
  34. Starting_Area_Strength = 1,
  35. Multiplier = 1.01,
  36. },
  37. {
  38. Name = "prolycotherium",
  39. Order = "h",
  40. Coverage = 0.0035,
  41. Mining_Hardness = 8,
  42. Mining_Time = 10,
  43. Tint = Material_Colors.Tin,
  44. Starting_Area = false,
  45. Starting_Area_Strength = 1,
  46. Multiplier = 0.99,
  47. },
  48. {
  49. Name = "carbolycite",
  50. Order = "f",
  51. Coverage = 0.004,
  52. Mining_Hardness = 3,
  53. Mining_Time = 2,
  54. Tint = Material_Colors.Tungsten,
  55. Starting_Area = true,
  56. Starting_Area_Strength = 2.5,
  57. Multiplier = 1.05,
  58. },
  59. {
  60. Name = "bauxite",
  61. Order = "g",
  62. Coverage = 0.003,
  63. Mining_Hardness = 4.75,
  64. Mining_Time = 2.5,
  65. Tint = Material_Colors.Stone,
  66. Starting_Area = true,
  67. Starting_Area_Strength = 1.5,
  68. Multiplier = 1.01,
  69. },
  70. {
  71. Name = "radicium",
  72. Order = "c",
  73. Coverage = 0.003,
  74. Mining_Hardness = 6.5,
  75. Mining_Time = 15,
  76. Tint = Material_Colors.Uranium,
  77. Starting_Area = false,
  78. Starting_Area_Strength = 1,
  79. Multiplier = 0.98,
  80. },
  81. }
  82.  
  83. function DyWorld_Ore_Peak(Input)
  84. local Peak = {
  85. noise_layer = Input,
  86. noise_octaves_difference = -0.85,
  87. noise_persistence = 0.4
  88. }
  89. return Peak
  90. end
  91.  
  92. Remove = {"iron-ore", "copper-ore", "uranium-ore", "stone", "coal"}
  93.  
  94. for k,m in pairs(Remove) do
  95. data.raw["autoplace-control"][m].order = "z"
  96. data.raw["autoplace-control"][m].hidden = true
  97. data.raw["autoplace-control"][m].richness = false
  98. end
  99.  
  100. for k,v in pairs(Data_Table) do
  101. data:extend(
  102. {
  103. {
  104. type = "noise-layer",
  105. name = v.Name,
  106. },
  107. {
  108. type = "autoplace-control",
  109. name = v.Name,
  110. richness = true,
  111. order = v.Name,
  112. category = "resource",
  113. },
  114. {
  115. type = "resource",
  116. name = v.Name,
  117. icons =
  118. {
  119. {
  120. icon = dyworld_path_icon.."base-ore.png",
  121. tint = v.Tint,
  122. }
  123. },
  124. icon_size = 32,
  125. flags = {"placeable-neutral"},
  126. order = "a-b-"..v.Order,
  127. minable =
  128. {
  129. hardness = v.Mining_Hardness,
  130. mining_particle = "stone-particle",
  131. mining_time = v.Mining_Time,
  132. result = v.Name,
  133. },
  134. collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
  135. selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
  136. autoplace =
  137. {
  138. control = v.Name,
  139. sharpness = 15/16,
  140. richness_multiplier = 1500 * v.Multiplier,
  141. richness_multiplier_distance_bonus = 20 * v.Multiplier,
  142. richness_base = 10 * v.Multiplier,
  143. coverage = (v.Coverage / 2.75) * v.Multiplier,
  144. peaks =
  145. {
  146. {
  147. noise_layer = v.Name,
  148. noise_octaves_difference = -0.85,
  149. noise_persistence = 0.4
  150. },
  151. },
  152. },
  153. stage_counts = {5000, 3000, 1500, 800, 400, 100, 50, 10},
  154. stages =
  155. {
  156. sheet =
  157. {
  158. filename = "__base__/graphics/entity/iron-ore/iron-ore.png",
  159. priority = "extra-high",
  160. width = 64,
  161. height = 64,
  162. frame_count = 8,
  163. variation_count = 8,
  164. tint = v.Tint,
  165. hr_version = {
  166. filename = "__base__/graphics/entity/iron-ore/hr-iron-ore.png",
  167. priority = "extra-high",
  168. width = 128,
  169. height = 128,
  170. frame_count = 8,
  171. variation_count = 8,
  172. scale = 0.5,
  173. tint = v.Tint,
  174. }
  175. }
  176. },
  177. map_color = v.Tint,
  178. },
  179. {
  180. type = "item",
  181. name = v.Name,
  182. icons =
  183. {
  184. {
  185. icon = dyworld_path_icon.."ore/iron.png",
  186. tint = v.Tint
  187. }
  188. },
  189. icon_size = 32,
  190. flags = {"goes-to-main-inventory"},
  191. subgroup = dy.."metal-0-ore",
  192. stack_size = 200,
  193. order = v.Name,
  194. },
  195. })
  196. if v.Starting_Area then
  197. data.raw["resource"][v.Name].autoplace.starting_area_size = 10 * v.Starting_Area_Strength
  198. data.raw["resource"][v.Name].autoplace.starting_area_amount = 1000 * v.Starting_Area_Strength
  199. end
  200. --[[if v.Name == "chalcopyrite" then
  201. table.insert(data.raw["resource"][v.Name].autoplace.peaks, DyWorld_Ore_Peak("carbolycite"))
  202. elseif v.Name == "hematite" then
  203. table.insert(data.raw["resource"][v.Name].autoplace.peaks, DyWorld_Ore_Peak("carbolycite"))
  204. elseif v.Name == "galena" then
  205. table.insert(data.raw["resource"][v.Name].autoplace.peaks, DyWorld_Ore_Peak("radicium"))
  206. elseif v.Name == "prolycotherium" then
  207. table.insert(data.raw["resource"][v.Name].autoplace.peaks, DyWorld_Ore_Peak("bauxite"))
  208. elseif v.Name == "carbolycite" then
  209. table.insert(data.raw["resource"][v.Name].autoplace.peaks, DyWorld_Ore_Peak("radicium"))
  210. elseif v.Name == "bauxite" then
  211. table.insert(data.raw["resource"][v.Name].autoplace.peaks, DyWorld_Ore_Peak("prolycotherium"))
  212. elseif v.Name == "radicium" then
  213. table.insert(data.raw["resource"][v.Name].autoplace.peaks, DyWorld_Ore_Peak("galena"))
  214. end]]--
  215. end
  216.  
  217. data:extend(
  218. {
  219. {
  220. type = "recipe",
  221. name = "chalcopyrite-smelting",
  222. energy_required = 3,
  223. enabled = true,
  224. category = "smelting",
  225. ingredients = {{"chalcopyrite", 3}},
  226. result = "copper-plate",
  227. result_count = 1,
  228. },
  229. {
  230. type = "recipe",
  231. name = "hematite-smelting",
  232. energy_required = 3,
  233. enabled = true,
  234. category = "smelting",
  235. ingredients = {{"hematite", 4}},
  236. result = "iron-plate",
  237. result_count = 1,
  238. },
  239. {
  240. type = "recipe",
  241. name = "bauxite-smelting",
  242. energy_required = 3,
  243. enabled = true,
  244. category = "smelting",
  245. ingredients = {{"bauxite", 2}},
  246. result = "stone",
  247. result_count = 1,
  248. },
  249. })
  250.  
  251. data.raw.resource["copper-ore"].autoplace = nil
  252. data.raw.resource["iron-ore"].autoplace = nil
  253. data.raw.resource["uranium-ore"].autoplace = nil
  254. data.raw.resource["coal"].autoplace = nil
  255. data.raw.resource["stone"].autoplace = nil
  256.  
  257. data.raw.item["carbolycite"].fuel_category = "chemical"
  258. data.raw.item["carbolycite"].fuel_value = "8MJ"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement