Skip to content

Commit f0052a6

Browse files
committed
Add translations for machine casings
1 parent df526c6 commit f0052a6

File tree

7 files changed

+71
-34
lines changed

7 files changed

+71
-34
lines changed

docs/ADDING_MACHINES.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -327,12 +327,12 @@ remember that the top, side and bottom textures of a casing must be `modern_indu
327327
For example:
328328
```js
329329
MIMachineEvents.registerCasings(event => {
330-
// Register two casings.
330+
// Register a casing.
331331
// This doesn't register any model! Either add models or add the top/side/bottom textures.
332-
event.register("my_fancy_casing", "my_other_casing");
332+
event.register("fancy_casing", "Fancy");
333333

334334
// This registers a new casing with the same model as a diamond block!
335-
event.registerBlockImitation("my_diamond_casing", "minecraft:diamond_block");
335+
event.registerBlockImitation("diamond_casing", "Diamond", "minecraft:diamond_block");
336336
})
337337
```
338338

src/generated/resources/assets/modern_industrialization/lang/en_us.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,29 @@
10901090
"key.categories.modern_industrialization.modern_industrialization": "Modern Industrialization",
10911091
"key.modern_industrialization.toggle_3x3": "Toggle 3x3 Mining",
10921092
"key.modern_industrialization.toggle_flight": "Toggle Flight",
1093+
"machine_casing.modern_industrialization.bricked_bronze": "Bricked Bronze",
1094+
"machine_casing.modern_industrialization.bricked_steel": "Bricked Steel",
1095+
"machine_casing.modern_industrialization.bricks": "Bricks",
1096+
"machine_casing.modern_industrialization.bronze": "Bronze",
1097+
"machine_casing.modern_industrialization.bronze_plated_bricks": "Bronze Plated Bricks",
1098+
"machine_casing.modern_industrialization.clean_stainless_steel_machine_casing": "Clean Stainless Steel",
1099+
"machine_casing.modern_industrialization.configurable_tank": "Configurable Tank",
1100+
"machine_casing.modern_industrialization.ev": "EV",
1101+
"machine_casing.modern_industrialization.firebricks": "Firebricks",
1102+
"machine_casing.modern_industrialization.frostproof_machine_casing": "Frostproof",
1103+
"machine_casing.modern_industrialization.heatproof_machine_casing": "Heatproof",
1104+
"machine_casing.modern_industrialization.hv": "HV",
1105+
"machine_casing.modern_industrialization.lv": "LV",
1106+
"machine_casing.modern_industrialization.mv": "MV",
1107+
"machine_casing.modern_industrialization.nuclear_casing": "Nuclear",
1108+
"machine_casing.modern_industrialization.plasma_handling_iridium_machine_casing": "Plasma Handling Iridium",
1109+
"machine_casing.modern_industrialization.solid_titanium_machine_casing": "Solid Titanium",
1110+
"machine_casing.modern_industrialization.stainless_steel_machine_casing_pipe": "Stainless Steel Pipe",
1111+
"machine_casing.modern_industrialization.steel": "Steel",
1112+
"machine_casing.modern_industrialization.steel_crate": "Steel Crate",
1113+
"machine_casing.modern_industrialization.superconductor": "Superconductor",
1114+
"machine_casing.modern_industrialization.titanium": "Titanium",
1115+
"machine_casing.modern_industrialization.titanium_machine_casing_pipe": "Titanium Pipe",
10931116
"rei_categories.modern_industrialization.assembler": "Assembler",
10941117
"rei_categories.modern_industrialization.bronze_compressor": "Compressor",
10951118
"rei_categories.modern_industrialization.bronze_cutting_machine": "Cutting Machine",

src/main/java/aztech/modern_industrialization/api/energy/CableTier.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public CableTier(String name, String shortEnglishName, String longEnglishName, l
8383
this.longEnglishName = longEnglishName;
8484
this.eu = eu;
8585
this.itemKey = itemKey;
86-
this.casing = MachineCasings.create(name);
86+
this.casing = MachineCasings.create(name, shortEnglishName);
8787
this.builtin = builtin;
8888
}
8989

src/main/java/aztech/modern_industrialization/compat/kubejs/machine/RegisterCasingsEventJS.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,19 @@
3030
import net.minecraft.resources.ResourceLocation;
3131

3232
public class RegisterCasingsEventJS implements KubeEvent {
33-
public void register(String... names) {
34-
for (var name : names) {
35-
if (name.contains(":")) {
36-
throw new IllegalArgumentException("Casing name cannot contain ':'.");
37-
}
38-
39-
MachineCasings.create(name);
33+
public void register(String name, String englishName) {
34+
if (name.contains(":")) {
35+
throw new IllegalArgumentException("Casing name cannot contain ':'.");
4036
}
37+
MachineCasings.create(name, englishName);
4138
}
4239

43-
public void registerBlockImitation(String name, ResourceLocation block) {
40+
public void registerBlockImitation(String name, String englishName, ResourceLocation block) {
4441
Objects.requireNonNull(block, "block may not be null");
4542
if (name.contains(":")) {
4643
throw new IllegalArgumentException("Casing name cannot contain ':'.");
4744
}
4845

49-
MachineCasingImitations.imitationsToGenerate.put(MachineCasings.create(name), block);
46+
MachineCasingImitations.imitationsToGenerate.put(MachineCasings.create(name, englishName), block);
5047
}
5148
}

src/main/java/aztech/modern_industrialization/datagen/translation/TranslationProvider.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import aztech.modern_industrialization.datagen.tag.TagsToGenerate;
3333
import aztech.modern_industrialization.definition.Definition;
3434
import aztech.modern_industrialization.machines.blockentities.multiblocks.ElectricBlastFurnaceBlockEntity;
35+
import aztech.modern_industrialization.machines.models.MachineCasings;
3536
import com.google.common.hash.Hashing;
3637
import com.google.gson.Gson;
3738
import com.google.gson.GsonBuilder;
@@ -132,6 +133,11 @@ private void collectTranslationEntries() {
132133
addTranslation(cableTier.shortEnglishKey(), cableTier.shortEnglishName);
133134
addTranslation(cableTier.longEnglishKey(), cableTier.longEnglishName);
134135
}
136+
137+
for (var casing : MachineCasings.registeredCasings.values()) {
138+
var englishName = MachineCasings.casingNames.get(casing.key);
139+
addTranslation(casing.getTranslationKey(), englishName);
140+
}
135141
}
136142

137143
@Override

src/main/java/aztech/modern_industrialization/machines/models/MachineCasing.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
*/
2424
package aztech.modern_industrialization.machines.models;
2525

26+
import net.minecraft.network.chat.Component;
2627
import net.minecraft.resources.ResourceLocation;
2728

2829
public class MachineCasing {
@@ -31,4 +32,12 @@ public class MachineCasing {
3132
MachineCasing(ResourceLocation key) {
3233
this.key = key;
3334
}
35+
36+
public String getTranslationKey() {
37+
return "machine_casing.%s.%s".formatted(key.getNamespace(), key.getPath());
38+
}
39+
40+
public Component getDisplayName() {
41+
return Component.translatable(getTranslationKey());
42+
}
3443
}

src/main/java/aztech/modern_industrialization/machines/models/MachineCasings.java

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,42 +32,44 @@
3232
public class MachineCasings {
3333

3434
public static final Map<ResourceLocation, MachineCasing> registeredCasings = new HashMap<>();
35+
public static final Map<ResourceLocation, String> casingNames = new HashMap<>();
3536

36-
public static final MachineCasing BRICKED_BRONZE = create("bricked_bronze");
37-
public static final MachineCasing BRICKED_STEEL = create("bricked_steel");
38-
public static final MachineCasing BRICKS = create("bricks");
39-
public static final MachineCasing BRONZE = create("bronze");
40-
public static final MachineCasing BRONZE_PLATED_BRICKS = create("bronze_plated_bricks");
41-
public static final MachineCasing CLEAN_STAINLESS_STEEL = create("clean_stainless_steel_machine_casing");
42-
public static final MachineCasing CONFIGURABLE_TANK = create("configurable_tank");
43-
public static final MachineCasing STAINLESS_STEEL_PIPE = create("stainless_steel_machine_casing_pipe");
44-
public static final MachineCasing FIREBRICKS = create("firebricks");
45-
public static final MachineCasing FROSTPROOF = create("frostproof_machine_casing");
46-
public static final MachineCasing HEATPROOF = create("heatproof_machine_casing");
47-
public static final MachineCasing STEEL = create("steel");
48-
public static final MachineCasing STEEL_CRATE = create("steel_crate");
49-
public static final MachineCasing TITANIUM = create("titanium");
50-
public static final MachineCasing TITANIUM_PIPE = create("titanium_machine_casing_pipe");
51-
public static final MachineCasing SOLID_TITANIUM = create("solid_titanium_machine_casing");
52-
public static final MachineCasing NUCLEAR = create("nuclear_casing");
53-
public static final MachineCasing PLASMA_HANDLING_IRIDIUM = create("plasma_handling_iridium_machine_casing");
37+
public static final MachineCasing BRICKED_BRONZE = create("bricked_bronze", "Bricked Bronze");
38+
public static final MachineCasing BRICKED_STEEL = create("bricked_steel", "Bricked Steel");
39+
public static final MachineCasing BRICKS = create("bricks", "Bricks");
40+
public static final MachineCasing BRONZE = create("bronze", "Bronze");
41+
public static final MachineCasing BRONZE_PLATED_BRICKS = create("bronze_plated_bricks", "Bronze Plated Bricks");
42+
public static final MachineCasing CLEAN_STAINLESS_STEEL = create("clean_stainless_steel_machine_casing", "Clean Stainless Steel");
43+
public static final MachineCasing CONFIGURABLE_TANK = create("configurable_tank", "Configurable Tank");
44+
public static final MachineCasing STAINLESS_STEEL_PIPE = create("stainless_steel_machine_casing_pipe", "Stainless Steel Pipe");
45+
public static final MachineCasing FIREBRICKS = create("firebricks", "Firebricks");
46+
public static final MachineCasing FROSTPROOF = create("frostproof_machine_casing", "Frostproof");
47+
public static final MachineCasing HEATPROOF = create("heatproof_machine_casing", "Heatproof");
48+
public static final MachineCasing STEEL = create("steel", "Steel");
49+
public static final MachineCasing STEEL_CRATE = create("steel_crate", "Steel Crate");
50+
public static final MachineCasing TITANIUM = create("titanium", "Titanium");
51+
public static final MachineCasing TITANIUM_PIPE = create("titanium_machine_casing_pipe", "Titanium Pipe");
52+
public static final MachineCasing SOLID_TITANIUM = create("solid_titanium_machine_casing", "Solid Titanium");
53+
public static final MachineCasing NUCLEAR = create("nuclear_casing", "Nuclear");
54+
public static final MachineCasing PLASMA_HANDLING_IRIDIUM = create("plasma_handling_iridium_machine_casing", "Plasma Handling Iridium");
5455

5556
static {
5657
KubeJSProxy.instance.fireRegisterMachineCasingsEvent();
5758
}
5859

59-
public static MachineCasing create(ResourceLocation key) {
60+
public static MachineCasing create(ResourceLocation key, String englishName) {
6061
if (registeredCasings.containsKey(key)) {
6162
throw new IllegalArgumentException("Duplicate machine casing definition: " + key);
6263
}
6364

6465
MachineCasing casing = new MachineCasing(key);
6566
registeredCasings.put(key, casing);
67+
casingNames.put(key, englishName);
6668
return casing;
6769
}
6870

69-
public static MachineCasing create(String name) {
70-
return create(MI.id(name));
71+
public static MachineCasing create(String name, String englishName) {
72+
return create(MI.id(name), englishName);
7173
}
7274

7375
public static MachineCasing get(ResourceLocation key) {

0 commit comments

Comments
 (0)