Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.29 KB | None | 0 0
  1. --CODE
  2. BB = {}
  3. BB.modName = "BetterBelts"
  4. BB.baseGraphicsIcons = "__".. BB.modName .."__/graphics/icons/"
  5. BB.baseGraphicsEntity = "__".. BB.modName .."__/graphics/entity/"
  6.  
  7. ---------------------- Ultra BELT PICTURES
  8. ultra_belt_filename = BB.baseGraphicsEntity .. "ultra-transport-belt.png"
  9. hr_ultra_belt_filename = BB.baseGraphicsEntity .. "hr-ultra-transport-belt.png"
  10.  
  11. ultra_belt_horizontal = {filename = ultra_belt_filename, priority = "extra-high", width = 40, height = 40, frame_count = 32,
  12. hr_version = { filename = hr_ultra_belt_filename, priority = "extra-high", width = 80, height = 80, frame_count = 32, line_length = 16, scale = 0.5}}
  13.  
  14. ultra_belt_vertical = {filename = ultra_belt_filename, priority = "extra-high", width = 40, height = 40, frame_count = 32, y = 40 ,
  15. hr_version = { filename = hr_ultra_belt_filename, priority = "extra-high", width = 80, height = 80, frame_count = 32, line_length = 16, y = 160 ,scale = 0.5 }}
  16.  
  17. ultra_belt_ending_top = {filename = ultra_belt_filename, priority = "extra-high", width = 40, height = 40, frame_count = 32, y = 80 ,
  18. hr_version = { filename = hr_ultra_belt_filename, priority = "extra-high", width = 80, height = 80, frame_count = 32, line_length = 16, y = 320 ,scale = 0.5 }}
  19.  
  20. ultra_belt_ending_bottom = {filename = ultra_belt_filename, priority = "extra-high", width = 40, height = 40, frame_count = 32, y = 120,
  21. hr_version = { filename = hr_ultra_belt_filename, priority = "extra-high", width = 80, height = 80, frame_count = 32, line_length = 16, y = 480 ,scale = 0.5 }}
  22.  
  23. ultra_belt_ending_side = {filename = ultra_belt_filename, priority = "extra-high", width = 40, height = 40, frame_count = 32, y = 160,
  24. hr_version = { filename = hr_ultra_belt_filename, priority = "extra-high", width = 80, height = 80, frame_count = 32, line_length = 16, y = 640 ,scale = 0.5 }}
  25.  
  26. ultra_belt_starting_top = {filename = ultra_belt_filename, priority = "extra-high", width = 40, height = 40, frame_count = 32, y = 200,
  27. hr_version = { filename = hr_ultra_belt_filename, priority = "extra-high", width = 80, height = 80, frame_count = 32, line_length = 16, y = 800 ,scale = 0.5 }}
  28.  
  29. ultra_belt_starting_bottom = {filename = ultra_belt_filename, priority = "extra-high", width = 40, height = 40, frame_count = 32, y = 240,
  30. hr_version = { filename = hr_ultra_belt_filename, priority = "extra-high", width = 80, height = 80, frame_count = 32, line_length = 16, y = 960 ,scale = 0.5 }}
  31.  
  32. ultra_belt_starting_side = {filename = ultra_belt_filename, priority = "extra-high", width = 40, height = 40, frame_count = 32, y = 280,
  33. hr_version = { filename = hr_ultra_belt_filename, priority = "extra-high", width = 80, height = 80, frame_count = 32, line_length = 16, y = 1120 ,scale = 0.5}}
  34.  
  35.  
  36. ------------------------------------
  37.  
  38. function BetterBelts_addItem(baseName,thisName,thisOrder)
  39. local obj = util.table.deepcopy(data.raw["item"][baseName])
  40. obj.name = BB.modName .. "_" .. thisName
  41. obj.icon = BB.baseGraphicsIcons .. thisName .. ".png"
  42. obj.icon_size = 32
  43. obj.place_result = obj.name
  44. obj.order = thisOrder
  45. if baseName == "express-loader" then obj.flags = {"goes-to-quickbar"} end
  46.  
  47. data.raw[obj.type][obj.name] = obj
  48. end
  49.  
  50. function BetterBelts_addRecipe(baseName,thisName,thisIngredients)
  51. local obj = util.table.deepcopy(data.raw["recipe"][baseName])
  52. obj.name = BB.modName .. "_" .. thisName
  53. obj.enabled = false
  54. obj.ingredients = thisIngredients
  55. obj.result = obj.name
  56. data.raw[obj.type][obj.name] = obj
  57. end
  58.  
  59. function BetterBelts_addEntity_Belt(beltName,beltSpeed)
  60. local obj = util.table.deepcopy(data.raw["transport-belt"]["express-transport-belt"])
  61. obj.name = BB.modName .. "_" .. beltName
  62. obj.minable.result = obj.name
  63.  
  64. obj.speed = beltSpeed
  65.  
  66. obj.icon = BB.baseGraphicsIcons .. beltName .. ".png"
  67. obj.icon_size = 32
  68. obj.animations.filename = BB.baseGraphicsEntity .. beltName .. ".png"
  69. obj.animations.hr_version.filename = BB.baseGraphicsEntity .. "hr-" .. beltName .. ".png"
  70.  
  71. obj.belt_horizontal = ultra_belt_horizontal
  72. obj.belt_vertical = ultra_belt_vertical
  73. obj.ending_top = ultra_belt_ending_top
  74. obj.ending_bottom = ultra_belt_ending_bottom
  75. obj.ending_side = ultra_belt_ending_side
  76. obj.starting_top = ultra_belt_starting_top
  77. obj.starting_bottom = ultra_belt_starting_bottom
  78. obj.starting_side = ultra_belt_starting_side
  79.  
  80. data.raw[obj.type][obj.name] = obj
  81. end
  82.  
  83. function BetterBelts_addEntity_undergroundBelt(beltName,beltSpeed,beltMax_distance,mainName)
  84. local obj = util.table.deepcopy(data.raw["underground-belt"]["express-underground-belt"])
  85. obj.name = BB.modName .. "_" .. beltName
  86. obj.minable.result = obj.name
  87.  
  88. obj.speed = beltSpeed
  89. obj.max_distance = beltMax_distance
  90.  
  91. obj.icon = BB.baseGraphicsIcons .. beltName .. ".png"
  92. obj.icon_size = 32
  93. obj.structure.direction_in.sheet.filename = BB.baseGraphicsEntity .. mainName .. "-structure.png"
  94. obj.structure.direction_out.sheet.filename = BB.baseGraphicsEntity .. mainName .. "-structure.png"
  95. obj.structure.direction_in.sheet.hr_version.filename = BB.baseGraphicsEntity .. "hr-" .. mainName .. "-structure.png"
  96. obj.structure.direction_out.sheet.hr_version.filename = BB.baseGraphicsEntity .. "hr-" .. mainName .. "-structure.png"
  97.  
  98. obj.belt_horizontal = ultra_belt_horizontal
  99. obj.belt_vertical = ultra_belt_vertical
  100. obj.ending_top = ultra_belt_ending_top
  101. obj.ending_bottom = ultra_belt_ending_bottom
  102. obj.ending_side = ultra_belt_ending_side
  103. obj.starting_top = ultra_belt_starting_top
  104. obj.starting_bottom = ultra_belt_starting_bottom
  105. obj.starting_side = ultra_belt_starting_side
  106.  
  107. data.raw[obj.type][obj.name] = obj
  108. end
  109.  
  110. function BetterBelts_addEntity_Loader(beltName,beltSpeed,beltMax_distance)
  111. local obj = util.table.deepcopy(data.raw["loader"]["express-loader"])
  112. obj.name = BB.modName .. "_" .. beltName
  113. obj.minable.result = obj.name
  114. obj.flags = {"placeable-neutral", "player-creation"}
  115.  
  116. obj.speed = beltSpeed
  117.  
  118. obj.icon = BB.baseGraphicsIcons .. beltName .. ".png"
  119. obj.icon_size = 32
  120.  
  121.  
  122. obj.structure.direction_in.sheet.filename = BB.baseGraphicsEntity .. "ultra-loader-structure.png"
  123. obj.structure.direction_in.sheet.width = 128
  124. obj.structure.direction_in.sheet.height = 128
  125. obj.structure.direction_out.sheet.filename = BB.baseGraphicsEntity .. "ultra-loader-structure.png"
  126. obj.structure.direction_out.sheet.width = 128
  127. obj.structure.direction_out.sheet.height = 128
  128. obj.structure.direction_out.sheet.y = 128
  129.  
  130.  
  131. obj.belt_horizontal = ultra_belt_horizontal
  132. obj.belt_vertical = ultra_belt_vertical
  133. obj.ending_top = ultra_belt_ending_top
  134. obj.ending_bottom = ultra_belt_ending_bottom
  135. obj.ending_side = ultra_belt_ending_side
  136. obj.starting_top = ultra_belt_starting_top
  137. obj.starting_bottom = ultra_belt_starting_bottom
  138. obj.starting_side = ultra_belt_starting_side
  139.  
  140. data.raw[obj.type][obj.name] = obj
  141. end
  142.  
  143. function BetterBelts_addEntity_Splitter(beltName,beltSpeed,beltMax_distance)
  144. local obj = util.table.deepcopy(data.raw["splitter"]["express-splitter"])
  145. obj.name = BB.modName .. "_" .. beltName
  146. obj.minable.result = obj.name
  147.  
  148. obj.speed = beltSpeed
  149.  
  150. obj.icon = BB.baseGraphicsIcons .. beltName .. ".png"
  151. obj.icon_size = 32
  152.  
  153. obj.structure.north.filename = BB.baseGraphicsEntity .. beltName .. "-north.png"
  154. obj.structure.east.filename = BB.baseGraphicsEntity .. beltName .. "-east.png"
  155. obj.structure.south.filename = BB.baseGraphicsEntity .. beltName .. "-south.png"
  156. obj.structure.west.filename = BB.baseGraphicsEntity .. beltName .. "-west.png"
  157.  
  158. obj.structure.north.hr_version.filename = BB.baseGraphicsEntity .. "hr-" .. beltName .. "-north.png"
  159. obj.structure.east.hr_version.filename = BB.baseGraphicsEntity .. "hr-" .. beltName .. "-east.png"
  160. obj.structure.south.hr_version.filename = BB.baseGraphicsEntity .. "hr-" .. beltName .. "-south.png"
  161. obj.structure.west.hr_version.filename = BB.baseGraphicsEntity .. "hr-" .. beltName .. "-west.png"
  162.  
  163. obj.belt_horizontal = ultra_belt_horizontal
  164. obj.belt_vertical = ultra_belt_vertical
  165. obj.ending_top = ultra_belt_ending_top
  166. obj.ending_bottom = ultra_belt_ending_bottom
  167. obj.ending_side = ultra_belt_ending_side
  168. obj.starting_top = ultra_belt_starting_top
  169. obj.starting_bottom = ultra_belt_starting_bottom
  170. obj.starting_side = ultra_belt_starting_side
  171.  
  172. data.raw[obj.type][obj.name] = obj
  173. end
  174.  
  175. function BetterBelts_addTechnology(thisName,thisIcon,thisType,thisEffect,thisPrerequisites,thisCount,thisIngredients,thisTime,thisOrder,className,modName)
  176. local obj = util.table.deepcopy(data.raw["technology"]["steel-processing"])
  177. obj.name = BB.modName .. "_" .. thisName
  178.  
  179. obj.icon = BB.baseGraphicsIcons .. thisIcon .. ".png"
  180. obj.icon_size = 32
  181.  
  182. obj.effects = {}
  183. for n,effect in ipairs(thisEffect) do
  184. obj.effects[n] = {type = thisType, recipe = modName .. "_" .. className .. effect}
  185. end
  186. obj.prerequisites = thisPrerequisites
  187.  
  188. obj.unit.count = thisCount
  189. if thisIngredients == 1 then
  190. obj.unit.ingredients = {{"science-pack-1", 1}}
  191. elseif thisIngredients == 2 then
  192. obj.unit.ingredients = {{"science-pack-1", 1},{"science-pack-2", 1}}
  193. elseif thisIngredients == 3 then
  194. obj.unit.ingredients = {{"science-pack-1", 1},{"science-pack-2", 1},{"science-pack-3", 1}}
  195. elseif thisIngredients == 4 then
  196. obj.unit.ingredients = {{"science-pack-1", 1},{"science-pack-2", 1},{"science-pack-3", 1},{"production-science-pack", 1}}
  197. elseif thisIngredients == 5 then
  198. obj.unit.ingredients = {{"science-pack-1", 1},{"science-pack-2", 1},{"science-pack-3", 1},{"production-science-pack", 1},{"high-tech-science-pack", 1}}
  199. end
  200. obj.unit.time = thisTime
  201. obj.order = thisOrder
  202. data.raw[obj.type][obj.name] = obj
  203. end
  204.  
  205.  
  206.  
  207.  
  208.  
  209. function BetterBelts_BeltClass(className,classSpeed)
  210.  
  211. BetterBelts_addItem("fast-transport-belt",className .. "-transport-belt","a[transport-belt]-d[" .. className .. "-transport-belt]")
  212. BetterBelts_addRecipe("fast-transport-belt",className .. "-transport-belt",{{"iron-gear-wheel", 5},{"express-transport-belt", 2}})
  213. BetterBelts_addEntity_Belt(className .. "-transport-belt",classSpeed)
  214.  
  215.  
  216. BetterBelts_addItem("fast-underground-belt",className .. "-underground-belt-v1","b[underground-belt]-d[" .. className .. "-underground-belt-v1]")
  217. BetterBelts_addItem("fast-underground-belt",className .. "-underground-belt-v2","b[underground-belt]-d[" .. className .. "-underground-belt-v2]")
  218. BetterBelts_addItem("fast-underground-belt",className .. "-underground-belt-v3","b[underground-belt]-d[" .. className .. "-underground-belt-v3]")
  219. BetterBelts_addRecipe("fast-underground-belt",className .. "-underground-belt-v1",{{"iron-gear-wheel", 20},{"express-underground-belt", 2}})
  220. BetterBelts_addRecipe("fast-underground-belt",className .. "-underground-belt-v2",{{"iron-gear-wheel", 20},{"BetterBelts_" .. className .. "-underground-belt-v1", 2}})
  221. BetterBelts_addRecipe("fast-underground-belt",className .. "-underground-belt-v3",{{"iron-gear-wheel", 20},{"BetterBelts_" .. className .. "-underground-belt-v2", 2}})
  222. BetterBelts_addEntity_undergroundBelt(className .. "-underground-belt-v1",classSpeed,15,className .. "-underground-belt")
  223. BetterBelts_addEntity_undergroundBelt(className .. "-underground-belt-v2",classSpeed,30,className .. "-underground-belt")
  224. BetterBelts_addEntity_undergroundBelt(className .. "-underground-belt-v3",classSpeed,45,className .. "-underground-belt")
  225.  
  226. BetterBelts_addItem("fast-splitter",className .. "-splitter","c[splitter]-d[" .. className .. "-splitter]")
  227. BetterBelts_addRecipe("fast-splitter",className .. "-splitter",{{"iron-gear-wheel", 10},{"electronic-circuit", 15},{"express-splitter", 2}})
  228. BetterBelts_addEntity_Splitter(className .. "-splitter",classSpeed)
  229.  
  230. BetterBelts_addItem("fast-loader",className .. "-loader","d[loader]-d[" .. className .. "-loader]")
  231. BetterBelts_addRecipe("fast-loader",className .. "-loader",{{"BetterBelts_" .. className .. "-splitter", 1},{"BetterBelts_" .. className .. "-transport-belt", 5}})
  232. BetterBelts_addEntity_Loader(className .. "-loader",classSpeed)
  233.  
  234. classRecipes = {"-transport-belt","-underground-belt-v1","-underground-belt-v2","-underground-belt-v3","-splitter","-loader"}
  235. BetterBelts_addTechnology(className .. "-class",className .. "-transport-belt","unlock-recipe",classRecipes,{"logistics-3"},150,4,30,"a",className,BB.modName)
  236. end
  237.  
  238.  
  239.  
  240. BetterBelts_BeltClass("ultra",0.2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement