Compare commits

..

No commits in common. "master" and "Pre-Alpha_0.0.0" have entirely different histories.

42 changed files with 82 additions and 838 deletions

View File

@ -1,4 +1,4 @@
# Paintings Library
####
Attempts to make it easy to add many paintings of various sizes. Now a paintbrush is included to cycle all paintings at random. You do not have to make your own painting recipes anymore if you do not want to.
Attempts to make it easy to add many paintings of various sizes whilst adding several example paintings.

View File

@ -6,94 +6,3 @@ local default_path = minetest.get_modpath("paintings_lib")
dofile(minetest.get_modpath("paintings_lib") .. "/register.lua")
dofile(minetest.get_modpath("paintings_lib") .. "/paintings.lua")
-- Global variable to hold the list of painting nodes
local painting_nodes = {}
-- Function to populate the painting nodes list
local function populate_painting_nodes()
for name, def in pairs(minetest.registered_nodes) do
if def.groups.painting then
table.insert(painting_nodes, name)
end
end
end
-- Register the function to be called after all mods have loaded
minetest.register_on_mods_loaded(populate_painting_nodes)
-- Call the function to populate the list at server start
populate_painting_nodes()
-- Retrieve the number of uses from settings
local paintbrush_uses = tonumber(minetest.settings:get("paintings_lib_paintbrush_uses")) or 32
-- Register the paintbrush tool
minetest.register_tool("paintings_lib:paintbrush", {
description = "Paintbrush",
inventory_image = "paintings_lib_paintbrush.png",
wield_image = "paintings_lib_paintbrush.png^[transformFX"
})
-- Function to swap the node and wear out the paintbrush
local function swap_node(pos, node, clicker)
local wielded_item = clicker:get_wielded_item()
if wielded_item:get_name() ~= "paintings_lib:paintbrush" then
return
end
if #painting_nodes > 0 then
local new_node_name = node.name
local attempts = 0
-- Loop until a different painting is found or after 10 attempts
while new_node_name == node.name and attempts < 10 do
new_node_name = painting_nodes[math.random(#painting_nodes)]
attempts = attempts + 1
end
if new_node_name ~= node.name then
minetest.swap_node(pos, {name = new_node_name})
-- Adding wear to the paintbrush
wielded_item:add_wear(65535 / paintbrush_uses)
clicker:set_wielded_item(wielded_item)
end
end
end
-- Override the on_rightclick for nodes in the "painting" group
minetest.register_on_punchnode(function(pos, node, clicker, pointed_thing)
if minetest.get_item_group(node.name, "painting") > 0 then
swap_node(pos, node, clicker)
end
end)
-- Crafting recipe to 'refill' the paintbrush
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
local paintbrush_found, dye_found = false, false
for _, item in ipairs(old_craft_grid) do
if item:get_name() == "paintings_lib:paintbrush" then
paintbrush_found = true
-- Fully repair the paintbrush
itemstack:add_wear(-65535)
end
if minetest.get_item_group(item:get_name(), "dye") > 0 then
dye_found = true
end
end
if paintbrush_found and dye_found then
return itemstack
end
end)
minetest.register_craft({
type = "shapeless",
output = "paintings_lib:paintbrush",
recipe = {
"paintings_lib:paintbrush",
"group:dye", "group:dye", "group:dye", "group:dye",
"group:dye", "group:dye", "group:dye", "group:dye"
}
})

View File

@ -3,4 +3,3 @@ title = Paintings Library
description = A fast, sleek, modern painting API for Minetest Game, but optional support for other games.
depends = default
min_minetest_version = 5.3
author = JoeEnderman

View File

@ -1,197 +0,0 @@
# Made in Blockbench 4.6.5
mtllib paintings_lib_4x2.mtl
o plane
v -2.5 -1.4999999999999984 0.4843750000000029
v -2.5 0.5000000000000016 0.4843749999999962
v 1.5 -1.4999999999999982 0.48437500000000333
v 1.5 0.5000000000000018 0.48437499999999667
vt 0.984375 0
vt 1 1
vt 0 1
vt 0 0
vn 1.2246467991473532e-16 -3.3306690738754696e-15 -1
usemtl m_1301f86f-a555-6fc1-cf6a-0628584373f3
f 1/1/1 2/2/1 4/3/1 3/4/1
o cube
v -2.4375 0.5 0.5
v -2.4375 0.5 0.4375
v -2.4375 -1.5 0.5
v -2.4375 -1.5 0.4375
v -2.5 0.5 0.5
v -2.5 0.5 0.4375
v -2.5 -1.5 0.5
v -2.5 -1.5 0.4375
v 1.4375 -1.4375 0.5
v 1.4375 -1.4375 0.4375
v 1.4375 -1.5 0.5
v 1.4375 -1.5 0.4375
v -2.4375 -1.4375 0.5
v -2.4375 -1.4375 0.4375
v -2.4375 -1.5 0.5
v -2.4375 -1.5 0.4375
v 1.4375 0.5 0.5
v 1.4375 0.5 0.4375
v 1.4375 0.4375 0.5
v 1.4375 0.4375 0.4375
v -2.4375 0.5 0.5
v -2.4375 0.5 0.4375
v -2.4375 0.4375 0.5
v -2.4375 0.4375 0.4375
v 1.5 0.5 0.5
v 1.5 0.5 0.4375
v 1.5 -1.5 0.5
v 1.5 -1.5 0.4375
v 1.4375 0.5 0.5
v 1.4375 0.5 0.4375
v 1.4375 -1.5 0.5
v 1.4375 -1.5 0.4375
vt 1 0
vt 1 1
vt 0.984375 1
vt 0.984375 0
vt 1 0
vt 1 1
vt 0.984375 1
vt 0.984375 0
vt 0.015625 0.96875
vt 0.015625 1
vt 0 1
vt 0 0.96875
vt 0.015625 0.96875
vt 0.015625 1
vt 0 1
vt 0 0.96875
vt 1 0
vt 1 1
vt 0.984375 1
vt 0.984375 0
vt 1 0
vt 1 1
vt 0.984375 1
vt 0.984375 0
vt 0.015625 0.96875
vt 0.015625 1
vt 0 1
vt 0 0.96875
vt 0.015625 0.96875
vt 0.015625 1
vt 0 1
vt 0 0.96875
vt 0.984375 0
vt 0.984375 0.03125
vt 0.015625 0.03125
vt 0.015625 0
vt 0.984375 0
vt 0.984375 0.03125
vt 0.015625 0.03125
vt 0.015625 0
vt 0.984375 0
vt 0.984375 0.03125
vt 0.015625 0.03125
vt 0.015625 0
vt 0.984375 0
vt 0.984375 0.03125
vt 0.015625 0.03125
vt 0.015625 0
vt 0.015625 0.96875
vt 0.015625 1
vt 0 1
vt 0 0.96875
vt 0.015625 0.96875
vt 0.015625 1
vt 0 1
vt 0 0.96875
vt 0.984375 0.96875
vt 0.984375 1
vt 0.015625 1
vt 0.015625 0.96875
vt 0.984375 0.96875
vt 0.984375 1
vt 0.015625 1
vt 0.015625 0.96875
vt 0.984375 0.96875
vt 0.984375 1
vt 0.015625 1
vt 0.015625 0.96875
vt 0.984375 0.96875
vt 0.984375 1
vt 0.015625 1
vt 0.015625 0.96875
vt 0.015625 0
vt 0.015625 1
vt 0 1
vt 0 0
vt 0.015625 0
vt 0.015625 1
vt 0 1
vt 0 0
vt 0.015625 0.96875
vt 0.015625 1
vt 0 1
vt 0 0.96875
vt 0.015625 0.96875
vt 0.015625 1
vt 0 1
vt 0 0.96875
vt 0.015625 0
vt 0.015625 1
vt 0 1
vt 0 0
vt 0.015625 0
vt 0.015625 1
vt 0 1
vt 0 0
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
usemtl m_190a9590-f98a-f621-d3b2-5a8eb48cedc5
f 8/5/2 6/6/2 5/7/2 7/8/2
f 11/9/3 9/10/3 10/11/3 12/12/3
f 5/13/4 6/14/4 10/15/4 9/16/4
f 8/17/5 7/18/5 11/19/5 12/20/5
f 7/21/6 5/22/6 9/23/6 11/24/6
f 12/25/7 10/26/7 6/27/7 8/28/7
usemtl none
f 16/29/8 14/30/8 13/31/8 15/32/8
f 19/33/9 17/34/9 18/35/9 20/36/9
usemtl m_190a9590-f98a-f621-d3b2-5a8eb48cedc5
f 13/37/10 14/38/10 18/39/10 17/40/10
f 16/41/11 15/42/11 19/43/11 20/44/11
f 15/45/12 13/46/12 17/47/12 19/48/12
f 20/49/13 18/50/13 14/51/13 16/52/13
usemtl none
f 24/53/14 22/54/14 21/55/14 23/56/14
f 27/57/15 25/58/15 26/59/15 28/60/15
usemtl m_190a9590-f98a-f621-d3b2-5a8eb48cedc5
f 21/61/16 22/62/16 26/63/16 25/64/16
f 24/65/17 23/66/17 27/67/17 28/68/17
f 23/69/18 21/70/18 25/71/18 27/72/18
f 28/73/19 26/74/19 22/75/19 24/76/19
f 32/77/20 30/78/20 29/79/20 31/80/20
f 35/81/21 33/82/21 34/83/21 36/84/21
f 29/85/22 30/86/22 34/87/22 33/88/22
f 32/89/23 31/90/23 35/91/23 36/92/23
f 31/93/24 29/94/24 33/95/24 35/96/24
f 36/97/25 34/98/25 30/99/25 32/100/25

View File

@ -1,197 +0,0 @@
# Made in Blockbench 4.6.5
mtllib paintings_lib_4x3.mtl
o plane
v -2.5 -1.4999999999999973 0.48437500000001055
v -2.5 1.5000000000000027 0.4843749999999939
v 1.5 -1.4999999999999973 0.484375000000011
v 1.5 1.5000000000000027 0.48437499999999434
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vn 1.224646799147353e-16 -5.551115123125783e-15 -1
usemtl m_7731411c-b95b-ef82-bd57-fc430f3f360f
f 1/1/1 2/2/1 4/3/1 3/4/1
o cube
v -2.5 -1.5 0.5
v -2.4375 1.5 0.5
v -2.4375 1.5 0.4375
v -2.4375 -1.5 0.5
v -2.4375 -1.5 0.4375
v -2.5 1.5 0.5
v -2.5 1.5 0.4375
v -2.5 -1.5 0.4375
v 1.4375 -1.4375 0.5
v 1.4375 -1.4375 0.4375
v 1.4375 -1.5 0.5
v 1.4375 -1.5 0.4375
v -2.4375 -1.4375 0.5
v -2.4375 -1.4375 0.4375
v -2.4375 -1.5 0.5
v -2.4375 -1.5 0.4375
v 1.4375 1.5 0.5
v 1.4375 1.5 0.4375
v 1.4375 1.4375 0.5
v 1.4375 1.4375 0.4375
v -2.4375 1.5 0.5
v -2.4375 1.5 0.4375
v -2.4375 1.4375 0.5
v -2.4375 1.4375 0.4375
v 1.5 1.5 0.5
v 1.5 1.5 0.4375
v 1.5 -1.5 0.5
v 1.5 -1.5 0.4375
v 1.4375 1.5 0.5
v 1.4375 1.5 0.4375
v 1.4375 -1.5 0.5
v 1.4375 -1.5 0.4375
vt 1 0
vt 1 1
vt 0.984375 1
vt 0.984375 0
vt 1 0
vt 1 1
vt 0.984375 1
vt 0.984375 0
vt 0.015625 0.9791666666666666
vt 0.015625 1
vt 0 1
vt 0 0.9791666666666666
vt 0.015625 0.9791666666666666
vt 0.015625 1
vt 0 1
vt 0 0.9791666666666666
vt 1 0
vt 1 1
vt 0.984375 1
vt 0.984375 0
vt 1 0
vt 1 1
vt 0.984375 1
vt 0.984375 0
vt 0.015625 0.9791666666666666
vt 0.015625 1
vt 0 1
vt 0 0.9791666666666666
vt 0.015625 0.9791666666666666
vt 0.015625 1
vt 0 1
vt 0 0.9791666666666666
vt 0.984375 0
vt 0.984375 0.02083333333333337
vt 0.015625 0.02083333333333337
vt 0.015625 0
vt 0.984375 0
vt 0.984375 0.02083333333333337
vt 0.015625 0.02083333333333337
vt 0.015625 0
vt 0.984375 0
vt 0.984375 0.02083333333333337
vt 0.015625 0.02083333333333337
vt 0.015625 0
vt 0.984375 0
vt 0.984375 0.02083333333333337
vt 0.015625 0.02083333333333337
vt 0.015625 0
vt 0.015625 0.9791666666666666
vt 0.015625 1
vt 0 1
vt 0 0.9791666666666666
vt 0.015625 0.9791666666666666
vt 0.015625 1
vt 0 1
vt 0 0.9791666666666666
vt 0.984375 0.9791666666666666
vt 0.984375 1
vt 0.015625 1
vt 0.015625 0.9791666666666666
vt 0.984375 0.9791666666666666
vt 0.984375 1
vt 0.015625 1
vt 0.015625 0.9791666666666666
vt 0.984375 0.9791666666666666
vt 0.984375 1
vt 0.015625 1
vt 0.015625 0.9791666666666666
vt 0.984375 0.9791666666666666
vt 0.984375 1
vt 0.015625 1
vt 0.015625 0.9791666666666666
vt 0.015625 0
vt 0.015625 1
vt 0 1
vt 0 0
vt 0.015625 0
vt 0.015625 1
vt 0 1
vt 0 0
vt 0.015625 0.9791666666666666
vt 0.015625 1
vt 0 1
vt 0 0.9791666666666666
vt 0.015625 0.9791666666666666
vt 0.015625 1
vt 0 1
vt 0 0.9791666666666666
vt 0.015625 0
vt 0.015625 1
vt 0 1
vt 0 0
vt 0.015625 0
vt 0.015625 1
vt 0 1
vt 0 0
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
usemtl m_ec2c7198-dc86-c17f-923d-2128ca144c10
f 9/5/2 7/6/2 6/7/2 8/8/2
f 5/9/3 10/10/3 11/11/3 12/12/3
f 6/13/4 7/14/4 11/15/4 10/16/4
f 9/17/5 8/18/5 5/19/5 12/20/5
f 8/21/6 6/22/6 10/23/6 5/24/6
f 12/25/7 11/26/7 7/27/7 9/28/7
usemtl none
f 16/29/8 14/30/8 13/31/8 15/32/8
f 19/33/9 17/34/9 18/35/9 20/36/9
usemtl m_ec2c7198-dc86-c17f-923d-2128ca144c10
f 13/37/10 14/38/10 18/39/10 17/40/10
f 16/41/11 15/42/11 19/43/11 20/44/11
f 15/45/12 13/46/12 17/47/12 19/48/12
f 20/49/13 18/50/13 14/51/13 16/52/13
usemtl none
f 24/53/14 22/54/14 21/55/14 23/56/14
f 27/57/15 25/58/15 26/59/15 28/60/15
usemtl m_ec2c7198-dc86-c17f-923d-2128ca144c10
f 21/61/16 22/62/16 26/63/16 25/64/16
f 24/65/17 23/66/17 27/67/17 28/68/17
f 23/69/18 21/70/18 25/71/18 27/72/18
f 28/73/19 26/74/19 22/75/19 24/76/19
f 32/77/20 30/78/20 29/79/20 31/80/20
f 35/81/21 33/82/21 34/83/21 36/84/21
f 29/85/22 30/86/22 34/87/22 33/88/22
f 32/89/23 31/90/23 35/91/23 36/92/23
f 31/93/24 29/94/24 33/95/24 35/96/24
f 36/97/25 34/98/25 30/99/25 32/100/25

View File

@ -1,199 +0,0 @@
# Made in Blockbench 4.6.5
mtllib paintings_lib_4x4.mtl
o plane
v -2.5 -2.4999999999999973 0.4843750000000109
v -2.5 1.5000000000000027 0.4843749999999887
v 1.5 -2.4999999999999973 0.4843750000000113
v 1.5 1.5000000000000027 0.4843749999999891
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vn 1.2246467991473535e-16 -5.551115123125783e-15 -1
usemtl m_7754df98-0254-cac9-2828-f0abaaf4f8e6
f 1/1/1 2/2/1 4/3/1 3/4/1
o cube
v 1.5 1.4375 0.5
v 1.5 1.4375 0.4375
v 1.5 -2.4375 0.5
v 1.5 -2.4375 0.4375
v 1.4375 1.4375 0.5
v 1.4375 1.4375 0.4375
v 1.4375 -2.4375 0.5
v 1.4375 -2.4375 0.4375
v 1.5 -2.4375 0.5
v 1.5 -2.4375 0.4375
v 1.5 -2.5 0.5
v 1.5 -2.5 0.4375
v -2.5 -2.4375 0.5
v -2.5 -2.4375 0.4375
v -2.5 -2.5 0.5
v -2.5 -2.5 0.4375
v 1.5 1.5 0.5
v 1.5 1.5 0.4375
v 1.5 1.4375 0.5
v 1.5 1.4375 0.4375
v -2.5 1.5 0.5
v -2.5 1.5 0.4375
v -2.5 1.4375 0.5
v -2.5 1.4375 0.4375
v -2.4375 1.4375 0.5
v -2.4375 1.4375 0.4375
v -2.4375 -2.4375 0.5
v -2.4375 -2.4375 0.4375
v -2.5 1.4375 0.5
v -2.5 1.4375 0.4375
v -2.5 -2.4375 0.5
v -2.5 -2.4375 0.4375
vt 0.015625 0
vt 0.015625 0.96875
vt 0 0.96875
vt 0 0
vt 0.015625 0.015625
vt 0.015625 0.984375
vt 0 0.984375
vt 0 0.015625
vt 0.015625 0.984375
vt 0.015625 1
vt 0 1
vt 0 0.984375
vt 0.015625 0.984375
vt 0.015625 1
vt 0 1
vt 0 0.984375
vt 0.015625 0.015625
vt 0.015625 0.984375
vt 0 0.984375
vt 0 0.015625
vt 0.015625 0.015625
vt 0.015625 0.984375
vt 0 0.984375
vt 0 0.015625
vt 0.015625 0.984375
vt 0.015625 1
vt 0 1
vt 0 0.984375
vt 0.015625 0.984375
vt 0.015625 1
vt 0 1
vt 0 0.984375
vt 1 0
vt 1 0.015625
vt 0 0.015625
vt 0 0
vt 1 0
vt 1 0.015625
vt 0 0.015625
vt 0 0
vt 1 0
vt 1 0.015625
vt 0 0.015625
vt 0 0
vt 1 0
vt 1 0.015625
vt 0 0.015625
vt 0 0
vt 0.015625 0.984375
vt 0.015625 1
vt 0 1
vt 0 0.984375
vt 0.015625 0.984375
vt 0.015625 1
vt 0 1
vt 0 0.984375
vt 1 0.984375
vt 1 1
vt 0 1
vt 0 0.984375
vt 1 0.984375
vt 1 1
vt 0 1
vt 0 0.984375
vt 1 0.984375
vt 1 1
vt 0 1
vt 0 0.984375
vt 1 0.984375
vt 1 1
vt 0 1
vt 0 0.984375
vt 1 0.015625
vt 1 0.984375
vt 0.984375 0.984375
vt 0.984375 0.015625
vt 1 0.015625
vt 1 0.984375
vt 0.984375 0.984375
vt 0.984375 0.015625
vt 0.015625 0.984375
vt 0.015625 1
vt 0 1
vt 0 0.984375
vt 0.015625 0.984375
vt 0.015625 1
vt 0 1
vt 0 0.984375
vt 1 0.015625
vt 1 0.984375
vt 0.984375 0.984375
vt 0.984375 0.015625
vt 1 0.015625
vt 1 0.984375
vt 0.984375 0.984375
vt 0.984375 0.015625
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
vn 1 0 0
vn -1 0 0
vn 0 1 0
vn 0 -1 0
vn 0 0 1
vn 0 0 -1
usemtl m_a19191c5-dea6-c4da-33e1-a02fb515da85
f 8/5/2 6/6/2 5/7/2 7/8/2
f 11/9/3 9/10/3 10/11/3 12/12/3
usemtl none
f 5/13/4 6/14/4 10/15/4 9/16/4
f 8/17/5 7/18/5 11/19/5 12/20/5
usemtl m_a19191c5-dea6-c4da-33e1-a02fb515da85
f 7/21/6 5/22/6 9/23/6 11/24/6
f 12/25/7 10/26/7 6/27/7 8/28/7
f 16/29/8 14/30/8 13/31/8 15/32/8
f 19/33/9 17/34/9 18/35/9 20/36/9
f 13/37/10 14/38/10 18/39/10 17/40/10
f 16/41/11 15/42/11 19/43/11 20/44/11
f 15/45/12 13/46/12 17/47/12 19/48/12
f 20/49/13 18/50/13 14/51/13 16/52/13
f 24/53/14 22/54/14 21/55/14 23/56/14
f 27/57/15 25/58/15 26/59/15 28/60/15
f 21/61/16 22/62/16 26/63/16 25/64/16
f 24/65/17 23/66/17 27/67/17 28/68/17
f 23/69/18 21/70/18 25/71/18 27/72/18
f 28/73/19 26/74/19 22/75/19 24/76/19
usemtl none
f 32/77/20 30/78/20 29/79/20 31/80/20
usemtl m_a19191c5-dea6-c4da-33e1-a02fb515da85
f 35/81/21 33/82/21 34/83/21 36/84/21
usemtl none
f 29/85/22 30/86/22 34/87/22 33/88/22
f 32/89/23 31/90/23 35/91/23 36/92/23
usemtl m_a19191c5-dea6-c4da-33e1-a02fb515da85
f 31/93/24 29/94/24 33/95/24 35/96/24
f 36/97/25 34/98/25 30/99/25 32/100/25

View File

@ -1,36 +1,45 @@
paintings_lib.register_painting1x1("seaside_paradise", "paintings_lib_seaside_paradise.png^paintings_lib_frame1x1.png")
-- 1x1
paintings_lib.register_painting1x1("roses", "paintings_lib_roses.png^paintings_lib_frame1x1.png")
paintings_lib.register1x1("blank1x1", "Blank 1x1", "paintings_lib_blank_1x1.png^paintings_lib_frame1x1.png")
paintings_lib.register_painting1x1("blue_vase", "paintings_lib_blue_vase.png^paintings_lib_frame1x1.png")
-- 1x2
paintings_lib.register_painting1x1("lit_vase", "paintings_lib_lit_vase.png^paintings_lib_frame1x1.png")
paintings_lib.register1x2("blank1x2", "Blank 1x2", "paintings_lib_blank_1x2.png^paintings_lib_frame1x2.png")
paintings_lib.register_painting1x1("highway", "paintings_lib_highway.png^paintings_lib_frame1x1.png")
-- 2x1
paintings_lib.register_painting1x1("ocean_rock", "paintings_lib_ocean_rock.png^paintings_lib_frame1x1.png")
paintings_lib.register2x1("blank2x1", "Blank 2x1", "paintings_lib_blank_2x1.png^paintings_lib_frame2x1.png")
paintings_lib.register_painting1x1("valley", "paintings_lib_valley.png^paintings_lib_frame1x1.png")
-- 2x2
paintings_lib.register_painting1x2("abstract_expression", "paintings_lib_abstract_expression.png^paintings_lib_frame1x2.png")
paintings_lib.register2x2("blank2x2", "Blank 2x2", "paintings_lib_blank_2x2.png^paintings_lib_frame2x2.png")
paintings_lib.register_painting1x2("hungry", "paintings_lib_hungry.png^paintings_lib_frame1x2.png")
-- 3x2
paintings_lib.register_painting2x1("mountain_landscape", "paintings_lib_mountain_landscape.png^paintings_lib_frame2x1.png")
paintings_lib.register3x2("blank3x2", "Blank 3x2", "paintings_lib_blank_3x2.png^paintings_lib_frame3x2.png")
paintings_lib.register_painting2x1("seafloor", "paintings_lib_seafloor.png^paintings_lib_frame2x1.png")
--3x3
paintings_lib.register_painting2x2("fishbowl", "paintings_lib_fishbowl.png^paintings_lib_frame2x2.png")
paintings_lib.register3x3("blank3x3", "Blank 3x3", "paintings_lib_blank_3x3.png^paintings_lib_frame3x3.png")
paintings_lib.register_painting2x2("fishbowl_2", "paintings_lib_fishbowl_2.png^paintings_lib_frame2x2.png")
-- 4x2
paintings_lib.register_painting2x2("the_walk", "paintings_lib_the_walk.png^paintings_lib_frame2x2.png")
paintings_lib.register4x2("blank4x2", "Blank 4x2", "paintings_lib_blank_4x2.png^paintings_lib_frame4x2.png")
paintings_lib.register_painting2x2("skull_cuttingboard", "paintings_lib_skull_cuttingboard.png^paintings_lib_frame2x2.png")
-- 4x3
paintings_lib.register_painting2x2("utah", "paintings_lib_utah.png^paintings_lib_frame2x2.png")
paintings_lib.register4x3("blank4x3", "Blank 4x3", "paintings_lib_blank_4x3.png^paintings_lib_frame4x3.png")
paintings_lib.register_painting3x2("billboard", "paintings_lib_billboard.png^paintings_lib_frame3x2.png")
-- 4x4
paintings_lib.register_painting3x2("future_ruins", "paintings_lib_future_ruins.png^paintings_lib_frame3x2.png")
paintings_lib.register4x4("blank4x4", "Blank 4x4", "paintings_lib_blank_4x4.png^paintings_lib_frame4x4.png")
paintings_lib.register_painting3x2("solar_flare", "paintings_lib_solar_flare.png^paintings_lib_frame3x2.png")
paintings_lib.register_painting3x3("fantasy_forest", "paintings_lib_fantasy_forest.png^paintings_lib_frame3x3.png")
paintings_lib.register_painting3x3("gooseberry", "paintings_lib_gooseberry.png^paintings_lib_frame3x3.png")
paintings_lib.register_painting3x3("seafloor_2", "paintings_lib_seafloor_2.png^paintings_lib_frame3x3.png")
paintings_lib.register_painting3x3("sunrise", "paintings_lib_sunrise.png^paintings_lib_frame3x3.png")

View File

@ -3,217 +3,139 @@ paintings_name = {}
paintings_texture = {}
-- define the node registration function
function paintings_lib.register1x1(identifier, display_name, texture)
local node_name = ":paintings_lib:1x1_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["1x1"] = node_name
function paintings_lib.register_painting1x1(name, texture)
local node_name = "paintings_lib:1x1_"..name
paintings_name["1x1"] = paintings_name["1x1"] or {}
paintings_name["1x1"][name] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
description = name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_1x1"..".obj",
selection_box = {type = "fixed", fixed = {-0.5, -0.5, 0.4375, 0.5, 0.5, 0.5}},
collision_box = {type = "fixed", fixed = {-0.5, -0.5, 0.4375, 0.5, 0.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end
-- define the node registration function
function paintings_lib.register1x2(identifier, display_name, texture)
local node_name = ":paintings_lib:1x2_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["1x2"] = node_name
function paintings_lib.register_painting1x2(name, texture)
local node_name = "paintings_lib:1x2_"..name
paintings_name["1x2"] = paintings_name["1x2"] or {}
paintings_name["1x2"][name] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
description = name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_1x2"..".obj",
selection_box = {type = "fixed", fixed = {-0.5, -1.5, 0.4375, 0.5, 0.5, 0.5}},
collision_box = {type = "fixed", fixed = {-0.5, -1.5, 0.4375, 0.5, 0.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end
-- define the node registration function
function paintings_lib.register2x1(identifier, display_name, texture)
local node_name = ":paintings_lib:2x1_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["2x1"] = node_name
function paintings_lib.register_painting2x1(name, texture)
local node_name = "paintings_lib:2x1_"..name
paintings_name["2x1"] = paintings_name["2x1"] or {}
paintings_name["2x1"][name] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
description = name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_2x1"..".obj",
selection_box = {type = "fixed", fixed = {-0.5, -0.5, 0.4375, 1.5, 0.5, 0.5}},
collision_box = {type = "fixed", fixed = {-0.5, -0.5, 0.4375, 1.5, 0.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end
-- define the node registration function
function paintings_lib.register2x2(identifier, display_name, texture)
local node_name = ":paintings_lib:2x2_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["2x2"] = node_name
function paintings_lib.register_painting2x2(name, texture)
local node_name = "paintings_lib:2x2_"..name
paintings_name["2x2"] = paintings_name["2x2"] or {}
paintings_name["2x2"][name] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
description = name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_2x2"..".obj",
selection_box = {type = "fixed", fixed = {-0.5, -1.5, 0.4375, 1.5, 0.5, 0.5}},
collision_box = {type = "fixed", fixed = {-0.5, -1.5, 0.4375, 1.5, 0.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end
-- define the node registration function
function paintings_lib.register3x2(identifier, display_name, texture)
local node_name = ":paintings_lib:3x2_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["3x2"] = node_name
function paintings_lib.register_painting3x2(name, texture)
local node_name = "paintings_lib:3x2_"..name
paintings_name["3x2"] = paintings_name["3x2"] or {}
paintings_name["3x2"][name] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
description = name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_3x2"..".obj",
selection_box = {type = "fixed", fixed = {-1.5, -1.5, 0.4375, 1.5, 0.5, 0.5}},
collision_box = {type = "fixed", fixed = {-1.5, -1.5, 0.4375, 1.5, 0.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end
-- define the node registration function
function paintings_lib.register3x3(identifier, display_name, texture)
local node_name = ":paintings_lib:3x3_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["3x3"] = node_name
function paintings_lib.register_painting3x3(name, texture)
local node_name = "paintings_lib:3x3_"..name
paintings_name["3x3"] = paintings_name["3x3"] or {}
paintings_name["3x3"][name] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
description = name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_3x3"..".obj",
selection_box = {type = "fixed", fixed = {-1.5, -1.5, 0.4375, 1.5, 1.5, 0.5}},
collision_box = {type = "fixed", fixed = {-1.5, -1.5, 0.4375, 1.5, 1.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end
-- define the node registration function
function paintings_lib.register4x2(identifier, display_name, texture)
local node_name = ":paintings_lib:4x2_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["4x2"] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_4x2"..".obj",
selection_box = {type = "fixed", fixed = {-1.5, -1.5, 0.4375, 2.5, 0.5, 0.5}},
collision_box = {type = "fixed", fixed = {-1.5, -1.5, 0.4375, 2.5, 0.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end
-- define the node registration function
function paintings_lib.register4x3(identifier, display_name, texture)
local node_name = ":paintings_lib:4x3_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["4x3"] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_4x3"..".obj",
selection_box = {type = "fixed", fixed = {-1.5, -1.5, 0.4375, 2.5, 1.5, 0.5}},
collision_box = {type = "fixed", fixed = {-1.5, -1.5, 0.4375, 2.5, 1.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end
-- define the node registration function
function paintings_lib.register4x4(identifier, display_name, texture)
local node_name = ":paintings_lib:4x4_"..identifier:gsub("%s+", "_")
paintings_name[identifier] = paintings_name[identifier] or {}
paintings_name[identifier]["4x4"] = node_name
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = display_name.." Painting",
drawtype = "mesh",
mesh = "paintings_lib_4x4"..".obj",
selection_box = {type = "fixed", fixed = {-1.5, -2.5, 0.4375, 2.5, 1.5, 0.5}},
collision_box = {type = "fixed", fixed = {-1.5, -2.5, 0.4375, 2.5, 1.5, 0.5}},
tiles = {texture},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {painting = 1, choppy = 3, oddly_breakable_by_hand = 3},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_wood_defaults(),
})
end

View File

@ -1,2 +0,0 @@
# Number of uses for the paintbrush
paintings_lib_paintbrush_uses (Paintbrush uses) int 32 1 1000

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB