diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightSchematic.java b/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightSchematic.java index 0ffff16..ee1ab0a 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightSchematic.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightSchematic.java @@ -33,6 +33,7 @@ import de.steamwar.fightsystem.utils.Region; import de.steamwar.fightsystem.utils.WorldeditWrapper; import de.steamwar.sql.SchematicData; import de.steamwar.sql.SchematicNode; +import de.steamwar.sql.SchematicType; import org.bukkit.Bukkit; import org.bukkit.DyeColor; import org.bukkit.Location; @@ -44,6 +45,7 @@ import java.io.IOException; import java.util.List; import java.util.Random; import java.util.logging.Level; +import java.util.stream.Stream; public class FightSchematic extends StateDependent { @@ -100,8 +102,17 @@ public class FightSchematic extends StateDependent { if(clipboard == null){ List publics = SchematicNode.getAllSchematicsOfType(0, Config.SchematicType.toDB()); - if(publics.isEmpty()) - return; + if(publics.isEmpty()) { + for (SchematicType type : Config.SubTypes) { + publics = SchematicNode.getAllSchematicsOfType(0, type.toDB()); + if (!publics.isEmpty()) { + break; + } + } + if (publics.isEmpty()) { + return; + } + } setSchematic(publics.get(new Random().nextInt(publics.size()))); }