如题,
求玩家指向的方块及坐标和实体,无视点击范围的也能获取的那种
求代码及参数详解
求玩家指向的方块及坐标和实体,无视点击范围的也能获取的那种
求代码及参数详解
命令方块行玛
tazi1202 发表于 2022-2-6 18:07
命令方块行玛
可以试试
下面的方法可以获取鼠标指向的方块
LivingEntity#getTargetBlockExact
LivingEntity#getTargetBlockExact
502mc 发表于 2022-2-6 18:52
下面的方法可以获取鼠标指向的方块
LivingEntity#getTargetBlockExact
谢谢!!
502mc 发表于 2022-2-6 18:52
下面的方法可以获取鼠标指向的方块
LivingEntity#getTargetBlockExact
导入LivingEntity后
player.没有getTargetBlockExact(),只有getTargetBlock()
两个的效果差不多吗
archom 发表于 2022-2-6 20:30
导入LivingEntity后
player.没有getTargetBlockExact(),只有getTargetBlock()
两个的效果差不多吗 ...
不要导入LivingEntity,直接用Player对象调用
502mc 发表于 2022-2-6 20:42
不要导入LivingEntity,直接用Player对象调用

但是还是感谢大佬,我大概想出没有getTargetBlockExact也能完成我的需求的方法了
本帖最后由 TooLazyToName 于 2022-2-7 14:00 编辑
没太看懂你追加的问题。但结合事件监听的话大概是这样。
======= Code Area =======
/***
* 获取指定玩家在指定距离内指向的方块,并进一步获取此方块的三维坐标值。
* @param e 任意事件。
*/
@EventHandler
public void test(PlayerEvent e) {
// 这个参数是方向向前最大的范围。这个方法将导致加载区块,合理控制参数。
Block targetBlock = e.getPlayer().getTargetBlockExact(10);
Location location = targetBlock.getLocation();
Integer XPos = location.getBlockX();
Integer YPos = location.getBlockY();
Integer ZPos = location.getBlockZ();
}
===== End of Code Area =====
至于你那个Player没有方法的问题... 是不是导错包了...
没太看懂你追加的问题。但结合事件监听的话大概是这样。
======= Code Area =======
/***
* 获取指定玩家在指定距离内指向的方块,并进一步获取此方块的三维坐标值。
* @param e 任意事件。
*/
@EventHandler
public void test(PlayerEvent e) {
// 这个参数是方向向前最大的范围。这个方法将导致加载区块,合理控制参数。
Block targetBlock = e.getPlayer().getTargetBlockExact(10);
Location location = targetBlock.getLocation();
Integer XPos = location.getBlockX();
Integer YPos = location.getBlockY();
Integer ZPos = location.getBlockZ();
}
===== End of Code Area =====
至于你那个Player没有方法的问题... 是不是导错包了...
也可以使用rayTrace解决。它获得的结果更精准。