Compare commits

...

104 Commits

Author SHA1 Message Date
TheOnlyJoeEnderman 5879e3b0fb add paintbrush 2024-01-05 17:45:19 +00:00
TheOnlyJoeEnderman 0d1cd8d748 add paintbrush 2024-01-05 17:40:52 +00:00
TheOnlyJoeEnderman 8f563c8dfb Fix critical registration bug 2023-06-02 23:40:11 +00:00
TheOnlyJoeEnderman 2bc80c9e49 Upload files to '' 2023-04-03 02:12:03 +00:00
TheOnlyJoeEnderman 6f5eba27ad Upload files to '' 2023-04-03 01:17:32 +00:00
TheOnlyJoeEnderman f0cf412403 Upload files to 'textures' 2023-04-03 01:17:11 +00:00
TheOnlyJoeEnderman 09bd129bd5 Upload files to 'textures' 2023-04-03 01:17:00 +00:00
TheOnlyJoeEnderman 669032f92a Delete 'textures/paintings_lib_4x4_the_wreckage.png' 2023-04-03 00:54:19 +00:00
TheOnlyJoeEnderman 6c30bff098 Delete 'textures/paintings_lib_4x4_the_machine.png' 2023-04-03 00:54:13 +00:00
TheOnlyJoeEnderman 9eb01e7585 Delete 'textures/paintings_lib_4x4_skeleton_flowers.png' 2023-04-03 00:54:07 +00:00
TheOnlyJoeEnderman 028cdba154 Delete 'textures/paintings_lib_4x4_map_2.png' 2023-04-03 00:54:02 +00:00
TheOnlyJoeEnderman 88445afd87 Delete 'textures/paintings_lib_4x4_city_lights.png' 2023-04-03 00:53:57 +00:00
TheOnlyJoeEnderman 8bbaaa1fda Delete 'textures/paintings_lib_4x3_tv_portal.png' 2023-04-03 00:53:52 +00:00
TheOnlyJoeEnderman fe9ea1683b Delete 'textures/paintings_lib_4x3_still_life.png' 2023-04-03 00:53:46 +00:00
TheOnlyJoeEnderman 713f42b19d Delete 'textures/paintings_lib_4x3_neon_planets.png' 2023-04-03 00:53:39 +00:00
TheOnlyJoeEnderman 54e6810691 Delete 'textures/paintings_lib_4x3_neon_city.png' 2023-04-03 00:53:33 +00:00
TheOnlyJoeEnderman fed2333cfc Delete 'textures/paintings_lib_4x3_dust_storm.png' 2023-04-03 00:53:24 +00:00
TheOnlyJoeEnderman df1a987122 Delete 'textures/paintings_lib_4x3_autumn.png' 2023-04-03 00:53:19 +00:00
TheOnlyJoeEnderman daed88c9a4 Delete 'textures/paintings_lib_4x2_ruins.png' 2023-04-03 00:53:13 +00:00
TheOnlyJoeEnderman 3d18377be4 Delete 'textures/paintings_lib_4x2_mountain_landscape_2.png' 2023-04-03 00:53:07 +00:00
TheOnlyJoeEnderman de187d3f39 Delete 'textures/paintings_lib_4x2_leaves.png' 2023-04-03 00:53:02 +00:00
TheOnlyJoeEnderman c1d827c69d Delete 'textures/paintings_lib_3x3_tree.png' 2023-04-03 00:52:56 +00:00
TheOnlyJoeEnderman 058aee2d05 Delete 'textures/paintings_lib_3x3_sunrise.png' 2023-04-03 00:52:52 +00:00
TheOnlyJoeEnderman 28d0a66834 Delete 'textures/paintings_lib_3x3_skull_roses.png' 2023-04-03 00:52:46 +00:00
TheOnlyJoeEnderman be9952b812 Delete 'textures/paintings_lib_3x3_seafloor_2.png' 2023-04-03 00:52:41 +00:00
TheOnlyJoeEnderman 6d41e134f3 Delete 'textures/paintings_lib_3x3_portrait.png' 2023-04-03 00:52:36 +00:00
TheOnlyJoeEnderman 30e4a466c4 Delete 'textures/paintings_lib_3x3_map.png' 2023-04-03 00:52:31 +00:00
TheOnlyJoeEnderman 34df1b1572 Delete 'textures/paintings_lib_3x3_gooseberry.png' 2023-04-03 00:52:23 +00:00
TheOnlyJoeEnderman f9b3653064 Delete 'textures/paintings_lib_3x3_fantasy_forest.png' 2023-04-03 00:52:17 +00:00
TheOnlyJoeEnderman 00cb9d8860 Delete 'textures/paintings_lib_3x3_circuit_city.png' 2023-04-03 00:52:12 +00:00
TheOnlyJoeEnderman 75269403b8 Delete 'textures/paintings_lib_3x2_the_lake.png' 2023-04-03 00:52:07 +00:00
TheOnlyJoeEnderman eccd694ccb Delete 'textures/paintings_lib_3x2_skull_sea.png' 2023-04-03 00:52:02 +00:00
TheOnlyJoeEnderman fcd8964a2c Delete 'textures/paintings_lib_3x2_solar_flare.png' 2023-04-03 00:51:57 +00:00
TheOnlyJoeEnderman 90018b21ad Delete 'textures/paintings_lib_3x2_japan.png' 2023-04-03 00:51:52 +00:00
TheOnlyJoeEnderman ae5c999f22 Delete 'textures/paintings_lib_3x2_galaxy.png' 2023-04-03 00:51:46 +00:00
TheOnlyJoeEnderman 405b20bfd9 Delete 'textures/paintings_lib_3x2_future_ruins.png' 2023-04-03 00:51:40 +00:00
TheOnlyJoeEnderman 3322b8b3cb Delete 'textures/paintings_lib_3x2_billboard.png' 2023-04-03 00:51:35 +00:00
TheOnlyJoeEnderman 6d99f08a77 Delete 'textures/paintings_lib_2x2_utah.png' 2023-04-03 00:51:29 +00:00
TheOnlyJoeEnderman 1b3d732bb6 Delete 'textures/paintings_lib_2x2_the_walk.png' 2023-04-03 00:51:24 +00:00
TheOnlyJoeEnderman 1720da6853 Delete 'textures/paintings_lib_2x2_skull_cuttingboard.png' 2023-04-03 00:51:19 +00:00
TheOnlyJoeEnderman 20be5c5b7e Delete 'textures/paintings_lib_2x2_fishbowl.png' 2023-04-03 00:51:14 +00:00
TheOnlyJoeEnderman 485830c40d Delete 'textures/paintings_lib_2x2_abstract_man.png' 2023-04-03 00:51:07 +00:00
TheOnlyJoeEnderman 7607eee421 Delete 'textures/paintings_lib_2x1_valley_2.png' 2023-04-03 00:51:01 +00:00
TheOnlyJoeEnderman 7e38409579 Delete 'textures/paintings_lib_2x1_seafloor.png' 2023-04-03 00:50:56 +00:00
TheOnlyJoeEnderman 8a605bd2ac Delete 'textures/paintings_lib_2x2_fishbowl_2.png' 2023-04-03 00:50:51 +00:00
TheOnlyJoeEnderman aaac2b3037 Delete 'textures/paintings_lib_2x2_king.png' 2023-04-03 00:50:46 +00:00
TheOnlyJoeEnderman 209dc1754e Delete 'textures/paintings_lib_2x1_mountain_landscape.png' 2023-04-03 00:50:42 +00:00
TheOnlyJoeEnderman a72fb63d70 Delete 'textures/paintings_lib_2x1_metal_river.png' 2023-04-03 00:50:36 +00:00
TheOnlyJoeEnderman 3a60b1d832 Delete 'textures/paintings_lib_2x1_aurora.png' 2023-04-03 00:50:31 +00:00
TheOnlyJoeEnderman 41cf4fad8e Delete 'textures/paintings_lib_1x2_octopus.png' 2023-04-03 00:50:25 +00:00
TheOnlyJoeEnderman 224968a545 Delete 'textures/paintings_lib_1x2_metal_sky.png' 2023-04-03 00:50:20 +00:00
TheOnlyJoeEnderman 700617cafe Delete 'textures/paintings_lib_1x2_hungry.png' 2023-04-03 00:50:15 +00:00
TheOnlyJoeEnderman b7c3bb7c9f Delete 'textures/paintings_lib_1x2_abstract_expression.png' 2023-04-03 00:50:10 +00:00
TheOnlyJoeEnderman a47d682d2e Delete 'textures/paintings_lib_1x1_valley.png' 2023-04-03 00:50:05 +00:00
TheOnlyJoeEnderman b83aece7c8 Delete 'textures/paintings_lib_1x1_ufo.png' 2023-04-03 00:50:00 +00:00
TheOnlyJoeEnderman f566ba089e Delete 'textures/paintings_lib_1x1_the_darkness.png' 2023-04-03 00:49:55 +00:00
TheOnlyJoeEnderman 81f4aae363 Delete 'textures/paintings_lib_1x1_seaside_paradise.png' 2023-04-03 00:49:49 +00:00
TheOnlyJoeEnderman 97b52e7eb8 Delete 'textures/paintings_lib_1x1_roses.png' 2023-04-03 00:49:41 +00:00
TheOnlyJoeEnderman 395787ac30 move to seperate mod 2023-04-03 00:49:35 +00:00
TheOnlyJoeEnderman 23d77b23eb move to seperate mod 2023-04-03 00:49:22 +00:00
TheOnlyJoeEnderman 81b69dde9d move to seperate mod 2023-04-03 00:49:12 +00:00
TheOnlyJoeEnderman 0028937e86 move to seperate mod 2023-04-03 00:49:02 +00:00
TheOnlyJoeEnderman d45aec7a5d Delete 'textures/paintings_lib_1x1_blue_vase.png' 2023-04-03 00:48:47 +00:00
TheOnlyJoeEnderman e5330e6565 0.0.2 2023-04-03 00:48:29 +00:00
TheOnlyJoeEnderman 4fea7e0781 0.0.2 2023-04-03 00:48:16 +00:00
TheOnlyJoeEnderman f46ad83526 0.0.1 2023-03-31 01:39:48 +00:00
TheOnlyJoeEnderman 3b2fc6df39 0.0.1 2023-03-31 01:39:34 +00:00
TheOnlyJoeEnderman 80ce7f278e 0.0.1 2023-03-31 01:37:49 +00:00
TheOnlyJoeEnderman 7be73045c9 0.0.1 2023-03-31 01:37:10 +00:00
TheOnlyJoeEnderman 0fe00c3d82 0.0.1 2023-03-31 01:35:42 +00:00
TheOnlyJoeEnderman 2c2b4f9999 0.0.1 2023-03-31 01:35:26 +00:00
TheOnlyJoeEnderman aa6fa5faa0 0.0.1 2023-03-31 01:35:11 +00:00
TheOnlyJoeEnderman 6234f5f63a 0.0.1 2023-03-31 01:34:56 +00:00
TheOnlyJoeEnderman 8d56d5d3c3 0.0.1 2023-03-31 01:34:40 +00:00
TheOnlyJoeEnderman da0f4bf653 0.0.1 2023-03-31 01:34:26 +00:00
TheOnlyJoeEnderman 49cce41061 0.0.1 2023-03-31 01:34:10 +00:00
TheOnlyJoeEnderman f250727ca7 0.0.1 2023-03-31 01:33:54 +00:00
TheOnlyJoeEnderman 11aefba552 0.0.1 2023-03-31 01:33:40 +00:00
TheOnlyJoeEnderman e85d1732c8 0.0.1 2023-03-31 01:33:23 +00:00
TheOnlyJoeEnderman 580ad8a82c 0.0.1 2023-03-31 01:33:08 +00:00
TheOnlyJoeEnderman a39b9e9da8 Delete 'textures/paintings_lib_fantasy_forest.png' 2023-03-31 01:32:53 +00:00
TheOnlyJoeEnderman 99b8327811 Delete 'textures/paintings_lib_fishbowl.png' 2023-03-31 01:32:46 +00:00
TheOnlyJoeEnderman a9deabe467 Delete 'textures/paintings_lib_fishbowl_2.png' 2023-03-31 01:32:39 +00:00
TheOnlyJoeEnderman 85a3121fc6 Delete 'textures/paintings_lib_future_ruins.png' 2023-03-31 01:32:31 +00:00
TheOnlyJoeEnderman 38cdc9206e Delete 'textures/paintings_lib_gooseberry.png' 2023-03-31 01:32:24 +00:00
TheOnlyJoeEnderman 55c692ab64 Delete 'textures/paintings_lib_highway.png' 2023-03-31 01:32:16 +00:00
TheOnlyJoeEnderman af4fee558c Delete 'textures/paintings_lib_hungry.png' 2023-03-31 01:32:10 +00:00
TheOnlyJoeEnderman 16f7b1d4a4 Delete 'textures/paintings_lib_lit_vase.png' 2023-03-31 01:32:03 +00:00
TheOnlyJoeEnderman c565cc7b43 Delete 'textures/paintings_lib_mountain_landscape.png' 2023-03-31 01:31:57 +00:00
TheOnlyJoeEnderman 425db55c43 Delete 'textures/paintings_lib_ocean_rock.png' 2023-03-31 01:31:50 +00:00
TheOnlyJoeEnderman 4edcc61eb3 Delete 'textures/paintings_lib_roses.png' 2023-03-31 01:31:43 +00:00
TheOnlyJoeEnderman df19e5535f Delete 'textures/paintings_lib_seafloor.png' 2023-03-31 01:31:37 +00:00
TheOnlyJoeEnderman 1ce4e691cc Delete 'textures/paintings_lib_seafloor_2.png' 2023-03-31 01:31:29 +00:00
TheOnlyJoeEnderman 218acd52bf Delete 'textures/paintings_lib_seaside_paradise.png' 2023-03-31 01:31:22 +00:00
TheOnlyJoeEnderman 4f9530ff18 Delete 'textures/paintings_lib_skull_cuttingboard.png' 2023-03-31 01:31:14 +00:00
TheOnlyJoeEnderman e2b17fa069 Delete 'textures/paintings_lib_solar_flare.png' 2023-03-31 01:31:04 +00:00
TheOnlyJoeEnderman 271e6e8ecc Delete 'textures/paintings_lib_sunrise.png' 2023-03-31 01:30:58 +00:00
TheOnlyJoeEnderman 5f353e2fe0 Delete 'textures/paintings_lib_the_walk.png' 2023-03-31 01:30:51 +00:00
TheOnlyJoeEnderman f8e9116e8e Delete 'textures/paintings_lib_utah.png' 2023-03-31 01:30:44 +00:00
TheOnlyJoeEnderman ac55ca4605 Delete 'textures/paintings_lib_valley.png' 2023-03-31 01:30:37 +00:00
TheOnlyJoeEnderman 1aadb40113 Upload files to 'textures' 2023-03-31 01:30:29 +00:00
TheOnlyJoeEnderman 74bc70c716 Delete 'textures/paintings_lib_blue_vase.png' 2023-03-31 01:29:51 +00:00
TheOnlyJoeEnderman c851d4fbe3 Delete 'textures/paintings_lib_billboard.png' 2023-03-31 01:29:42 +00:00
TheOnlyJoeEnderman 4051e08c1b rename all paintings 2023-03-31 01:29:35 +00:00
42 changed files with 838 additions and 82 deletions

View File

@ -1,4 +1,4 @@
# Paintings Library
####
Attempts to make it easy to add many paintings of various sizes whilst adding several example paintings.
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.

View File

@ -6,3 +6,94 @@ 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,3 +3,4 @@ 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

@ -0,0 +1,197 @@
# 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

@ -0,0 +1,197 @@
# 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

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

View File

@ -3,139 +3,217 @@ paintings_name = {}
paintings_texture = {}
-- define the node registration function
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
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
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = name.." Painting",
description = display_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},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
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.register_painting1x2(name, texture)
local node_name = "paintings_lib:1x2_"..name
paintings_name["1x2"] = paintings_name["1x2"] or {}
paintings_name["1x2"][name] = node_name
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
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = name.." Painting",
description = display_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},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
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.register_painting2x1(name, texture)
local node_name = "paintings_lib:2x1_"..name
paintings_name["2x1"] = paintings_name["2x1"] or {}
paintings_name["2x1"][name] = node_name
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
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = name.." Painting",
description = display_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},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
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.register_painting2x2(name, texture)
local node_name = "paintings_lib:2x2_"..name
paintings_name["2x2"] = paintings_name["2x2"] or {}
paintings_name["2x2"][name] = node_name
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
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = name.." Painting",
description = display_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},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
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.register_painting3x2(name, texture)
local node_name = "paintings_lib:3x2_"..name
paintings_name["3x2"] = paintings_name["3x2"] or {}
paintings_name["3x2"][name] = node_name
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
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = name.." Painting",
description = display_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},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
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.register_painting3x3(name, texture)
local node_name = "paintings_lib:3x3_"..name
paintings_name["3x3"] = paintings_name["3x3"] or {}
paintings_name["3x3"][name] = node_name
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
paintings_texture[node_name] = texture
-- register the node
minetest.register_node(node_name, {
description = name.." Painting",
description = display_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},
paramtype2 = "facedir",
walkable = false,
sunlight_propagates = true,
groups = {choppy = 3, oddly_breakable_by_hand = 3},
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},
sounds = default.node_sound_wood_defaults(),
})
end

2
settingtypes.txt Normal file
View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB