Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Illuna-Minetest/xdecor
1 result
Show changes
Commits on Source (8)
...@@ -18,7 +18,7 @@ function xdecor.sit(pos, node, clicker, pointed_thing) ...@@ -18,7 +18,7 @@ function xdecor.sit(pos, node, clicker, pointed_thing)
if default.player_attached[player_name] then if default.player_attached[player_name] then
pos.y = pos.y - 0.5 pos.y = pos.y - 0.5
clicker:setpos(pos) clicker:set_pos(pos)
clicker:set_eye_offset(vector.new(), vector.new()) clicker:set_eye_offset(vector.new(), vector.new())
clicker:set_physics_override({speed = 1, jump = 1, gravity = 1}) clicker:set_physics_override({speed = 1, jump = 1, gravity = 1})
default.player_attached[player_name] = false default.player_attached[player_name] = false
...@@ -29,7 +29,7 @@ function xdecor.sit(pos, node, clicker, pointed_thing) ...@@ -29,7 +29,7 @@ function xdecor.sit(pos, node, clicker, pointed_thing)
clicker:set_eye_offset({x = 0, y = -7, z = 2}, vector.new()) clicker:set_eye_offset({x = 0, y = -7, z = 2}, vector.new())
clicker:set_physics_override({speed = 0, jump = 0, gravity = 1}) clicker:set_physics_override({speed = 0, jump = 0, gravity = 1})
clicker:setpos(pos) clicker:set_pos(pos)
default.player_attached[player_name] = true default.player_attached[player_name] = true
default.player_set_animation(clicker, "sit", 30) default.player_set_animation(clicker, "sit", 30)
...@@ -55,4 +55,3 @@ function xdecor.sit_dig(pos, digger) ...@@ -55,4 +55,3 @@ function xdecor.sit_dig(pos, digger)
return true return true
end end
name = xdecor name = xdecor
depends = default, bucket, doors, stairs, xpanes
optional_depends = fire, oresplus, moreblocks, mesecons_plus
description = A decoration mod meant to be simple and well-featured.
...@@ -237,7 +237,7 @@ minetest.register_entity("xdecor:book_open", { ...@@ -237,7 +237,7 @@ minetest.register_entity("xdecor:book_open", {
physical = false, physical = false,
textures = {"xdecor_book_open.png"}, textures = {"xdecor_book_open.png"},
on_activate = function(self) on_activate = function(self)
local pos = self.object:getpos() local pos = self.object:get_pos()
local pos_under = {x = pos.x, y = pos.y - 1, z = pos.z} local pos_under = {x = pos.x, y = pos.y - 1, z = pos.z}
if minetest.get_node(pos_under).name ~= "xdecor:enchantment_table" then if minetest.get_node(pos_under).name ~= "xdecor:enchantment_table" then
......
...@@ -85,7 +85,11 @@ function itemframe.rightclick(pos, node, clicker, itemstack) ...@@ -85,7 +85,11 @@ function itemframe.rightclick(pos, node, clicker, itemstack)
local itemstring = itemstack:take_item():to_string() local itemstring = itemstack:take_item():to_string()
meta:set_string("item", itemstring) meta:set_string("item", itemstring)
update_item(pos, node) update_item(pos, node)
if itemstring == "" then
meta:set_string("infotext", "Item Frame (owned by " .. owner .. ")")
else
meta:set_string("infotext", itemstring.." (owned by " .. owner .. ")")
end
return itemstack return itemstack
end end
......
...@@ -69,7 +69,7 @@ function workbench:get_output(inv, input, name) ...@@ -69,7 +69,7 @@ function workbench:get_output(inv, input, name)
local item = name .. "_" .. nbox[1] local item = name .. "_" .. nbox[1]
item = nbox[3] and item or "stairs:" .. nbox[1] .. "_" .. name:match(":(.*)") item = nbox[3] and item or "stairs:" .. nbox[1] .. "_" .. name:match(":(.*)")
output[#output + 1] = item .. " " .. count output[i] = item .. " " .. count
end end
inv:set_list("forms", output) inv:set_list("forms", output)
...@@ -184,7 +184,7 @@ function workbench.timer(pos) ...@@ -184,7 +184,7 @@ function workbench.timer(pos)
return true return true
end end
function workbench.put(_, listname, _, stack) function workbench.allow_put(pos, listname, index, stack, player)
local stackname = stack:get_name() local stackname = stack:get_name()
if (listname == "tool" and stack:get_wear() > 0 and if (listname == "tool" and stack:get_wear() > 0 and
workbench:repairable(stackname)) or workbench:repairable(stackname)) or
...@@ -197,11 +197,7 @@ function workbench.put(_, listname, _, stack) ...@@ -197,11 +197,7 @@ function workbench.put(_, listname, _, stack)
return 0 return 0
end end
function workbench.move(_, from_list, _, to_list, _, count) function workbench.on_put(pos, listname, index, stack, player)
return (to_list == "storage" and from_list ~= "forms") and count or 0
end
function workbench.on_put(pos, listname, _, stack)
local inv = minetest.get_meta(pos):get_inventory() local inv = minetest.get_meta(pos):get_inventory()
if listname == "input" then if listname == "input" then
local input = inv:get_stack("input", 1) local input = inv:get_stack("input", 1)
...@@ -212,6 +208,24 @@ function workbench.on_put(pos, listname, _, stack) ...@@ -212,6 +208,24 @@ function workbench.on_put(pos, listname, _, stack)
end end
end end
function workbench.allow_move(pos, from_list, from_index, to_list, to_index, count, player)
return (to_list == "storage" and from_list ~= "forms") and count or 0
end
function workbench.on_move(pos, from_list, from_index, to_list, to_index, count, player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local from_stack = inv:get_stack(from_list, from_index)
local to_stack = inv:get_stack(to_list, to_index)
workbench.on_take(pos, from_list, from_index, from_stack, player)
workbench.on_put(pos, to_list, to_index, to_stack, player)
end
function workbench.allow_take(pos, listname, index, stack, player)
return stack:get_count()
end
function workbench.on_take(pos, listname, index, stack, player) function workbench.on_take(pos, listname, index, stack, player)
local inv = minetest.get_meta(pos):get_inventory() local inv = minetest.get_meta(pos):get_inventory()
local input = inv:get_stack("input", 1) local input = inv:get_stack("input", 1)
...@@ -255,8 +269,10 @@ xdecor.register("workbench", { ...@@ -255,8 +269,10 @@ xdecor.register("workbench", {
on_receive_fields = workbench.fields, on_receive_fields = workbench.fields,
on_metadata_inventory_put = workbench.on_put, on_metadata_inventory_put = workbench.on_put,
on_metadata_inventory_take = workbench.on_take, on_metadata_inventory_take = workbench.on_take,
allow_metadata_inventory_put = workbench.put, on_metadata_inventory_move = workbench.on_move,
allow_metadata_inventory_move = workbench.move allow_metadata_inventory_put = workbench.allow_put,
allow_metadata_inventory_take = workbench.allow_take,
allow_metadata_inventory_move = workbench.allow_move
}) })
for _, d in ipairs(workbench.defs) do for _, d in ipairs(workbench.defs) do
......