下面列出了怎么用org.bukkit.projectiles.BlockProjectileSource的API类实例代码及写法,或者点击链接到github查看源代码。
public @Nullable PhysicalInfo resolveShooter(ProjectileSource source) {
if (source instanceof Entity) {
return entityTracker.resolveEntity((Entity) source);
} else if (source instanceof BlockProjectileSource) {
return blockTracker.resolveBlock(((BlockProjectileSource) source).getBlock());
}
return null;
}
@Override
public BlockProjectileSource getBlockProjectileSource() {
Block block = getBlock();
if (block.getType() != Material.DISPENSER) {
return null;
}
return new CraftBlockProjectileSource((TileEntityDispenser) this.getTileEntityFromWorld());
}
@Override
public @Nullable PhysicalInfo resolveShooter(ProjectileSource source) {
if(source instanceof Entity) {
return entityTracker.resolveEntity((Entity) source);
} else if(source instanceof BlockProjectileSource) {
return blockTracker.resolveBlock(((BlockProjectileSource) source).getBlock());
}
return null;
}
public BlockProjectileSource getBlockProjectileSource() {
Block block = getBlock();
if (block.getType() != Material.DISPENSER) {
return null;
}
return new CraftBlockProjectileSource(dispenser);
}
/**
* Gets the BlockProjectileSource object for the dispenser.
* <p>
* If the block represented by this state is no longer a dispenser, this
* will return null.
*
* @return a BlockProjectileSource if valid, otherwise null
* @throws IllegalStateException if this block state is not placed
*/
public BlockProjectileSource getBlockProjectileSource();