Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

1.6.4 Help getting block to spawn Items when right clicked

Featured Replies

Posted

Hello I was wondering if anyone could help me to get my block (cookie jar) to pop out a random item (different type of cookies) each time it's right clicked. My block code and item code are basic and have nothing special added to them. Thanks!

 

package techcell.practicemod.block;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;

public class BlockCookieJar extends Block{

public BlockCookieJar(int par1, Material par2Material) {
	super(par1, par2Material);
	this.setCreativeTab(CreativeTabs.tabBlock);
	this.setLightValue(0.1F);
	this.setHardness(6);
	this.setResistance(10);

}
    public void registerIcons(IconRegister iconRegister) {
    	blockIcon = iconRegister.registerIcon("PracticeMod:CookieJar");
    }
}

 

 

package techcell.practicemod.item;

import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class ItemSugerCookie extends Item {

public ItemSugerCookie(int par1) {
	super(par1);
	this.setCreativeTab(CreativeTabs.tabFood);
}
public void registerIcons(IconRegister iconRegister) {
	itemIcon = iconRegister.registerIcon("PracticeMod:SugerCookie"); 


  }

}

 

jar and item code

Youl'll want to look into the onBlockActivated method for starters, then find out how to "spawn" "item" "entities" in the "world" (those are keywords to search for) and Id start my search in net.minecraft.world in the world.java file.

Create a new EntityItem and set its ItemStack...Spawn it into the world (IDK how to do this, check out World or EntityItem)... Hook that code to your onBlockActivated event... Done!

So, what would happen if I did push that shiny red button over there? ... Really? ... Can I try it? ... Damn.

  • Author

package techcell.practicemod.block;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;

public class BlockWandShelf extends Block{

public BlockWandShelf(int par1, Material par2Material) {
	super(par1, par2Material);
	this.setCreativeTab(CreativeTabs.tabBlock);
	this.setLightValue(0.1F);
	this.setHardness(6);
	this.setResistance(10); }

public boolean blockActivated(World world, int i, int j, int k, EntityPlayer entityplayer)
{
ItemStack itemstack = entityplayer.getCurrentEquippedItem();
if(itemstack.itemID == 12)
{
EntityItem entityitem = new EntityItem(world, i, j, k, new ItemStack(sand, 1));
entityitem.delayBeforeCanPickup = 10;
world.spawnEntityInWorld(entityitem);
}
return true;

}
    public void registerIcons(IconRegister iconRegister) {
    	blockIcon = iconRegister.registerIcon("PracticeMod:WandShelf");
    }
}

 

I've tried this and its still not dropping anything I'm not getting any errors, i don't see what I'm missing. it should be dropping sand when i right click it.  :'( 

Add some debug, see if your code is actually getting called.

 

(A System.out.println(...) statement)

 

Also, I looked at your code and it may be spawning the item inside the block (at the exact coords of the block). You can also skip the ItemStack itemStack =... statement and put it in the if(...). (Won't change the functionality, but it'll be cleaner.

So, what would happen if I did push that shiny red button over there? ... Really? ... Can I try it? ... Damn.

Yeah, like atrain99 said.

 

Try and put

System.out.println("test");

between

if(itemstack.itemID == 12) {

//here

}

 

Now, I'm thinking the same thing to. It's spawning inside the block, maybe you can move the y coordinate up 1? j+1

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.