Hrtzee
本帖最后由 Hrtzee 于 2021-8-27 16:05 编辑

学着知乎上的教程做了一个可以坐的方块,但是当我写下列代码要实现取消骑乘移除实体时,在游戏里总是一骑上去就移除了实体导致无法骑乘,希望大佬赐教,为什么这段代码怎么都能实现

代码已附
@SubscribeEvent
public static void stand(EntityMountEvent event) {
    if (event.isDismounting() && event.getEntityBeingMounted() instanceof ArmorStandEntity) {
        event.getEntityBeingMounted().remove();
    }
}

enderman_JC
给event.getEntityBeingMounted().remove();套个延迟0.1试试看

Haoke_City
emmmm我有点看不懂qwq

1006438726
我看不懂代码emm

xtex
可能是盔甲架不能乘骑?用矿车试试?

Hrtzee
enderman_JC 发表于 2021-8-25 18:53
给event.getEntityBeingMounted().remove();套个延迟0.1试试看

不行,不管延迟加在整个if语句上还是里面的子语句这玩意都能诡异的执行

Hrtzee
xtex 发表于 2021-8-25 20:41
可能是盔甲架不能乘骑?用矿车试试?

在没有加这条代码(这条代码的目的是玩家取消骑乘后删除盔甲架实体)之前是可以实现骑乘这一动作的,加了之后一骑上去就取消骑乘说明这个代码的判断肯定过,最离谱的是在if的第一个判断条件前加!也还是能出现这个情况

xtex
Hrtzee 发表于 2021-8-25 21:08
在没有加这条代码(这条代码的目的是玩家取消骑乘后删除盔甲架实体)之前是可以实现骑乘这一动作的,加了 ...

然而我找了Bukkit1.17.1和Paper1.16.5的javadoc都找不到EntityMountEvent.isDismounting

第一页 上一页 下一页 最后一页