aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/crossmod/waila
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-09-15 20:24:28 +0900
committerGitHub <noreply@github.com>2023-09-15 13:24:28 +0200
commitdcb998cecc6bf3b97a5274958034587f32c43079 (patch)
treec2c41268049876554d79a22d045ae63f627d499c /src/main/java/gregtech/crossmod/waila
parentb31052879e7601dbfea4c7fb53b94119c7bbf5c6 (diff)
downloadGT5-Unofficial-dcb998cecc6bf3b97a5274958034587f32c43079.tar.gz
GT5-Unofficial-dcb998cecc6bf3b97a5274958034587f32c43079.tar.bz2
GT5-Unofficial-dcb998cecc6bf3b97a5274958034587f32c43079.zip
Add HoloInventory compat (#2292)
Diffstat (limited to 'src/main/java/gregtech/crossmod/waila')
-rw-r--r--src/main/java/gregtech/crossmod/waila/GregtechWailaDataProvider.java55
-rw-r--r--src/main/java/gregtech/crossmod/waila/Waila.java32
2 files changed, 87 insertions, 0 deletions
diff --git a/src/main/java/gregtech/crossmod/waila/GregtechWailaDataProvider.java b/src/main/java/gregtech/crossmod/waila/GregtechWailaDataProvider.java
new file mode 100644
index 0000000000..7012bc68fe
--- /dev/null
+++ b/src/main/java/gregtech/crossmod/waila/GregtechWailaDataProvider.java
@@ -0,0 +1,55 @@
+package gregtech.crossmod.waila;
+
+import java.util.List;
+
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+import gregtech.api.interfaces.tileentity.IGregtechWailaProvider;
+import mcp.mobius.waila.api.IWailaConfigHandler;
+import mcp.mobius.waila.api.IWailaDataAccessor;
+import mcp.mobius.waila.api.IWailaDataProvider;
+
+public class GregtechWailaDataProvider implements IWailaDataProvider {
+
+ @Override
+ public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) {
+ return null;
+ }
+
+ @Override
+ public List<String> getWailaHead(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
+ IWailaConfigHandler config) {
+ return currenttip;
+ }
+
+ @Override
+ public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
+ IWailaConfigHandler config) {
+ final TileEntity tile = accessor.getTileEntity();
+ if (tile instanceof IGregtechWailaProvider) {
+ ((IGregtechWailaProvider) tile).getWailaBody(itemStack, currenttip, accessor, config);
+ }
+
+ return currenttip;
+ }
+
+ @Override
+ public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
+ IWailaConfigHandler config) {
+ return currenttip;
+ }
+
+ @Override
+ public NBTTagCompound getNBTData(final EntityPlayerMP player, final TileEntity tile, final NBTTagCompound tag,
+ final World world, int x, int y, int z) {
+ if (tile instanceof IGregtechWailaProvider) {
+ ((IGregtechWailaProvider) tile).getWailaNBTData(player, tile, tag, world, x, y, z);
+ }
+
+ return tag;
+ }
+}
diff --git a/src/main/java/gregtech/crossmod/waila/Waila.java b/src/main/java/gregtech/crossmod/waila/Waila.java
new file mode 100644
index 0000000000..50b2b5cb57
--- /dev/null
+++ b/src/main/java/gregtech/crossmod/waila/Waila.java
@@ -0,0 +1,32 @@
+package gregtech.crossmod.waila;
+
+import cpw.mods.fml.common.event.FMLInterModComms;
+import gregtech.api.enums.Mods;
+import gregtech.api.metatileentity.BaseMetaPipeEntity;
+import gregtech.api.metatileentity.BaseMetaTileEntity;
+import gregtech.api.multitileentity.base.MultiTileEntity;
+import mcp.mobius.waila.api.IWailaDataProvider;
+import mcp.mobius.waila.api.IWailaRegistrar;
+
+public class Waila {
+
+ public static void callbackRegister(IWailaRegistrar register) {
+ final IWailaDataProvider multiBlockProvider = new GregtechWailaDataProvider();
+
+ register.registerBodyProvider(multiBlockProvider, BaseMetaTileEntity.class);
+ register.registerBodyProvider(multiBlockProvider, BaseMetaPipeEntity.class);
+ register.registerBodyProvider(multiBlockProvider, MultiTileEntity.class);
+
+ register.registerNBTProvider(multiBlockProvider, BaseMetaTileEntity.class);
+ register.registerNBTProvider(multiBlockProvider, BaseMetaPipeEntity.class);
+ register.registerNBTProvider(multiBlockProvider, MultiTileEntity.class);
+
+ register.registerTailProvider(multiBlockProvider, BaseMetaTileEntity.class);
+ register.registerTailProvider(multiBlockProvider, BaseMetaPipeEntity.class);
+ register.registerTailProvider(multiBlockProvider, MultiTileEntity.class);
+ }
+
+ public static void init() {
+ FMLInterModComms.sendMessage(Mods.Waila.ID, "register", Waila.class.getName() + ".callbackRegister");
+ }
+}