public abstract class WorldGen { public static Map<String, WorldGen> tagMap = Util.syncedMap(String.class, WorldGen.class); public final String tag; public WorldGen(String tag) { this.tag = tag; } public abstract Vector2i getWorldSize(); public abstract World generateWorld(); }