@EventHandler (ignoreCancelled = false, priority = EventPriority.MONITOR) @SuppressWarnings("ucd") public void onVehicleDestroy(VehicleDestroyEvent event) { speedmap.remove(event.getVehicle().getEntityId()); }
@EventHandler (ignoreCancelled = false, priority = EventPriority.MONITOR) @SuppressWarnings("ucd") public void onVehicleBlockCollision(VehicleBlockCollisionEvent event) { speedmap.remove(event.getVehicle().getEntityId()); }
@EventHandler public void onUpdaterMove(UpdaterMoveEvent event) { VehicleMoveEvent e = event.getEvent(); locations.put(e.getVehicle().getEntityId(), e.getTo()); }
@Override public void updateTimestamp(InventoryContent rte) { // Update the expiration time to have twice the spent time left long initial; long expiration; if ((initial = rte.getCreationtime()) == (expiration = rte.getExpirationTime())) return; long last = Calendar.getInstance().getTimeInMillis(); long update = last + ((last - initial) << 1); if (update > expiration) { rte.setExpirationTime(update); updaterset.getMap().reset(update - last / 50, ((Vehicle) rte.getInventory().getHolder()).getEntityId()); } }
@EventHandler (ignoreCancelled = false, priority = EventPriority.MONITOR) @SuppressWarnings("ucd") public void onVehicleEntityCollision(VehicleEntityCollisionEvent event) { final List<Entity> passengers = event.getVehicle().getPassengers(); for(Entity passenger : passengers) { if(passenger.getEntityId() == event.getEntity().getEntityId()) { return; } } speedmap.remove(event.getVehicle().getEntityId()); }
@Override public void destroyWanderer(Inventory inv) { int id = ((Vehicle) inv.getHolder()).getEntityId(); Bukkit.getServer().getPluginManager().callEvent(new UpdaterRemoveEvent(id)); updaterset.getMap().remove(id); inv.clear(); } }
/** * Move a marker of updater * * @param event */ @EventHandler(ignoreCancelled = true) public void onUpdaterMove(UpdaterMoveEvent event) { VehicleMoveEvent mve = event.getEvent(); int id = mve.getVehicle().getEntityId(); Location loc = mve.getTo(); Marker marker = markerset.findMarker(String.valueOf(id)); if (marker != null) { marker.setLocation(loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ()); } }
/** * Detect a destroyed updater * * @param event */ @EventHandler(ignoreCancelled = true) public void onVehicleDestroy(VehicleDestroyEvent event) { Vehicle v = event.getVehicle(); if (v instanceof InventoryHolder) { Inventory inv = ((InventoryHolder) v).getInventory(); if (ByteCart.myPlugin.getWandererManager().isWanderer(inv, "Updater")) { ByteCart.myPlugin.getWandererManager().getFactory("Updater").destroyWanderer(inv); Bukkit.getServer().getPluginManager().callEvent(new UpdaterRemoveEvent(v.getEntityId())); } } }
@Override public Wanderer getWanderer(BCSign bc, Inventory inv) { UpdaterContent rte; final BCWandererManager wm = ByteCart.myPlugin.getWandererManager(); if (wm.isWanderer(inv, "Updater")) updaterset.addUpdater(bc.getVehicle().getEntityId()); if (wm.isWanderer(inv, Level.REGION, "Updater") && (rte = getUpdaterContent(inv)) != null) return new UpdaterRegion(bc, rte); if (wm.isWanderer(inv, Level.RESET_REGION, "Updater") && (rte = getUpdaterContent(inv)) != null) return new UpdaterResetRegion(bc, rte); if (wm.isWanderer(inv, Level.BACKBONE, "Updater") && (rte = getUpdaterContent(inv)) != null) return new UpdaterBackBone(bc, rte); if (wm.isWanderer(inv, Level.RESET_BACKBONE, "Updater") && (rte = getUpdaterContent(inv)) != null) return new UpdaterResetBackbone(bc, rte); if (wm.isWanderer(inv, Level.RESET_LOCAL, "Updater") && (rte = getUpdaterContent(inv)) != null) return new UpdaterResetLocal(bc, rte); if (wm.isWanderer(inv, Level.LOCAL, "Updater") && (rte = getUpdaterContent(inv)) != null) return new UpdaterLocal(bc, rte); return null; }