Added variable incense - issue with build needs to be resolved in build.gradle

This commit is contained in:
WayofTime 2015-05-01 18:56:16 -04:00
parent f1ebade718
commit c71edfb937
13 changed files with 360 additions and 32 deletions

View file

@ -0,0 +1,115 @@
package WayofTime.alchemicalWizardry.common.items;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import WayofTime.alchemicalWizardry.api.sacrifice.IIncense;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemIncense extends Item implements IIncense
{
private static final String[] ITEM_NAMES = new String[]{"Woodash"};
@SideOnly(Side.CLIENT)
private IIcon[] icons;
public static int minValue;
public static int maxValue;
public static int itemDuration;
public ItemIncense()
{
super();
this.maxStackSize = 64;
this.setCreativeTab(AlchemicalWizardry.tabBloodMagic);
this.hasSubtypes = true;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconRegister)
{
icons = new IIcon[ITEM_NAMES.length];
for (int i = 0; i < ITEM_NAMES.length; ++i)
{
icons[i] = iconRegister.registerIcon("AlchemicalWizardry:" + "baseIncenseItem" + ITEM_NAMES[i]);
}
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4)
{
list.add(StatCollector.translateToLocal("tooltip.alchemy.usedinincense"));
}
@Override
public String getUnlocalizedName(ItemStack itemStack)
{
int meta = MathHelper.clamp_int(itemStack.getItemDamage(), 0, ITEM_NAMES.length - 1);
return ("" + "item.bloodMagicIncenseItem." + ITEM_NAMES[meta]);
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamage(int meta)
{
int j = MathHelper.clamp_int(meta, 0, ITEM_NAMES.length - 1);
return icons[j];
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item id, CreativeTabs creativeTab, List list)
{
for (int meta = 0; meta < ITEM_NAMES.length; ++meta)
{
list.add(new ItemStack(id, 1, meta));
}
}
@Override
public int getMinLevel(ItemStack stack)
{
return 0;
}
@Override
public int getMaxLevel(ItemStack stack)
{
return 100;
}
@Override
public int getIncenseDuration(ItemStack stack)
{
return 200;
}
@Override
public float getRedColour(ItemStack stack)
{
return 1.0f;
}
@Override
public float getGreenColour(ItemStack stack)
{
return 0;
}
@Override
public float getBlueColour(ItemStack stack)
{
return 0;
}
}

View file

@ -9,7 +9,6 @@ import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.DamageSource;
import net.minecraft.util.StatCollector;
@ -18,6 +17,7 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.FakePlayer;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import WayofTime.alchemicalWizardry.api.event.SacrificeKnifeUsedEvent;
import WayofTime.alchemicalWizardry.api.sacrifice.PlayerSacrificeHandler;
import WayofTime.alchemicalWizardry.api.tile.IBloodAltar;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
import cpw.mods.fml.relauncher.Side;
@ -65,12 +65,12 @@ public class SacrificialDagger extends Item
@Override
public void onPlayerStoppedUsing(ItemStack stack, World world, EntityPlayer player, int itemInUseCount)
{
if(itemInUseCount < 32)
{
return;
}
// if(itemInUseCount < 32)
// {
// return;
// }
PlayerSacrificeHandler.sacrificePlayerHealth(player);
}
@Override
@ -211,7 +211,7 @@ public class SacrificialDagger extends Item
public boolean isPlayerPreparedForSacrifice(World world, EntityPlayer player)
{
return !world.isRemote && player.isPotionActive(Potion.regeneration);
return !world.isRemote && (PlayerSacrificeHandler.getPlayerIncense(player) > 0);
}
public boolean canUseForSacrifice(ItemStack stack)

View file

@ -125,7 +125,6 @@ public class DivinationSigil extends Item implements ArmourUpgrade, IReagentMani
@Override
public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack)
{
player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 400, 9, true));
}
@Override

View file

@ -6,17 +6,20 @@ import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import WayofTime.alchemicalWizardry.ModBlocks;
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding;
import WayofTime.alchemicalWizardry.common.entity.projectile.EntityBloodLightProjectile;
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemBloodLightSigil extends EnergyItems implements IHolding
public class ItemBloodLightSigil extends EnergyItems implements IHolding, ArmourUpgrade
{
private int tickDelay = 100;
@ -117,4 +120,22 @@ public class ItemBloodLightSigil extends EnergyItems implements IHolding
return par1ItemStack;
}
@Override
public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack)
{
player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 400, 9, true));
}
@Override
public boolean isUpgrade()
{
return true;
}
@Override
public int getEnergyForTenSeconds()
{
return 25;
}
}