diff --git a/README.md b/README.md index 4fad1c8..aa79e4e 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,8 @@ You can find the old textures and sounds by going back to previous commits in Gi - [x] Add EMC Link - [x] Add Alchemical Books - [x] Add more matter/fuel types -- [ ] Make collectors less expensive and less effective (gold instead of glowstone) -- [ ] Make collectors use ProjectExpansion's textures +- [x] Make collectors less expensive and less effective (gold instead of glowstone) +- [x] Make collectors use ProjectExpansion's textures - [ ] Add Knowledge Sharing Book - [ ] Add function for getting player's learned items - [ ] Add Evertide Amulet diff --git a/exchangeclone/energy_collectors.lua b/exchangeclone/energy_collectors.lua index 4ea28bc..cc515be 100644 --- a/exchangeclone/energy_collectors.lua +++ b/exchangeclone/energy_collectors.lua @@ -9,7 +9,7 @@ local formspec = "listring[context;main]".. (exchangeclone.mcl and mcl_formspec.get_itemslot_bg(4,2,1,1) or "") -minetest.register_alias("exchangeclone:energy_collector", "exchangeclone:energy_collector_mk1") +minetest.register_alias("exchangeclone:energy_collector", "exchangeclone:basic_collector") local function check_for_furnaces(pos, set_furnace, start) local found = false @@ -118,12 +118,10 @@ local function allow_metadata_inventory_take(pos, listname, index, stack, player return stack:get_count() end -function exchangeclone.register_energy_collector(itemstring, name, amount, modifier, recipe, glow) +function exchangeclone.register_energy_collector(itemstring, name, amount, texture, recipe, glow) minetest.register_node(itemstring, { description = name.."\nGenerates "..exchangeclone.format_number(amount).." EMC/second", - tiles = { - "exchangeclone_energy_collector_base.png^(exchangeclone_energy_collector_overlay.png"..modifier..")" - }, + tiles = {texture}, groups = { cracky = 2, pickaxey = 1, @@ -133,7 +131,7 @@ function exchangeclone.register_energy_collector(itemstring, name, amount, modif energy_collector = 1, container = 2, tubedevice = 1, - tubedevice_receiver = 1, + tubedevice_receiver = 1, }, light_source = glow, _mcl_hardness = 1, @@ -171,9 +169,11 @@ function exchangeclone.register_energy_collector(itemstring, name, amount, modif allow_metadata_inventory_move = allow_metadata_inventory_move, allow_metadata_inventory_take = allow_metadata_inventory_take, }) + minetest.log(dump(recipe)) minetest.register_craft({ output = itemstring, - recipe = recipe + type = recipe[2] or "shaped", + recipe = recipe[1] }) if exchangeclone.pipeworks then @@ -199,82 +199,58 @@ function exchangeclone.register_energy_collector(itemstring, name, amount, modif end end -local iron_block = "default:steelblock" -local glass = "default:glass" -local chest = "default:chest" +local collectors = { + "Basic", + "Dark", + "Red", + "Magenta", + "Pink", + "Purple", + "Violet", + "Blue", + "Cyan", + "Green", + "Lime", + "Yellow", + "Orange", + "White", +} -if exchangeclone.mcl then - iron_block = "mcl_core:ironblock" - glass = "mcl_core:glass" - chest = "mcl_chests:chest" -end +local ingredient = exchangeclone.mcl and "mcl_nether:glowstone" or "default:gold_ingot" -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk1", S("Energy Collector MK1"), 16, "", { - {glass, glass, glass}, - {"exchangeclone:klein_star_drei", chest, "exchangeclone:klein_star_drei"}, - {iron_block, iron_block, iron_block} - }, 5 +exchangeclone.register_energy_collector( + "exchangeclone:basic_collector", + S("Basic Collector [MK 1]"), + 4, + "exchangeclone_basic_collector.png", + {{ + {ingredient, exchangeclone.itemstrings.glass, ingredient}, + {ingredient, "exchangeclone:aeternalis_fuel_block", ingredient}, + {ingredient, (exchangeclone.mcl and "mcl_furnaces:furnace" or "default:furnace"), ingredient}, + + }}, + 5 ) -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk2", S("Energy Collector MK2"), 48, "^[multiply:#333333", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk1", "exchangeclone:energy_collector_mk1", "exchangeclone:energy_collector_mk1"}, - {iron_block, iron_block, iron_block} - }, 6 -) +minetest.register_alias("exchangeclone:energy_collector_mk1", "exchangeclone:basic_collector") -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk3", S("Energy Collector MK3"), 160, "^[multiply:#770000", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk2", "exchangeclone:energy_collector_mk2", "exchangeclone:energy_collector_mk2"}, - {iron_block, iron_block, iron_block} - }, 7 -) - -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk4", S("Energy Collector MK4"), 640, "^[multiply:#aa5500", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk3", "exchangeclone:energy_collector_mk3", "exchangeclone:energy_collector_mk3"}, - {iron_block, iron_block, iron_block} - }, 8 -) - -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk5", S("Energy Collector MK5"), 2560, "^[multiply:#cc9900", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk4", "exchangeclone:energy_collector_mk4", "exchangeclone:energy_collector_mk4"}, - {iron_block, iron_block, iron_block} - }, 9 -) - -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk6", S("Energy Collector MK6"), 10240, "^[multiply:#007700", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk5", "exchangeclone:energy_collector_mk5", "exchangeclone:energy_collector_mk5"}, - {iron_block, iron_block, iron_block} - }, 10 -) - -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk7", S("Energy Collector MK7"), 40960, "^[multiply:#007777", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk6", "exchangeclone:energy_collector_mk6", "exchangeclone:energy_collector_mk6"}, - {iron_block, iron_block, iron_block} - }, 11 -) - -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk8", S("Energy Collector MK8"), 163840, "^[multiply:#000077", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk7", "exchangeclone:energy_collector_mk7", "exchangeclone:energy_collector_mk7"}, - {iron_block, iron_block, iron_block} - }, 12 -) - -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk9", S("Energy Collector MK9"), 655360, "^[multiply:#770077", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk8", "exchangeclone:energy_collector_mk8", "exchangeclone:energy_collector_mk8"}, - {iron_block, iron_block, iron_block} - }, 13 -) - -exchangeclone.register_energy_collector("exchangeclone:energy_collector_mk10", S("Energy Collector MK10"), 2621440, "^[multiply:#cc00aa", { - {iron_block, iron_block, iron_block}, - {"exchangeclone:energy_collector_mk9", "exchangeclone:energy_collector_mk9", "exchangeclone:energy_collector_mk9"}, - {iron_block, iron_block, iron_block} - }, minetest.LIGHT_MAX -) \ No newline at end of file +for i = 2, #collectors do + local collector = collectors[i] + local codified = collector:lower().."_collector" + local previous = "exchangeclone:"..collectors[i-1]:lower().."_collector" + exchangeclone.register_energy_collector( + "exchangeclone:"..codified, + S(collector.." Energy Collector [MK"..i.."]"), + 4*math.pow(6,i-1), + "exchangeclone_"..codified..".png", + { + { + previous, + "exchangeclone:"..collector:lower().."_matter" + }, + "shapeless" + }, + 5+i + ) + minetest.register_alias("exchangeclone:energy_collector_mk"..i, "exchangeclone:"..codified) +end \ No newline at end of file diff --git a/exchangeclone/fuels.lua b/exchangeclone/fuels.lua index e0fa911..81292c6 100644 --- a/exchangeclone/fuels.lua +++ b/exchangeclone/fuels.lua @@ -38,6 +38,8 @@ for i, fuel in ipairs(exchangeclone.fuels) do _mcl_hardness = 7, }) + minetest.log(string.format("%s: %s", fuel, fuel_time)) + minetest.register_craft({ type = "fuel", recipe = "exchangeclone:"..codified, @@ -47,9 +49,9 @@ for i, fuel in ipairs(exchangeclone.fuels) do minetest.register_craft({ type = "fuel", recipe = "exchangeclone:"..codified.."_block", - burntime = fuel_time * 10, + burntime = math.min(fuel_time * 10, exchangeclone.fuel_limit) }) - fuel_time = fuel_time * 4 + fuel_time = math.min(fuel_time * 4, exchangeclone.fuel_limit) minetest.register_craft({ output = "exchangeclone:"..codified.."_block", diff --git a/exchangeclone/matter.lua b/exchangeclone/matter.lua index de1bdcf..f17ff80 100644 --- a/exchangeclone/matter.lua +++ b/exchangeclone/matter.lua @@ -80,7 +80,12 @@ for i, matter in ipairs(exchangeclone.matter_types) do local previous = exchangeclone.matter_types[i-1] or "Dark" previous = "exchangeclone:"..previous:lower().."_matter" - local fuel = "exchangeclone:"..exchangeclone.fuels[i+2]:lower():gsub(" ", "_") + local fuel + if matter ~= "Red" then + fuel = "exchangeclone:"..exchangeclone.fuels[i+1]:lower():gsub(" ", "_") + else + fuel = "exchangeclone:aeternalis_fuel" + end minetest.register_craft({ output = itemstring, diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_basic_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_basic_collector.png new file mode 100644 index 0000000..4d9ac7b Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_basic_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_blue_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_blue_collector.png new file mode 100644 index 0000000..77af158 Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_blue_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_cyan_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_cyan_collector.png new file mode 100644 index 0000000..caa2fef Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_cyan_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_dark_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_dark_collector.png new file mode 100644 index 0000000..011b8b4 Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_dark_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_green_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_green_collector.png new file mode 100644 index 0000000..dd3f582 Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_green_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_lime_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_lime_collector.png new file mode 100644 index 0000000..b4019bf Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_lime_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_magenta_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_magenta_collector.png new file mode 100644 index 0000000..003b47b Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_magenta_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_orange_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_orange_collector.png new file mode 100644 index 0000000..de67784 Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_orange_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_pink_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_pink_collector.png new file mode 100644 index 0000000..06eef75 Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_pink_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_purple_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_purple_collector.png new file mode 100644 index 0000000..7bdf88e Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_purple_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_red_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_red_collector.png new file mode 100644 index 0000000..b449aaa Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_red_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_violet_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_violet_collector.png new file mode 100644 index 0000000..e211107 Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_violet_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_white_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_white_collector.png new file mode 100644 index 0000000..3ea3237 Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_white_collector.png differ diff --git a/exchangeclone/textures/nodes/collector/exchangeclone_yellow_collector.png b/exchangeclone/textures/nodes/collector/exchangeclone_yellow_collector.png new file mode 100644 index 0000000..5bcd44a Binary files /dev/null and b/exchangeclone/textures/nodes/collector/exchangeclone_yellow_collector.png differ diff --git a/exchangeclone/textures/nodes/exchangeclone_energy_collector_base.png b/exchangeclone/textures/nodes/exchangeclone_energy_collector_base.png deleted file mode 100644 index b003f99..0000000 Binary files a/exchangeclone/textures/nodes/exchangeclone_energy_collector_base.png and /dev/null differ diff --git a/exchangeclone/textures/nodes/exchangeclone_energy_collector_overlay.png b/exchangeclone/textures/nodes/exchangeclone_energy_collector_overlay.png deleted file mode 100644 index add3c1b..0000000 Binary files a/exchangeclone/textures/nodes/exchangeclone_energy_collector_overlay.png and /dev/null differ diff --git a/zzzz_exchangeclone_init/lib.lua b/zzzz_exchangeclone_init/lib.lua index 511e6ed..3a30dee 100644 --- a/zzzz_exchangeclone_init/lib.lua +++ b/zzzz_exchangeclone_init/lib.lua @@ -341,6 +341,9 @@ function exchangeclone.charge_update(itemstack, player) return itemstack end +exchangeclone.int_limit = 2147483647 +exchangeclone.fuel_limit = 2147483583 -- no idea why... + -- Itemstrings for various items used in crafting recipes. exchangeclone.itemstrings = { cobble = exchangeclone.mcl and "mcl_core:cobble" or "default:cobble", @@ -360,7 +363,8 @@ exchangeclone.itemstrings = { clay = exchangeclone.mcl and "mcl_core:clay" or "default:clay", sand = exchangeclone.mcl and "mcl_core:sand" or "default:sand", torch = exchangeclone.mcl and "mcl_torches:torch" or "default:torch", - book = exchangeclone.mcl and "mcl_books:book" or "default:book" + book = exchangeclone.mcl and "mcl_books:book" or "default:book", + glass = exchangeclone.mcl and "mcl_core:glass" or "default:glass", } exchangeclone.emc_aliases = {}