local client_versions = {}
local client_version_channels = {}
+local client_has_clientmod = {}
--I needed to add in a dev cycle to adopt for a decimal place error
local current_development_cycle = "alpha"
minetest.register_on_joinplayer(function(player)
local name = player:get_player_name()
client_version_channels[name] = minetest.mod_channel_join(name..":client_version_channel")
+ client_has_clientmod[name] = nil
+ minetest.after(3, function()
+ if not client_has_clientmod[name] then
+ minetest.chat_send_player(name, minetest.colorize("orange", "It seems like you don't have Crafter client installed."
+ .. " You will not be able to use all features of this server without the clientmod."
+ .. " Please dowload it here: https://github.com/EliasFleckenstein03/crafter_client"))
+ else
+ client_has_clientmod[name] = nil
+ end
+ end)
end)
minetest.register_on_modchannel_message(function(channel_name, sender, message)
local channel_decyphered = channel_name:gsub(sender,"")
if channel_decyphered == ":client_version_channel" then
+ client_has_clientmod[sender] = true
local version = tonumber(message)
if type(version) ~= "number" then
minetest.chat_send_player(sender, minetest.colorize("yellow", "Please do not try to crash the server."))
if node == "main:water" then
itemstack:replace(ItemStack("main:bucket_water"))
minetest.remove_node(pos_under)
+ minetest.sound_play("water_take", {gain=1.0, pos = pos_under, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
elseif node == "main:lava" or node == "nether:lava" then
itemstack:replace(ItemStack("main:bucket_lava"))
minetest.remove_node(pos_under)
+ minetest.sound_play("lava", {gain=1.0, pos = pos_under, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
end
end,
if node == "main:water" then
itemstack:replace(ItemStack("main:bucket_water"))
minetest.remove_node(pos_under)
+ minetest.sound_play("water_take", {gain=1.0, pos = pos_under, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
elseif node == "main:lava" or node == "nether:lava" then
itemstack:replace(ItemStack("main:bucket_lava"))
minetest.remove_node(pos_under)
+ minetest.sound_play("lava", {gain=1.0, pos = pos_under, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
end
end,
if buildable_under == true then
minetest.set_node(pos_under,{name="main:water"})
itemstack:replace(ItemStack("main:bucket"))
+ minetest.sound_play("water_place", {gain=1.0, pos = pos_under, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
elseif buildable_above then
minetest.set_node(pos_above,{name="main:water"})
itemstack:replace(ItemStack("main:bucket"))
+ minetest.sound_play("water_place", {gain=1.0, pos = pos_above, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
end
+
end,
on_secondary_use = function(itemstack, user, pointed_thing)
local pos = bucket_raycast(user)
if buildable_under == true then
minetest.add_node(pos_under,{name="main:water"})
itemstack:replace(ItemStack("main:bucket"))
+ minetest.sound_play("water_place", {gain=1.0, pos = pos_under, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
elseif buildable_above then
minetest.add_node(pos_above,{name="main:water"})
itemstack:replace(ItemStack("main:bucket"))
+ minetest.sound_play("water_place", {gain=1.0, pos = pos_above, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
end
end,
minetest.add_node(pos_under,{name="nether:lava"})
end
itemstack:replace(ItemStack("main:bucket"))
+ minetest.sound_play("lava", {gain=1.0, pos = pos_under, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
end
elseif buildable_above then
minetest.add_node(pos_above,{name="nether:lava"})
end
itemstack:replace(ItemStack("main:bucket"))
+ minetest.sound_play("lava", {gain=1.0, pos = pos_above, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
end
end
minetest.add_node(pos_under,{name="nether:lava"})
end
itemstack:replace(ItemStack("main:bucket"))
+ minetest.sound_play("lava", {gain=1.0, pos = pos_under, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
end
elseif buildable_above then
minetest.add_node(pos_above,{name="nether:lava"})
end
itemstack:replace(ItemStack("main:bucket"))
+ minetest.sound_play("lava", {gain=1.0, pos = pos_above, pitch = 1 + math.random(-10, 10)*0.005}, true)
return(itemstack)
end
end