Add integration for Immersive Engineering ores

This commit is contained in:
thedarkcolour 2024-04-22 14:11:08 -07:00
parent 655c1aa57f
commit dc7421224c
No known key found for this signature in database
GPG Key ID: 86B37B3575FD5976
2 changed files with 15 additions and 6 deletions

View File

@ -49,4 +49,5 @@ public class ModIds {
public static final String REI_PC = "rei_plugin_compatibilities";
public static final String CYCLIC = "cyclic";
public static final String SKYBLOCK_BUILDER = "skyblockbuilder";
public static final String IMMERSIVE_ENGINEERING = "immersiveengineering";
}

View File

@ -42,7 +42,6 @@ public class PreferredOres {
private static final Map<TagKey<Item>, Item> PREFERRED_ORE_ITEMS = new Object2ObjectOpenHashMap<>(11, Hash.DEFAULT_LOAD_FACTOR);
static {
// todo these should update whenever data is reloaded
putPreferredOre(EItemTags.ORES_ALUMINUM, EConfig.COMMON.preferredAluminumOre, getDefaultAluminumOre());
putPreferredOre(EItemTags.ORES_COBALT, EConfig.COMMON.preferredCobaltOre, getDefaultCobaltOre());
putPreferredOre(EItemTags.ORES_SILVER, EConfig.COMMON.preferredSilverOre, getDefaultSilverOre());
@ -105,7 +104,7 @@ public class PreferredOres {
}
public static Item getDefaultAluminumOre() {
return defaultItem("aluminum_ore", ModIds.ALL_THE_ORES);
return defaultItem("aluminum_ore", ModIds.ALL_THE_ORES, ModIds.IMMERSIVE_ENGINEERING);
}
public static Item getDefaultCobaltOre() {
@ -113,11 +112,11 @@ public class PreferredOres {
}
public static Item getDefaultSilverOre() {
return defaultItem("silver_ore", ModIds.ALL_THE_ORES, ModIds.OCCULTISM, ModIds.RAILCRAFT, ModIds.FACTORIUM, ModIds.NUCLEARCRAFT_NEOTERIC);
return defaultItem("silver_ore", ModIds.ALL_THE_ORES, ModIds.OCCULTISM, ModIds.RAILCRAFT, ModIds.FACTORIUM, ModIds.NUCLEARCRAFT_NEOTERIC, ModIds.IMMERSIVE_ENGINEERING);
}
public static Item getDefaultLeadOre() {
return defaultItem("lead_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.MEKANISM, ModIds.RAILCRAFT, ModIds.FACTORIUM, ModIds.NUCLEARCRAFT_NEOTERIC);
return defaultItem("lead_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.MEKANISM, ModIds.RAILCRAFT, ModIds.FACTORIUM, ModIds.NUCLEARCRAFT_NEOTERIC, ModIds.IMMERSIVE_ENGINEERING);
}
public static Item getDefaultPlatinumOre() {
@ -125,11 +124,17 @@ public class PreferredOres {
}
public static Item getDefaultNickelOre() {
return defaultItem("nickel_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.THERMAL, ModIds.RAILCRAFT, ModIds.FACTORIUM);
var item = defaultItem("nickel_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.THERMAL, ModIds.RAILCRAFT, ModIds.FACTORIUM, ModIds.IMMERSIVE_ENGINEERING);
if (item == Items.AIR && ModList.get().isLoaded(ModIds.IMMERSIVE_ENGINEERING)) {
item = defaultItem("ore_nickel", ModIds.IMMERSIVE_ENGINEERING);
}
return item;
}
public static Item getDefaultUraniumOre() {
var item = defaultItem("uranium_ore", ModIds.ALL_THE_ORES, ModIds.MEKANISM, ModIds.BIGGER_REACTORS, ModIds.NUCLEARCRAFT_NEOTERIC);
var item = defaultItem("uranium_ore", ModIds.ALL_THE_ORES, ModIds.MEKANISM, ModIds.BIGGER_REACTORS, ModIds.NUCLEARCRAFT_NEOTERIC, ModIds.IMMERSIVE_ENGINEERING);
if (item == Items.AIR && ModList.get().isLoaded(ModIds.EXTREME_REACTORS)) {
item = defaultItem("yellorite_ore", ModIds.EXTREME_REACTORS);
@ -170,12 +175,15 @@ public class PreferredOres {
return defaultItem("boron_ore", ModIds.NUCLEARCRAFT_NEOTERIC);
}
@SuppressWarnings("DataFlowIssue")
private static Item defaultItem(String path, String... modIds) {
var modId = getFirstAvailableModId(modIds);
if (modId != null) {
if (modId.equals(ModIds.FACTORIUM)) {
return ForgeRegistries.ITEMS.getValue(new ResourceLocation(modId, "mat_" + path));
} else if (modId.equals(ModIds.IMMERSIVE_ENGINEERING)) {
return ForgeRegistries.ITEMS.getValue(new ResourceLocation(modId, "ore_" + path.substring(0, path.length() - 4)));
} else {
return ForgeRegistries.ITEMS.getValue(new ResourceLocation(modId, path));
}