类org.bukkit.event.player.PlayerToggleSneakEvent源码实例Demo

下面列出了怎么用org.bukkit.event.player.PlayerToggleSneakEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Slimefun4   文件: GadgetsListener.java
@EventHandler
public void onToggleSneak(PlayerToggleSneakEvent e) {
    if (e.isSneaking()) {
        Player p = e.getPlayer();

        if (p.getInventory().getChestplate() != null) {
            SlimefunItem chestplate = SlimefunItem.getByItem(p.getInventory().getChestplate());
            handleChestplate(p, chestplate);
        }

        if (p.getInventory().getBoots() != null) {
            SlimefunItem boots = SlimefunItem.getByItem(p.getInventory().getBoots());
            handleBoots(p, boots);
        }

        if (SlimefunUtils.containsSimilarItem(p.getInventory(), SlimefunItems.INFUSED_MAGNET, true)) {
            InfusedMagnet magnet = (InfusedMagnet) SlimefunItems.INFUSED_MAGNET.getItem();

            if (Slimefun.hasUnlocked(p, magnet, true)) {
                new MagnetTask(p, magnet.getRadius()).scheduleRepeating(0, 8);
            }
        }
    }
}
 
源代码2 项目: TAB   文件: NameTagX.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void a(PlayerToggleSneakEvent e) {
	ITabPlayer p = Shared.getPlayer(e.getPlayer().getUniqueId());
	if (p == null) return;
	if (!p.disabledNametag) Shared.featureCpu.runMeasuredTask("processing PlayerToggleSneakEvent", CPUFeature.NAMETAGX_EVENT_SNEAK, new Runnable() {
		public void run() {
			p.getArmorStands().forEach(a -> a.sneak(e.isSneaking()));
		}
	});
}
 
源代码3 项目: MineTinker   文件: ShadowDive.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onSneak(PlayerToggleSneakEvent event) {
	Player player = event.getPlayer();
	if (!player.hasPermission("minetinker.modifiers.shadowdive.use")) return;

	ItemStack boots = player.getInventory().getBoots();
	if (!modManager.isArmorViable(boots)) return;
	if (!modManager.hasMod(boots, this)) return;

	if (event.isSneaking() && !player.isGliding()) { //enable
		Location loc = player.getLocation();
		byte lightlevel = player.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()).getLightLevel();
		boolean combatTagged = PlayerInfo.isCombatTagged(player);
		ChatWriter.logModifier(player, event, this, boots,
				String.format("LightLevel(%d/%d)", lightlevel, this.requiredLightLevel),
				String.format("InCombat(%b)", combatTagged));
		if (lightlevel > this.requiredLightLevel || player.hasPotionEffect(PotionEffectType.GLOWING)) {
			ChatWriter.sendActionBar(player, ChatColor.RED + this.getName() + ": "
					+ LanguageManager.getString("Modifier.Shadow-Dive.LightToHigh", player));
			return;
		}

		if (combatTagged) {
			ChatWriter.sendActionBar(player, ChatColor.RED + this.getName() + ": "
					+ LanguageManager.getString("Modifier.Shadow-Dive.InCombat", player));
			return;
		}

		hidePlayer(player);

	} else { //disable
		if (!activePlayers.contains(player)) return;
		showPlayer(player);
	}
}
 
源代码4 项目: ViaVersion   文件: PlayerSneakListener.java
@EventHandler(ignoreCancelled = true)
public void playerToggleSneak(PlayerToggleSneakEvent event) {
    Player player = event.getPlayer();
    UserConnection userConnection = getUserConnection(player);
    if (userConnection == null) return;
    ProtocolInfo info = userConnection.getProtocolInfo();
    if (info == null) return;

    int protocolVersion = info.getProtocolVersion();
    if (is1_14Fix && protocolVersion >= ProtocolVersion.v1_14.getId()) {
        setHeight(player, event.isSneaking() ? HEIGHT_1_14 : STANDING_HEIGHT);
        if (event.isSneaking())
            sneakingUuids.add(player.getUniqueId());
        else
            sneakingUuids.remove(player.getUniqueId());

        if (!useCache) return;
        if (event.isSneaking())
            sneaking.put(player, true);
        else
            sneaking.remove(player);
    } else if (is1_9Fix && protocolVersion >= ProtocolVersion.v1_9.getId()) {
        setHeight(player, event.isSneaking() ? HEIGHT_1_9 : STANDING_HEIGHT);
        if (!useCache) return;
        if (event.isSneaking())
            sneaking.put(player, false);
        else
            sneaking.remove(player);
    }
}
 
源代码5 项目: AACAdditionPro   文件: DataUpdaterEvents.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onToggleSneak(final PlayerToggleSneakEvent event)
{
    final User user = UserManager.getUser(event.getPlayer().getUniqueId());

    if (user != null) {
        user.getDataMap().setValue(DataKey.SNEAKING, event.isSneaking());
        if (!event.isSneaking()) {
            user.getDataMap().setValue(DataKey.LAST_SNEAK_DURATION, user.getTimestampMap().passedTime(TimestampKey.LAST_SNEAK_TOGGLE));
        }
        user.getTimestampMap().updateTimeStamp(TimestampKey.LAST_SNEAK_TOGGLE);
    }
}
 
源代码6 项目: AnnihilationPro   文件: Transporter.java
@EventHandler(priority = EventPriority.HIGHEST,ignoreCancelled = true)
public void Teleport(PlayerToggleSneakEvent event)
{
	if(event.isSneaking())
	{
		Player player = event.getPlayer();
		Block b = player.getLocation().getBlock().getRelative(BlockFace.DOWN);
		if(b.getType() == Material.QUARTZ_ORE)
		{
			UUID owner = getBlocksOwner(b);
			if(owner != null)
			{
				AnniPlayer p = AnniPlayer.getPlayer(player.getUniqueId());
				if(p != null)
				{
					Teleporter tele = teleporters.get(owner);
					if(tele.isLinked() && tele.getOwner().getTeam() == p.getTeam() && tele.canUse())
					{
						Location loc;
						//if(new Loc(b.getLocation()).isEqual(tele.getLoc1()))
						if(tele.getLoc1().equals(b.getLocation()))
							loc = tele.getLoc2().toLocation();
						else
							loc = tele.getLoc1().toLocation();
						loc.setY(loc.getY()+1);
						player.teleport(this.getMiddle(loc));
						loc.getWorld().playEffect(loc, Effect.MOBSPAWNER_FLAMES, 1);
						tele.getLoc1().toLocation().getWorld().playSound(tele.getLoc1().toLocation(), Sound.ENDERMAN_TELEPORT, 1F,(float)Math.random());
						tele.getLoc2().toLocation().getWorld().playSound(tele.getLoc2().toLocation(), Sound.ENDERMAN_TELEPORT, 1F,(float)Math.random());
						tele.delay();
						event.setCancelled(true);
					}
				}
			}
		}
	}
}
 
源代码7 项目: ProtocolSupport   文件: FeatureEmulation.java
@EventHandler
public void onShift(PlayerToggleSneakEvent event) {
	Player player = event.getPlayer();
	Connection connection = ProtocolSupportAPI.getConnection(player);
	if (
		player.isInsideVehicle() &&
		(connection != null) &&
		(connection.getVersion().getProtocolType() == ProtocolType.PC) &&
		connection.getVersion().isBeforeOrEq(ProtocolVersion.MINECRAFT_1_5_2)
	) {
		player.leaveVehicle();
	}
}
 
源代码8 项目: SkyWarsReloaded   文件: TauntListener.java
@EventHandler(priority = EventPriority.HIGHEST)
public void pressedTauntKey(PlayerToggleSneakEvent e) {
	Player player = e.getPlayer();
       GameMap gameMap = MatchManager.get().getPlayerMap(player);
       if (gameMap == null) {
       	return;
       }
	String uuid = e.getPlayer().getUniqueId().toString();
	if (!player.isSneaking()) {
		if (lastHandSwap.containsKey(uuid)) {
			if (System.currentTimeMillis() - lastHandSwap.get(uuid) < 500) {
				if (lastTaunt.containsKey(uuid)) {
					if (System.currentTimeMillis() - lastTaunt.get(uuid) < SkyWarsReloaded.getCfg().getCooldown()*1000) {
						int cooldown = (int) ((SkyWarsReloaded.getCfg().getCooldown()*1000 - (System.currentTimeMillis() - lastTaunt.get(uuid)))/1000);
						int seconds = (cooldown % 60) + 1;
						int minutes = (cooldown-(seconds - 1)) / 60;
						String cooldownText = "";
						if (minutes > 0) {
							cooldownText = cooldownText + minutes + " Minutes ";
						} 
						if (seconds > 0) {
							cooldownText = cooldownText + seconds + " Seconds";
						}
						
						e.getPlayer().sendMessage(new Messaging.MessageFormatter().setVariable("timeleft", cooldownText).format("error.cooldown"));
						return;
					} else {
						lastTaunt.remove(uuid);
					}
				}
				PlayerStat ps = PlayerStat.getPlayerStats(e.getPlayer());
				if (ps != null) {
                       String tauntName = ps.getTaunt();
                       TauntOption taunt = (TauntOption) TauntOption.getPlayerOptionByKey(tauntName);
                       if (taunt != null) {
                           if (!taunt.getKey().equals("none")) {
                               taunt.performTaunt(e.getPlayer());
                           }
                       }
                       lastHandSwap.remove(uuid);
                       lastTaunt.put(uuid, System.currentTimeMillis());
                   }
			} else {
				lastHandSwap.put(uuid, System.currentTimeMillis());
			}
		} else {
			lastHandSwap.put(uuid, System.currentTimeMillis());
		}
	}	
}
 
 类所在包
 类方法
 同包方法