I'm a little new to modding so don't bash me for some mistakes.
You see with a mod I'm writing I've made block that when right click will check for tripwire, redstone, or rails around it, and depending on the blocks around it look for certain items near it.
Only, I know how check for entities but not specific ones or even, in this case, specific items.
I know its possible because Ars Magica does exactly what I want to do, but I don't wish to poke around its files, and you should know why. The section of code I use for checking for the ring around is below.
public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entity, int l, float m, float n, float o){
if(world.getBlockId(i, j, k+1) == Block.tripWire.blockID){
if(world.getBlockId(i, j, k-1) == Block.tripWire.blockID){
if(world.getBlockId(i+1, j, k) == Block.tripWire.blockID){
if(world.getBlockId(i-1, j, k) == Block.tripWire.blockID){
if(world.getBlockId(i+1, j, k+1) == Block.tripWire.blockID){
if(world.getBlockId(i-1, j, k+1) == Block.tripWire.blockID){
if(world.getBlockId(i+1, j, k-1) == Block.tripWire.blockID){
if(world.getBlockId(i-1, j, k-1) == Block.tripWire.blockID){
//Here is where I wish to put item detection
}
}
}
}
}
}
}
}
if(world.getBlockId(i, j, k+1) == Block.rail.blockID){
if(world.getBlockId(i, j, k-1) == Block.rail.blockID){
if(world.getBlockId(i+1, j, k) == Block.rail.blockID){
if(world.getBlockId(i-1, j, k) == Block.rail.blockID){
if(world.getBlockId(i+1, j, k+1) == Block.rail.blockID){
if(world.getBlockId(i-1, j, k+1) == Block.rail.blockID){
if(world.getBlockId(i+1, j, k-1) == Block.rail.blockID){
if(world.getBlockId(i-1, j, k-1) == Block.rail.blockID){
//Here is where I wish to put item detection
}
}
}
}
}
}
}
}
if(world.getBlockId(i, j, k+1) == Block.redstoneWire.blockID){
if(world.getBlockId(i, j, k-1) == Block.redstoneWire.blockID){
if(world.getBlockId(i+1, j, k) == Block.redstoneWire.blockID){
if(world.getBlockId(i-1, j, k) == Block.redstoneWire.blockID){
if(world.getBlockId(i+1, j, k+1) == Block.redstoneWire.blockID){
if(world.getBlockId(i-1, j, k+1) == Block.redstoneWire.blockID){
if(world.getBlockId(i+1, j, k-1) == Block.redstoneWire.blockID){
if(world.getBlockId(i-1, j, k-1) == Block.redstoneWire.blockID){
//Here is where I wish to put item detection
}
}
}
}
}
}
}
}
return true;}
Also, for minecraft 1.6.4 any ideas are greatly wanted.