package imlookingatblood.pokefenn;
import WayofTime.alchemicalWizardry.ModItems;
import WayofTime.alchemicalWizardry.common.block.BlockAltar;
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
import mcp.mobius.waila.api.IWailaDataProvider;
import mcp.mobius.waila.api.IWailaRegistrar;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import java.lang.reflect.Field;
import java.util.List;
/**
* Created by Pokefenn.
* Licensed under MIT (If this is one of my Mods)
*/
public class WailaBMPlugin implements IWailaDataProvider
{
public static void registerWaila(IWailaRegistrar registrar)
{
registrar.registerBodyProvider(new WailaBMPlugin(), BlockAltar.class);
}
@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)
{
boolean isAltar = accessor.getTileEntity() instanceof TEAltar;
if(isAltar)
{
TEAltar altar = (TEAltar) accessor.getTileEntity();
if(!ImLookingAtBlood.doNeedDiviniation)
currenttip.add(StatCollector.translateToLocal("imlookingatblood:currentFluid") + altar.getFluidAmount());
else if(accessor.getPlayer().getHeldItem() != null && accessor.getPlayer().getHeldItem().getItem() == ModItems.divinationSigil)
currenttip.add(StatCollector.translateToLocal("imlookingatblood:currentFluid") + altar.getFluidAmount());
if(!ImLookingAtBlood.doNeedDiviniation)
currenttip.add(StatCollector.translateToLocal("imlookingatblood:capacity") + altar.getCapacity());
else if(accessor.getPlayer().getHeldItem() != null && accessor.getPlayer().getHeldItem().getItem() == ModItems.divinationSigil)
currenttip.add(StatCollector.translateToLocal("imlookingatblood:capacity") + altar.getCapacity());
try
{
Field f = TEAltar.class.getDeclaredField("upgradeLevel");
f.setAccessible(true);
if(!ImLookingAtBlood.doNeedDiviniation)
currenttip.add(StatCollector.translateToLocal("imlookingatblood:upgrade") + f.get(accessor.getTileEntity()));
else if(accessor.getPlayer().getHeldItem() != null && accessor.getPlayer().getHeldItem().getItem() == ModItems.divinationSigil)
currenttip.add(StatCollector.translateToLocal("imlookingatblood:upgrade") + f.get(accessor.getTileEntity()));
} catch(Exception e)
{
e.printStackTrace();
}
try
{
Field f = TEAltar.class.getDeclaredField("progress");
f.setAccessible(true);
int progress = (Integer) f.get(accessor.getTileEntity());
if(accessor.getPlayer().getHeldItem() != null && accessor.getPlayer().getHeldItem().getItem() == ModItems.itemSeerSigil)
{
currenttip.add(StatCollector.translateToLocal("imlookingatblood:time") + f.get(accessor.getTileEntity()));
}
} catch(Exception e)
{
e.printStackTrace();
}
}
return currenttip;
}
@Override
public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
{
return currenttip;
}
}