Java Code Examples for net.minecraft.init.Items#CLAY_BALL

The following examples show how to use net.minecraft.init.Items#CLAY_BALL . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may want to check out the right sidebar which shows the related API usage.
Example 1
@SubscribeEvent
public void rain(TickEvent.WorldTickEvent e) {
    if (e.world.isRaining()) {
        if (e.world.rand.nextInt(5) == 0) {
            for (EntityPlayer player : e.world.playerEntities) {
                if (e.world.getBiome(player.getPosition()).canRain()) {
                    double x = e.world.rand.nextInt(maxRange * 2) - maxRange;
                    double y = 255;
                    if (player.posY < 100) y = 130;
                    double z = e.world.rand.nextInt(maxRange * 2) - maxRange;

                    EntityItem clay = new EntityItem(e.world, x + player.posX, y, z + player.posZ, new ItemStack(Items.CLAY_BALL));
                    clay.lifespan = 200;
                    e.world.spawnEntity(clay);
                }
            }
        }
    }
}
 
Example 2
Source Project: TFC2   File: GuiKnapping.java    License: GNU General Public License v3.0 6 votes vote down vote up
private void highlightGrid(int id)
{
	for(int i = 0; i < 81; i++)
	{
		((GuiKnappingButton) this.buttonList.get(i)).highlight(true);
	}
	List<IRecipeTFC> recipes = CraftingManagerTFC.getInstance().getRecipeList(RecipeType.KNAPPING);
	if(PlayerManagerTFC.getInstance().getClientPlayer().specialCraftingType.getItem() == Items.CLAY_BALL)
		recipes = CraftingManagerTFC.getInstance().getRecipeList(RecipeType.POTTERY);
	IRecipeTFC rec = recipes.get(id - 81);
	for(int i = 0; i < rec.getRecipeSize(); i++)
	{
		int x = i % rec.getRecipeWidth();
		int y = i / rec.getRecipeWidth();
		if(PlayerManagerTFC.getInstance().getClientPlayer().specialCraftingType.getItem() == TFCItems.LooseRock)
		{
			if(rec.getRecipeItems().get(x+y*rec.getRecipeWidth()) != ItemStack.EMPTY)
				((GuiKnappingButton) this.buttonList.get(x+y*9)).highlight(false);
		}
		else
		{
			if(((ItemStack)(rec.getRecipeItems().get(x+y*rec.getRecipeWidth()))) == ItemStack.EMPTY)
				((GuiKnappingButton) this.buttonList.get(x+y*9)).highlight(false);
		}
	}
}
 
Example 3
/**
 * Callback for when the crafting matrix is changed.
 */
@Override
public void onCraftMatrixChanged(IInventory ii)
{
	RecipeType rt = RecipeType.KNAPPING;
	PlayerInfo pi = PlayerManagerTFC.getInstance().getPlayerInfoFromPlayer(invPlayer.player);
	if(pi.specialCraftingType != null && pi.specialCraftingType.getItem() == Items.CLAY_BALL)
		rt = RecipeType.POTTERY;

	ItemStack result = CraftingManagerTFC.getInstance().findMatchingRecipe(rt, this.craftMatrix, worldObj);

	// Handle decreasing the stack of the held item used to open the interface.
	if (!decreasedStack && !isConstructing)
	{

		// A valid clay recipe has been formed.
		/*if (pi.specialCraftingType.getItem() == TFCItems.flatClay)
		{
			if (result != null)
			{
				setDecreasedStack(true); // Mark container so it won't decrease again.
				if (!this.worldObj.isRemote && invPlayer.getCurrentItem().getMaxStackSize() >= 5) // Server only to prevent it removing multiple times.
					invPlayer.decrStackSize(invPlayer.currentItem, 5);
				else // Clientside or if the player doesn't have enough clay, return before the output slot is set.
				{
					setDecreasedStack(false);
					return;
				}
			}
		}
		// A piece of rock or leather has been removed.
		else*/ if (hasPieceBeenRemoved(pi))
		{
			setDecreasedStack(true); // Mark container so it won't decrease again.
			if (!this.worldObj.isRemote) // Server only to prevent it removing multiple times.
			{
				int count = 1;

				if(invPlayer.getStackInSlot(invPlayer.currentItem).getItem() == Items.CLAY_BALL)
					count = 5;

				invPlayer.decrStackSize(invPlayer.currentItem, count);
			}
		}
	}

	// The crafting output is only set if the input was consumed
	if (decreasedStack)
	{
		this.craftResult.setInventorySlotContents(0, result);

		// Trigger Achievements
		if (result != ItemStack.EMPTY && invPlayer.player != null)
		{
			Item item = result.getItem();

		}
	}
}
 
Example 4
@Override
public void drawButton(Minecraft par1Minecraft, int xPos, int yPos)
{
	if (this.visible)
	{
		this.hovered = xPos >= this.xPosition && yPos >= this.yPosition && xPos < this.xPosition + this.width && yPos < this.yPosition + this.height;
		PlayerInfo pi = PlayerManagerTFC.getInstance().getClientPlayer();
		GL11.glScalef(0.5f, 0.5f, 1f);
		GL11.glTranslatef(xPosition, yPosition, 0);

		if (pi.specialCraftingType != null)
		{
			if(pi.specialCraftingType.getItem() == TFCItems.LooseRock)
			{
				Core.bindTexture(new ResourceLocation(Reference.ModID, "textures/blocks/rocks/" + StoneType.getStoneTypeFromMeta(pi.specialCraftingType.getItemDamage()).name() +" Raw.png"));

				//Same as drawTexturedModalRect except we need to set the UV ourselves
				drawLocal();
			}
			else if(pi.specialCraftingType.getItem() == Items.CLAY_BALL)
			{
				Core.bindTexture(new ResourceLocation(Reference.ModID, "textures/items/pottery/clay flat light.png"));

				//Same as drawTexturedModalRect except we need to set the UV ourselves
				drawLocal();
			}
			else
			{
				Minecraft.getMinecraft().getRenderItem().renderItemAndEffectIntoGUI(pi.specialCraftingType, xPosition, yPosition);
			}
		}

		if (!this.enabled && pi.specialCraftingTypeAlternate != null)
		{
			if(pi.specialCraftingType.getItem() == TFCItems.LooseRock)
			{
				Core.bindTexture(new ResourceLocation(Reference.ModID, "textures/blocks/rocks/" + StoneType.getStoneTypeFromMeta(pi.specialCraftingTypeAlternate.getItemDamage()).name() +" Raw.png"));
				GL11.glColor4f(1f, 1f, 1f, 0.5f);
				//Same as drawTexturedModalRect except we need to set the UV ourselves
				drawLocal();
			}
			else if(pi.specialCraftingType.getItem() == Items.CLAY_BALL)
			{
				Core.bindTexture(new ResourceLocation(Reference.ModID, "textures/items/pottery/clay flat dark.png"));
				GL11.glColor4f(1f, 1f, 1f, 1.0f);
				//Same as drawTexturedModalRect except we need to set the UV ourselves
				drawLocal();
			}
			else
			{
				Minecraft.getMinecraft().getRenderItem().renderItemAndEffectIntoGUI(pi.specialCraftingTypeAlternate, xPosition, yPosition);
			}
		}

		if(pi.shouldDrawKnappingHighlight && highlight)
		{
			Core.bindTexture(GuiKnapping.texture);

			GL11.glColor4f(1.0f, 1.0f, 1.0f, 0.4f);
			GlStateManager.enableBlend();
			//GlStateManager.colorMask(false, true, true, true);
			this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 239, 16, 16);
			//GlStateManager.colorMask(true, true, true, true);
			GlStateManager.disableBlend();
		}

		GL11.glTranslatef(-xPosition, -yPosition, 0);
		GL11.glScalef(2f, 2f, 1);
		GL11.glColor4f(1f, 1f, 1f, 1f);


		this.mouseDragged(par1Minecraft, this.xPosition, this.yPosition);
	}
}
 
Example 5
Source Project: TFC2   File: GuiKnapping.java    License: GNU General Public License v3.0 4 votes vote down vote up
@Override
public void initGui()
{
	super.initGui();

	buttonList.clear();
	((ContainerSpecialCrafting) this.inventorySlots).setDecreasedStack(false);

	for (int y = 0; y < 9; y++)
	{
		for (int x = 0; x < 9; x++)
		{
			buttonList.add(new GuiKnappingButton(x + (y * 9), 16+guiLeft + (x * 8), 16+guiTop + (y * 8), 8, 8));
			// Normal Behavior
			if (!previouslyLoaded)
			{
				if (PlayerManagerTFC.getInstance().getClientPlayer().knappingInterface[y * 9 + x])
				{
					resetButton(y * 9 + x);
				}
			}
			// GUI has been reloaded, usually caused by looking up a recipe in NEI while having the interface open.
			else
			{
				/*
				 * For whatever reason all my attempts at implementing this for all crafting types just wouldn't work for the clay ones.
				 * Types that completely remove pieces (rocks, leather) work properly to save states when reloaded with this.
				 */
				/*if (PlayerManagerTFC.getInstance().getClientPlayer().specialCraftingType.getItem() != TFCItems.flatClay && 
						((ContainerSpecialCrafting) this.inventorySlots).craftMatrix.getStackInSlot(y * 5 + x) == null)
				{
					resetButton(y * 5 + x);
				}*/
			}
		}
	}

	List<IRecipeTFC> recipes = CraftingManagerTFC.getInstance().getRecipeList(RecipeType.KNAPPING);
	if(PlayerManagerTFC.getInstance().getClientPlayer().specialCraftingType.getItem() == Items.CLAY_BALL)
		recipes = CraftingManagerTFC.getInstance().getRecipeList(RecipeType.POTTERY);
	int x = 0, y = 0;
	for (int i = 0; i < recipes.size(); i++)
	{
		y = i / 4;
		x = i % 4;
		buttonList.add(81, new GuiKnappingRecipeButton(81 + i, 3+guiLeft+176 + (x * 18), 4+guiTop + (y * 19), 18, 18, recipes.get(i).getRecipeOutput()));
	}

	previouslyLoaded = true;
}
 
Example 6
@Override
protected Item getDropItem() {
  return this.getSlimeSize() == 4 ? Item.getItemFromBlock(Blocks.CLAY) : Items.CLAY_BALL;
}
 
Example 7
@Override
public ItemStack getLootItem(Random rand, int level){

	if(level > 0 && rand.nextInt(200) == 0){
		if(level > 2 && rand.nextInt(10) == 0) return new ItemStack(Items.DIAMOND_HORSE_ARMOR, 1, 0);
		if(level > 1 && rand.nextInt(5) == 0) return new ItemStack(Items.GOLDEN_HORSE_ARMOR, 1, 0);
		if(rand.nextInt(3) == 0) return new ItemStack(Items.IRON_HORSE_ARMOR, 1, 0);
		return new ItemStack(Items.SADDLE);
	}

	if(rand.nextInt(100) == 0) return PotionMixture.getRandom(rand);
	
	if(level > 1 && rand.nextInt(100) == 0) return new ItemStack(Items.GHAST_TEAR);

	if(level < 3 && rand.nextInt(80) == 0) return new ItemStack(Items.BOOK);
	
	if(rand.nextInt(80) == 0) return Shield.get(rand);
	
	if(level > 1 && rand.nextInt(60) == 0) return TippedArrow.get(rand, 4 + rand.nextInt(level) * 2);
	
	if(level > 1 && rand.nextInt(50) == 0){			
		switch(rand.nextInt(6)){
		case 0: return new ItemStack(Items.GUNPOWDER, 1 + rand.nextInt(3));
		case 1: return new ItemStack(Items.BLAZE_POWDER, 1 + rand.nextInt(3));
		case 2: return new ItemStack(Items.GOLD_NUGGET, 1 + rand.nextInt(3));
		case 3: return new ItemStack(Items.REDSTONE, 1 + rand.nextInt(3));
		case 4: return new ItemStack(Items.GLOWSTONE_DUST, 1 + rand.nextInt(8));
		case 5: return new ItemStack(Items.DYE, 1 + rand.nextInt(3));
		}
	}

	if(rand.nextInt(60) == 0) return PotionMixture.getPotion(rand, PotionMixture.LAUDANUM);
	
	if(rand.nextInt(30) == 0) return new ItemStack(Blocks.TORCH, 6 + rand.nextInt(20));

	if(level > 0 && rand.nextInt(8) == 0){
		switch(rand.nextInt(8)){
		case 0: return new ItemStack(Items.SLIME_BALL);
		case 1: return new ItemStack(Items.SNOWBALL);
		case 2: return new ItemStack(Items.MUSHROOM_STEW);
		case 3: return new ItemStack(Items.CLAY_BALL);
		case 4: return new ItemStack(Items.FLINT);
		case 5: return new ItemStack(Items.FEATHER);
		case 6: return new ItemStack(Items.GLASS_BOTTLE);
		case 7: return new ItemStack(Items.LEATHER);
		}
	}

	switch(rand.nextInt(7)){
	case 0: return new ItemStack(Items.BONE);
	case 1: return new ItemStack(Items.ROTTEN_FLESH);
	case 2: return new ItemStack(Items.SPIDER_EYE);
	case 3: return new ItemStack(Items.PAPER);
	case 4: return new ItemStack(Items.STRING);
	case 5: return new ItemStack(Items.STICK);
	default: return new ItemStack(Items.STICK);
	}
}