There is a gui that displays the current cosmo
package com.pegasusgamer.saintseiyamod.gui.overlays;
import com.pegasusgamer.saintseiyamod.capabilities.cosmo.CosmoProvider;
import com.pegasusgamer.saintseiyamod.capabilities.cosmo.ICosmo;
import com.pegasusgamer.saintseiyamod.util.Reference;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class CosmoGUI {
public static class GUIRenderEventClass {
@SubscribeEvent(priority = EventPriority.NORMAL)
public void onRenderGui(RenderGameOverlayEvent event) {
if (!event.isCancelable() && event.getType() == RenderGameOverlayEvent.ElementType.EXPERIENCE) {
Minecraft mc = Minecraft.getMinecraft();
mc.renderEngine.bindTexture(new ResourceLocation(Reference.MOD_ID+":textures/gui/cosmo_bar_overlay.png"));
EntityPlayer player = mc.player;
ICosmo cosmo = player.getCapability(CosmoProvider.COSMO_CAP, null);
int posX = event.getResolution().getScaledWidth() / 2 + 10;
int posY = event.getResolution().getScaledHeight() - 45;
//Retorna caso o player esteja no modo criativo
if(player.isCreative())
return;
//Desenha a barra de cosmo na tela
mc.ingameGUI.drawTexturedModalRect(posX, posY, 0, 0, 81, 5);
int barWidht = (int)((cosmo.getCosmo()/cosmo.getLimit())*81);
mc.ingameGUI.drawTexturedModalRect(posX, posY, 0, 5, barWidht, 5);
//Desenha o texto com quantidade de cosmo atual e maxima
int stringSize = ((cosmo.getCosmo()+" / "+cosmo.getLimit()).toString().length()*4);
mc.fontRenderer.drawStringWithShadow((int)cosmo.getCosmo()+" / "+(int)cosmo.getLimit(), (posX+41)-(int)(stringSize/2), posY-8, -13421569);
}
}
}
}