[Bleeding] Implement ProjectileSource API. Addresses BUKKIT-1038, BUKKIT-1156

By: t00thpick1 <t00thpick1dirko@gmail.com>
This commit is contained in:
CraftBukkit/Spigot
2014-01-20 00:03:21 -05:00
parent 668c2bffdb
commit 115d946d7b
8 changed files with 266 additions and 32 deletions

View File

@@ -3,12 +3,15 @@ package org.bukkit.craftbukkit.block;
import net.minecraft.server.BlockDispenser;
import net.minecraft.server.Blocks;
import net.minecraft.server.TileEntityDispenser;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.Dispenser;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.inventory.CraftInventory;
import org.bukkit.craftbukkit.projectiles.CraftBlockProjectileSource;
import org.bukkit.inventory.Inventory;
import org.bukkit.projectiles.BlockProjectileSource;
public class CraftDispenser extends CraftBlockState implements Dispenser {
private final CraftWorld world;
@@ -25,6 +28,16 @@ public class CraftDispenser extends CraftBlockState implements Dispenser {
return new CraftInventory(dispenser);
}
public BlockProjectileSource getBlockProjectileSource() {
Block block = getBlock();
if (block.getType() != Material.DISPENSER) {
return null;
}
return new CraftBlockProjectileSource(dispenser);
}
public boolean dispense() {
Block block = getBlock();