Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package io.github.hsyyid.wilsonsmp.items;
- import io.github.hsyyid.wilsonsmp.proxies.CommonProxy;
- import net.minecraft.entity.item.EntityFireworkRocket;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.init.Items;
- import net.minecraft.inventory.Container;
- import net.minecraft.inventory.InventoryCrafting;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.item.crafting.RecipeFireworks;
- import net.minecraft.util.EnumChatFormatting;
- import net.minecraft.world.World;
- import java.util.List;
- public class ItemSignalGun extends Item
- {
- public Item ammoItem;
- public int remainingBullets;
- public ItemStack firework;
- public ItemSignalGun(Item ammoItem)
- {
- this.ammoItem = ammoItem;
- this.setCreativeTab(CommonProxy.wilsonSMPMisc);
- this.setMaxStackSize(1);
- this.setMaxDamage(1000);
- }
- @Override
- public void addInformation(ItemStack stack, EntityPlayer playerIn, List tooltip, boolean advanced)
- {
- tooltip.add(EnumChatFormatting.LIGHT_PURPLE + "Shoots a signal up in the sky to let people find you.");
- }
- @Override
- public String getItemStackDisplayName(ItemStack stack)
- {
- return (EnumChatFormatting.GREEN + "Signal Gun");
- }
- @Override
- public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn)
- {
- if (playerIn.capabilities.isCreativeMode || playerIn.inventory.consumeInventoryItem(ammoItem))
- {
- worldIn.playSoundAtEntity(playerIn, "fireworks.launch", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
- InventoryCrafting inventoryCrafting = new InventoryCrafting(new Container()
- {
- @Override
- public boolean canInteractWith(EntityPlayer player)
- {
- return true;
- }
- }, 3, 3);
- RecipeFireworks recipe = new RecipeFireworks();
- ItemStack resultFireworkStar = null;
- ItemStack resultRocket = null;
- inventoryCrafting.setInventorySlotContents(0, new ItemStack(Items.gunpowder));
- inventoryCrafting.setInventorySlotContents(1, new ItemStack(Items.dye, 1, 14));
- inventoryCrafting.setInventorySlotContents(2, new ItemStack(Items.dye, 1, 11));
- inventoryCrafting.setInventorySlotContents(3, new ItemStack(Items.diamond));
- if (recipe.matches(inventoryCrafting, worldIn))
- {
- resultFireworkStar = recipe.getCraftingResult(inventoryCrafting);
- }
- inventoryCrafting.setInventorySlotContents(0, resultFireworkStar);
- inventoryCrafting.setInventorySlotContents(1, new ItemStack(Items.paper));
- inventoryCrafting.setInventorySlotContents(2, new ItemStack(Items.gunpowder));
- if (recipe.matches(inventoryCrafting, worldIn))
- {
- resultRocket = recipe.getCraftingResult(inventoryCrafting);
- }
- EntityFireworkRocket rocket = new EntityFireworkRocket(worldIn, playerIn.posX, playerIn.posY + 4, playerIn.posZ, resultRocket);
- worldIn.spawnEntityInWorld(rocket);
- }
- return itemStackIn;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment