base mod created

This commit is contained in:
Mohammad-Ali Minaie
2018-10-08 09:07:47 -04:00
parent 0a7700c356
commit b86dedad2f
7848 changed files with 584664 additions and 1 deletions

View File

@@ -0,0 +1,123 @@
package net.minecraft.item;
import javax.annotation.Nullable;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityFishHook;
import net.minecraft.init.SoundEvents;
import net.minecraft.stats.StatList;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ItemFishingRod extends Item
{
public ItemFishingRod()
{
this.setMaxDamage(64);
this.setMaxStackSize(1);
this.setCreativeTab(CreativeTabs.TOOLS);
this.addPropertyOverride(new ResourceLocation("cast"), new IItemPropertyGetter()
{
@SideOnly(Side.CLIENT)
public float apply(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn)
{
if (entityIn == null)
{
return 0.0F;
}
else
{
boolean flag = entityIn.getHeldItemMainhand() == stack;
boolean flag1 = entityIn.getHeldItemOffhand() == stack;
if (entityIn.getHeldItemMainhand().getItem() instanceof ItemFishingRod)
{
flag1 = false;
}
return (flag || flag1) && entityIn instanceof EntityPlayer && ((EntityPlayer)entityIn).fishEntity != null ? 1.0F : 0.0F;
}
}
});
}
/**
* Returns True is the item is renderer in full 3D when hold.
*/
@SideOnly(Side.CLIENT)
public boolean isFull3D()
{
return true;
}
/**
* Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities
* hands.
*/
@SideOnly(Side.CLIENT)
public boolean shouldRotateAroundWhenRendering()
{
return true;
}
/**
* Called when the equipped item is right clicked.
*/
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
{
ItemStack itemstack = playerIn.getHeldItem(handIn);
if (playerIn.fishEntity != null)
{
int i = playerIn.fishEntity.handleHookRetraction();
itemstack.damageItem(i, playerIn);
playerIn.swingArm(handIn);
worldIn.playSound((EntityPlayer)null, playerIn.posX, playerIn.posY, playerIn.posZ, SoundEvents.ENTITY_BOBBER_RETRIEVE, SoundCategory.NEUTRAL, 1.0F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
}
else
{
worldIn.playSound((EntityPlayer)null, playerIn.posX, playerIn.posY, playerIn.posZ, SoundEvents.ENTITY_BOBBER_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
if (!worldIn.isRemote)
{
EntityFishHook entityfishhook = new EntityFishHook(worldIn, playerIn);
int j = EnchantmentHelper.getFishingSpeedBonus(itemstack);
if (j > 0)
{
entityfishhook.setLureSpeed(j);
}
int k = EnchantmentHelper.getFishingLuckBonus(itemstack);
if (k > 0)
{
entityfishhook.setLuck(k);
}
worldIn.spawnEntity(entityfishhook);
}
playerIn.swingArm(handIn);
playerIn.addStat(StatList.getObjectUseStats(this));
}
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, itemstack);
}
/**
* Return the enchantability factor of the item, most of the time is based on material.
*/
public int getItemEnchantability()
{
return 1;
}
}