Search in sources :

Example 1 with IFlickerFunctionality

use of am2.api.flickers.IFlickerFunctionality in project ArsMagica2 by Mithion.

the class ItemFlickerFocus method registerIcons.

@Override
public void registerIcons(IIconRegister par1IconRegister) {
    flickerIcons = new HashMap<Integer, IIcon>();
    for (int i : FlickerOperatorRegistry.instance.getMasks()) {
        IFlickerFunctionality operator = FlickerOperatorRegistry.instance.getOperatorForMask(i);
        flickerIcons.put(i, ResourceManager.RegisterTexture(operator.getClass().getSimpleName(), par1IconRegister));
    }
    this.itemIcon = ResourceManager.RegisterTexture("flicker_focus_frame", par1IconRegister);
}
Also used : IIcon(net.minecraft.util.IIcon) IFlickerFunctionality(am2.api.flickers.IFlickerFunctionality)

Example 2 with IFlickerFunctionality

use of am2.api.flickers.IFlickerFunctionality in project ArsMagica2 by Mithion.

the class ItemFlickerFocus method getItemStackDisplayName.

@Override
public String getItemStackDisplayName(ItemStack stack) {
    int meta = stack.getItemDamage();
    IFlickerFunctionality operator = FlickerOperatorRegistry.instance.getOperatorForMask(meta);
    return String.format(StatCollector.translateToLocal("item.arsmagica2:FlickerFocusPrefix"), StatCollector.translateToLocal("item.arsmagica2:" + operator.getClass().getSimpleName() + ".name"));
}
Also used : IFlickerFunctionality(am2.api.flickers.IFlickerFunctionality)

Example 3 with IFlickerFunctionality

use of am2.api.flickers.IFlickerFunctionality in project ArsMagica2 by Mithion.

the class GuiFlickerHabitat method drawGuiContainerForegroundLayer.

@Override
protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_) {
    super.drawGuiContainerForegroundLayer(p_146979_1_, p_146979_2_);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    ItemStack stack = flickerHabitat.getStackInSlot(0);
    if (stack == null)
        return;
    IFlickerFunctionality func = FlickerOperatorRegistry.instance.getOperatorForMask(stack.getItemDamage());
    if (func == null)
        return;
    String colorCode = Minecraft.getMinecraft().theWorld.isBlockIndirectlyGettingPowered(flickerHabitat.xCoord, flickerHabitat.yCoord, flickerHabitat.zCoord) ? "\2474" : "\2472";
    int yPos = 5;
    String curLine = "";
    if (func.RequiresPower()) {
        curLine = StatCollector.translateToLocal("am2.gui.flicker_needspower");
    } else {
        curLine = StatCollector.translateToLocal("am2.gui.flicker_doesntneedpower");
    }
    drawCenteredString(curLine, yPos);
    yPos += 12 * (int) Math.ceil(this.fontRendererObj.getStringWidth(curLine) / 170.0f);
    drawCenteredString(String.format(StatCollector.translateToLocal("am2.gui.flicker_powerperop"), String.format("%s%d\2470", colorCode, func.PowerPerOperation())), yPos);
    yPos += 12;
    boolean powered = PowerNodeRegistry.For(flickerHabitat.getWorldObj()).checkPower(flickerHabitat, func.PowerPerOperation());
    if (yPos > 40)
        yPos += 27;
    drawCenteredString(String.format(StatCollector.translateToLocal("am2.gui.flicker_optime"), String.format("%s%.2f\2470", colorCode, func.TimeBetweenOperation(powered, flickerHabitat.getNearbyUpgrades()) / 20.0f)), yPos);
}
Also used : ItemStack(net.minecraft.item.ItemStack) IFlickerFunctionality(am2.api.flickers.IFlickerFunctionality)

Aggregations

IFlickerFunctionality (am2.api.flickers.IFlickerFunctionality)3 ItemStack (net.minecraft.item.ItemStack)1 IIcon (net.minecraft.util.IIcon)1