From 4716bcc6f875def8bc7c6121dfa0f06782d7ec38 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 1 Apr 2017 12:28:53 +1100 Subject: Fail fast on non rectangular crafting recipes --- src/main/java/org/bukkit/inventory/ShapedRecipe.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java index 2796473d..f3532589 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java @@ -46,9 +46,13 @@ public class ShapedRecipe implements Recipe { Validate.notNull(shape, "Must provide a shape"); Validate.isTrue(shape.length > 0 && shape.length < 4, "Crafting recipes should be 1, 2, 3 rows, not ", shape.length); + int lastLen = -1; for (String row : shape) { Validate.notNull(row, "Shape cannot have null rows"); Validate.isTrue(row.length() > 0 && row.length() < 4, "Crafting rows should be 1, 2, or 3 characters, not ", row.length()); + + Validate.isTrue(lastLen == -1 || lastLen == row.length(), "Crafting recipes must be rectangular"); + lastLen = row.length(); } this.rows = new String[shape.length]; for (int i = 0; i < shape.length; i++) { -- cgit v1.2.3