illuna_aestival: add overrides to fix xocean:horn and xocean:skeleton_horn, fixes #32

master
Milan 2021-02-16 16:23:53 +01:00
parent 11306d4703
commit ef4a220c6f
1 changed files with 42 additions and 0 deletions

View File

@ -1,3 +1,45 @@
-- overrides inspired by https://github.com/ThorfinnS/xocean/commit/f8627aa49abc76f271a9711d9647b0336cf0e8dd
minetest.override_item("xocean:horn", {
drop = "xocean:horn",
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:coral_brown"})
end,
})
minetest.override_item("xocean:skeleton_horn", {
drop = "xocean:skeleton_horn",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" or not placer then
return itemstack
end
local player_name = placer:get_player_name()
local pos_under = pointed_thing.under
local pos_above = pointed_thing.above
if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or
minetest.get_node(pos_above).name ~= "default:water_source" then
return itemstack
end
if minetest.is_protected(pos_under, player_name) or
minetest.is_protected(pos_above, player_name) then
minetest.chat_send_player(player_name, "Node is protected")
minetest.record_protection_violation(pos_under, player_name)
return itemstack
end
minetest.set_node(pos_under, {name = "xocean:skeleton_horn"})
if not (creative and creative.is_enabled_for(player_name)) then
itemstack:take_item()
end
return itemstack
end,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:coral_skeleton"})
end,
})
minetest.register_node(":illuna_ethereal:douglasie_leaves", {
description = "Douglasie Leaves",
drawtype = "allfaces_optional",