aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorLyft <127234178+Lyfts@users.noreply.github.com>2024-09-28 16:33:57 +0200
committerGitHub <noreply@github.com>2024-09-28 14:33:57 +0000
commite08a304cd38f54d023a9ac4534bcd20d10cdd7c9 (patch)
tree7b5b6eec14c969038d5f25cb3129f8b800d43c3a /src/main/java
parentb8eac286d452e9b0ab1c16cd12524c47c25c6d94 (diff)
downloadGT5-Unofficial-e08a304cd38f54d023a9ac4534bcd20d10cdd7c9.tar.gz
GT5-Unofficial-e08a304cd38f54d023a9ac4534bcd20d10cdd7c9.tar.bz2
GT5-Unofficial-e08a304cd38f54d023a9ac4534bcd20d10cdd7c9.zip
Give ore mixes localized names (#3290)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/gregtech/api/enums/OreMixes.java105
-rw-r--r--src/main/java/gregtech/common/OreMixBuilder.java35
-rw-r--r--src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5Base.java28
-rw-r--r--src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5VeinStat.java2
-rw-r--r--src/main/java/gtneioreplugin/util/GT5OreLayerHelper.java3
5 files changed, 110 insertions, 63 deletions
diff --git a/src/main/java/gregtech/api/enums/OreMixes.java b/src/main/java/gregtech/api/enums/OreMixes.java
index 0a4b2fbc4e..8c9800ba00 100644
--- a/src/main/java/gregtech/api/enums/OreMixes.java
+++ b/src/main/java/gregtech/api/enums/OreMixes.java
@@ -95,7 +95,8 @@ public enum OreMixes {
.primary(Materials.BrownLimonite)
.secondary(Materials.YellowLimonite)
.inBetween(Materials.BandedIron)
- .sporadic(Materials.Malachite)),
+ .sporadic(Materials.Malachite)
+ .localize(Materials.Iron)),
Cassiterite(new OreMixBuilder().name("ore.mix.cassiterite")
.heightRange(60, 220)
@@ -107,7 +108,8 @@ public enum OreMixes {
.primary(Materials.Tin)
.secondary(Materials.Tin)
.inBetween(Materials.Cassiterite)
- .sporadic(Materials.Tin)),
+ .sporadic(Materials.Tin)
+ .localize(Materials.Cassiterite)),
Tetrahedrite(new OreMixBuilder().name("ore.mix.tetrahedrite")
.heightRange(80, 120)
@@ -155,7 +157,8 @@ public enum OreMixes {
.primary(Materials.Chalcopyrite)
.secondary(Materials.Iron)
.inBetween(Materials.Pyrite)
- .sporadic(Materials.Copper)),
+ .sporadic(Materials.Copper)
+ .localize(Materials.Copper)),
Bauxite(new OreMixBuilder().name("ore.mix.bauxite")
.heightRange(10, 80)
@@ -191,7 +194,8 @@ public enum OreMixes {
.primary(Materials.RockSalt)
.secondary(Materials.Salt)
.inBetween(Materials.Lepidolite)
- .sporadic(Materials.Spodumene)),
+ .sporadic(Materials.Spodumene)
+ .localize(Materials.Salt)),
Redstone(new OreMixBuilder().name("ore.mix.redstone")
.heightRange(5, 40)
@@ -227,7 +231,8 @@ public enum OreMixes {
.primary(Materials.Garnierite)
.secondary(Materials.Nickel)
.inBetween(Materials.Cobaltite)
- .sporadic(Materials.Pentlandite)),
+ .sporadic(Materials.Pentlandite)
+ .localize(Materials.Nickel)),
Platinum(new OreMixBuilder().name("ore.mix.platinum")
.heightRange(40, 50)
@@ -238,7 +243,8 @@ public enum OreMixes {
.primary(Materials.Cooperite)
.secondary(Materials.Palladium)
.inBetween(Materials.Platinum)
- .sporadic(Materials.Iridium)),
+ .sporadic(Materials.Iridium)
+ .localize(Materials.Platinum)),
Pitchblende(new OreMixBuilder().name("ore.mix.pitchblende")
.heightRange(60, 60)
@@ -260,7 +266,8 @@ public enum OreMixes {
.primary(Materials.Bastnasite)
.secondary(Materials.Bastnasite)
.inBetween(Materials.Monazite)
- .sporadic(Materials.Neodymium)),
+ .sporadic(Materials.Neodymium)
+ .localize(Materials.Monazite)),
Molybdenum(new OreMixBuilder().name("ore.mix.molybdenum")
.heightRange(20, 50)
@@ -272,7 +279,8 @@ public enum OreMixes {
.primary(Materials.Wulfenite)
.secondary(Materials.Molybdenite)
.inBetween(Materials.Molybdenum)
- .sporadic(Materials.Powellite)),
+ .sporadic(Materials.Powellite)
+ .localize(Materials.Molybdenum)),
Tungstate(new OreMixBuilder().name("ore.mix.tungstate")
.heightRange(20, 60)
@@ -297,7 +305,8 @@ public enum OreMixes {
.primary(Materials.Scheelite)
.secondary(Materials.Scheelite)
.inBetween(Materials.Tungstate)
- .sporadic(Materials.Lithium)),
+ .sporadic(Materials.Lithium)
+ .localize(Materials.Tungstate)),
Sapphire(new OreMixBuilder().name("ore.mix.sapphire")
.heightRange(10, 40)
@@ -309,7 +318,8 @@ public enum OreMixes {
.primary(Materials.Almandine)
.secondary(Materials.Pyrope)
.inBetween(Materials.Sapphire)
- .sporadic(Materials.GreenSapphire)),
+ .sporadic(Materials.GreenSapphire)
+ .localize(Materials.Sapphire)),
Manganese(new OreMixBuilder().name("ore.mix.manganese")
.heightRange(20, 30)
@@ -321,7 +331,8 @@ public enum OreMixes {
.primary(Materials.Grossular)
.secondary(Materials.Spessartine)
.inBetween(Materials.Pyrolusite)
- .sporadic(Materials.Tantalite)),
+ .sporadic(Materials.Tantalite)
+ .localize(Materials.Manganese)),
Quartz(new OreMixBuilder().name("ore.mix.quartz")
.heightRange(80, 120)
@@ -345,7 +356,8 @@ public enum OreMixes {
.primary(Materials.Graphite)
.secondary(Materials.Graphite)
.inBetween(Materials.Diamond)
- .sporadic(Materials.Coal)),
+ .sporadic(Materials.Coal)
+ .localize(Materials.Diamond)),
Olivine(new OreMixBuilder().name("ore.mix.olivine")
.heightRange(10, 40)
@@ -357,7 +369,8 @@ public enum OreMixes {
.primary(Materials.Bentonite)
.secondary(Materials.Magnesite)
.inBetween(Materials.Olivine)
- .sporadic(Materials.Glauconite)),
+ .sporadic(Materials.Glauconite)
+ .localize(Materials.Olivine)),
Apatite(new OreMixBuilder().name("ore.mix.apatite")
.heightRange(40, 60)
@@ -391,7 +404,8 @@ public enum OreMixes {
.primary(Materials.Lazurite)
.secondary(Materials.Sodalite)
.inBetween(Materials.Lapis)
- .sporadic(Materials.Calcite)),
+ .sporadic(Materials.Calcite)
+ .localize(Materials.Lapis)),
Beryllium(new OreMixBuilder().name("ore.mix.beryllium")
.heightRange(5, 30)
@@ -425,7 +439,8 @@ public enum OreMixes {
.primary(Materials.Uraninite)
.secondary(Materials.Uraninite)
.inBetween(Materials.Uranium)
- .sporadic(Materials.Uranium)),
+ .sporadic(Materials.Uranium)
+ .localize(Materials.Uranium)),
OilSand(new OreMixBuilder().name("ore.mix.oilsand")
.heightRange(50, 80)
.weight(40)
@@ -458,7 +473,8 @@ public enum OreMixes {
.primary(Materials.InfusedWater)
.secondary(Materials.InfusedFire)
.inBetween(Materials.Amber)
- .sporadic(Materials.Cinnabar)),
+ .sporadic(Materials.Cinnabar)
+ .localize(Materials.InfusedWater, Materials.InfusedFire, Materials.Amber)),
TerraAer(new OreMixBuilder().name("ore.mix.terraaer")
.heightRange(5, 35)
@@ -470,7 +486,8 @@ public enum OreMixes {
.primary(Materials.InfusedEarth)
.secondary(Materials.InfusedAir)
.inBetween(Materials.Amber)
- .sporadic(Materials.Cinnabar)),
+ .sporadic(Materials.Cinnabar)
+ .localize(Materials.InfusedEarth, Materials.InfusedAir)),
PerditioOrdo(new OreMixBuilder().name("ore.mix.perditioordo")
.heightRange(5, 35)
@@ -482,7 +499,8 @@ public enum OreMixes {
.primary(Materials.InfusedEntropy)
.secondary(Materials.InfusedOrder)
.inBetween(Materials.Amber)
- .sporadic(Materials.Cinnabar)),
+ .sporadic(Materials.Cinnabar)
+ .localize(Materials.InfusedEntropy, Materials.InfusedOrder)),
CopperTin(new OreMixBuilder().name("ore.mix.coppertin")
.heightRange(80, 200)
@@ -493,7 +511,8 @@ public enum OreMixes {
.primary(Materials.Chalcopyrite)
.secondary(Materials.Vermiculite)
.inBetween(Materials.Cassiterite)
- .sporadic(Materials.Alunite)),
+ .sporadic(Materials.Alunite)
+ .localize(Materials.Vermiculite)),
TitaniumChrome(new OreMixBuilder().name("ore.mix.titaniumchrome")
.heightRange(10, 70)
@@ -528,7 +547,8 @@ public enum OreMixes {
.primary(Materials.CassiteriteSand)
.secondary(Materials.GarnetSand)
.inBetween(Materials.Asbestos)
- .sporadic(Materials.Diatomite)),
+ .sporadic(Materials.Diatomite)
+ .localize(Materials.Tin)),
KaoliniteZeolite(new OreMixBuilder().name("ore.mix.kaolinitezeolite")
.heightRange(50, 70)
@@ -552,7 +572,8 @@ public enum OreMixes {
.primary(Materials.Kyanite)
.secondary(Materials.Mica)
.inBetween(Materials.Cassiterite)
- .sporadic(Materials.Pollucite)),
+ .sporadic(Materials.Pollucite)
+ .localize(Materials.Mica)),
Dolomite(new OreMixBuilder().name("ore.mix.dolomite")
.heightRange(150, 200)
@@ -575,7 +596,8 @@ public enum OreMixes {
.primary(Materials.Platinum)
.secondary(Materials.Chrome)
.inBetween(Materials.Cooperite)
- .sporadic(Materials.Palladium)),
+ .sporadic(Materials.Palladium)
+ .localize(Materials.Palladium)),
IridiumMytryl(new OreMixBuilder().name("ore.mix.iridiummytryl")
.heightRange(15, 40)
@@ -586,7 +608,8 @@ public enum OreMixes {
.primary(Materials.Nickel)
.secondary(Materials.Iridium)
.inBetween(Materials.Palladium)
- .sporadic(Materials.Mithril)),
+ .sporadic(Materials.Mithril)
+ .localize(Materials.Iridium)),
Osmium(new OreMixBuilder().name("ore.mix.osmium")
.heightRange(5, 30)
@@ -597,7 +620,8 @@ public enum OreMixes {
.primary(Materials.Nickel)
.secondary(Materials.Osmium)
.inBetween(Materials.Iridium)
- .sporadic(Materials.Nickel)),
+ .sporadic(Materials.Nickel)
+ .localize(Materials.Osmium)),
SaltPeterElectrotine(new OreMixBuilder().name("ore.mix.saltpeterelectrotine")
.heightRange(5, 45)
@@ -609,7 +633,8 @@ public enum OreMixes {
.primary(Materials.Saltpeter)
.secondary(Materials.Diatomite)
.inBetween(Materials.Electrotine)
- .sporadic(Materials.Alunite)),
+ .sporadic(Materials.Alunite)
+ .localize(Materials.Electrotine)),
Desh(new OreMixBuilder().name("ore.mix.desh")
.heightRange(5, 40)
@@ -708,7 +733,8 @@ public enum OreMixes {
.primary(Materials.Gold)
.secondary(Materials.Gold)
.inBetween(Materials.InfusedGold)
- .sporadic(Materials.Platinum)),
+ .sporadic(Materials.Platinum)
+ .localize(Materials.InfusedGold)),
Niobium(new OreMixBuilder().name("ore.mix.niobium")
.heightRange(5, 30)
@@ -763,7 +789,8 @@ public enum OreMixes {
.primary(Materials.GarnetSand)
.secondary(Materials.NetherStar)
.inBetween(Materials.GarnetRed)
- .sporadic(Materials.GarnetYellow)),
+ .sporadic(Materials.GarnetYellow)
+ .localize(Materials.NetherStar)),
Garnet(new OreMixBuilder().name("ore.mix.garnet")
.heightRange(10, 30)
@@ -785,7 +812,8 @@ public enum OreMixes {
.primary(Materials.Cadmium)
.secondary(Materials.Caesium)
.inBetween(Materials.Lanthanum)
- .sporadic(Materials.Cerium)),
+ .sporadic(Materials.Cerium)
+ .localize(Materials.RareEarth)),
RichNuclear(new OreMixBuilder().name("ore.mix.richnuclear")
.heightRange(55, 120)
@@ -796,7 +824,8 @@ public enum OreMixes {
.primary(Materials.Uranium)
.secondary(Materials.Plutonium)
.inBetween(Materials.Thorium)
- .sporadic(Materials.Thorium)),
+ .sporadic(Materials.Thorium)
+ .localize(Materials.Plutonium)),
HeavyPentele(new OreMixBuilder().name("ore.mix.heavypentele")
.heightRange(40, 60)
@@ -851,7 +880,8 @@ public enum OreMixes {
.primary(Materials.Quartzite)
.secondary(Materials.Barite)
.inBetween(Materials.CertusQuartz)
- .sporadic(Materials.CertusQuartz)),
+ .sporadic(Materials.CertusQuartz)
+ .localize(Materials.Quartz)),
Rutile(new OreMixBuilder().name("ore.mix.rutile")
.heightRange(5, 20)
@@ -874,7 +904,8 @@ public enum OreMixes {
.primary(Materials.Galena)
.secondary(Materials.Silver)
.inBetween(Materials.Lead)
- .sporadic(Materials.Cryolite)),
+ .sporadic(Materials.Cryolite)
+ .localize(Materials.Cryolite)),
LuVTantalite(new OreMixBuilder().name("ore.mix.luvtantalite")
.heightRange(20, 30)
@@ -907,7 +938,8 @@ public enum OreMixes {
.primary(Materials.Neutronium)
.secondary(Materials.Adamantium)
.inBetween(Materials.InfinityCatalyst)
- .sporadic(Materials.Bedrockium)),
+ .sporadic(Materials.Bedrockium)
+ .localize(Materials.InfinityCatalyst)),
CosmicNeutronium(new OreMixBuilder().name("ore.mix.cosmicneutronium")
.heightRange(5, 20)
@@ -918,7 +950,8 @@ public enum OreMixes {
.primary(Materials.Neutronium)
.secondary(Materials.CosmicNeutronium)
.inBetween(Materials.BlackPlutonium)
- .sporadic(Materials.Bedrockium)),
+ .sporadic(Materials.Bedrockium)
+ .localize(Materials.CosmicNeutronium)),
Dilithium(new OreMixBuilder().name("ore.mix.dilithium")
.heightRange(30, 100)
@@ -940,7 +973,8 @@ public enum OreMixes {
.primary(Materials.Naquadah)
.secondary(Materials.NaquadahEnriched)
.inBetween(Materials.Naquadria)
- .sporadic(Materials.Trinium)),
+ .sporadic(Materials.Trinium)
+ .localize(Materials.Naquadria)),
AwakenedDraconium(new OreMixBuilder().name("ore.mix.awakeneddraconium")
.heightRange(20, 40)
@@ -951,7 +985,8 @@ public enum OreMixes {
.primary(Materials.Draconium)
.secondary(Materials.Draconium)
.inBetween(Materials.DraconiumAwakened)
- .sporadic(Materials.NetherStar)),
+ .sporadic(Materials.NetherStar)
+ .localize(Materials.DraconiumAwakened)),
Tengam(new OreMixBuilder().name("ore.mix.tengam")
.heightRange(30, 180)
diff --git a/src/main/java/gregtech/common/OreMixBuilder.java b/src/main/java/gregtech/common/OreMixBuilder.java
index cd8d14c884..86453ca0a8 100644
--- a/src/main/java/gregtech/common/OreMixBuilder.java
+++ b/src/main/java/gregtech/common/OreMixBuilder.java
@@ -1,5 +1,6 @@
package gregtech.common;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -16,7 +17,8 @@ public class OreMixBuilder {
public boolean enabledByDefault = true;
public Map<String, Boolean> dimsEnabled = new HashMap<>();
public int minY, maxY, weight, density, size;
- public Materials primary, secondary, between, sporadic;
+ public Materials primary, secondary, between, sporadic, representative;
+ public String localizedName;
public OreMixBuilder name(String name) {
this.oreMixName = name;
@@ -65,6 +67,10 @@ public class OreMixBuilder {
public OreMixBuilder primary(Materials primary) {
this.primary = primary;
+ if (representative == null || localizedName == null) {
+ representative = primary;
+ localizedName = primary.mLocalizedName;
+ }
return this;
}
@@ -83,4 +89,31 @@ public class OreMixBuilder {
return this;
}
+ /**
+ * Sets the localized name for the ore mix based on the provided materials.
+ * If more than one material is provided, their localized names are concatenated
+ * with commas, last comma is replaced by "&".
+ *
+ * @param materials The materials to be used for localization. The first material
+ * in the array will be used to represent to ore mix in GUI's.
+ * If none are provided the {@link #primary} will be used.
+ */
+ public OreMixBuilder localize(Materials... materials) {
+ if (materials.length > 1) {
+ String localizedName = String.join(
+ ", ",
+ Arrays.stream(materials)
+ .map(material -> material.mLocalizedName)
+ .toArray(String[]::new));
+ int index = localizedName.lastIndexOf(", ");
+ if (index != -1) {
+ localizedName = localizedName.substring(0, index) + " & " + localizedName.substring(index + 2);
+ }
+ this.localizedName = localizedName;
+ } else {
+ this.localizedName = materials[0].mLocalizedName;
+ }
+ this.representative = materials[0];
+ return this;
+ }
}
diff --git a/src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5Base.java b/src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5Base.java
index 86117f099a..859ea87bb2 100644
--- a/src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5Base.java
+++ b/src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5Base.java
@@ -3,38 +3,16 @@ package gtneioreplugin.plugin.gregtech5;
import net.minecraft.client.resources.I18n;
import codechicken.lib.gui.GuiDraw;
-import gregtech.api.GregTechAPI;
import gregtech.api.enums.Materials;
import gregtech.api.util.GTLanguageManager;
import gtneioreplugin.plugin.PluginBase;
public abstract class PluginGT5Base extends PluginBase {
- protected static String getLocalizedNameForItem(Materials aMaterial, String aFormat) {
- return String.format(
- aFormat.replace("%s", "%temp")
- .replace("%material", "%s"),
- aMaterial.mLocalizedName)
- .replace("%temp", "%s");
- }
-
- protected static String getLocalizedNameForItem(String aFormat, int aMaterialID) {
- if (aMaterialID >= 0 && aMaterialID < 1000) {
- Materials aMaterial = GregTechAPI.sGeneratedMaterials[aMaterialID];
- if (aMaterial != null) {
- return getLocalizedNameForItem(aMaterial, aFormat);
- }
- }
- return aFormat;
- }
-
public static String getGTOreLocalizedName(short index) {
-
- if (!getLocalizedNameForItem(GTLanguageManager.getTranslation(getGTOreUnlocalizedName(index)), index % 1000)
- .contains("Awakened"))
- return getLocalizedNameForItem(
- GTLanguageManager.getTranslation(getGTOreUnlocalizedName(index)),
- index % 1000);
+ String name = Materials
+ .getLocalizedNameForItem(GTLanguageManager.getTranslation(getGTOreUnlocalizedName(index)), index % 1000);
+ if (!name.contains("Awakened")) return name;
else return "Aw. Draconium Ore";
}
diff --git a/src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5VeinStat.java b/src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5VeinStat.java
index 6e02539a87..cb89a0bc7b 100644
--- a/src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5VeinStat.java
+++ b/src/main/java/gtneioreplugin/plugin/gregtech5/PluginGT5VeinStat.java
@@ -91,7 +91,7 @@ public class PluginGT5VeinStat extends PluginGT5Base {
}
private static void drawVeinName(OreLayerWrapper oreLayer) {
- drawVeinNameLine(I18n.format(oreLayer.veinName) + " ");
+ drawVeinNameLine(oreLayer.localizedName + " ");
}
private static void drawVeinNameLine(String veinName) {
diff --git a/src/main/java/gtneioreplugin/util/GT5OreLayerHelper.java b/src/main/java/gtneioreplugin/util/GT5OreLayerHelper.java
index ac4d6c4aca..0e8e5b3462 100644
--- a/src/main/java/gtneioreplugin/util/GT5OreLayerHelper.java
+++ b/src/main/java/gtneioreplugin/util/GT5OreLayerHelper.java
@@ -71,7 +71,7 @@ public class GT5OreLayerHelper {
public static class OreLayerWrapper {
- public final String veinName, worldGenHeightRange;
+ public final String veinName, worldGenHeightRange, localizedName;
public final short[] Meta = new short[4];
public final short randomWeight, size, density;
public final Map<String, Boolean> allowedDimWithOrigNames;
@@ -83,6 +83,7 @@ public class GT5OreLayerHelper {
public OreLayerWrapper(OreMixBuilder mix) {
this.veinName = mix.oreMixName;
+ this.localizedName = mix.localizedName;
this.Meta[0] = (short) mix.primary.mMetaItemSubID;
this.Meta[1] = (short) mix.secondary.mMetaItemSubID;
this.Meta[2] = (short) mix.between.mMetaItemSubID;