mirror of
https://github.com/GTNewHorizons/Tainted-Magic.git
synced 2026-11-13 16:54:14 +00:00
92 lines
3.1 KiB
Java
92 lines
3.1 KiB
Java
package taintedmagic.common.items.wand.foci;
|
|
|
|
import java.awt.Color;
|
|
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.EnumRarity;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.IIcon;
|
|
import net.minecraft.util.MovingObjectPosition;
|
|
import net.minecraft.world.World;
|
|
|
|
import taintedmagic.common.TaintedMagic;
|
|
import thaumcraft.api.aspects.Aspect;
|
|
import thaumcraft.api.aspects.AspectList;
|
|
import thaumcraft.api.wands.ItemFocusBasic;
|
|
import thaumcraft.common.items.wands.ItemWandCasting;
|
|
import thaumcraft.common.items.wands.WandManager;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
|
|
public class ItemFocusTime extends ItemFocusBasic {
|
|
|
|
IIcon depthIcon = null;
|
|
|
|
private static final AspectList costBase = new AspectList().add(Aspect.AIR, 1000).add(Aspect.WATER, 1000)
|
|
.add(Aspect.FIRE, 1000).add(Aspect.EARTH, 1000).add(Aspect.ORDER, 1000).add(Aspect.ENTROPY, 1000);
|
|
|
|
public ItemFocusTime() {
|
|
this.setCreativeTab(TaintedMagic.tabTaintedMagic);
|
|
this.setUnlocalizedName("ItemFocusTime");
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerIcons(IIconRegister ir) {
|
|
this.icon = ir.registerIcon("taintedmagic:ItemFocusTime");
|
|
this.depthIcon = ir.registerIcon("taintedmagic:ItemFocusMeteorology_depth");
|
|
}
|
|
|
|
public IIcon getFocusDepthLayerIcon(ItemStack s) {
|
|
return this.depthIcon;
|
|
}
|
|
|
|
public String getSortingHelper(ItemStack s) {
|
|
return "TIME" + super.getSortingHelper(s);
|
|
}
|
|
|
|
public int getFocusColor(ItemStack s) {
|
|
EntityPlayer player = TaintedMagic.proxy.getClientPlayer();
|
|
return player == null ? 0xFFFFFF : Color.HSBtoRGB(player.ticksExisted * 16 % 360 / 360F, 1F, 1F);
|
|
}
|
|
|
|
public AspectList getVisCost(ItemStack s) {
|
|
return new AspectList().add(Aspect.AIR, 1000).add(Aspect.WATER, 1000).add(Aspect.FIRE, 1000)
|
|
.add(Aspect.EARTH, 1000).add(Aspect.ORDER, 1000).add(Aspect.ENTROPY, 1000);
|
|
}
|
|
|
|
public int getActivationCooldown(ItemStack s) {
|
|
return 1;
|
|
}
|
|
|
|
public boolean isVisCostPerTick(ItemStack s) {
|
|
return false;
|
|
}
|
|
|
|
public ItemFocusBasic.WandFocusAnimation getAnimation(ItemStack s) {
|
|
return ItemFocusBasic.WandFocusAnimation.WAVE;
|
|
}
|
|
|
|
public ItemStack onFocusRightClick(ItemStack s, World w, EntityPlayer p, MovingObjectPosition mop) {
|
|
WandManager.setCooldown(p, 30000);
|
|
ItemWandCasting wand = (ItemWandCasting) s.getItem();
|
|
|
|
if (wand.consumeAllVis(s, p, getVisCost(s), true, false)) {
|
|
w.setWorldTime( w.getWorldTime() + 12000);
|
|
p.playSound("thaumcraft:wand", 0.5F, 1.0F);
|
|
}
|
|
return s;
|
|
}
|
|
|
|
@Override
|
|
public int getColorFromItemStack(ItemStack s, int i) {
|
|
EntityPlayer p = TaintedMagic.proxy.getClientPlayer();
|
|
return p == null ? 0xFFFFFF : Color.HSBtoRGB(p.ticksExisted * 16 % 360 / 360F, 1F, 1F);
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public EnumRarity getRarity(ItemStack s) {
|
|
return TaintedMagic.rarityCreation;
|
|
}
|
|
}
|