Almost done, I think.
This commit is contained in:
parent
18429268f3
commit
473e7912a9
13
README.md
13
README.md
|
@ -41,9 +41,11 @@ Dependencies: Minetest Game or MineClone.
|
|||
* Dark/Red Matter armor don't work they way they should, especially in MTG. I would greatly appreciate a PR that makes them work more like ProjectE.
|
||||
* The sword/katar AOE ability does not take upgrades into account. This will probably not be fixed (MCL)
|
||||
* For technical reasons (making them work with MCL hoppers), Exchange Orbs and Upgrades can be used as fuel. This isn't really a problem, but it will be removed once I decide the new hopper API is new enough that most people are using it.
|
||||
* Dark/Red Matter Shears will sometimes (randomly) be treated as normal shears when used by MCL dispensers. This will not be fixed.
|
||||
* Dark/Red Matter Shears will sometimes (randomly) be treated as normal shears when used by dispensers. This will not be fixed.
|
||||
* In Mineclonia, when inserting items into Dark/Red Matter Furnaces with hoppers, they will not start at the correct speed, instead being limited to a maximum of 1 item/second. This will not be fixed unless Mineclonia changes how things work.
|
||||
* In Mineclonia, hoppers can put invalid items into Energy Collectors.
|
||||
* DM/RM tools and armor aren't great... the DM tools are TOO fast and the armor is (depending on which game you're playing), too good or not good enough. I would love it if someone with more patience would submit a PR to improve them. I would like them to be as close to ProjectE as possible, and as similar as possible between MTG and MCL... but I just hate doing that kind of thing.
|
||||
* DM tools mine RM nodes too quickly for something that doesn't drop (MCL).
|
||||
|
||||
**If you have a suggestion or notice a bug, visit the [GitHub issues page](https://github.com/thepython10110/exchangeclone/issues).**
|
||||
|
||||
|
@ -69,12 +71,15 @@ Dependencies: Minetest Game or MineClone.
|
|||
* Figure out what's going to happen with Technic (the PR probably won't be merged)
|
||||
* Finish changelog
|
||||
* Finish wiki
|
||||
* Fix banner energy values
|
||||
* Fix Advanced Alchemical Chest values to be the same
|
||||
* Test everything in MTG, MCL2, and MCLA (and 5.7)
|
||||
* Everything breaks properly in MTG
|
||||
* Fix Tmcl_banners thing
|
||||
* Check for MCL coral groups
|
||||
* Everything breaks properly
|
||||
* Item transfer mods work correctly
|
||||
* Shears seem to work find (MCL)
|
||||
|
||||
### v6.0 (The Compatibility Update)
|
||||
This update took a while... there was just so much that had to be done.
|
||||
|
||||
**The biggest changes:**
|
||||
* I'm naming updates now for some reason.
|
||||
|
|
|
@ -7,7 +7,7 @@ local function alchemical_formspec(color)
|
|||
if color then
|
||||
local codified_color = string.lower(color):gsub(" ", "_")
|
||||
listname = "current_player;"..codified_color.."_alchemical_inventory"
|
||||
label = S("@1 Alchemical Inventory", S(color))
|
||||
label = S("@1 Alchemical Inventory", color)
|
||||
else
|
||||
listname = "context;main"
|
||||
label = S("Alchemical Chest")
|
||||
|
@ -132,7 +132,7 @@ for color, color_data in pairs(exchangeclone.colors) do
|
|||
end
|
||||
|
||||
minetest.register_tool(bag_itemstring, {
|
||||
description = S("@1 Alchemical Bag", S(color_data.name)),
|
||||
description = S("@1 Alchemical Bag", color_data.name),
|
||||
inventory_image = "exchangeclone_alchemical_bag.png"..bag_modifier,
|
||||
wield_image = "exchangeclone_alchemical_bag.png"..bag_modifier,
|
||||
groups = {disable_repair = 1, alchemical_bag = 1},
|
||||
|
@ -158,7 +158,7 @@ for color, color_data in pairs(exchangeclone.colors) do
|
|||
})
|
||||
|
||||
minetest.register_node(advanced_itemstring, {
|
||||
description = S("@1 Advanced Alchemical Chest", S(color_data.name)).."\n"..S("Shift+right-click with an alchemical bag to change the color."),
|
||||
description = S("@1 Advanced Alchemical Chest", color_data.name).."\n"..S("Shift+right-click with an alchemical bag to change the color."),
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 6,
|
||||
groups = {container = 1, advanced_alchemical_chest = 1, cracky = 2, pickaxey = 2},
|
||||
|
@ -178,7 +178,7 @@ for color, color_data in pairs(exchangeclone.colors) do
|
|||
output = advanced_itemstring,
|
||||
recipe = {
|
||||
{"exchangeclone:dark_matter", "exchangeclone:low_covalence_dust", "exchangeclone:dark_matter"},
|
||||
{"exchangeclone:medium_covalence_dust", "exchangeclone:"..color.."_alchemical_bag", "exchangeclone:medium_covalence_dust"},
|
||||
{"exchangeclone:medium_covalence_dust", "exchangeclone:alchemical_bag_"..color, "exchangeclone:medium_covalence_dust"},
|
||||
{"exchangeclone:high_covalence_dust", "exchangeclone:low_covalence_dust", "exchangeclone:high_covalence_dust"},
|
||||
}
|
||||
})
|
||||
|
|
|
@ -67,7 +67,7 @@ minetest.register_tool("exchangeclone:dark_matter_axe", {
|
|||
description = S("Dark Matter Axe"),
|
||||
wield_image = "exchangeclone_dark_matter_axe.png",
|
||||
inventory_image = "exchangeclone_dark_matter_axe.png",
|
||||
groups = { tool=1, axe=1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, axe=1, dig_speed_class=5, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -84,7 +84,7 @@ minetest.register_tool("exchangeclone:dark_matter_axe", {
|
|||
on_secondary_use = axe_on_place,
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
axey = { speed = 16, level = 7, uses = 0 }
|
||||
axey = { speed = 16, level = 5, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -92,7 +92,7 @@ minetest.register_tool("exchangeclone:red_matter_axe", {
|
|||
description = S("Red Matter Axe"),
|
||||
wield_image = "exchangeclone_red_matter_axe.png",
|
||||
inventory_image = "exchangeclone_red_matter_axe.png",
|
||||
groups = { tool=1, axe=1, dig_speed_class=8, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, axe=1, dig_speed_class=6, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -109,7 +109,7 @@ minetest.register_tool("exchangeclone:red_matter_axe", {
|
|||
on_secondary_use = axe_on_place,
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
axey = { speed = 20, level = 8, uses = 0 }
|
||||
axey = { speed = 20, level = 6, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ minetest.register_node("exchangeclone:red_matter_block", {
|
|||
is_ground_content = false,
|
||||
light_source = 14,
|
||||
sounds = exchangeclone.sound_mod.node_sound_stone_defaults(),
|
||||
groups = {pickaxey=5, material_stone=1, cracky = 3, level = get_level(5)},
|
||||
groups = {pickaxey=6, material_stone=1, cracky = 3, level = get_level(5)},
|
||||
_mcl_blast_resistance = 1500,
|
||||
_mcl_hardness = 100,
|
||||
})
|
||||
|
|
|
@ -85,7 +85,7 @@ local function inactive_formspec(matter_type)
|
|||
local result = base_formspec..
|
||||
"list[context;src;0,0.5;"..tostring(num_columns)..",3;1]"..
|
||||
"list[context;dst;7,0.5;"..tostring(num_columns)..",3;1]"..
|
||||
"label[2.9,0;"..S("@1 Matter Furnace", S(matter_type)).."]"..
|
||||
"label[2.9,0;"..S("@1 Matter Furnace", matter_type).."]"..
|
||||
"image[2.9,1.5;1,1;default_furnace_fire_bg.png]"..
|
||||
"image[4.1,1.5;1.5,1;gui_furnace_arrow_bg.png^[transformR270]"
|
||||
if exchangeclone.mcl then
|
||||
|
@ -103,7 +103,7 @@ local function active_formspec(fuel_percent, item_percent, matter_type)
|
|||
(100-fuel_percent)..":default_furnace_fire_fg.png]"..
|
||||
"list[context;src;0,0.5;"..tostring(num_columns)..",3;1]"..
|
||||
"list[context;dst;7,0.5;"..tostring(num_columns)..",3;1]"..
|
||||
"label[2.9,0;"..S("@1 Matter Furnace", S(matter_type)).."]"..
|
||||
"label[2.9,0;"..S("@1 Matter Furnace", matter_type).."]"..
|
||||
"image[4.1,1.5;1.5,1;gui_furnace_arrow_bg.png^[lowpart:"..
|
||||
(item_percent)..":gui_furnace_arrow_fg.png^[transformR270]"
|
||||
if exchangeclone.mcl then
|
||||
|
@ -665,7 +665,7 @@ minetest.override_item("exchangeclone:red_matter_furnace", {
|
|||
"exchangeclone_red_matter_block.png"..pipeworks_connect,
|
||||
"exchangeclone_red_matter_furnace.png",
|
||||
},
|
||||
groups = {pickaxey=5, cracky = 3, container = exchangeclone.mcl2 and 2 or 4, deco_block=1, material_stone=1, level = get_level(5), exchangeclone_furnace = 2, tubedevice = 1, tubedevice_receiver = 1},
|
||||
groups = {pickaxey=6, cracky = 3, container = exchangeclone.mcl2 and 2 or 4, deco_block=1, material_stone=1, level = get_level(5), exchangeclone_furnace = 2, tubedevice = 1, tubedevice_receiver = 1},
|
||||
_mcl_hardness = 100,
|
||||
|
||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
|
@ -720,7 +720,7 @@ minetest.override_item("exchangeclone:red_matter_furnace_active", {
|
|||
"exchangeclone_red_matter_furnace.png",
|
||||
},
|
||||
drop = "exchangeclone:red_matter_furnace",
|
||||
groups = {pickaxey=5, not_in_creative_inventory = 1, cracky = 3, container = exchangeclone.mcl2 and 2 or 4, deco_block=1, material_stone=1, level = get_level(5), exchangeclone_furnace = 2, tubedevice = 1, tubedevice_receiver = 1},
|
||||
groups = {pickaxey=6, not_in_creative_inventory = 1, cracky = 3, container = exchangeclone.mcl2 and 2 or 4, deco_block=1, material_stone=1, level = get_level(5), exchangeclone_furnace = 2, tubedevice = 1, tubedevice_receiver = 1},
|
||||
_mcl_hardness = 100,
|
||||
|
||||
on_construct = function(pos)
|
||||
|
|
|
@ -72,7 +72,7 @@ minetest.register_tool("exchangeclone:dark_matter_hammer", {
|
|||
description = S("Dark Matter Hammer").."\n"..S("Single node mode"),
|
||||
wield_image = "exchangeclone_dark_matter_hammer.png",
|
||||
inventory_image = "exchangeclone_dark_matter_hammer.png",
|
||||
groups = { tool=1, hammer=1, dig_speed_class=7, enchantability=0, dark_matter_hammer = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, hammer=1, dig_speed_class=5, enchantability=0, dark_matter_hammer = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -87,7 +87,7 @@ minetest.register_tool("exchangeclone:dark_matter_hammer", {
|
|||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = { speed = 16, level = 7, uses = 0 }
|
||||
pickaxey = { speed = 16, level = 5, uses = 0 }
|
||||
},
|
||||
on_place = hammer_on_place,
|
||||
on_secondary_use = hammer_on_place,
|
||||
|
@ -97,7 +97,7 @@ minetest.register_tool("exchangeclone:dark_matter_hammer_3x3", {
|
|||
description = S("Dark Matter Hammer").."\n"..S("3x3 mode"),
|
||||
wield_image = "exchangeclone_dark_matter_hammer.png",
|
||||
inventory_image = "exchangeclone_dark_matter_hammer.png",
|
||||
groups = { tool=1, hammer=1, dig_speed_class=7, enchantability=0, dark_matter_hammer = 1, not_in_creative_inventory = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, hammer=1, dig_speed_class=5, enchantability=0, dark_matter_hammer = 1, not_in_creative_inventory = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -112,7 +112,7 @@ minetest.register_tool("exchangeclone:dark_matter_hammer_3x3", {
|
|||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = { speed = 12, level = 7, uses = 0 }
|
||||
pickaxey = { speed = 12, level = 5, uses = 0 }
|
||||
},
|
||||
on_place = hammer_on_place,
|
||||
on_secondary_use = hammer_on_place,
|
||||
|
@ -124,7 +124,7 @@ minetest.register_tool("exchangeclone:red_matter_hammer", {
|
|||
description = S("Red Matter Hammer").."\n"..S("Single node mode"),
|
||||
wield_image = "exchangeclone_red_matter_hammer.png",
|
||||
inventory_image = "exchangeclone_red_matter_hammer.png",
|
||||
groups = { tool=1, hammer=1, dig_speed_class=7, enchantability=0, red_matter_hammer = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, hammer=1, dig_speed_class=6, enchantability=0, red_matter_hammer = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -139,7 +139,7 @@ minetest.register_tool("exchangeclone:red_matter_hammer", {
|
|||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = { speed = 19, level = 8, uses = 0 }
|
||||
pickaxey = { speed = 19, level = 6, uses = 0 }
|
||||
},
|
||||
on_place = hammer_on_place,
|
||||
on_secondary_use = hammer_on_place,
|
||||
|
@ -149,7 +149,7 @@ minetest.register_tool("exchangeclone:red_matter_hammer_3x3", {
|
|||
description = S("Red Matter Hammer\n3x3 mode"),
|
||||
wield_image = "exchangeclone_red_matter_hammer.png",
|
||||
inventory_image = "exchangeclone_red_matter_hammer.png",
|
||||
groups = { tool=1, hammer=1, dig_speed_class=7, enchantability=0, red_matter_hammer = 1, not_in_creative_inventory = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, hammer=1, dig_speed_class=6, enchantability=0, red_matter_hammer = 1, not_in_creative_inventory = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -164,7 +164,7 @@ minetest.register_tool("exchangeclone:red_matter_hammer_3x3", {
|
|||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = { speed = 14, level = 8, uses = 0 }
|
||||
pickaxey = { speed = 14, level = 6, uses = 0 }
|
||||
},
|
||||
on_place = hammer_on_place,
|
||||
on_secondary_use = hammer_on_place,
|
||||
|
|
|
@ -79,7 +79,7 @@ local pick_def = {
|
|||
wield_image = "exchangeclone_dark_matter_pickaxe.png",
|
||||
inventory_image = "exchangeclone_dark_matter_pickaxe.png",
|
||||
exchangeclone_pick_mode = "1x1",
|
||||
groups = { tool=1, pickaxe=1, dig_speed_class=7, enchantability=0, dark_matter_pickaxe=1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, pickaxe=1, dig_speed_class=5, enchantability=0, dark_matter_pickaxe=1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -94,7 +94,7 @@ local pick_def = {
|
|||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = { speed = 40, level = 7, uses = 0 }
|
||||
pickaxey = { speed = 40, level = 5, uses = 0 }
|
||||
},
|
||||
on_secondary_use = pickaxe_on_use,
|
||||
on_place = pickaxe_on_use,
|
||||
|
@ -118,7 +118,7 @@ pick_def.wield_image = "exchangeclone_red_matter_pickaxe.png"
|
|||
pick_def.inventory_image = "exchangeclone_red_matter_pickaxe.png"
|
||||
pick_def.groups.dark_matter_pickaxe = nil
|
||||
pick_def.groups.red_matter_pickaxe = 1
|
||||
pick_def.groups.dig_speed_class = 8
|
||||
pick_def.groups.dig_speed_class = 6
|
||||
pick_def.tool_capabilities = {
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=7,
|
||||
|
@ -128,7 +128,7 @@ pick_def.tool_capabilities = {
|
|||
cracky = {times={[1]=0.27, [2]=0.13, [3]=0.07}, uses=0, maxlevel=5},
|
||||
},
|
||||
}
|
||||
pick_def._mcl_diggroups.pickaxey = { speed = 60, level = 8, uses = 0 }
|
||||
pick_def._mcl_diggroups.pickaxey = { speed = 60, level = 6, uses = 0 }
|
||||
|
||||
minetest.register_tool("exchangeclone:red_matter_pickaxe", table.copy(pick_def))
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ local katar_def = {
|
|||
inventory_image = "exchangeclone_red_katar.png",
|
||||
on_secondary_use = katar_on_use,
|
||||
on_place = katar_on_use,
|
||||
groups = { tool=1, red_katar = 1, sword = 1, axe=1, hoe = 1, shears = 1, dig_speed_class=8, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, red_katar = 1, sword = 1, axe=1, hoe = 1, shears = 1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.3,
|
||||
|
@ -232,7 +232,7 @@ local morningstar_def = {
|
|||
on_secondary_use = morningstar_on_use,
|
||||
exchangeclone_pick_mode = "1x1",
|
||||
on_place = morningstar_on_use,
|
||||
groups = { tool=1, red_morningstar = 1, shovel = 1, hammer=1, pickaxe = 1, dig_speed_class=8, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, red_morningstar = 1, shovel = 1, hammer=1, pickaxe = 1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.3,
|
||||
|
@ -248,9 +248,9 @@ local morningstar_def = {
|
|||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = {speed = 80, level = 8, uses = 0},
|
||||
shovely = {speed = 22, level = 8, uses = 0},
|
||||
axey = { speed = 22, level = 8, uses = 0 }
|
||||
pickaxey = {speed = 80, level = 7, uses = 0},
|
||||
shovely = {speed = 22, level = 7, uses = 0},
|
||||
axey = { speed = 22, level = 7, uses = 0 }
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -195,13 +195,6 @@ if exchangeclone.mcl then
|
|||
exchangeclone.register_alias("doc_identifier:identifier_solid", "doc_identifier:identifier_liquid")
|
||||
exchangeclone.register_alias("mcl_books:writable_book", "mcl_books:written_book")
|
||||
|
||||
for _, coral_type in pairs({"brain", "bubble", "fire", "horn", "tube"}) do
|
||||
for thing, value in pairs({[coral_type.."_coral"] = 16, [coral_type.."_coral_block"] = 64, [coral_type.."_coral_fan"] = 16}) do
|
||||
set_item_energy("mcl_ocean:"..thing, value)
|
||||
set_item_energy("mcl_ocean:dead_"..thing, value/16)
|
||||
end
|
||||
end
|
||||
|
||||
-- Potions
|
||||
exchangeclone.register_craft_type("brewing", "shapeless")
|
||||
local function add_potion_recipe(info)
|
||||
|
@ -271,10 +264,6 @@ end
|
|||
-- Register copper block/stonecutting energy recipes in MineClone2
|
||||
if exchangeclone.mcl2 then
|
||||
exchangeclone.register_craft_type("oxidation", "cooking")
|
||||
local cheapest = get_cheapest_recipe("mcl_copper:block")
|
||||
if cheapest then
|
||||
set_item_energy("mcl_copper:block", cheapest)
|
||||
end
|
||||
local states = {"", "_exposed", "_weathered", "_oxidized"}
|
||||
for i = 2, #states do
|
||||
exchangeclone.register_craft({output = "mcl_copper:block"..states[i], type = "oxidation", recipe = "mcl_copper:block"..states[i-1]})
|
||||
|
@ -295,6 +284,26 @@ if minetest.get_modpath("lava_sponge") then
|
|||
exchangeclone.register_alias("lava_sponge:lava_sponge", "lava_sponge:lava_sponge_wet")
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
-- Up to this point, no energy values have actually been set.
|
||||
|
||||
|
||||
|
||||
|
||||
-- Register group energy values
|
||||
local groupnames = {}
|
||||
for index, group in ipairs(exchangeclone.group_values) do
|
||||
groupnames[#groupnames + 1] = group[1] --Get list of group names
|
||||
end
|
||||
local grouped_items = exchangeclone.get_group_items(groupnames, true, true)
|
||||
for index, group in ipairs(exchangeclone.group_values) do
|
||||
for i, item in pairs(grouped_items[group[1]]) do
|
||||
set_item_energy(item, group[2])
|
||||
end
|
||||
end
|
||||
|
||||
-- Register base energy values
|
||||
for itemstring, energy_value in pairs(exchangeclone.base_energy_values) do
|
||||
set_item_energy(itemstring, energy_value)
|
||||
|
@ -334,29 +343,6 @@ for itemstring, recipes in pairs(exchangeclone.recipes) do
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- Up to this point, no energy values have been registered.
|
||||
-- Now, they will be.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- Register group energy values
|
||||
local groupnames = {}
|
||||
for index, group in ipairs(exchangeclone.group_values) do
|
||||
groupnames[#groupnames + 1] = group[1] --Get list of group names
|
||||
end
|
||||
local grouped_items = exchangeclone.get_group_items(groupnames, true, true)
|
||||
for index, group in ipairs(exchangeclone.group_values) do
|
||||
for i, item in pairs(grouped_items[group[1]]) do
|
||||
set_item_energy(item, group[2])
|
||||
end
|
||||
end
|
||||
|
||||
local old_auto
|
||||
local same = false
|
||||
local i = 1
|
||||
|
|
|
@ -76,7 +76,7 @@ minetest.register_tool("exchangeclone:dark_matter_shears", {
|
|||
wield_image = "exchangeclone_dark_matter_shears.png",
|
||||
inventory_image = "exchangeclone_dark_matter_shears.png",
|
||||
stack_max = 1,
|
||||
groups = { tool=1, shears=1, dig_speed_class=7, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, shears=1, dig_speed_class=5, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.4,
|
||||
max_drop_level=1,
|
||||
|
@ -98,7 +98,7 @@ minetest.register_tool("exchangeclone:red_matter_shears", {
|
|||
wield_image = "exchangeclone_red_matter_shears.png",
|
||||
inventory_image = "exchangeclone_red_matter_shears.png",
|
||||
stack_max = 1,
|
||||
groups = { tool=1, shears=1, dig_speed_class=8, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, shears=1, dig_speed_class=6, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.3,
|
||||
max_drop_level=1,
|
||||
|
|
|
@ -74,7 +74,7 @@ minetest.register_tool("exchangeclone:dark_matter_shovel", {
|
|||
description = "Dark Matter Shovel",
|
||||
wield_image = "exchangeclone_dark_matter_shovel.png",
|
||||
inventory_image = "exchangeclone_dark_matter_shovel.png",
|
||||
groups = { tool=1, shovel=1, dig_speed_class=6, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, shovel=1, dig_speed_class=5, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -91,7 +91,7 @@ minetest.register_tool("exchangeclone:dark_matter_shovel", {
|
|||
on_secondary_use = shovel_on_place,
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
shovely = { speed = 16, level = 7, uses = 0 }
|
||||
shovely = { speed = 16, level = 5, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -99,7 +99,7 @@ minetest.register_tool("exchangeclone:red_matter_shovel", {
|
|||
description = "Red Matter Shovel",
|
||||
wield_image = "exchangeclone_red_matter_shovel.png",
|
||||
inventory_image = "exchangeclone_red_matter_shovel.png",
|
||||
groups = { tool=1, shovel=1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, shovel=1, dig_speed_class=6, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -116,7 +116,7 @@ minetest.register_tool("exchangeclone:red_matter_shovel", {
|
|||
on_secondary_use = shovel_on_place,
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
shovely = { speed = 19, level = 8, uses = 0 }
|
||||
shovely = { speed = 19, level = 6, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
@ -168,7 +168,7 @@ minetest.register_tool("exchangeclone:dark_matter_sword", {
|
|||
description = "Dark Matter Sword",
|
||||
wield_image = "exchangeclone_dark_matter_sword.png",
|
||||
inventory_image = "exchangeclone_dark_matter_sword.png",
|
||||
groups = { tool=1, sword=1, dig_speed_class=6, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, sword=1, dig_speed_class=5, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -185,7 +185,7 @@ minetest.register_tool("exchangeclone:dark_matter_sword", {
|
|||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
swordy = { speed = 16, level = 7, uses = 0 }
|
||||
swordy = { speed = 16, level = 5, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -193,7 +193,7 @@ minetest.register_tool("exchangeclone:red_matter_sword", {
|
|||
description = "Red Matter Sword",
|
||||
wield_image = "exchangeclone_red_matter_sword.png",
|
||||
inventory_image = "exchangeclone_red_matter_sword.png",
|
||||
groups = { tool=1, sword=1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, sword=1, dig_speed_class=6, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
|
@ -210,7 +210,7 @@ minetest.register_tool("exchangeclone:red_matter_sword", {
|
|||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
swordy = { speed = 20, level = 7, uses = 0 }
|
||||
swordy = { speed = 20, level = 6, uses = 0 }
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
@ -9,6 +9,12 @@ if exchangeclone.mcl then
|
|||
{"mushroom", 32},
|
||||
{"decorated_pot_recipe", 4}, -- has to be 4 because of brick.
|
||||
{"music_record", 2048},
|
||||
{"coral_block=1", 64},
|
||||
{"coral_block=2", 16},
|
||||
{"coral_plant=1", 16},
|
||||
{"coral_plant=2", 1},
|
||||
{"coral_fan=1", 16},
|
||||
{"coral_fan=2", 1},
|
||||
})
|
||||
|
||||
for itemstring, energy_value in pairs({
|
||||
|
@ -221,10 +227,10 @@ if exchangeclone.mcl then
|
|||
{name = "withering", ingredient = "mcl_flowers:wither_rose", plus = true, two = true}
|
||||
})
|
||||
else
|
||||
exchangeclone.group_values = {
|
||||
table.insert_all(exchangeclone.group_values, {
|
||||
{"flower", 32},
|
||||
--{"dye", 8},
|
||||
}
|
||||
})
|
||||
|
||||
for itemstring, energy_value in pairs({
|
||||
["bones:bones"] = 4,
|
||||
|
|
|
@ -256,7 +256,7 @@ function exchangeclone.get_group_items(groups, allow_duplicates, include_no_grou
|
|||
result["NO_GROUP"] = {}
|
||||
end
|
||||
local in_group
|
||||
|
||||
-- copied from... somewhere
|
||||
for name, def in pairs(minetest.registered_items) do
|
||||
in_group = false
|
||||
for i = 1, num_groups do
|
||||
|
@ -264,7 +264,18 @@ function exchangeclone.get_group_items(groups, allow_duplicates, include_no_grou
|
|||
local subgroups = exchangeclone.split(grp, ",")
|
||||
local success = true
|
||||
for _, subgroup in pairs(subgroups) do
|
||||
if not def.groups[subgroup] then
|
||||
local group_info = exchangeclone.split(subgroup, "=")
|
||||
if #group_info == 1 then
|
||||
if minetest.get_item_group(name, subgroup) <= 0 then
|
||||
success = false
|
||||
break
|
||||
end
|
||||
elseif #group_info == 2 then
|
||||
if minetest.get_item_group(name, group_info[1]) ~= tonumber(group_info[2]) then
|
||||
success = false
|
||||
break
|
||||
end
|
||||
else
|
||||
success = false
|
||||
break
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue