Skip to content

Commit 19ce515

Browse files
committed
add method for addons to register MTEs easily
1 parent f0c75f2 commit 19ce515

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/main/java/gregtech/common/metatileentities/MetaTileEntities.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
import java.util.HashMap;
3636
import java.util.Map;
37+
import java.util.function.Function;
3738

3839
public class MetaTileEntities {
3940

@@ -623,14 +624,7 @@ private static void registerSimpleMetaTileEntity(SimpleMachineMetaTileEntity[] m
623624
RecipeMap<?> map,
624625
OrientedOverlayRenderer texture,
625626
boolean hasFrontFacing) {
626-
for (int i = 0; i < machines.length - 1; i++) {
627-
if (i > 4 && !getMidTier(name)) continue;
628-
if (i > 7 && !getHighTier(name)) break;
629-
630-
String voltageName = GTValues.VN[i + 1].toLowerCase();
631-
machines[i] = GregTechAPI.registerMetaTileEntity(startId + i,
632-
new SimpleMachineMetaTileEntity(gregtechId(String.format("%s.%s", name, voltageName)), map, texture, i + 1, hasFrontFacing));
633-
}
627+
registerSimpleMetaTileEntity(machines, startId, name, map, texture, hasFrontFacing, MetaTileEntities::gregtechId);
634628
}
635629

636630
private static void registerSimpleMetaTileEntity(SimpleMachineMetaTileEntity[] machines,
@@ -641,6 +635,23 @@ private static void registerSimpleMetaTileEntity(SimpleMachineMetaTileEntity[] m
641635
registerSimpleMetaTileEntity(machines, startId, name, map, texture, true);
642636
}
643637

638+
public static void registerSimpleMetaTileEntity(SimpleMachineMetaTileEntity[] machines,
639+
int startId,
640+
String name,
641+
RecipeMap<?> map,
642+
OrientedOverlayRenderer texture,
643+
boolean hasFrontFacing,
644+
Function<String, ResourceLocation> resourceId) {
645+
for (int i = 0; i < machines.length - 1; i++) {
646+
if (i > 4 && !getMidTier(name)) continue;
647+
if (i > 7 && !getHighTier(name)) break;
648+
649+
String voltageName = GTValues.VN[i + 1].toLowerCase();
650+
machines[i] = GregTechAPI.registerMetaTileEntity(startId + i,
651+
new SimpleMachineMetaTileEntity(resourceId.apply(String.format("%s.%s", name, voltageName)), map, texture, i + 1, hasFrontFacing));
652+
}
653+
}
654+
644655
private static ResourceLocation gregtechId(String name) {
645656
return new ResourceLocation(GTValues.MODID, name);
646657
}

0 commit comments

Comments
 (0)