]> git.lizzy.rs Git - mcl_enchanting.git/commitdiff
Import changes from xdecor
authorkilbith <jeanpatrick.guerrero@gmail.com>
Fri, 1 Apr 2016 22:34:02 +0000 (00:34 +0200)
committerkilbith <jeanpatrick.guerrero@gmail.com>
Fri, 1 Apr 2016 22:35:36 +0000 (00:35 +0200)
init.lua
textures/book_open.png [new file with mode: 0644]

index 95d12336fed324564d3fa5eeaf1f76bf4e2d6a8f..201fd72ba7d496ac601ff40c6acdb7aed46ae317 100644 (file)
--- a/init.lua
+++ b/init.lua
@@ -110,6 +110,29 @@ function enchanting.construct(pos)
        local inv = meta:get_inventory()
        inv:set_size("tool", 1)
        inv:set_size("mese", 1)
+
+       minetest.add_entity({x=pos.x, y=pos.y+0.85, z=pos.z}, "xdecor:book_open")
+       local timer = minetest.get_node_timer(pos)
+       timer:start(15.0)
+end
+
+function enchanting.destruct(pos)
+       for _, obj in pairs(minetest.get_objects_inside_radius(pos, 0.9)) do
+               if obj and obj:get_luaentity() and
+                               obj:get_luaentity().name == "xdecor:book_open" then
+                       obj:remove() break
+               end
+       end
+end
+
+function enchanting.timer(pos)
+       local node = minetest.get_node(pos)
+       local num = #minetest.get_objects_inside_radius(pos, 0.9)
+
+       if num == 0 then
+               minetest.add_entity({x=pos.x, y=pos.y+0.85, z=pos.z}, "xdecor:book_open")
+       end
+       return true
 end
 
 minetest.register_node(":xdecor:enchantment_table", {
@@ -123,7 +146,9 @@ minetest.register_node(":xdecor:enchantment_table", {
        sounds = default.node_sound_stone_defaults(),
        on_rotate = screwdriver.rotate_simple,
        can_dig = enchanting.dig,
+       on_timer = enchanting.timer,
        on_construct = enchanting.construct,
+       on_destruct = enchanting.destruct,
        on_receive_fields = enchanting.fields,
        on_metadata_inventory_put = enchanting.on_put,
        on_metadata_inventory_take = enchanting.on_take,
@@ -131,6 +156,14 @@ minetest.register_node(":xdecor:enchantment_table", {
        allow_metadata_inventory_move = function() return 0 end
 })
 
+minetest.register_entity(":xdecor:book_open", {
+       visual = "sprite",
+       visual_size = {x=0.75, y=0.75},
+       collisionbox = {0},
+       physical = false,
+       textures = {"book_open.png"}
+})
+
 minetest.register_craft({
        output = "xdecor:enchantment_table",
        recipe = {
diff --git a/textures/book_open.png b/textures/book_open.png
new file mode 100644 (file)
index 0000000..508e808
Binary files /dev/null and b/textures/book_open.png differ