26 changed files with 3089 additions and 185 deletions
@ -0,0 +1,57 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.gui.inventory; |
||||
|
||||
import eu.univento.core.api.gui.Action; |
||||
import eu.univento.core.api.items.ItemBuilder; |
||||
import eu.univento.core.api.player.CustomPlayer; |
||||
import org.bukkit.Material; |
||||
import org.bukkit.event.Listener; |
||||
import org.bukkit.inventory.ItemStack; |
||||
|
||||
import java.util.HashMap; |
||||
import java.util.Map; |
||||
|
||||
public class PagedInventoryGUI implements Listener{ |
||||
|
||||
private CustomPlayer player; |
||||
private String title; |
||||
private ItemStack next = new ItemBuilder(Material.ARROW).name("§eNächste Seite").build(); |
||||
private ItemStack back = new ItemBuilder(Material.ARROW).name("§eVorherige Seite Seite").build(); |
||||
|
||||
private Map<Integer, InventoryGUI> pages = new HashMap<>(); |
||||
|
||||
public PagedInventoryGUI(CustomPlayer player, String title) { |
||||
this.player = player; |
||||
this.title = title; |
||||
} |
||||
|
||||
public PagedInventoryGUI(CustomPlayer player, String title, ItemStack back, ItemStack next) { |
||||
this.player = player; |
||||
this.title = title; |
||||
this.back = back; |
||||
this.next = next; |
||||
} |
||||
|
||||
public void addItem(ItemStack item, Action action) { |
||||
if(pages.get(pages.size()).getInventory().firstEmpty() == 46) { |
||||
pages.put(pages.size() + 1, new InventoryGUI(player, 54, title + " Seite " + pages.size())); |
||||
pages.get(pages.size()).addItem(53, next, player -> { |
||||
player.closeInventory(); |
||||
pages.get(pages.size() -1).open(); |
||||
}); |
||||
pages.get(pages.size()).addItem(45, back, player -> { |
||||
player.closeInventory(); |
||||
pages.get(pages.size() - 1).open(); |
||||
}); |
||||
} |
||||
pages.get(pages.size()).addItem(item, action); |
||||
} |
||||
|
||||
public void open() { |
||||
pages.get(0).open(); |
||||
} |
||||
} |
@ -0,0 +1,46 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.items; |
||||
|
||||
import eu.univento.core.Core; |
||||
import io.vertx.core.json.JsonObject; |
||||
import io.vertx.ext.web.client.WebClient; |
||||
import lombok.Getter; |
||||
|
||||
import java.util.HashMap; |
||||
|
||||
public class HeadDB { |
||||
|
||||
@Getter private HashMap<String, String> blocks = new HashMap<>(); |
||||
@Getter private HashMap<String, String> food = new HashMap<>(); |
||||
@Getter private HashMap<String, String> electronics = new HashMap<>(); |
||||
@Getter private HashMap<String, String> characters = new HashMap<>(); |
||||
@Getter private HashMap<String, String> flags = new HashMap<>(); |
||||
@Getter private HashMap<String, String> letters = new HashMap<>(); |
||||
@Getter private HashMap<String, String> halloween = new HashMap<>(); |
||||
@Getter private HashMap<String, String> christmas = new HashMap<>(); |
||||
|
||||
public HeadDB() { |
||||
get("blocks", blocks); |
||||
get("food", food); |
||||
get("electronics", electronics); |
||||
get("characters", characters); |
||||
get("flags", flags); |
||||
get("letters", letters); |
||||
get("halloween", halloween); |
||||
get("christmas", christmas); |
||||
} |
||||
|
||||
private void get(String name, HashMap<String, String> map) { |
||||
WebClient.create(Core.getCommons().getVertx()).get(443, "headdb.com", "/api/category/" + name).ssl(true).send(event -> { |
||||
if (event.failed()) event.cause().printStackTrace(); |
||||
event.result().bodyAsJsonObject().forEach(stringObjectEntry -> { |
||||
JsonObject json = new JsonObject(stringObjectEntry.getValue().toString()); |
||||
map.put(json.getString("name"), json.getJsonObject("valueDecoded").getJsonObject("textures").getJsonObject("SKIN").getString("url")); |
||||
}); |
||||
}); |
||||
} |
||||
} |
@ -0,0 +1,35 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
import eu.univento.core.Core; |
||||
import eu.univento.core.api.player.CustomPlayer; |
||||
import io.vertx.core.json.JsonObject; |
||||
import lombok.Getter; |
||||
|
||||
import java.util.List; |
||||
|
||||
@Getter |
||||
public class Quest { |
||||
|
||||
private String name; |
||||
private String description; |
||||
private QuestRequirement requirement; |
||||
private QuestRewardType reward; |
||||
private List<QuestAction> tasks; |
||||
|
||||
public Quest(String name) { |
||||
this.name = name; |
||||
Core.getCommons().getDatabaseManager().getMongoDB().getClient().findOne("quests", new JsonObject().put("name", name), null, event -> { |
||||
if(event.failed()) event.cause().printStackTrace(); |
||||
this.description = event.result().getString("description"); |
||||
}); |
||||
} |
||||
|
||||
public void start(CustomPlayer player) { |
||||
|
||||
} |
||||
} |
@ -0,0 +1,17 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
import lombok.Getter; |
||||
|
||||
public class QuestAction { |
||||
|
||||
@Getter private boolean done; |
||||
|
||||
public QuestAction(Quest quest, String name) { |
||||
|
||||
} |
||||
} |
@ -0,0 +1,10 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
public enum QuestActionType { |
||||
|
||||
} |
@ -0,0 +1,17 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
import lombok.Getter; |
||||
|
||||
public class QuestRequirement { |
||||
|
||||
@Getter private QuestRequirementType type; |
||||
|
||||
public QuestRequirement(Quest quest) { |
||||
|
||||
} |
||||
} |
@ -0,0 +1,13 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
public enum QuestRequirementType { |
||||
|
||||
OTHER_QUEST, |
||||
SEEN_AREA, |
||||
|
||||
} |
@ -0,0 +1,10 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
public class QuestReward { |
||||
|
||||
} |
@ -0,0 +1,14 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
public enum QuestRewardType { |
||||
|
||||
Currency, |
||||
Item, |
||||
Cosmetic, |
||||
|
||||
} |
@ -0,0 +1,10 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
public class QuestTask { |
||||
|
||||
} |
@ -0,0 +1,10 @@
|
||||
/* |
||||
* Copyright (c) 2018 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.api.quest; |
||||
|
||||
public enum QuestTaskType { |
||||
|
||||
} |
@ -1,106 +0,0 @@
|
||||
/* |
||||
* Copyright (c) 2017 univento.eu - All rights reserved |
||||
* You are not allowed to use, distribute or modify this code |
||||
*/ |
||||
|
||||
package eu.univento.core.commands; |
||||
|
||||
import eu.univento.commons.player.rank.Rank; |
||||
import eu.univento.core.Core; |
||||
import eu.univento.core.api.AutoCommand; |
||||
import eu.univento.core.api.player.CustomPlayer; |
||||
import org.bukkit.Bukkit; |
||||
import org.bukkit.command.CommandSender; |
||||
import org.bukkit.entity.Player; |
||||
|
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* sets ranks for players |
||||
* @author joethei |
||||
* @version 1.0 |
||||
*/ |
||||
|
||||
public class SetRank extends AutoCommand<Core>{ |
||||
|
||||
public SetRank(Core plugin, String command, String description, String... aliases) { |
||||
super(plugin, command, description, aliases); |
||||
} |
||||
|
||||
@Override |
||||
public boolean execute(CommandSender sender, String label, String[] args) { |
||||
if(sender instanceof Player) { |
||||
CustomPlayer p = CustomPlayer.getPlayer(sender.getName()); |
||||
if(p.getDatabasePlayer().isAllowed(Rank.SrBuilder)) { |
||||
if(args.length == 2) { |
||||
Rank rank; |
||||
try{ |
||||
rank = Rank.valueOf(args[1]); |
||||
if(Bukkit.getPlayer(args[0]) != null) { |
||||
CustomPlayer player = CustomPlayer.getPlayer(args[0]); |
||||
if(player.getDatabasePlayer().isAllowed(rank)) { |
||||
//p.sendMessage(p.getMessages().PREFIX() + "§cDer Spieler hat den Rang schon oder ist besser.");
|
||||
//p.sendMessage(p.getMessages().PREFIX() + "§cÄnderungen müssen in der Datenbank stattfinden.");
|
||||
return true; |
||||
} |
||||
if(p.getDatabasePlayer().isAllowed(Rank.Admin)) { |
||||
player.getDatabasePlayer().setRank(rank); |
||||
//p.sendMessage(p.getMessages().PREFIX() + p.getMessages().Core_SETRANK_SET(player, player.getDatabasePlayer().getRank()));
|
||||
refreshTablist(); |
||||
} |
||||
if(p.getDatabasePlayer().isAllowed(Rank.SrDeveloper) && rank.equals(Rank.Developer)) { |
||||
player.getDatabasePlayer().setRank(Rank.Developer); |
||||
//p.sendMessage(p.getMessages().PREFIX() + p.getMessages().Core_SETRANK_SET(player, Rank.Developer));
|
||||
refreshTablist(); |
||||
} |
||||
if(p.getDatabasePlayer().isAllowed(Rank.SrSupporter) && rank.equals(Rank.Supporter)) { |
||||
player.getDatabasePlayer().setRank(Rank.Supporter); |
||||
//p.sendMessage(p.getMessages().PREFIX() + p.getMessages().Core_SETRANK_SET(player, Rank.Supporter));
|
||||
refreshTablist(); |
||||
} |
||||
if(p.getDatabasePlayer().isAllowed(Rank.SrSupporter) && rank.equals(Rank.JrSupporter)) { |
||||
player.getDatabasePlayer().setRank(Rank.JrSupporter); |
||||
//p.sendMessage(p.getMessages().PREFIX() + p.getMessages().Core_SETRANK_SET(player, Rank.JrSupporter));
|
||||
refreshTablist(); |
||||
} |
||||
if(p.getDatabasePlayer().isAllowed(Rank.SrBuilder) && rank.equals(Rank.Builder)) { |
||||
player.getDatabasePlayer().setRank(Rank.Builder); |
||||
//p.sendMessage(p.getMessages().PREFIX() + p.getMessages().Core_SETRANK_SET(player, Rank.Builder));
|
||||
refreshTablist(); |
||||
} |
||||
if(p.getDatabasePlayer().isAllowed(Rank.SrBuilder) && rank.equals(Rank.JrBuilder)) { |
||||
player.getDatabasePlayer().setRank(Rank.JrBuilder); |
||||
//p.sendMessage(p.getMessages().PREFIX() + p.getMessages().Core_SETRANK_SET(player, Rank.JrBuilder));
|
||||
refreshTablist(); |
||||
} |
||||
}else { |
||||
//p.sendMessage(p.getMessages().NOT_ONLINE(args[0]));
|
||||
} |
||||
}catch(IllegalArgumentException ex) { |
||||
ex.printStackTrace(); |
||||
} |
||||
//p.sendMessage(p.getMessages().Core_SETRANK_NO_RANK());
|
||||
} |
||||
}else { |
||||
//p.sendMessage(p.getMessages().NO_PERMS());
|
||||
} |
||||
}else { |
||||
//sender.sendMessage(Messages.Console.NOT_A_PLAYER);
|
||||
} |
||||
return true; |
||||
} |
||||
|
||||
@Override |
||||
public List<String> tabComplete(CommandSender sender, String label, String[] args) { |
||||
List<String> list = Bukkit.getOnlinePlayers().stream().map(Player::getDisplayName).collect(Collectors.toList()); |
||||
for(Rank rank : Rank.values()) |
||||
list.add(rank.name()); |
||||
return list; |
||||
} |
||||
|
||||
private void refreshTablist() { |
||||
|
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue