BloodMagic/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderRitualController.java

91 lines
4.4 KiB
Java
Raw Normal View History

2016-05-31 16:43:11 -07:00
package WayofTime.bloodmagic.compat.waila.provider;
import WayofTime.bloodmagic.apibutnotreally.BlockStack;
import WayofTime.bloodmagic.apibutnotreally.Constants;
import WayofTime.bloodmagic.apibutnotreally.registry.ImperfectRitualRegistry;
import WayofTime.bloodmagic.apibutnotreally.registry.RitualRegistry;
import WayofTime.bloodmagic.apibutnotreally.ritual.imperfect.ImperfectRitual;
import WayofTime.bloodmagic.apibutnotreally.util.helper.PlayerHelper;
2016-05-31 16:43:11 -07:00
import WayofTime.bloodmagic.block.BlockRitualController;
import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
import WayofTime.bloodmagic.tile.TileMasterRitualStone;
import WayofTime.bloodmagic.util.helper.TextHelper;
2017-08-15 21:30:48 -07:00
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.math.BlockPos;
import net.minecraft.world.World;
import java.util.List;
2016-05-31 16:43:11 -07:00
2017-08-15 21:30:48 -07:00
public class DataProviderRitualController implements IWailaDataProvider {
2016-05-31 16:43:11 -07:00
@Override
2017-08-15 21:30:48 -07:00
public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) {
2016-05-31 16:43:11 -07:00
return null;
}
@Override
2017-08-15 21:30:48 -07:00
public List<String> getWailaHead(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
2016-05-31 16:43:11 -07:00
return null;
}
@Override
2017-08-15 21:30:48 -07:00
public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
2016-05-31 16:43:11 -07:00
if (!config.getConfig(Constants.Compat.WAILA_CONFIG_RITUAL))
return currenttip;
2017-08-15 21:30:48 -07:00
if (accessor.getPlayer().isSneaking() || config.getConfig(Constants.Compat.WAILA_CONFIG_BYPASS_SNEAK)) {
if (accessor.getBlock() instanceof BlockRitualController) {
int controllerMeta = accessor.getBlock().getMetaFromState(accessor.getBlockState());
2017-08-15 21:30:48 -07:00
if ((controllerMeta == 0 || controllerMeta == 2) && accessor.getTileEntity() instanceof TileMasterRitualStone) {
2016-05-31 16:43:11 -07:00
TileMasterRitualStone mrs = (TileMasterRitualStone) accessor.getTileEntity();
2017-08-15 21:30:48 -07:00
if (mrs.getCurrentRitual() != null && mrs.isActive()) {
2016-05-31 16:43:11 -07:00
currenttip.add(TextHelper.localizeEffect(mrs.getCurrentRitual().getUnlocalizedName()));
2017-01-02 01:18:29 -08:00
currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentOwner", PlayerHelper.getUsernameFromUUID(mrs.getOwner())));
2016-05-31 16:43:11 -07:00
if (!RitualRegistry.ritualEnabled(mrs.getCurrentRitual()))
2017-01-02 01:18:29 -08:00
currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.config.disabled"));
2017-08-15 21:30:48 -07:00
} else {
2017-01-02 01:18:29 -08:00
currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.deactivated"));
2016-05-31 16:43:11 -07:00
}
}
2017-08-15 21:30:48 -07:00
if (controllerMeta == 1 && accessor.getTileEntity() instanceof TileImperfectRitualStone) {
if (accessor.getWorld().isAirBlock(accessor.getPosition().up())) {
2016-05-31 16:43:11 -07:00
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);
2017-08-15 21:30:48 -07:00
if (ritual != null) {
2016-05-31 16:43:11 -07:00
currenttip.add(TextHelper.localizeEffect(ritual.getUnlocalizedName()));
if (!ImperfectRitualRegistry.ritualEnabled(ritual))
2017-01-02 01:18:29 -08:00
currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.config.disabled"));
2016-05-31 16:43:11 -07:00
}
}
}
}
2017-08-15 21:30:48 -07:00
} else {
2017-01-02 01:18:29 -08:00
currenttip.add(TextHelper.localizeEffect("waila.bloodmagic.sneak"));
2016-05-31 16:43:11 -07:00
}
return currenttip;
}
@Override
2017-08-15 21:30:48 -07:00
public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) {
2016-05-31 16:43:11 -07:00
return null;
}
@Override
2017-08-15 21:30:48 -07:00
public NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity te, NBTTagCompound tag, World world, BlockPos pos) {
2016-05-31 16:43:11 -07:00
return null;
}
}