*Added Autoboat

This commit is contained in:
Lukas
2014-11-02 17:09:14 +01:00
parent a9e54088ba
commit 149ba5e92d
5 changed files with 73 additions and 2 deletions

View File

@@ -6,21 +6,30 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.entity.Boat;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerToggleFlightEvent;
import org.bukkit.event.vehicle.VehicleDestroyEvent;
import org.bukkit.event.vehicle.VehicleExitEvent;
import org.bukkit.util.Vector;
public class Features implements Listener {
public static ArrayList<UUID> wantFlight = new ArrayList<>();
public enum Feature {
DOUBLE_JUMP(1);
DOUBLE_JUMP(1),
BOAT(2);
private Feature(int id) {
this.featureId = id;
@@ -188,6 +197,11 @@ public class Features implements Listener {
P.setExp(1);
}
}
if (P.getLocation().getBlock().getType().equals(Material.STATIONARY_WATER) && P.getVehicle() == null) {
Boat b = (Boat) P.getWorld().spawnEntity(event.getTo(), EntityType.BOAT);
b.setPassenger(P);
}
}
@EventHandler
@@ -211,4 +225,23 @@ public class Features implements Listener {
event.setCancelled(true);
}
}
@EventHandler
public void onBoatDestory(VehicleDestroyEvent event) {
if (event.getVehicle().getType().equals(EntityType.BOAT)) {
event.setCancelled(true);
}
}
@EventHandler
public void onExit(VehicleExitEvent event) {
if (event.getVehicle().getType().equals(EntityType.BOAT)) {
event.getVehicle().remove();
Player p = (Player) event.getExited();
p.setVelocity(p.getVelocity().add(new Vector(0D, 1D, 0D)));
if (p.getGameMode().equals(GameMode.CREATIVE) && wantFlight.contains(p.getUniqueId())) {
p.setFlying(true);
}
}
}
}