mirror of
https://github.com/pandorabox-io/banners.git
synced 2025-01-08 00:50:32 +01:00
8cc1c82717
* whitespace and minetest. -> core. - use same whitespace style throughout and fix some indents. - change from minetest. to core. namespace. * Update Readme: Minetest -> Luanti * add luacheck * update optional depends * luacheck cleanups - unused arguments - shaddowed vars - var redeclarations - some whitespace involved in above lines * clean close of file after reading * avoid duplicate code save some lines and some extra method calls. * avoid error: "unknown global" * stray whitespace fixups * whitespace: switch all files to same indent character tabs -> spaces * refactor weird declaration * whitespace: two stray spaces ...that slipped through the cracks on previous whitespace edit * fix shaddowing global table * reduce amount of times transformation string is calculated * use ipairs feature or use the faster repeat-until-loop * cap max amount of layers fixes #5 * fix #5 make transform history non-global fixes #5 transformation history was shared by all users and kept growing as it was never truely reset. Every time a user used a banner a white background was dumped on top of the stack making it possible to crash the server through an overflow to core.serialize() function. * minimize metadata size also changed banners.max_transformations to banners.max_undo_levels and lowered the value substantially. * add versioning * add recoverable per player history with saved colour * rename update_all -> update_preview_inv since it isn't updating everything, only the preview and the inventory item * dynamically update masks to reflect the currently selected colour.
54 lines
1.5 KiB
Lua
54 lines
1.5 KiB
Lua
-- da wooden banner
|
|
core.register_node("banners:wooden_banner", {
|
|
drawtype = "mesh",
|
|
mesh = "banner_support.x",
|
|
tiles = { "banner_support.png" },
|
|
description = "Wooden banner",
|
|
groups = { choppy = 2, dig_immediate = 2 },
|
|
is_ground_content = false,
|
|
diggable = true,
|
|
stack_max = 1,
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
after_place_node = function (pos, player, itemstack, pointed_thing)
|
|
banners.banner_after_place(pos, player, itemstack, pointed_thing)
|
|
end,
|
|
on_destruct = function(pos)
|
|
banners.banner_on_destruct(pos)
|
|
end,
|
|
on_use = function(i, p, pt)
|
|
banners.banner_on_use(i, p, pt)
|
|
end,
|
|
on_dig = function(pos, n, p)
|
|
banners.banner_on_dig(pos, n, p)
|
|
end
|
|
})
|
|
|
|
-- steel banner
|
|
core.register_node("banners:steel_banner", {
|
|
drawtype = "mesh",
|
|
mesh = "banner_support.x",
|
|
tiles = { "steel_support.png" },
|
|
description = "Steel banner",
|
|
groups = { cracky = 2 },
|
|
is_ground_content = false,
|
|
diggable = true,
|
|
stack_max = 1,
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
after_place_node = function (pos, player, itemstack, pointed_thing)
|
|
banners.banner_after_place(pos, player, itemstack, pointed_thing)
|
|
end,
|
|
on_destruct = function(pos)
|
|
banners.banner_on_destruct(pos)
|
|
end,
|
|
on_use = function(i, p, pt)
|
|
banners.banner_on_use(i, p, pt)
|
|
end,
|
|
on_dig = function(pos, n, p)
|
|
banners.banner_on_dig(pos, n, p)
|
|
end
|
|
|
|
})
|
|
|