@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerInteractEntityEvent(PlayerInteractEntityEvent event) { if (!(event.getRightClicked() instanceof LivingEntity)) { return; } Player player = event.getPlayer(); Entity entity = event.getRightClicked(); ActionPlayerEntity action; if (player.getItemInHand().getType() == COAL && entity instanceof PoweredMinecart) { action = this.newAction(UseFurnaceMinecart.class, entity.getWorld()); } else if (player.getItemInHand().getType() == INK_SACK && entity instanceof Sheep || entity instanceof Wolf) { action = this.newAction(EntityDye.class, entity.getWorld()); if (action != null) { ((EntityDye)action).setColor(((Dye)player.getItemInHand().getData()).getColor()); } } else if (player.getItemInHand().getType().equals(BOWL) && entity instanceof MushroomCow) { action = this.newAction(EntityFillSoup.class, entity.getWorld()); } else { return; } if (action != null) { action.setEntity(entity); action.setPlayer(player); action.setLocation(entity.getLocation()); this.logAction(action); } }