summaryrefslogtreecommitdiff
path: root/YWD/src/main/java/fyresmodjam/misc/BehaviorDispenseTrap.java
blob: f655fd6d77beacb3c1253d46a45f4e7392f440e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package fyresmodjam.misc;

import fyresmodjam.ModjamMod;
import net.minecraft.block.BlockDispenser;
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;

public class BehaviorDispenseTrap extends BehaviorDefaultDispenseItem {

	private final BehaviorDefaultDispenseItem field_96465_b = new BehaviorDefaultDispenseItem();

	@Override
	public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack) {

		EnumFacing enumfacing = BlockDispenser.func_149937_b(par1IBlockSource.getBlockMetadata());

		World world = par1IBlockSource.getWorld();

		int i = par1IBlockSource.getXInt() + enumfacing.getFrontOffsetX();
		int j = par1IBlockSource.getYInt() + enumfacing.getFrontOffsetY();
		int k = par1IBlockSource.getZInt() + enumfacing.getFrontOffsetZ();

		if (!ModjamMod.blockTrap.canPlaceBlockAt(world, i, j, k)) {
			return field_96465_b.dispense(par1IBlockSource, par2ItemStack);
		}

		world.setBlock(i, j, k, ModjamMod.blockTrap, par2ItemStack.getItemDamage(), 0);
		world.markBlockForUpdate(i, j, k);

		par2ItemStack.splitStack(1);

		return par2ItemStack;

	}
}