Skip to content

Commit 48a96d0

Browse files
committed
Add 64A energy converters (and do datagen actually correctly)
1 parent 18786f2 commit 48a96d0

File tree

9 files changed

+130
-9
lines changed

9 files changed

+130
-9
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ bin/
3030

3131
run/
3232
run-data/
33+
/src/generated/resources/.cache/a5729a10ce88c8b13f7e7103a2a0b99d680dcea3
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"block.gtmutils.ev_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛƎϛ§",
3+
"block.gtmutils.hv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛH9§",
4+
"block.gtmutils.iv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛI6§",
5+
"block.gtmutils.luv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛnꞀp§",
6+
"block.gtmutils.lv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛꞀㄥ§",
7+
"block.gtmutils.max_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§XⱯWן§ɔ§",
8+
"block.gtmutils.mv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛWq§",
9+
"block.gtmutils.opv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛdOן§6§",
10+
"block.gtmutils.sterile_cleaning_maintenance_hatch": "ɥɔʇɐH ǝɔuɐuǝʇuıɐW buıuɐǝןƆ ǝןıɹǝʇS",
11+
"block.gtmutils.uev_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛƎ∩ɐ§",
12+
"block.gtmutils.uhv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛH∩ㄣ§",
13+
"block.gtmutils.uiv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛI∩ᄅ§",
14+
"block.gtmutils.ulv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛꞀ∩8§",
15+
"block.gtmutils.uv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§Λ∩Ɛ§",
16+
"block.gtmutils.uxv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛX∩ǝ§",
17+
"block.gtmutils.zpm_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§WԀZɔ§",
18+
"item.gtmutils.omnitool": "ןooʇıuɯO",
19+
"itemGroup.gtmutils.creative_tab": "sǝıʇıןıʇ∩ uɹǝpoW ɥɔǝ⟘bǝɹ⅁",
20+
"tooltip.omnitool.can_break_anything": "¡ʎꞀ⟘NⱯ⟘SNI ⅁NIH⟘ʎNⱯ ʞɐǝɹq uɐɔ ןooʇıuɯo ǝɥ⟘",
21+
"tooltip.omnitool.charge_status": "∩Ǝ %s / ∩Ǝ %s :ʎbɹǝuƎ",
22+
"tooltip.omnitool.right_click_function": "¡ʞɔıןɔ-ʇɥbıɹ ɥʇıʍ sʞɔoןq ןɐnpıʌıpuı ʞɐǝɹᗺ"
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"block.gtmutils.ev_64a_energy_converter": "§5EV§r 64§eA§r Energy Converter",
3+
"block.gtmutils.hv_64a_energy_converter": "§6HV§r 64§eA§r Energy Converter",
4+
"block.gtmutils.iv_64a_energy_converter": "§9IV§r 64§eA§r Energy Converter",
5+
"block.gtmutils.luv_64a_energy_converter": "§dLuV§r 64§eA§r Energy Converter",
6+
"block.gtmutils.lv_64a_energy_converter": "§7LV§r 64§eA§r Energy Converter",
7+
"block.gtmutils.max_64a_energy_converter": "§c§lMAX§r 64§eA§r Energy Converter",
8+
"block.gtmutils.mv_64a_energy_converter": "§bMV§r 64§eA§r Energy Converter",
9+
"block.gtmutils.opv_64a_energy_converter": "§9§lOpV§r 64§eA§r Energy Converter",
10+
"block.gtmutils.sterile_cleaning_maintenance_hatch": "Sterile Cleaning Maintenance Hatch",
11+
"block.gtmutils.uev_64a_energy_converter": "§aUEV§r 64§eA§r Energy Converter",
12+
"block.gtmutils.uhv_64a_energy_converter": "§4UHV§r 64§eA§r Energy Converter",
13+
"block.gtmutils.uiv_64a_energy_converter": "§2UIV§r 64§eA§r Energy Converter",
14+
"block.gtmutils.ulv_64a_energy_converter": "§8ULV§r 64§eA§r Energy Converter",
15+
"block.gtmutils.uv_64a_energy_converter": "§3UV§r 64§eA§r Energy Converter",
16+
"block.gtmutils.uxv_64a_energy_converter": "§eUXV§r 64§eA§r Energy Converter",
17+
"block.gtmutils.zpm_64a_energy_converter": "§cZPM§r 64§eA§r Energy Converter",
18+
"item.gtmutils.omnitool": "Omnitool",
19+
"itemGroup.gtmutils.creative_tab": "GregTech Modern Utilities",
20+
"tooltip.omnitool.can_break_anything": "The omnitool can break ANYTHING INSTANTLY!",
21+
"tooltip.omnitool.charge_status": "Energy: %s EU / %s EU",
22+
"tooltip.omnitool.right_click_function": "Break individual blocks with right-click!"
23+
}

src/main/resources/assets/gtmutils/models/item/omnitool.json renamed to src/generated/resources/assets/gtmutils/models/item/omnitool.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"parent": "item/generated",
2+
"parent": "minecraft:item/generated",
33
"textures": {
44
"layer0": "gtmutils:item/omnitool"
55
}

src/main/java/net/neganote/gtutilities/GregTechModernUtilities.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
2222
import net.neganote.gtutilities.common.item.UtilItems;
2323
import net.neganote.gtutilities.common.machine.UtilMachines;
24+
import net.neganote.gtutilities.data.UtilDatagen;
2425

2526
import com.tterrag.registrate.util.entry.RegistryEntry;
2627
import org.apache.logging.log4j.LogManager;
@@ -64,6 +65,8 @@ public GregTechModernUtilities() {
6465

6566
public static void init() {
6667
UtilItems.init();
68+
REGISTRATE.registerRegistrate();
69+
UtilDatagen.init();
6770
}
6871

6972
public static ResourceLocation id(String path) {

src/main/java/net/neganote/gtutilities/common/machine/UtilMachines.java

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,28 @@
11
package net.neganote.gtutilities.common.machine;
22

33
import com.gregtechceu.gtceu.api.GTValues;
4+
import com.gregtechceu.gtceu.api.capability.compat.FeCompat;
45
import com.gregtechceu.gtceu.api.data.RotationState;
6+
import com.gregtechceu.gtceu.api.machine.IMachineBlockEntity;
57
import com.gregtechceu.gtceu.api.machine.MachineDefinition;
8+
import com.gregtechceu.gtceu.api.machine.MetaMachine;
69
import com.gregtechceu.gtceu.api.machine.multiblock.CleanroomType;
710
import com.gregtechceu.gtceu.api.machine.multiblock.PartAbility;
11+
import com.gregtechceu.gtceu.api.registry.registrate.MachineBuilder;
12+
import com.gregtechceu.gtceu.client.renderer.machine.ConverterRenderer;
813
import com.gregtechceu.gtceu.client.renderer.machine.MaintenanceHatchPartRenderer;
14+
import com.gregtechceu.gtceu.common.machine.electric.ConverterMachine;
915
import com.gregtechceu.gtceu.common.machine.multiblock.part.CleaningMaintenanceHatchPartMachine;
1016

1117
import net.minecraft.ChatFormatting;
1218
import net.minecraft.network.chat.Component;
1319
import net.neganote.gtutilities.GregTechModernUtilities;
1420

21+
import java.util.Locale;
22+
import java.util.function.BiFunction;
23+
24+
import static com.gregtechceu.gtceu.api.GTValues.*;
25+
import static com.gregtechceu.gtceu.api.GTValues.V;
1526
import static net.neganote.gtutilities.GregTechModernUtilities.REGISTRATE;
1627

1728
@SuppressWarnings("unused")
@@ -25,6 +36,7 @@ public class UtilMachines {
2536
public static final MachineDefinition STERILE_CLEANING_MAINTENANCE_HATCH = REGISTRATE
2637
.machine("sterile_cleaning_maintenance_hatch",
2738
holder -> new CleaningMaintenanceHatchPartMachine(holder, CleanroomType.STERILE_CLEANROOM))
39+
.langValue("Sterile Cleaning Maintenance Hatch")
2840
.rotationState(RotationState.ALL)
2941
.abilities(PartAbility.MAINTENANCE)
3042
.tooltips(Component.translatable("gtceu.universal.disabled"),
@@ -41,5 +53,46 @@ public class UtilMachines {
4153
// changed later
4254
.register();
4355

56+
// Copied from GTMachineUtils
57+
public static MachineDefinition[] registerConverter(int amperage) {
58+
return registerTieredMachines(amperage + "a_energy_converter",
59+
(holder, tier) -> new ConverterMachine(holder, tier, amperage),
60+
(tier, builder) -> builder
61+
.rotationState(RotationState.ALL)
62+
.langValue("%s %s§eA§r Energy Converter".formatted(VCF[tier] + VN[tier] + ChatFormatting.RESET,
63+
amperage))
64+
.renderer(() -> new ConverterRenderer(tier, amperage))
65+
.tooltips(Component.translatable("gtceu.machine.energy_converter.description"),
66+
Component.translatable("gtceu.machine.energy_converter.tooltip_tool_usage"),
67+
Component.translatable("gtceu.machine.energy_converter.tooltip_conversion_native",
68+
FeCompat.toFeLong(V[tier] * amperage,
69+
FeCompat.ratio(true)),
70+
amperage, V[tier], GTValues.VNF[tier]),
71+
Component.translatable("gtceu.machine.energy_converter.tooltip_conversion_eu", amperage,
72+
V[tier], GTValues.VNF[tier],
73+
FeCompat.toFeLong(V[tier] * amperage,
74+
FeCompat.ratio(false))))
75+
.register(),
76+
ALL_TIERS);
77+
}
78+
79+
// Copied from GTMachineUtils
80+
public static MachineDefinition[] registerTieredMachines(String name,
81+
BiFunction<IMachineBlockEntity, Integer, MetaMachine> factory,
82+
BiFunction<Integer, MachineBuilder<MachineDefinition>, MachineDefinition> builder,
83+
int... tiers) {
84+
MachineDefinition[] definitions = new MachineDefinition[GTValues.TIER_COUNT];
85+
for (int tier : tiers) {
86+
var register = REGISTRATE
87+
.machine(GTValues.VN[tier].toLowerCase(Locale.ROOT) + "_" + name,
88+
holder -> factory.apply(holder, tier))
89+
.tier(tier);
90+
definitions[tier] = builder.apply(tier, register);
91+
}
92+
return definitions;
93+
}
94+
95+
public static final MachineDefinition[] ENERGY_CONVERTER_64A = registerConverter(64);
96+
4497
public static void init() {}
4598
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package net.neganote.gtutilities.data;
2+
3+
import net.neganote.gtutilities.data.lang.UtilLangHandler;
4+
5+
import com.tterrag.registrate.providers.ProviderType;
6+
7+
import static net.neganote.gtutilities.GregTechModernUtilities.REGISTRATE;
8+
9+
public class UtilDatagen {
10+
11+
public static void init() {
12+
REGISTRATE.addDataGenerator(ProviderType.LANG, UtilLangHandler::init);
13+
}
14+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package net.neganote.gtutilities.data.lang;
2+
3+
import com.tterrag.registrate.providers.RegistrateLangProvider;
4+
5+
public class UtilLangHandler {
6+
7+
public static void init(RegistrateLangProvider provider) {
8+
provider.add("tooltip.omnitool.can_break_anything", "The omnitool can break ANYTHING INSTANTLY!");
9+
provider.add("tooltip.omnitool.charge_status", "Energy: %s EU / %s EU");
10+
provider.add("tooltip.omnitool.right_click_function", "Break individual blocks with right-click!");
11+
}
12+
}

src/main/resources/assets/gtmutils/lang/en_us.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)