本帖最后由 假的混.乱 于 2020-2-1 22:18 编辑
如题,一直没找到监听的接口
如题,一直没找到监听的接口
ProjectileLaunchEvent
箭矢的接口是Arrow,在org.bukkit.entity包内
它是Projectile的子接口,Projectile是Entity的子接口
所以可以通过getLocation()获取这个箭矢的当前位置
箭矢的接口是Arrow,在org.bukkit.entity包内
它是Projectile的子接口,Projectile是Entity的子接口
所以可以通过getLocation()获取这个箭矢的当前位置
轻光233 发表于 2020-1-24 09:21
ProjectileLaunchEvent
箭矢的接口是Arrow,在org.bukkit.entity包内
它是Projectile的子接口,Projectile ...
public void onBlockBreak(ProjectileLaunchEvent event) {
//Block block = event.getBlock();
System.out.println(event.getEntity().getLocation());
我写成这样子,貌似只能获取到玩家的位置
假的混.乱 发表于 2020-1-24 15:39
public void onBlockBreak(ProjectileLaunchEvent event) {
//Block block = event.getBlock ...
看你方法的名字貌似和这个事件没有关系
ProjectileLaunchEvent是抛射物射出的事件,你再好好检查一下
本帖最后由 生日12578 于 2020-1-26 15:54 编辑
获取到的的确是箭的位置,只是发射的时候就是近乎在玩家的位置可以通过getEntity()获得到Projectile 对象。之后再判断位置
如果只是想要判断箭射中的位置或者说获得射中的方块或者玩家
请使用ProjectileHitEvent事件
https://bukkit.windit.net/javadoc/org/bukkit/event/entity/ProjectileHitEvent.html
假的混.乱 发表于 2020-1-24 15:39
public void onBlockBreak(ProjectileLaunchEvent event) {
//Block block = event.getBlock ...
获取到的的确是箭的位置,只是发射的时候就是近乎在玩家的位置可以通过getEntity()获得到Projectile 对象。之后再判断位置
如果只是想要判断箭射中的位置或者说获得射中的方块或者玩家
请使用ProjectileHitEvent事件
https://bukkit.windit.net/javadoc/org/bukkit/event/entity/ProjectileHitEvent.html