hassansyyid

Untitled

Nov 11th, 2015
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.89 KB | None | 0 0
  1. package io.github.hsyyid.wilsonsmp.items;
  2.  
  3. import io.github.hsyyid.wilsonsmp.proxies.CommonProxy;
  4. import net.minecraft.entity.item.EntityFireworkRocket;
  5. import net.minecraft.entity.player.EntityPlayer;
  6. import net.minecraft.init.Items;
  7. import net.minecraft.inventory.Container;
  8. import net.minecraft.inventory.InventoryCrafting;
  9. import net.minecraft.item.Item;
  10. import net.minecraft.item.ItemStack;
  11. import net.minecraft.item.crafting.RecipeFireworks;
  12. import net.minecraft.util.EnumChatFormatting;
  13. import net.minecraft.world.World;
  14.  
  15. import java.util.List;
  16.  
  17. public class ItemSignalGun extends Item
  18. {
  19.     public Item ammoItem;
  20.     public int remainingBullets;
  21.     public ItemStack firework;
  22.  
  23.     public ItemSignalGun(Item ammoItem)
  24.     {
  25.         this.ammoItem = ammoItem;
  26.         this.setCreativeTab(CommonProxy.wilsonSMPMisc);
  27.         this.setMaxStackSize(1);
  28.         this.setMaxDamage(1000);
  29.     }
  30.  
  31.     @Override
  32.     public void addInformation(ItemStack stack, EntityPlayer playerIn, List tooltip, boolean advanced)
  33.     {
  34.         tooltip.add(EnumChatFormatting.LIGHT_PURPLE + "Shoots a signal up in the sky to let people find you.");
  35.     }
  36.  
  37.     @Override
  38.     public String getItemStackDisplayName(ItemStack stack)
  39.     {
  40.         return (EnumChatFormatting.GREEN + "Signal Gun");
  41.     }
  42.  
  43.     @Override
  44.     public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn)
  45.     {
  46.         if (playerIn.capabilities.isCreativeMode || playerIn.inventory.consumeInventoryItem(ammoItem))
  47.         {
  48.             worldIn.playSoundAtEntity(playerIn, "fireworks.launch", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
  49.  
  50.             InventoryCrafting inventoryCrafting = new InventoryCrafting(new Container()
  51.             {
  52.                 @Override
  53.                 public boolean canInteractWith(EntityPlayer player)
  54.                 {
  55.                     return true;
  56.                 }
  57.  
  58.             }, 3, 3);
  59.  
  60.             RecipeFireworks recipe = new RecipeFireworks();
  61.             ItemStack resultFireworkStar = null;
  62.             ItemStack resultRocket = null;
  63.  
  64.             inventoryCrafting.setInventorySlotContents(0, new ItemStack(Items.gunpowder));
  65.             inventoryCrafting.setInventorySlotContents(1, new ItemStack(Items.dye, 1, 14));
  66.             inventoryCrafting.setInventorySlotContents(2, new ItemStack(Items.dye, 1, 11));
  67.             inventoryCrafting.setInventorySlotContents(3, new ItemStack(Items.diamond));
  68.  
  69.             if (recipe.matches(inventoryCrafting, worldIn))
  70.             {
  71.                 resultFireworkStar = recipe.getCraftingResult(inventoryCrafting);
  72.             }
  73.  
  74.             inventoryCrafting.setInventorySlotContents(0, resultFireworkStar);
  75.             inventoryCrafting.setInventorySlotContents(1, new ItemStack(Items.paper));
  76.             inventoryCrafting.setInventorySlotContents(2, new ItemStack(Items.gunpowder));
  77.  
  78.             if (recipe.matches(inventoryCrafting, worldIn))
  79.             {
  80.                 resultRocket = recipe.getCraftingResult(inventoryCrafting);
  81.             }
  82.  
  83.             EntityFireworkRocket rocket = new EntityFireworkRocket(worldIn, playerIn.posX, playerIn.posY + 4, playerIn.posZ, resultRocket);
  84.             worldIn.spawnEntityInWorld(rocket);
  85.         }
  86.  
  87.         return itemStackIn;
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment