Fix GUI.schemDialog for overriden Public list

This commit is contained in:
2026-10-23 11:05:28 +02:00
parent c4b46e4431
commit bfbf98c1d6
2 changed files with 10 additions and 2 deletions
@@ -255,7 +255,15 @@ public class GUI {
private static void schemDialog(Player p, SchematicType type, boolean publicSchems, boolean unchecked) {
SchematicSelector selector = new SchematicSelector(p, Config.test() ? SchematicSelector.selectSchematic() : SchematicSelector.selectSchematicType(unchecked ? type.checkType() : type), node -> {
schemSelect(p, node);
});
}) {
@Override
protected List<SchematicNode> getSchematicList(SchematicNode parent) {
if (!publicSchems || parent != null) return super.getSchematicList(parent);
List<Integer> publics = Config.GameModeConfig.Schematic.Publics;
if (publics.isEmpty()) return super.getSchematicList(null);
return publics.stream().map(SchematicNode::byId).collect(Collectors.toList());
}
};
selector.setPublicMode(publicSchems ? SchematicSelector.PublicMode.PUBLIC_ONLY : SchematicSelector.PublicMode.PRIVATE_ONLY);
selector.open();
}