2013-08-28 08:32:01 +00:00
|
|
|
package thaumcraft.api.wands;
|
|
|
|
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraft.util.Icon;
|
|
|
|
import net.minecraft.util.MovingObjectPosition;
|
|
|
|
import net.minecraft.world.World;
|
|
|
|
import thaumcraft.api.aspects.AspectList;
|
|
|
|
|
|
|
|
|
|
|
|
public interface IWandFocus {
|
|
|
|
|
|
|
|
public enum WandFocusAnimation {
|
|
|
|
WAVE, CHARGE;
|
|
|
|
}
|
|
|
|
|
2013-10-06 20:38:49 +00:00
|
|
|
/**
|
|
|
|
* @return The color the focus should be changed to.
|
|
|
|
*/
|
2013-08-28 08:32:01 +00:00
|
|
|
public int getFocusColor();
|
2013-10-06 20:38:49 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @return An icon that will be drawn as a block inside the focus "block".
|
|
|
|
*/
|
|
|
|
Icon getFocusDepthLayerIcon();
|
2013-08-28 08:32:01 +00:00
|
|
|
|
|
|
|
public Icon getOrnament();
|
|
|
|
|
|
|
|
public WandFocusAnimation getAnimation();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the amount of vis used per aspect per click or tick. This cost is actually listed as
|
|
|
|
* a hundredth of a single point of vis, so a cost of 100 will equal one vis per tick/click.
|
|
|
|
* It is returned as an AspectList to allow for multiple vis types in different ratios.
|
|
|
|
*/
|
|
|
|
public AspectList getVisCost();
|
|
|
|
|
|
|
|
public boolean isVisCostPerTick();
|
|
|
|
|
|
|
|
public ItemStack onFocusRightClick(ItemStack itemstack, World world, EntityPlayer player, MovingObjectPosition movingobjectposition);
|
|
|
|
|
|
|
|
public void onUsingFocusTick(ItemStack itemstack, EntityPlayer player, int count);
|
|
|
|
|
|
|
|
public void onPlayerStoppedUsingFocus(ItemStack itemstack, World world, EntityPlayer player, int count);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Helper method to determine in what order foci should be iterated through when
|
|
|
|
* the user presses the 'change focus' keybinding.
|
|
|
|
* @return a string of characters that foci will be sorted against.
|
|
|
|
* For example AA00 will be placed before FG12
|
|
|
|
* <br>As a guide build the sort string from two alphanumeric characters followed by
|
|
|
|
* two numeric characters based on... whatever.
|
|
|
|
*/
|
|
|
|
public String getSortingHelper(ItemStack itemstack);
|
|
|
|
|
|
|
|
boolean onFocusBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player);
|
|
|
|
|
2013-10-06 20:38:49 +00:00
|
|
|
public boolean acceptsEnchant(int id);
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-28 08:32:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
}
|