From 704dc487c9c33ea7700fe7b8620bb3a127c7bfb3 Mon Sep 17 00:00:00 2001 From: ThePython <87204246+ThePython10110@users.noreply.github.com> Date: Tue, 27 Feb 2024 18:16:22 -0800 Subject: [PATCH] Started adding EMC link --- README.md | 11 ++++- exchangeclone/deprecated_stuff.lua | 4 +- exchangeclone/emc_link.lua | 46 ++++++++++++++++++ ...gy_collector.lua => energy_collectors.lua} | 0 exchangeclone/init.lua | 9 ++-- .../textures/exchangeclone_emc_link.png | Bin 0 -> 6222 bytes 6 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 exchangeclone/emc_link.lua rename exchangeclone/{energy_collector.lua => energy_collectors.lua} (100%) create mode 100644 exchangeclone/textures/exchangeclone_emc_link.png diff --git a/README.md b/README.md index 381a72b..9770c42 100644 --- a/README.md +++ b/README.md @@ -99,8 +99,15 @@ You can find the old textures and sounds by going back to previous commits in Gi
Look at this fancy expanding changelog ### v8.0 -* The Constructor and Deconstructor are now deprecated. Element Exchange is no more. -* Upgrades and Stars can no longer be used as fuel. +* New Features: + * +* Changes: + * The Constructor and Deconstructor are now deprecated. Element Exchange is no more. + * Upgrades and Stars can no longer be used as fuel. + * Dark and Red Matter Armor now uses ProjectE's textures +* Bugfixes: + * Dark and Red Matter Armor display properly (and identically) in both games. + ### v7.3 (not released yet because there's not enough) * Renamed Alchemical Tome to Tome of Knowledge, and made it uncraftable by default. diff --git a/exchangeclone/deprecated_stuff.lua b/exchangeclone/deprecated_stuff.lua index 45887d8..daaa332 100644 --- a/exchangeclone/deprecated_stuff.lua +++ b/exchangeclone/deprecated_stuff.lua @@ -53,7 +53,7 @@ minetest.register_node("exchangeclone:constructor", { "exchangeclone_constructor_right.png", "exchangeclone_constructor_right.png", }, - groups = {cracky = 2, container = exchangeclone.mcl2 and 2 or 4, pickaxey = 2, not_in_creative_inventory = 1, not_in_craft_guide = 1}, + groups = {cracky = 2, pickaxey = 2, not_in_creative_inventory = 1, not_in_craft_guide = 1}, _mcl_hardness = 3, _mcl_blast_resistance = 6, sounds = exchangeclone.sound_mod.node_sound_metal_defaults(), @@ -108,7 +108,7 @@ minetest.register_node("exchangeclone:deconstructor", { "exchangeclone_deconstructor_right.png", "exchangeclone_deconstructor_right.png", }, - groups = {cracky = 2, container = exchangeclone.mcl2 and 2 or 4, pickaxey = 2, not_in_creative_inventory = 1, not_in_craft_guide = 1}, + groups = {cracky = 2, pickaxey = 2, not_in_creative_inventory = 1, not_in_craft_guide = 1}, _mcl_hardness = 3, _mcl_blast_resistance = 6, sounds = exchangeclone.sound_mod.node_sound_metal_defaults(), diff --git a/exchangeclone/emc_link.lua b/exchangeclone/emc_link.lua new file mode 100644 index 0000000..ca8369c --- /dev/null +++ b/exchangeclone/emc_link.lua @@ -0,0 +1,46 @@ +-- I want to make this without a formspec. + +local function on_rightclick(pos, node, player, itemstack, pointed_thing) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if player:get_player_control().sneak then + local contained = inv:get_stack("star", 1) + if minetest.get_item_group(itemstack:get_name(), "klein_star") > 0 then + inv:set_stack("star", 1, itemstack) + return contained + elseif itemstack:is_empty() then + inv:set_stack("star", 1, ItemStack("")) + return contained + end + elseif not itemstack:is_empty() then + local dealiased = exchangeclone.handle_alias(itemstack) + local emc = exchangeclone.get_item_emc(dealiased) + if emc and emc > 0 then + minetest.chat_send_player(player:get_player_name(), "Target Item: "..ItemStack(dealiased):get_short_description()) + meta:set_string("target_item", dealiased) + end + end +end + +minetest.register_node("exchangeclone:emc_link", { + description = "EMC Link\nAllows automation with personal EMC", + tiles = {"exchangeclone_emc_link.png"}, + on_rightclick = on_rightclick, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + inv:set_size("star", 1) + inv:set_size("input", 1) + inv:set_size("output", 1) + meta:set_string("infotext", "EMC Link") + end, + after_place_node = function(pos, player, itemstack, pointed_thing) + local player_name = player:get_player_name() + local meta = minetest.get_meta(pos) + meta:set_string("exchangeclone_placer", player_name) + meta:set_string("infotext", "EMC Link".."\n"..S("Owned by ")..player_name) + if exchangeclone.pipeworks then + pipeworks.after_place(pos, player, itemstack, pointed_thing) + end + end, +}) \ No newline at end of file diff --git a/exchangeclone/energy_collector.lua b/exchangeclone/energy_collectors.lua similarity index 100% rename from exchangeclone/energy_collector.lua rename to exchangeclone/energy_collectors.lua diff --git a/exchangeclone/init.lua b/exchangeclone/init.lua index 381988c..2f25efc 100644 --- a/exchangeclone/init.lua +++ b/exchangeclone/init.lua @@ -109,14 +109,14 @@ if exchangeclone.mcl2 then end local files = { - "deprecated_stuff", - "energy_collector", - "klein_stars", "craftitems", - "tool_upgrades", + "deprecated_stuff", + "energy_collectors", + "klein_stars", "swords", "pickaxes", "axes", + "tool_upgrades", "shovels", "hoes", "hammers", @@ -130,6 +130,7 @@ local files = { "gem_of_eternal_density", "talisman_of_repair", "passive_stones", + "emc_link", } if exchangeclone.mcl or minetest.get_modpath("3d_armor") then diff --git a/exchangeclone/textures/exchangeclone_emc_link.png b/exchangeclone/textures/exchangeclone_emc_link.png new file mode 100644 index 0000000000000000000000000000000000000000..91a71bb093c2a59fce4a8326cb1fee1a5db9dec1 GIT binary patch literal 6222 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 literal 0 HcmV?d00001