Java Bukkit防止葡萄生长

Java Bukkit防止葡萄生长,java,plugins,bukkit,Java,Plugins,Bukkit,我正在编写一个Bukkit插件来防止藤蔓生长,在取消BlockGrowthEvent后,藤蔓仍在生长和蔓延。我怎样才能阻止葡萄树的生长?当葡萄树生长时,事件是否会发生 代码: 只有当小麦、甘蔗、仙人掌、西瓜或南瓜(以及其他一些植物)生长时,才会调用blockgrowtevent。要检测藤蔓蔓延,请收听BlockSpreadEvent。由于此事件是可取消的,因此在处理事件时,藤蔓正在传播到的块仍将是空的,因此要检查该块是否是藤蔓而不是火块或蘑菇传播,可以查看正在传播到的块的新的BlockState

我正在编写一个Bukkit插件来防止藤蔓生长,在取消BlockGrowthEvent后,藤蔓仍在生长和蔓延。我怎样才能阻止葡萄树的生长?当葡萄树生长时,事件是否会发生

代码:


只有当小麦、甘蔗、仙人掌、西瓜或南瓜(以及其他一些植物)生长时,才会调用
blockgrowtevent
。要检测藤蔓蔓延,请收听
BlockSpreadEvent
。由于此事件是可取消的,因此在处理事件时,藤蔓正在传播到的块仍将是空的,因此要检查该块是否是藤蔓而不是火块或蘑菇传播,可以查看正在传播到的块的新的
BlockState
,并检查其类型是否为
event.getNewState().getData().getItemType()
等于
Material.VINE

因此,
@EventHandler(ignoreCancelled=true)public void onVineGrow(BlockSpreadEvent事件){event.setCancelled(true);}
将取消所有块扩展?是的!据我所知,这将阻止藤蔓、蘑菇和火的蔓延,也许还会有更多的障碍物蔓延。
@EventHandler (ignoreCancelled = true)
public void onVineGrow(BlockGrowEvent event){
    event.setCancelled(true);
}