Cranks, shafts, and spruce trees.

This commit is contained in:
Signal 2026-05-09 16:01:10 -04:00
parent 4659a008ac
commit 9011835cf4
40 changed files with 1496 additions and 104 deletions

View file

@ -6,7 +6,8 @@ Player = {
new = function(p)
local m = setmetatable({
name = p:get_player_name(),
object = p
object = p,
listeners = {}
}, {__index = Player})
m:set_hotbar_size(8)
@ -57,7 +58,7 @@ Player = {
m.inv = Inventory(p)
m:dispatch("init")
Player:dispatch("init")
return m
end,
@ -110,8 +111,8 @@ Player = {
shaded = false
}
end,
set_wielditem = function(m, def)
if not def then def = {name = ""} end
set_wielditem = function(m, s)
local def = s:get_definition()
if not (m.wielditem_display and m.wielditem_display:is_valid()) then
local mp = m.object:get_pos() or vector.zero()
m.wielditem_display = minetest.add_entity(mp, "display")
@ -144,7 +145,7 @@ Player = {
m.wielditem_display:set_properties {
visual = "item",
visual_size = scale,
wield_item = def.name
wield_item = s:to_string()
}
m.wielditem_display:set_attach(m.object, "RightArm", pos, rot)
-- Apparently this forces a resend so that properties and attachment position will sync up?
@ -405,7 +406,7 @@ Player = {
if onunselect then onunselect(m) end
end
m.prev_wielditem = wname
m:set_wielditem(def)
m:set_wielditem(w)
local onselect = def and def.on_wield
if onselect then onselect(m, w) end
end
@ -413,7 +414,7 @@ Player = {
local while_wielded = def and def.while_wielded
if while_wielded then while_wielded(m, w) end
m:dispatch("tick")
m:dispatch("tick", m)
end,
set_hotbar_size = function(m, slots)
local p = m.object

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

After

Width:  |  Height:  |  Size: 147 B

Before After
Before After