Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.waffel.listener;
- 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.entity.EntityDamageEvent;
- 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 onDamage(EntityDamageEvent e) {
- if(e.getEntity() instanceof Player && e.getEntity().getWorld().getName().equals("lobby")) {
- e.setCancelled(true);
- }
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- p.setGameMode(GameMode.ADVENTURE);
- p.setAllowFlight(true);
- p.setFlying(false);
- }
- @EventHandler
- public void onFly(PlayerToggleFlightEvent e) {
- Player p = e.getPlayer();
- if(p.getGameMode()==GameMode.ADVENTURE) {
- e.setCancelled(true);
- p.setAllowFlight(false);
- p.setFlying(false);
- p.setVelocity(p.getLocation().getDirection().multiply(2).add(new Vector(0,1.5,0)));
- }
- }
- @EventHandler
- public void onMove(PlayerMoveEvent e) {
- Player p = e.getPlayer();
- if(p.getGameMode()==GameMode.ADVENTURE) {
- if(p.getLocation().add(0,-1,0).getBlock().getType() != Material.AIR) {
- p.setAllowFlight(true);
- p.setFlying(false);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement