Waila data provider for rituals
This commit is contained in:
parent
8b3c91d77e
commit
6351fd2d3e
|
@ -92,6 +92,7 @@ public class Constants
|
|||
public static final String WAILA_CONFIG_BYPASS_SNEAK = Mod.MODID + ".bypassSneak";
|
||||
public static final String WAILA_CONFIG_ALTAR = Mod.MODID + ".bloodAltar";
|
||||
public static final String WAILA_CONFIG_TELEPOSER = Mod.MODID + ".teleposer";
|
||||
public static final String WAILA_CONFIG_RITUAL = Mod.MODID + ".ritualController";
|
||||
}
|
||||
|
||||
public static class Misc
|
||||
|
|
|
@ -2,9 +2,11 @@ package WayofTime.bloodmagic.compat.waila;
|
|||
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.block.BlockAltar;
|
||||
import WayofTime.bloodmagic.block.BlockRitualController;
|
||||
import WayofTime.bloodmagic.block.BlockTeleposer;
|
||||
import WayofTime.bloodmagic.compat.ICompatibility;
|
||||
import WayofTime.bloodmagic.compat.waila.provider.DataProviderBloodAltar;
|
||||
import WayofTime.bloodmagic.compat.waila.provider.DataProviderRitualController;
|
||||
import WayofTime.bloodmagic.compat.waila.provider.DataProviderTeleposer;
|
||||
import mcp.mobius.waila.api.IWailaRegistrar;
|
||||
import net.minecraftforge.fml.common.event.FMLInterModComms;
|
||||
|
@ -33,9 +35,11 @@ public class CompatibilityWaila implements ICompatibility
|
|||
{
|
||||
registrar.registerBodyProvider(new DataProviderBloodAltar(), BlockAltar.class);
|
||||
registrar.registerBodyProvider(new DataProviderTeleposer(), BlockTeleposer.class);
|
||||
registrar.registerBodyProvider(new DataProviderRitualController(), BlockRitualController.class);
|
||||
|
||||
registrar.addConfig(Constants.Mod.MODID, Constants.Compat.WAILA_CONFIG_BYPASS_SNEAK, false);
|
||||
registrar.addConfig(Constants.Mod.MODID, Constants.Compat.WAILA_CONFIG_ALTAR, true);
|
||||
registrar.addConfig(Constants.Mod.MODID, Constants.Compat.WAILA_CONFIG_TELEPOSER, true);
|
||||
registrar.addConfig(Constants.Mod.MODID, Constants.Compat.WAILA_CONFIG_RITUAL, true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
package WayofTime.bloodmagic.compat.waila.provider;
|
||||
|
||||
import WayofTime.bloodmagic.api.BlockStack;
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.api.registry.ImperfectRitualRegistry;
|
||||
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
|
||||
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
|
||||
import WayofTime.bloodmagic.block.BlockRitualController;
|
||||
import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
|
||||
import WayofTime.bloodmagic.tile.TileMasterRitualStone;
|
||||
import WayofTime.bloodmagic.tile.TileTeleposer;
|
||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||
import mcp.mobius.waila.api.IWailaConfigHandler;
|
||||
import mcp.mobius.waila.api.IWailaDataAccessor;
|
||||
import mcp.mobius.waila.api.IWailaDataProvider;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class DataProviderRitualController 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 null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
|
||||
{
|
||||
if (!config.getConfig(Constants.Compat.WAILA_CONFIG_RITUAL))
|
||||
return currenttip;
|
||||
|
||||
if (accessor.getPlayer().isSneaking() || config.getConfig(Constants.Compat.WAILA_CONFIG_BYPASS_SNEAK))
|
||||
{
|
||||
if (accessor.getBlock() instanceof BlockRitualController)
|
||||
{
|
||||
if (accessor.getBlock().getMetaFromState(accessor.getBlockState()) == 0 && accessor.getTileEntity() instanceof TileMasterRitualStone)
|
||||
{
|
||||
TileMasterRitualStone mrs = (TileMasterRitualStone) accessor.getTileEntity();
|
||||
|
||||
if (mrs.getCurrentRitual() != null)
|
||||
{
|
||||
currenttip.add(TextHelper.localizeEffect(mrs.getCurrentRitual().getUnlocalizedName()));
|
||||
currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentOwner", PlayerHelper.getUsernameFromUUID(mrs.getOwner())));
|
||||
} else
|
||||
{
|
||||
currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.deactivated"));
|
||||
}
|
||||
}
|
||||
|
||||
if (accessor.getBlock().getMetaFromState(accessor.getBlockState()) == 1 && accessor.getTileEntity() instanceof TileImperfectRitualStone)
|
||||
{
|
||||
if (accessor.getWorld().getBlockState(accessor.getPosition().up()).getBlock() != null)
|
||||
{
|
||||
Block up = accessor.getWorld().getBlockState(accessor.getPosition().up()).getBlock();
|
||||
int meta = up.getMetaFromState(accessor.getWorld().getBlockState(accessor.getPosition().up()));
|
||||
BlockStack blockStack = new BlockStack(up, meta);
|
||||
ImperfectRitual ritual = ImperfectRitualRegistry.getRitualForBlock(blockStack);
|
||||
|
||||
if (ritual != null)
|
||||
currenttip.add(TextHelper.localizeEffect(ritual.getUnlocalizedName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
{
|
||||
currenttip.add(TextHelper.localizeEffect("waila.BloodMagic.sneak"));
|
||||
}
|
||||
|
||||
return currenttip;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity te, NBTTagCompound tag, World world, BlockPos pos)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue