adding codebase for block breaker
This commit is contained in:
parent
a53ab674da
commit
d0528087b4
1 changed files with 47 additions and 0 deletions
|
@ -0,0 +1,47 @@
|
||||||
|
package resonantinduction.mechanical.blockeditor;
|
||||||
|
|
||||||
|
import calclavia.lib.content.module.prefab.TileInventory;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since 18/03/14
|
||||||
|
* @author tgame14
|
||||||
|
*/
|
||||||
|
public class BlockTileBreaker extends TileInventory
|
||||||
|
{
|
||||||
|
|
||||||
|
public BlockTileBreaker (String name, Material material)
|
||||||
|
{
|
||||||
|
super(name, material);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getWeakRedstonePower (IBlockAccess access, int side)
|
||||||
|
{
|
||||||
|
int facing = access.getBlockMetadata(x(), y(), z());
|
||||||
|
if (facing != side)
|
||||||
|
{
|
||||||
|
ForgeDirection dir = ForgeDirection.getOrientation(facing);
|
||||||
|
Block block = Block.blocksList[access.getBlockId(x() + dir.offsetX, y() + dir.offsetY, z() + dir.offsetZ)];
|
||||||
|
int candidateMeta = access.getBlockMetadata(x() + dir.offsetX, y() + dir.offsetY, z() + dir.offsetZ);
|
||||||
|
boolean flag = true;
|
||||||
|
for (ItemStack stack : block.getBlockDropped(getWorldObj(), x(), y(), z(), candidateMeta, 0))
|
||||||
|
if (!this.canInsertItem(0, stack, facing))
|
||||||
|
{
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
|
if (flag)
|
||||||
|
{
|
||||||
|
getWorldObj().destroyBlock(x() + dir.offsetX, y() + dir.offsetY, z(), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.getWeakRedstonePower(access, side);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue