Prevent mounted players from unmounting.
This commit is contained in:
@@ -51,6 +51,7 @@ import org.bukkit.event.player.PlayerLoginEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.event.vehicle.VehicleExitEvent;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
@@ -1176,4 +1177,19 @@ public class ArenaListener
|
||||
|
||||
arena.playerLeave(p);
|
||||
}
|
||||
|
||||
public void onVehicleExit(VehicleExitEvent event) {
|
||||
LivingEntity entity = event.getExited();
|
||||
if (!(entity instanceof Player)) return;
|
||||
|
||||
Player p = (Player) entity;
|
||||
if (!arena.inArena(p)) return;
|
||||
|
||||
Vehicle vehicle = event.getVehicle();
|
||||
if (!(vehicle instanceof Horse)) return;
|
||||
|
||||
if (monsters.hasMount(vehicle)) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.bukkit.event.block.*;
|
||||
import org.bukkit.event.entity.*;
|
||||
import org.bukkit.event.hanging.HangingBreakEvent;
|
||||
import org.bukkit.event.player.*;
|
||||
import org.bukkit.event.vehicle.VehicleExitEvent;
|
||||
import org.bukkit.event.world.WorldLoadEvent;
|
||||
import org.bukkit.event.world.WorldUnloadEvent;
|
||||
|
||||
@@ -309,6 +310,13 @@ public class MAGlobalListener implements Listener
|
||||
arena.getEventListener().onPlayerPreLogin(event);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL)
|
||||
public void vehicleExit(VehicleExitEvent event) {
|
||||
for (Arena arena : am.getArenas()) {
|
||||
arena.getEventListener().onVehicleExit(event);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user