Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Illuna-Minetest/illuna
1 result
Show changes
Commits on Source (1)
-- Admin replacer extension for Sokomine's replacer mod -- Admin replacer extension for Sokomine's replacer mod
-- range was added and texture updated. -- range was added and texture updated.
-- Everything else below is code by Sokomine. -- Everything else below is code written by Sokomine.
minetest.register_tool( ":replacer:replacer_admin", -- https://github.com/Sokomine/replacer
{
description = "Admin node replacement tool", minetest.register_tool( ":replacer:replacer_admin", {
groups = {}, description = "Admin node replacement tool",
inventory_image = "replacer_replacer_admin.png", groups = {},
wield_image = "", inventory_image = "replacer_replacer_admin.png",
wield_scale = {x=1,y=1,z=1}, wield_image = "",
stack_max = 1, -- it has to store information - thus only one can be stacked wield_scale = {x=1,y=1,z=1},
liquids_pointable = true, -- it is ok to painit in/with water stack_max = 1,
node_placement_prediction = nil, liquids_pointable = true,
metadata = "default:dirt", -- default replacement: common dirt node_placement_prediction = nil,
range = 12, range = 12,
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
if( placer == nil or pointed_thing == nil) then
if( placer == nil or pointed_thing == nil) then return itemstack;
return itemstack; -- nothing consumed end
end local name = placer:get_player_name();
local name = placer:get_player_name(); local keys=placer:get_player_control();
if( not( keys["sneak"] ) and not( keys["aux1"])) then
local keys=placer:get_player_control(); return replacer.replace( itemstack, placer, pointed_thing, 0 ); end
if( pointed_thing.type ~= "node" ) then
if( not( keys["sneak"] )) then minetest.chat_send_player( name, " Error: No node selected.");
return nil;
return replacer.replace( itemstack, placer, pointed_thing, 0 ); end end
local pos = minetest.get_pointed_thing_position( pointed_thing, false );
local node = minetest.get_node_or_nil( pos );
if( pointed_thing.type ~= "node" ) then
minetest.chat_send_player( name, " Error: No node selected."); local pattern = "default:dirt 0 0";
return nil; if( node ~= nil and node.name ) then
end pattern = node.name..' '..node.param1..' '..node.param2;
end
local pos = minetest.get_pointed_thing_position( pointed_thing, under ); return replacer.set_to(name, pattern, placer, itemstack)
local node = minetest.env:get_node_or_nil( pos ); end,
on_use = function(itemstack, user, pointed_thing)
local metadata = "default:dirt 0 0"; return replacer.replace( itemstack, user, pointed_thing, false );
if( node ~= nil and node.name ) then end,
metadata = node.name..' '..node.param1..' '..node.param2; })
end \ No newline at end of file
itemstack:set_metadata( metadata );
minetest.chat_send_player( name, "Node replacement tool set to: '"..metadata.."'.");
return itemstack; -- nothing consumed but data changed
end,
on_use = function(itemstack, user, pointed_thing)
return replacer.replace( itemstack, user, pointed_thing, above );
end,
})