Dateien nach "src/main/java/de/nexuslobby/utils" hochladen
This commit is contained in:
50
src/main/java/de/nexuslobby/utils/DoubleJump.java
Normal file
50
src/main/java/de/nexuslobby/utils/DoubleJump.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package de.nexuslobby.utils;
|
||||
|
||||
import de.nexuslobby.NexusLobby;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.event.player.PlayerToggleFlightEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class DoubleJump implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent event) {
|
||||
if (NexusLobby.getInstance().getConfig().getBoolean("doublejump.enabled", true)) {
|
||||
event.getPlayer().setAllowFlight(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onFly(PlayerToggleFlightEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) return;
|
||||
|
||||
if (NexusLobby.getInstance().getConfig().getBoolean("doublejump.enabled", true)) {
|
||||
event.setCancelled(true);
|
||||
player.setAllowFlight(false);
|
||||
player.setFlying(false);
|
||||
|
||||
double velocity = NexusLobby.getInstance().getConfig().getDouble("doublejump.velocity", 1.0);
|
||||
double horizontal = NexusLobby.getInstance().getConfig().getDouble("doublejump.horizontal", 0.2);
|
||||
|
||||
Vector v = player.getLocation().getDirection().multiply(horizontal).setY(velocity);
|
||||
player.setVelocity(v);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onMove(PlayerMoveEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (player.getGameMode() != GameMode.CREATIVE && player.getLocation().subtract(0, 0.1, 0).getBlock().getType() != Material.AIR) {
|
||||
if (NexusLobby.getInstance().getConfig().getBoolean("doublejump.enabled", true)) {
|
||||
player.setAllowFlight(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user