Added CraftDispenser.dispense()

This commit is contained in:
Dinnerbone 2011-02-01 23:16:25 +00:00
parent d228e0c311
commit e0416ca7fb
2 changed files with 59 additions and 41 deletions

View File

@ -84,7 +84,8 @@ public class BlockDispenser extends BlockContainer {
}
}
private void b(World world, int i, int j, int k, Random random) {
// Craftbukkit - following method should be public
public void b(World world, int i, int j, int k, Random random) {
int l = world.getData(i, j, k);
float f = 0.0F;
float f1 = 0.0F;

View File

@ -1,6 +1,9 @@
package org.bukkit.craftbukkit.block;
import java.util.Random;
import net.minecraft.server.BlockDispenser;
import net.minecraft.server.TileEntityDispenser;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.Dispenser;
import org.bukkit.craftbukkit.CraftWorld;
@ -27,6 +30,20 @@ public class CraftDispenser extends CraftBlockState implements Dispenser {
return new CraftInventory(dispenser);
}
public boolean dispense() {
Block block = getBlock();
synchronized (block) {
if (block.getType() == Material.DISPENSER) {
BlockDispenser dispense = (BlockDispenser)net.minecraft.server.Block.DISPENSER;
dispense.b(world.getHandle(), getX(), getY(), getZ(), new Random());
return true;
} else {
return false;
}
}
}
@Override
public boolean update(boolean force) {
boolean result = super.update(force);