completely new lobby system
Dieser Commit ist enthalten in:
Ursprung
be80e165f1
Commit
43d2aa69f0
4
pom.xml
4
pom.xml
@ -36,8 +36,8 @@
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>7</source>
|
||||
<target>7</target>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
@ -1,37 +1,12 @@
|
||||
Event:
|
||||
Join:
|
||||
allowJoinMessage: false
|
||||
JoinMessage: '&e%player% &eist dem Server beigetreten!'
|
||||
allowFirstJoinMessage: false
|
||||
FirstJoinMessage: '&e%player% &eist neu auf dem Server beigetreten!'
|
||||
allowQuitMessage: false
|
||||
QuitMessage: '&e%player% &ehat den Server verlassen!'
|
||||
Messages:
|
||||
Commands:
|
||||
SetLocationMessage: '%prefix% &7Die Positionfür &8[%display%&8] &7wurde gesetzt!'
|
||||
Prefix: '&bLobbySystem &8>> &7'
|
||||
Items:
|
||||
Lobby:
|
||||
Navigator:
|
||||
ID: 'COMPASS'
|
||||
Display: '&bNavigator'
|
||||
Slot: 1
|
||||
Extras:
|
||||
ID: 'CHEST'
|
||||
Display: '&aExtras'
|
||||
Slot: 5
|
||||
Lobby-Switcher:
|
||||
ID: 'NETHER_STAR'
|
||||
Display: '&eServer Wechseln'
|
||||
Slot: 9
|
||||
Hider:
|
||||
ID: 'BLAZE_ROD'
|
||||
Display: '&9Spieler Verstecken'
|
||||
Slot: 2
|
||||
WorldMaxRadius:
|
||||
minX:
|
||||
minY:
|
||||
minZ:
|
||||
maxX:
|
||||
maxY:
|
||||
maxZ:
|
||||
Spawn:
|
||||
X:
|
||||
Y:
|
||||
Z:
|
||||
|
||||
Border:
|
||||
MinX:
|
||||
MinY:
|
||||
MinZ:
|
||||
MaxX:
|
||||
MaxY:
|
||||
MaxZ:
|
@ -1,65 +1,46 @@
|
||||
package de.steamwar.lobby;
|
||||
|
||||
import de.steamwar.lobby.command.buildCommand;
|
||||
import de.steamwar.lobby.gadgets.GadgetManager;
|
||||
import de.steamwar.lobby.commands.FlyCommand;
|
||||
import de.steamwar.lobby.commands.ShieldCommand;
|
||||
import de.steamwar.lobby.listener.*;
|
||||
import de.steamwar.lobby.manager.BackendManager;
|
||||
import de.steamwar.lobby.manager.FileManager;
|
||||
import de.steamwar.lobby.manager.LocationManager;
|
||||
import de.steamwar.lobby.utils.Config;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class LobbySystem extends JavaPlugin {
|
||||
|
||||
|
||||
public static String prefix;
|
||||
private static LobbySystem instance;
|
||||
private LocationManager locationManager;
|
||||
private FileManager fileManager;
|
||||
private BackendManager backendManager;
|
||||
private GadgetManager gadgetManager;
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
instance = this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
|
||||
locationManager = new LocationManager();
|
||||
fileManager = new FileManager(instance);
|
||||
loadBackend();
|
||||
prefix = backendManager.prefix;
|
||||
|
||||
this.getCommand("build").setExecutor(new buildCommand());
|
||||
if(Config.WorldName == null)
|
||||
shutdown(null);
|
||||
|
||||
init();
|
||||
|
||||
getCommand("fly").setExecutor(new FlyCommand());
|
||||
getCommand("shield").setExecutor(new ShieldCommand());
|
||||
}
|
||||
|
||||
public void init() {
|
||||
PluginManager pm = Bukkit.getPluginManager();
|
||||
|
||||
pm.registerEvents(new BlockListener(), instance);
|
||||
pm.registerEvents(new EntityDamageByEntityEvent(), instance);
|
||||
pm.registerEvents(new FishEvent(), instance);
|
||||
pm.registerEvents(new JoinEvent(), instance);
|
||||
pm.registerEvents(new LobbyInteractListener(), instance);
|
||||
pm.registerEvents(new LobbyInvClickManager(), instance);
|
||||
pm.registerEvents(new PlayerKickEvent(), instance);
|
||||
pm.registerEvents(new PlayerMoveListener(), instance);
|
||||
pm.registerEvents(new ProjectileLaunchEvent(), instance);
|
||||
pm.registerEvents(new QuitEvent(), instance);
|
||||
pm.registerEvents(new SneakListener(), instance);
|
||||
pm.registerEvents(new TeleportEvent(), instance);
|
||||
pm.registerEvents(new PlayerQuitListener(), instance);
|
||||
pm.registerEvents(new PlayerJoinListener(), instance);
|
||||
pm.registerEvents(new PlayerInventoryListener(), instance);
|
||||
pm.registerEvents(new PlayerWorldInteractionListener(), instance);
|
||||
pm.registerEvents(new DoubleJumpListener(), instance);
|
||||
pm.registerEvents(new ParticleListener(), instance);
|
||||
pm.registerEvents(new PlayerHiderListener(), instance);
|
||||
pm.registerEvents(new EnderPearlListener(), instance);
|
||||
pm.registerEvents(new ShieldListener(), instance);
|
||||
}
|
||||
|
||||
public void loadBackend() {
|
||||
backendManager = new BackendManager();
|
||||
backendManager.loadBackend(fileManager);
|
||||
gadgetManager = new GadgetManager();
|
||||
public void shutdown(final String reason) {
|
||||
Bukkit.getOnlinePlayers().forEach(player -> player.kickPlayer(reason));
|
||||
Bukkit.shutdown();
|
||||
}
|
||||
|
||||
|
||||
@ -67,18 +48,4 @@ public class LobbySystem extends JavaPlugin {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public LocationManager getLocationManager() {
|
||||
return locationManager;
|
||||
}
|
||||
|
||||
public FileManager getFileManager() {
|
||||
return fileManager;
|
||||
}
|
||||
|
||||
public BackendManager getBackendManager() {
|
||||
return backendManager;
|
||||
}
|
||||
|
||||
public GadgetManager getGadgetManager() { return gadgetManager; }
|
||||
|
||||
}
|
||||
|
@ -1,39 +0,0 @@
|
||||
package de.steamwar.lobby.command;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.inventorys.LobbyInventorys;
|
||||
import de.steamwar.lobby.manager.BackendManager;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class buildCommand implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
|
||||
if(!(sender instanceof Player))
|
||||
return false;
|
||||
|
||||
Player player = (Player) sender;
|
||||
|
||||
if(player.hasPermission("lobby.build")) {
|
||||
|
||||
if(!BackendManager.canBuild.contains(player)) {
|
||||
BackendManager.canBuild.add(player);
|
||||
LobbySystem.getInstance().getGadgetManager().removePlayerGadget(player);
|
||||
LobbySystem.getInstance().getGadgetManager().removePlayerGadgetCooldown(player);
|
||||
LobbyInventorys.setLobbyItems(player);
|
||||
player.sendMessage(LobbySystem.prefix + "Du kannst nun auf der Lobby bauen!");
|
||||
} else {
|
||||
BackendManager.canBuild.remove(player);
|
||||
LobbyInventorys.setLobbyItems(player);
|
||||
player.sendMessage(LobbySystem.prefix + "Du kannst nun auf der Lobby nicht mehr bauen!");
|
||||
}
|
||||
|
||||
} else
|
||||
player.sendMessage(LobbySystem.prefix + "<EFBFBD>cDu darfst das nicht!");
|
||||
return false;
|
||||
}
|
||||
}
|
36
src/de/steamwar/lobby/commands/FlyCommand.java
Normale Datei
36
src/de/steamwar/lobby/commands/FlyCommand.java
Normale Datei
@ -0,0 +1,36 @@
|
||||
package de.steamwar.lobby.commands;
|
||||
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import de.steamwar.sql.SteamwarUser;
|
||||
import de.steamwar.sql.UserGroup;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class FlyCommand implements CommandExecutor {
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player))
|
||||
return false;
|
||||
|
||||
Player player = (Player) sender;
|
||||
SteamwarUser steamwarUser = SteamwarUser.get(player.getUniqueId());
|
||||
UserGroup userGroup = steamwarUser.getUserGroup();
|
||||
|
||||
if(userGroup != UserGroup.Developer &&
|
||||
userGroup != UserGroup.Moderator &&
|
||||
userGroup != UserGroup.Admin &&
|
||||
userGroup != UserGroup.Youtuber)
|
||||
return false;
|
||||
|
||||
boolean newFlightState = player.isFlying() ? false : true;
|
||||
LobbyPlayer.getLobbyPlayer(player.getUniqueId()).setFly(newFlightState);
|
||||
player.setAllowFlight(newFlightState);
|
||||
player.setFlying(newFlightState);
|
||||
player.sendMessage("§7Du kannst jetzt " + (newFlightState ? "§afliegen§7." : "§cnicht §7mehr fliegen."));
|
||||
return false;
|
||||
}
|
||||
}
|
35
src/de/steamwar/lobby/commands/ShieldCommand.java
Normale Datei
35
src/de/steamwar/lobby/commands/ShieldCommand.java
Normale Datei
@ -0,0 +1,35 @@
|
||||
package de.steamwar.lobby.commands;
|
||||
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import de.steamwar.sql.SteamwarUser;
|
||||
import de.steamwar.sql.UserGroup;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ShieldCommand implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player))
|
||||
return false;
|
||||
|
||||
Player player = (Player) sender;
|
||||
SteamwarUser steamwarUser = SteamwarUser.get(player.getUniqueId());
|
||||
UserGroup userGroup = steamwarUser.getUserGroup();
|
||||
|
||||
if(userGroup != UserGroup.Developer &&
|
||||
userGroup != UserGroup.Moderator &&
|
||||
userGroup != UserGroup.Admin &&
|
||||
userGroup != UserGroup.Youtuber)
|
||||
return false;
|
||||
|
||||
LobbyPlayer lobbyPlayer = LobbyPlayer.getLobbyPlayer(player.getUniqueId());
|
||||
boolean newShieldState = lobbyPlayer.isShield() ? false : true;
|
||||
|
||||
lobbyPlayer.setShield(newShieldState);
|
||||
player.sendMessage("§7Dein Schild ist jetzt " + (newShieldState ? "§aan" : "§caus") + "§7.");
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
package de.steamwar.lobby.gadgets;
|
||||
|
||||
public enum Gadget {
|
||||
|
||||
ENDER_PEARL,
|
||||
JETPACK,
|
||||
HOOK,
|
||||
TNT_CANNON;
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package de.steamwar.lobby.gadgets;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class GadgetManager {
|
||||
|
||||
public Map<Player, Gadget> playerGadgets = new HashMap<>();
|
||||
public Map<Player, Gadget> playerGadgetCooldown = new HashMap<>();
|
||||
|
||||
public Gadget getPlayerGadget(Player player) {
|
||||
return playerGadgets.get(player);
|
||||
}
|
||||
|
||||
public void setPlayerGadget(Player player, Gadget gadget) {
|
||||
playerGadgets.put(player, gadget);
|
||||
}
|
||||
|
||||
public void removePlayerGadget(Player player) {
|
||||
playerGadgets.remove(player);
|
||||
}
|
||||
|
||||
public boolean hasPlayerGadget(Player player) {
|
||||
return playerGadgets.containsKey(player);
|
||||
}
|
||||
|
||||
public void setPlayerGadgetCooldown(Player player, Gadget gadget) {
|
||||
playerGadgetCooldown.put(player, gadget);
|
||||
}
|
||||
|
||||
public void removePlayerGadgetCooldown(Player player) {
|
||||
playerGadgetCooldown.remove(player);
|
||||
}
|
||||
|
||||
public boolean hasPlayerGadgetCooldown(Player player) {
|
||||
return playerGadgetCooldown.containsKey(player);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,99 +0,0 @@
|
||||
package de.steamwar.lobby.inventorys;
|
||||
|
||||
import de.steamwar.lobby.utils.ItemBuilder;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
public class ExtrasInventorys {
|
||||
|
||||
public static Inventory getGadgets() {
|
||||
|
||||
Inventory inv = Bukkit.createInventory(null, 45, "§aGadgets");
|
||||
|
||||
for(int i = 0; i < inv.getSize(); i++) {
|
||||
inv.setItem(i, new ItemBuilder(Material.STAINED_GLASS_PANE, (short)15).setDisplayName(" ").build());
|
||||
}
|
||||
|
||||
inv.setItem(0, new ItemBuilder(Material.ENDER_PEARL).setDisplayName("§dEnder Perle").removeAllAtributs().build());
|
||||
inv.setItem(1, new ItemBuilder(Material.ELYTRA).setDisplayName("§cJetpack").removeAllAtributs().build());
|
||||
inv.setItem(2, new ItemBuilder(Material.FISHING_ROD).setDisplayName("§eGreifhaken").removeAllAtributs().build());
|
||||
//inv.setItem(3, new ItemBuilder(Material.getMaterial(417)).setDisplayName("<EFBFBD>cTNT Kanone").addEnchantment(Enchantment.DURABILITY, 1).removeAllAtributs().build());
|
||||
|
||||
return inv;
|
||||
}
|
||||
|
||||
|
||||
public static Inventory getArmorInventory() {
|
||||
|
||||
Inventory inv = Bukkit.createInventory(null, 45, "§8Rüstung");
|
||||
|
||||
for(int i = 0; i < inv.getSize(); i++) {
|
||||
inv.setItem(i, new ItemBuilder(Material.STAINED_GLASS_PANE, (short)15).setDisplayName(" ").build());
|
||||
}
|
||||
|
||||
inv.setItem(0, new ItemBuilder(Material.WOOD_HOE).setDisplayName("§0LEDER").removeAllAtributs().build());
|
||||
inv.setItem(2, new ItemBuilder(Material.STONE_SPADE).setDisplayName("§8KETTE").removeAllAtributs().build());
|
||||
inv.setItem(4, new ItemBuilder(Material.IRON_PICKAXE).setDisplayName("§7IRON").removeAllAtributs().build());
|
||||
inv.setItem(6, new ItemBuilder(Material.GOLD_AXE).setDisplayName("§eGOLD").removeAllAtributs().build());
|
||||
inv.setItem(8, new ItemBuilder(Material.DIAMOND_SWORD).setDisplayName("§bDIAMANT").removeAllAtributs().build());
|
||||
|
||||
|
||||
inv.setItem(9, new ItemBuilder(Material.LEATHER_HELMET).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(18, new ItemBuilder(Material.LEATHER_CHESTPLATE).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(27, new ItemBuilder(Material.LEATHER_LEGGINGS).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(36, new ItemBuilder(Material.LEATHER_BOOTS).setDisplayName(" ").removeAllAtributs().build());
|
||||
|
||||
inv.setItem(11, new ItemBuilder(Material.CHAINMAIL_HELMET).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(20, new ItemBuilder(Material.CHAINMAIL_CHESTPLATE).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(29, new ItemBuilder(Material.CHAINMAIL_LEGGINGS).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(38, new ItemBuilder(Material.CHAINMAIL_BOOTS).setDisplayName(" ").removeAllAtributs().build());
|
||||
|
||||
inv.setItem(13, new ItemBuilder(Material.IRON_HELMET).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(22, new ItemBuilder(Material.IRON_CHESTPLATE).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(31, new ItemBuilder(Material.IRON_LEGGINGS).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(40, new ItemBuilder(Material.IRON_BOOTS).setDisplayName(" ").removeAllAtributs().build());
|
||||
|
||||
inv.setItem(15, new ItemBuilder(Material.GOLD_HELMET).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(24, new ItemBuilder(Material.GOLD_CHESTPLATE).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(33, new ItemBuilder(Material.GOLD_LEGGINGS).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(42, new ItemBuilder(Material.GOLD_BOOTS).setDisplayName(" ").removeAllAtributs().build());
|
||||
|
||||
inv.setItem(17, new ItemBuilder(Material.DIAMOND_HELMET).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(26, new ItemBuilder(Material.DIAMOND_CHESTPLATE).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(35, new ItemBuilder(Material.DIAMOND_LEGGINGS).setDisplayName(" ").removeAllAtributs().build());
|
||||
inv.setItem(44, new ItemBuilder(Material.DIAMOND_BOOTS).setDisplayName(" ").removeAllAtributs().build());
|
||||
|
||||
return inv;
|
||||
}
|
||||
|
||||
|
||||
public static Inventory getPartikel() {
|
||||
|
||||
Inventory inv = Bukkit.createInventory(null, 45, "§dPartikel");
|
||||
|
||||
for(int i = 0; i < inv.getSize(); i++) {
|
||||
inv.setItem(i, new ItemBuilder(Material.STAINED_GLASS_PANE, (short)15).setDisplayName(" ").build());
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
return inv;
|
||||
}
|
||||
|
||||
|
||||
public static Inventory getPets() {
|
||||
|
||||
Inventory inv = Bukkit.createInventory(null, 45, "<EFBFBD>8<EFBFBD> <20>ePets <20>8<EFBFBD>");
|
||||
|
||||
for(int i = 0; i < inv.getSize(); i++) {
|
||||
inv.setItem(i, new ItemBuilder(Material.STAINED_GLASS_PANE, (short)15).setDisplayName(" ").build());
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
return inv;
|
||||
}
|
||||
|
||||
|
||||
}
|
39
src/de/steamwar/lobby/inventorys/LobbyInventory.java
Normale Datei
39
src/de/steamwar/lobby/inventorys/LobbyInventory.java
Normale Datei
@ -0,0 +1,39 @@
|
||||
package de.steamwar.lobby.inventorys;
|
||||
|
||||
import de.steamwar.lobby.utils.ItemBuilder;
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class LobbyInventory {
|
||||
|
||||
public static Material PLAYER_HIDER = Material.BLAZE_ROD;
|
||||
public static Material PARTIKEL = Material.NAME_TAG;
|
||||
public static Material ENDERPEARL_USED = Material.FIREWORK_CHARGE;
|
||||
public static Material ENDERPEARL_READY = Material.ENDER_PEARL;
|
||||
|
||||
public static void givePlayerLobbyItems(Player player) {
|
||||
LobbyPlayer lobbyPlayer = LobbyPlayer.getLobbyPlayer(player.getUniqueId());
|
||||
if(lobbyPlayer == null) return;
|
||||
|
||||
player.getInventory().setItem(2, new ItemBuilder(PLAYER_HIDER)
|
||||
.setDisplayName(lobbyPlayer.getHiderState().getName())
|
||||
.setUnbreakable(true)
|
||||
.removeAllAtributs()
|
||||
.build());
|
||||
|
||||
player.getInventory().setItem(4, new ItemBuilder(lobbyPlayer.isEnderPearlUsed() ? ENDERPEARL_USED : ENDERPEARL_READY)
|
||||
.setDisplayName("§5Enderperle")
|
||||
.setUnbreakable(true)
|
||||
.removeAllAtributs()
|
||||
.build());
|
||||
|
||||
player.getInventory().setItem(6, new ItemBuilder(PARTIKEL)
|
||||
.setDisplayName("§6Partikel")
|
||||
.setUnbreakable(true)
|
||||
.removeAllAtributs()
|
||||
.build());
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
package de.steamwar.lobby.inventorys;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.manager.FileManager;
|
||||
import de.steamwar.lobby.utils.ItemBuilder;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
public class LobbyInventorys {
|
||||
|
||||
public static void setLobbyItems(Player player) {
|
||||
Inventory inv = player.getInventory();
|
||||
|
||||
inv.clear();
|
||||
player.getInventory().setArmorContents(null);
|
||||
|
||||
|
||||
FileManager fm = LobbySystem.getInstance().getFileManager();
|
||||
|
||||
//inv.setItem(fm.getIntegerFromConfig("Items.Lobby.Navigator.Slot")-1, new ItemBuilder(Material.valueOf(fm.getStringFromConfig("Items.Lobby.Navigator.ID"))).setDisplayName(fm.getStringFromConfig("Items.Lobby.Navigator.Display").replaceAll("&", "<EFBFBD>")).removeAllAtributs().build());
|
||||
//inv.setItem(fm.getIntegerFromConfig("Items.Lobby.Extras.Slot")-1, new ItemBuilder(Material.valueOf(fm.getStringFromConfig("Items.Lobby.Extras.ID"))).setDisplayName(fm.getStringFromConfig("Items.Lobby.Extras.Display").replaceAll("&", "§")).removeAllAtributs().build());
|
||||
//inv.setItem(fm.getIntegerFromConfig("Items.Lobby.Lobby-Switcher.Slot")-1, new ItemBuilder(Material.valueOf(fm.getStringFromConfig("Items.Lobby.Lobby-Switcher.ID"))).setDisplayName(fm.getStringFromConfig("Items.Lobby.Lobby-Switcher.Display").replaceAll("&", "<EFBFBD>")).removeAllAtributs().build());
|
||||
//inv.setItem(fm.getIntegerFromConfig("Items.Lobby.Hider.Slot")-1, new ItemBuilder(Material.valueOf(fm.getStringFromConfig("Items.Lobby.Hider.ID"))).setDisplayName(fm.getStringFromConfig("Items.Lobby.Hider.Display").replaceAll("&", "§")).removeAllAtributs().build());
|
||||
}
|
||||
|
||||
|
||||
public static Inventory getNavigatorInventory() {
|
||||
String name = LobbySystem.getInstance().getFileManager().getStringFromConfig("Items.Lobby.Navigator.Display").replaceAll("&", "<EFBFBD>").split(" ")[0];
|
||||
Inventory inv = Bukkit.createInventory(null, 45, name);
|
||||
|
||||
for(int i = 0; i < inv.getSize(); i++) {
|
||||
inv.setItem(i, new ItemBuilder(Material.STAINED_GLASS_PANE, (short)15).setDisplayName(" ").build());
|
||||
}
|
||||
|
||||
//inv.setItem(22, new ItemBuilder(Material.MAGMA_CREAM).setDisplayName("<EFBFBD>8<EFBFBD> <20>6Spawn <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
//inv.setItem(2, new ItemBuilder(Material.ELYTRA).setDisplayName("<EFBFBD>8<EFBFBD> <20>3AirShip <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
//inv.setItem(6, new ItemBuilder(Material.CHEST).setDisplayName("<EFBFBD>8<EFBFBD> <20>aMiniGames <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
//inv.setItem(19, new ItemBuilder(Material.TNT).setDisplayName("<EFBFBD>8<EFBFBD> <20>9WarGear <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
//inv.setItem(25, new ItemBuilder(Material.WOOD_SWORD).setDisplayName("<EFBFBD>8<EFBFBD> <20>2Survival <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
//inv.setItem(38, new ItemBuilder(Material.EXPLOSIVE_MINECART).setDisplayName("<EFBFBD>8<EFBFBD> <20>bMini WarGear <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
//inv.setItem(40, new ItemBuilder(Material.GOLD_NUGGET).setDisplayName("<EFBFBD>8<EFBFBD> <20>eT<65>gliche Belohnung <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
//inv.setItem(42, new ItemBuilder(Material.BOWL).setDisplayName("<EFBFBD>8<EFBFBD> <20>dBattleBox <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
return inv;
|
||||
}
|
||||
|
||||
|
||||
public static Inventory ExtrasInventory() {
|
||||
String name = LobbySystem.getInstance().getFileManager().getStringFromConfig("Items.Lobby.Extras.Display").replaceAll("&", "<EFBFBD>").split(" ")[0];
|
||||
Inventory inv = Bukkit.createInventory(null, 45, name);
|
||||
|
||||
for(int i = 0; i < inv.getSize(); i++) {
|
||||
inv.setItem(i, new ItemBuilder(Material.STAINED_GLASS_PANE, (short)15).setDisplayName(" ").build());
|
||||
}
|
||||
|
||||
inv.setItem(0, new ItemBuilder(Material.IRON_CHESTPLATE).setDisplayName("§9Rüstung").removeAllAtributs().build());
|
||||
|
||||
inv.setItem(9, new ItemBuilder(Material.PISTON_BASE).setDisplayName("§aGadgets").build());
|
||||
|
||||
inv.setItem(18, new ItemBuilder(Material.NETHER_STAR).setDisplayName("§dPartikel").build());
|
||||
|
||||
inv.setItem(27, new ItemBuilder(Material.BONE).setDisplayName("§ePets").build());
|
||||
|
||||
return inv;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static Inventory PlayerHideInventory(Player player) {
|
||||
String name = "§9Spieler Verstecken";
|
||||
Inventory inv = Bukkit.createInventory(null, InventoryType.BREWING, name);
|
||||
inv.setItem(0, new ItemBuilder(Material.INK_SACK, (short)10).setDisplayName("§aAlle Spieler").removeAllAtributs().build());
|
||||
inv.setItem(1, new ItemBuilder(Material.INK_SACK, (short)5).setDisplayName("§5YouTuber/ Teammitglieder").removeAllAtributs().build());
|
||||
inv.setItem(2, new ItemBuilder(Material.INK_SACK, (short)8).setDisplayName("§7Keine Spieler").removeAllAtributs().build());
|
||||
|
||||
//if(BackendManager.hideAll.contains(player)) inv.setItem(3, new ItemBuilder(Material.INK_SACK, (short)8).setDisplayName("<EFBFBD>8<EFBFBD> <20>7Keine Spieler <20>8<EFBFBD>").removeAllAtributs().build());
|
||||
//if(BackendManager.hideUsers.contains(player)) inv.setItem(3, new ItemBuilder(Material.INK_SACK, (short)5).setDisplayName("<EFBFBD>7Aktuell <20>8<EFBFBD> <20>5YouTuber/ Teammitglieder <20>8<EFBFBD>").addEnchantment(Enchantment.DURABILITY, 1).removeAllAtributs().build());
|
||||
//if(!(BackendManager.hideAll.contains(player) && BackendManager.hideUsers.contains(player))) inv.setItem(3, new ItemBuilder(Material.INK_SACK, (short)10).setDisplayName("<EFBFBD>7Aktuell <20>8<EFBFBD> <20>aAlle Spieler").addEnchantment(Enchantment.DURABILITY, 1).removeAllAtributs().build());
|
||||
|
||||
|
||||
inv.setItem(4, new ItemBuilder(Material.TNT).setDisplayName("§cSilentLobby").removeAllAtributs().build());
|
||||
|
||||
|
||||
return inv;
|
||||
|
||||
}
|
||||
|
||||
}
|
65
src/de/steamwar/lobby/inventorys/ParticleInventory.java
Normale Datei
65
src/de/steamwar/lobby/inventorys/ParticleInventory.java
Normale Datei
@ -0,0 +1,65 @@
|
||||
package de.steamwar.lobby.inventorys;
|
||||
|
||||
import de.steamwar.inventory.SWInventory;
|
||||
import de.steamwar.inventory.SWItem;
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ParticleInventory {
|
||||
|
||||
public static void openParticleInventory(Player player) {
|
||||
LobbyPlayer lobbyPlayer = LobbyPlayer.getLobbyPlayer(player.getUniqueId());
|
||||
if(lobbyPlayer == null) return;
|
||||
|
||||
SWInventory swInventory = new SWInventory(player, 9 * 1, "§6Partikel");
|
||||
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§aKlicken zum Auswählen");
|
||||
|
||||
SWItem smoke = new SWItem(Material.WEB, "§7Smoke", lore, false, clickType -> {
|
||||
lobbyPlayer.setParticle(Effect.SMOKE);
|
||||
player.closeInventory();
|
||||
});
|
||||
|
||||
SWItem fire = new SWItem(Material.LAVA_BUCKET, "§cFeuer", lore, false, clickType -> {
|
||||
lobbyPlayer.setParticle(Effect.LAVA_POP);
|
||||
player.closeInventory();
|
||||
});
|
||||
|
||||
SWItem heart = new SWItem(Material.INK_SACK, (byte) 1, "§cHerzen", lore, false, clickType -> {
|
||||
lobbyPlayer.setParticle(Effect.HEART);
|
||||
player.closeInventory();
|
||||
});
|
||||
|
||||
SWItem water = new SWItem(Material.WATER_BUCKET, "§bWasser", lore, false, clickType -> {
|
||||
lobbyPlayer.setParticle(Effect.WATERDRIP);
|
||||
player.closeInventory();
|
||||
});
|
||||
|
||||
SWItem note = new SWItem(Material.NOTE_BLOCK, "§eNoten", lore, false, clickType -> {
|
||||
lobbyPlayer.setParticle(Effect.NOTE);
|
||||
player.closeInventory();
|
||||
});
|
||||
|
||||
SWItem reset = new SWItem(Material.BARRIER, "§8Keine Partikel", lore, false, clickType -> {
|
||||
lobbyPlayer.setParticle(null);
|
||||
player.closeInventory();
|
||||
});
|
||||
|
||||
swInventory.setItem(1, smoke);
|
||||
swInventory.setItem(2, fire);
|
||||
swInventory.setItem(3, heart);
|
||||
swInventory.setItem(4, water);
|
||||
swInventory.setItem(5, note);
|
||||
swInventory.setItem(8, reset);
|
||||
|
||||
swInventory.open();
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.manager.BackendManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
import org.bukkit.event.weather.WeatherChangeEvent;
|
||||
|
||||
public class BlockListener implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onDamage(EntityDamageEvent event) {
|
||||
if(event.getEntity() instanceof Player)
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onPlayerDropItem(PlayerDropItemEvent event) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onFoodChange(FoodLevelChangeEvent event) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onBuild(BlockPlaceEvent event) {
|
||||
if(!BackendManager.canBuild.contains(event.getPlayer())) event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(BlockBreakEvent event) {
|
||||
if(!BackendManager.canBuild.contains(event.getPlayer())) event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onwehthgerChange(WeatherChangeEvent event) {
|
||||
event.setCancelled(true);
|
||||
|
||||
}
|
||||
|
||||
}
|
58
src/de/steamwar/lobby/listener/DoubleJumpListener.java
Normale Datei
58
src/de/steamwar/lobby/listener/DoubleJumpListener.java
Normale Datei
@ -0,0 +1,58 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
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 DoubleJumpListener implements Listener {
|
||||
|
||||
double multiplyer = 1.4;
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
player.setAllowFlight(true);
|
||||
player.setFlying(false);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerToggleFlight(PlayerToggleFlightEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if(LobbyPlayer.getLobbyPlayer(player.getUniqueId()).isFly())
|
||||
return;
|
||||
|
||||
event.setCancelled(true);
|
||||
player.setAllowFlight(false);
|
||||
player.setFlying(false);
|
||||
|
||||
Vector direction = player.getLocation().getDirection();
|
||||
direction.setX(direction.getX() * multiplyer);
|
||||
direction.setY(direction.getY() * (multiplyer / 2));
|
||||
direction.setZ(direction.getZ() * multiplyer);
|
||||
|
||||
player.setVelocity(direction.add(new Vector(0, 1.2, 0)));
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_FIREWORK_LAUNCH, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerMove(PlayerMoveEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if(LobbyPlayer.getLobbyPlayer(player.getUniqueId()).isFly())
|
||||
return;
|
||||
|
||||
if(player.getLocation().add(0, -1, 0).getBlock().getType() == Material.AIR)
|
||||
return;
|
||||
|
||||
player.setAllowFlight(true);
|
||||
player.setFlying(false);
|
||||
}
|
||||
|
||||
|
||||
}
|
65
src/de/steamwar/lobby/listener/EnderPearlListener.java
Normale Datei
65
src/de/steamwar/lobby/listener/EnderPearlListener.java
Normale Datei
@ -0,0 +1,65 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.inventorys.LobbyInventory;
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.EnderPearl;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.event.vehicle.VehicleExitEvent;
|
||||
|
||||
public class EnderPearlListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL)
|
||||
public void handlePlayerInteract(PlayerInteractEvent event) {
|
||||
if(event.getMaterial() != LobbyInventory.ENDERPEARL_READY) return;
|
||||
Action action = event.getAction();
|
||||
if(action != Action.RIGHT_CLICK_AIR && action != Action.RIGHT_CLICK_BLOCK) return;
|
||||
|
||||
event.setCancelled(true);
|
||||
|
||||
Player player = event.getPlayer();
|
||||
LobbyPlayer lobbyPlayer = LobbyPlayer.getLobbyPlayer(player.getUniqueId());
|
||||
lobbyPlayer.setEnderPearlUsed(true);
|
||||
|
||||
EnderPearl enderPearl = player.launchProjectile(EnderPearl.class);
|
||||
enderPearl.setPassenger(player);
|
||||
|
||||
LobbyInventory.givePlayerLobbyItems(player);
|
||||
|
||||
Bukkit.getScheduler().runTaskLater(LobbySystem.getInstance(), () -> {
|
||||
lobbyPlayer.setEnderPearlUsed(false);
|
||||
|
||||
if(player == null) //in case of player leave
|
||||
return;
|
||||
LobbyInventory.givePlayerLobbyItems(player);
|
||||
}, 20 * 5);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void handleVehicleExit(VehicleExitEvent event) {
|
||||
if(!(event.getExited() instanceof Player))
|
||||
return;
|
||||
Player player = (Player) event.getExited();
|
||||
LobbyPlayer lobbyPlayer = LobbyPlayer.getLobbyPlayer(player.getUniqueId());
|
||||
|
||||
lobbyPlayer.setEnderPearlUsed(false);
|
||||
LobbyInventory.givePlayerLobbyItems(player);
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1.0F, 0.5F);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL)
|
||||
public void handlePlayerTeleport(PlayerTeleportEvent event) {
|
||||
if(event.getCause() != PlayerTeleportEvent.TeleportCause.ENDER_PEARL) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.gadgets.Gadget;
|
||||
import net.minecraft.server.v1_12_R1.PacketPlayOutExplosion;
|
||||
import net.minecraft.server.v1_12_R1.Vec3D;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Snowball;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
public class EntityDamageByEntityEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handleProjectileHit(org.bukkit.event.entity.EntityDamageByEntityEvent event) {
|
||||
if(event.getDamager() instanceof Snowball) {
|
||||
event.setCancelled(true);
|
||||
if(((Snowball) event.getDamager()).getShooter() instanceof Player) {
|
||||
Player player = ((Player) ((Snowball) event.getDamager()).getShooter()).getPlayer();
|
||||
|
||||
if(LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.TNT_CANNON) {
|
||||
for(Player allPlayers : Bukkit.getServer().getOnlinePlayers()) {
|
||||
((CraftPlayer)allPlayers).getHandle().playerConnection.sendPacket(new PacketPlayOutExplosion(event.getDamager().getLocation().getBlockX(), event.getDamager().getLocation().getBlockY(), event.getDamager().getLocation().getBlockZ(), Float.MAX_VALUE, Collections.EMPTY_LIST, new Vec3D(2.5, 2.5, 2.5)));
|
||||
}
|
||||
player.getWorld().playSound(event.getDamager().getLocation(), Sound.ENTITY_ENDERDRAGON_FIREBALL_EXPLODE, 1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.gadgets.Gadget;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Fish;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerFishEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class FishEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerFish(PlayerFishEvent event) {
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if(LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.HOOK) {
|
||||
Fish fish = event.getHook();
|
||||
if(((event.getState().equals(PlayerFishEvent.State.IN_GROUND)) || (event.getState().equals(PlayerFishEvent.State.CAUGHT_ENTITY)) || (event.getState().equals(PlayerFishEvent.State.FAILED_ATTEMPT))) && (Bukkit.getWorld(event.getPlayer().getWorld().getName()).getBlockAt(fish.getLocation().getBlockX(), fish.getLocation().getBlockY() - 1, fish.getLocation().getBlockZ()).getType() != Material.AIR) && (Bukkit.getWorld(event.getPlayer().getWorld().getName()).getBlockAt(fish.getLocation().getBlockX(), fish.getLocation().getBlockY() - 1, fish.getLocation().getBlockZ()).getType() != Material.STATIONARY_WATER)) {
|
||||
|
||||
Location location = player.getLocation();
|
||||
Location to = event.getHook().getLocation();
|
||||
location.setY(location.getY() + 0.8D);
|
||||
player.teleport(location);
|
||||
|
||||
double t = to.distance(location);
|
||||
double v_x = (1.0D + 0.07D * t) * (to.getX() - location.getX()) / t;
|
||||
double v_y = (1.0D + 0.03D * t) * (to.getY() - location.getY()) / t - -0.04D * t;
|
||||
double v_z = (1.0D + 0.07D * t) * (to.getZ() - location.getZ()) / t;
|
||||
|
||||
Vector vector = player.getVelocity();
|
||||
vector.setX(v_x);
|
||||
vector.setY(v_y);
|
||||
vector.setZ(v_z);
|
||||
|
||||
player.setVelocity(vector);
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.manager.BackendManager;
|
||||
import de.steamwar.lobby.manager.FileManager;
|
||||
import de.warking.hunjy.Core;
|
||||
import de.steamwar.lobby.inventorys.LobbyInventorys;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
public class JoinEvent implements Listener {
|
||||
|
||||
public BackendManager backend = LobbySystem.getInstance().getBackendManager();
|
||||
public FileManager fm = LobbySystem.getInstance().getFileManager();
|
||||
|
||||
@EventHandler
|
||||
private void onJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
|
||||
if(backend.allowJoinMessage) {
|
||||
|
||||
if(backend.allowFisrtJoinMessage) {
|
||||
if(!player.hasPlayedBefore()) {
|
||||
event.setJoinMessage(backend.FisrtJoinMessage);
|
||||
}
|
||||
}
|
||||
event.setJoinMessage(backend.JoinMessage.replaceAll("%player%", player.getName()));
|
||||
}else {
|
||||
event.setJoinMessage(null);
|
||||
}
|
||||
|
||||
player.teleport(LobbySystem.getInstance().getLocationManager().loadLocation("main.lobby"));
|
||||
LobbyInventorys.setLobbyItems(player);
|
||||
player.setGameMode(GameMode.ADVENTURE);
|
||||
|
||||
//hider
|
||||
for(Player workPlayer : BackendManager.hideAll) {
|
||||
workPlayer.hidePlayer(player);
|
||||
}
|
||||
|
||||
for(Player workPlayer : BackendManager.hideUsers) {
|
||||
if(Core.getInstance().getPlayerManager(player).getGroupName().equalsIgnoreCase("member"))
|
||||
workPlayer.hidePlayer(player);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,75 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.gadgets.Gadget;
|
||||
import de.steamwar.lobby.manager.FileManager;
|
||||
import de.steamwar.lobby.utils.ItemBuilder;
|
||||
import de.steamwar.lobby.inventorys.LobbyInventorys;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Snowball;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
|
||||
public class LobbyInteractListener implements Listener {
|
||||
|
||||
|
||||
// <EFBFBD><EFBFBD>
|
||||
|
||||
public FileManager fm = LobbySystem.getInstance().getFileManager();
|
||||
|
||||
@EventHandler
|
||||
private void onInteract(PlayerInteractEvent event) {
|
||||
if(event.getItem() != null) {
|
||||
Player player = event.getPlayer();
|
||||
if(event.getItem().getType() == Material.valueOf(fm.getStringFromConfig("Items.Lobby.Navigator.ID"))) {
|
||||
player.openInventory(LobbyInventorys.getNavigatorInventory());
|
||||
event.setCancelled(true);
|
||||
}else if(event.getItem().getType() == Material.valueOf(fm.getStringFromConfig("Items.Lobby.Hider.ID"))) {
|
||||
player.openInventory(LobbyInventorys.PlayerHideInventory(player));
|
||||
event.setCancelled(true);
|
||||
}else if(event.getItem().getType() == Material.valueOf(fm.getStringFromConfig("Items.Lobby.Extras.ID"))) {
|
||||
player.openInventory(LobbyInventorys.ExtrasInventory());
|
||||
event.setCancelled(true);
|
||||
} else if(event.getItem().getType() == Material.ELYTRA && event.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cJetpack")) {
|
||||
event.setCancelled(true);
|
||||
} else if(event.getItem().getType() ==Material.getMaterial(417) && event.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§cTNT Kanone")) {
|
||||
shootTNTCanon(player);
|
||||
}
|
||||
} else
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void shootTNTCanon(Player player) {
|
||||
if(LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.TNT_CANNON && LobbySystem.getInstance().getGadgetManager().hasPlayerGadgetCooldown(player) == false) {
|
||||
|
||||
Snowball snowball = player.getWorld().spawn(player.getEyeLocation(), Snowball.class);
|
||||
snowball.setVelocity(player.getLocation().getDirection().multiply(1.6));
|
||||
snowball.setShooter(player);
|
||||
player.getWorld().playSound(player.getLocation(), Sound.ENTITY_IRONGOLEM_ATTACK, 1, 1);
|
||||
addCooldown(player, Gadget.TNT_CANNON);
|
||||
player.getInventory().setItem(5, new ItemBuilder(Material.INK_SACK, (short)8).setDisplayName("§6Warten...").removeAllAtributs().build());
|
||||
player.getItemInHand().getItemMeta().setUnbreakable(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void addCooldown(final Player player, Gadget gadget) {
|
||||
LobbySystem.getInstance().getGadgetManager().setPlayerGadgetCooldown(player, gadget);
|
||||
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(LobbySystem.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
LobbySystem.getInstance().getGadgetManager().removePlayerGadgetCooldown(player);
|
||||
if(LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.TNT_CANNON) player.getInventory().setItem(5, new ItemBuilder(Material.getMaterial(417)).setDisplayName("§cTNT Kanone").addEnchantment(Enchantment.DURABILITY, 1).removeAllAtributs().build());
|
||||
}
|
||||
}, 20*10);
|
||||
}
|
||||
|
||||
}
|
@ -1,278 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.gadgets.Gadget;
|
||||
import de.steamwar.lobby.manager.BackendManager;
|
||||
import de.steamwar.lobby.manager.FileManager;
|
||||
import de.steamwar.lobby.utils.ItemBuilder;
|
||||
import de.warking.hunjy.Core;
|
||||
import de.steamwar.lobby.inventorys.ExtrasInventorys;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
|
||||
public class LobbyInvClickManager implements Listener{
|
||||
|
||||
public static ArrayList<Player> inSetup = new ArrayList<Player>();
|
||||
public FileManager fm = LobbySystem.getInstance().getFileManager();
|
||||
|
||||
@EventHandler
|
||||
private void onInvClick(InventoryClickEvent event) {
|
||||
Player player = (Player)event.getWhoClicked();
|
||||
if(!BackendManager.canBuild.contains(player)) {
|
||||
event.setCancelled(true);
|
||||
} else {
|
||||
player.closeInventory();
|
||||
player.sendMessage(LobbySystem.prefix + "Du kannst im Builder Modus keine Tools nutzen nutzen!");
|
||||
}
|
||||
|
||||
//inSetup
|
||||
if(inSetup.contains(player)) {
|
||||
if(event.getCurrentItem() == null || event.getClickedInventory() == null || event.getClickedInventory() == player.getOpenInventory().getBottomInventory())return;
|
||||
|
||||
Material mat = event.getCurrentItem().getType();
|
||||
String name = event.getCurrentItem().getItemMeta().getDisplayName();
|
||||
String msg = LobbySystem.getInstance().getBackendManager().SetLobbyMessage.replaceAll("%display%", name);
|
||||
switch (mat) {
|
||||
case MAGMA_CREAM:
|
||||
player.closeInventory();
|
||||
LobbySystem.getInstance().getLocationManager().saveLocation("main.lobby", player.getLocation());
|
||||
player.sendMessage(msg);
|
||||
inSetup.remove(player);
|
||||
break;
|
||||
case ELYTRA:
|
||||
player.closeInventory();
|
||||
LobbySystem.getInstance().getLocationManager().saveLocation("navigation.airship", player.getLocation());
|
||||
player.sendMessage(msg);
|
||||
inSetup.remove(player);
|
||||
break;
|
||||
case CHEST:
|
||||
player.closeInventory();
|
||||
LobbySystem.getInstance().getLocationManager().saveLocation("navigation.minigame", player.getLocation());
|
||||
player.sendMessage(msg);
|
||||
inSetup.remove(player);
|
||||
break;
|
||||
case TNT:
|
||||
player.closeInventory();
|
||||
LobbySystem.getInstance().getLocationManager().saveLocation("navigation.wargear", player.getLocation());
|
||||
player.sendMessage(msg);
|
||||
inSetup.remove(player);
|
||||
break;
|
||||
case WOOD_SWORD:
|
||||
player.closeInventory();
|
||||
LobbySystem.getInstance().getLocationManager().saveLocation("navigation.survival", player.getLocation());
|
||||
player.sendMessage(msg);
|
||||
inSetup.remove(player);
|
||||
break;
|
||||
case EXPLOSIVE_MINECART:
|
||||
player.closeInventory();
|
||||
LobbySystem.getInstance().getLocationManager().saveLocation("navigation.miniwargear", player.getLocation());
|
||||
player.sendMessage(msg);
|
||||
inSetup.remove(player);
|
||||
break;
|
||||
case GOLD_NUGGET:
|
||||
player.closeInventory();
|
||||
LobbySystem.getInstance().getLocationManager().saveLocation("navigation.tb", player.getLocation());
|
||||
player.sendMessage(msg);
|
||||
inSetup.remove(player);
|
||||
break;
|
||||
case BOWL:
|
||||
player.closeInventory();
|
||||
LobbySystem.getInstance().getLocationManager().saveLocation("navigation.battlebox", player.getLocation());
|
||||
player.sendMessage(msg);
|
||||
inSetup.remove(player);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}else {
|
||||
|
||||
if(event.getCurrentItem() == null || event.getClickedInventory() == null || event.getClickedInventory() == player.getOpenInventory().getBottomInventory())return;
|
||||
|
||||
Material material = event.getCurrentItem().getType();
|
||||
String materialName = event.getCurrentItem().getItemMeta().getDisplayName();
|
||||
|
||||
//navigator
|
||||
|
||||
String navigatorName = fm.getStringFromConfig("Items.Lobby.Navigator.Display").replaceAll("&", "§");
|
||||
|
||||
if(event.getClickedInventory().getType() == InventoryType.CHEST && event.getClickedInventory().getName().equals(navigatorName)) {
|
||||
|
||||
switch (materialName) {
|
||||
|
||||
case "§6Spawn":
|
||||
player.teleport(LobbySystem.getInstance().getLocationManager().loadLocation("main.lobby"));
|
||||
break;
|
||||
case "§3AirShip":
|
||||
player.teleport(LobbySystem.getInstance().getLocationManager().loadLocation("navigation.airship"));
|
||||
break;
|
||||
case "§aMiniGames":
|
||||
player.teleport(LobbySystem.getInstance().getLocationManager().loadLocation("navigation.minigame"));
|
||||
break;
|
||||
case "§9WarGear":
|
||||
player.teleport(LobbySystem.getInstance().getLocationManager().loadLocation("navigation.wargear"));
|
||||
break;
|
||||
case "§2Survival":
|
||||
player.teleport(LobbySystem.getInstance().getLocationManager().loadLocation("navigation.survival"));
|
||||
break;
|
||||
case "§bMini WarGear":
|
||||
player.teleport(LobbySystem.getInstance().getLocationManager().loadLocation("navigation.miniwargear"));
|
||||
break;
|
||||
case "§eTägliche Belohnung":
|
||||
player.teleport(LobbySystem.getInstance().getLocationManager().loadLocation("navigation.tb"));
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
//hide players
|
||||
|
||||
String hiderName = fm.getStringFromConfig("Items.Lobby.Hider.Display").replaceAll("&", "§");
|
||||
|
||||
if (event.getClickedInventory().getType() == InventoryType.BREWING && event.getClickedInventory().getName().equals(hiderName)) {
|
||||
|
||||
switch (materialName) {
|
||||
|
||||
case "§aAlle Spieler":
|
||||
for (Player allPlayers : Bukkit.getServer().getOnlinePlayers()) {
|
||||
player.showPlayer(allPlayers);
|
||||
}
|
||||
if(BackendManager.hideUsers.contains(player)) BackendManager.hideUsers.remove(player);
|
||||
if(BackendManager.hideAll.contains(player)) BackendManager.hideAll.remove(player);
|
||||
//event.getInventory().setItem(3, new ItemBuilder(Material.INK_SACK, (short)10).setDisplayName("§7Aktuell §8§ §aAlle Spieler").addEnchantment(Enchantment.DURABILITY, 1).removeAllAtributs().build());
|
||||
break;
|
||||
case "§5YouTuber/ Teammitglieder":
|
||||
for (Player allPlayers : Bukkit.getServer().getOnlinePlayers()) {
|
||||
if (Core.getInstance().getPlayerManager(allPlayers).getGroupName().equalsIgnoreCase("member")) {
|
||||
player.hidePlayer(allPlayers);
|
||||
} else
|
||||
player.showPlayer(allPlayers);
|
||||
}
|
||||
if(BackendManager.hideAll.contains(player)) BackendManager.hideAll.remove(player);
|
||||
if(!BackendManager.hideUsers.contains(player)) BackendManager.hideUsers.add(player);
|
||||
//event.getInventory().setItem(3, new ItemBuilder(Material.INK_SACK, (short)5).setDisplayName("§7Aktuell §8§ §5YouTuber/ Teammitglieder §8§").addEnchantment(Enchantment.DURABILITY, 1).removeAllAtributs().build());
|
||||
break;
|
||||
case "§7Keine Spieler":
|
||||
for (Player allPlayers : Bukkit.getServer().getOnlinePlayers()) {
|
||||
player.hidePlayer(allPlayers);
|
||||
}
|
||||
if(!BackendManager.hideAll.contains(player)) BackendManager.hideAll.add(player);
|
||||
if(BackendManager.hideUsers.contains(player)) BackendManager.hideUsers.remove(player);
|
||||
//event.getInventory().setItem(3, new ItemBuilder(Material.INK_SACK, (short)8).setDisplayName("§7Aktuell §8§ §7Keine Spieler §8§").addEnchantment(Enchantment.DURABILITY, 1).removeAllAtributs().build());
|
||||
break;
|
||||
case "§cSilentLobby":
|
||||
//change server
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
//Extras
|
||||
String extrasName = fm.getStringFromConfig("Items.Lobby.Extras.Display").replaceAll("&", "§").split(" ")[0];
|
||||
if (event.getClickedInventory().getType() == InventoryType.CHEST && event.getClickedInventory().getName().equals(extrasName)) {
|
||||
switch (materialName) {
|
||||
|
||||
case "§9Rüstung":
|
||||
player.openInventory(ExtrasInventorys.getArmorInventory());
|
||||
break;
|
||||
case "§aGadgets":
|
||||
player.openInventory(ExtrasInventorys.getGadgets());
|
||||
break;
|
||||
case "§dPartikel":
|
||||
player.openInventory(ExtrasInventorys.getPartikel());
|
||||
break;
|
||||
case "§ePets":
|
||||
player.openInventory(ExtrasInventorys.getPets());
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if(event.getClickedInventory().getType() == InventoryType.CHEST && event.getClickedInventory().getName().equals("§9Rüstung")) {
|
||||
|
||||
switch (materialName) {
|
||||
|
||||
case "§0LEDER":
|
||||
player.getInventory().setHelmet(new ItemBuilder(Material.LEATHER_HELMET).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setChestplate(new ItemBuilder(Material.LEATHER_CHESTPLATE).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setLeggings(new ItemBuilder(Material.LEATHER_LEGGINGS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setBoots(new ItemBuilder(Material.LEATHER_BOOTS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
break;
|
||||
case "§8KETTE":
|
||||
player.getInventory().setHelmet(new ItemBuilder(Material.CHAINMAIL_HELMET).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setChestplate(new ItemBuilder(Material.CHAINMAIL_CHESTPLATE).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setLeggings(new ItemBuilder(Material.CHAINMAIL_LEGGINGS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setBoots(new ItemBuilder(Material.CHAINMAIL_BOOTS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
break;
|
||||
case "§7IRON":
|
||||
player.getInventory().setHelmet(new ItemBuilder(Material.IRON_HELMET).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setChestplate(new ItemBuilder(Material.IRON_CHESTPLATE).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setLeggings(new ItemBuilder(Material.IRON_LEGGINGS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setBoots(new ItemBuilder(Material.IRON_BOOTS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
break;
|
||||
case "§eGOLD":
|
||||
player.getInventory().setHelmet(new ItemBuilder(Material.GOLD_HELMET).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setChestplate(new ItemBuilder(Material.GOLD_CHESTPLATE).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setLeggings(new ItemBuilder(Material.GOLD_LEGGINGS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setBoots(new ItemBuilder(Material.GOLD_BOOTS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
break;
|
||||
case "§bDIAMANT":
|
||||
player.getInventory().setHelmet(new ItemBuilder(Material.DIAMOND_HELMET).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setChestplate(new ItemBuilder(Material.DIAMOND_CHESTPLATE).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setLeggings(new ItemBuilder(Material.DIAMOND_LEGGINGS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
player.getInventory().setBoots(new ItemBuilder(Material.DIAMOND_BOOTS).setDisplayName(" ").setUnbreakable(true).removeAllAtributs().build());
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
//Gadgets
|
||||
if(event.getClickedInventory().getType() == InventoryType.CHEST && event.getClickedInventory().getName().equals("§8§ §aGadgets §8§")) {
|
||||
|
||||
switch (materialName) {
|
||||
|
||||
case "§dEnder Perle":
|
||||
player.getInventory().setItem(5, new ItemBuilder(Material.ENDER_PEARL).setDisplayName("§dEnder Perle").removeAllAtributs().build());
|
||||
if(LobbySystem.getInstance().getGadgetManager().hasPlayerGadget(player)) LobbySystem.getInstance().getGadgetManager().removePlayerGadget(player);
|
||||
LobbySystem.getInstance().getGadgetManager().setPlayerGadget(player, Gadget.ENDER_PEARL);
|
||||
player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_USE, 1, 100);
|
||||
player.updateInventory();
|
||||
break;
|
||||
case "§cJetpack":
|
||||
player.getInventory().setItem(5, new ItemBuilder(Material.ELYTRA).setDisplayName("§cJetpack").setUnbreakable(true).removeAllAtributs().build());
|
||||
if(LobbySystem.getInstance().getGadgetManager().hasPlayerGadget(player)) LobbySystem.getInstance().getGadgetManager().removePlayerGadget(player);
|
||||
LobbySystem.getInstance().getGadgetManager().setPlayerGadget(player, Gadget.JETPACK);
|
||||
player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_USE, 1, 100);
|
||||
player.updateInventory();
|
||||
break;
|
||||
case "§eGreifhaken":
|
||||
player.getInventory().setItem(5, new ItemBuilder(Material.FISHING_ROD).setDisplayName("§eGreifhaken").setUnbreakable(true).removeAllAtributs().build());
|
||||
if(LobbySystem.getInstance().getGadgetManager().hasPlayerGadget(player)) LobbySystem.getInstance().getGadgetManager().removePlayerGadget(player);
|
||||
LobbySystem.getInstance().getGadgetManager().setPlayerGadget(player, Gadget.HOOK);
|
||||
player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_USE, 1, 100);
|
||||
player.updateInventory();
|
||||
break;
|
||||
case "§cTNT Kanone":
|
||||
player.getInventory().setItem(5, new ItemBuilder(Material.getMaterial(417)).setDisplayName("§cTNT Kanone").setUnbreakable(true).addEnchantment(Enchantment.DURABILITY, 1).removeAllAtributs().build());
|
||||
if(LobbySystem.getInstance().getGadgetManager().hasPlayerGadget(player)) LobbySystem.getInstance().getGadgetManager().removePlayerGadget(player);
|
||||
LobbySystem.getInstance().getGadgetManager().setPlayerGadget(player, Gadget.TNT_CANNON);
|
||||
player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_USE, 1, 100);
|
||||
player.updateInventory();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
34
src/de/steamwar/lobby/listener/ParticleListener.java
Normale Datei
34
src/de/steamwar/lobby/listener/ParticleListener.java
Normale Datei
@ -0,0 +1,34 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.inventorys.LobbyInventory;
|
||||
import de.steamwar.lobby.inventorys.ParticleInventory;
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
public class ParticleListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL)
|
||||
public void handlePlayerInteract(PlayerInteractEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if(event.getMaterial() != LobbyInventory.PARTIKEL)
|
||||
return;
|
||||
|
||||
ParticleInventory.openParticleInventory(player);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerMove(PlayerMoveEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
LobbyPlayer lobbyPlayer = LobbyPlayer.getLobbyPlayer(player.getUniqueId());
|
||||
if(lobbyPlayer == null || lobbyPlayer.getParticle() == null) return;
|
||||
|
||||
player.getWorld().playEffect(player.getLocation().add(0.0D, 0.2D, 0.0D), lobbyPlayer.getParticle(), 5);
|
||||
}
|
||||
|
||||
|
||||
}
|
77
src/de/steamwar/lobby/listener/PlayerHiderListener.java
Normale Datei
77
src/de/steamwar/lobby/listener/PlayerHiderListener.java
Normale Datei
@ -0,0 +1,77 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.inventorys.LobbyInventory;
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import de.steamwar.sql.SteamwarUser;
|
||||
import de.steamwar.sql.UserGroup;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
public class PlayerHiderListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL)
|
||||
public void handlePlayerInteract(PlayerInteractEvent event) {
|
||||
Material material = event.getMaterial();
|
||||
if(material != LobbyInventory.PLAYER_HIDER)
|
||||
return;
|
||||
|
||||
Player player = event.getPlayer();
|
||||
LobbyPlayer.getLobbyPlayer(player.getUniqueId()).nexthHiderState();
|
||||
updateHider(player);
|
||||
LobbyInventory.givePlayerLobbyItems(event.getPlayer());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerJoin(PlayerJoinEvent event) {
|
||||
updateHider(event.getPlayer());
|
||||
}
|
||||
|
||||
private void updateHider(Player player) {
|
||||
LobbyPlayer.PlayerHiderState hiderState = LobbyPlayer.getLobbyPlayer(player.getUniqueId()).getHiderState();
|
||||
|
||||
Bukkit.getServer().getOnlinePlayers().forEach(currentPlayer -> {
|
||||
if(currentPlayer.getUniqueId().equals(player.getUniqueId())) return;
|
||||
|
||||
switch (hiderState) {
|
||||
case SHOW_ALL:
|
||||
player.showPlayer(currentPlayer);
|
||||
break;
|
||||
case SHOW_TEAM:
|
||||
UserGroup userGroup = SteamwarUser.get(currentPlayer.getUniqueId()).getUserGroup();
|
||||
if(userGroup == UserGroup.Member)
|
||||
player.hidePlayer(currentPlayer);
|
||||
else
|
||||
player.showPlayer(currentPlayer);
|
||||
break;
|
||||
case SHOW_NOBODY:
|
||||
player.hidePlayer(currentPlayer);
|
||||
break;
|
||||
}
|
||||
|
||||
LobbyPlayer.PlayerHiderState cpHiderState = LobbyPlayer.getLobbyPlayer(currentPlayer.getUniqueId()).getHiderState();
|
||||
switch (cpHiderState) {
|
||||
case SHOW_ALL:
|
||||
currentPlayer.showPlayer(player);
|
||||
break;
|
||||
case SHOW_TEAM:
|
||||
UserGroup userGroup = SteamwarUser.get(player.getUniqueId()).getUserGroup();
|
||||
if(userGroup == UserGroup.Member)
|
||||
currentPlayer.hidePlayer(player);
|
||||
else
|
||||
currentPlayer.showPlayer(player);
|
||||
break;
|
||||
case SHOW_NOBODY:
|
||||
currentPlayer.hidePlayer(player);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
28
src/de/steamwar/lobby/listener/PlayerInventoryListener.java
Normale Datei
28
src/de/steamwar/lobby/listener/PlayerInventoryListener.java
Normale Datei
@ -0,0 +1,28 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
|
||||
public class PlayerInventoryListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerDropItem(PlayerDropItemEvent event) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerPickupItem(PlayerPickupItemEvent event) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void handleInventoryClick(InventoryClickEvent event) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
31
src/de/steamwar/lobby/listener/PlayerJoinListener.java
Normale Datei
31
src/de/steamwar/lobby/listener/PlayerJoinListener.java
Normale Datei
@ -0,0 +1,31 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.inventorys.LobbyInventory;
|
||||
import de.steamwar.lobby.utils.Config;
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
public class PlayerJoinListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if(LobbyPlayer.getLobbyPlayer(player.getUniqueId()) == null)
|
||||
new LobbyPlayer(player.getUniqueId());
|
||||
|
||||
player.teleport(new Location(Bukkit.getWorld(Config.WorldName), Config.SpawnX, Config.SpawnY, Config.SpawnZ));
|
||||
LobbyInventory.givePlayerLobbyItems(player);
|
||||
player.setGameMode(GameMode.ADVENTURE);
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.gadgets.Gadget;
|
||||
import de.steamwar.lobby.manager.BackendManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
public class PlayerKickEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerKick(org.bukkit.event.player.PlayerKickEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (event.getReason().equals("Flying is not enabled on this server")) {
|
||||
if(LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.ENDER_PEARL) event.setCancelled(true);
|
||||
if(LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.JETPACK) event.setCancelled(true);
|
||||
} else {
|
||||
LobbySystem.getInstance().getGadgetManager().removePlayerGadget(player);
|
||||
if(BackendManager.canBuild.contains(player)) BackendManager.canBuild.remove(player);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,42 +1,44 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.utils.Config;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class PlayerMoveListener implements Listener {
|
||||
|
||||
private static Location location = LobbySystem.getInstance().getLocationManager().loadLocation("main.lobby");
|
||||
|
||||
private static int minX = LobbySystem.getInstance().getFileManager().getIntegerFromConfig("WorldMaxRadius.minX");
|
||||
private static int minY = LobbySystem.getInstance().getFileManager().getIntegerFromConfig("WorldMaxRadius.minY");
|
||||
private static int minZ = LobbySystem.getInstance().getFileManager().getIntegerFromConfig("WorldMaxRadius.minZ");
|
||||
|
||||
private static int maxX = LobbySystem.getInstance().getFileManager().getIntegerFromConfig("WorldMaxRadius.maxX");
|
||||
private static int maxY = LobbySystem.getInstance().getFileManager().getIntegerFromConfig("WorldMaxRadius.maxY");
|
||||
private static int maxZ = LobbySystem.getInstance().getFileManager().getIntegerFromConfig("WorldMaxRadius.maxZ");
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerMove(PlayerMoveEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if(player.getLocation().getY() < 100)
|
||||
player.teleport(location);
|
||||
|
||||
Location playerLocation = player.getLocation();
|
||||
int x = playerLocation.getBlockX();
|
||||
int y = playerLocation.getBlockY();
|
||||
int z = playerLocation.getBlockZ();
|
||||
|
||||
if(x <= minX
|
||||
|| x >= maxX
|
||||
|| y <= minY
|
||||
|| y >= maxY
|
||||
|| z <= minZ
|
||||
|| z >= maxZ)
|
||||
player.teleport(location);
|
||||
public void handleWorldBorder(PlayerMoveEvent event) {
|
||||
Location to = event.getTo();
|
||||
if(!isInRegion(
|
||||
new Vector(Config.BorderMinX, Config.BorderMinY, Config.BorderMinZ),
|
||||
new Vector(Config.BorderMaxX, Config.BorderMaxY, Config.BorderMaxZ),
|
||||
to.toVector()))
|
||||
event.getPlayer().teleport(new Location(
|
||||
Bukkit.getWorld(Config.WorldName),
|
||||
Config.SpawnX,
|
||||
Config.SpawnY,
|
||||
Config.SpawnZ));
|
||||
}
|
||||
|
||||
private boolean isInRegion(Vector minPoint, Vector maxPoint, Vector location) {
|
||||
int x = location.getBlockX();
|
||||
int y = location.getBlockY();
|
||||
int z = location.getBlockZ();
|
||||
|
||||
if(x >= minPoint.getBlockX()
|
||||
&& x <= maxPoint.getBlockX()
|
||||
&& y >= minPoint.getBlockY()
|
||||
&& y <= maxPoint.getBlockY()
|
||||
&& z >= minPoint.getBlockZ()
|
||||
&& z <= maxPoint.getBlockZ()) {
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,15 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
public class PlayerQuitListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerQuit(PlayerQuitEvent event) {
|
||||
event.setQuitMessage("");
|
||||
}
|
||||
|
||||
|
||||
}
|
39
src/de/steamwar/lobby/listener/PlayerWorldInteractionListener.java
Normale Datei
39
src/de/steamwar/lobby/listener/PlayerWorldInteractionListener.java
Normale Datei
@ -0,0 +1,39 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
|
||||
public class PlayerWorldInteractionListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void handlePlayerInteract(PlayerInteractEvent event) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void handleEntityDamage(EntityDamageEvent event) {
|
||||
if(event.getEntityType() != EntityType.PLAYER) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void handleFoodLevelChange(FoodLevelChangeEvent event) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void handlePlayerTeleport(PlayerTeleportEvent event) {
|
||||
PlayerTeleportEvent.TeleportCause cause = event.getCause();
|
||||
if (cause == PlayerTeleportEvent.TeleportCause.END_GATEWAY ||
|
||||
cause == PlayerTeleportEvent.TeleportCause.END_PORTAL ||
|
||||
cause == PlayerTeleportEvent.TeleportCause.NETHER_PORTAL)
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.gadgets.Gadget;
|
||||
import de.steamwar.lobby.utils.ItemBuilder;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EnderPearl;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class ProjectileLaunchEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handleProjectileLaunch(org.bukkit.event.entity.ProjectileLaunchEvent event) {
|
||||
|
||||
Entity projectile = event.getEntity();
|
||||
if(projectile instanceof EnderPearl) {
|
||||
|
||||
final EnderPearl enderpearl = (EnderPearl)projectile;
|
||||
if(enderpearl.getShooter() instanceof Player) {
|
||||
|
||||
final Player player = (Player)enderpearl.getShooter();
|
||||
|
||||
Vector vec = enderpearl.getVelocity();
|
||||
vec.multiply(4);
|
||||
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(LobbySystem.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
player.getInventory().setItem(5, new ItemBuilder(Material.INK_SACK, (short)8).setDisplayName("<EFBFBD>6Warten...").removeAllAtributs().build());
|
||||
}
|
||||
}, 5L);
|
||||
player.updateInventory();
|
||||
|
||||
LobbySystem.getInstance().getGadgetManager().setPlayerGadgetCooldown(player, Gadget.ENDER_PEARL);
|
||||
Bukkit.getScheduler().runTaskLater(LobbySystem.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
LobbySystem.getInstance().getGadgetManager().removePlayerGadgetCooldown(player);
|
||||
if(!LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player).equals(Gadget.ENDER_PEARL)) return;
|
||||
player.getInventory().setItem(5, new ItemBuilder(Material.ENDER_PEARL).setDisplayName("<EFBFBD>dEnder Perle").removeAllAtributs().build());
|
||||
}
|
||||
}, 20*10);
|
||||
|
||||
player.setVelocity(vec);
|
||||
enderpearl.setPassenger(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.manager.BackendManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
public class QuitEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerQuit(PlayerQuitEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if(BackendManager.hideAll.contains(player)) BackendManager.hideAll.remove(player);
|
||||
if(BackendManager.hideUsers.contains(player)) BackendManager.hideUsers.remove(player);
|
||||
|
||||
if(BackendManager.canBuild.contains(player)) BackendManager.canBuild.remove(player);
|
||||
}
|
||||
|
||||
|
||||
}
|
76
src/de/steamwar/lobby/listener/ShieldListener.java
Normale Datei
76
src/de/steamwar/lobby/listener/ShieldListener.java
Normale Datei
@ -0,0 +1,76 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.utils.LobbyPlayer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class ShieldListener implements Listener {
|
||||
|
||||
double radius = 2.5D;
|
||||
float multiplyer = 1.3F;
|
||||
float height = 1.5F;
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerMove(PlayerMoveEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
LobbyPlayer lobbyPlayer = LobbyPlayer.getLobbyPlayer(player.getUniqueId());
|
||||
World world = player.getWorld();
|
||||
Location playerLocation = event.getTo();
|
||||
|
||||
Collection<Entity> nearbyEntities = world.getNearbyEntities(playerLocation, radius, radius, radius);
|
||||
|
||||
if(lobbyPlayer.isShield()) {
|
||||
for(Entity entity : nearbyEntities) {
|
||||
if(!(entity instanceof Player)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Player entityPlayer = (Player) entity;
|
||||
if(entityPlayer.getUniqueId() == player.getUniqueId()) {
|
||||
continue;
|
||||
}
|
||||
world.playEffect(playerLocation, Effect.ENDER_SIGNAL, 1);
|
||||
Location location = entityPlayer.getLocation();
|
||||
|
||||
double x = location.getX() - playerLocation.getX();
|
||||
double y = location.getY() - playerLocation.getY();
|
||||
double z = location.getZ() - playerLocation.getZ();
|
||||
|
||||
entityPlayer.setVelocity(new Vector(x, y, z).multiply(multiplyer).add(new Vector(0.0F, height, 0.0F)));
|
||||
}
|
||||
} else {
|
||||
for(Entity entity : nearbyEntities) {
|
||||
if(!(entity instanceof Player)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Player entityPlayer = (Player) entity;
|
||||
LobbyPlayer entityPlayerLP = LobbyPlayer.getLobbyPlayer(entityPlayer.getUniqueId());
|
||||
if(!entityPlayerLP.isShield())
|
||||
continue;
|
||||
|
||||
world.playEffect(playerLocation, Effect.ENDER_SIGNAL, 1);
|
||||
|
||||
Location location = entityPlayer.getLocation();
|
||||
|
||||
double x = playerLocation.getX() - location.getX();
|
||||
double y = playerLocation.getY() - location.getY();
|
||||
double z = playerLocation.getZ() - location.getZ();
|
||||
|
||||
player.setVelocity(new Vector(x, y, z).multiply(multiplyer).add(new Vector(0.0F, height, 0.0F)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.gadgets.Gadget;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerToggleSneakEvent;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class SneakListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handleSneak(PlayerToggleSneakEvent event) {
|
||||
final Player player = event.getPlayer();
|
||||
if(LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.JETPACK) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if(player.isSneaking() && LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.JETPACK) {
|
||||
player.setVelocity(player.getLocation().getDirection().multiply(0.7D).setY(0.3D));
|
||||
} else
|
||||
cancel();
|
||||
}
|
||||
}.runTaskTimer(LobbySystem.getInstance(), 1L, 4L);
|
||||
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if(player.isSneaking() && LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.JETPACK) {
|
||||
//player.getWorld().playEffect(player.getLocation(), Effect.LAVA_POP, 10);
|
||||
//player.getWorld().playEffect(player.getLocation(), Effect.LAVA_POP, 10);
|
||||
player.getWorld().playEffect(player.getLocation(), Effect.LAVA_POP, 10);
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_FIREWORK_LAUNCH, 0.1F, 0.1F);
|
||||
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(LobbySystem.getInstance(), 1L, 1L);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package de.steamwar.lobby.listener;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import de.steamwar.lobby.gadgets.Gadget;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
|
||||
public class TeleportEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void handlePlayerTeleport(PlayerTeleportEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if(event.getCause() == PlayerTeleportEvent.TeleportCause.ENDER_PEARL && LobbySystem.getInstance().getGadgetManager().getPlayerGadget(player) == Gadget.ENDER_PEARL && event.getTo().distance(player.getLocation()) <= 0) event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,79 +0,0 @@
|
||||
package de.steamwar.lobby.manager;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class BackendManager {
|
||||
|
||||
public boolean allowJoinMessage;
|
||||
public String JoinMessage;
|
||||
|
||||
|
||||
public boolean allowQuitMessage;
|
||||
public String QuitMessage;
|
||||
|
||||
public boolean allowFisrtJoinMessage;
|
||||
public String FisrtJoinMessage;
|
||||
|
||||
public String prefix;
|
||||
|
||||
public String SetLobbyMessage;
|
||||
|
||||
public static ArrayList<Player> hideAll = new ArrayList<>();//alle Spieler verstecken
|
||||
public static ArrayList<Player> hideUsers = new ArrayList<>();//nur YouTuber/Teammitglieder anzeigen
|
||||
|
||||
public static ArrayList<Player> canBuild = new ArrayList<>();
|
||||
|
||||
public BackendManager() {
|
||||
}
|
||||
|
||||
public void loadBackend(FileManager fileManager) {
|
||||
|
||||
allowJoinMessage = fileManager.getBooleanFromConfig("Event.Join.allowJoinMessage");
|
||||
allowFisrtJoinMessage = fileManager.getBooleanFromConfig("Event.Join.allowFirstJoinMessage");
|
||||
allowQuitMessage = fileManager.getBooleanFromConfig("Event.Join.allowQuitMessage");
|
||||
|
||||
JoinMessage = fileManager.getStringFromConfig("Event.Join.JoinMessage");
|
||||
FisrtJoinMessage = fileManager.getStringFromConfig("Event.Join.FirstJoinMessage");
|
||||
QuitMessage = fileManager.getStringFromConfig("Event.Join.QuitMessage");
|
||||
|
||||
prefix = fileManager.getStringFromConfig("Messages.Prefix");
|
||||
|
||||
SetLobbyMessage = fileManager.getStringFromConfig("Messages.Commands.SetLocationMessage").replaceAll("%prefix%", prefix).replaceAll("&", "§");
|
||||
}
|
||||
|
||||
public String checkLocations() {
|
||||
LocationManager locManager = LobbySystem.getInstance().getLocationManager();
|
||||
String errorCode = "";
|
||||
|
||||
if(!locManager.hasLocation("main.lobby")) {
|
||||
errorCode += "§8[§c✕§8] §cSpawn newLine ";
|
||||
}
|
||||
if(!locManager.hasLocation("navigation.airship")) {
|
||||
errorCode += "§8[§c✕§8] §cAirShip" + " newLine ";
|
||||
}
|
||||
if(!locManager.hasLocation("navigation.minigame")) {
|
||||
errorCode += "§8[§c✕§8] §cSpawn" + " newLine ";
|
||||
}
|
||||
if(!locManager.hasLocation("navigation.wargear")) {
|
||||
errorCode += "§8[§c✕§8] §cWarGear" + " newLine ";
|
||||
}
|
||||
if(!locManager.hasLocation("navigation.survival")) {
|
||||
errorCode += "§8[§c✕§8] §cSurvival" + " newLine ";
|
||||
}
|
||||
if(!locManager.hasLocation("navigation.miniwargear")) {
|
||||
errorCode += "§8[§c✕§8] §cMini WarGear" + " newLine ";
|
||||
}
|
||||
if(!locManager.hasLocation("navigation.tb")) {
|
||||
errorCode += "§8[§c✕§8] §cTägliche Belohnung" + " newLine ";
|
||||
}
|
||||
if(!locManager.hasLocation("navigation.battlebox")) {
|
||||
errorCode += "§8[§c✕§8] §cBattle Box" + " newLine ";
|
||||
}
|
||||
|
||||
return errorCode;
|
||||
}
|
||||
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
package de.steamwar.lobby.manager;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
|
||||
public class FileManager {
|
||||
|
||||
public File file;
|
||||
public FileConfiguration config;
|
||||
|
||||
public FileManager(LobbySystem instance) {
|
||||
|
||||
config = instance.getConfig();
|
||||
config.options().copyDefaults(true);
|
||||
file = new File(instance.getDataFolder(), "config.yml");
|
||||
instance.saveConfig();
|
||||
}
|
||||
|
||||
|
||||
public void reloadFiles(LobbySystem instance) {
|
||||
instance.reloadConfig();
|
||||
}
|
||||
|
||||
public void addNewPath(String path, String data) {
|
||||
if(config.contains(path) || config.contains(data))
|
||||
return;
|
||||
config.set(path, data);
|
||||
|
||||
save();
|
||||
}
|
||||
|
||||
public String getStringFromConfig(String path) {
|
||||
return config.getString(path).replaceAll("&", "<EFBFBD>");
|
||||
}
|
||||
|
||||
public int getIntegerFromConfig(String path) {
|
||||
return config.getInt(path);
|
||||
}
|
||||
|
||||
public boolean getBooleanFromConfig(String path) {
|
||||
return config.getBoolean(path);
|
||||
}
|
||||
|
||||
public File getFile() {
|
||||
return file;
|
||||
}
|
||||
|
||||
public FileConfiguration getConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
public void save() {
|
||||
try {
|
||||
config.save(file);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
package de.steamwar.lobby.manager;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
public class LocationManager {
|
||||
|
||||
private File file;
|
||||
private YamlConfiguration config;
|
||||
|
||||
public LocationManager() {
|
||||
|
||||
file = new File(LobbySystem.getInstance().getDataFolder() + "/Data/Locations", "locs.yml");
|
||||
config = YamlConfiguration.loadConfiguration(file);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void saveLocation(String path, Location loc) {
|
||||
config.set(path + ".WORLD", loc.getWorld().getName());
|
||||
config.set(path + ".X", loc.getX());
|
||||
config.set(path + ".Y", loc.getY());
|
||||
config.set(path + ".Z", loc.getZ());
|
||||
config.set(path + ".YAW", loc.getYaw());
|
||||
config.set(path + ".PITCH", loc.getPitch());
|
||||
save();
|
||||
}
|
||||
|
||||
public Location loadLocation(String path) {
|
||||
|
||||
World world = Bukkit.getWorld(config.getString(path + ".WORLD"));
|
||||
|
||||
double x = config.getDouble(path + ".X");
|
||||
double y = config.getDouble(path + ".Y");
|
||||
double z = config.getDouble(path + ".Z");
|
||||
|
||||
float yaw = (float) config.getDouble(path + ".YAW");
|
||||
float pitch = (float) config.getDouble(path + ".PITCH");
|
||||
|
||||
return new Location(world, x, y, z, yaw, pitch);
|
||||
}
|
||||
|
||||
public void save() {
|
||||
try {
|
||||
config.save(file);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public File getFile() {
|
||||
return file;
|
||||
}
|
||||
|
||||
public YamlConfiguration getConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
public boolean hasLocation(String string) {
|
||||
if(config.contains(string))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
53
src/de/steamwar/lobby/utils/Config.java
Normale Datei
53
src/de/steamwar/lobby/utils/Config.java
Normale Datei
@ -0,0 +1,53 @@
|
||||
package de.steamwar.lobby.utils;
|
||||
|
||||
import de.steamwar.lobby.LobbySystem;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class Config {
|
||||
|
||||
private Config() {}
|
||||
|
||||
private static LobbySystem instance = LobbySystem.getInstance();
|
||||
|
||||
//Cache
|
||||
public static final String WorldName;
|
||||
|
||||
//Spawn
|
||||
public static final int SpawnX;
|
||||
public static final int SpawnY;
|
||||
public static final int SpawnZ;
|
||||
|
||||
//World Border
|
||||
public static final int BorderMinX;
|
||||
public static final int BorderMinY;
|
||||
public static final int BorderMinZ;
|
||||
public static final int BorderMaxX;
|
||||
public static final int BorderMaxY;
|
||||
public static final int BorderMaxZ;
|
||||
|
||||
static {
|
||||
if(!new File(instance.getDataFolder(), "config.yml").exists()) {
|
||||
instance.saveDefaultConfig();
|
||||
Bukkit.getLogger().log(Level.SEVERE, "Config fehlt!");
|
||||
instance.shutdown(null);
|
||||
}
|
||||
FileConfiguration config = instance.getConfig();
|
||||
|
||||
WorldName = config.getString("WorldName");
|
||||
|
||||
SpawnX = config.getInt("Spawn.X");
|
||||
SpawnY = config.getInt("Spawn.Y");
|
||||
SpawnZ = config.getInt("Spawn.Z");
|
||||
|
||||
BorderMinX = config.getInt("Border.MinX");
|
||||
BorderMinY = config.getInt("Border.MinY");
|
||||
BorderMinZ = config.getInt("Border.MinZ");
|
||||
BorderMaxX = config.getInt("Border.MaxX");
|
||||
BorderMaxY = config.getInt("Border.MaxY");
|
||||
BorderMaxZ = config.getInt("Border.MaxZ");
|
||||
}
|
||||
}
|
104
src/de/steamwar/lobby/utils/LobbyPlayer.java
Normale Datei
104
src/de/steamwar/lobby/utils/LobbyPlayer.java
Normale Datei
@ -0,0 +1,104 @@
|
||||
package de.steamwar.lobby.utils;
|
||||
|
||||
import org.bukkit.Effect;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class LobbyPlayer {
|
||||
|
||||
private static List<LobbyPlayer> cache = new ArrayList<>();
|
||||
|
||||
private UUID uuid;
|
||||
private PlayerHiderState hiderState;
|
||||
private Effect particle;
|
||||
private boolean fly;
|
||||
private boolean enderPearlUsed;
|
||||
private boolean shield;
|
||||
|
||||
public LobbyPlayer(UUID uuid) {
|
||||
this.uuid = uuid;
|
||||
this.hiderState = PlayerHiderState.SHOW_ALL;
|
||||
cache.add(this);
|
||||
}
|
||||
|
||||
public UUID getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public PlayerHiderState getHiderState() {
|
||||
return hiderState;
|
||||
}
|
||||
|
||||
public void setHiderState(PlayerHiderState hiderState) {
|
||||
this.hiderState = hiderState;
|
||||
}
|
||||
|
||||
public Effect getParticle() {
|
||||
return particle;
|
||||
}
|
||||
|
||||
public void setParticle(Effect particle) {
|
||||
this.particle = particle;
|
||||
}
|
||||
|
||||
public boolean isFly() {
|
||||
return fly;
|
||||
}
|
||||
|
||||
public void setFly(boolean fly) {
|
||||
this.fly = fly;
|
||||
}
|
||||
|
||||
public boolean isEnderPearlUsed() {
|
||||
return enderPearlUsed;
|
||||
}
|
||||
|
||||
public void setEnderPearlUsed(boolean enderPearlUsed) {
|
||||
this.enderPearlUsed = enderPearlUsed;
|
||||
}
|
||||
|
||||
public boolean isShield() {
|
||||
return shield;
|
||||
}
|
||||
|
||||
public void setShield(boolean shield) {
|
||||
this.shield = shield;
|
||||
}
|
||||
|
||||
public void nexthHiderState() {
|
||||
if(this.hiderState == PlayerHiderState.SHOW_ALL) {
|
||||
this.hiderState = PlayerHiderState.SHOW_TEAM;
|
||||
}
|
||||
else if(this.hiderState == PlayerHiderState.SHOW_TEAM) {
|
||||
this.hiderState = PlayerHiderState.SHOW_NOBODY;
|
||||
}
|
||||
else
|
||||
this.hiderState = PlayerHiderState.SHOW_ALL;
|
||||
}
|
||||
|
||||
public enum PlayerHiderState {
|
||||
SHOW_ALL("§aAlle Spieler"),
|
||||
SHOW_TEAM("§6Nur Teammitglieder"),
|
||||
SHOW_NOBODY("§cKeine Spieler");
|
||||
|
||||
private String name;
|
||||
|
||||
private PlayerHiderState(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
public static LobbyPlayer getLobbyPlayer(UUID uuid) {
|
||||
for(LobbyPlayer current : cache) {
|
||||
if(current.getUuid().equals(uuid))
|
||||
return current;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
name: LobbySystem
|
||||
version: 1.0
|
||||
author: [hunjy, Yaruma3341]
|
||||
author: [Yaruma3341]
|
||||
depend: [SpigotCore]
|
||||
main: de.steamwar.lobby.LobbySystem
|
||||
|
||||
commands:
|
||||
build:
|
||||
|
||||
fly:
|
||||
shield:
|
In neuem Issue referenzieren
Einen Benutzer sperren