1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-01 17:38:41 +00:00

Add ability to override item images using meta (#12614)

This commit is contained in:
rubenwardy 2023-04-17 19:44:41 +01:00 committed by GitHub
parent 8c2c7fadbf
commit 4158b72971
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 200 additions and 151 deletions

View file

@ -40,6 +40,7 @@ minetest.register_craftitem("testitems:overlay_meta", {
on_place = overlay_on_place,
on_secondary_use = overlay_on_place,
})
minetest.register_craftitem("testitems:overlay_global", {
description = S("Texture Overlay Test Item, Global Color") .. "\n" ..
S("Image must be an orange square with rainbow cross (inventory and wield)"),
@ -51,3 +52,41 @@ minetest.register_craftitem("testitems:overlay_global", {
wield_overlay = "testitems_overlay_overlay.png",
color = GLOBAL_COLOR_ARG,
})
minetest.register_craftitem("testitems:image_meta", {
description = S("Image Override Meta Test Item"),
inventory_image = "default_apple.png",
wield_image = "basetools_icesword.png",
on_use = function(itemstack, player)
local meta = itemstack:get_meta()
local state = meta:get_int("state")
state = (state + 1) % 5
meta:set_int("state", state)
minetest.chat_send_player(player:get_player_name(), "State " .. state)
if state == 0 then
meta:set_string("inventory_image", "")
meta:set_string("wield_image", "")
meta:set_string("inventory_overlay", "")
meta:set_string("wield_overlay", "")
meta:set_string("wield_scale", "")
elseif state == 1 then
meta:set_string("inventory_image", "default_tree.png")
meta:set_string("wield_image", "basetools_firesword.png")
elseif state == 2 then
meta:set_string("inventory_image", "default_apple.png^testitems_overridden.png")
meta:set_string("wield_image", "basetools_icesword.png^testitems_overridden.png")
elseif state == 3 then
meta:set_string("inventory_image", "default_tree.png")
meta:set_string("wield_image", "basetools_firesword.png")
meta:set_string("inventory_overlay", "default_apple.png")
meta:set_string("wield_overlay", "default_apple.png")
elseif state == 4 then
local scale = vector.new(0.5, 0.5, 0.5)
meta:set_string("wield_scale", scale:to_string())
end
return itemstack
end,
})