diff --git a/games/default/files/boats/init.lua b/games/default/files/boats/init.lua index 353637c0b..b10e6a309 100644 --- a/games/default/files/boats/init.lua +++ b/games/default/files/boats/init.lua @@ -138,9 +138,7 @@ function boat.on_punch(self, puncher) local inv = puncher:get_inventory() if not inv then minetest.add_item(self.object:get_pos(), "boats:boat") - elseif not (creative and creative.is_enabled_for - and creative.is_enabled_for(name)) - or not inv:contains_item("main", "boats:boat") then + else local leftover = inv:add_item("main", "boats:boat") -- if no room in inventory add a replacement boat to the world if not leftover:is_empty() then @@ -321,7 +319,8 @@ minetest.register_craftitem("boats:boat", { end local player_name = placer and placer:get_player_name() or "" if not (creative and creative.is_enabled_for and - creative.is_enabled_for(player_name)) then + creative.is_enabled_for(player_name)) or + not minetest.is_singleplayer() then itemstack:take_item() end end diff --git a/games/default/files/boost_cart/cart_entity.lua b/games/default/files/boost_cart/cart_entity.lua index 6e7855a46..8b64adf02 100644 --- a/games/default/files/boost_cart/cart_entity.lua +++ b/games/default/files/boost_cart/cart_entity.lua @@ -440,12 +440,8 @@ minetest.register_entity(":carts:cart", cart_entity) if not boost_cart.mtg_compat then minetest.register_craftitem(":carts:cart", { description = "Cart (Sneak+Click to pick up)", - inventory_image = minetest.inventorycube( - "cart_top.png", - "cart_side.png", - "cart_side.png" - ), - wield_image = "cart_side.png", + inventory_image = "carts_cart_inv.png", + wield_image = "carts_cart_inv.png", on_place = function(itemstack, placer, pointed_thing) if not pointed_thing.type == "node" then return @@ -458,7 +454,9 @@ if not boost_cart.mtg_compat then return end - if not minetest.settings:get_bool("creative_mode") then + minetest.sound_play({name = "default_place_node_metal", gain = 0.5}, + {pos = pointed_thing.above}) + if not minetest.settings:get_bool("creative_mode") or not minetest.is_singleplayer() then itemstack:take_item() end return itemstack diff --git a/games/default/files/boost_cart/functions.lua b/games/default/files/boost_cart/functions.lua index b77deea20..742d6f1d9 100644 --- a/games/default/files/boost_cart/functions.lua +++ b/games/default/files/boost_cart/functions.lua @@ -223,9 +223,6 @@ function boost_cart:boost_rail(pos, amount) end function boost_cart:register_rail(name, def_overwrite) - local sound_func = default.node_sound_metal_defaults - or default.node_sound_defaults - local def = { drawtype = "raillike", paramtype = "light", @@ -236,7 +233,7 @@ function boost_cart:register_rail(name, def_overwrite) type = "fixed", fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, }, - sounds = sound_func() + sounds = default.node_sound_metal_defaults(), } for k, v in pairs(def_overwrite) do def[k] = v diff --git a/games/default/files/boost_cart/models/carts_cart.png b/games/default/files/boost_cart/models/carts_cart.png index 770100686..2d78e2a0c 100644 Binary files a/games/default/files/boost_cart/models/carts_cart.png and b/games/default/files/boost_cart/models/carts_cart.png differ diff --git a/games/default/files/boost_cart/textures/cart_side.png b/games/default/files/boost_cart/textures/cart_side.png deleted file mode 100644 index d253ad6c5..000000000 Binary files a/games/default/files/boost_cart/textures/cart_side.png and /dev/null differ diff --git a/games/default/files/boost_cart/textures/cart_top.png b/games/default/files/boost_cart/textures/cart_top.png deleted file mode 100644 index dda267d50..000000000 Binary files a/games/default/files/boost_cart/textures/cart_top.png and /dev/null differ diff --git a/games/default/files/boost_cart/textures/carts_cart_inv.png b/games/default/files/boost_cart/textures/carts_cart_inv.png new file mode 100644 index 000000000..064e93aa3 Binary files /dev/null and b/games/default/files/boost_cart/textures/carts_cart_inv.png differ diff --git a/games/default/files/cleaner/init.lua b/games/default/files/cleaner/init.lua index 6028f319f..9c91e2b95 100644 --- a/games/default/files/cleaner/init.lua +++ b/games/default/files/cleaner/init.lua @@ -26,16 +26,19 @@ local function clean() for y = -height, height do for z = -radius, radius do local pos_scan = vector.new(pos.x + x, pos.y + y, pos.z + z) - local hash = minetest.hash_node_position(pos_scan) + --local hash = minetest.hash_node_position(pos_scan) + local nodename = minetest.get_node(pos_scan).name - if not kpos[hash] then + --[[if not kpos[hash] then local nodename = minetest.get_node(pos_scan).name if not minetest.registered_nodes[nodename] then minetest.remove_node(pos_scan) end - kpos[hash] = true + kpos[hash] = true]] + if not minetest.registered_nodes[nodename] then + minetest.remove_node(pos_scan) end local objs = minetest.get_objects_inside_radius(pos_scan, 0.5) @@ -43,8 +46,7 @@ local function clean() for j = 1, #objs do local obj = objs[j] if not obj:is_player() then - -- new API is too heavy - local entname = obj:get_entity_name() + local entname = obj:get_luaentity().name if not minetest.registered_entities[entname] then obj:remove() end diff --git a/games/default/files/creative/inventory.lua b/games/default/files/creative/inventory.lua index 23870145f..9224900ef 100644 --- a/games/default/files/creative/inventory.lua +++ b/games/default/files/creative/inventory.lua @@ -33,8 +33,8 @@ ofs_tab["combat"] = "6.96,-0.35" ofs_tab["matr"] = "8,-0.35" ofs_tab["brew"] = "9.01,-0.35" -ofs_img["all"] = "10.24,1" -ofs_img["inv"] = "10.24,7.13" +ofs_img["all"] = "10.25,1" +ofs_img["inv"] = "10.25,7.11" ofs_img["blocks"] = "-0.16,-0.15" ofs_img["deco"] = "0.87,-0.15" ofs_img["mese"] = "1.92,-0.15" @@ -202,8 +202,10 @@ local function get_creative_formspec(player_name, start_i, pagenum, page, pagema "image_button[7.15,-0.15;1,1;"..bg["combat"]..";combat;;;false]".. --combat "image_button[8.17,-0.15;1,1;"..bg["matr"]..";matr;;;false]".. --materials "image_button[9.2,-0.15;1,1;"..bg["brew"]..";brew;;;false]".. --brewing - "image_button[10.24,1;1,1;"..bg["all"]..";default;;;false]".. --all items - "image_button[10.24,7.13;1,1;"..bg["inv"]..";inv;;;false]".. --inventory + "image_button[10.25,1;1,1;"..bg["all"]..";default;;;false]".. --all items + "image_button[10.25,7.11;1,1;"..bg["inv"]..";inv;;;false]".. --inventory + "image_button_exit[10.3,2.5;1,1;creative_home_set.png;sethome_set;;true;true;]".. + "image_button_exit[10.3,3.5;1,1;creative_home_go.png;sethome_go;;true;true;]".. "image[0,0.95;5,0.75;fnt_"..name..".png]".. "image_button[9.145,1.65;0.81,0.6;creative_up.png;creative_prev;]".. "image_button[9.145,6.08;0.81,0.6;creative_down.png;creative_next;]".. diff --git a/games/default/files/creative/textures/creative_home_go.png b/games/default/files/creative/textures/creative_home_go.png new file mode 100644 index 000000000..f4df2241f Binary files /dev/null and b/games/default/files/creative/textures/creative_home_go.png differ diff --git a/games/default/files/creative/textures/creative_home_set.png b/games/default/files/creative/textures/creative_home_set.png new file mode 100644 index 000000000..7d9f92a26 Binary files /dev/null and b/games/default/files/creative/textures/creative_home_set.png differ diff --git a/games/default/files/mobs_animal/kitten.lua b/games/default/files/mobs_animal/kitten.lua index dc0db9de1..3135617c1 100644 --- a/games/default/files/mobs_animal/kitten.lua +++ b/games/default/files/mobs_animal/kitten.lua @@ -24,7 +24,8 @@ mobs:register_mob("mobs_animal:kitten", { walk_chance = 15, run_velocity = 2, runaway = true, - jump = false, + jump = true, + jump_height = 5, drops = { {name = "farming:string", chance = 1, min = 1, max = 1} }, diff --git a/games/default/files/sethome/init.lua b/games/default/files/sethome/init.lua index 206640784..015afbc7a 100644 --- a/games/default/files/sethome/init.lua +++ b/games/default/files/sethome/init.lua @@ -67,14 +67,8 @@ sethome.go = function(name) return false end -minetest.register_privilege("home", { - description = "Can use /sethome and /home", - give_to_singleplayer = true -}) - minetest.register_chatcommand("home", { description = "Teleport you to your home point", - privs = {home = true}, func = function(name) if sethome.go(name) then return true, "Teleported to home!" @@ -85,7 +79,6 @@ minetest.register_chatcommand("home", { minetest.register_chatcommand("sethome", { description = "Set your home point", - privs = {home = true}, func = function(name) name = name or "" -- fallback to blank name if nil local player = minetest.get_player_by_name(name) @@ -98,7 +91,6 @@ minetest.register_chatcommand("sethome", { minetest.register_chatcommand("home set", { description = "Set your home point", - privs = {home = true}, func = function(name) name = name or "" -- fallback to blank name if nil local player = minetest.get_player_by_name(name) @@ -107,4 +99,22 @@ minetest.register_chatcommand("home set", { end return false, "Player not found!" end, -}) \ No newline at end of file +}) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if not player or not player:is_player() then + return + end + local player_name = player:get_player_name() + if fields.sethome_set then + sethome.set(player_name, player:get_pos()) + minetest.chat_send_player(player_name, "Home set!") + elseif fields.sethome_go then + if sethome.go(player_name) then + sethome.go(player_name) + minetest.chat_send_player(player_name, "Teleported to home!") + else + minetest.chat_send_player(player_name, "Home is not set!") + end + end +end) diff --git a/games/default/files/wieldview/init.lua b/games/default/files/wieldview/init.lua index 324a601cd..6ae856244 100644 --- a/games/default/files/wieldview/init.lua +++ b/games/default/files/wieldview/init.lua @@ -44,7 +44,7 @@ wieldview.get_item_texture = function(self, item) end wieldview.update_wielded_item = function(self, player) - if not player or minetest.is_singleplayer() == true then + if not player or minetest.is_singleplayer() then return end local name = player:get_player_name() diff --git a/games/default/multicraft.conf b/games/default/multicraft.conf index d899f30f6..1a8ae1fef 100644 --- a/games/default/multicraft.conf +++ b/games/default/multicraft.conf @@ -1 +1 @@ -default_privs = interact, shout, home, fly, settime +default_privs = interact, shout, fly, settime