*Added Autoboat
This commit is contained in:
@@ -12,9 +12,11 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Arrow;
|
import org.bukkit.entity.Arrow;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
@@ -50,6 +52,17 @@ public class AnuraCore extends JavaPlugin {
|
|||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
AnuraCore.sql = new MySQL(this);
|
AnuraCore.sql = new MySQL(this);
|
||||||
AnuraCore.instance = this;
|
AnuraCore.instance = this;
|
||||||
|
if(AnuraCore.getInstance().getConfig().getBoolean("is-main-lobby")){
|
||||||
|
for(World w : Bukkit.getWorlds()){
|
||||||
|
for(Entity e : w.getEntities()){
|
||||||
|
if(e.getType().equals(EntityType.BOAT)){
|
||||||
|
e.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (AnuraCore.sql.isValid) {
|
if (AnuraCore.sql.isValid) {
|
||||||
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
||||||
Setup.setupConfig();
|
Setup.setupConfig();
|
||||||
|
|||||||
@@ -6,21 +6,30 @@ import java.sql.ResultSet;
|
|||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.UUID;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Boat;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
import org.bukkit.event.player.PlayerToggleFlightEvent;
|
import org.bukkit.event.player.PlayerToggleFlightEvent;
|
||||||
|
import org.bukkit.event.vehicle.VehicleDestroyEvent;
|
||||||
|
import org.bukkit.event.vehicle.VehicleExitEvent;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
public class Features implements Listener {
|
public class Features implements Listener {
|
||||||
|
|
||||||
|
public static ArrayList<UUID> wantFlight = new ArrayList<>();
|
||||||
|
|
||||||
public enum Feature {
|
public enum Feature {
|
||||||
|
|
||||||
DOUBLE_JUMP(1);
|
DOUBLE_JUMP(1),
|
||||||
|
BOAT(2);
|
||||||
|
|
||||||
private Feature(int id) {
|
private Feature(int id) {
|
||||||
this.featureId = id;
|
this.featureId = id;
|
||||||
@@ -188,6 +197,11 @@ public class Features implements Listener {
|
|||||||
P.setExp(1);
|
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
|
@EventHandler
|
||||||
@@ -211,4 +225,23 @@ public class Features implements Listener {
|
|||||||
event.setCancelled(true);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package de.anura.core.commands;
|
|||||||
import de.anura.core.API.Core;
|
import de.anura.core.API.Core;
|
||||||
import de.anura.core.AnuraCore;
|
import de.anura.core.AnuraCore;
|
||||||
import static de.anura.core.AnuraCore.sql;
|
import static de.anura.core.AnuraCore.sql;
|
||||||
|
import de.anura.core.Features;
|
||||||
import de.anura.core.ImgRenderer;
|
import de.anura.core.ImgRenderer;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
@@ -317,6 +318,19 @@ public class TeamCommands implements CommandExecutor {
|
|||||||
System.out.println("Error: " + ex.getLocalizedMessage());
|
System.out.println("Error: " + ex.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else if (cmd.getName().equalsIgnoreCase("toggleBoatFlight")) {
|
||||||
|
if (P.hasPermission("core.boat.toggleflight")) {
|
||||||
|
if (Features.wantFlight.contains(P.getUniqueId())) {
|
||||||
|
Features.wantFlight.remove(P.getUniqueId());
|
||||||
|
P.sendMessage("Du wurdest aus der Liste entfernt!");
|
||||||
|
} else {
|
||||||
|
Features.wantFlight.add(P.getUniqueId());
|
||||||
|
P.sendMessage("Du wurdest zu der Liste hinzugefügt!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Core.statusMsg(P, "no_perms", false);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package de.anura.core.events;
|
|||||||
import de.anura.core.API.Core;
|
import de.anura.core.API.Core;
|
||||||
import de.anura.core.API.Money;
|
import de.anura.core.API.Money;
|
||||||
import de.anura.core.AnuraCore;
|
import de.anura.core.AnuraCore;
|
||||||
|
import org.bukkit.entity.Boat;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
@@ -15,6 +17,12 @@ public class PlayerQuit implements Listener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||||
|
if(event.getPlayer().getVehicle() != null){
|
||||||
|
if(event.getPlayer().getVehicle().getType().equals(EntityType.BOAT)){
|
||||||
|
Boat b = (Boat) event.getPlayer().getVehicle();
|
||||||
|
b.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
event.setQuitMessage(null);
|
event.setQuitMessage(null);
|
||||||
Core.endSitting(event.getPlayer());
|
Core.endSitting(event.getPlayer());
|
||||||
AnuraCore.getInstance().disableCommandsAdventure.remove(event.getPlayer());
|
AnuraCore.getInstance().disableCommandsAdventure.remove(event.getPlayer());
|
||||||
|
|||||||
@@ -81,4 +81,7 @@ commands:
|
|||||||
usage: /<command> (xpBattle|pool)
|
usage: /<command> (xpBattle|pool)
|
||||||
addAimTWWin:
|
addAimTWWin:
|
||||||
description: Adds an Aim the Water win to the statistics
|
description: Adds an Aim the Water win to the statistics
|
||||||
usage: /<command> <username>
|
usage: /<command> <username>
|
||||||
|
toggleBoatFlight:
|
||||||
|
description: Adds an Aim the Water win to the statistics
|
||||||
|
usage: /<command>
|
||||||
Reference in New Issue
Block a user