Hrtzee
8/25/2021, 10:39:24 AM
本帖最后由 Hrtzee 于 2021-8-27 16:05 编辑
学着知乎上的教程做了一个可以坐的方块,但是当我写下列代码要实现取消骑乘移除实体时,在游戏里总是一骑上去就移除了实体导致无法骑乘,希望大佬赐教,为什么这段代码怎么都能实现
代码已附
@SubscribeEvent
public static void stand(EntityMountEvent event) {
if (event.isDismounting() && event.getEntityBeingMounted() instanceof ArmorStandEntity) {
event.getEntityBeingMounted().remove();
}
}
学着知乎上的教程做了一个可以坐的方块,但是当我写下列代码要实现取消骑乘移除实体时,在游戏里总是一骑上去就移除了实体导致无法骑乘,希望大佬赐教,为什么这段代码怎么都能实现
代码已附
@SubscribeEvent
public static void stand(EntityMountEvent event) {
if (event.isDismounting() && event.getEntityBeingMounted() instanceof ArmorStandEntity) {
event.getEntityBeingMounted().remove();
}
}
enderman_JC
8/25/2021, 10:53:09 AM
给event.getEntityBeingMounted().remove();套个延迟0.1试试看
Haoke_City
8/25/2021, 10:58:53 AM
emmmm我有点看不懂qwq
1006438726
8/25/2021, 11:43:40 AM
我看不懂代码emm
xtex
8/25/2021, 12:41:49 PM
可能是盔甲架不能乘骑?用矿车试试?
Hrtzee
8/25/2021, 1:05:43 PM
enderman_JC 发表于 2021-8-25 18:53
给event.getEntityBeingMounted().remove();套个延迟0.1试试看
不行,不管延迟加在整个if语句上还是里面的子语句这玩意都能诡异的执行
Hrtzee
8/25/2021, 1:08:43 PM
xtex 发表于 2021-8-25 20:41
可能是盔甲架不能乘骑?用矿车试试?
在没有加这条代码(这条代码的目的是玩家取消骑乘后删除盔甲架实体)之前是可以实现骑乘这一动作的,加了之后一骑上去就取消骑乘说明这个代码的判断肯定过,最离谱的是在if的第一个判断条件前加!也还是能出现这个情况
xtex
8/25/2021, 1:28:15 PM
Hrtzee 发表于 2021-8-25 21:08
在没有加这条代码(这条代码的目的是玩家取消骑乘后删除盔甲架实体)之前是可以实现骑乘这一动作的,加了 ...
然而我找了Bukkit1.17.1和Paper1.16.5的javadoc都找不到EntityMountEvent.isDismounting