Динамичный WorldProvider для регистрации измерения

Версия Minecraft
1.12.2
1,057
50
234
Есть парсер Json файлов, в котором написаны данные об измерении.
Файлов может быть N штук.
Вопрос следующий: Каким образом регистрировать WorldProvider с нужным DimensionType в цикле, если в методе регистрации передается .class?

Сначала хотел дергать значение из мапы по dimID, но dimID берется из DimensionType, насколько я знаю.
За что можно зацепится в "голом" WP?
 
7,099
324
1,510
Тогда можно создавать WorldProvider на основе этих файлов. Каждому измерению присвоить свое имя
 
7,099
324
1,510
Нет. До регистрации читать файлы, получать список данных для генерации и мапать его в список провайдеров
 
1,057
50
234
разве есть список провайдеров?
насколько я знаю, есть только добавление в enum, в DimensionType
Код:
public static DimensionType register(String name, String suffix, int id, Class<? extends WorldProvider> provider, boolean keepLoaded)
    {
        String enum_name = name.replace(" ", "_").toLowerCase();
        DimensionType ret = net.minecraftforge.common.util.EnumHelper.addEnum(DimensionType.class, enum_name, ENUM_ARGS,
                id, name, suffix, provider);
        return ret.setLoadSpawn(keepLoaded);
    }
А в самом провайдере получаем DimensionType по dimID
 
7,099
324
1,510
1,057
50
234
В этот аргумент че передаешь?
WorldProviderPlanet.class
А имя внутри можно получить?
А как его передать то в класс? Я могу конечно овверайднуть метод в самом классе, но тогда оно будет одно для всех, а не у каждого свое.
 
7,099
324
1,510
Если можно, то можно из мапы по имени доставать данные для генерации
 
7,099
324
1,510
7,099
324
1,510
Ок, в провайдере че доступно вообще?
У мя кода по теме под рукой нет
 
7,099
324
1,510
Ты хочешь универсальный провайдер который зависит от тех json?
 
Сверху