diff options
author | root <root@linux-forks.de> | 2018-08-24 18:51:29 +0200 |
---|---|---|
committer | root <root@linux-forks.de> | 2018-08-24 18:51:29 +0200 |
commit | b32bd2d50b685e9f550f1138d3db1ed0c6504d2c (patch) | |
tree | 430cb14a8978df59148721419c412b2fefa59459 | |
parent | 36dbea5a590b5cf6b6a80dbc1625215a1ba50e47 (diff) | |
parent | 9dac31a106b10e72bb3a5e71f8cd5d8f69e5aafb (diff) |
Merge https://notabug.org/TenPlus1/ethereal
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | crystal.lua | 72 | ||||
-rw-r--r-- | leaves.lua | 6 | ||||
-rw-r--r-- | strawberry.lua | 2 | ||||
-rw-r--r-- | water.lua | 5 |
5 files changed, 73 insertions, 13 deletions
@@ -15,6 +15,7 @@ Ethereal Mapgen mod for Minetest (works on all except v6) - Updating code to newer functions, requires Minetest 0.4.16 and above - Added food groups to be more compatible with other food mods - Bonemeal removed (use Bonemeal mod to replace https://forum.minetest.net/viewtopic.php?f=9&t=16446 ) + - Crystal Ingot recipe requires a bucket of water, unless you are using builtin_item mod where you can mix ingredients by dropping in a pool of water instead ### 1.23 diff --git a/crystal.lua b/crystal.lua index fdbdd17..2b2868a 100644 --- a/crystal.lua +++ b/crystal.lua @@ -32,20 +32,67 @@ minetest.register_craftitem("ethereal:crystal_ingot", { wield_image = "crystal_ingot.png", }) -minetest.register_craft({ - output = "ethereal:crystal_ingot", - recipe = { - {"default:mese_crystal", "ethereal:crystal_spike"}, - {"ethereal:crystal_spike", "default:mese_crystal"}, - } -}) +if minetest.get_modpath("builtin_item") then + + minetest.override_item("ethereal:crystal_spike", { + + dropped_step = function(self, pos, dtime) + + self.ctimer = (self.ctimer or 0) + dtime + if self.ctimer < 5.0 then return end + self.ctimer = 0 + + if self.node_inside + and self.node_inside.name ~= "default:water_source" then + return + end + + local objs = core.get_objects_inside_radius(pos, 0.8) + + if not objs or #objs ~= 2 then return end + + local crystal, mese, ent = nil, nil, nil + + for k, obj in pairs(objs) do + + ent = obj:get_luaentity() + + if ent and ent.name == "__builtin:item" then + + if ent.itemstring == "default:mese_crystal 2" + and not mese then + + mese = obj + + elseif ent.itemstring == "ethereal:crystal_spike 2" + and not crystal then + + crystal = obj + end + end + end + + if mese and crystal then + + mese:remove() + crystal:remove() + + core.add_item(pos, "ethereal:crystal_ingot") + + return false + end + end + }) +end minetest.register_craft({ + type = "shapeless", output = "ethereal:crystal_ingot", recipe = { - {"ethereal:crystal_spike", "default:mese_crystal"}, - {"default:mese_crystal", "ethereal:crystal_spike"}, - } + "default:mese_crystal", "ethereal:crystal_spike", + "ethereal:crystal_spike", "default:mese_crystal", "bucket:bucket_water" + }, + replacements = { {"bucket:bucket_water", "bucket:bucket_empty"} } }) -- Crystal Block @@ -253,4 +300,9 @@ minetest.override_item("ethereal:shovel_crystal", { original_description = "Crystal Shovel", description = toolranks.create_description("Crystal Shovel", 0, 1), after_use = toolranks.new_afteruse}) + +minetest.override_item("ethereal:sword_crystal", { + original_description = "Crystal Sword", + description = toolranks.create_description("Crystal Sword", 0, 1), + after_use = toolranks.new_afteruse}) end @@ -17,6 +17,12 @@ minetest.override_item("default:leaves", { walkable = ethereal.leafwalk, }) +-- ability to craft big tree sapling +minetest.register_craft({ + recipe = {{"default:sapling", "default:sapling", "default:sapling"}}, + output = "ethereal:big_tree_sapling" +}) + -- default jungle tree leaves minetest.override_item("default:jungleleaves", { drawtype = leaftype, diff --git a/strawberry.lua b/strawberry.lua index 9f9b949..8098ca3 100644 --- a/strawberry.lua +++ b/strawberry.lua @@ -6,7 +6,7 @@ minetest.register_craftitem("ethereal:strawberry", { description = S("Strawberry"), inventory_image = "strawberry.png", wield_image = "strawberry.png", - groups = {food_strawberry = 1, flammable = 2}, + groups = {food_strawberry = 1, food_berry = 1, flammable = 2}, on_place = function(itemstack, placer, pointed_thing) return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:strawberry_1") end, @@ -65,7 +65,7 @@ minetest.register_abm({ end, }) --- If Heat Source near Ice or Snow then melt +-- If Heat Source near Ice or Snow then melt. minetest.register_abm({ label = "Ethereal melt snow/ice", nodenames = { @@ -74,7 +74,8 @@ minetest.register_abm({ }, neighbors = { "fire:basic_fire", "default:lava_source", "default:lava_flowing", - "default:furnace_active", "group:torch", "default:torch" + "default:furnace_active", "default:torch", "default:torch_wall", + "default:torch_ceiling" }, interval = 5, chance = 4, |