aa0307bb 发表于 2020-6-28 13:20
查过了,但我问的是“不要变成方块”而不是“不要掉落物品”,这似乎找不到现成的API ...
https://minecraft.gamepedia.com/Falling_Block/ED
nms设置entity的time为接近600的值,time超过600会自动删除不留方块
疾风暗影 发表于 2020-6-28 13:27
https://minecraft.gamepedia.com/Falling_Block/ED
nms设置entity的time为接近600的值,time超过600会 ...
fb.setTicksLived()也可以设置time
用“时长超过600tick”这个特性来实现的话,
太接近600 爆炸效果没怎样显示就没了
稍微小一点,爆炸效果有了但是那些炸得不高的掉落沙就变成方块了
我尝试过在监听器的for循环里把每个FallingSand加进一个列表
for(Block block : e.blockList()){
...
PluginMain.fb_ls.add(fb);
}
再开一个每tick执行一次的任务用于监视这个插件创建的掉落沙,用isOnGround()判断掉落沙掉地上了,然后就fb.remove()来清除这个掉落沙
for(FallingBlock fb : PluginMain.fb_ls) {
if(fb.isOnGround()) {
fb.remove();
PluginMain.fb_ls.remove(fb);
}
}
但是行不通