diff options
author | miozune <miozune@gmail.com> | 2023-09-15 20:24:28 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-15 13:24:28 +0200 |
commit | dcb998cecc6bf3b97a5274958034587f32c43079 (patch) | |
tree | c2c41268049876554d79a22d045ae63f627d499c /src/main/java/gregtech/crossmod/waila | |
parent | b31052879e7601dbfea4c7fb53b94119c7bbf5c6 (diff) | |
download | GT5-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.java | 55 | ||||
-rw-r--r-- | src/main/java/gregtech/crossmod/waila/Waila.java | 32 |
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"); + } +} |