Make nodes usable when wielding an end crystal

This commit is contained in:
Elias Fleckenstein 2021-03-18 12:41:39 +01:00
parent 0e206e9974
commit 3df3e957e2

View file

@ -77,7 +77,7 @@ minetest.register_entity("mcl_end:crystal", {
_exploded = false, _exploded = false,
_hittable_by_projectile = true _hittable_by_projectile = true
}) })
minetest.register_craftitem("mcl_end:crystal", { minetest.register_craftitem("mcl_end:crystal", {
inventory_image = "mcl_end_crystal_item.png", inventory_image = "mcl_end_crystal_item.png",
description = S("End Crystal"), description = S("End Crystal"),
@ -86,9 +86,14 @@ minetest.register_craftitem("mcl_end:crystal", {
if pointed_thing.type == "node" then if pointed_thing.type == "node" then
local pos = minetest.get_pointed_thing_position(pointed_thing) local pos = minetest.get_pointed_thing_position(pointed_thing)
local node = minetest.get_node(pos).name local node = minetest.get_node(pos).name
if placer and not placer:get_player_control().sneak then
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack
end
end
if find_crystal(pos) then return itemstack end if find_crystal(pos) then return itemstack end
if node == "mcl_core:obsidian" or node == "mcl_core:bedrock" then if node == "mcl_core:obsidian" or node == "mcl_core:bedrock" then
if not minetest.is_creative_enabled(placer:get_player_name()) then if not minetest.is_creative_enabled(placer:get_player_name()) then
itemstack:take_item() itemstack:take_item()
end end
spawn_crystal(pos) spawn_crystal(pos)
@ -110,5 +115,5 @@ minetest.register_craft({
{"mcl_core:glass", "mcl_mobitems:ghast_tear", "mcl_core:glass"}, {"mcl_core:glass", "mcl_mobitems:ghast_tear", "mcl_core:glass"},
} }
}) })
minetest.register_alias("mcl_end_crystal:end_crystal", "mcl_end:crystal") minetest.register_alias("mcl_end_crystal:end_crystal", "mcl_end:crystal")