]> git.lizzy.rs Git - xdecor.git/commitdiff
Change rope's handling and change/clarify licenses
authorjp <jeanpatrick.guerrero@gmail.com>
Sat, 4 Jul 2015 13:54:40 +0000 (15:54 +0200)
committerjp <jeanpatrick.guerrero@gmail.com>
Sat, 4 Jul 2015 14:03:14 +0000 (16:03 +0200)
LICENSE
README.md
init.lua
nodes.lua
rope.lua [new file with mode: 0644]

diff --git a/LICENSE b/LICENSE
index da5f1a75a5723de986dacb56e83c00bbd818c928..bd25ecf9e54fcf0606997a3923210a948f17d6ed 100644 (file)
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,179 @@
+Code : GPL v3
+Textures : CC-BY-SA 4.0
+
+==============================================================
+
 This work is licensed under the Creative Commons Attribution-ShareAlike 
 4.0 International License. To view a copy of this license, visit 
 http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to 
-Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
\ No newline at end of file
+Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
+
+==============================================================
+
+GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+  This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+  0. Additional Definitions.
+
+  As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+  "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+  An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+  A "Combined Work" is a work produced by combining or linking an
+Application with the Library.  The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+  The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+  The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+  1. Exception to Section 3 of the GNU GPL.
+
+  You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+  2. Conveying Modified Versions.
+
+  If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+   a) under this License, provided that you make a good faith effort to
+   ensure that, in the event an Application does not supply the
+   function or data, the facility still operates, and performs
+   whatever part of its purpose remains meaningful, or
+
+   b) under the GNU GPL, with none of the additional permissions of
+   this License applicable to that copy.
+
+  3. Object Code Incorporating Material from Library Header Files.
+
+  The object code form of an Application may incorporate material from
+a header file that is part of the Library.  You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+   a) Give prominent notice with each copy of the object code that the
+   Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the object code with a copy of the GNU GPL and this license
+   document.
+
+  4. Combined Works.
+
+  You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+   a) Give prominent notice with each copy of the Combined Work that
+   the Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the Combined Work with a copy of the GNU GPL and this license
+   document.
+
+   c) For a Combined Work that displays copyright notices during
+   execution, include the copyright notice for the Library among
+   these notices, as well as a reference directing the user to the
+   copies of the GNU GPL and this license document.
+
+   d) Do one of the following:
+
+       0) Convey the Minimal Corresponding Source under the terms of this
+       License, and the Corresponding Application Code in a form
+       suitable for, and under terms that permit, the user to
+       recombine or relink the Application with a modified version of
+       the Linked Version to produce a modified Combined Work, in the
+       manner specified by section 6 of the GNU GPL for conveying
+       Corresponding Source.
+
+       1) Use a suitable shared library mechanism for linking with the
+       Library.  A suitable mechanism is one that (a) uses at run time
+       a copy of the Library already present on the user's computer
+       system, and (b) will operate properly with a modified version
+       of the Library that is interface-compatible with the Linked
+       Version.
+
+   e) Provide Installation Information, but only if you would otherwise
+   be required to provide such information under section 6 of the
+   GNU GPL, and only to the extent that such information is
+   necessary to install and execute a modified version of the
+   Combined Work produced by recombining or relinking the
+   Application with a modified version of the Linked Version. (If
+   you use option 4d0, the Installation Information must accompany
+   the Minimal Corresponding Source and Corresponding Application
+   Code. If you use option 4d1, you must provide the Installation
+   Information in the manner specified by section 6 of the GNU GPL
+   for conveying Corresponding Source.)
+
+  5. Combined Libraries.
+
+  You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+   a) Accompany the combined library with a copy of the same work based
+   on the Library, uncombined with any other library facilities,
+   conveyed under the terms of this License.
+
+   b) Give prominent notice with the combined library that part of it
+   is a work based on the Library, and explaining where to find the
+   accompanying uncombined form of the same work.
+
+  6. Revised Versions of the GNU Lesser General Public License.
+
+  The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+  Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+  If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
+
+==============================================================
\ No newline at end of file
index e798e1442a05fdbe5642041f4b4eb499d69c06b8..3ebac36fe45f86975b9ff360f5c67ddfc467ba4e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -6,8 +6,7 @@
 
 ### Credits ###
 
-##### Textures : Gambit, VanessaE, kilbith. #####
-##### Code : VanessaE, t4im, kilbith, Krock. #####
+##### Special thanks to Gambit for the textures from PixelBox #####
 
 ![Preview](http://i.imgur.com/q892y2g.png)
 ![Preview2](http://i.imgur.com/4G5gIZs.png)
index edfbdd6d713e6886159f9912d1c8fec3b86d13aa..61250fdbe3eaab1cf91e2fa385ed9b559afcd4ea 100644 (file)
--- a/init.lua
+++ b/init.lua
@@ -6,5 +6,6 @@ dofile(modpath.."/handlers/registration.lua")
 dofile(modpath.."/crafts.lua")
 dofile(modpath.."/itemframes.lua")
 dofile(modpath.."/mailbox.lua")
+dofile(modpath.."/rope.lua")
 dofile(modpath.."/nodes.lua")
 dofile(modpath.."/worktable.lua")
index c2e470d18c44cbc111430cbdef7079dc987f5a70..e75b957c29a0268c3adb527dcc27d8ef64feefab 100644 (file)
--- a/nodes.lua
+++ b/nodes.lua
@@ -4,8 +4,8 @@ xpanes.register_pane("bamboo_frame", {
        drawtype = "airlike",
        paramtype = "light",
        sunlight_propagates = true,
-       textures = { "xdecor_bamboo_frame.png", "xdecor_bamboo_frame.png", 
-                       "xpanes_space.png" },
+       textures = {"xdecor_bamboo_frame.png", "xdecor_bamboo_frame.png", 
+                       "xpanes_space.png"},
        inventory_image = "xdecor_bamboo_frame.png",
        wield_image = "xdecor_bamboo_frame.png",
        groups = {snappy=3, pane=1, flammable=2},
@@ -30,7 +30,7 @@ xdecor.register("barrel", {
        description = "Barrel",
        inventory = {size=24},
        infotext = "Barrel",
-       tiles = { "xdecor_barrel_top.png", "xdecor_barrel_sides.png" },
+       tiles = {"xdecor_barrel_top.png", "xdecor_barrel_sides.png"},
        groups = {choppy=3, flammable=2},
        sounds = xdecor.wood
 })
@@ -90,8 +90,8 @@ xdecor.register("cardboard_box", {
        inventory = {size=8},
        infotext = "Cardboard Box",
        groups = {snappy=3, flammable=3},
-       tiles = { "xdecor_cardbox_top.png", "xdecor_cardbox_top.png", 
-               "xdecor_cardbox_sides.png" },
+       tiles = {"xdecor_cardbox_top.png", "xdecor_cardbox_top.png", 
+               "xdecor_cardbox_sides.png"},
        node_box = {
                type = "fixed",
                fixed = {
@@ -153,7 +153,7 @@ for _, c in ipairs(colors) do
                description = "Curtain ("..c..")",
                use_texture_alpha = true,
                walkable = false,
-               tiles = { "xdecor_curtain.png^[colorize:"..c..":130" },
+               tiles = {"xdecor_curtain.png^[colorize:"..c..":130"},
                inventory_image = "xdecor_curtain_open.png^[colorize:"..c..":130",
                wield_image = "xdecor_curtain.png^[colorize:"..c..":130",
                drawtype = "signlike",
@@ -167,7 +167,7 @@ for _, c in ipairs(colors) do
        })
 
        xdecor.register("curtain_open_"..c, {
-               tiles = { "xdecor_curtain_open.png^[colorize:"..c..":130" },
+               tiles = {"xdecor_curtain_open.png^[colorize:"..c..":130"},
                drawtype = "signlike",
                paramtype2 = "wallmounted",
                use_texture_alpha = true,
@@ -217,7 +217,7 @@ xdecor.register("empty_shelf", {
        description = "Empty Shelf",
        inventory = {size=24},
        infotext = "Empty Shelf",
-       tiles = { "default_wood.png", "xdecor_empty_shelf.png" },
+       tiles = {"default_wood.png", "xdecor_empty_shelf.png"},
        groups = {choppy=3, flammable=2},
        sounds = xdecor.wood
 })
@@ -231,7 +231,7 @@ xdecor.register("fence_wrought_iron", {
        description = "Wrought Iron Fence",
        drawtype = "fencelike",
        groups = {cracky=2},
-       tiles = { "xdecor_wrought_iron.png" },
+       tiles = {"xdecor_wrought_iron.png"},
        selection_box = fence_sbox,
        inventory_image = "default_fence_overlay.png^xdecor_wrought_iron.png^default_fence_overlay.png^[makealpha:255,126,126"
 })
@@ -301,8 +301,8 @@ xdecor.register("lantern", {
        legacy_wallmounted = true,
        walkable = false,
        groups = {dig_immediate=3, attached_node=1},
-       tiles = { "xdecor_lantern_floor.png", "xdecor_lantern_ceiling.png",
-               "xdecor_lantern.png" },
+       tiles = {"xdecor_lantern_floor.png", "xdecor_lantern_ceiling.png",
+               "xdecor_lantern.png"},
        selection_box = {
                type = "wallmounted",
                wall_top = {-0.25, -0.4, -0.25, 0.25, 0.5, 0.25},
@@ -380,23 +380,6 @@ xdecor.register("multishelf", {
        sounds = xdecor.wood
 })
 
-local rope_sbox = {
-       type = "fixed",
-       fixed = {-0.15, -0.5, -0.15, 0.15, 0.5, 0.15}
-}
-
-xdecor.register("rope", {
-       description = "Rope",
-       walkable = false,
-       climbable = true,
-       groups = {dig_immediate=3, flammable=2},
-       selection_box = rope_sbox,
-       tiles = {"xdecor_rope.png"},
-       inventory_image = "xdecor_rope_inv.png",
-       wield_image = "xdecor_rope_inv.png",
-       drawtype = "plantlike"
-})
-
 xdecor.register("stereo", {
        description = "Stereo",
        groups = {snappy=2},
@@ -490,7 +473,7 @@ xdecor.register("tv", {
 xdecor.register("woodframed_glass", {
        description = "Wood Framed Glass",
        drawtype = "glasslike_framed",
-       tiles = { "xdecor_framed_glass.png", "xdecor_framed_glass_detail.png" },
+       tiles = {"xdecor_framed_glass.png", "xdecor_framed_glass_detail.png"},
        groups = {cracky=3},
        sounds = xdecor.glass
 })
diff --git a/rope.lua b/rope.lua
new file mode 100644 (file)
index 0000000..e68e46c
--- /dev/null
+++ b/rope.lua
@@ -0,0 +1,56 @@
+local rope_sbox = {
+       type = "fixed",
+       fixed = {-0.15, -0.5, -0.15, 0.15, 0.5, 0.15}
+}
+
+-- Code by Mirko K. (modified by Temperest, Wulfsdad and kilbith) (License: GPL).
+minetest.register_on_punchnode(function(pos, oldnode, digger)
+       if oldnode.name == "xdecor:rope" then
+               remove_rope(pos, oldnode, digger, "xdecor:rope")
+       end
+end)
+
+local place_rope = function(itemstack, placer, pointed_thing)
+       if pointed_thing.type == "node" then
+               local under = pointed_thing.under
+               local above = pointed_thing.above
+               local pos = above
+               local oldnode = minetest.get_node(pos)
+
+               while oldnode.name == "air" and not itemstack:is_empty() do
+                       local newnode = {name = itemstack:get_name(), param1 = 0}
+                       minetest.set_node(pos, newnode)
+                       itemstack:take_item()
+                       pos.y = pos.y - 1
+                       oldnode = minetest.get_node(pos)
+               end
+       end
+       return itemstack
+end
+
+remove_rope = function(pos, oldnode, digger, rope_name)
+       local num = 0
+       local below = {x=pos.x, y=pos.y, z=pos.z}
+       while minetest.get_node(below).name == rope_name do
+               minetest.remove_node(below)
+               below.y = below.y - 1
+               num = num + 1
+       end
+       if num ~= 0 then
+               digger:get_inventory():add_item("main", rope_name..' '..num)
+       end
+       return true
+end
+
+xdecor.register("rope", {
+       description = "Rope",
+       drawtype = "plantlike",
+       walkable = false,
+       climbable = true,
+       groups = {dig_immediate=3, flammable=2},
+       selection_box = rope_sbox,
+       tiles = {"xdecor_rope.png"},
+       inventory_image = "xdecor_rope_inv.png",
+       wield_image = "xdecor_rope_inv.png",
+       on_place = place_rope
+})