Fixed Place Water in the Nether with Fish Buckets.

This commit is contained in:
PrairieAstronomer 2022-07-30 12:21:16 -06:00
parent 56f5ffc09c
commit a153e5bc33
7 changed files with 46 additions and 37 deletions

@ -104,7 +104,7 @@ local cod = {
on_rightclick = function(self, clicker) on_rightclick = function(self, clicker)
if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then
self.object:remove() self.object:remove()
clicker:set_wielded_item("mcl_fishing:bucket_cod") clicker:set_wielded_item("mcl_buckets:bucket_cod")
awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing")
end end
end end

@ -60,7 +60,7 @@ local salmon = {
on_rightclick = function(self, clicker) on_rightclick = function(self, clicker)
if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then
self.object:remove() self.object:remove()
clicker:set_wielded_item("mcl_fishing:bucket_salmon") clicker:set_wielded_item("mcl_buckets:bucket_salmon")
awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing")
end end
end end

@ -105,7 +105,7 @@ local tropical_fish = {
on_rightclick = function(self, clicker) on_rightclick = function(self, clicker)
if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then
self.object:remove() self.object:remove()
clicker:set_wielded_item("mcl_fishing:bucket_tropical_fish") clicker:set_wielded_item("mcl_buckets:bucket_tropical_fish")
awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing")
end end
end, end,

@ -15,3 +15,10 @@ Collects liquids=
Places a lava source= Places a lava source=
Places a water source= Places a water source=
Places a river water source= Places a river water source=
Cod=
Salmon=
Tropical Fish=
Bucket of @1=
This bucket is filled with water and @1.=
Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.=
Places a water source and a @1 fish.=

@ -1,6 +1,7 @@
local S = minetest.get_translator(minetest.get_current_modname()) local S = minetest.get_translator(minetest.get_current_modname())
local mod_mcl_core = minetest.get_modpath("mcl_core") local mod_mcl_core = minetest.get_modpath("mcl_core")
local mod_mclx_core = minetest.get_modpath("mclx_core") local mod_mclx_core = minetest.get_modpath("mclx_core")
local mod_mobs_mc = minetest.get_modpath("mobs_mc")
local has_awards = minetest.get_modpath("awards") local has_awards = minetest.get_modpath("awards")
local function sound_place(itemname, pos) local function sound_place(itemname, pos)
@ -118,3 +119,38 @@ minetest.register_craft({
burntime = 1000, burntime = 1000,
replacements = {{"mcl_buckets:bucket_lava", "mcl_buckets:bucket_empty"}}, replacements = {{"mcl_buckets:bucket_lava", "mcl_buckets:bucket_empty"}},
}) })
-- Fish Buckets
if mod_mobs_mc then
fish_names = {
{ techname = "cod", name = "Cod" },
{ techname = "salmon", name = "Salmon" },
--{ techname = "pufferfish", name = "Pufferfish" } FIXME: Uncomment when pufferfish mobs are added.
{ techname = "tropical_fish", name = "Tropical Fish" }
}
for _, fish in pairs(fish_names) do
mcl_buckets.register_liquid({
bucketname = "mcl_buckets:bucket_" .. fish.techname,
source_place = function(pos)
minetest.add_entity(pos, "mobs_mc:" .. fish.techname)
return "mcl_core:water_source"
end,
source_take = {"mobs_mc:" .. fish.techname},
inventory_image = fish.techname .. "_bucket.png",
name = S("Bucket of @1", S(fish.name)),
longdesc = S("This bucket is filled with water and @1.", S(fish.name)),
usagehelp = S("Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.", S(fish.name), S(fish.name)),
tt_help = S("Places a water source and a @1 fish.", S(fish.name)),
extra_check = function(pos, placer)
local nn = minetest.get_node(pos).name
local dim = mcl_worlds.pos_to_dimension(pos)
if dim == "nether" then
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
return false, true
end
end,
})
minetest.register_alias("mcl_fishing:bucket_" .. fish.techname, "mcl_buckets:bucket_" .. fish.techname)
end
end

@ -516,30 +516,3 @@ minetest.register_on_item_eat(function (hp_change, replace_with_item, itemstack,
end end
end ) end )
-- Fish Buckets
fish_names = {
{ techname = "cod", name = "Cod" },
{ techname = "salmon", name = "Salmon" },
--{ techname = "pufferfish", name = "Pufferfish" } FIXME: Uncomment when pufferfish mobs are added.
{ techname = "tropical_fish", name = "Tropical Fish" }
}
for _, fish in pairs(fish_names) do
mcl_buckets.register_liquid({
bucketname = "mcl_fishing:bucket_" .. fish.techname,
source_place = function(pos)
minetest.add_entity(pos, "mobs_mc:" .. fish.techname)
return "mcl_core:water_source"
end,
source_take = {"mobs_mc:" .. fish.techname},
inventory_image = fish.techname .. "_bucket.png",
name = S("Bucket of @1", S(fish.name)),
longdesc = S("This bucket is filled with water and @1.", S(fish.name)),
usagehelp = S("Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.", S(fish.name), S(fish.name)),
tt_help = S("Places a water source and a @1 fish.", S(fish.name)),
extra_check = function(pos, placer)
return true, true
end,
})
end

@ -16,10 +16,3 @@ Pufferfish=
Pufferfish are a common species of fish and can be obtained by fishing. They can technically be eaten, but they are very bad for humans. Eating a pufferfish only restores 1 hunger point and will poison you very badly (which drains your health non-fatally) and causes serious food poisoning (which increases your hunger).= Pufferfish are a common species of fish and can be obtained by fishing. They can technically be eaten, but they are very bad for humans. Eating a pufferfish only restores 1 hunger point and will poison you very badly (which drains your health non-fatally) and causes serious food poisoning (which increases your hunger).=
Catches fish in water= Catches fish in water=
Very poisonous= Very poisonous=
Cod=
Salmon=
Tropical Fish=
Bucket of @1=
This bucket is filled with water and @1.=
Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.=
Places a water source and a @1 fish.=