parent
b53720692f
commit
4556b70d4e
@ -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