From 4982bb780dee7f8eb6460a89e5b8c02f4191d55c Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Wed, 8 Sep 2021 22:07:50 +0800 Subject: [PATCH] Add a debug check to sniff out errors like typos --- .../structurelib/structure/IStructureDefinition.java | 3 +++ .../structurelib/structure/StructureDefinition.java | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gtnewhorizon/structurelib/structure/IStructureDefinition.java b/src/main/java/com/gtnewhorizon/structurelib/structure/IStructureDefinition.java index 66226d95..ddabc573 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/structure/IStructureDefinition.java +++ b/src/main/java/com/gtnewhorizon/structurelib/structure/IStructureDefinition.java @@ -13,8 +13,11 @@ public interface IStructureDefinition { /** * Used internally * + * Might, but is not required, to throw {@link java.util.NoSuchElementException} if the given structure piece is not found. + * * @param name same name as for other methods here * @return the array of elements to process + * @throws java.util.NoSuchElementException if the given structure piece is not found and the moon phase perfectly matches */ IStructureElement[] getStructureFor(String name); diff --git a/src/main/java/com/gtnewhorizon/structurelib/structure/StructureDefinition.java b/src/main/java/com/gtnewhorizon/structurelib/structure/StructureDefinition.java index 22e932d9..a7c3ac35 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/structure/StructureDefinition.java +++ b/src/main/java/com/gtnewhorizon/structurelib/structure/StructureDefinition.java @@ -193,6 +193,9 @@ public class StructureDefinition implements IStructureDefinition { @Override public IStructureElement[] getStructureFor(String name) { - return structures.get(name); + IStructureElement[] elements = structures.get(name); + if (elements == null) + throw new NoSuchElementException(name); + return elements; } } \ No newline at end of file