
I redone where the items/blocsks are stored and how the configs are handled to clean up it and give space. You can change the config line to AWWayofTime if you want to keep the compatibility with old configs. Now you reference the blocks from the ModBlocks and Items from the ModItems.
185 lines
4.4 KiB
Java
185 lines
4.4 KiB
Java
package thaumcraft.api.wands;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.enchantment.EnchantmentHelper;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.EnumRarity;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.Icon;
|
|
import net.minecraft.util.MovingObjectPosition;
|
|
import net.minecraft.util.StatCollector;
|
|
import net.minecraft.world.World;
|
|
import thaumcraft.api.ThaumcraftApi;
|
|
import thaumcraft.api.aspects.Aspect;
|
|
import thaumcraft.api.aspects.AspectList;
|
|
|
|
import java.text.DecimalFormat;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
public class ItemFocusBasic extends Item implements IWandFocus {
|
|
public ItemFocusBasic(int i)
|
|
{
|
|
super(i);
|
|
maxStackSize = 1;
|
|
canRepair = false;
|
|
this.setMaxDamage(1);
|
|
}
|
|
|
|
public Icon icon;
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
@Override
|
|
public Icon getIconFromDamage(int par1)
|
|
{
|
|
return icon;
|
|
}
|
|
|
|
@Override
|
|
public boolean isItemTool(ItemStack par1ItemStack)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isDamageable()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4)
|
|
{
|
|
AspectList al = this.getVisCost();
|
|
|
|
if (al != null && al.size() > 0)
|
|
{
|
|
list.add(StatCollector.translateToLocal(isVisCostPerTick() ? "item.Focus.cost2" : "item.Focus.cost1"));
|
|
|
|
for (Aspect aspect : al.getAspectsSorted())
|
|
{
|
|
DecimalFormat myFormatter = new DecimalFormat("#####.##");
|
|
String amount = myFormatter.format(al.getAmount(aspect) / 100f);
|
|
list.add(" \u00A7" + aspect.getChatcolor() + aspect.getName() + "\u00A7r x " + amount);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int getItemEnchantability()
|
|
{
|
|
return 5;
|
|
}
|
|
|
|
@Override
|
|
public EnumRarity getRarity(ItemStack itemstack)
|
|
{
|
|
return EnumRarity.rare;
|
|
}
|
|
|
|
@Override
|
|
public int getFocusColor()
|
|
{
|
|
// TODO Auto-generated method stub
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public AspectList getVisCost()
|
|
{
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public ItemStack onFocusRightClick(ItemStack itemstack, World world,
|
|
EntityPlayer player, MovingObjectPosition movingobjectposition)
|
|
{
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public void onUsingFocusTick(ItemStack itemstack, EntityPlayer player,
|
|
int count)
|
|
{
|
|
// TODO Auto-generated method stub
|
|
}
|
|
|
|
@Override
|
|
public void onPlayerStoppedUsingFocus(ItemStack itemstack, World world,
|
|
EntityPlayer player, int count)
|
|
{
|
|
// TODO Auto-generated method stub
|
|
}
|
|
|
|
/**
|
|
* Just insert two alphanumeric characters before this string in your focus item class
|
|
*/
|
|
@Override
|
|
public String getSortingHelper(ItemStack itemstack)
|
|
{
|
|
Map<Integer,Integer> ench = EnchantmentHelper.getEnchantments(itemstack);
|
|
String out = "";
|
|
|
|
for (Integer lvl : ench.values())
|
|
{
|
|
out = out + lvl + "";
|
|
}
|
|
|
|
return out;
|
|
}
|
|
|
|
@Override
|
|
public boolean isVisCostPerTick()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public Icon getOrnament()
|
|
{
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public boolean onFocusBlockStartBreak(ItemStack itemstack, int x, int y,
|
|
int z, EntityPlayer player)
|
|
{
|
|
// TODO Auto-generated method stub
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public WandFocusAnimation getAnimation()
|
|
{
|
|
return WandFocusAnimation.WAVE;
|
|
}
|
|
|
|
@Override
|
|
public Icon getFocusDepthLayerIcon()
|
|
{
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
/* (non-Javadoc)
|
|
* @see thaumcraft.api.wands.IWandFocus#acceptsEnchant(int)
|
|
* By default fortune is off for all wands
|
|
*/
|
|
@Override
|
|
public boolean acceptsEnchant(int id)
|
|
{
|
|
if (id == ThaumcraftApi.enchantFrugal ||
|
|
id == ThaumcraftApi.enchantPotency)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|