Java 类org.bukkit.event.entity.EntityToggleGlideEvent 实例源码
项目:AddGun
文件:PlayerListener.java
/**
* Keeps track of player glide part 2; if they are gliding we track when they glided, or, clear if no longer gliding.
*
* @param event
* the glide toggle event
*/
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void toggleGlideEvent(EntityToggleGlideEvent event) {
if (!(event.getEntity() instanceof Player)) return;
Player eventPlayer = (Player) event.getEntity();
if (event.isGliding()) {
glidingSince.computeIfAbsent(eventPlayer.getUniqueId(), u -> {
//if (eventPlayer.hasPermission("addgun.data")) { eventPlayer.sendMessage(ChatColor.GOLD + "glide started"); }
return System.currentTimeMillis();
});
glidingEnd.remove(eventPlayer.getUniqueId());
} else {
/*if (glidingSince.containsKey(eventPlayer.getUniqueId()) && eventPlayer.hasPermission("addgun.data")) {
eventPlayer.sendMessage(ChatColor.GOLD + " glide cleared");
}*/
glidingSince.remove(eventPlayer.getUniqueId());
glidingEnd.computeIfAbsent(eventPlayer.getUniqueId(), u -> {
return System.currentTimeMillis();
});
}
}
项目:Hub
文件:PlayerListener.java
@EventHandler
public void onPlayerGlide(EntityToggleGlideEvent event)
{
if (!(event.getEntity() instanceof Player))
return;
if (!SamaGamesAPI.get().getPermissionsManager().hasPermission(event.getEntity(), "network.vipplus"))
if (((Player) event.getEntity()).isFlying() && ((Player) event.getEntity()).getInventory().getChestplate().getType() == Material.ELYTRA)
((Player) event.getEntity()).getInventory().setChestplate(null);
if (event.isGliding() && RestrictedVersion.isLoggedInPost19((Player) event.getEntity()))
{
ItemStack stack = new ItemStack(Material.FEATHER);
ItemMeta meta = stack.getItemMeta();
meta.setDisplayName(ChatColor.GOLD + "" + ChatColor.BOLD + "Ventilateur" + ChatColor.RESET + "" + ChatColor.GRAY + " (Clic-droit)");
stack.setItemMeta(meta);
stack.addUnsafeEnchantment(Enchantment.DURABILITY, 1);
((Player) event.getEntity()).getInventory().setItem(3, stack);
}
else
{
((Player) event.getEntity()).getInventory().setItem(3, new ItemStack(Material.AIR));
}
}
项目:RPGInventory
文件:ElytraListener.java
@EventHandler(ignoreCancelled = true)
public void onEntityToggleGlide(EntityToggleGlideEvent event) {
if (event.getEntityType() != EntityType.PLAYER) {
return;
}
Player player = (Player) event.getEntity();
if (!InventoryManager.playerIsLoaded(player)) {
return;
}
if (event.isGliding()) {
PlayerWrapper playerWrapper = InventoryManager.get(player);
playerWrapper.onStartGliding();
}
}
项目:RealisticSwimming
文件:RFallListener.java
@EventHandler
public void onEntityToggleGlideEvent(EntityToggleGlideEvent event){
if(event.getEntity() instanceof Player){
Player p = (Player) event.getEntity();
if(playerCanFall(p) && p.getLocation().subtract(0, 1, 0).getBlock().getType()!=Material.STATIONARY_WATER){
//****************************** Changes by DrkMatr1984 START ******************************
PlayerStartFallingEvent e = new PlayerStartFallingEvent(p);
Bukkit.getServer().getPluginManager().callEvent(e);
if(!e.isCancelled()){
p.setVelocity(new Vector(p.getLocation().getDirection().getX()* Config.fallGlideSpeed, Config.fallDownwardSpeed*-1, p.getLocation().getDirection().getZ()*Config.fallGlideSpeed));
event.setCancelled(true);
}else{
p.setGliding(false);
}
//****************************** Changes by DrkMatr1984 END ******************************
}
}
}
项目:WorldGuardExtraFlagsPlugin
文件:EntityListenerOnePointNine.java
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onEntityToggleGlideEvent(EntityToggleGlideEvent event)
{
if (event.getEntity() instanceof Player)
{
Player player = (Player)event.getEntity();
if (!WorldGuardUtils.hasBypass(player))
{
ApplicableRegionSet regions = WorldGuardExtraFlagsPlugin.getWorldGuardPlugin().getRegionContainer().createQuery().getApplicableRegions(player.getLocation());
State state = regions.queryValue(WorldGuardUtils.wrapPlayer(player), FlagUtils.GLIDE);
if (state != null)
{
event.setCancelled(true);
player.setGliding(state == State.ALLOW);
}
}
}
}
项目:FlightHUD
文件:FHListeners.java
@EventHandler
public void onPlayerFly(EntityToggleGlideEvent event) {
if (event.getEntity() instanceof Player) {
Player player = (Player) event.getEntity();
if (event.isGliding()) {
manager.addHUD(player);
} else {
manager.removeHUD(player);
}
}
}
项目:RealisticSwimming
文件:RSwimListener.java
@EventHandler
public void onEntityToggleGlideEvent(EntityToggleGlideEvent event){
if(event.getEntity() instanceof Player){
Player p = (Player) event.getEntity();
if(playerCanSwim(p) && !p.hasMetadata("swimmingDisabled")){
event.setCancelled(true);
}
}
}
项目:RealisticSwimming
文件:RSneakListener.java
@EventHandler
public void onEntityToggleGlideEvent(EntityToggleGlideEvent event){
if(event.getEntity() instanceof Player){
Player p = (Player) event.getEntity();
if(p.isSneaking() && Config.enableSneak){
event.setCancelled(true);
}
}
}
项目:ZentrelaRPG
文件:SoaringManager.java
@EventHandler
public void onEntityToggleGlideEvent(EntityToggleGlideEvent event) {
if (event.getEntity().getLocation().add(0, -1, 0).getBlock().getType() == Material.AIR)
event.setCancelled(true);
}
项目:Arcadia-Spigot
文件:WorldListener.java
@EventHandler
public void onToggleGlide(EntityToggleGlideEvent event) {
event.setCancelled(true);
}
项目:Hub
文件:Bumper.java
@Override
public void play(Player player)
{
if (this.flyingPlayers.contains(player.getUniqueId()))
return;
if (this.hub.getPlayerManager().isBusy(player) || player.getGameMode() == GameMode.SPECTATOR)
return;
if (!RestrictedVersion.isLoggedInPost19(player))
{
if (!this.disclaimerCooldowns.containsKey(player.getUniqueId()))
{
player.sendMessage(ChatColor.RED + "Veuillez vous connecter avec une version supérieure ou égale à Minecraft 1.9 pour utiliser les Bumpers.");
this.disclaimerCooldowns.put(player.getUniqueId(), 20);
}
else
{
int cooldown = this.disclaimerCooldowns.get(player.getUniqueId());
cooldown--;
this.disclaimerCooldowns.remove(player.getUniqueId());
if (cooldown > 0)
{
this.disclaimerCooldowns.put(player.getUniqueId(), cooldown);
}
}
return;
}
this.hub.getServer().getScheduler().runTask(this.hub, () -> SamaGamesAPI.get().getAchievementManager().getAchievementByID(6).unlock(player.getUniqueId()));
this.flyingPlayers.add(player.getUniqueId());
Vector vec = this.bumperLocation.getDirection().multiply(this.power);
long flyTime = (long) (((vec.getY()) / g) * 20.0);
BukkitTask run = new BukkitRunnable()
{
double x = vec.getX() / 2;
double y = vec.getY() / 2;
double z = vec.getZ() / 2;
@Override
public void run()
{
((CraftPlayer)player).getHandle().motX = x;
((CraftPlayer)player).getHandle().motY = y;
((CraftPlayer)player).getHandle().motZ = z;
((CraftPlayer)player).getHandle().velocityChanged = true;
}
}.runTaskTimer(this.hub, 0L, flyTime/2L);
this.flyTasks.put(player.getUniqueId(), this.hub.getServer().getScheduler().runTaskLater(this.hub, () ->
{
ItemStack stack = new ItemStack(Material.ELYTRA);
ItemMeta meta = stack.getItemMeta();
meta.spigot().setUnbreakable(true);
stack.setItemMeta(meta);
player.getInventory().setChestplate(stack);
((CraftPlayer)player).getHandle().setFlag(7, true);
this.hub.getPlayerManager().getStaticInventory().setInventoryToPlayer(player);
this.hub.getServer().getPluginManager().callEvent(new EntityToggleGlideEvent(player, true));
Titles.sendTitle(player, 10, 40, 10, "", ChatColor.GOLD + "Bon vol !");
this.stop(player);
run.cancel();
}, flyTime));
}
项目:Hub
文件:PlayerListener.java
@EventHandler
public void onPlayerToggleFlight(PlayerToggleFlightEvent event)
{
this.onPlayerGlide(new EntityToggleGlideEvent(event.getPlayer(), false));
}
项目:Kineticraft
文件:Parties.java
@EventHandler(ignoreCancelled = true)
public void onElytraToggle(EntityToggleGlideEvent evt) { // Disables elytra in party world.
evt.setCancelled(evt.isGliding() && isParty(evt.getEntity()));
}
项目:WorldGuardExtraFlagsPlugin
文件:WorldGuardExtraFlagsPlugin.java
@Override
public void onEnable()
{
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(TeleportOnEntryFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(TeleportOnExitFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(CommandOnEntryFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(CommandOnExitFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(ConsoleCommandOnEntryFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(ConsoleCommandOnExitFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(WalkSpeedFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(BlockedEffectsFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(GodmodeFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(GiveEffectsFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(FlyFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(PlaySoundsFlag.FACTORY, null);
WorldGuardExtraFlagsPlugin.worldGuardPlugin.getSessionManager().registerHandler(GlideFlag.FACTORY, null);
this.getServer().getPluginManager().registerEvents(new PlayerListener(), this);
this.getServer().getPluginManager().registerEvents(new BlockListener(), this);
this.getServer().getPluginManager().registerEvents(new EntityListener(), this);
this.getServer().getPluginManager().registerEvents(new WorldListener(), this);
try
{
if (EntityToggleGlideEvent.class != null) //LOL, Just making it look nice xD
{
this.getServer().getPluginManager().registerEvents(new EntityListenerOnePointNine(), this);
}
}
catch(NoClassDefFoundError ignored)
{
}
Plugin essentialsPlugin = this.getServer().getPluginManager().getPlugin("Essentials");
if (essentialsPlugin != null)
{
WorldGuardExtraFlagsPlugin.essentialsPlugin = (Essentials)essentialsPlugin;
}
WorldGuardExtraFlagsPlugin.mythicMobsEnabled = this.getServer().getPluginManager().isPluginEnabled("MythicMobs");
WorldGuardExtraFlagsPlugin.fastAsyncWorldEditEnabled = this.getServer().getPluginManager().isPluginEnabled("FastAsyncWorldEdit");
if (WorldGuardExtraFlagsPlugin.fastAsyncWorldEditEnabled)
{
PluginUtils.registerFAWE();
}
else
{
WorldGuardExtraFlagsPlugin.worldEditPlugin.getWorldEdit().getEventBus().register(new WorldEditListener());
}
if (WorldGuardExtraFlagsPlugin.isEssentialsEnable())
{
this.getServer().getPluginManager().registerEvents(new EssentialsListener(), this);
}
for(World world : this.getServer().getWorlds())
{
WorldGuardExtraFlagsPlugin.doUnloadChunkFlagWorldCheck(world);
}
}
项目:Statz
文件:DistanceTravelledToggleGlideListener.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onMove(final EntityToggleGlideEvent event) {
if (!(event.getEntity() instanceof Player)) return;
// Get player
final Player player = (Player) event.getEntity();
StatzUtil.isGliding.put(player.getUniqueId(), event.isGliding());
}