Compare commits

...

5 Commits

Author SHA1 Message Date
Don 9288e8d3be
Merge pull request #1 from AntumMT/settings
Update to use Minetest 0.4.16 settings API
2017-11-16 19:50:43 -08:00
Jordan Irwin 10a5359d02 Update to use Minetest 0.4.16 settings API 2017-08-27 20:10:17 -07:00
Samuel Sieb c1d4dd5f5c add scraper to remove paint from items 2016-03-25 14:02:07 -07:00
DonBatman 926bd4cec2 Added scraper image 2016-03-25 10:15:43 -07:00
DonBatman cdb022072b Added a clear color 2016-03-25 07:53:31 -07:00
3 changed files with 44 additions and 15 deletions

View File

@ -7,8 +7,8 @@ mypaint.colors = {
blue = {"Blue", "0000ff"},
brown = {"Brown", "190B07"},
cyan = {"Cyan", "00ffff"},
darkgreen = {"Dark Green", "005000"},
darkgrey = {"Dark Grey", "1C1C1C"},
darkgreen = {"Dark Green", "005000"},
darkgrey = {"Dark Grey", "1C1C1C"},
grey = {"Grey", "848484"},
magenta = {"Magenta", "ff00ff"},
orange = {"Orange", "ff7700"},

View File

@ -9,7 +9,7 @@ function check_paintcan(pos, node)
local color = string.sub(name, 15)
local meta = minetest.get_meta(pos)
stack = ItemStack("mypaint:brush_"..color)
if minetest.setting_getbool("creative_mode") then
if minetest.settings:get_bool("creative_mode") then
return stack
end
local uses = meta:get_int("mypaint:uses") - 1
@ -28,8 +28,9 @@ function paint_node(pos, node, col, itemstack)
local s, e
local nname = node.name
s, e = string.find(nname, "_[^_]+$")
local color
if s and e then
local color = string.sub(nname, s + 1, e)
color = string.sub(nname, s + 1, e)
if mypaint.colors[color] then
nname = string.sub(nname, 1, s - 1)
if color == col then
@ -40,18 +41,25 @@ function paint_node(pos, node, col, itemstack)
for name, colors in pairs(mypaint.paintables) do
if (nname == name) then
if colors[col] then
minetest.set_node(pos,{name = name.."_"..col, param2 = node.param2})
if not minetest.setting_getbool("creative_mode") then
local wear = itemstack:get_wear() + 65535 / BRUSH_USES
if wear < 65535 then
itemstack:set_wear(wear)
else
itemstack = ItemStack("mypaint:brush")
end
if not col then
if color then
minetest.set_node(pos, {name = name, param2 = node.param2})
end
return
end
if not colors[col] then
return
end
minetest.set_node(pos, {name = name.."_"..col, param2 = node.param2})
if not minetest.settings:get_bool("creative_mode") then
local wear = itemstack:get_wear() + 65535 / BRUSH_USES
if wear < 65535 then
itemstack:set_wear(wear)
else
itemstack = ItemStack("mypaint:brush")
end
return itemstack
end
return itemstack
end
end
end
@ -72,6 +80,19 @@ minetest.register_tool("mypaint:brush", {
end
})
minetest.register_tool("mypaint:scraper", {
description = "Paint Scraper",
inventory_image = "mypaint_scraper.png",
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type ~= "node" then
return
end
local pos = pointed_thing.under
local node = minetest.get_node(pos)
return paint_node(pos, node, nil, itemstack)
end
})
for color, entry in pairs(mypaint.colors) do
local desc = entry[1]
local cstring = entry[2]
@ -141,7 +162,7 @@ for color, entry in pairs(mypaint.colors) do
local pname = "mypaint:paint_"..color
local paint = ItemStack(pname)
paint = minetest.item_place_node(paint, user, pointed_thing)
if not minetest.setting_getbool("creative_mode") then
if not minetest.settings:get_bool("creative_mode") then
if not paint or (paint:get_count() > 0) then
return
end
@ -182,3 +203,11 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'mypaint:scraper',
recipe = {
{'default:steel_ingot', ''},
{'', 'group:stick'},
}
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 B