diff --git a/src/me/yaruma/fightsystem/FightSystem.java b/src/me/yaruma/fightsystem/FightSystem.java index 5975108..acf6b7f 100644 --- a/src/me/yaruma/fightsystem/FightSystem.java +++ b/src/me/yaruma/fightsystem/FightSystem.java @@ -235,13 +235,8 @@ public class FightSystem extends JavaPlugin { } private void teleportAllToFightSpawn() { - - for(FightPlayer fightPlayer : Fight.getBlueTeam().getPlayers()) { - fightPlayer.getPlayer().teleport(Config.TeamBlueSpawn); - } - for(FightPlayer fightPlayer : Fight.getRedTeam().getPlayers()) { - fightPlayer.getPlayer().teleport(Config.TeamRedSpawn); - } + Fight.getBlueTeam().teleportToSpawn(); + Fight.getRedTeam().teleportToSpawn(); for(Player player : Bukkit.getServer().getOnlinePlayers()) { FightTeam fightTeam = Fight.getPlayerTeam(player); diff --git a/src/me/yaruma/fightsystem/commands/AkCommand.java b/src/me/yaruma/fightsystem/commands/AkCommand.java index 4c464fa..b3310d8 100644 --- a/src/me/yaruma/fightsystem/commands/AkCommand.java +++ b/src/me/yaruma/fightsystem/commands/AkCommand.java @@ -139,6 +139,7 @@ public class AkCommand implements CommandExecutor { //TODO: Owns Kit Fight.getFightPlayer(player).setKit(kit); + player.sendMessage(FightSystem.PREFIX + "§aDu hast nun das Kit §6" + args[1] + "§a!"); } else if(args[0].equalsIgnoreCase("schem")) { FightTeam fightTeam = Fight.getPlayerTeam(player); diff --git a/src/me/yaruma/fightsystem/fight/FightPlayer.java b/src/me/yaruma/fightsystem/fight/FightPlayer.java index 5d695df..42cd9c0 100644 --- a/src/me/yaruma/fightsystem/fight/FightPlayer.java +++ b/src/me/yaruma/fightsystem/fight/FightPlayer.java @@ -1,6 +1,8 @@ package me.yaruma.fightsystem.fight; import me.yaruma.fightsystem.kit.Kit; +import me.yaruma.fightsystem.kit.KitManager; +import me.yaruma.fightsystem.utils.Config; import org.bukkit.entity.Player; public class FightPlayer { @@ -24,6 +26,7 @@ public class FightPlayer { public FightPlayer(Player player, boolean isOut) { this.player = player; this.isOut = isOut; + kit = KitManager.getKitByName(Config.MemberDefault); } public void setOut(boolean isOut) { diff --git a/src/me/yaruma/fightsystem/fight/FightTeam.java b/src/me/yaruma/fightsystem/fight/FightTeam.java index d03095f..f8229b8 100644 --- a/src/me/yaruma/fightsystem/fight/FightTeam.java +++ b/src/me/yaruma/fightsystem/fight/FightTeam.java @@ -8,6 +8,7 @@ import com.sk89q.worldedit.world.World; import de.warking.hunjy.MySQL.Schematic; import de.warking.hunjy.MySQL.WarkingUser; import me.yaruma.fightsystem.FightSystem; +import me.yaruma.fightsystem.kit.KitManager; import me.yaruma.fightsystem.utils.Config; import me.yaruma.fightsystem.utils.ItemBuilder; import org.bukkit.Bukkit; @@ -44,6 +45,12 @@ public class FightTeam { rotate = Rotate; } + public void teleportToSpawn(){ + for(FightPlayer player : players){ + player.getPlayer().teleport(spawn); + } + } + public FightPlayer getFightPlayer(Player player) { for(FightPlayer fightPlayer : players) { if(fightPlayer.getPlayer().equals(player)) @@ -99,6 +106,7 @@ public class FightTeam { public void setLeader(FightPlayer leader) { this.leader = leader; + leader.setKit(KitManager.getKitByName(Config.LeaderDefault)); if(!this.players.contains(leader)){ this.players.add(leader); } @@ -123,12 +131,17 @@ public class FightTeam { } World w = new BukkitWorld(Bukkit.getWorlds().get(0)); Vector dimensions = schem.getClipboard().getDimensions(); - Vector v = paste.subtract(dimensions.getX()/2, 0, dimensions.getZ()/2).subtract(schem.getClipboard().getRegion().getMinimumPoint()).add(schem.getClipboard().getOrigin()); + Vector v; + Vector offset = new Vector(schem.getClipboard().getRegion().getMinimumPoint()).subtract(schem.getClipboard().getOrigin()); AffineTransform aT = new AffineTransform(); if(rotate){ - aT.rotateY(180); + aT = aT.rotateY(180); + v = paste.add(dimensions.getX()/2, 0, dimensions.getZ()/2).subtract(offset.multiply(-1, 1, -1)); + }else{ + v = paste.subtract(dimensions.getX()/2, 0, dimensions.getZ()/2).subtract(offset); } schem.paste(w, v, false, true, aT).flushQueue(); + teleportToSpawn(); } public void setSchematic(Schematic schematic){ diff --git a/src/me/yaruma/fightsystem/kit/KitManager.java b/src/me/yaruma/fightsystem/kit/KitManager.java index c1bc7d5..16a6125 100644 --- a/src/me/yaruma/fightsystem/kit/KitManager.java +++ b/src/me/yaruma/fightsystem/kit/KitManager.java @@ -2,8 +2,6 @@ package me.yaruma.fightsystem.kit; import de.warking.hunjy.CoinSystem.CoinSystem; import me.yaruma.fightsystem.FightSystem; -import me.yaruma.fightsystem.fight.Fight; -import me.yaruma.fightsystem.fight.FightPlayer; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; @@ -21,14 +19,6 @@ public class KitManager { private static final ArrayList loadedKits = new ArrayList<>(); - private static void loadInventoryToPlayer(String kitName, Player player) { - YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(new File(kitsPath)); - ItemStack[] content = ((List) yamlConfiguration.get("Kits." + kitName + ".Armor")).toArray(new ItemStack[0]); - player.getInventory().setArmorContents(content); - content = ((List) yamlConfiguration.get("Kits." + kitName + ".Items")).toArray(new ItemStack[0]); - player.getInventory().setContents(content); - } - public static void saveInventory(String kitName, Player player){ loadedKits.add(new Kit(kitName, 0, true, true, player.getInventory().getArmorContents(), player.getInventory().getContents())); saveAllKits(); @@ -49,38 +39,16 @@ public class KitManager { return true; //wird spaeter gemacht } - public static void loadKitToPlayer(Kit kit, Player player) { - if(kit != null) { - if(ownsKit(player)) { - - FightPlayer fightPlayer = Fight.getPlayerTeam(player).getFightPlayer(player); - if(fightPlayer != null) { - if(fightPlayer.isLeader() && kit.isLeaderAllowed() || !fightPlayer.isLeader() && kit.isMemberAllowed()) { - loadInventoryToPlayer(kit.getName(), player); - player.sendMessage(FightSystem.PREFIX + "§6" + kit.getName() + " §ageladen!"); - } else { - player.sendMessage(FightSystem.PREFIX + "§cDu darfst dieses Kit nicht verwenden!"); - } - } else { - player.sendMessage(FightSystem.PREFIX + "§cDu befindest dich in keinem Team!"); - } - - } else { - player.sendMessage(FightSystem.PREFIX + "§cDu besitzt dieses Kit nicht!"); - } - } - } - public static Kit loadKitFromConfig(String name) { FileConfiguration data = instance.getKitData(); - name = "Kits." + name; - if(data.contains(name)) { - List armor = (List) data.getList(name + ".Armor"); - List items = (List) data.getList(name + ".Items"); + String path = "Kits." + name; + if(data.contains(path)) { + List armor = (List) data.getList(path + ".Armor"); + List items = (List) data.getList(path + ".Items"); - int price = data.getInt(name + ".Price"); - boolean leaderAllowed = data.getBoolean(name + ".LeaderAllowed"); - boolean memberAllowed = data.getBoolean(name + ".MemberAllowed"); + int price = data.getInt(path + ".Price"); + boolean leaderAllowed = data.getBoolean(path + ".LeaderAllowed"); + boolean memberAllowed = data.getBoolean(path + ".MemberAllowed"); Kit kit = new Kit(name, price, leaderAllowed, memberAllowed, armor.toArray(new ItemStack[1]), items.toArray(new ItemStack[1])); return kit;