-
Notifications
You must be signed in to change notification settings - Fork 211
Expand file tree
/
Copy pathHWYLAModule.java
More file actions
89 lines (80 loc) · 4.34 KB
/
Copy pathHWYLAModule.java
File metadata and controls
89 lines (80 loc) · 4.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package gregtech.integration.hwyla;
import gregtech.api.GTValues;
import gregtech.api.modules.GregTechModule;
import gregtech.api.util.Mods;
import gregtech.integration.IntegrationSubmodule;
import gregtech.integration.hwyla.provider.AEMultiblockHatchProvider;
import gregtech.integration.hwyla.provider.ActiveTransformerDataProvider;
import gregtech.integration.hwyla.provider.BatteryBufferDataProvider;
import gregtech.integration.hwyla.provider.BlockOreDataProvider;
import gregtech.integration.hwyla.provider.ControllableDataProvider;
import gregtech.integration.hwyla.provider.ConverterDataProvider;
import gregtech.integration.hwyla.provider.DiodeDataProvider;
import gregtech.integration.hwyla.provider.ElectricContainerDataProvider;
import gregtech.integration.hwyla.provider.LampDataProvider;
import gregtech.integration.hwyla.provider.MaintenanceDataProvider;
import gregtech.integration.hwyla.provider.MultiRecipeMapDataProvider;
import gregtech.integration.hwyla.provider.MultiblockDataProvider;
import gregtech.integration.hwyla.provider.PrimitivePumpDataProvider;
import gregtech.integration.hwyla.provider.QuantumStorageProvider;
import gregtech.integration.hwyla.provider.RecipeLogicDataProvider;
import gregtech.integration.hwyla.provider.SteamBoilerDataProvider;
import gregtech.integration.hwyla.provider.TransformerDataProvider;
import gregtech.integration.hwyla.provider.WorkableDataProvider;
import gregtech.modules.GregTechModules;
import net.minecraft.item.ItemStack;
import mcp.mobius.waila.api.IWailaPlugin;
import mcp.mobius.waila.api.IWailaRegistrar;
import mcp.mobius.waila.api.SpecialChars;
import mcp.mobius.waila.api.WailaPlugin;
@WailaPlugin
@GregTechModule(
moduleID = GregTechModules.MODULE_HWYLA,
containerID = GTValues.MODID,
modDependencies = Mods.Names.HWYLA,
name = "GregTech HWYLA Integration",
description = "HWYLA (WAILA) Integration Module")
public class HWYLAModule extends IntegrationSubmodule implements IWailaPlugin {
@Override
public void register(IWailaRegistrar registrar) {
ElectricContainerDataProvider.INSTANCE.register(registrar);
WorkableDataProvider.INSTANCE.register(registrar);
ControllableDataProvider.INSTANCE.register(registrar);
TransformerDataProvider.INSTANCE.register(registrar);
DiodeDataProvider.INSTANCE.register(registrar);
MultiblockDataProvider.INSTANCE.register(registrar);
MaintenanceDataProvider.INSTANCE.register(registrar);
MultiRecipeMapDataProvider.INSTANCE.register(registrar);
ConverterDataProvider.INSTANCE.register(registrar);
RecipeLogicDataProvider.INSTANCE.register(registrar);
SteamBoilerDataProvider.INSTANCE.register(registrar);
PrimitivePumpDataProvider.INSTANCE.register(registrar);
// one day, if cover provider is ported to waila, register it right here
BlockOreDataProvider.INSTANCE.register(registrar);
LampDataProvider.INSTANCE.register(registrar);
ActiveTransformerDataProvider.INSTANCE.register(registrar);
BatteryBufferDataProvider.INSTANCE.register(registrar);
QuantumStorageProvider.INSTANCE.register(registrar);
AEMultiblockHatchProvider.INSTANCE.register(registrar);
}
/** Render an ItemStack. */
public static String wailaStack(ItemStack stack) {
String name = stack.getItem().getRegistryName().toString();
String count = String.valueOf(stack.getCount());
String damage = String.valueOf(stack.getItemDamage());
String nbt = stack.hasTagCompound() ? stack.getTagCompound().toString() : "";
return SpecialChars.getRenderString("waila.stack", "1", name, count, damage, nbt);
}
/** Render a string with an X/Y offset. */
public static String offsetText(String s, int x, int y) {
return SpecialChars.getRenderString("gregtech.text", s, Integer.toString(x), Integer.toString(y));
}
/** Render an ItemStack with its display name offset to the right. */
public static String wailaStackWithName(ItemStack stack) {
return wailaStackWithName(stack, stack.getDisplayName());
}
/** Render an ItemStack with a custom String displayed offset to the right. */
public static String wailaStackWithName(ItemStack stack, String name) {
return wailaStack(stack) + offsetText(name, 0, 4);
}
}