@Override public void setSprinting(boolean sprinting) { if (EventFactory.getInstance() .callEvent(new PlayerToggleSprintEvent(this, sprinting)).isCancelled()) { return; } metadata.setBit(MetadataIndex.STATUS, StatusFlags.SPRINTING, sprinting); }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerToggleSprint(final PlayerToggleSprintEvent event) { if (!event.isSprinting()) { DataManager.getGenericInstance(event.getPlayer(), MovingData.class).timeSprinting = 0; } }
/** * @param event */ @EventHandler(priority = EventPriority.HIGH) public void onPlayerSprint(PlayerToggleSprintEvent event) { if (event.isSprinting()) { return; } Field field = plugin.getForceFieldManager().getEnabledSourceField(event.getPlayer().getLocation(), FieldFlag.NO_PLAYER_SPRINT); if (field != null) { if (FieldFlag.NO_PLAYER_SPRINT.applies(field, event.getPlayer())) { event.setCancelled(true); } } }
@Override public boolean isSprinting() { return ptse.isSprinting(); }
/** * A workaround for cancelled PlayerToggleSprintEvents. * * @param event * the event */ @EventHandler(priority = EventPriority.MONITOR) // HIGHEST) public void onPlayerToggleSprintHighest(final PlayerToggleSprintEvent event) { // // TODO: Check the un-cancelling. // // Some plugins cancel "sprinting", which makes no sense at all because it doesn't stop people from sprinting // // and rewards them by reducing their hunger bar as if they were walking instead of sprinting. // if (event.isCancelled() && event.isSprinting()) // event.setCancelled(false); // Feed the improbable. Improbable.feed(event.getPlayer(), 0.35f, System.currentTimeMillis()); }
@Override public void setCancelled(boolean bln) { ptse.setCancelled(bln); } }
@Override public boolean isCancelled() { return ptse.isCancelled(); }
@EventHandler public void onPlayerSprint(PlayerToggleSprintEvent e) { if (!e.isSprinting()) { return; } Player p = e.getPlayer(); ItemStack item = p.getInventory().getItemInMainHand(); RPGItem rItem = ItemManager.toRPGItem(item).orElse(null); if (rItem == null) return; rItem.power(p, item, e, Trigger.SPRINT); }
@EventHandler public void onSprint(PlayerToggleSprintEvent e) { if (e.isSprinting()) Talisman.checkFor(e, SlimefunItem.getByID("TRAVELLER_TALISMAN")); }