Есть как минимум 3 способа сделать это.Выберите.
1.Сделайте ModItems
Enum, содержащий Item
объект:
int a = ore_name.indexOf('_');
String b = ore_name.substring(0,a);
String c = b.toUpperCase();
return ModItems.valueOf(c).getItem();
Плюсы: Простой, нет необходимости обновлять карту, если добавлен новый элемент
Минусы: Выдает исключение, если ModItem
не существует
2.Создание Map<String, ModItem>
(предпочтительно):
return oreMap.get(ore_name);
Плюсы: Простота, простота реализации
Минусы: Вы должны обновить свойкарта каждый раз, когда вы добавляете предмет и get
возвращает ноль для неизвестных руд
3.Отражение:
int a = ore_name.indexOf('_');
String b = ore_name.substring(0,a);
String c = b.toUpperCase();
return ModItems.class.getDeclaredField(c).get(null);
Плюсы: Нет необходимости обновлять карту для каждого нового элемента
Минусы: Избыток, выбрасывает некрасивые проверенные исключения,и, как правило, осуждается, если в этом нет крайней необходимости.