diff --git a/src/main/java/com/magmaguy/betterstructures/schematics/SchematicContainer.java b/src/main/java/com/magmaguy/betterstructures/schematics/SchematicContainer.java index cef5d54..0fef2e5 100644 --- a/src/main/java/com/magmaguy/betterstructures/schematics/SchematicContainer.java +++ b/src/main/java/com/magmaguy/betterstructures/schematics/SchematicContainer.java @@ -22,6 +22,7 @@ import org.bukkit.util.Vector; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -53,6 +54,10 @@ public class SchematicContainer { @Getter private boolean valid = true; + private List signs = Arrays.stream(Material.values()).parallel() + .filter(it -> it.name().endsWith("SIGN")) + .toList(); + public SchematicContainer(Clipboard clipboard, String clipboardFilename, SchematicConfigField schematicConfigField, String configFilename) { this.clipboard = clipboard; this.clipboardFilename = clipboardFilename; @@ -76,22 +81,8 @@ public SchematicContainer(Clipboard clipboard, String clipboardFilename, Schemat minecraftMaterial.equals(Material.SHULKER_BOX)) { chestLocations.add(new Vector(x, y, z)); } - if (minecraftMaterial.equals(Material.ACACIA_SIGN) || - minecraftMaterial.equals(Material.ACACIA_WALL_SIGN) || - minecraftMaterial.equals(Material.SPRUCE_SIGN) || - minecraftMaterial.equals(Material.SPRUCE_WALL_SIGN) || - minecraftMaterial.equals(Material.BIRCH_SIGN) || - minecraftMaterial.equals(Material.BIRCH_WALL_SIGN) || - minecraftMaterial.equals(Material.CRIMSON_SIGN) || - minecraftMaterial.equals(Material.CRIMSON_WALL_SIGN) || - minecraftMaterial.equals(Material.DARK_OAK_SIGN) || - minecraftMaterial.equals(Material.DARK_OAK_WALL_SIGN) || - minecraftMaterial.equals(Material.JUNGLE_SIGN) || - minecraftMaterial.equals(Material.JUNGLE_WALL_SIGN) || - minecraftMaterial.equals(Material.OAK_SIGN) || - minecraftMaterial.equals(Material.OAK_WALL_SIGN) || - minecraftMaterial.equals(Material.WARPED_SIGN) || - minecraftMaterial.equals(Material.WARPED_WALL_SIGN)) { + + if (signs.contains(minecraftMaterial)) { BaseBlock baseBlock = clipboard.getFullBlock(translatedLocation); //For future reference, I don't know how to get the data in any other way than parsing the string. Sorry! String line1 = WorldEditUtils.getLine(baseBlock, 1);