From 2028ef40cb61d0e6e1fa99d50f6e803b1ed40720 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 22 Feb 2019 05:29:17 +0100 Subject: [PATCH 01/22] Add screwdriver --- mods/ITEMS/screwdriver/README.txt | 13 ++ mods/ITEMS/screwdriver/init.lua | 170 ++++++++++++++++++ mods/ITEMS/screwdriver/license.txt | 50 ++++++ .../screwdriver/textures/screwdriver.png | Bin 0 -> 182 bytes 4 files changed, 233 insertions(+) create mode 100644 mods/ITEMS/screwdriver/README.txt create mode 100644 mods/ITEMS/screwdriver/init.lua create mode 100644 mods/ITEMS/screwdriver/license.txt create mode 100644 mods/ITEMS/screwdriver/textures/screwdriver.png diff --git a/mods/ITEMS/screwdriver/README.txt b/mods/ITEMS/screwdriver/README.txt new file mode 100644 index 00000000..9d39c58c --- /dev/null +++ b/mods/ITEMS/screwdriver/README.txt @@ -0,0 +1,13 @@ +Minetest Game mod: screwdriver +============================== +See license.txt for license information. + +License of source code +---------------------- +Originally by RealBadAngel, Maciej Kasatkin (LGPL 2.1) +Various Minetest developers and contributors (LGPL 2.1) + +License of media (textures) +--------------------------- +Created by Gambit (CC BY-SA 3.0): + screwdriver.png diff --git a/mods/ITEMS/screwdriver/init.lua b/mods/ITEMS/screwdriver/init.lua new file mode 100644 index 00000000..4d38bbc2 --- /dev/null +++ b/mods/ITEMS/screwdriver/init.lua @@ -0,0 +1,170 @@ +screwdriver = {} + +screwdriver.ROTATE_FACE = 1 +screwdriver.ROTATE_AXIS = 2 +screwdriver.disallow = function(pos, node, user, mode, new_param2) + return false +end +screwdriver.rotate_simple = function(pos, node, user, mode, new_param2) + if mode ~= screwdriver.ROTATE_FACE then + return false + end +end + +-- For attached wallmounted nodes: returns true if rotation is valid +-- simplified version of minetest:builtin/game/falling.lua#L148. +local function check_attached_node(pos, rotation) + local d = minetest.wallmounted_to_dir(rotation) + local p2 = vector.add(pos, d) + local n = minetest.get_node(p2).name + local def2 = minetest.registered_nodes[n] + if def2 and not def2.walkable then + return false + end + return true +end + +screwdriver.rotate = {} + +local facedir_tbl = { + [screwdriver.ROTATE_FACE] = { + [0] = 1, [1] = 2, [2] = 3, [3] = 0, + [4] = 5, [5] = 6, [6] = 7, [7] = 4, + [8] = 9, [9] = 10, [10] = 11, [11] = 8, + [12] = 13, [13] = 14, [14] = 15, [15] = 12, + [16] = 17, [17] = 18, [18] = 19, [19] = 16, + [20] = 21, [21] = 22, [22] = 23, [23] = 20, + }, + [screwdriver.ROTATE_AXIS] = { + [0] = 4, [1] = 4, [2] = 4, [3] = 4, + [4] = 8, [5] = 8, [6] = 8, [7] = 8, + [8] = 12, [9] = 12, [10] = 12, [11] = 12, + [12] = 16, [13] = 16, [14] = 16, [15] = 16, + [16] = 20, [17] = 20, [18] = 20, [19] = 20, + [20] = 0, [21] = 0, [22] = 0, [23] = 0, + }, +} + +screwdriver.rotate.facedir = function(pos, node, mode) + local rotation = node.param2 % 32 -- get first 5 bits + local other = node.param2 - rotation + rotation = facedir_tbl[mode][rotation] or 0 + return rotation + other +end + +screwdriver.rotate.colorfacedir = screwdriver.rotate.facedir + +local wallmounted_tbl = { + [screwdriver.ROTATE_FACE] = {[2] = 5, [3] = 4, [4] = 2, [5] = 3, [1] = 0, [0] = 1}, + [screwdriver.ROTATE_AXIS] = {[2] = 5, [3] = 4, [4] = 2, [5] = 1, [1] = 0, [0] = 3} +} + +screwdriver.rotate.wallmounted = function(pos, node, mode) + local rotation = node.param2 % 8 -- get first 3 bits + local other = node.param2 - rotation + rotation = wallmounted_tbl[mode][rotation] or 0 + if minetest.get_item_group(node.name, "attached_node") ~= 0 then + -- find an acceptable orientation + for i = 1, 5 do + if not check_attached_node(pos, rotation) then + rotation = wallmounted_tbl[mode][rotation] or 0 + else + break + end + end + end + return rotation + other +end + +screwdriver.rotate.colorwallmounted = screwdriver.rotate.wallmounted + +-- Handles rotation +screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses) + if pointed_thing.type ~= "node" then + return + end + + local pos = pointed_thing.under + local player_name = user and user:get_player_name() or "" + + if minetest.is_protected(pos, player_name) then + minetest.record_protection_violation(pos, player_name) + return + end + + local node = minetest.get_node(pos) + local ndef = minetest.registered_nodes[node.name] + if not ndef then + return itemstack + end + -- can we rotate this paramtype2? + local fn = screwdriver.rotate[ndef.paramtype2] + if not fn and not ndef.on_rotate then + return itemstack + end + + local should_rotate = true + local new_param2 + if fn then + new_param2 = fn(pos, node, mode) + else + new_param2 = node.param2 + end + + -- Node provides a handler, so let the handler decide instead if the node can be rotated + if ndef.on_rotate then + -- Copy pos and node because callback can modify it + local result = ndef.on_rotate(vector.new(pos), + {name = node.name, param1 = node.param1, param2 = node.param2}, + user, mode, new_param2) + if result == false then -- Disallow rotation + return itemstack + elseif result == true then + should_rotate = false + end + elseif ndef.on_rotate == false then + return itemstack + elseif ndef.can_dig and not ndef.can_dig(pos, user) then + return itemstack + end + + if should_rotate and new_param2 ~= node.param2 then + node.param2 = new_param2 + minetest.swap_node(pos, node) + minetest.check_for_falling(pos) + end + + if not (minetest.settings:get_bool("creative_mode")) then + itemstack:add_wear(65535 / ((uses or 200) - 1)) + end + + return itemstack +end + +-- Screwdriver +minetest.register_tool("screwdriver:screwdriver", { + description = "Screwdriver", + inventory_image = "screwdriver.png", + on_use = function(itemstack, user, pointed_thing) + screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE, 200) + return itemstack + end, + on_place = function(itemstack, user, pointed_thing) + screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_AXIS, 200) + return itemstack + end, +}) + + +minetest.register_craft({ + output = "screwdriver:screwdriver", + recipe = { + {"mcl_core:iron_ingot"}, + {"mcl_core:stick"} + } +}) + +minetest.register_alias("screwdriver:screwdriver1", "screwdriver:screwdriver") +minetest.register_alias("screwdriver:screwdriver2", "screwdriver:screwdriver") +minetest.register_alias("screwdriver:screwdriver3", "screwdriver:screwdriver") +minetest.register_alias("screwdriver:screwdriver4", "screwdriver:screwdriver") diff --git a/mods/ITEMS/screwdriver/license.txt b/mods/ITEMS/screwdriver/license.txt new file mode 100644 index 00000000..d9b721bb --- /dev/null +++ b/mods/ITEMS/screwdriver/license.txt @@ -0,0 +1,50 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2013-2016 RealBadAngel, Maciej Kasatkin +Copyright (C) 2013-2016 Various Minetest developers and contributors + +This program is free software; you can redistribute it and/or modify it under the terms +of the GNU Lesser General Public License as published by the Free Software Foundation; +either version 2.1 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2013-2016 Gambit + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/ITEMS/screwdriver/textures/screwdriver.png b/mods/ITEMS/screwdriver/textures/screwdriver.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a56d558b34392a3275da443c0ba32a3b4db340 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ^~o&sQRU0b$k@@HkYFhM z^5x69X=XifR^?u5D@xrjUc49=7nhrxTUlATZ{NP1>7I!|jf^Ehe!&b5&u*jvIp&@& zjv*C{$q4}o4GhZ^G@QS#WC}@<_3MBb literal 0 HcmV?d00001 From eeac1435f9063bdb9d01bfd95e072ea6240ab4ff Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 15:14:16 +0100 Subject: [PATCH 02/22] Update screwdriver mod for MT 5.0.0 --- mods/ITEMS/screwdriver/init.lua | 5 ++++- mods/ITEMS/screwdriver/locale/screwdriver.de.tr | 2 ++ mods/ITEMS/screwdriver/locale/template.txt | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 mods/ITEMS/screwdriver/locale/screwdriver.de.tr create mode 100644 mods/ITEMS/screwdriver/locale/template.txt diff --git a/mods/ITEMS/screwdriver/init.lua b/mods/ITEMS/screwdriver/init.lua index 4d38bbc2..ca77e400 100644 --- a/mods/ITEMS/screwdriver/init.lua +++ b/mods/ITEMS/screwdriver/init.lua @@ -1,3 +1,5 @@ +local S = minetest.get_translator("screwdriver") + screwdriver = {} screwdriver.ROTATE_FACE = 1 @@ -143,8 +145,9 @@ end -- Screwdriver minetest.register_tool("screwdriver:screwdriver", { - description = "Screwdriver", + description = S("Screwdriver"), inventory_image = "screwdriver.png", + groups = { tool = 1 }, on_use = function(itemstack, user, pointed_thing) screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE, 200) return itemstack diff --git a/mods/ITEMS/screwdriver/locale/screwdriver.de.tr b/mods/ITEMS/screwdriver/locale/screwdriver.de.tr new file mode 100644 index 00000000..35c99c05 --- /dev/null +++ b/mods/ITEMS/screwdriver/locale/screwdriver.de.tr @@ -0,0 +1,2 @@ +# textdomain: screwdriver +Screwdriver=Schraubendreher diff --git a/mods/ITEMS/screwdriver/locale/template.txt b/mods/ITEMS/screwdriver/locale/template.txt new file mode 100644 index 00000000..b3871a11 --- /dev/null +++ b/mods/ITEMS/screwdriver/locale/template.txt @@ -0,0 +1,2 @@ +#textdomain: screwdriver +Screwdriver= From 5fd746710fc92a2590d2fbe1105fbb68e658f1bf Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 16:08:24 +0100 Subject: [PATCH 03/22] Add rotation support for pistons --- mods/ITEMS/REDSTONE/mesecons_pistons/init.lua | 70 ++++++++++++++----- 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/init.lua b/mods/ITEMS/REDSTONE/mesecons_pistons/init.lua index 65b1e9be..09309e5f 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pistons/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_pistons/init.lua @@ -177,7 +177,9 @@ local usagehelp_piston = S("This block can have one of 6 possible orientations." local on_rotate if minetest.get_modpath("screwdriver") then - on_rotate = screwdriver.disallow + on_rotate = function(pos, node, user, mode, new_param2) + return false + end end -- offstate @@ -206,7 +208,12 @@ minetest.register_node("mesecons_pistons:piston_normal_off", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_AXIS then + minetest.set_node(pos, {name="mesecons_pistons:piston_up_normal_off"}) + return false + end + end, }) -- onstate @@ -236,7 +243,7 @@ minetest.register_node("mesecons_pistons:piston_normal_on", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = false, }) -- pusher @@ -260,7 +267,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_normal", { node_box = piston_pusher_box, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, - on_rotate = on_rotate, + on_rotate = false, }) -- Sticky ones @@ -302,7 +309,12 @@ minetest.register_node("mesecons_pistons:piston_sticky_off", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_AXIS then + minetest.set_node(pos, {name="mesecons_pistons:piston_up_sticky_off"}) + return false + end + end, }) -- onstate @@ -332,7 +344,7 @@ minetest.register_node("mesecons_pistons:piston_sticky_on", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = false, }) -- pusher @@ -356,7 +368,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_sticky", { node_box = piston_pusher_box, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, - on_rotate = on_rotate, + on_rotate = false, }) -- @@ -414,7 +426,12 @@ minetest.register_node("mesecons_pistons:piston_up_normal_off", { }), _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_AXIS then + minetest.set_node(pos, {name="mesecons_pistons:piston_down_normal_off"}) + end + return false + end, }) -- onstate @@ -444,7 +461,7 @@ minetest.register_node("mesecons_pistons:piston_up_normal_on", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = false, }) -- pusher @@ -468,7 +485,7 @@ minetest.register_node("mesecons_pistons:piston_up_pusher_normal", { node_box = piston_up_pusher_box, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, - on_rotate = on_rotate, + on_rotate = false, }) @@ -509,7 +526,12 @@ minetest.register_node("mesecons_pistons:piston_up_sticky_off", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_AXIS then + minetest.set_node(pos, {name="mesecons_pistons:piston_down_sticky_off"}) + end + return false + end, }) -- onstate @@ -539,7 +561,7 @@ minetest.register_node("mesecons_pistons:piston_up_sticky_on", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = false, }) -- pusher @@ -563,7 +585,7 @@ minetest.register_node("mesecons_pistons:piston_up_pusher_sticky", { node_box = piston_up_pusher_box, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, - on_rotate = on_rotate, + on_rotate = false, }) -- @@ -621,7 +643,12 @@ minetest.register_node("mesecons_pistons:piston_down_normal_off", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_AXIS then + minetest.set_node(pos, {name="mesecons_pistons:piston_normal_off"}) + end + return false + end, }) -- onstate @@ -651,7 +678,7 @@ minetest.register_node("mesecons_pistons:piston_down_normal_on", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = false, }) -- pusher @@ -675,7 +702,7 @@ minetest.register_node("mesecons_pistons:piston_down_pusher_normal", { node_box = piston_down_pusher_box, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, - on_rotate = on_rotate, + on_rotate = false, }) -- Sticky @@ -711,7 +738,12 @@ minetest.register_node("mesecons_pistons:piston_down_sticky_off", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_AXIS then + minetest.set_node(pos, {name="mesecons_pistons:piston_sticky_off"}) + end + return false + end, }) -- onstate @@ -741,7 +773,7 @@ minetest.register_node("mesecons_pistons:piston_down_sticky_on", { }}, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, - on_rotate = on_rotate, + on_rotate = false, }) -- pusher @@ -765,7 +797,7 @@ minetest.register_node("mesecons_pistons:piston_down_pusher_sticky", { node_box = piston_down_pusher_box, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, - on_rotate = on_rotate, + on_rotate = false, }) From 644187e204c9b4777a28f57e836eb2da7fb9e69d Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 16:27:11 +0100 Subject: [PATCH 04/22] Add secondary screwdriver support for stairs --- mods/ITEMS/mcl_stairs/api.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/mods/ITEMS/mcl_stairs/api.lua b/mods/ITEMS/mcl_stairs/api.lua index a6e6c659..b28d2d24 100644 --- a/mods/ITEMS/mcl_stairs/api.lua +++ b/mods/ITEMS/mcl_stairs/api.lua @@ -121,6 +121,31 @@ function mcl_stairs.register_stair(subname, recipeitem, groups, images, descript return place_stair(itemstack, placer, pointed_thing) end, + on_rotate = function(pos, node, user, mode, param2) + -- Flip stairs vertically + if mode == screwdriver.ROTATE_AXIS then + local minor = node.param2 + if node.param2 >= 20 then + minor = node.param2 - 20 + if minor == 3 then + minor = 1 + elseif minor == 1 then + minor = 3 + end + node.param2 = minor + else + if minor == 3 then + minor = 1 + elseif minor == 1 then + minor = 3 + end + node.param2 = minor + node.param2 = node.param2 + 20 + end + minetest.set_node(pos, node) + return false + end + end, _mcl_hardness = hardness, }) From d502ac3bec40472abb4013f2ef676d874ad00a43 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 16:44:10 +0100 Subject: [PATCH 05/22] Add screwdriver support for itemframes --- mods/ITEMS/mcl_itemframes/init.lua | 40 +++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/mods/ITEMS/mcl_itemframes/init.lua b/mods/ITEMS/mcl_itemframes/init.lua index e844e95d..2d5ec5c0 100644 --- a/mods/ITEMS/mcl_itemframes/init.lua +++ b/mods/ITEMS/mcl_itemframes/init.lua @@ -56,14 +56,17 @@ local remove_item_entity = function(pos, node) end end -local update_item_entity = function(pos, node) +local update_item_entity = function(pos, node, param2) remove_item_entity(pos, node) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() local item = inv:get_stack("main", 1) if not item:is_empty() then + if not param2 then + param2 = node.param2 + end if node.name == "mcl_itemframes:item_frame" then - local posad = facedir[node.param2] + local posad = facedir[param2] pos.x = pos.x + posad.x*6.5/16 pos.y = pos.y + posad.y*6.5/16 pos.z = pos.z + posad.z*6.5/16 @@ -78,7 +81,7 @@ local update_item_entity = function(pos, node) end lua:_update_texture() if node.name == "mcl_itemframes:item_frame" then - local yaw = math.pi*2 - node.param2 * math.pi/2 + local yaw = math.pi*2 - param2 * math.pi/2 e:set_yaw(yaw) end end @@ -96,11 +99,6 @@ local drop_item = function(pos, node, meta) remove_item_entity(pos, node) end -local on_rotate -if minetest.get_modpath("screwdriver") then - on_rotate = screwdriver.disallow -end - minetest.register_node("mcl_itemframes:item_frame",{ description = S("Item Frame"), _doc_items_longdesc = S("Item frames are decorative blocks in which items can be placed."), @@ -189,7 +187,31 @@ minetest.register_node("mcl_itemframes:item_frame",{ local node = minetest.get_node(pos) drop_item(pos, node, meta) end, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then + -- Rotate face + local meta = minetest.get_meta(pos) + local node = minetest.get_node(pos) + + local objs = nil + if node.name == "mcl_itemframes:item_frame" then + objs = minetest.get_objects_inside_radius(pos, .5) + end + if objs then + for _, obj in ipairs(objs) do + if obj and obj:get_luaentity() and obj:get_luaentity().name == "mcl_itemframes:item" then + update_item_entity(pos, node, (node.param2+1) % 4) + break + end + end + end + return + elseif mode == screwdriver.ROTATE_AXIS then + -- Place screwdriver into itemframe + minetest.registered_nodes["mcl_itemframes:item_frame"].on_rightclick(pos, node, user, ItemStack("screwdriver:screwdriver")) + return false + end + end, }) minetest.register_craft({ From f218180eaad251bac6373965e900d0ca118b7585 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 16:58:25 +0100 Subject: [PATCH 06/22] Disable rotation of torches and signs --- mods/ITEMS/mcl_signs/init.lua | 8 ++------ mods/ITEMS/mcl_torches/init.lua | 1 + 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index 133c8dc6..a643bbf7 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -390,15 +390,11 @@ minetest.register_node("mcl_signs:wall_sign", { on_punch = function(pos, node, puncher) update_sign(pos) end, + on_rotate = false, _mcl_hardness = 1, _mcl_blast_resistance = 5, }) -local on_rotate -if minetest.get_modpath("screwdriver") then - on_rotate = screwdriver.disallow -end - -- Standing sign nodes. -- 4 rotations at 0°, 22.5°, 45° and 67.5°. -- These are 4 out of 16 possible rotations. @@ -424,8 +420,8 @@ local ssign = { on_punch = function(pos, node, puncher) update_sign(pos) end, + on_rotate = false, - on_rotate = on_rotate, _mcl_hardness = 1, _mcl_blast_resistance = 5, } diff --git a/mods/ITEMS/mcl_torches/init.lua b/mods/ITEMS/mcl_torches/init.lua index 24d61f9d..35cdf259 100644 --- a/mods/ITEMS/mcl_torches/init.lua +++ b/mods/ITEMS/mcl_torches/init.lua @@ -153,6 +153,7 @@ mcl_torches.register_torch = function(substring, description, doc_items_longdesc wall_side = {-0.5, -0.5, -0.1, -0.2, 0.1, 0.1}, }, sounds = sounds, + on_rotate = false, } if moredef ~= nil then for k,v in pairs(moredef) do From d25922b325e0a6ba13458cf33bf63cffee98caa8 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 17:46:55 +0100 Subject: [PATCH 07/22] Implement sign rotation --- mods/ITEMS/mcl_signs/init.lua | 104 +++++++++++++++++++++++++++------- 1 file changed, 85 insertions(+), 19 deletions(-) diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index a643bbf7..168d1083 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -201,7 +201,7 @@ local destruct_sign = function(pos) end end -local update_sign = function(pos, fields, sender) +local update_sign = function(pos, fields, sender, force_remove) local meta = minetest.get_meta(pos) if not meta then return @@ -214,16 +214,7 @@ local update_sign = function(pos, fields, sender) if text == nil then text = "" end - local objects = minetest.get_objects_inside_radius(pos, 0.5) - for _, v in ipairs(objects) do - local ent = v:get_luaentity() - if ent and ent.name == "mcl_signs:text" then - v:set_properties({textures={generate_texture(create_lines(text), ent._signnodename)}}) - return - end - end - - -- if there is no entity + local sign_info local n = minetest.get_node(pos) local nn = n.name @@ -233,12 +224,30 @@ local update_sign = function(pos, fields, sender) sign_info = signtext_info_wall[get_wall_signtext_info(n.param2)] end if sign_info == nil then + minetest.log("error", "[mcl_signs] Missing sign_info!") return end - local text_entity = minetest.add_entity({ + + local objects = minetest.get_objects_inside_radius(pos, 0.5) + local text_entity + for _, v in ipairs(objects) do + local ent = v:get_luaentity() + if ent and ent.name == "mcl_signs:text" then + if force_remove then + v:remove() + else + text_entity = v + break + end + end + end + + if not text_entity then + text_entity = minetest.add_entity({ x = pos.x + sign_info.delta.x, y = pos.y + sign_info.delta.y, z = pos.z + sign_info.delta.z}, "mcl_signs:text") + end text_entity:get_luaentity()._signnodename = nn text_entity:set_properties({textures={generate_texture(create_lines(text), nn)}}) @@ -390,7 +399,17 @@ minetest.register_node("mcl_signs:wall_sign", { on_punch = function(pos, node, puncher) update_sign(pos) end, - on_rotate = false, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + local r = screwdriver.rotate.wallmounted(pos, node, mode) + node.param2 = r + minetest.swap_node(pos, node) + update_sign(pos, nil, nil, true) + return true + else + return false + end + end, _mcl_hardness = 1, _mcl_blast_resistance = 5, }) @@ -420,27 +439,74 @@ local ssign = { on_punch = function(pos, node, puncher) update_sign(pos) end, - on_rotate = false, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign22_5" + minetest.swap_node(pos, node) + -- reverse rotation + elseif mode == screwdriver.ROTATE_AXIS then + node.name = "mcl_signs:standing_sign67_5" + node.param2 = (node.param2 - 1) % 4 + minetest.swap_node(pos, node) + end + update_sign(pos, nil, nil, true) + return true + end, _mcl_hardness = 1, _mcl_blast_resistance = 5, } --- 22.5° minetest.register_node("mcl_signs:standing_sign", ssign) + +-- 22.5° local ssign22_5 = table.copy(ssign) ssign22_5.mesh = "mcl_signs_sign22.5.obj" +ssign22_5.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign45" + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + node.name = "mcl_signs:standing_sign" + minetest.swap_node(pos, node) + end + update_sign(pos, nil, nil, true) + return true +end +minetest.register_node("mcl_signs:standing_sign22_5", ssign22_5) -- 45° -minetest.register_node("mcl_signs:standing_sign22_5", ssign22_5) local ssign45 = table.copy(ssign) ssign45.mesh = "mcl_signs_sign45.obj" +ssign45.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign67_5" + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + node.name = "mcl_signs:standing_sign22_5" + minetest.swap_node(pos, node) + end + update_sign(pos, nil, nil, true) + return true +end minetest.register_node("mcl_signs:standing_sign45", ssign45) -- 67.5° -local ssign67 = table.copy(ssign) -ssign67.mesh = "mcl_signs_sign67.5.obj" -minetest.register_node("mcl_signs:standing_sign67_5", ssign67) +local ssign67_5 = table.copy(ssign) +ssign67_5.mesh = "mcl_signs_sign67.5.obj" +ssign67_5.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign" + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + node.name = "mcl_signs:standing_sign45" + minetest.swap_node(pos, node) + end + update_sign(pos, nil, nil, true) + return true +end +minetest.register_node("mcl_signs:standing_sign67_5", ssign67_5) -- FIXME: Prevent entity destruction by /clearobjects minetest.register_entity("mcl_signs:text", { From bbcab7275e6e7751b4f4aaf44f0c3ecdf9432bfc Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 17:51:35 +0100 Subject: [PATCH 08/22] Make ladders rotatable --- mods/ITEMS/mcl_core/nodes_climb.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_core/nodes_climb.lua b/mods/ITEMS/mcl_core/nodes_climb.lua index 2c71f677..9e372d4a 100644 --- a/mods/ITEMS/mcl_core/nodes_climb.lua +++ b/mods/ITEMS/mcl_core/nodes_climb.lua @@ -1,6 +1,16 @@ -- Climbable nodes local S = minetest.get_translator("mcl_core") +local rotate_climbable = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + local r = screwdriver.rotate.wallmounted(pos, node, mode) + node.param2 = r + minetest.swap_node(pos, node) + return true + end + return false +end + minetest.register_node("mcl_core:ladder", { description = S("Ladder"), _doc_items_longdesc = S("A piece of ladder which allows you to climb vertically. Ladders can only be placed on the side of solid blocks and not on glass, leaves, ice, slabs, glowstone, nor sea lanterns."), @@ -73,7 +83,7 @@ minetest.register_node("mcl_core:ladder", { _mcl_blast_resistance = 2, _mcl_hardness = 0.4, - on_rotate = function() return false end, + on_rotate = rotate_climbable, }) @@ -156,5 +166,5 @@ minetest.register_node("mcl_core:vine", { _mcl_blast_resistance = 1, _mcl_hardness = 0.2, - on_rotate = function() return false end, + on_rotate = false, }) From 643b1e79336eed128dcbc168158831f7ba4a0b9e Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 18:27:30 +0100 Subject: [PATCH 09/22] Implement banner rotation with screwdriver --- mods/ITEMS/mcl_banners/init.lua | 58 ++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/mods/ITEMS/mcl_banners/init.lua b/mods/ITEMS/mcl_banners/init.lua index fc871511..d10b6847 100644 --- a/mods/ITEMS/mcl_banners/init.lua +++ b/mods/ITEMS/mcl_banners/init.lua @@ -50,6 +50,10 @@ local layer_ratio = 255 local standing_banner_entity_offset = { x=0, y=-0.499, z=0 } local hanging_banner_entity_offset = { x=0, y=-1.7, z=0 } +local rotation_level_to_yaw = function(rotation_level) + return (rotation_level * (math.pi/8)) + math.pi +end + local on_dig_banner = function(pos, node, digger) -- Check protection local name = digger:get_player_name() @@ -151,7 +155,7 @@ local spawn_banner_entity = function(pos, hanging, itemstack) return banner end -local respawn_banner_entity = function(pos, node) +local respawn_banner_entity = function(pos, node, force) local hanging = node.name == "mcl_banners:hanging_banner" local offset if hanging then @@ -165,7 +169,11 @@ local respawn_banner_entity = function(pos, node) for _, v in ipairs(objects) do local ent = v:get_luaentity() if ent and (ent.name == "mcl_banners:standing_banner" or ent.name == "mcl_banners:hanging_banner") then - return + if force then + v:remove() + else + return + end end end -- Spawn new entity @@ -174,17 +182,11 @@ local respawn_banner_entity = function(pos, node) local banner_entity = spawn_banner_entity(bpos, hanging, banner_item) -- Set rotation - local final_yaw local rotation_level = meta:get_int("rotation_level") - final_yaw = (rotation_level * (math.pi/8)) + math.pi + local final_yaw = rotation_level_to_yaw(rotation_level) banner_entity:set_yaw(final_yaw) end -local on_rotate -if minetest.get_modpath("screwdriver") then - on_rotate = screwdriver.disallow -end - -- Banner nodes. -- These are an invisible nodes which are only used to destroy the banner entity. -- All the important banner information (such as color) is stored in the entity. @@ -229,6 +231,18 @@ S("You can copy the pattern of a banner by placing two banners of the same color end, _mcl_hardness = 1, _mcl_blast_resistance = 5, + on_rotate = function(pos, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then + local meta = minetest.get_meta(pos) + local rot = meta:get_int("rotation_level") + rot = (rot - 1) % 16 + meta:set_int("rotation_level", rot) + respawn_banner_entity(pos, node, true) + return true + else + return false + end + end, }) -- Hanging banner node @@ -261,7 +275,29 @@ minetest.register_node("mcl_banners:hanging_banner", { end, _mcl_hardness = 1, _mcl_blast_resistance = 5, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then + local r = screwdriver.rotate.wallmounted(pos, node, mode) + node.param2 = r + minetest.swap_node(pos, node) + local meta = minetest.get_meta(pos) + local rot = 0 + if node.param2 == 2 then + rot = 12 + elseif node.param2 == 3 then + rot = 4 + elseif node.param2 == 4 then + rot = 0 + elseif node.param2 == 5 then + rot = 8 + end + meta:set_int("rotation_level", rot) + respawn_banner_entity(pos, node, true) + return true + else + return false + end + end, }) for colorid, colortab in pairs(mcl_banners.colors) do @@ -410,7 +446,7 @@ for colorid, colortab in pairs(mcl_banners.colors) do if rotation_level >= 16 then rotation_level = 0 end - final_yaw = (rotation_level * (math.pi/8)) + math.pi + final_yaw = rotation_level_to_yaw(rotation_level) end meta:set_int("rotation_level", rotation_level) From 2528463db6f5f075ddf738c3d7439c35fb1461ac Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 18:28:31 +0100 Subject: [PATCH 10/22] Remove reverse sign rotation --- mods/ITEMS/mcl_signs/init.lua | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index 168d1083..a4e6b3b1 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -443,11 +443,8 @@ local ssign = { if mode == screwdriver.ROTATE_FACE then node.name = "mcl_signs:standing_sign22_5" minetest.swap_node(pos, node) - -- reverse rotation elseif mode == screwdriver.ROTATE_AXIS then - node.name = "mcl_signs:standing_sign67_5" - node.param2 = (node.param2 - 1) % 4 - minetest.swap_node(pos, node) + return false end update_sign(pos, nil, nil, true) return true @@ -467,8 +464,7 @@ ssign22_5.on_rotate = function(pos, node, user, mode) node.name = "mcl_signs:standing_sign45" minetest.swap_node(pos, node) elseif mode == screwdriver.ROTATE_AXIS then - node.name = "mcl_signs:standing_sign" - minetest.swap_node(pos, node) + return false end update_sign(pos, nil, nil, true) return true @@ -483,8 +479,7 @@ ssign45.on_rotate = function(pos, node, user, mode) node.name = "mcl_signs:standing_sign67_5" minetest.swap_node(pos, node) elseif mode == screwdriver.ROTATE_AXIS then - node.name = "mcl_signs:standing_sign22_5" - minetest.swap_node(pos, node) + return false end update_sign(pos, nil, nil, true) return true @@ -500,8 +495,7 @@ ssign67_5.on_rotate = function(pos, node, user, mode) node.param2 = (node.param2 + 1) % 4 minetest.swap_node(pos, node) elseif mode == screwdriver.ROTATE_AXIS then - node.name = "mcl_signs:standing_sign45" - minetest.swap_node(pos, node) + return false end update_sign(pos, nil, nil, true) return true From 33ef45245ccd00b9d857714242418667630684d4 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 18:30:19 +0100 Subject: [PATCH 11/22] Fix incorrect return value of piston on_rotate --- mods/ITEMS/REDSTONE/mesecons_pistons/init.lua | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/init.lua b/mods/ITEMS/REDSTONE/mesecons_pistons/init.lua index 09309e5f..7c2feb7c 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pistons/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_pistons/init.lua @@ -175,13 +175,6 @@ local pistonspec_normal = { local usagehelp_piston = S("This block can have one of 6 possible orientations.") -local on_rotate -if minetest.get_modpath("screwdriver") then - on_rotate = function(pos, node, user, mode, new_param2) - return false - end -end - -- offstate minetest.register_node("mesecons_pistons:piston_normal_off", { description = S("Piston"), @@ -211,7 +204,7 @@ minetest.register_node("mesecons_pistons:piston_normal_off", { on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_AXIS then minetest.set_node(pos, {name="mesecons_pistons:piston_up_normal_off"}) - return false + return true end end, }) @@ -312,7 +305,7 @@ minetest.register_node("mesecons_pistons:piston_sticky_off", { on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_AXIS then minetest.set_node(pos, {name="mesecons_pistons:piston_up_sticky_off"}) - return false + return true end end, }) @@ -429,6 +422,7 @@ minetest.register_node("mesecons_pistons:piston_up_normal_off", { on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_AXIS then minetest.set_node(pos, {name="mesecons_pistons:piston_down_normal_off"}) + return true end return false end, @@ -529,6 +523,7 @@ minetest.register_node("mesecons_pistons:piston_up_sticky_off", { on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_AXIS then minetest.set_node(pos, {name="mesecons_pistons:piston_down_sticky_off"}) + return true end return false end, @@ -646,6 +641,7 @@ minetest.register_node("mesecons_pistons:piston_down_normal_off", { on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_AXIS then minetest.set_node(pos, {name="mesecons_pistons:piston_normal_off"}) + return true end return false end, @@ -741,6 +737,7 @@ minetest.register_node("mesecons_pistons:piston_down_sticky_off", { on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_AXIS then minetest.set_node(pos, {name="mesecons_pistons:piston_sticky_off"}) + return true end return false end, From ad13c71bf1f84ffbefbcc89e6649081be4aa6c0c Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 18:49:59 +0100 Subject: [PATCH 12/22] Add partial rotation of levers --- .../REDSTONE/mesecons_walllever/init.lua | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/REDSTONE/mesecons_walllever/init.lua b/mods/ITEMS/REDSTONE/mesecons_walllever/init.lua index 3c04f72a..035c32e0 100644 --- a/mods/ITEMS/REDSTONE/mesecons_walllever/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_walllever/init.lua @@ -2,6 +2,30 @@ local S = minetest.get_translator("mesecons_wallever") local lever_get_output_rules = mesecon.rules.buttonlike_get +local on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + if node.param2 == 10 then + node.param2 = 13 + minetest.swap_node(pos, node) + return true + elseif node.param2 == 13 then + node.param2 = 10 + minetest.swap_node(pos, node) + return true + elseif node.param2 == 8 then + node.param2 = 15 + minetest.swap_node(pos, node) + return true + elseif node.param2 == 15 then + node.param2 = 8 + minetest.swap_node(pos, node) + return true + end + end + -- TODO: Rotate axis + return false +end + -- LEVER minetest.register_node("mesecons_walllever:wall_lever_off", { drawtype = "mesh", @@ -102,7 +126,7 @@ minetest.register_node("mesecons_walllever:wall_lever_off", { rules = lever_get_output_rules, state = mesecon.state.off }}, - on_rotate = false, + on_rotate = on_rotate, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, }) @@ -136,7 +160,7 @@ minetest.register_node("mesecons_walllever:wall_lever_on", { rules = lever_get_output_rules, state = mesecon.state.on }}, - on_rotate = false, + on_rotate = on_rotate, _mcl_blast_resistance = 2.5, _mcl_hardness = 0.5, }) From da47d7917cf30c8baa24be790a92072bccd3991d Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 19:06:18 +0100 Subject: [PATCH 13/22] Disable rotation of corner stairs --- mods/ITEMS/mcl_stairs/cornerstair.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mods/ITEMS/mcl_stairs/cornerstair.lua b/mods/ITEMS/mcl_stairs/cornerstair.lua index 33d52e98..2d5f214e 100644 --- a/mods/ITEMS/mcl_stairs/cornerstair.lua +++ b/mods/ITEMS/mcl_stairs/cornerstair.lua @@ -664,6 +664,7 @@ function mcl_stairs.cornerstair.add(name, stairtiles) stairs = {name, name.."_outer", name.."_inner"}, after_dig_node = function(pos, oldnode) after_dig_node(pos, oldnode) end, _mcl_hardness = node_def._mcl_hardness, + on_rotate = false, }) minetest.register_node(":"..name.."_inner", { description = node_def.description, @@ -687,6 +688,7 @@ function mcl_stairs.cornerstair.add(name, stairtiles) stairs = {name, name.."_outer", name.."_inner"}, after_dig_node = function(pos, oldnode) after_dig_node(pos, oldnode) end, _mcl_hardness = node_def._mcl_hardness, + on_rotate = false, }) if minetest.get_modpath("doc") then From 26ac17f1adeedfaf64c6f190060bc610ce1cd20e Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 19:09:44 +0100 Subject: [PATCH 14/22] Can flip slabs with screwdriver --- mods/ITEMS/mcl_stairs/api.lua | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_stairs/api.lua b/mods/ITEMS/mcl_stairs/api.lua index b28d2d24..9f396473 100644 --- a/mods/ITEMS/mcl_stairs/api.lua +++ b/mods/ITEMS/mcl_stairs/api.lua @@ -143,7 +143,7 @@ function mcl_stairs.register_stair(subname, recipeitem, groups, images, descript node.param2 = node.param2 + 20 end minetest.set_node(pos, node) - return false + return true end end, _mcl_hardness = hardness, @@ -262,6 +262,15 @@ function mcl_stairs.register_slab(subname, recipeitem, groups, images, descripti end, _mcl_hardness = hardness, _mcl_other_slab_half = upper_slab, + on_rotate = function(pos, node, user, mode, param2) + -- Flip slab + if mode == screwdriver.ROTATE_AXIS then + node.name = upper_slab + minetest.set_node(pos, node) + return true + end + return false + end, } minetest.register_node(":"..lower_slab, slabdef) @@ -280,6 +289,15 @@ function mcl_stairs.register_slab(subname, recipeitem, groups, images, descripti topdef._doc_items_usagehelp = nil topdef.drop = lower_slab topdef._mcl_other_slab_half = lower_slab + topdef.on_rotate = function(pos, node, user, mode, param2) + -- Flip slab + if mode == screwdriver.ROTATE_AXIS then + node.name = lower_slab + minetest.set_node(pos, node) + return true + end + return false + end topdef.node_box = { type = "fixed", fixed = {-0.5, 0, -0.5, 0.5, 0.5, 0.5}, From 31fbe97e4ee8f1a604e2bc6403ee8ca8e654b8db Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 19:28:08 +0100 Subject: [PATCH 15/22] Allow axis rotation of trapdoors --- mods/ITEMS/mcl_doors/api_trapdoors.lua | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_doors/api_trapdoors.lua b/mods/ITEMS/mcl_doors/api_trapdoors.lua index 9e69a552..dc507023 100644 --- a/mods/ITEMS/mcl_doors/api_trapdoors.lua +++ b/mods/ITEMS/mcl_doors/api_trapdoors.lua @@ -19,7 +19,31 @@ end local on_rotate if minetest.get_modpath("screwdriver") then - on_rotate = screwdriver.rotate_simple + on_rotate = function(pos, node, user, mode, param2) + -- Flip trapdoor vertically + if mode == screwdriver.ROTATE_AXIS then + local minor = node.param2 + if node.param2 >= 20 then + minor = node.param2 - 20 + if minor == 3 then + minor = 1 + elseif minor == 1 then + minor = 3 + end + node.param2 = minor + else + if minor == 3 then + minor = 1 + elseif minor == 1 then + minor = 3 + end + node.param2 = minor + node.param2 = node.param2 + 20 + end + minetest.set_node(pos, node) + return true + end + end end function mcl_doors:register_trapdoor(name, def) From 4e08e978f555ee15298936722ecf506e469f56ba Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 9 Dec 2019 19:41:10 +0100 Subject: [PATCH 16/22] Add screwdriver support for armor stand --- .../minetest-3d_armor/3d_armor_stand/init.lua | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mods/ITEMS/minetest-3d_armor/3d_armor_stand/init.lua b/mods/ITEMS/minetest-3d_armor/3d_armor_stand/init.lua index c2282f2c..85c7c3de 100644 --- a/mods/ITEMS/minetest-3d_armor/3d_armor_stand/init.lua +++ b/mods/ITEMS/minetest-3d_armor/3d_armor_stand/init.lua @@ -83,11 +83,6 @@ local drop_armor = function(pos) end end -local on_rotate -if minetest.get_modpath("screwdriver") then - on_rotate = screwdriver.disallow -end - -- TODO: The armor stand should be an entity minetest.register_node("3d_armor_stand:armor_stand", { description = S("Armor Stand"), @@ -231,7 +226,15 @@ minetest.register_node("3d_armor_stand:armor_stand", { update_entity(pos) end, pos) end, - on_rotate = on_rotate, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + update_entity(pos) + return true + end + return false + end, }) minetest.register_entity("3d_armor_stand:armor_entity", { From 0d3b8e11c3b7d073166cca0dc1fd42cf5b64ce90 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 11 Dec 2019 00:46:55 +0100 Subject: [PATCH 17/22] Hide WIP mobs in creative inventory --- mods/ENTITIES/mobs_mc/ender_dragon.lua | 2 +- mods/ENTITIES/mobs_mc/parrot.lua | 2 +- mods/ENTITIES/mobs_mc/witch.lua | 2 +- mods/ENTITIES/mobs_mc/wither.lua | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/ENTITIES/mobs_mc/ender_dragon.lua b/mods/ENTITIES/mobs_mc/ender_dragon.lua index ccd2fe30..10a82ce3 100644 --- a/mods/ENTITIES/mobs_mc/ender_dragon.lua +++ b/mods/ENTITIES/mobs_mc/ender_dragon.lua @@ -150,4 +150,4 @@ mobs:register_arrow(":mobs_mc:fireball2", { end }) -mobs:register_egg("mobs_mc:enderdragon", S("Ender Dragon"), "mobs_mc_spawn_icon_dragon.png", 0) +mobs:register_egg("mobs_mc:enderdragon", S("Ender Dragon"), "mobs_mc_spawn_icon_dragon.png", 0, true) diff --git a/mods/ENTITIES/mobs_mc/parrot.lua b/mods/ENTITIES/mobs_mc/parrot.lua index 9474c2b7..ab798842 100644 --- a/mods/ENTITIES/mobs_mc/parrot.lua +++ b/mods/ENTITIES/mobs_mc/parrot.lua @@ -85,7 +85,7 @@ mobs:register_mob("mobs_mc:parrot", { --mobs:spawn_specific("mobs_mc:parrot", mobs_mc.spawn.jungle, {"air"}, 0, minetest.LIGHT_MAX+1, 30, 30000, 1, mobs_mc.spawn_height.water+1, mobs_mc.spawn_height.overworld_max) -- spawn eggs -mobs:register_egg("mobs_mc:parrot", S("Parrot"), "mobs_mc_spawn_icon_parrot.png", 0) +mobs:register_egg("mobs_mc:parrot", S("Parrot"), "mobs_mc_spawn_icon_parrot.png", 0, true) if minetest.settings:get_bool("log_mods") then minetest.log("action", "MC Parrot loaded") diff --git a/mods/ENTITIES/mobs_mc/witch.lua b/mods/ENTITIES/mobs_mc/witch.lua index db183e67..be7fda08 100644 --- a/mods/ENTITIES/mobs_mc/witch.lua +++ b/mods/ENTITIES/mobs_mc/witch.lua @@ -101,7 +101,7 @@ mobs:register_arrow(":mobs:potion_arrow", { --mobs:spawn_specific("mobs_mc:witch", mobs_mc.spawn.jungle, {"air"}, 0, minetest.LIGHT_MAX-6, 12, 20000, 2, mobs_mc.spawn_height.water-6, mobs_mc.spawn_height.overworld_max) -- spawn eggs -mobs:register_egg("mobs_mc:witch", S("Witch"), "mobs_mc_spawn_icon_witch.png", 0) +mobs:register_egg("mobs_mc:witch", S("Witch"), "mobs_mc_spawn_icon_witch.png", 0, true) if minetest.settings:get_bool("log_mods") then minetest.log("action", "MC mobs loaded") diff --git a/mods/ENTITIES/mobs_mc/wither.lua b/mods/ENTITIES/mobs_mc/wither.lua index 871496d0..31fa0ada 100644 --- a/mods/ENTITIES/mobs_mc/wither.lua +++ b/mods/ENTITIES/mobs_mc/wither.lua @@ -147,7 +147,7 @@ mobs:register_arrow(":mobs_mc:fireball", { end }) --Spawn egg -mobs:register_egg("mobs_mc:wither", S("Wither"), "mobs_mc_spawn_icon_wither.png", 0) +mobs:register_egg("mobs_mc:wither", S("Wither"), "mobs_mc_spawn_icon_wither.png", 0, true) --Compatibility mobs:alias_mob("nssm:mese_dragon", "mobs_mc:wither") From a177d3cbbae17f8bfb3d39a34e88ea02b1350636 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 11 Dec 2019 02:02:16 +0100 Subject: [PATCH 18/22] More saturated grass color --- mods/ITEMS/mcl_core/textures/default_grass.png | Bin 428 -> 428 bytes .../mcl_core/textures/default_grass_side.png | Bin 306 -> 423 bytes .../textures/mcl_core_palette_grass.png | Bin 93 -> 138 bytes .../mcl_flowers_double_plant_fern_inv.png | Bin 178 -> 429 bytes .../mcl_flowers_double_plant_grass_inv.png | Bin 166 -> 421 bytes .../textures/mcl_flowers_fern_inv.png | Bin 202 -> 454 bytes .../textures/mcl_flowers_tallgrass_inv.png | Bin 196 -> 447 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/ITEMS/mcl_core/textures/default_grass.png b/mods/ITEMS/mcl_core/textures/default_grass.png index 56176e5ee73cfa906cbd7c0155f3fb9241849247..dd57bb1ce169daf7c0464f2cb9fcab335b7d5f6f 100644 GIT binary patch delta 96 zcmZ3(yoPx~s<5`dhE9xuezuvKyVC#v|4-f8`)Oi@HrHbwZUzmhcc=cvOkCR{WvOdm xq-$UvVq|D#Xk=wKdAa7#Ug_8(0~bXd4(>85oF1r*cj9W>gR~wKA}@GO^G$FanA)86;Uvu38<*YJnWi0*}aI1_r(ZAk3I` zt&<>&pI^hnqn|>fNb-F+d?tPZ!4!j_Yd=MvFEm2(TXTW)b7vAkI`#z?)FK#IZ0z|d0H&`8(NFvP&X%EZ9R$V?l^Ffgc9wqB2- zAvZrIGp!Q02A;ZRVW0*HkPX54X(i=}MX3x0iJ5sNdU>fO3MP66dZwwZMyWtG44$rj JF6*2UngD(Yd;I_a delta 291 zcmV+;0o?wl1F`~;7=H)`0000V^Z#K00004VQb$4nuFf3k0002&Nkl_zI*<0V%8${D?&e3m0ftAjMJ+;8)GOee-tS zt~#8K6Mz>9*Ji-hz}akp6$Q?x7IqOUtt6wC&8-M;QtQEaWEz@6D`g5Ap; zVJs`oAD_xPUz-8Z;s%!QFw_I4XzA+?FPh^j{=ngMoJ{e{lMV^91b{BT;HNQd{=?V# pTfM&Tr{}jl{~Ut->IWXUhZ~7`XfDHhgG~Sc002ovPDHLkV1g0YgSr3! diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_palette_grass.png b/mods/ITEMS/mcl_core/textures/mcl_core_palette_grass.png index 2c465917a88e088e894e3e049ebc6b436d442b84..d338c3433d5a3bc1fc7daad9eabad1fb249c8723 100644 GIT binary patch delta 108 zcma#;Vw|9o#+Kym?!xex;XlLEALmuF7#J8h3p^r=85p>QL70(Y)*K0-AbW|YuPggw z9&QGG>1#a^yg(swPZ!4!jq}MJR#J8U+{6xRNU$z$Xk=tKV$0ldpXU}oXkrG1_p6Y7sn8d^T`?()9e1Zi5=FEU|rnM$jA`N21sKjz_P(2y)Y zy#5(b$lue&F@)oKa)JWG#7Oh{4M}OK&hD%mCTvs+&}GOJW>+>6d2=7APPN1}q9i4; zB-JXpC>2OC7#SE^>KYp98XATe7+9GYSQ(jW0~rPeKBpCpP&DM`r(~v8;?`h0ZDt=( xg9Ok9&642!w370~qEv>0#LT=By}Z;C1rt33J=4@yqg0?G22WQ%mvv4FO#u8&UyT3& delta 98 zcmZ3>yoqswim6b5Plzi61A}$GgL#6bS&+VKySIUtrrqmBHb7Cvk|4ie28U-i(tsR4 zPZ!6K3dUpwmWk)gl^8cfr8>K_ZkVu9DL|JYQBEfgH{PkH}&M25z8} zxCI#3D(@`?3bL1Y`ns||=HX`0kSssE{uxln#nZ(xgyVX0f`XJmlc0bG!$w8{>(vaL zsf=uFX%jR$448@}T6iQScoVop4_JjtN{Ad(^5j{QAjqc1wv0uBImx1hkzuU~vr6fA zu}GkKswJ)wB`Jv|saDBFsX&Us$iUE2*U(7U&@jZnz{FVdQj@c=p2>|E1F$Mqt diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_fern_inv.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_fern_inv.png index 66a58b7b46c89d4c761cb46410f86f9738d4d031..1bdac2d248599feba1561f6d562287ae49ed9332 100644 GIT binary patch delta 403 zcmX@bc#L_1NI+?7=9<^TWx-`YR@B~XsB zB*-tA!Qt7BG!Q4r+uem-EV1J?ki%Kv5m~Iqz`(Z`gc;p`Pgn~SWiRpcb!C6d!_A-} zS$=r^GoVn4r;B3<$Mxid1Kbm1Wa=Fh)0{=s6V+W8_&F|Bm@2@|#ug@iUBEqgfs$jO zqoC_W2Szrxr4FG>1zcI#*p`PZy%3_hVAh5$S2k=BU}NC8!^;z|chm!Du4;*EL`h0w zNvc(HQ7VvPFfuT-)HO8HH8cz{Ft9Q)ure~$1~Lo`d`>GG!8AmHb>!x!WTsW()?qts zW*<<8B*=>3{Irtt#G+J&g2c?c61}|C5(N`I13g0{XO`?YKt&9mu6{1-oD!M<#&&YO delta 149 zcmX@ce2Q^`iiK!^Plzi61A}$GgL#6bW4*gskiLPJrmmyP?zeeYfD())L4Lsu4$p3+ z0XfN@E{-7;jL8T1Ctj2ZYI0z77FADFcV%24w^U)O06QC7nD})8_vG*e4J#IOEXr8G zz`QtU!K$E+MNG`i!K;EYRtW|8Mnq*rL~$@PaNObLahf1f1T>bx)78&qol`;+06dW` A-T(jq diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tallgrass_inv.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tallgrass_inv.png index cce0eba70cf6b934a836f3d569b2825d1f88e7b4..57c413e0aa8baf969e8da12b577a5ed22ab6695b 100644 GIT binary patch delta 336 zcmX@YxSx4~NqHB2gPbYcut?B&(mmHz+#f2Z7H3s8=+ zB*-tA!Qt7BG!Q4r+uem-EV1J?ki%Kv5m~Iqz`%C^gc-B0b#ekl*-JcqUD+S=a5HE~ zmLFdK3@8-m>Eal|aXmRffooz+M7{ko_fDXwYKdz^NlIc#s#S7PDv)9@GBC8%H8j#S zGz>8?ure{QGBVW$G7JoSPAeLrXvob^$xN%nt-*HM%s!w736KrJ`DrEPiAAXl1&Nt? fC3< Date: Wed, 11 Dec 2019 02:02:34 +0100 Subject: [PATCH 19/22] Change menu icon to match new grass color --- menu/icon.png | Bin 1471 -> 4158 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/menu/icon.png b/menu/icon.png index 4db6979f81b6de3e4a53e577b99f2730431459e7..caed255e6ad79c83af2837e199ea2b0a49a11977 100644 GIT binary patch literal 4158 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 literal 1471 zcmV;w1wi_VP)Bu+6PG9Xt(J4`(?ZdpxZPeg!e zT}C%B87LVN1{1E@y24)s^ z-p8p&B&EdVMLgL|AWnTIyoD1qi|h0O{~GysDgsBA!4eol^!V1-!dkdG?~nE!PKhT? zt~0{5&*!)ZjWnqJHGyC&pH&oBbXI*Z3`G8N!n>sBCy$DNjWgPgdHx1o?}o)GJ_g}B z!y#@fbY!@{S~AT+;k#%(;&T=*Utf-zV8lnFd%IH3c!aX>pod+w@c)yj^^k8Z=hj?S zIXW$HW%GQsQfj@fgA0fJeRGQ`$k8g+H{c+`ti|~-bHwL1-SwSQ^}Tjsv-LW0@<;bU zTe&m-5HUos684hdma7myyl|#{y8zh5};DeXM*SJ6`I`XA4UIiDu+hYBa>ohQLx2t4=TniuWG)4{^Y1RiZa zz883{u|E!dIxB|@C#6hgWLgXl9`wD^ikmiFMpnW zM&{s&pVChX2mT6QO2Q3({)7MisBlWUUa#;a;a;?L;N^3-^B)yXDYq+uPgg)>cygIp z?%o#|md+ zglAo|<2h@d;B(fx&O*;qg+EX@49m%R0$$+P^>!->KBak1@~5eqyS^^!~h@*q`9l-YcBor_;_S?aAPC5?|cc#lKc-wRZ|9 zcm_RCJWS#lBxZ%jUE`vX_Ilx*9*{IGC4`CRguT_1PGn@Z`bY#8=YC zg|nNj--Ac*+XnwEg}|30-mH%c2hH8PKgqVO8-rD_XORq_bMNAZg%dm?JaQEuJLhSV zJmjv}c#<-{^le-?I-#15xM75E@V|xMYqpIGCqPnv?(}89^1!BX zTsW0znYf6}sTZ=~2N@R*9)WZox3_zLl^+()53fP{hkxwkMSfH`4<2)0VR*9_`ElWh z>NR+udoA^g__%N|jcKoOc%|3Z?P1|qGk9bl$eZ|}a9T6TwrN0rR~{6O505`K2k=4R zJa{hch&m`7bofq=nS;V1@W=5%;eeCl-k@;IKEnrvWA>RfD4Y+WLE-$p6#H*9Fmx1* Z0sukJ#?8k~_VfS%002ovPDHLkV1kLx%3=Tj From 753acdf27208565612f946e16bd1e80da1b97c34 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 11 Dec 2019 03:37:53 +0100 Subject: [PATCH 20/22] Update sand, sandstone, TNT, iron nugget textures --- mods/ITEMS/mcl_core/textures/default_sand.png | Bin 215 -> 315 bytes .../mcl_core/textures/mcl_core_iron_nugget.png | Bin 136 -> 255 bytes .../mcl_core/textures/mcl_core_red_sand.png | Bin 215 -> 341 bytes .../textures/mcl_core_red_sandstone_bottom.png | Bin 438 -> 350 bytes .../textures/mcl_core_red_sandstone_carved.png | Bin 222 -> 357 bytes .../textures/mcl_core_red_sandstone_normal.png | Bin 209 -> 355 bytes .../textures/mcl_core_red_sandstone_smooth.png | Bin 217 -> 350 bytes .../textures/mcl_core_red_sandstone_top.png | Bin 167 -> 333 bytes .../textures/mcl_core_sandstone_bottom.png | Bin 449 -> 330 bytes .../textures/mcl_core_sandstone_carved.png | Bin 225 -> 337 bytes .../textures/mcl_core_sandstone_normal.png | Bin 207 -> 338 bytes .../textures/mcl_core_sandstone_smooth.png | Bin 217 -> 330 bytes .../textures/mcl_core_sandstone_top.png | Bin 167 -> 318 bytes .../mcl_tnt/textures/default_tnt_bottom.png | Bin 227 -> 274 bytes .../ITEMS/mcl_tnt/textures/default_tnt_side.png | Bin 252 -> 339 bytes mods/ITEMS/mcl_tnt/textures/default_tnt_top.png | Bin 223 -> 380 bytes 16 files changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/ITEMS/mcl_core/textures/default_sand.png b/mods/ITEMS/mcl_core/textures/default_sand.png index 6411f86e08d993991a3762062bfa4f5c35889b7e..7fc254aa232078d5edd22ecf598146297d5f740d 100644 GIT binary patch delta 300 zcmV+{0n`510lNZ_7=H)?0001xk!Usm000DMK}|sb0I`n?{9y$E000SaNLh0L01mwX z01mwYNBfYi0000PbVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@KG4UX2l>h($xJg7o zR5(wCk--T9K@3Gx^Y!20VLT3$Ozlu!Ft%!XN&I41Xd#mLYjR6K3OeJBj!G z44=oPvOll1wsiq%BVZc?IH=NWh^7h^6{t`NUu|e;Y8~tm8L-NEwvnjo3xTJo+Ot~i z45&AQRBslXqmDG{+13g`D+7{T^*k9B+w*4C yZ;%0cmURAQb0t1r$$@4YIsL~q2^j3|wk}^;69$IxH37c>0000 zU;GDyzHA8zWPS@7r0h{LmDNugqfzz_sukiR&U>cv7h@-A}f&3S>O>_%)r2R2!t6$HM|;t zf|4b!5hcO-X(i=}MX3x0iJ5sNdU>fO3MP66dWM!)u5C&IDys2xaSXBWUwYn<&%r^U z^`Y%bw}k>rUxaW?JtkQqlpfF-+&eRAlJ7ItjQ&U7Pqyc~3QdepNI7t#VIre4^RYYI z^o;x$+dcYju+w#3IsEp2n|OO_x8`cCJnd9$lb-P9;pH1p goo;MB?>%=hw9fs0zAvc02Ivq5Pgg&ebxsLQ08y-5%>V!Z delta 119 zcmey**ugkKqJV{&fq~)e-A6${N;JSH#1%+Cee$5FsOaSJgX`BUZEbB03G~1F@!JQW z1Y=2%UoeBivm0qZj-scFV@L&KvVyb$mt$t4uqwylBc{A(5{d(xS9y9XTn%AZu$^g2 T06Lfe02gnPU&TfM000SaNLh0L01FNP01FNQK)&HY0000PbVXQnQ*UN;cVTj6 z0B~VxZgehgWpp4kE-)@KG4UX2l>h($wn;=mR5(wCkueU!Kz|Gb{oe>^Q@{gg`2s)5 zBX|KNeOkua)5h`%A&sJwJ?pbB@w%PF`+kPc<5Jn5S6bV;fV2^?jR71~X*NVtg^CJP zsD!UJG&Hpi_J|Bv zU;GDyzHA8zWPS@7r0h{LmDNugqfzz_sukiR_$N7CZpzm$&h1FL?W=Q%u?;OQWC?Ydp+r3VEnk~j!fTRT$ zS}+ALidbkYWX`^xAb>&DP}#_OpGH)EX`MDC<0A>63M8jY3z!R202bLyfCk2msKUC; z>$moDSNlFqtw$&5Z7FGLJAuxt8`@HPgXsVm2|2XZUowhvb$C1@~ delta 423 zcmV;Y0a*Ut0=5H?8Gi!+001a04^sdD0Hsh&R7KRDipi9M?6#)Omxa}xiq@Zt;H{nC zrjg8+gvynJ(3^+jub&Y6bCl7Y;ah0mCV*r%B3w4~Rjmw)K9qu{5K?zpGfp^e(8 znc1h9y^DI=shY%)f6<(X%a?@KrIyQ;gT|AA)SQXFjC<>~rPQRAo0dLe0002YNkl$jIIW|qwCKg>V0s{&*b{8QA%I=>AWAx_dva?22fLa8(esaU%Z zP3t=n=-JBPf`2jNgu+h5ELgav)6NUf%zG5oaA*Wa+n$CZlNhl-%bd~5RP^ly0tIHd zx{SEqvW52wMU-Jd7i~zl);|>n5Y9zj RWeorT002ovPDHLkV1mxD;jaJy diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_carved.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_carved.png index 675e923a62ac495c347f9be2ecc05648acd4fa7c..fc8b2a09ea3c424ced4c8e2ddaa4ddf2b39343a3 100644 GIT binary patch delta 342 zcmcb|_>^gaL_G%+0|Uc^i5X@)^mS#w$HB%WqFq;)p$HU`C~=J_3C>R|DNig)Whh9@%q!8$OD$0_(KFODO>vJ1 z0;;*->Eak-;a@soH}4?_0oGX6i6;wM4rtahia2yVVOzkewSYrQK}9`vjiqiiyT{_M zb@y)XF8*$j7eD>)XOnyU(n)QBeGSW;&$6$3d@8KRS!BUWiOF}%vbiSJ%Ox8w5R2mN zU2YWMbK12)t|~zM-zkT+ed{Kezv^$CwL0f@Jg3Ah&Z8!R{J);a!$>#-i;LGzcU`I1I>x82w6kA-d*GJ^#!3ifxqQ(VZI%X4o z(gZqr=i<#OS<&d47c!uZf!oX;wFVLT9-r>kcK2%!OAc^me}@+!L}4t{3IG5A07*qo IM6N<$g8yV&Q2+n{ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_normal.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_normal.png index 04475f3234bfb6a61f1477d8e5b9b5848928a970..446f35cd265d6d7765e7cc2d6e290714a0924177 100644 GIT binary patch delta 340 zcmV-a0jvJe0pkLY7=H)?0001xk!Usm000DMK}|sb0I`n?{9y$E000SaNLh0L01FNP z01FNQK)&HY00007bV*G`2i^z;3@8|+Wuue;000O14Z<)KL_H-HbWov?mVbf_K#RlzumTe>L?)o5 zr{zU2I*b+R$@=Gi_w86Ip}a4>)blVIz(MPC zKf!#0R)vGD&42+nq11!xz;&}y)&?leEtNn3BGdi7lJi8FRkyakS8B-kn(2g0^{%W+ z$P-ZjJ4H9dolQVYHFJOppAHI+HW^>)-$#Q1?}{`d&V~7-H7!0R#61OS0a__I!8O=g m`1u-|?(*-AY{t7e4&4`^0jB^B@!4nq0000w<+1-zgI_)Gzdn*x^P_Z|rA*^5>n*uKg2 zgMop=t(2TV@_DjETk~1rN%z87Ln<7ojR vwR<4}G^a8K+G9l!F%2CU$==BOMy@3OGm{bZylHp+00000NkvXXu0mjffelkP diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_smooth.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_smooth.png index 6e3839a09326e82110d6e058ace96672449e9e47..f6e6ea499e864420eca14012065cf2fd7415fefc 100644 GIT binary patch delta 335 zcmV-V0kHnr0p0?T7=H)?0001xk!Usm000DMK}|sb0I`n?{9y$E000SaNLh0L01FQQ z01FQRlKBIr00007bV*G`2i^z;3@0DGnJV}I000u+bY*`wu_IBpoZ}?n~zsLD~IiT-t?uFG?L}p0(Iqw|BPADQXVB5V;dzvlAT7aYl z7FsX`Fp5}cEM(5Uo*;lh)lk{UdY?vAercUHB;z9qpb8|XObeI`Qvep(On?T)ji|!9 z%s~g%q-ACqANT=a$qu9*U8 h_hM=TlS$Py{s9wMw@S`>^!We)002ovPDHLkV1j{Xe$oH{ delta 201 zcmV;)05<>L0@(qO7=Hu<0002(-QrRJ000OB`~-1zxHq3_^Xp$^YH|8>e#mH(C3e zipvfq>dY0J?MZNQ^w7a)W!7;K&89cr2@_|;WpFV z6<{rM!1Rv_APhbP0l+XkK Dl4~?K diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_bottom.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_bottom.png index b8851e24628b2180590a0a39def8ed1f89ae2c25..51d4174d4de27a8bbe2b15465c9755ab81c89ca8 100644 GIT binary patch delta 314 zcmV-A0mc5o1IhxB8Gix*005AYXf^-<00d`2O+f$vv5yPe@x$^ZZW delta 434 zcmV;j0ZsnO0>J~28Gi!+001a04^sdD0IpC>R7J?6e!P@%-@TK&lW??-Y{{g5)3b}v zs)OFVlEIjC)U%Axu!-HflGe42zMFW)qJ6oNZ^NH^v5RWPoOjQ!h}E==&aQ~erh(6? zgV?u@)~|=xwvNZ5ez%Zr&ZvUGoq5~2kg|+x;=h%)k8Q=Fe1FTPfZ4c@!JT@*mvi90 zl+vq((XooepnTD)gwnE#+`5swnRe5xh1$80!v?nQ1FIP??4XL3jz{@&pSd;GdIOe^bW#tSW!bbQ+~p%&jZR(DSq cfmu)f1FawvVCs*f1poj507*qoM6N<$f|nNMUjP6A diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_carved.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_carved.png index e1e7d2238d7636218674b04c61bbda1b5fe80953..bbe724c5e2102a9e6dbb2da06afc6ee43e2cf61b 100644 GIT binary patch delta 322 zcmV-I0log=0nq}G7=H)?0001xk!Usm000DMK}|sb0I`n?{9y$E000SaNLh0L01mzY z01mzZ>O!%=0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-@}OWJg$10002bNklI)^ z;{dPA&LlWW1T-B554ayUwla<=pee)iw51^V=P{N6wa}U|^Gpoq^$Mc1ybitCpBNNH zjfk;C{WDM#5zVB4Km#zUk4_!6Tet?%lpzry?f?J)07*qoM6N<$f*oUk$p8QV delta 209 zcmV;?051R00^tFW7=Hu<0002(-QrRJ0002MsUv4SQIAQOn22uEE}oW*wLHVK(NtcT&Sk7MtD#8)1fmASDi00000 LNkvXXu0mjfx?*7m diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_normal.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_normal.png index b5bbe63ecd7a5f0bedbcb0a3d166b4fd883dcbe7..5a92d4ccc27f280a6492ea3c066888f200798913 100644 GIT binary patch delta 323 zcmV-J0lfat0n!4H7=H)?0001xk!Usm000DMK}|sb0I`n?{9y$E000SaNLh0L01mtW z01mtXmArCE0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-@}OWJg$10002cNklqrIPnssS+%12F`K@Y9vfHOHvW53x)vZ}iL zA78blLH`(}mOM#>oNWi(IY47MvJRVoRoZK%qEq9h=zmG%fXPp_rOSRoTZ*nv!w-R{ V&h0mj{Sg2F002ovPDHLkV1mS9ia7uP delta 191 zcmV;w06_oJ0?z@E7=Hu<0002(-QrRJ000$GOjJd@lyS(TezJ#Y*0qg{V@jZOSm3~x z51`W>0001WNkl73_LAuU2MorRtz>0|#Mte>h?_D23Movtp~DLaXuS t?ut~6yGO+sI4u*CfH9CD&Res;&<|_27ohcXXkGvS002ovPDHLkV1ietQa1nq diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_smooth.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_smooth.png index b4dc2654df51bc4f3a6c5438ddcefcc360ccd8ea..51d4174d4de27a8bbe2b15465c9755ab81c89ca8 100644 GIT binary patch delta 315 zcmV-B0mS~<0m=f97=H)?0001xk!Usm000DMK}|sb0I`n?{9y$E000SaNLh0L01mzY z01mzZ>O!%=0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-@}OWJg$10002UNklQ zx}iO_H<%89ku;D)YyC<_QLYY;=VLN#fQ#Pnz%5e%?Osf6U^1y%=07f2-^^bR;JW|- N002ovPDHLkV1jzteCPlG delta 201 zcmV;)05<>10@(qO7=Hu<0002(-QrRJ000OB`~-1zxHq3_^Xp$^YH|8>e#mH(C3e zip82OwE22alio8O8)0Q5&2=L={D?aYJwLEGpyp@cYraCsC@wjk$@} z8%v8kekLI{l+FzPR>PQ6LI%@-&PuyP}Wt`PEI6gQmZjMq7e3UagZXHIe8mfV4 z!6a^oDD~*{Oemn+7Ej+`L0`}}>h+hD{`AywTfbv~-erAiwPgSR002ovPDHLkV1lwW BcWM9t delta 151 zcmdnTw48B*L_HHT0|P_ST=7ppiZj3`#P!7Dx;;}0uWjvRjIQzl3PyUmIEGX(CQtan z(Um0N@mU}tBU|KhLO^QZj3WXDiJcOM7cFQIWApXrcW3Kk<27w#?eWv&ky$I#$ivmw zEg>Q1_sAnL!~4RUgb0bFn>rK^2Rcq{^lh9h%J7s!$V5Qt@Jk7xEexKnelF{r5}E)H C7Be6K diff --git a/mods/ITEMS/mcl_tnt/textures/default_tnt_bottom.png b/mods/ITEMS/mcl_tnt/textures/default_tnt_bottom.png index df411b6840ba0c2f09e6f519202c56e46894fade..61b911be9f93f988d1c183e546c20088e5a707ea 100644 GIT binary patch delta 258 zcmaFNIEiV3L_G%+0|Uc^i5X@Y1jvM+5=YOz?DZ46*RvI`J-Ng8@&= z-4*&=T1^j<&OPAad&rabz#`7WvhPQGhro;J)!vulG7P8QjWOkD*mQUzw~Tk}`r6m5 zsRztl?y@~WAJqKb6Mw< G&;$U7^<(P* delta 211 zcmV;^04)EK0^kC?Ln$ zyYn#tZ@%Hq(FiL#t86wkG;eX4%{4`=SY`H2I0|<8V~xYrKSz3s#@?CT z#7@|a>UQ4TX3eIY4AC)gsw!9)^$;BcL|Ld)R;O1|TAG?^3z(;$AX8R{$9XR~4xflBdKqhIsY3VP&2Kvop;WPmUPaFMD7xfGN WTYlY3o;yzf0000}b}Q9m+cOglt3D>Wz} zEG#TFH8njwJxNJPBO@blR6)008uU}O+z;9+oMVr695P|t9Ik%5Kb5C<1y zIRgU|gF~ab0>c3ygW*%mRR#kFri23wlMMa>rRFp6eu&=kfPsmHq2j}Hjt>Wz68kxNF)i0s5cRB9>fL&i?9Z3un23g1Aoi$Eia5_JqSOOzcc^O z>?DI*Ilos8fP8bwFCXxF)b(@OTKML~-+VH_rsKi_d@(DplhhA_&O8Enx{{y_B)iQD zj}e#$@H9biMgervl6Wa9lcDMDU^B|c{nm(0b-sf-;`ww4wb3Dz@*QYT4F#Uja0v7; zgi>ho9Z;h{?Pd-DP7F=A11XyYLd{tD$G{GF80TF<*vJ4huXWok%>z^eSLBE-j&RrL z?ch*}U669rY>DLOvvSBd#7`;juEar|h4?`khY*v2M|jIWeA2uDAB^qVbcrgF00000 LNkvXXu0mjfjP8~J delta 207 zcmV;=05Jdj0^b3U7=Hu<0002(-QrRJ000CFD7tQK}$O> zH7FoeRXpPW004qXL_t(|0TqqG3W7isMekV9)+gfHc{sFHBiv>UxDDZbfGzIYDCqZ_ zx$AS!f%CohPFj>P-hk-PIkh!BAE^2ABps&8%v3%&?T9!oJ4ntAw}zb2hu>(n7U;N; za+y(AqpA)G{$^i-r)$XnH%gM5$UP;-VA{_)ns Date: Wed, 11 Dec 2019 04:17:38 +0100 Subject: [PATCH 21/22] New PP cobblestone and brick block textures --- mods/ITEMS/mcl_core/textures/default_brick.png | Bin 185 -> 333 bytes mods/ITEMS/mcl_core/textures/default_cobble.png | Bin 219 -> 560 bytes .../mcl_core/textures/default_mossycobble.png | Bin 255 -> 710 bytes mods/ITEMS/mcl_walls/register.lua | 4 ++-- .../mcl_walls_cobble_mossy_wall_side.png | Bin 0 -> 684 bytes .../mcl_walls_cobble_mossy_wall_top.png | Bin 0 -> 588 bytes .../textures/mcl_walls_cobble_wall_side.png | Bin 0 -> 527 bytes .../textures/mcl_walls_cobble_wall_top.png | Bin 0 -> 414 bytes tools/Conversion_Table.csv | 4 ++++ 9 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_side.png create mode 100644 mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_top.png create mode 100644 mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_side.png create mode 100644 mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_top.png diff --git a/mods/ITEMS/mcl_core/textures/default_brick.png b/mods/ITEMS/mcl_core/textures/default_brick.png index cb57018f86dd1b6d76e510b28f8322b697eb8e26..78555439559eaca6b314590993594899f3af12ab 100644 GIT binary patch delta 318 zcmV-E0m1&c0nGxC7=H)?0001xk!Usm000DMK}|sb0I`n?{9y$E000SaNLh0L01mtW z01mtXmArCE0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-@}MjU@eN0002XNkl)M7DxfD=cq{TLF$GfdJP?E`7_h~2bSP3VEIEd Q=l}o!07*qoM6N<$g44=@O#lD@ delta 169 zcmX@hw3BgyL_G^L0|Ud`yN`l^6n}tEh-;6BRlU7wnvu@T5Vt@bo#mSrf}~PCT^vIy z7-dg4avpZzaSq&hmSI}0@C?3!b!Hs*>X*g+a{R!+($Z4;Oi^i8!j@`_i{Y!7ozBMk zUtkM=)xCYmO&f*3dDaErZ}BXVJe|AnUoD%EUZ!fsoLnXLyq|M~+Vq}j2l@wpWfu11 VO9;zZwiRe2gQu&X%Q~loCIE67Ko|f3 diff --git a/mods/ITEMS/mcl_core/textures/default_cobble.png b/mods/ITEMS/mcl_core/textures/default_cobble.png index d50505e83607aead6494dee83ab848af2836d7a7..60750edaa9eb3543d58e0223d929ba987c77718c 100644 GIT binary patch delta 547 zcmV+;0^I%E0k8y+7=H)?0001xk!Usm000JJOGiWi;{g8v<@nDeY5)KL32;bRa{vGi zumAuKumMiX{XPHy00(qQO+^Re3=0DW0d4Mp#Q*>Sy-7qtR4C6)Qr&CYFc7~w3P`@S zu4-uT2Q2fvr(ziFrLg@~gT3v~+h8w)LD*mrLI!q?y|}{blz&s3uqtro0M0qy06^1rSu#^f0f0hWEWVb-e3B+fmdu0@P21i5wxNG4KJOH@eYyjZ%mqm1T3IM`itbWvK zo`;A--?Ma9KbUd+byqyi(>y0@C(oZ1S(;qv^X-FoBQ$Jfsq^97eui}`EOGuG%nq$H%0y0 zHF2tNJ3f{X@Bl(AByz2~^<0oub!!li$rQ~DZnOJt{sSI47upy&=Xd}B002ovPDHLk FV1gTaQ9A$t diff --git a/mods/ITEMS/mcl_core/textures/default_mossycobble.png b/mods/ITEMS/mcl_core/textures/default_mossycobble.png index de3ce82554830e9d9900a2949686b70605302b65..0cbd5a5ba7b0a046f503318eecae59b0e4b09c51 100644 GIT binary patch delta 698 zcmV;r0!97*0mcQ87=H)?0001xk!Usm000JJOGiWi;{g8v<@nDeY5)KL32;bRa{vGi zxc~qTxdFHa7ry`i00(qQO+^Re3=0DW4~kZ;!TOzIkun`!es}z3ue}j&0>B1u)}WB>={rUw5kqqO))9Qp4zWPns*s z*_!Lt-KwVRW6zJLNwJXEbX_UG;B1Z7H%m~ zWwIbpH0L}BBQ;;gwiYZ?(Ezk|yVXVu0AEQ$#%7$WPpimNI^*22EfxfnQUIE|;7LLa zBV^33RF2B0GM4ix9B$<)Rhq-XR~gB@+x6^|?MJslsMX8?%eFUi&2FX-%va^&kN(At z5P#B{r+_KVSgJoiB15g}=XUdi_DjSg$`&o4%S%iiV+>=E`!r z-6C$Ip)4R{`Fiu2vX*08Tj`SGt|k+2H2Qemp)-a7KvUCwkv@bDwR|5?M<0d`R^l zz&kPX@(unrSu*{dfqqjOipMB8-s&SqAieHZogvuUA`5D^X!((FlPlZ-r6UozmdbgU pBPF8Jhe9evuiXvT@7w3=^9Qo)B%60TulE1|002ovPDHLkV1fcqVO#(J diff --git a/mods/ITEMS/mcl_walls/register.lua b/mods/ITEMS/mcl_walls/register.lua index 363ef55c..0ccefd62 100644 --- a/mods/ITEMS/mcl_walls/register.lua +++ b/mods/ITEMS/mcl_walls/register.lua @@ -1,7 +1,7 @@ local S = minetest.get_translator("mcl_walls") -mcl_walls.register_wall("mcl_walls:cobble", S("Cobblestone Wall"), "mcl_core:cobble") -mcl_walls.register_wall("mcl_walls:mossycobble", S("Mossy Cobblestone Wall"), "mcl_core:mossycobble") +mcl_walls.register_wall("mcl_walls:cobble", S("Cobblestone Wall"), "mcl_core:cobble", {"mcl_walls_cobble_wall_top.png", "default_cobble.png", "mcl_walls_cobble_wall_side.png"}) +mcl_walls.register_wall("mcl_walls:mossycobble", S("Mossy Cobblestone Wall"), "mcl_core:mossycobble", {"mcl_walls_cobble_mossy_wall_top.png", "default_mossycobble.png", "mcl_walls_cobble_mossy_wall_side.png"}) mcl_walls.register_wall("mcl_walls:andesite", S("Andesite Wall"), "mcl_core:andesite") mcl_walls.register_wall("mcl_walls:granite", S("Granite Wall"), "mcl_core:granite") mcl_walls.register_wall("mcl_walls:diorite", S("Diorite Wall"), "mcl_core:diorite") diff --git a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_side.png b/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_side.png new file mode 100644 index 0000000000000000000000000000000000000000..69d575d986f3caa45ad6a6088056b8efb570de06 GIT binary patch literal 684 zcmV;d0#p5oP)zPcBScyfWOAD4-RWWrGK z_liY4{`QAbV-ZVYjnt-!Sj1Po-}^s@)fTl{)Y>Xo05(!}0L^h7z*fO(QEMYrpIl&N zvIJn=TLqxbrqckJ>+Xmn>0y{=i&_9?(`myrr(SQP{T8*9m(QQccE|RqPDwsX|H&Y6 zpNnd#2tacf_qhOYsGLKbuka;FA1dcEm`=%#ID!J$&?!*?=#(5UddXXqf>5g8&pqqyylc zwx4+MXgdnS2Mc$Ju8&8f;)nqFkoj^v=;LhU`@TAfqc9vq!$CA`B+W#@Fy>M-9lIM} z4x=!17#~E#jq3f|^EciP_vT#nMD4>Gn=evbmfbaf@1s zf?>EG>-C*#sd&M;rfC3XPA9$VUSn9QL<oHAQ&Mz(wf*=e6=DO0X`MqJ7 z=3F|Bg9C^0sZ5nq|Jm=$4fER`lA|cN9VwpAmX}+7;nLT{x%=yj;mg@c2op5%e5iW$2`T1V5MAPc= z``b_P6fap*!kvHDra1t7-$#0@@Wi?X(vvjCMMy%^?O}P6qws7UbhSa{I!jCS`OYuu zUV%sTz;h+uefby~);HZ0gUTIR=~!;%ItxHIKLp_6e2QImIB@qlygEjPlgKQsG?(HQ ztuzqrwbHbm0D#$zj#;(R99|t$o92+lFvDop>L^Eb6dBld0)z{VagptCGsd)?Aew@3 zBdK+-uyDVZehT5vr*gV+LF$DUtBg(Dot5yneENR}@sCbASjd5C(o%gAX*=G_Z~`ay zJ&wXNTB=WDTts>@mT$6Pd@_XQnsP5$T9AFZae-EvPCAI0jge0=hCsf`X0bAIB}luo z5>`ecJ&Bc(2$zKk*KkFZB!2IVsV0000 zCTM8UVHmP=4#1PTG2oSWjcl8?mord6M0(&$WPOW>{|+`))$3e~eKw7Vcr1w{mg|b* zhy}ISUT531*rp|kqu&1{jy$eKk~ktzP~F#2RZ?-8VT>UikNs9egw!Ml6U!p+txnDB zb`=q}&iR$9Ok>Ppg6`@7)R(fz0r>u7PA%4V)gs0i-b~KVzl?@wtkyR?+~2X^@2SPI z+yCPtyWs8VDeqFluk{Vn5ATWMn1}m2M#D3H|M|;cHk%$an#5O~&8EFwcjf5lI$@v* z>aglBi=0hW`O#C8u&F9f)(95Ml_wXMSuaV+<<%8i=a|ob_B^P?9!xBYoOC?)_pgTo zFv&8u&M^u@FSE-TsI$5v5%Ed3Y1ti%DsG#WF6ZR)r;m?a54vW(^nQAo{{f?r24AnX RDOUgh002ovPDHLkV1j{h^e6xT literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_top.png b/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_top.png new file mode 100644 index 0000000000000000000000000000000000000000..bdde29c6cd7edd1d5b9962dd5415a296f1fc38f7 GIT binary patch literal 414 zcmV;P0b%}$P)FmfIv_zMW@$H*kT_=M zZp7rC`#9$$$+8T7oKMHqXzl)UA{eca69E98UtSYGKgFG}V85szA_gcf9hVC*R^+O{ z&+i|`X+~X@?rfaq=!D{YI=kir6812VCDc2W4<6lU6rmOGeaRN1uW19`#Cuggf-0|CF-igAZ4J$9tXZ!$@VQgJwB|y zaV)@^>+Ss`x#`4)YxLdWs=H07*qo IM6N<$g8S91RR910 literal 0 HcmV?d00001 diff --git a/tools/Conversion_Table.csv b/tools/Conversion_Table.csv index a01d38f2..242381c6 100644 --- a/tools/Conversion_Table.csv +++ b/tools/Conversion_Table.csv @@ -958,3 +958,7 @@ Source path,Source file,Target path,Target file,xs,ys,xl,yl,xt,yt,Blacklisted? /assets/minecraft/textures/blocks,red_nether_brick.png,,mcl_fences_fence_gate_red_nether_brick.png,,,,,,, /assets/minecraft/textures/blocks,nether_brick.png,,mcl_fences_fence_gate_nether_brick.png,,,,,,, /assets/minecraft/textures/blocks,stonebrick_carved.png,,mcl_supplemental_stonebrick_carved_slab.png,,,,,,, +/assets/minecraft/textures/blocks,cobblestone.png,/mods/ITEMS/mcl_walls/textures,mcl_walls_cobble_wall_top.png,,,,,,, +/assets/minecraft/textures/blocks,cobblestone.png,/mods/ITEMS/mcl_walls/textures,mcl_walls_cobble_wall_side.png,,,,,,, +/assets/minecraft/textures/blocks,cobblestone_mossy.png,/mods/ITEMS/mcl_walls/textures,mcl_walls_cobble_mossy_wall_top.png,,,,,,, +/assets/minecraft/textures/blocks,cobblestone_mossy.png,/mods/ITEMS/mcl_walls/textures,mcl_walls_cobble_mossy_wall_side.png,,,,,,, From 2e09febaae7420a6d8b2fe751a78989ab25637d8 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 11 Dec 2019 04:23:26 +0100 Subject: [PATCH 22/22] Rename Moss Stone to Mossy Cobblestone --- mods/ITEMS/mcl_core/locale/mcl_core.de.tr | 3 +-- mods/ITEMS/mcl_core/locale/template.txt | 2 +- mods/ITEMS/mcl_core/nodes_base.lua | 2 +- mods/ITEMS/mcl_stairs/locale/mcl_stairs.de.tr | 8 ++++---- mods/ITEMS/mcl_stairs/locale/template.txt | 6 +++--- mods/ITEMS/mcl_stairs/register.lua | 2 +- mods/MAPGEN/mcl_biomes/init.lua | 4 ++-- mods/MAPGEN/mcl_dungeons/init.lua | 2 +- 8 files changed, 14 insertions(+), 15 deletions(-) diff --git a/mods/ITEMS/mcl_core/locale/mcl_core.de.tr b/mods/ITEMS/mcl_core/locale/mcl_core.de.tr index 3460001d..cab01c2e 100644 --- a/mods/ITEMS/mcl_core/locale/mcl_core.de.tr +++ b/mods/ITEMS/mcl_core/locale/mcl_core.de.tr @@ -142,8 +142,7 @@ Lit Redstone Ore=Leuchtendes Redstoneerz Magenta Stained Glass=Magenta Buntglas Molten gold. It is used to craft armor, tools, and whatnot.=Geschmolzenes Gold. Es wird benutzt, um Rüstungen, Werkzeuge, und anderes herzustellen. Molten iron. It is used to craft armor, tools, and whatnot.=Geschmolzenes Eisen. Es wird benutzt, um Rüstungen, Werkzeuge, und vieles mehr herzustellen. - -Moss Stone=Moosstein +Mossy Cobblestone=Moosiges Kopfsteinpflaster Mossy Stone Bricks=Moosige Steinziegel Mycelium=Myzel Mycelium is a type of dirt and the ideal soil for mushrooms. Unlike other dirt-type blocks, it can not be turned into farmland with a hoe. In light, mycelium slowly spreads over nearby dirt. Under an opaque block or a liquid, it eventually turns back into dirt.=Myzel ist eine Art Erde und der perfekte Nährboden für Pilze. Anders als bei anderen erdähnlichen Blöcken kann es mit einer Hacke nicht zu Ackerboden verwandelt werden. Im Licht wird sich Myzel langsam auf benachbarte Erde ausbreiten. Unter einem lichtundurchlässigen Block oder einer Flüssigkeit wird es sich früher oder später zurück zu Erde verwandeln. diff --git a/mods/ITEMS/mcl_core/locale/template.txt b/mods/ITEMS/mcl_core/locale/template.txt index 8460b90f..5ad9a8d9 100644 --- a/mods/ITEMS/mcl_core/locale/template.txt +++ b/mods/ITEMS/mcl_core/locale/template.txt @@ -142,7 +142,7 @@ Lit Redstone Ore= Magenta Stained Glass= Molten gold. It is used to craft armor, tools, and whatnot.= Molten iron. It is used to craft armor, tools, and whatnot.= -Moss Stone= +Mossy Cobblestone= Mossy Stone Bricks= Mycelium= Mycelium is a type of dirt and the ideal soil for mushrooms. Unlike other dirt-type blocks, it can not be turned into farmland with a hoe. In light, mycelium slowly spreads over nearby dirt. Under an opaque block or a liquid, it eventually turns back into dirt.= diff --git a/mods/ITEMS/mcl_core/nodes_base.lua b/mods/ITEMS/mcl_core/nodes_base.lua index 50c1d1cc..75df8e5e 100644 --- a/mods/ITEMS/mcl_core/nodes_base.lua +++ b/mods/ITEMS/mcl_core/nodes_base.lua @@ -672,7 +672,7 @@ minetest.register_node("mcl_core:cobble", { }) minetest.register_node("mcl_core:mossycobble", { - description = S("Moss Stone"), + description = S("Mossy Cobblestone"), _doc_items_longdesc = doc.sub.items.temp.build, tiles = {"default_mossycobble.png"}, is_ground_content = false, diff --git a/mods/ITEMS/mcl_stairs/locale/mcl_stairs.de.tr b/mods/ITEMS/mcl_stairs/locale/mcl_stairs.de.tr index 495aa577..8b53d8d1 100644 --- a/mods/ITEMS/mcl_stairs/locale/mcl_stairs.de.tr +++ b/mods/ITEMS/mcl_stairs/locale/mcl_stairs.de.tr @@ -39,9 +39,9 @@ Double Diorite Slab=Doppeldioritplatte Cobblestone Stairs=Kopfsteinpflastertreppe Cobblestone Slab=Kopfsteinpflasterplatte Double Cobblestone Slab=Doppelkopfsteinpflasterplatte -Moss Stone Stairs=Moossteintreppe -Moss Stone Slab=Moossteinplatte -Double Moss Stone Slab=Doppelmoossteinplatte +Mossy Cobblestone Slab=Moosige Kopfsteinpflasterplatte +Mossy Cobblestone Stairs=Moosige Kopfsteinpflastertreppe +Double Mossy Cobblestone Slab=Doppelte moosige Kopfsteinpflasterplatte Brick Stairs=Ziegeltreppe Brick Slab=Ziegelplatte Double Brick Slab=Doppelziegelplatte @@ -98,4 +98,4 @@ Double Polished Diorite Slab=Doppelte polierte Dioritplatte Polished Diorite Stairs=Polierte Diorittreppe Mossy Stone Brick Stairs=Moosige Steinziegeltreppe Mossy Stone Brick Slab=Moosige Steinziegelplatte -Double Mossy Stone Brick Slab=Doppelte Steinziegelplatte +Double Mossy Stone Brick Slab=Doppelte moosige Steinziegelplatte diff --git a/mods/ITEMS/mcl_stairs/locale/template.txt b/mods/ITEMS/mcl_stairs/locale/template.txt index bec58b3a..0638af3d 100644 --- a/mods/ITEMS/mcl_stairs/locale/template.txt +++ b/mods/ITEMS/mcl_stairs/locale/template.txt @@ -39,9 +39,9 @@ Double Diorite Slab= Cobblestone Stairs= Cobblestone Slab= Double Cobblestone Slab= -Moss Stone Stairs= -Moss Stone Slab= -Double Moss Stone Slab= +Mossy Cobblestone Stairs= +Mossy Cobblestone Slab= +Double Mossy Cobblestone Slab= Brick Stairs= Brick Slab= Double Brick Slab= diff --git a/mods/ITEMS/mcl_stairs/register.lua b/mods/ITEMS/mcl_stairs/register.lua index fbbedf2c..9f4c3425 100644 --- a/mods/ITEMS/mcl_stairs/register.lua +++ b/mods/ITEMS/mcl_stairs/register.lua @@ -45,7 +45,7 @@ mcl_stairs.register_stair_and_slab_simple("granite", "mcl_core:granite", S("Gran mcl_stairs.register_stair_and_slab_simple("diorite", "mcl_core:diorite", S("Diorite Stairs"), S("Diorite Slab"), S("Double Diorite Slab")) mcl_stairs.register_stair_and_slab_simple("cobble", "mcl_core:cobble", S("Cobblestone Stairs"), S("Cobblestone Slab"), S("Double Cobblestone Slab")) -mcl_stairs.register_stair_and_slab_simple("mossycobble", "mcl_core:mossycobble", S("Moss Stone Stairs"), S("Moss Stone Slab"), S("Double Moss Stone Slab")) +mcl_stairs.register_stair_and_slab_simple("mossycobble", "mcl_core:mossycobble", S("Mossy Cobblestone Stairs"), S("Mossy Cobblestone Slab"), S("Double Mossy Cobblestone Slab")) mcl_stairs.register_stair_and_slab_simple("brick_block", "mcl_core:brick_block", S("Brick Stairs"), S("Brick Slab"), S("Double Brick Slab")) diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index 19880f5b..3727dfcf 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -2765,7 +2765,7 @@ local function register_decorations() rotation = "0", }) - -- Moss stone boulder (3×3) + -- Mossy cobblestone boulder (3×3) minetest.register_decoration({ deco_type = "schematic", place_on = {"mcl_core:podzol", "mcl_core:dirt", "mcl_core:coarse_dirt"}, @@ -2785,7 +2785,7 @@ local function register_decorations() flags = "place_center_x, place_center_z", }) - -- Small moss stone boulder (2×2) + -- Small mossy cobblestone boulder (2×2) minetest.register_decoration({ deco_type = "schematic", place_on = {"mcl_core:podzol", "mcl_core:dirt", "mcl_core:coarse_dirt"}, diff --git a/mods/MAPGEN/mcl_dungeons/init.lua b/mods/MAPGEN/mcl_dungeons/init.lua index dc19a6e1..b10f73be 100644 --- a/mods/MAPGEN/mcl_dungeons/init.lua +++ b/mods/MAPGEN/mcl_dungeons/init.lua @@ -253,7 +253,7 @@ minetest.register_on_generated(function(minp, maxp) local p_pos = area:index(tx, ty, tz) -- Do not overwrite nodes with is_ground_content == false (e.g. bedrock) - -- Exceptions: cobblestone and moss stone so neighborings dungeons nicely connect to each other + -- Exceptions: cobblestone and mossy cobblestone so neighborings dungeons nicely connect to each other local name = minetest.get_name_from_content_id(data[p_pos]) if name == "mcl_core:cobble" or name == "mcl_core:mossycobble" or minetest.registered_nodes[name].is_ground_content then -- Floor