summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@linux-forks.de>2018-08-24 18:51:29 +0200
committerroot <root@linux-forks.de>2018-08-24 18:51:29 +0200
commitb32bd2d50b685e9f550f1138d3db1ed0c6504d2c (patch)
tree430cb14a8978df59148721419c412b2fefa59459
parent36dbea5a590b5cf6b6a80dbc1625215a1ba50e47 (diff)
parent9dac31a106b10e72bb3a5e71f8cd5d8f69e5aafb (diff)
Merge https://notabug.org/TenPlus1/ethereal
-rw-r--r--README.md1
-rw-r--r--crystal.lua72
-rw-r--r--leaves.lua6
-rw-r--r--strawberry.lua2
-rw-r--r--water.lua5
5 files changed, 73 insertions, 13 deletions
diff --git a/README.md b/README.md
index d01542c..c0362ce 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/leaves.lua b/leaves.lua
index 29edb61..daf925d 100644
--- a/leaves.lua
+++ b/leaves.lua
@@ -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,
diff --git a/water.lua b/water.lua
index 70abbc8..9997ecf 100644
--- a/water.lua
+++ b/water.lua
@@ -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,