diff --git a/data-final-fixes.lua b/data-final-fixes.lua index 633efac..7928e6a 100644 --- a/data-final-fixes.lua +++ b/data-final-fixes.lua @@ -11,6 +11,15 @@ if mods.modmashsplinterelectronics then util.add_ingredient("processing-unit", "silicon-wafer", 1) end +if mods["space-age"] then +-- If furnaces are treated as furnaces, we need 2 outputs +for i, entity in pairs(data.raw.furnace) do + if entity.result_inventory_size ~= nil and entity.result_inventory_size < 2 and util.contains(entity.crafting_categories, "smelting") then + entity.result_inventory_size = 2 + end +end +end + util.add_to_product("vtk-deepcore-mining-ore-chunk-refining-stone-focus", "vtk-deepcore-mining-stone-chunk", 12) util.add_to_product("vtk-deepcore-mining-ore-chunk-refining", "vtk-deepcore-mining-stone-chunk", 10) diff --git a/data.lua b/data.lua index 854c6e0..d0cc3b4 100644 --- a/data.lua +++ b/data.lua @@ -3,6 +3,7 @@ require("prototypes/silica-recipe") require("prototypes/silicon-recipe") require("prototypes/optical-fiber") require("prototypes/gyro") +require("prototypes/razorgrass") require("prototypes/basic-crusher") require("recipes/silica-matter") diff --git a/graphics/entity/razorgrass-leaves.png b/graphics/entity/razorgrass-leaves.png new file mode 100644 index 0000000..5b1fe52 Binary files /dev/null and b/graphics/entity/razorgrass-leaves.png differ diff --git a/graphics/entity/razorgrass-normal.png b/graphics/entity/razorgrass-normal.png new file mode 100644 index 0000000..5b1fe52 Binary files /dev/null and b/graphics/entity/razorgrass-normal.png differ diff --git a/graphics/entity/razorgrass-shadow.png b/graphics/entity/razorgrass-shadow.png new file mode 100644 index 0000000..134d404 Binary files /dev/null and b/graphics/entity/razorgrass-shadow.png differ diff --git a/graphics/entity/razorgrass-shadow.xcf b/graphics/entity/razorgrass-shadow.xcf new file mode 100644 index 0000000..f2fa760 Binary files /dev/null and b/graphics/entity/razorgrass-shadow.xcf differ diff --git a/graphics/entity/razorgrass-shadow2.png b/graphics/entity/razorgrass-shadow2.png new file mode 100644 index 0000000..134d404 Binary files /dev/null and b/graphics/entity/razorgrass-shadow2.png differ diff --git a/graphics/entity/razorgrass.blend b/graphics/entity/razorgrass.blend new file mode 100644 index 0000000..cc241ba Binary files /dev/null and b/graphics/entity/razorgrass.blend differ diff --git a/graphics/entity/razorgrass.blend1 b/graphics/entity/razorgrass.blend1 new file mode 100644 index 0000000..e7ee72a Binary files /dev/null and b/graphics/entity/razorgrass.blend1 differ diff --git a/graphics/entity/razorgrass.png b/graphics/entity/razorgrass.png new file mode 100644 index 0000000..5b1fe52 Binary files /dev/null and b/graphics/entity/razorgrass.png differ diff --git a/graphics/entity/razorgrass.xcf b/graphics/entity/razorgrass.xcf new file mode 100644 index 0000000..b2d284b Binary files /dev/null and b/graphics/entity/razorgrass.xcf differ diff --git a/graphics/entity/razorgrass_1.png b/graphics/entity/razorgrass_1.png new file mode 100644 index 0000000..d3951d1 Binary files /dev/null and b/graphics/entity/razorgrass_1.png differ diff --git a/graphics/entity/razorgrass_2.png b/graphics/entity/razorgrass_2.png new file mode 100644 index 0000000..8e0f328 Binary files /dev/null and b/graphics/entity/razorgrass_2.png differ diff --git a/graphics/entity/razorgrass_3.png b/graphics/entity/razorgrass_3.png new file mode 100644 index 0000000..b35fddd Binary files /dev/null and b/graphics/entity/razorgrass_3.png differ diff --git a/graphics/entity/razorgrass_4.png b/graphics/entity/razorgrass_4.png new file mode 100644 index 0000000..cac9b1b Binary files /dev/null and b/graphics/entity/razorgrass_4.png differ diff --git a/graphics/entity/razorgrass_5.png b/graphics/entity/razorgrass_5.png new file mode 100644 index 0000000..a8b6092 Binary files /dev/null and b/graphics/entity/razorgrass_5.png differ diff --git a/graphics/entity/razorgrass_6.png b/graphics/entity/razorgrass_6.png new file mode 100644 index 0000000..200850d Binary files /dev/null and b/graphics/entity/razorgrass_6.png differ diff --git a/graphics/entity/razorgrass_7.png b/graphics/entity/razorgrass_7.png new file mode 100644 index 0000000..f3d7835 Binary files /dev/null and b/graphics/entity/razorgrass_7.png differ diff --git a/graphics/entity/razorgrass_8.png b/graphics/entity/razorgrass_8.png new file mode 100644 index 0000000..1255757 Binary files /dev/null and b/graphics/entity/razorgrass_8.png differ diff --git a/graphics/icons/Untitled.png b/graphics/icons/Untitled.png new file mode 100644 index 0000000..0eda3f0 Binary files /dev/null and b/graphics/icons/Untitled.png differ diff --git a/graphics/icons/ash.png b/graphics/icons/ash.png new file mode 100644 index 0000000..1221e1f Binary files /dev/null and b/graphics/icons/ash.png differ diff --git a/graphics/icons/ash.xcf b/graphics/icons/ash.xcf new file mode 100644 index 0000000..8d44276 Binary files /dev/null and b/graphics/icons/ash.xcf differ diff --git a/graphics/icons/razorgrass-1.png b/graphics/icons/razorgrass-1.png new file mode 100644 index 0000000..c4f1e8a Binary files /dev/null and b/graphics/icons/razorgrass-1.png differ diff --git a/graphics/icons/razorgrass-2.png b/graphics/icons/razorgrass-2.png new file mode 100644 index 0000000..18539ee Binary files /dev/null and b/graphics/icons/razorgrass-2.png differ diff --git a/graphics/icons/razorgrass-3.png b/graphics/icons/razorgrass-3.png new file mode 100644 index 0000000..c254958 Binary files /dev/null and b/graphics/icons/razorgrass-3.png differ diff --git a/graphics/icons/razorgrass-dried-1.png b/graphics/icons/razorgrass-dried-1.png new file mode 100644 index 0000000..4a3300a Binary files /dev/null and b/graphics/icons/razorgrass-dried-1.png differ diff --git a/graphics/icons/razorgrass-dried-1.xcf b/graphics/icons/razorgrass-dried-1.xcf new file mode 100644 index 0000000..145e460 Binary files /dev/null and b/graphics/icons/razorgrass-dried-1.xcf differ diff --git a/graphics/icons/razorgrass-dried-2.png b/graphics/icons/razorgrass-dried-2.png new file mode 100644 index 0000000..bdff944 Binary files /dev/null and b/graphics/icons/razorgrass-dried-2.png differ diff --git a/graphics/icons/razorgrass-dried-2.xcf b/graphics/icons/razorgrass-dried-2.xcf new file mode 100644 index 0000000..f59c9df Binary files /dev/null and b/graphics/icons/razorgrass-dried-2.xcf differ diff --git a/graphics/icons/razorgrass-dried-3.png b/graphics/icons/razorgrass-dried-3.png new file mode 100644 index 0000000..67c6eff Binary files /dev/null and b/graphics/icons/razorgrass-dried-3.png differ diff --git a/graphics/icons/razorgrass-dried-3.xcf b/graphics/icons/razorgrass-dried-3.xcf new file mode 100644 index 0000000..7f095f9 Binary files /dev/null and b/graphics/icons/razorgrass-dried-3.xcf differ diff --git a/graphics/icons/razorgrass-dried.png b/graphics/icons/razorgrass-dried.png new file mode 100644 index 0000000..310f58c Binary files /dev/null and b/graphics/icons/razorgrass-dried.png differ diff --git a/graphics/icons/razorgrass-dried.xcf b/graphics/icons/razorgrass-dried.xcf new file mode 100644 index 0000000..43b8fb8 Binary files /dev/null and b/graphics/icons/razorgrass-dried.xcf differ diff --git a/graphics/icons/razorgrass-seed-1.png b/graphics/icons/razorgrass-seed-1.png new file mode 100644 index 0000000..9333cb9 Binary files /dev/null and b/graphics/icons/razorgrass-seed-1.png differ diff --git a/graphics/icons/razorgrass-seed-1.xcf b/graphics/icons/razorgrass-seed-1.xcf new file mode 100644 index 0000000..3b8d0b8 Binary files /dev/null and b/graphics/icons/razorgrass-seed-1.xcf differ diff --git a/graphics/icons/razorgrass-seed-2.png b/graphics/icons/razorgrass-seed-2.png new file mode 100644 index 0000000..ee352a1 Binary files /dev/null and b/graphics/icons/razorgrass-seed-2.png differ diff --git a/graphics/icons/razorgrass-seed-2.xcf b/graphics/icons/razorgrass-seed-2.xcf new file mode 100644 index 0000000..958b913 Binary files /dev/null and b/graphics/icons/razorgrass-seed-2.xcf differ diff --git a/graphics/icons/razorgrass-seed-3.png b/graphics/icons/razorgrass-seed-3.png new file mode 100644 index 0000000..961e666 Binary files /dev/null and b/graphics/icons/razorgrass-seed-3.png differ diff --git a/graphics/icons/razorgrass-seed-3.xcf b/graphics/icons/razorgrass-seed-3.xcf new file mode 100644 index 0000000..868dda7 Binary files /dev/null and b/graphics/icons/razorgrass-seed-3.xcf differ diff --git a/graphics/icons/razorgrass-seed.png b/graphics/icons/razorgrass-seed.png new file mode 100644 index 0000000..e505c1c Binary files /dev/null and b/graphics/icons/razorgrass-seed.png differ diff --git a/graphics/icons/razorgrass-seed.xcf b/graphics/icons/razorgrass-seed.xcf new file mode 100644 index 0000000..fdc872f Binary files /dev/null and b/graphics/icons/razorgrass-seed.xcf differ diff --git a/graphics/icons/razorgrass.png b/graphics/icons/razorgrass.png new file mode 100644 index 0000000..6f47340 Binary files /dev/null and b/graphics/icons/razorgrass.png differ diff --git a/graphics/icons/silicone-recipe.png b/graphics/icons/silicone-recipe.png new file mode 100644 index 0000000..dcce8e9 Binary files /dev/null and b/graphics/icons/silicone-recipe.png differ diff --git a/graphics/icons/silicone.blend b/graphics/icons/silicone.blend new file mode 100644 index 0000000..88f8a27 Binary files /dev/null and b/graphics/icons/silicone.blend differ diff --git a/graphics/icons/silicone.blend1 b/graphics/icons/silicone.blend1 new file mode 100644 index 0000000..21f667c Binary files /dev/null and b/graphics/icons/silicone.blend1 differ diff --git a/graphics/icons/silicone.png b/graphics/icons/silicone.png new file mode 100644 index 0000000..2c60390 Binary files /dev/null and b/graphics/icons/silicone.png differ diff --git a/graphics/icons/silicone.xcf b/graphics/icons/silicone.xcf new file mode 100644 index 0000000..5893ee3 Binary files /dev/null and b/graphics/icons/silicone.xcf differ diff --git a/graphics/technology/razorgrass-unlock.png b/graphics/technology/razorgrass-unlock.png new file mode 100644 index 0000000..ca3e9c6 Binary files /dev/null and b/graphics/technology/razorgrass-unlock.png differ diff --git a/graphics/technology/razorgrass-unlock.xcf b/graphics/technology/razorgrass-unlock.xcf new file mode 100644 index 0000000..cff66f3 Binary files /dev/null and b/graphics/technology/razorgrass-unlock.xcf differ diff --git a/graphics/technology/razorgrass.png b/graphics/technology/razorgrass.png new file mode 100644 index 0000000..eab82fe Binary files /dev/null and b/graphics/technology/razorgrass.png differ diff --git a/locale/en/silicon.cfg b/locale/en/silicon.cfg index 0ee56fa..b57f498 100644 --- a/locale/en/silicon.cfg +++ b/locale/en/silicon.cfg @@ -4,6 +4,10 @@ silicon=Silicon silicon-wafer=Silicon wafer solar-cell=Solar cell optical-fiber=Optical Fiber +razorgrass=Razorgrass + +[entity-description] +razorgrass=A tall, sharp grass that only grows on the rare dry parts of Gleba. High in silica. [item-name] silica=Silica @@ -12,6 +16,11 @@ silicon-wafer=Silicon wafer solar-cell=Solar cell optical-fiber=Optical Fiber gyro=MEMS gyroscope +silicone=Silicone +razorgrass=Razorgrass +razorgrass-dried=Dried razorgrass +razorgrass-seed=Razorgrass seed +razorgrass-ash=Razorgrass ash [item-description] silica=Can be used directly or processed further. @@ -25,20 +34,24 @@ silica-processing=Silica processing silicon-processing=Silicon processing fiber-optics=Fiber optics gyro=Microelectromechanical systems +razorgrass=Razorgrass [technology-description] -silica-processing= silica-processing-vanilla=Process stone brick into silica. silica-processing-k2=Process quartz into silica. silicon-processing=Process silica into silicon. fiber-optics=Optical fiber for circuit network gyro=Learn to handle tiny moving electronics +razorgrass=A plant made primarily of rigid leaves with high silica content. There must be a way to extract that resource. [recipe-name] silica=__ITEM__silica__ silicon=__ITEM__silicon__ optical-fiber=__ITEM__optical-fiber__ +razorgrass-ash-washing=Silica from ash +[recipe-description] +razorgrass-dried=A furnace is required to dry razorgrass release its seeds. # Settings diff --git a/prototypes/razorgrass.lua b/prototypes/razorgrass.lua new file mode 100644 index 0000000..3c37308 --- /dev/null +++ b/prototypes/razorgrass.lua @@ -0,0 +1,363 @@ +local futil = require("util") +local util = require("data-util") + + +if mods["space-age"] then +local space_age_item_sounds = require("__space-age__.prototypes.item_sounds") +local function razorgrass_variations() + local variation_count = 8 --variation_count or 5 + local per_row = 4 -- per_row or 5 + local scale_multiplier = .5 + local width = 600 + local height = 800 + local variations = {} + local shift = futil.by_pixel(0,-60) -- shift or futil.by_pixel(52, -40) + for i = 1, variation_count do + local x = ((i - 1) % per_row) * width + local y = math.floor((i-1)/per_row) * height + local variation = { + trunk = { + filename = "__bzsilicon__/graphics/entity/razorgrass.png", + flags = { "mipmap" }, + surface = "gleba", + width = width, + height = height, + x = x, + y = y, + frame_count = 1, + shift = shift, + scale = 0.33 * scale_multiplier + }, + leaves = { + filename = "__bzsilicon__/graphics/entity/razorgrass-leaves.png", + flags = { "mipmap" }, + surface = "gleba", + width = width, + height = height, + x = x, + y = y, + frame_count = 1, + shift = shift, + scale = 0.33 * scale_multiplier + }, + normal = { + filename = "__bzsilicon__/graphics/entity/razorgrass-normal.png", + surface = "gleba", + width = width, + height = height, + x = x, + y = y, + frame_count = 1, + shift = shift, + scale = 0.33 * scale_multiplier + }, + shadow = { + frame_count = 2, + lines_per_file = 1, + line_length = 1, + flags = { "mipmap", "shadow" }, + surface = "gleba", + filenames = + { + "__bzsilicon__/graphics/entity/razorgrass-shadow.png", + "__bzsilicon__/graphics/entity/razorgrass-shadow2.png", + }, + width = width, + height = height, + x = x, + y = y, + shift = shift, + scale = 0.33 * scale_multiplier + }, + + -- underwater = gleba_tree_underwater_things[name] and gleba_tree_underwater_things[name].underwater or nil, + -- water_reflection = gleba_tree_underwater_things[name] and gleba_tree_underwater_things[name].water_reflection or nil, + + leaf_generation = + { + type = "create-particle", + particle_name = "leaf-particle", + offset_deviation = {{-0.5, -0.5}, {0.5, 0.5}}, + initial_height = 2, + initial_vertical_speed = 0.01, + initial_height_deviation = 0.05, + speed_from_center = 0.01, + speed_from_center_deviation = 0.01 + }, + branch_generation = + { + type = "create-particle", + particle_name = "branch-particle", + offset_deviation = {{-0.5, -0.5}, {0.5, 0.5}}, + initial_height = 2, + initial_height_deviation = 2, + initial_vertical_speed = 0.01, + speed_from_center = 0.03, + speed_from_center_deviation = 0.01, + frame_speed = 0.4, + repeat_count = 15 + } + } + table.insert(variations, variation) + end + return variations +end +local function minor_tints() -- Only for leaves where most if the colour is baked in. + return { + {r = 255, g = 255, b = 255}, + {r = 220, g = 255, b = 255}, + {r = 255, g = 220, b = 255}, + {r = 255, g = 255, b = 220}, + {r = 220, g = 220, b = 255}, + {r = 255, g = 220, b = 220}, + {r = 220, g = 255, b = 220}, + } +end +data:extend({ + { + type = "plant", + name = "razorgrass", --silica + icon = "__bzsilicon__/graphics/technology/razorgrass.png", + icon_size = 256, + growth_ticks = 5 * 60 * 60, + agricultural_tower_tint = {primary = {.2, .7, .7}, secondary = {.4, .9, .9}}, + harvest_emissions = {spores = 3}, + flags = plant_flags, + minable = + { + mining_particle = "wooden-particle", + mining_time = 0.5, + results = + { + {type = "item", name = "razorgrass", amount = 50} + }, + }, + mining_sound = sound_variations("__space-age__/sound/mining/axe-mining-sunnycomb", 5, 0.7), + mined_sound = sound_variations("__space-age__/sound/mining/mined-sunnycomb", 5, 0.6), + emissions_per_second = plant_emissions, + max_health = 50, + collision_box = {{-0.4, -0.8}, {0.4, 0.2}}, + selection_box = {{-1, -1}, {1, 1}}, + drawing_box_vertical_extension = 0.8, + subgroup = "trees", + order = "a[tree]-c[gleba]-b[normal]-r[razorgrass]", + impact_category = "tree", + factoriopedia_simulation = { + planet = "gleba", + hide_factoriopedia_gradient = true, + init = + [[ + game.simulation.camera_zoom = 1.4 + game.simulation.camera_position = {-0.5, 0} + for x = -10, 9, 1 do + for y = -4, 4 do + game.surfaces[1].set_tiles{{position = {x, y}, name = "midland-cracked-lichen"}} + end + end + + game.surfaces[1].create_entity{name = "razorgrass", position = {x=-2.54, y=-0.76}, tick_grown = 100} + game.surfaces[1].create_entity{name = "razorgrass", position = {x=2.87, y=-0.37}, tick_grown = 8000} + game.surfaces[1].create_entity{name = "razorgrass", position = {x=-4.68, y=1.83}, tick_grown = 1000} + game.surfaces[1].create_entity{name = "razorgrass", position = {x=-0.10, y=0.67}, tick_grown = 10000} + game.surfaces[1].create_entity{name = "razorgrass", position = {x=4.80, y=1.69}, tick_grown = 100} + ]] + }, + autoplace = + { + control = "gleba_plants", + order = "a[tree]-b[forest]-c", + probability_expression = "max(main_probability, invasion_tall_probability)", + richness_expression = "random_penalty_at(3, 1)", + tile_restriction = { + "midland-cracked-lichen", + "midland-cracked-lichen-dull", + "midland-yellow-crust", + "midland-yellow-crust-2", + "midland-yellow-crust-3", + "highland-dark-rock", + "highland-dark-rock-2", + "highland-yellow-rock", + }, + local_expressions = { + main_box = "gleba_select(gleba_moisture, 0, 0.25, 0.01, -10, 1) - 1", + main_probability = "min(0.08, 0.15 * (main_box + gleba_plants_noise_b - 0.45) * control:gleba_plants:size)", -- bigger patches, denser + invasion_tall_box = "gleba_select(gleba_moisture, 0, 0.35, 0.01, -10, 1) - 1", + invasion_tall_probability = "min(0.05, 0.15 * (invasion_tall_box + gleba_plants_noise_b - 0.4) * control:gleba_plants:size)", -- smaller patches, sparser + } + }, + variations = razorgrass_variations(), -- gleba_tree_variations("sunnycomb", 10, 5, nil, 3200/5, 1120/2), + colors = minor_tints(), + ambient_sounds = + { + sound = + { + variations = sound_variations("__space-age__/sound/world/plants/sunnycomb", 8, 0.7), + advanced_volume_control = + { + fades = {fade_in = {curve_type = "cosine", from = {control = 0.5, volume_percentage = 0.0}, to = {1.5, 100.0}}} + } + }, + radius = 7.5, + min_entity_count = 2, + max_entity_count = 10, + entity_to_sound_ratio = 0.3, + average_pause_seconds = 10 + }, + created_effect = { + type = "direct", + action_delivery = + { + type = "instant", + source_effects = + { + { + type = "create-decorative", + decorative = "brambles", + spawn_min = 1, + spawn_max = 5, + spawn_min_radius = 0, + spawn_max_radius = 3 + }, + } + } + } + }, +}) + +data:extend({ + { + type = "technology", + name = "razorgrass", + icon_size = 256, + icon = "__bzsilicon__/graphics/technology/razorgrass.png", + effects = util.me.more_intermediates() and { + { type = "unlock-recipe", recipe = "silicone", }, + { type = "unlock-recipe", recipe = "razorgrass-dried", }, + { type = "unlock-recipe", recipe = "razorgrass-ash-washing", }, + } or { + { type = "unlock-recipe", recipe = "razorgrass-dried", }, + { type = "unlock-recipe", recipe = "razorgrass-ash-washing", }, + }, + research_trigger = + { + type = "mine-entity", + entity = "razorgrass", + }, + prerequisites = {"agriculture", "heating-tower"}, + order = "b-b", + }, + { + type = "item", + name = "razorgrass", + icon = "__bzsilicon__/graphics/icons/razorgrass.png", + icon_size = 128, + pictures = { + {filename="__bzsilicon__/graphics/icons/razorgrass.png", size=128, scale=.3}, + {filename="__bzsilicon__/graphics/icons/razorgrass-1.png", size=128, scale=.3}, + {filename="__bzsilicon__/graphics/icons/razorgrass-2.png", size=128, scale=.3}, + {filename="__bzsilicon__/graphics/icons/razorgrass-3.png", size=128, scale=.3}, + }, + subgroup = "agriculture-processes", + group = "intermediate-products", + stack_size = 50, + order = "b[agriculture]-r[razorgrass]", + burnt_result = "razorgrass-ash", + fuel_category = "chemical", + fuel_value = "1MJ", + spoil_ticks = 1*60*60*60, + spoil_result = "razorgrass-dried", + }, + { + type = "item", + name = "razorgrass-dried", + icon = "__bzsilicon__/graphics/icons/razorgrass-dried.png", + icon_size = 128, + pictures = { + {filename="__bzsilicon__/graphics/icons/razorgrass-dried.png", size=128, scale=.3}, + {filename="__bzsilicon__/graphics/icons/razorgrass-dried-1.png", size=128, scale=.3}, + {filename="__bzsilicon__/graphics/icons/razorgrass-dried-2.png", size=128, scale=.3}, + {filename="__bzsilicon__/graphics/icons/razorgrass-dried-3.png", size=128, scale=.3}, + }, + subgroup = "agriculture-processes", + group = "intermediate-products", + stack_size = 100, + order = "b[agriculture]-r[razorgrass-dried]", + burnt_result = "razorgrass-ash", + fuel_category = "chemical", + fuel_value = "1MJ", + weight = 1*kg, + }, + { + type = "item", + name = "razorgrass-ash", + icon = "__bzsilicon__/graphics/icons/ash.png", + icon_size = 64, + subgroup = "agriculture-processes", + group = "intermediate-products", + stack_size = 100, + order = "b[agriculture]-r[razorgrass-ash]", + }, + { + type = "recipe", + name = "razorgrass-dried", + main_product = "razorgrass-dried", + subgroup = "agriculture-processes", + category = "smelting", + enabled = false, + energy_required = 10, + allow_productivity = true, + ingredients = { + util.item("razorgrass", 1), + }, + results = { + util.item("razorgrass-dried", 1), + util.item("razorgrass-seed", 1, .03), + } + }, + { + type = "recipe", + name = "razorgrass-ash-washing", + icons = { + { icon = "__bzsilicon__/graphics/icons/ash.png", icon_size = 64, scale=0.5, shift = {-4,-4}}, + { icon = "__bzsilicon__/graphics/icons/silica.png", icon_size = 64, scale=0.25, shift={8, 8}}, + }, + subgroup = "agriculture-processes", + category = "chemistry", + enabled = false, + energy_required = 1, + allow_productivity = true, + ingredients = { + util.item("razorgrass-ash", 1), + util.fluid("water", 10), + util.fluid("sulfuric-acid", 1), + }, + results = { + util.item("silica", 10) + } + }, + { + type = "item", + name = "razorgrass-seed", + icon = "__bzsilicon__/graphics/icons/razorgrass-seed.png", + icon_size = 128, + pictures = { + {filename="__bzsilicon__/graphics/icons/razorgrass-seed.png", size=128, scale=.25}, + {filename="__bzsilicon__/graphics/icons/razorgrass-seed-1.png", size=128, scale=.25}, + {filename="__bzsilicon__/graphics/icons/razorgrass-seed-2.png", size=128, scale=.25}, + {filename="__bzsilicon__/graphics/icons/razorgrass-seed-3.png", size=128, scale=.25}, + }, + subgroup = "agriculture-processes", + order = "a[seeds]-r[razorgrass-seed]", + plant_result = "razorgrass", + inventory_move_sound = space_age_item_sounds.agriculture_inventory_move, + pick_sound = space_age_item_sounds.agriculture_inventory_pickup, + drop_sound = space_age_item_sounds.agriculture_inventory_move, + stack_size = 10, + default_import_location = "gleba", + weight = 10 * kg, + fuel_category = "chemical", + fuel_value = "1MJ" + }, +}) +end + diff --git a/prototypes/silicon-recipe.lua b/prototypes/silicon-recipe.lua index 0c99889..67caa8f 100644 --- a/prototypes/silicon-recipe.lua +++ b/prototypes/silicon-recipe.lua @@ -112,6 +112,33 @@ data:extend({ }), results = {util.item("silicon-wafer", 30)} }, + { + type = "item", + name = "silicone", + icons = {{ + icon = "__bzsilicon__/graphics/icons/silicon.png", + icon_size = 64, tint = {.8, 1, 1, .8}, + }}, + subgroup = "intermediate-product", + stack_size = util.get_stack_size(100), + order = "s[silicon]-silicone", + }, + { + type = "recipe", + name = "silicone", + category = "crafting-with-fluid", + subgroup = "intermediate-product", + category = mods["space-age"] and "organic-or-chemistry" or "chemistry", + enabled = false, + energy_required = 10, + allow_productivity = true, + ingredients = { + {type= "item", name="silicon", amount=10}, + {type= "item", name="copper-plate", amount=1}, + {type= "fluid", name="water", amount=20}, + }, + results = {util.item("silicone", 5)} + }, { type = "item", name = "solar-cell", @@ -130,16 +157,18 @@ data:extend({ energy_required = 2, allow_productivity = true, ingredients = (mods["bzlead"] and not mods["angelssmelting"] and { - {type= "item", name="silicon", amount=1}, + {type= "item", name="silicon-wafer", amount=1}, {type= "item", name="electronic-circuit", amount=1}, {type= "item", name="lead-plate", amount=1}, } or { - {type= "item", name="silicon", amount=1}, + {type= "item", name="silicon-wafer", amount=1}, {type= "item", name="electronic-circuit", amount=1}, }), results = {util.item("solar-cell", 2)} }, }) - +if not mods["space-age"] then + util.add_unlock("silicon-processing", "silicone") +end util.add_effect("kr-fluids-chemistry", {type="unlock-recipe", recipe="hydrogen-chloride"}) end diff --git a/recipe-updates.lua b/recipe-updates.lua index 093f3a2..56ed941 100644 --- a/recipe-updates.lua +++ b/recipe-updates.lua @@ -40,6 +40,19 @@ end util.replace_some_ingredient("space-platform-foundation", "copper-cable", 10, "optical-fiber", 10) +if data.raw.item["silicone"] then + util.add_ingredient("stack-inserter", "silicone", 1) + util.add_ingredient("mech-armor", "silicone", 50) + util.add_ingredient("cryogenic-plant", "silicone", 20) + util.add_ingredient("capture-bot-rocket", "silicone", 2) + util.add_ingredient("biolab", "silicone", 1) + util.add_prerequisite("biochamber", "razorgrass") + util.add_ingredient("spidertron", "silicone", 8) + util.add_ingredient("fusion-reactor-equipment", "silicone", 10) + util.add_ingredient("fusion-power-cell", "silicone", 1) + util.replace_some_ingredient("biolubricant", "jelly", 10, "silicone", 5) +end + if not mods["Krastorio2"] then util.remove_ingredient("concrete", "stone-brick");