Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Вот так всё нормально работает, чисто пример.процесс ломания блока идёт
@SubscribeEvent
public void onBlockBreak(PlayerEvent.BreakSpeed e) {
EntityPlayer player = (EntityPlayer) e.entityLiving;
if (e.block.equals(Blocks.dirt) || e.block.equals(Blocks.grass)) {
if (player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemSpade) {
} else {
e.setCanceled(true);
}
}
}
@SubscribeEvent
public void onBlockBreak(PlayerInteractEvent e) {
Entity entity = (Entity)e.entity;
if (e.action == PlayerInteractEvent.Action.LEFT_CLICK_BLOCK) {
if (entity instanceof EntityPlayerMP){
EntityPlayer p = (EntityPlayer) entity;
if (p.getHeldItem() == null){
e.setCanceled(true);
}
}
}
}
}
ПопробуйОдин фиг процесс поломки блока есть
PlayerEvent.BreakSpeedДа не, должно не так работать.только тогда, когда блок уже сломан
PlayerEvent.HarvestCheck вызывается при попытке добычи, но с ним такая проблема - он не CancellableBreakSpeed не отменять, а пересоздай его с this.newSpeed = -1;@SubscribeEvent
public void onBlockBreak(PlayerEvent.BreakSpeed e) {
Entity entity = (Entity)e.entity;
if (entity instanceof EntityPlayerMP){
EntityPlayer p = (EntityPlayer) entity;
if (p.getHeldItem() == null){
e.newSpeed = -1;
}
}
}
Вот так всё нормально работает, чисто пример.процесс ломания блока идёт
@SubscribeEvent
public void onBlockBreak(PlayerEvent.BreakSpeed e) {
EntityPlayer player = (EntityPlayer) e.entityLiving;
if (e.block.equals(Blocks.dirt) || e.block.equals(Blocks.grass)) {
if (player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemSpade) {
} else {
e.setCanceled(true);
}
}
}