Initial 1.11.2 update

This commit is contained in:
Electroblob
2018-02-07 21:15:50 +00:00
parent 67f6be0671
commit 3df5597dcc
368 changed files with 17234 additions and 15082 deletions
@@ -1,7 +1,5 @@
package electroblob.wizardry.item;
import java.util.List;
import electroblob.wizardry.util.MagicDamage;
import electroblob.wizardry.util.MagicDamage.DamageType;
import net.minecraft.creativetab.CreativeTabs;
@@ -11,13 +9,14 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ItemFlamingAxe extends ItemAxe implements IConjuredItem {
public ItemFlamingAxe(ToolMaterial material) {
public ItemFlamingAxe(ToolMaterial material){
super(material, 8, -3);
this.setMaxDamage(getBaseDuration());
this.setNoRepair();
@@ -28,65 +27,65 @@ public class ItemFlamingAxe extends ItemAxe implements IConjuredItem {
public int getBaseDuration(){
return 600;
}
@Override
public int getMaxDamage(ItemStack stack){
return this.getMaxDamageFromNBT(stack);
}
return this.getMaxDamageFromNBT(stack);
}
@Override
// This method allows the code for the item's timer to be greatly simplified by damaging it directly from
// onUpdate() and removing the workaround that involved WizardData and all sorts of crazy stuff.
public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged){
if(oldStack != null || newStack != null){
if(!oldStack.isEmpty() || !newStack.isEmpty()){
// We only care about the situation where we specifically want the animation NOT to play.
if(oldStack.getItem() == newStack.getItem() && !slotChanged) return false;
}
return super.shouldCauseReequipAnimation(oldStack, newStack, slotChanged);
}
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean selected){
int damage = stack.getItemDamage();
if(damage > stack.getMaxDamage()) entity.replaceItemInInventory(slot, null);
stack.setItemDamage(damage + 1);
}
@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase wielder){
if(!MagicDamage.isEntityImmune(DamageType.FIRE, target)) target.setFire(8);
return false;
}
if(!MagicDamage.isEntityImmune(DamageType.FIRE, target)) target.setFire(8);
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean hasEffect(ItemStack stack){
return true;
}
@Override
public boolean getIsRepairable(ItemStack stack, ItemStack par2ItemStack){
return false;
}
return false;
}
@Override
public int getItemEnchantability(){
return 0;
}
return 0;
}
// Cannot be dropped
@Override
public boolean onDroppedByPlayer(ItemStack item, EntityPlayer player){
return false;
}
return false;
}
@Override
@SideOnly(Side.CLIENT)
@SideOnly(Side.CLIENT)
// Why does this method pass in an item as an argument? It is always the same item the method is invoked on.
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> items){
items.add(new ItemStack(this, 1));
}
public void getSubItems(Item item, CreativeTabs tab, NonNullList<ItemStack> items){
items.add(new ItemStack(this, 1));
}
}