forked from VoxeLibre/VoxeLibre
Merge pull request 'Fix bug when applying another enchantment to a renamed item' (#1989) from fix-1922 into master
Reviewed-on: MineClone2/MineClone2#1989
This commit is contained in:
commit
f803a25aea
|
@ -97,8 +97,9 @@ mcl_enchanting.enchantments.efficiency = {
|
|||
weight = 10,
|
||||
description = S("Increases mining speed."),
|
||||
curse = false,
|
||||
on_enchant = function(itemstack, level)
|
||||
mcl_enchanting.update_groupcaps(itemstack)
|
||||
on_enchant = function()
|
||||
-- Updating digging speed is handled by update_groupcaps which
|
||||
-- is called from load_enchantments.
|
||||
end,
|
||||
requires_tool = false,
|
||||
treasure = false,
|
||||
|
@ -671,8 +672,8 @@ mcl_enchanting.enchantments.unbreaking = {
|
|||
tool_capabilities.punch_attack_uses = tool_capabilities.punch_attack_uses * (1 + level)
|
||||
itemstack:get_meta():set_tool_capabilities(tool_capabilities)
|
||||
|
||||
-- Unbreaking for groupcaps is handled in this function.
|
||||
mcl_enchanting.update_groupcaps(itemstack)
|
||||
-- Updating digging durability is handled by update_groupcaps
|
||||
-- which is called from load_enchantments.
|
||||
end,
|
||||
requires_tool = true,
|
||||
treasure = false,
|
||||
|
|
|
@ -14,10 +14,11 @@ end
|
|||
|
||||
function mcl_enchanting.unload_enchantments(itemstack)
|
||||
local itemdef = itemstack:get_definition()
|
||||
if itemdef.tool_capabilities then
|
||||
itemstack:get_meta():set_tool_capabilities(nil)
|
||||
end
|
||||
local meta = itemstack:get_meta()
|
||||
if itemdef.tool_capabilities then
|
||||
meta:set_tool_capabilities(nil)
|
||||
meta:set_string("groupcaps_hash", "")
|
||||
end
|
||||
if meta:get_string("name") == "" then
|
||||
meta:set_string("description", "")
|
||||
meta:set_string("groupcaps_hash", "")
|
||||
|
@ -33,6 +34,7 @@ function mcl_enchanting.load_enchantments(itemstack, enchantments)
|
|||
enchantment_def.on_enchant(itemstack, level)
|
||||
end
|
||||
end
|
||||
mcl_enchanting.update_groupcaps(itemstack)
|
||||
end
|
||||
tt.reload_itemstack_description(itemstack)
|
||||
end
|
||||
|
|
|
@ -2,10 +2,7 @@ local groupcaps_cache = {}
|
|||
|
||||
-- Compute a hash value.
|
||||
function compute_hash(value)
|
||||
-- minetest.get_password_hash is quite fast, even if it uses a
|
||||
-- cryptographic hashing function (SHA-1). It is written in C++ and it
|
||||
-- is probably hard to write a faster hashing function in Lua.
|
||||
return string.sub(minetest.get_password_hash("ryvnf", minetest.serialize(value)), 1, 8)
|
||||
return string.sub(minetest.sha1(minetest.serialize(value)), 1, 8)
|
||||
end
|
||||
|
||||
-- Get the groupcaps and hash for an enchanted tool. If this function is called
|
||||
|
|
Loading…
Reference in New Issue