fixed some bugs; added kit to fightplayer; reworked schematic list; updated KitManager
Signed-off-by: Yaruma3341 <yaruma3341@gmail.com>
Dieser Commit ist enthalten in:
Ursprung
6034252d67
Commit
209f1ba88a
@ -109,19 +109,19 @@ public class AkCommand implements CommandExecutor {
|
|||||||
}
|
}
|
||||||
}else if(args[0].equalsIgnoreCase("kit")) {
|
}else if(args[0].equalsIgnoreCase("kit")) {
|
||||||
if(FightSystem.getPlugin().getFightState() != FightState.SETUP) {
|
if(FightSystem.getPlugin().getFightState() != FightState.SETUP) {
|
||||||
player.sendMessage(FightSystem.PREFIX + "§cDu kannst dein Kit nicht mehr wechseln");
|
player.sendMessage(FightSystem.PREFIX + "§cDu kannst dein Kit nicht mehr wechseln!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
FightTeam fightTeam = Fight.getPlayerTeam(player);
|
FightTeam fightTeam = Fight.getPlayerTeam(player);
|
||||||
if(fightTeam == null){
|
if(fightTeam == null){
|
||||||
player.sendMessage(FightSystem.PREFIX + "§cDu bist in keinem Team");
|
player.sendMessage(FightSystem.PREFIX + "§cDu bist in keinem Team!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Kit kit = KitManager.getKitByName(args[1]);
|
Kit kit = KitManager.getKitByName(args[1]);
|
||||||
if(kit == null){
|
if(kit == null){
|
||||||
player.sendMessage(FightSystem.PREFIX + "§cDieses Kit existiert nicht");
|
player.sendMessage(FightSystem.PREFIX + "§cDieses Kit existiert nicht!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,34 +130,35 @@ public class AkCommand implements CommandExecutor {
|
|||||||
(fightPlayer.isLeader() && !kit.isLeaderAllowed()) ||
|
(fightPlayer.isLeader() && !kit.isLeaderAllowed()) ||
|
||||||
(!fightPlayer.isLeader() && !kit.isMemberAllowed())
|
(!fightPlayer.isLeader() && !kit.isMemberAllowed())
|
||||||
){
|
){
|
||||||
player.sendMessage(FightSystem.PREFIX + "§cDu darfst dieses Kit nicht verwenden");
|
player.sendMessage(FightSystem.PREFIX + "§cDu darfst dieses Kit nicht verwenden!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Owns Kit
|
//TODO: Owns Kit
|
||||||
|
|
||||||
kit.loadToPlayer(player);
|
Fight.getFightPlayer(player).setKit(kit);
|
||||||
|
|
||||||
}else if(args[0].equalsIgnoreCase("schem")){
|
} else if(args[0].equalsIgnoreCase("schem")) {
|
||||||
FightTeam fightTeam = Fight.getPlayerTeam(player);
|
FightTeam fightTeam = Fight.getPlayerTeam(player);
|
||||||
if(fightTeam == null){
|
if(fightTeam == null) {
|
||||||
player.sendMessage(FightSystem.PREFIX + "§cDu bist in keinem Team");
|
player.sendMessage(FightSystem.PREFIX + "§cDu bist in keinem Team!");
|
||||||
return false;
|
return false;
|
||||||
}else if(fightTeam.hasSchematic()){
|
}else if(fightTeam.hasSchematic()) {
|
||||||
player.sendMessage(FightSystem.PREFIX + "§cDie Schematic ist bereits gewählt");
|
player.sendMessage(FightSystem.PREFIX + "§cDie Schematic ist bereits gewählt!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Schematic schem = Schematic.getSchemFromDB(args[1], player.getUniqueId());
|
Schematic schem = Schematic.getSchemFromDB(args[1], player.getUniqueId());
|
||||||
if(schem == null){
|
if(schem == null) {
|
||||||
player.sendMessage(FightSystem.PREFIX + "§cDiese Schematic gibt es nicht");
|
player.sendMessage(FightSystem.PREFIX + "§cDiese Schematic gibt es nicht!");
|
||||||
return false;
|
return false;
|
||||||
}else if(schem.getSchemType() != Config.SchematicType){
|
}else if(schem.getSchemType() != Config.SchematicType) {
|
||||||
player.sendMessage(FightSystem.PREFIX + "§cDiese Schematic ist kein " + Config.GameName);
|
player.sendMessage(FightSystem.PREFIX + "§cDiese Schematic ist kein " + Config.GameName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
fightTeam.setSchematic(schem);
|
fightTeam.setSchematic(schem);
|
||||||
|
Fight.getPlayerTeam(player).broadcast(FightSystem.PREFIX + "Schematic §6" + args[1] + " §8wird für den Kampf verwendet!");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
sendHelp(player);
|
sendHelp(player);
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package me.yaruma.fightsystem.fight;
|
package me.yaruma.fightsystem.fight;
|
||||||
|
|
||||||
|
import me.yaruma.fightsystem.kit.Kit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class FightPlayer {
|
public class FightPlayer {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
private boolean isOut;
|
private boolean isOut;
|
||||||
|
private Kit kit;
|
||||||
|
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (!(obj instanceof Player))
|
if (!(obj instanceof Player))
|
||||||
@ -40,5 +42,11 @@ public class FightPlayer {
|
|||||||
return Fight.getPlayerTeam(player).getLeader().getPlayer() == player;
|
return Fight.getPlayerTeam(player).getLeader().getPlayer() == player;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Kit getKit() {
|
||||||
|
return kit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKit(Kit kit) {
|
||||||
|
this.kit = kit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,9 +96,11 @@ public class KitManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void loadAllKits() {
|
public static void loadAllKits() {
|
||||||
//for(String key : instance.getKitData().getConfigurationSection("Kits").getKeys(false)) {
|
if(instance.getKitData().getConfigurationSection("Kits") != null) {
|
||||||
// loadedKits.add(loadKitFromConfig(key));
|
for(String key : instance.getKitData().getConfigurationSection("Kits").getKeys(false)) {
|
||||||
//}
|
loadedKits.add(loadKitFromConfig(key));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Kit getKitByName(String kitName) {
|
public static Kit getKitByName(String kitName) {
|
||||||
|
@ -10,6 +10,10 @@ import com.sk89q.worldedit.bukkit.BukkitWorld;
|
|||||||
import com.sk89q.worldedit.bukkit.selections.CuboidSelection;
|
import com.sk89q.worldedit.bukkit.selections.CuboidSelection;
|
||||||
import com.sk89q.worldedit.math.transform.AffineTransform;
|
import com.sk89q.worldedit.math.transform.AffineTransform;
|
||||||
import com.sk89q.worldedit.world.World;
|
import com.sk89q.worldedit.world.World;
|
||||||
|
import de.warking.hunjy.MySQL.Schematic;
|
||||||
|
import de.warking.hunjy.MySQL.SchematicType;
|
||||||
|
import de.warking.hunjy.MySQL.WarkingUser;
|
||||||
|
import me.yaruma.fightsystem.FightSystem;
|
||||||
import net.md_5.bungee.api.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import net.md_5.bungee.api.chat.ClickEvent;
|
import net.md_5.bungee.api.chat.ClickEvent;
|
||||||
import net.md_5.bungee.api.chat.ComponentBuilder;
|
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||||
@ -20,7 +24,9 @@ import org.bukkit.entity.Player;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class WorldEdit {
|
public class WorldEdit {
|
||||||
@ -100,5 +106,80 @@ public class WorldEdit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void sendPlayerSchematicList(int currentPage, int filesPerPage, Player player, SchematicType schematicType) {
|
||||||
|
List<Schematic> preSchematicList = Schematic.getSchemsAccessibleByUser(player.getUniqueId());
|
||||||
|
List<Schematic> schematicList = new ArrayList<>();
|
||||||
|
for(Schematic s : preSchematicList) {
|
||||||
|
if(s.getSchemType() == schematicType)
|
||||||
|
schematicList.add(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(schematicList.isEmpty()) {
|
||||||
|
player.sendMessage(FightSystem.PREFIX + "§cDu hast noch keine Schematic(s)!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int pages;
|
||||||
|
|
||||||
|
double doublePages = (Double.valueOf(schematicList.size()) / Double.valueOf(filesPerPage));
|
||||||
|
int intPages = schematicList.size() / filesPerPage;
|
||||||
|
|
||||||
|
if(schematicList.size() <= filesPerPage) {
|
||||||
|
pages = 1;
|
||||||
|
} else if(doublePages > intPages) {
|
||||||
|
pages = (intPages + 1);
|
||||||
|
} else
|
||||||
|
pages = intPages;
|
||||||
|
|
||||||
|
int currPage = currentPage;
|
||||||
|
|
||||||
|
if(currPage >= pages) return;
|
||||||
|
|
||||||
|
player.sendMessage("§5======§8[§dSeite " + (currentPage + 1) + " §7/ §d" + pages + " §7| §d" + schematicList.size() + " Schematic(s)§8]§5======");
|
||||||
|
|
||||||
|
for(int i = currPage * filesPerPage; i < (currPage * filesPerPage) + filesPerPage; i++) {
|
||||||
|
if(schematicList.size() <= i) break;
|
||||||
|
|
||||||
|
Schematic schematic = schematicList.get(i);
|
||||||
|
|
||||||
|
TextComponent schematics = new TextComponent("§b" + schematic.getSchemName());
|
||||||
|
schematics.setBold(true);
|
||||||
|
|
||||||
|
schematics.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Schematic benutzen...").create()));
|
||||||
|
schematics.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem info " + schematic.getSchemName()));
|
||||||
|
|
||||||
|
player.spigot().sendMessage(schematics);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(pages <= 1) return;
|
||||||
|
|
||||||
|
if(currPage == 0) {
|
||||||
|
TextComponent nextPage = new TextComponent("Nächste Seite >>");
|
||||||
|
nextPage.setColor(ChatColor.RED);
|
||||||
|
nextPage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§6Nächste Seite...").create()));
|
||||||
|
nextPage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem list 1"));
|
||||||
|
player.spigot().sendMessage(nextPage);
|
||||||
|
} else if((currPage + 1) == pages) {
|
||||||
|
TextComponent beforePage = new TextComponent("<< Vorherige Seite");
|
||||||
|
beforePage.setColor(ChatColor.RED);
|
||||||
|
beforePage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§6Vorherige Seite...").create()));
|
||||||
|
beforePage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem list " + (currPage - 1)));
|
||||||
|
player.spigot().sendMessage(beforePage);
|
||||||
|
} else {
|
||||||
|
TextComponent beforePage = new TextComponent("<< Seite ");
|
||||||
|
beforePage.setColor(ChatColor.RED);
|
||||||
|
beforePage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§6Vorherige Seite...").create()));
|
||||||
|
beforePage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem list " + (currPage - 1)));
|
||||||
|
|
||||||
|
TextComponent nextPage = new TextComponent(">>");
|
||||||
|
nextPage.setColor(ChatColor.RED);
|
||||||
|
nextPage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§6Nächste Seite...").create()));
|
||||||
|
nextPage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem list " + (currPage + 1)));
|
||||||
|
|
||||||
|
beforePage.addExtra(nextPage);
|
||||||
|
player.spigot().sendMessage(beforePage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
name: FightSystem
|
name: FightSystem
|
||||||
version: 1.0
|
version: 1.0
|
||||||
author: Yaruma3341
|
author: [Yaruma3341, Lixfel]
|
||||||
main: me.yaruma.fightsystem.FightSystem
|
main: me.yaruma.fightsystem.FightSystem
|
||||||
depend: [CoreSystem, WorldEdit, FastAsyncWorldEdit]
|
depend: [CoreSystem, WorldEdit, FastAsyncWorldEdit]
|
||||||
|
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren