mirror of
https://github.com/minetest-mods/moreblocks.git
synced 2025-07-22 17:50:26 +02:00
Compare commits
18 Commits
v2.1.0
...
d4c94f449a
Author | SHA1 | Date | |
---|---|---|---|
d4c94f449a | |||
ddf8b39f5a | |||
1323e2e993 | |||
ff7e85094f | |||
0c2c3ad4ef | |||
cc228754a4 | |||
8a14250127 | |||
04a6e0e696 | |||
eb7041d784 | |||
b93949c266 | |||
04810e1f83 | |||
e91b0ea1a0 | |||
72ef8deeae | |||
710b90972b | |||
aa3dcd5878 | |||
94247a6449 | |||
e7547d57ba | |||
c13321142b |
12
CHANGELOG.md
12
CHANGELOG.md
@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Refactored recipe override mechanism to avoid re-coding recipes
|
||||||
|
when we only want to change the amount produced.
|
||||||
|
- [Realigned rail recipe to the changes made in Minetest Game.](https://github.com/minetest-mods/moreblocks/pull/169)
|
||||||
|
- All rail recipes (standard, power, break) were boosted by 50%.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- [Fixed strange placement behavior for non-default Stairs+ nodes.](https://github.com/minetest-mods/moreblocks/pull/168)
|
||||||
|
- [Fixed stairs placement over oddly-shaped nodes.](https://github.com/minetest-mods/moreblocks/pull/166)
|
||||||
|
|
||||||
## [2.1.0] - 2020-12-14
|
## [2.1.0] - 2020-12-14
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
3
init.lua
3
init.lua
@ -20,6 +20,7 @@ dofile(modpath .. "/config.lua")
|
|||||||
dofile(modpath .. "/circular_saw.lua")
|
dofile(modpath .. "/circular_saw.lua")
|
||||||
dofile(modpath .. "/stairsplus/init.lua")
|
dofile(modpath .. "/stairsplus/init.lua")
|
||||||
dofile(modpath .. "/nodes.lua")
|
dofile(modpath .. "/nodes.lua")
|
||||||
dofile(modpath .. "/redefinitions.lua")
|
|
||||||
dofile(modpath .. "/crafting.lua")
|
dofile(modpath .. "/crafting.lua")
|
||||||
dofile(modpath .. "/aliases.lua")
|
dofile(modpath .. "/aliases.lua")
|
||||||
|
|
||||||
|
minetest.log("action", "[moreblocks] loaded.")
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
--[[
|
|
||||||
More Blocks: redefinitions of default stuff
|
|
||||||
|
|
||||||
Copyright © 2011-2020 Hugo Locurcio and contributors.
|
|
||||||
Licensed under the zlib license. See LICENSE.md for more information.
|
|
||||||
--]]
|
|
||||||
|
|
||||||
-- Redefinitions of some default crafting recipes:
|
|
||||||
|
|
||||||
-- Signs: +1
|
|
||||||
minetest.clear_craft({
|
|
||||||
recipe = {
|
|
||||||
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
|
|
||||||
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
|
|
||||||
{'', 'group:stick', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.clear_craft({
|
|
||||||
recipe = {
|
|
||||||
{'group:wood', 'group:wood', 'group:wood'},
|
|
||||||
{'group:wood', 'group:wood', 'group:wood'},
|
|
||||||
{'', 'group:stick', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'default:sign_wall_steel 4',
|
|
||||||
recipe = {
|
|
||||||
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
|
|
||||||
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
|
|
||||||
{'', 'group:stick', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'default:sign_wall_wood 4',
|
|
||||||
recipe = {
|
|
||||||
{'group:wood', 'group:wood', 'group:wood'},
|
|
||||||
{'group:wood', 'group:wood', 'group:wood'},
|
|
||||||
{'', 'group:stick', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
minetest.clear_craft({
|
|
||||||
recipe = {
|
|
||||||
{"default:papyrus", "default:papyrus", "default:papyrus"}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "default:paper 4",
|
|
||||||
recipe = {
|
|
||||||
{"default:papyrus", "default:papyrus", "default:papyrus"},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "default:rail 24",
|
|
||||||
recipe = {
|
|
||||||
{"default:steel_ingot", "", "default:steel_ingot"},
|
|
||||||
{"default:steel_ingot", "default:stick", "default:steel_ingot"},
|
|
||||||
{"default:steel_ingot", "", "default:steel_ingot"},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "toolrepair",
|
|
||||||
additional_wear = -0.10, -- Tool repair buff (10% bonus instead of 2%).
|
|
||||||
})
|
|
@ -30,16 +30,25 @@ local wall_right_dirmap = {9, 18, 7, 12}
|
|||||||
local wall_left_dirmap = {11, 16, 5, 14}
|
local wall_left_dirmap = {11, 16, 5, 14}
|
||||||
local ceil_dirmap = {20, 23, 22, 21}
|
local ceil_dirmap = {20, 23, 22, 21}
|
||||||
|
|
||||||
|
-- extract the stairsplus category from a node name
|
||||||
|
-- assumes the name is in the form mod_name:category_original_ndoe_name
|
||||||
|
local function name_to_category(name)
|
||||||
|
local colon = name:find(":") or 0
|
||||||
|
colon = colon + 1
|
||||||
|
local under = name:find("_", colon)
|
||||||
|
return name:sub(colon, under)
|
||||||
|
end
|
||||||
|
|
||||||
stairsplus.rotate_node_aux = function(itemstack, placer, pointed_thing)
|
stairsplus.rotate_node_aux = function(itemstack, placer, pointed_thing)
|
||||||
local sneak = placer and placer:get_player_control().sneak
|
local sneak = placer and placer:get_player_control().sneak
|
||||||
local aux = placer and placer:get_player_control().aux1
|
local aux = placer and placer:get_player_control().aux1
|
||||||
|
|
||||||
-- namestring for what we are placing, up to the first _ (exclusive)
|
-- category for what we are placing
|
||||||
local item_prefix = itemstack:get_name():gsub("_.*$", "")
|
local item_prefix = name_to_category(itemstack:get_name())
|
||||||
-- namestring for what we are placing against
|
-- category for what we are placing against
|
||||||
local under = pointed_thing.under
|
local under = pointed_thing.under
|
||||||
local under_node = minetest.get_node(under)
|
local under_node = minetest.get_node(under)
|
||||||
local under_prefix = under_node and under_node.name:gsub("_.*$", "")
|
local under_prefix = under_node and name_to_category(under_node.name)
|
||||||
|
|
||||||
local same_cat = item_prefix == under_prefix
|
local same_cat = item_prefix == under_prefix
|
||||||
|
|
||||||
@ -51,7 +60,10 @@ stairsplus.rotate_node_aux = function(itemstack, placer, pointed_thing)
|
|||||||
-- and in general for sneak placement
|
-- and in general for sneak placement
|
||||||
local face_pos = minetest.pointed_thing_to_face_pos(placer, pointed_thing)
|
local face_pos = minetest.pointed_thing_to_face_pos(placer, pointed_thing)
|
||||||
local face_off = vector.subtract(face_pos, under)
|
local face_off = vector.subtract(face_pos, under)
|
||||||
local wallmounted = minetest.dir_to_wallmounted(face_off)
|
|
||||||
|
-- we cannot trust face_off to tell us the correct directionif the
|
||||||
|
-- under node has a non-standard shape, so use the distance between under and above
|
||||||
|
local wallmounted = minetest.dir_to_wallmounted(vector.subtract(pointed_thing.above, under))
|
||||||
|
|
||||||
if same_cat and not aux then
|
if same_cat and not aux then
|
||||||
p2 = under_node.param2
|
p2 = under_node.param2
|
||||||
|
@ -25,7 +25,7 @@ function stairsplus:prepare_groups(groups)
|
|||||||
local result = {}
|
local result = {}
|
||||||
if groups then
|
if groups then
|
||||||
for k, v in pairs(groups) do
|
for k, v in pairs(groups) do
|
||||||
if k ~= "wood" and k ~= "stone" then
|
if k ~= "wood" and k ~= "stone" and k ~= "wool" and k ~= "tree" then
|
||||||
result[k] = v
|
result[k] = v
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -61,6 +61,8 @@ for _, name in pairs(default_nodes) do
|
|||||||
-- Stone and desert_stone drop cobble and desert_cobble respectively.
|
-- Stone and desert_stone drop cobble and desert_cobble respectively.
|
||||||
if type(ndef.drop) == "string" then
|
if type(ndef.drop) == "string" then
|
||||||
ndef.drop = ndef.drop:gsub(".+:", "")
|
ndef.drop = ndef.drop:gsub(".+:", "")
|
||||||
|
elseif name == "desert_stone" then
|
||||||
|
ndef.drop = ndef.drop.items[1].items[1]:gsub(".+:", "")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Use the primary tile for all sides of cut glasslike nodes and disregard paramtype2.
|
-- Use the primary tile for all sides of cut glasslike nodes and disregard paramtype2.
|
||||||
@ -106,9 +108,6 @@ if minetest.get_modpath("wool") then
|
|||||||
local ndef = table.copy(minetest.registered_nodes[nodename])
|
local ndef = table.copy(minetest.registered_nodes[nodename])
|
||||||
ndef.sunlight_propagates = true
|
ndef.sunlight_propagates = true
|
||||||
|
|
||||||
-- Prevent dye+cut wool recipy from creating a full wool block.
|
|
||||||
ndef.groups.wool = nil
|
|
||||||
|
|
||||||
stairsplus:register_all(mod, name, nodename, ndef)
|
stairsplus:register_all(mod, name, nodename, ndef)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user