Merge pull request 'ITEMS/mcl_banners: Allow more layers for banners with gradients' (#74) from e/Mineclonia:banner-gradient-limits into master

Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/74
Reviewed-by: Elias Åström <ryvnf@riseup.net>
Reviewed-by: erlehmann <nils+git.minetest.land@dieweltistgarnichtso.net>
This commit is contained in:
erlehmann 2021-06-19 13:01:11 +00:00 committed by Elias Fleckenstein
parent ae2c5ede30
commit 2f22ce79cc

View File

@ -8,9 +8,6 @@ local N = function(s) return s end
-- Maximum number of layers which can be put on a banner by crafting. -- Maximum number of layers which can be put on a banner by crafting.
local max_layers_crafting = 12 local max_layers_crafting = 12
-- Maximum number of layers when banner includes a gradient (workaround, see below).
local max_layers_gradient = 3
-- Max. number lines in the descriptions for the banner layers. -- Max. number lines in the descriptions for the banner layers.
-- This is done to avoid huge tooltips. -- This is done to avoid huge tooltips.
local max_layer_lines = 6 local max_layer_lines = 6
@ -398,16 +395,6 @@ local function banner_pattern_craft(itemstack, player, old_craft_grid, craft_inv
if #layers >= max_layers_crafting then if #layers >= max_layers_crafting then
return ItemStack("") return ItemStack("")
end end
-- Lower layer limit when banner includes any gradient.
-- Workaround to circumvent Minetest bug (https://github.com/minetest/minetest/issues/6210)
-- TODO: Remove this restriction when bug #6210 is fixed.
if #layers >= max_layers_gradient then
for l=1, #layers do
if layers[l].pattern == "gradient" or layers[l].pattern == "gradient_up" then
return ItemStack("")
end
end
end
local matching_pattern local matching_pattern
local max_i = player:get_inventory():get_size("craft") local max_i = player:get_inventory():get_size("craft")