summaryrefslogtreecommitdiff
path: root/onion.lua
diff options
context:
space:
mode:
authortenplus1 <kinsellaja@yahoo.com>2015-05-29 10:25:35 +0100
committertenplus1 <kinsellaja@yahoo.com>2015-05-29 10:25:35 +0100
commit87316b50837e82d22a7cc21b5e583f47f00b1be5 (patch)
tree4a90b10ca39953ad7d620e4226ba002e9f2d1f42 /onion.lua
parentf438eadeb98c75252fe550ac2366b06db5022406 (diff)
Code Tidy (thanks HybridDog)
Diffstat (limited to 'onion.lua')
-rw-r--r--onion.lua127
1 files changed, 42 insertions, 85 deletions
diff --git a/onion.lua b/onion.lua
index 24d51b2..2eabbcc 100644
--- a/onion.lua
+++ b/onion.lua
@@ -11,7 +11,7 @@ minetest.register_craftitem("ethereal:wild_onion_plant", {
minetest.register_alias("ethereal:wild_onion_craftingitem", "ethereal:wild_onion_plant")
-- Define Onion growth stages
-minetest.register_node("ethereal:onion_1", {
+local onion_def = {
drawtype = "plantlike",
tiles = {"ethereal_wild_onion_1.png"},
paramtype = "light",
@@ -20,90 +20,41 @@ minetest.register_node("ethereal:onion_1", {
buildable_to = true,
drop = {
items = {
- {items = {"ethereal:wild_onion_plant 1"},rarity=1},
+ {items = {"ethereal:wild_onion_plant"},rarity=1},
}
},
selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},},
groups = {snappy=3,flammable=2,plant=1,attached_node=1,onion=1,growing=1,not_in_creative_inventory=1},
sounds = default.node_sound_leaves_defaults(),
-})
-minetest.register_alias("ethereal:wild_onion_1", "ethereal:onion_1")
+}
+minetest.register_node("ethereal:onion_1", table.copy(onion_def))
-minetest.register_node("ethereal:onion_2", {
- drawtype = "plantlike",
- tiles = {"ethereal_wild_onion_2.png"},
- paramtype = "light",
- sunlight_propagates = true,
- walkable = false,
- buildable_to = true,
- drop = {
- items = {
- {items = {"ethereal:wild_onion_plant 1"},rarity=1},
- }
- },
- selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},},
- groups = {snappy=3,flammable=2,plant=1,attached_node=1,onion=2,growing=1,not_in_creative_inventory=1},
- sounds = default.node_sound_leaves_defaults(),
-})
-minetest.register_alias("ethereal:wild_onion_2", "ethereal:onion_2")
+onion_def.tiles[1] = "ethereal_wild_onion_2.png"
+onion_def.groups.onion = 2
+minetest.register_node("ethereal:onion_2", table.copy(onion_def))
-minetest.register_node("ethereal:onion_3", {
- drawtype = "plantlike",
- tiles = {"ethereal_wild_onion_3.png"},
- paramtype = "light",
- sunlight_propagates = true,
- walkable = false,
- buildable_to = true,
- is_ground_content = true,
- drop = {
- items = {
- {items = {"ethereal:wild_onion_plant 1"},rarity=1},
- {items = {"ethereal:wild_onion_plant 2"},rarity=3},
- }
- },
- selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},},
- groups = {snappy=3,flammable=2,plant=1,attached_node=1,onion=3,growing=1,not_in_creative_inventory=1},
- sounds = default.node_sound_leaves_defaults(),
-})
-minetest.register_alias("ethereal:wild_onion_3", "ethereal:onion_3")
+onion_def.tiles[1] = "ethereal_wild_onion_3.png"
+onion_def.groups.onion = 3
+onion_def.drop.items[2] = {
+ items = {"ethereal:wild_onion_plant 2"}, rarity=3
+}
+minetest.register_node("ethereal:onion_3", table.copy(onion_def))
-minetest.register_node("ethereal:onion_4", {
- drawtype = "plantlike",
- tiles = {"ethereal_wild_onion_4.png"},
- paramtype = "light",
- sunlight_propagates = true,
- walkable = false,
- buildable_to = true,
- drop = {
- items = {
- {items = {"ethereal:wild_onion_plant 1"},rarity=1},
- {items = {"ethereal:wild_onion_plant 3"},rarity=3},
- }
- },
- selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},},
- groups = {snappy=3,flammable=2,plant=1,attached_node=1,onion=4,growing=1,not_in_creative_inventory=1},
- sounds = default.node_sound_leaves_defaults(),
-})
-minetest.register_alias("ethereal:wild_onion_4", "ethereal:onion_4")
+onion_def.tiles[1] = "ethereal_wild_onion_4.png"
+onion_def.groups.onion = 4
+onion_def.drop.items[2] = {
+ items = {"ethereal:wild_onion_plant 3"}, rarity=3
+}
+minetest.register_node("ethereal:onion_4", table.copy(onion_def))
-minetest.register_node("ethereal:onion_5", {
- drawtype = "plantlike",
- tiles = {"ethereal_wild_onion_5.png"},
- paramtype = "light",
- sunlight_propagates = true,
- walkable = false,
- buildable_to = true,
- drop = {
- items = {
- {items = {"ethereal:wild_onion_plant 2"},rarity=1},
- {items = {"ethereal:wild_onion_plant 3"},rarity=2},
- }
- },
- selection_box = {type = "fixed",fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},},
- groups = {snappy=3,flammable=2,plant=1,attached_node=1,onion=5,not_in_creative_inventory=1},
- sounds = default.node_sound_leaves_defaults(),
-})
-minetest.register_alias("ethereal:wild_onion_5", "ethereal:onion_5")
+onion_def.tiles[1] = "ethereal_wild_onion_5.png"
+onion_def.groups.onion = 5
+onion_def.groups.growing = nil
+onion_def.drop.items = {
+ {items = {"ethereal:wild_onion_plant 2"},rarity=1},
+ {items = {"ethereal:wild_onion_plant 3"},rarity=2},
+}
+minetest.register_node("ethereal:onion_5", table.copy(onion_def))
-- Abm for growing Wild Onion
if farming.mod ~= "redo" then
@@ -115,34 +66,40 @@ minetest.register_abm({
chance = 3,
action = function(pos, node)
-- return if already full grown
- if minetest.get_item_group(node.name, "onion") == 5 then
+ if minetest.get_item_group(node.name, "growing") < 1 then
return
end
-- check if on wet soil
pos.y = pos.y-1
- local n = minetest.get_node(pos)
- if minetest.get_item_group(n.name, "soil") < 3 then
+ if minetest.get_item_group(minetest.get_node(pos).name, "soil") < 3 then
return
end
pos.y = pos.y+1
-- check light
- if not minetest.get_node_light(pos) then
- return
- end
- if minetest.get_node_light(pos) < 13 then
+ local light = minetest.get_node_light(pos)
+ if not light
+ or light < 13 then
return
end
-- grow
- local height = minetest.get_item_group(node.name, "onion") + 1
- minetest.set_node(pos, {name="ethereal:wild_onion_"..height})
+ node.name = "ethereal:onion_" .. minetest.get_item_group(node.name, "onion") + 1
+ minetest.set_node(pos, node)
end
})
end
+
+-- Legacy
+
+minetest.register_alias("ethereal:wild_onion_craftingitem", "ethereal:wild_onion_plant")
+for i = 1,5 do
+ minetest.register_alias("ethereal:wild_onion_"..i, "ethereal:onion_"..i)
+end
+
-- Temporary compatibility lines for Xanadu server
minetest.register_alias("ethereal:onion_7", "ethereal:onion_4")
minetest.register_alias("ethereal:onion_8", "ethereal:onion_5")