Almost done, I think.

This commit is contained in:
ThePython 2023-12-25 09:56:50 -08:00
parent 18429268f3
commit 473e7912a9
14 changed files with 90 additions and 82 deletions

View File

@ -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.

View File

@ -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"},
}
})

View File

@ -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 }
},
})

View File

@ -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,
})

View File

@ -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)

View File

@ -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,

View File

@ -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))

View File

@ -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 }
},
}

View File

@ -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

View File

@ -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,

View File

@ -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 }
},
})

View File

@ -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 }
},
})

View File

@ -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,

View File

@ -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