diff --git a/.classpath b/.classpath
index 6797ae4..7935976 100644
--- a/.classpath
+++ b/.classpath
@@ -3,5 +3,6 @@
+
diff --git a/src/de/joethei/core/api/Perms.java b/src/de/joethei/core/api/Perms.java
deleted file mode 100644
index a63fcc8..0000000
--- a/src/de/joethei/core/api/Perms.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package de.joethei.core.api;
-
-import de.joethei.core.Core;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.HashMap;
-
-/**
- * some permission management
- * @author joethei
- * @version 1.0
- */
-public class Perms{
-
- private static HashMap ranks = new HashMap();
- public static HashMap getRanks() {
- return ranks;
- }
-
-/**
- * gets the prefix of a player
- * @param p player
- * @return String
- */
-public static String getPrefix(CustomPlayer p) {
- switch(p.getRank()) {
- case Admin: return "§7[§4Admin§7]§4 ";
- case Developer: return "§7[§3Developer§7]§3 ";
- case HeadBuilder: return "§7[§aHead-Builder§7]§a ";
- case Builder: return "§7[§2Builder§7]§2 ";
- case Moderator: return "§7[§cModerator§7]§c ";
- case Supporter: return "§7[§bSupporter§7]§b ";
- case Youtuber: return "§5";
- case Premium: return "§6";
- case Spieler: return "§7";
- default: return "§cFehler ";
- }
- }
-
-/**
- * gets the suffix of a player
- * @param p Player
- * @return String
- */
-public static String getSuffix(CustomPlayer p) {
- switch(p.getRank()) {
- case Admin: return " §8» §f§l";
- case Developer: return " §8» §f§l";
- case HeadBuilder: return " §8» §f§l";
- case Builder: return " §8» §f§l";
- case Moderator: return " §8» §f§l";
- case Supporter: return " §8» §f§l";
- case Youtuber: return " §8» §f§l";
- case Premium: return " §8» §f";
- case Spieler: return " §8» §f";
- default: return "§cFehler";
- }
- }
-
-/**
- * gets color of a player
- * @param p Player
- * @return String
- */
-public static String getColor(CustomPlayer p) {
- switch(p.getRank()) {
- case Admin: return "§4";
- case Developer: return "§3";
- case HeadBuilder: return "§a";
- case Builder: return "§2";
- case Moderator: return "§c";
- case Supporter: return "§b";
- case Youtuber: return "§5";
- case Premium: return "§6";
- case Spieler: return "§7";
- default: return "§cFehler";
- }
- }
-
-/**
- * gets Rank of player
- * @param p Player
- * @return Ranks
- */
-public static Ranks getRank(CustomPlayer p) {
- return getRanks().get(p);
- }
-
-/**
- * gets Rank of player fresh from database
- * @param p Player
- * @return Ranks
- * @throws ClassNotFoundException Class couldn't be found
- * @throws SQLException SQL server not available or throwing error
- */
-public static Ranks getRankFresh(CustomPlayer p) throws SQLException, ClassNotFoundException {
- MySQL sql = Core.returnSQL();
- sql.openConnection();
- ResultSet rs = sql.getConnection().createStatement().executeQuery("SELECT * FROM PlayerData WHERE player_uuid='" + p.getUniqueId() + "'");
- rs.next();
- if (rs.getString("player_uuid") != null) {
- String rank = rs.getString("Rank");
- Ranks Rank = Ranks.valueOf(rank);
- sql.closeConnection();
- return Rank;
- }
- sql.closeConnection();
- return null;
- }
-
- /**
- * sets rank for player
- * @param p Player
- * @param r Ranks
- * @throws ClassNotFoundException Class couldn't be found
- * @throws SQLException SQL server not available or throwing error
- */
-public static void setRank(CustomPlayer p, Ranks r) throws ClassNotFoundException, SQLException {
- MySQL sql = Core.returnSQL();
- sql.openConnection();
- sql.getConnection().createStatement().execute("UPDATE PlayerData SET Rank='" + r.toString() + "' WHERE player_uuid='" + p.getUniqueId() + "';");
- sql.closeConnection();
- }
-
-/**
- * if player is allowed to do
- * @param p Player
- * @param r Ranks
- * @return true / false
- * @throws ClassNotFoundException Class couldn't be found
- * @throws SQLException SQL server not available or throwing error
- */
-public static boolean isAllowed(CustomPlayer p, Ranks r) throws ClassNotFoundException, SQLException{
- Ranks rank;
- if(getRank(p) == null) {
- rank = getRankFresh(p);
- }else {
- rank = getRank(p);
- }
- return rank.value >= r.value;
- }
-
- public static enum Ranks{
- Admin(9),
- Developer(8),
- HeadBuilder(7),
- Builder(6),
- Moderator(5),
- Supporter(4),
- Youtuber(3),
- Premium(2),
- Spieler(1);
-
- public final int value;
-
- private Ranks(int n) {
- this.value = n;
- }
- }
-}
\ No newline at end of file
diff --git a/src/de/joethei/core/Core.java b/src/eu/univento/core/Core.java
similarity index 76%
rename from src/de/joethei/core/Core.java
rename to src/eu/univento/core/Core.java
index 129c0a7..a9a593b 100644
--- a/src/de/joethei/core/Core.java
+++ b/src/eu/univento/core/Core.java
@@ -1,4 +1,4 @@
-package de.joethei.core;
+package eu.univento.core;
import java.io.IOException;
import java.sql.SQLException;
@@ -10,25 +10,27 @@ import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.Config;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.MySQL;
-import de.joethei.core.api.Settings;
-import de.joethei.core.commands.Ban;
-import de.joethei.core.commands.Build;
-import de.joethei.core.commands.Fix;
-import de.joethei.core.commands.GameMode;
-import de.joethei.core.commands.GlobalMute;
-import de.joethei.core.commands.RunAs;
-import de.joethei.core.commands.SetRank;
-import de.joethei.core.commands.SystemInfo;
-import de.joethei.core.commands.Vanish;
-import de.joethei.core.commands.Youtuber;
-import de.joethei.core.listeners.Blocks;
-import de.joethei.core.listeners.Chat;
-import de.joethei.core.listeners.Commands;
-import de.joethei.core.listeners.JoinQuit;
+import eu.univento.core.api.Config;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.MySQL;
+import eu.univento.core.api.Perms;
+import eu.univento.core.api.Settings;
+import eu.univento.core.commands.Ban;
+import eu.univento.core.commands.Build;
+import eu.univento.core.commands.Fix;
+import eu.univento.core.commands.GameMode;
+import eu.univento.core.commands.GlobalMute;
+import eu.univento.core.commands.RunAs;
+import eu.univento.core.commands.SetRank;
+import eu.univento.core.commands.SystemInfo;
+import eu.univento.core.commands.TS;
+import eu.univento.core.commands.Vanish;
+import eu.univento.core.commands.Youtuber;
+import eu.univento.core.listeners.Blocks;
+import eu.univento.core.listeners.Chat;
+import eu.univento.core.listeners.Commands;
+import eu.univento.core.listeners.JoinQuit;
/**
* main class
@@ -51,7 +53,7 @@ public class Core extends JavaPlugin{
/**
* mysql stuff
*/
- private static MySQL sql = new MySQL(getInstance(), Config.readString("MySQL.Host"), Config.readString("MySQL.Port"), Config.readString("MySQL.DB"), Config.readString("MySQL.User"), Config.readString("MySQL.Pass") + "?autoReconnect=true");
+ private static MySQL sql = new MySQL(getInstance(), Config.readString("MySQL.Host"), Config.readString("MySQL.Port"), Config.readString("MySQL.DB"), Config.readString("MySQL.User"), Config.readString("MySQL.Pass"));
/**
* @return sql
*/
@@ -83,12 +85,12 @@ public class Core extends JavaPlugin{
Settings.setBuild(true);
try {
Config.writeDefault();
- } catch (ClassNotFoundException | SQLException | IOException e1) {
- e1.printStackTrace();
+ } catch (ClassNotFoundException | SQLException | IOException e) {
+ e.printStackTrace();
}
instance = this;
if(Settings.isDebug()) log(Level.INFO, "Debug Modus aktiviert");
-
+ Perms.initScoreboard();
PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(new Commands(), this);
pm.registerEvents(new JoinQuit(), this);
@@ -121,6 +123,9 @@ public class Core extends JavaPlugin{
String[] youtuber = {""};
new Youtuber(this, "youtuber", "setzt Spieler in den Youtuber Rang", youtuber);
+ String[] ts = {""};
+ new TS(this, "ts", "verifiziert Spieler auf dem TS", ts);
+
String[] ban = {""};
new Ban(this, "ban", "Bannt Spieler", ban);
@@ -137,7 +142,7 @@ public class Core extends JavaPlugin{
MySQL tempSQL = sql;
tempSQL.openConnection();
- tempSQL.getConnection().createStatement().execute("CREATE TABLE IF NOT EXISTS PlayerData(ID bigint PRIMARY KEY auto_increment, player_uuid varchar(50), FirstJoin TIMESTAMP default now(), Coins bigint, mute boolean, Rank varchar(15), nick boolean, FastMenu boolean, teleport boolean);");
+ tempSQL.getConnection().createStatement().execute("CREATE TABLE IF NOT EXISTS PlayerData(ID bigint PRIMARY KEY auto_increment, player_uuid varchar(50), FirstJoin TIMESTAMP default now(), Coins bigint, mute boolean, Rank varchar(15),TS-ID bigint, Friends varchar(2500), nick boolean, FastMenu boolean, teleport boolean);");
if(Settings.isDebug()) log(Level.INFO, "MySQL PlayerData ausgeführt");
tempSQL.getConnection().createStatement().execute("CREATE TABLE IF NOT EXISTS bans(ID bigint PRIMARY KEY auto_increment, player_uuid varchar(50), Reason varchar(50), who varchar(50));");
@@ -157,6 +162,12 @@ public class Core extends JavaPlugin{
e.printStackTrace();
}
Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
+ try {
+ Messages.writeDefault();
+ Messages.readStrings();
+ } catch (ClassNotFoundException | SQLException e) {
+ e.printStackTrace();
+ }
log(Level.INFO, "Plugin ver. " + getDescription().getVersion() + " gestartet");
}
diff --git a/src/de/joethei/core/api/Actionbar.java b/src/eu/univento/core/api/Actionbar.java
similarity index 93%
rename from src/de/joethei/core/api/Actionbar.java
rename to src/eu/univento/core/api/Actionbar.java
index 2c013c9..bd1cfc6 100644
--- a/src/de/joethei/core/api/Actionbar.java
+++ b/src/eu/univento/core/api/Actionbar.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.lang.reflect.Field;
diff --git a/src/de/joethei/core/api/AutoCommand.java b/src/eu/univento/core/api/AutoCommand.java
similarity index 94%
rename from src/de/joethei/core/api/AutoCommand.java
rename to src/eu/univento/core/api/AutoCommand.java
index 403400e..d2b678b 100644
--- a/src/de/joethei/core/api/AutoCommand.java
+++ b/src/eu/univento/core/api/AutoCommand.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.lang.reflect.Field;
import java.util.ArrayList;
diff --git a/src/de/joethei/core/api/BanSystem.java b/src/eu/univento/core/api/BanSystem.java
similarity index 94%
rename from src/de/joethei/core/api/BanSystem.java
rename to src/eu/univento/core/api/BanSystem.java
index ea2d1ee..46ef3d7 100644
--- a/src/de/joethei/core/api/BanSystem.java
+++ b/src/eu/univento/core/api/BanSystem.java
@@ -1,7 +1,7 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
-import de.joethei.core.Core;
-import de.joethei.core.api.utils.NameFetcher;
+import eu.univento.core.Core;
+import eu.univento.core.api.utils.NameFetcher;
import java.sql.ResultSet;
import java.sql.SQLException;
diff --git a/src/de/joethei/core/api/Blackscreen.java b/src/eu/univento/core/api/Blackscreen.java
similarity index 95%
rename from src/de/joethei/core/api/Blackscreen.java
rename to src/eu/univento/core/api/Blackscreen.java
index cbab265..87844cc 100644
--- a/src/de/joethei/core/api/Blackscreen.java
+++ b/src/eu/univento/core/api/Blackscreen.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
diff --git a/src/de/joethei/core/api/BossBar.java b/src/eu/univento/core/api/BossBar.java
similarity index 93%
rename from src/de/joethei/core/api/BossBar.java
rename to src/eu/univento/core/api/BossBar.java
index 7ff3241..f9a3395 100644
--- a/src/de/joethei/core/api/BossBar.java
+++ b/src/eu/univento/core/api/BossBar.java
@@ -1,11 +1,12 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
-import de.joethei.core.api.utils.FakeDragon;
-import de.joethei.core.api.utils.FakeWither;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.entity.Player;
+import eu.univento.core.api.utils.FakeDragon;
+import eu.univento.core.api.utils.FakeWither;
+
public class BossBar
{
public static Map playerdragonbartask = new HashMap();
diff --git a/src/de/joethei/core/api/Config.java b/src/eu/univento/core/api/Config.java
similarity index 85%
rename from src/de/joethei/core/api/Config.java
rename to src/eu/univento/core/api/Config.java
index 1d20917..41a4f9c 100644
--- a/src/de/joethei/core/api/Config.java
+++ b/src/eu/univento/core/api/Config.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.io.File;
import java.io.IOException;
@@ -29,11 +29,15 @@ public class Config {
//editable messages will be set here, but do not edit this messages.
//seting the default MySQL config.
- cfg.set("MySQL.Host", "192.168.0.101");
- cfg.set("MySQL.Port", "3306");
- cfg.set("MySQL.DB", "core");
- cfg.set("MySQL.User", "root");//best user name
- cfg.set("MySQL.Pass", "");//best password
+ cfg.addDefault("MySQL.Host", "192.168.0.101");
+ cfg.addDefault("MySQL.Port", "3306");
+ cfg.addDefault("MySQL.DB", "core");
+ cfg.addDefault("MySQL.User", "root");//best user name
+ cfg.addDefault("MySQL.Pass", "");//best password
+ cfg.addDefault("TS.IP", "ts.univento.eu");
+ cfg.addDefault("TS.QueryPort", 0);
+ cfg.addDefault("TS.QueryUser", "ServerQuery");
+ cfg.addDefault("TS.QueryPass", "password");
cfg.options().copyDefaults(true);
cfg.save(file);
diff --git a/src/de/joethei/core/api/CustomPlayer.java b/src/eu/univento/core/api/CustomPlayer.java
similarity index 80%
rename from src/de/joethei/core/api/CustomPlayer.java
rename to src/eu/univento/core/api/CustomPlayer.java
index 24f218a..c911632 100644
--- a/src/de/joethei/core/api/CustomPlayer.java
+++ b/src/eu/univento/core/api/CustomPlayer.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.sql.SQLException;
import java.util.HashMap;
@@ -7,8 +7,11 @@ import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_8_R3.CraftServer;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
+import org.bukkit.scoreboard.Team;
-import de.joethei.core.api.Perms.Ranks;
+import com.github.theholywaffle.teamspeak3.api.wrapper.ClientInfo;
+
+import eu.univento.core.api.Perms.Ranks;
/**
* custom player implementation
@@ -132,7 +135,7 @@ public class CustomPlayer extends CraftPlayer {
if(customPrefix != null) {
return customPrefix;
}else {
- return Perms.getPrefix(this);
+ return Perms.getPrefix(getRank());
}
}
@@ -144,7 +147,7 @@ public class CustomPlayer extends CraftPlayer {
if(customSuffix != null) {
return customSuffix;
}
- return Perms.getSuffix(this);
+ return Perms.getSuffix(getRank());
}
/**
@@ -155,7 +158,7 @@ public class CustomPlayer extends CraftPlayer {
if(customColor != null) {
return customColor;
}
- return Perms.getColor(this);
+ return Perms.getColor(getRank());
}
/**
@@ -182,6 +185,14 @@ public class CustomPlayer extends CraftPlayer {
customColor = color;
}
+ /**
+ * gets scoreboard team for player
+ * @return Team
+ */
+ public Team getTeam() {
+ return Perms.getTeam(getRank());
+ }
+
/**
* if player is muted
* @return true/false
@@ -292,4 +303,31 @@ public class CustomPlayer extends CraftPlayer {
}
}
+ /**
+ * gets Client Info from TeamSpeak
+ * @return ClientInfo
+ */
+ public ClientInfo getTSClientInfo() {
+ TeamSpeak ts = new TeamSpeak();
+ try {
+ return ts.getClientInfo(ts.getTsId(this));
+ } catch (ClassNotFoundException | SQLException e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * verifys player account on teamspeak
+ */
+ public void verifyTs() {
+ TeamSpeak ts = new TeamSpeak();
+ try {
+ ts.setRank(this);
+ } catch (ClassNotFoundException | SQLException e) {
+ e.printStackTrace();
+ }
+ }
+
+
}
\ No newline at end of file
diff --git a/src/de/joethei/core/api/Database.java b/src/eu/univento/core/api/Database.java
similarity index 93%
rename from src/de/joethei/core/api/Database.java
rename to src/eu/univento/core/api/Database.java
index a8d3676..9893a65 100644
--- a/src/de/joethei/core/api/Database.java
+++ b/src/eu/univento/core/api/Database.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.sql.Connection;
import java.sql.ResultSet;
diff --git a/src/de/joethei/core/api/EntityModifier.java b/src/eu/univento/core/api/EntityModifier.java
similarity index 95%
rename from src/de/joethei/core/api/EntityModifier.java
rename to src/eu/univento/core/api/EntityModifier.java
index 523c3d0..3373927 100644
--- a/src/de/joethei/core/api/EntityModifier.java
+++ b/src/eu/univento/core/api/EntityModifier.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.lang.reflect.Field;
import net.minecraft.server.v1_8_R3.EntityLiving;
diff --git a/src/de/joethei/core/api/Hologram.java b/src/eu/univento/core/api/Hologram.java
similarity index 96%
rename from src/de/joethei/core/api/Hologram.java
rename to src/eu/univento/core/api/Hologram.java
index 1e18174..7bf9a04 100644
--- a/src/de/joethei/core/api/Hologram.java
+++ b/src/eu/univento/core/api/Hologram.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
diff --git a/src/de/joethei/core/api/ItemSkulls.java b/src/eu/univento/core/api/ItemSkulls.java
similarity index 96%
rename from src/de/joethei/core/api/ItemSkulls.java
rename to src/eu/univento/core/api/ItemSkulls.java
index fdbe580..0480aa2 100644
--- a/src/de/joethei/core/api/ItemSkulls.java
+++ b/src/eu/univento/core/api/ItemSkulls.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
diff --git a/src/de/joethei/core/api/Letters.java b/src/eu/univento/core/api/Letters.java
similarity index 95%
rename from src/de/joethei/core/api/Letters.java
rename to src/eu/univento/core/api/Letters.java
index 12c8f3a..95874b1 100644
--- a/src/de/joethei/core/api/Letters.java
+++ b/src/eu/univento/core/api/Letters.java
@@ -1,12 +1,13 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
-import de.joethei.core.api.utils.Direction;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
+import eu.univento.core.api.utils.Direction;
+
public enum Letters
{
LETTER_A('a',
diff --git a/src/de/joethei/core/api/Messages.java b/src/eu/univento/core/api/Messages.java
similarity index 96%
rename from src/de/joethei/core/api/Messages.java
rename to src/eu/univento/core/api/Messages.java
index a354fc7..0110f7a 100644
--- a/src/de/joethei/core/api/Messages.java
+++ b/src/eu/univento/core/api/Messages.java
@@ -1,9 +1,9 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.sql.ResultSet;
import java.sql.SQLException;
-import de.joethei.core.Core;
+import eu.univento.core.Core;
/**
* messages from database
diff --git a/src/de/joethei/core/api/MojangService.java b/src/eu/univento/core/api/MojangService.java
similarity index 95%
rename from src/de/joethei/core/api/MojangService.java
rename to src/eu/univento/core/api/MojangService.java
index 50aab6a..7421f72 100644
--- a/src/de/joethei/core/api/MojangService.java
+++ b/src/eu/univento/core/api/MojangService.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/src/de/joethei/core/api/MuteSystem.java b/src/eu/univento/core/api/MuteSystem.java
similarity index 92%
rename from src/de/joethei/core/api/MuteSystem.java
rename to src/eu/univento/core/api/MuteSystem.java
index 02089cc..4eff166 100644
--- a/src/de/joethei/core/api/MuteSystem.java
+++ b/src/eu/univento/core/api/MuteSystem.java
@@ -1,10 +1,10 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
+import eu.univento.core.Core;
/**
* querys database for muted players
diff --git a/src/de/joethei/core/api/MySQL.java b/src/eu/univento/core/api/MySQL.java
similarity index 93%
rename from src/de/joethei/core/api/MySQL.java
rename to src/eu/univento/core/api/MySQL.java
index a7dbf9e..b11a920 100644
--- a/src/de/joethei/core/api/MySQL.java
+++ b/src/eu/univento/core/api/MySQL.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.sql.Connection;
import java.sql.DriverManager;
diff --git a/src/de/joethei/core/api/NPC.java b/src/eu/univento/core/api/NPC.java
similarity index 97%
rename from src/de/joethei/core/api/NPC.java
rename to src/eu/univento/core/api/NPC.java
index 8f44283..d081bde 100644
--- a/src/de/joethei/core/api/NPC.java
+++ b/src/eu/univento/core/api/NPC.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
diff --git a/src/de/joethei/core/api/NickName.java b/src/eu/univento/core/api/NickName.java
similarity index 94%
rename from src/de/joethei/core/api/NickName.java
rename to src/eu/univento/core/api/NickName.java
index 96f34d0..401f1ff 100644
--- a/src/de/joethei/core/api/NickName.java
+++ b/src/eu/univento/core/api/NickName.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -6,7 +6,7 @@ import java.util.ArrayList;
import java.util.Random;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
+import eu.univento.core.Core;
/**
* gets nick settings for players
diff --git a/src/de/joethei/core/api/Pagifier.java b/src/eu/univento/core/api/Pagifier.java
similarity index 94%
rename from src/de/joethei/core/api/Pagifier.java
rename to src/eu/univento/core/api/Pagifier.java
index aab2585..f024d14 100644
--- a/src/de/joethei/core/api/Pagifier.java
+++ b/src/eu/univento/core/api/Pagifier.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/eu/univento/core/api/Perms.java b/src/eu/univento/core/api/Perms.java
new file mode 100644
index 0000000..56d073b
--- /dev/null
+++ b/src/eu/univento/core/api/Perms.java
@@ -0,0 +1,237 @@
+package eu.univento.core.api;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashMap;
+
+import org.bukkit.Bukkit;
+import org.bukkit.scoreboard.NameTagVisibility;
+import org.bukkit.scoreboard.Scoreboard;
+import org.bukkit.scoreboard.Team;
+
+import eu.univento.core.Core;
+
+/**
+ * some permission management
+ * @author joethei
+ * @version 1.0
+ */
+public class Perms{
+
+ private static HashMap ranks = new HashMap();
+ public static HashMap getRanks() {
+ return ranks;
+ }
+
+/**
+ * gets the prefix of a player
+ * @param r Ranks
+ * @return String
+ */
+public static String getPrefix(Ranks r) {
+ switch(r) {
+ case Admin: return "§7[§4Admin§7]§4 ";
+ case Developer: return "§7[§aDeveloper§7]§3 ";
+ case Moderator: return "§7[§cModerator§7]§c ";
+ case HeadBuilder: return "§7[§2Head-Builder§7]§a ";
+ case Builder: return "§7[§2Builder§7]§2 ";
+ case Supporter: return "§7[§bSupporter§7]§b ";
+ case Youtuber: return "§5";
+ case Premium: return "§6";
+ case Spieler: return "§7";
+ default: return "§cFehler ";
+ }
+ }
+
+/**
+ * gets the suffix of a player
+ * @param r Ranks
+ * @return String
+ */
+public static String getSuffix(Ranks r) {
+ switch(r) {
+ case Admin: return " §8» §6";
+ case Developer: return " §8» §f";
+ case Moderator: return " §8» §f";
+ case HeadBuilder: return " §8» §f";
+ case Builder: return " §8» §f";
+ case Supporter: return " §8» §f";
+ case Youtuber: return " §8» §f";
+ case Premium: return " §8» §f";
+ case Spieler: return " §8» §f";
+ default: return "§cFehler";
+ }
+ }
+
+/**
+ * gets color of a player
+ * @param r Ranks
+ * @return String
+ */
+public static String getColor(Ranks r) {
+ switch(r) {
+ case Admin: return "§4";
+ case Developer: return "§3";
+ case Moderator: return "§c";
+ case HeadBuilder: return "§a";
+ case Builder: return "§2";
+ case Supporter: return "§b";
+ case Youtuber: return "§5";
+ case Premium: return "§6";
+ case Spieler: return "§7";
+ default: return "§cFehler";
+ }
+ }
+
+public static Team getTeam(Ranks r) {
+ switch(r) {
+ case Admin: return Teams.Admin;
+ case Developer: return Teams.Developer;
+ case Moderator: return Teams.Moderator;
+ case HeadBuilder: return Teams.HeadBuilder;
+ case Builder: return Teams.Builder;
+ case Supporter: return Teams.Supporter;
+ case Youtuber: return Teams.Youtuber;
+ case Premium: return Teams.Premium;
+ case Spieler: return Teams.Spieler;
+ default: return null;
+ }
+}
+
+public static class Teams {
+ private static Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard();
+ public static Team Admin = board.getTeam("a");
+ public static Team Developer = board.getTeam("b");
+ public static Team Moderator = board.getTeam("c");
+ public static Team HeadBuilder = board.getTeam("d");
+ public static Team Builder = board.getTeam("e");
+ public static Team Supporter = board.getTeam("f");
+ public static Team Youtuber = board.getTeam("g");
+ public static Team Premium = board.getTeam("h");
+ public static Team Spieler = board.getTeam("i");
+}
+
+
+public static void initScoreboard() {
+ Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard();
+ Teams.Admin.unregister();
+ Teams.Developer.unregister();
+ Teams.Moderator.unregister();
+ Teams.HeadBuilder.unregister();
+ Teams.Builder.unregister();
+ Teams.Supporter.unregister();
+ Teams.Youtuber.unregister();
+ Teams.Premium.unregister();
+ Teams.Spieler.unregister();
+
+ Team Admin = board.registerNewTeam("a");
+ Team Developer = board.registerNewTeam("b");
+ Team Moderator = board.registerNewTeam("c");
+ Team HeadBuilder = board.registerNewTeam("d");
+ Team Builder = board.registerNewTeam("e");
+ Team Supporter = board.registerNewTeam("f");
+ Team Youtuber = board.registerNewTeam("g");
+ Team Premium = board.registerNewTeam("h");
+ Team Spieler = board.registerNewTeam("i");
+
+ Teams.Admin.setPrefix(getColor(Ranks.Admin));
+ Teams.Developer.setPrefix(getColor(Ranks.Developer));
+ Teams.Moderator.setPrefix(getColor(Ranks.Moderator));
+ Teams.HeadBuilder.setPrefix(getColor(Ranks.HeadBuilder));
+ Teams.Builder.setPrefix(getColor(Ranks.Builder));
+ Teams.Supporter.setPrefix(getColor(Ranks.Supporter));
+ Teams.Youtuber.setPrefix(getColor(Ranks.Youtuber));
+ Teams.Premium.setPrefix(getColor(Ranks.Premium));
+ Teams.Spieler.setPrefix(getColor(Ranks.Spieler));
+
+ Teams.Admin.setNameTagVisibility(NameTagVisibility.ALWAYS);
+ Teams.Developer.setNameTagVisibility(NameTagVisibility.ALWAYS);
+ Teams.Moderator.setNameTagVisibility(NameTagVisibility.ALWAYS);
+ Teams.HeadBuilder.setNameTagVisibility(NameTagVisibility.ALWAYS);
+ Teams.Builder.setNameTagVisibility(NameTagVisibility.ALWAYS);
+ Teams.Supporter.setNameTagVisibility(NameTagVisibility.ALWAYS);
+ Teams.Youtuber.setNameTagVisibility(NameTagVisibility.ALWAYS);
+ Teams.Premium.setNameTagVisibility(NameTagVisibility.ALWAYS);
+ Teams.Spieler.setNameTagVisibility(NameTagVisibility.ALWAYS);
+}
+/**
+ * gets Rank of player
+ * @param p Player
+ * @return Ranks
+ */
+public static Ranks getRank(CustomPlayer p) {
+ return getRanks().get(p);
+ }
+
+/**
+ * gets Rank of player fresh from database
+ * @param p Player
+ * @return Ranks
+ * @throws ClassNotFoundException Class couldn't be found
+ * @throws SQLException SQL server not available or throwing error
+ */
+public static Ranks getRankFresh(CustomPlayer p) throws SQLException, ClassNotFoundException {
+ MySQL sql = Core.returnSQL();
+ sql.openConnection();
+ ResultSet rs = sql.getConnection().createStatement().executeQuery("SELECT * FROM PlayerData WHERE player_uuid='" + p.getUniqueId() + "'");
+ rs.next();
+ if (rs.getString("player_uuid") != null) {
+ String rank = rs.getString("Rank");
+ Ranks Rank = Ranks.valueOf(rank);
+ sql.closeConnection();
+ return Rank;
+ }
+ sql.closeConnection();
+ return null;
+ }
+
+ /**
+ * sets rank for player
+ * @param p Player
+ * @param r Ranks
+ * @throws ClassNotFoundException Class couldn't be found
+ * @throws SQLException SQL server not available or throwing error
+ */
+public static void setRank(CustomPlayer p, Ranks r) throws ClassNotFoundException, SQLException {
+ MySQL sql = Core.returnSQL();
+ sql.openConnection();
+ sql.getConnection().createStatement().execute("UPDATE PlayerData SET Rank='" + r.toString() + "' WHERE player_uuid='" + p.getUniqueId() + "';");
+ sql.closeConnection();
+ }
+
+/**
+ * if player is allowed to do
+ * @param p Player
+ * @param r Ranks
+ * @return true / false
+ * @throws ClassNotFoundException Class couldn't be found
+ * @throws SQLException SQL server not available or throwing error
+ */
+public static boolean isAllowed(CustomPlayer p, Ranks r) throws ClassNotFoundException, SQLException{
+ Ranks rank;
+ if(getRank(p) == null) {
+ rank = getRankFresh(p);
+ }else {
+ rank = getRank(p);
+ }
+ return rank.value >= r.value;
+ }
+
+ public static enum Ranks{
+ Admin(9),
+ Developer(8),
+ Moderator(7),
+ HeadBuilder(6),
+ Builder(5),
+ Supporter(4),
+ Youtuber(3),
+ Premium(2),
+ Spieler(1);
+
+ public final int value;
+
+ private Ranks(int n) {
+ this.value = n;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/de/joethei/core/api/SQLite.java b/src/eu/univento/core/api/SQLite.java
similarity index 93%
rename from src/de/joethei/core/api/SQLite.java
rename to src/eu/univento/core/api/SQLite.java
index 46f203f..7dc16f3 100644
--- a/src/de/joethei/core/api/SQLite.java
+++ b/src/eu/univento/core/api/SQLite.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.io.File;
import java.io.IOException;
diff --git a/src/de/joethei/core/api/ServerPinger.java b/src/eu/univento/core/api/ServerPinger.java
similarity index 94%
rename from src/de/joethei/core/api/ServerPinger.java
rename to src/eu/univento/core/api/ServerPinger.java
index 18713d9..f46014a 100644
--- a/src/de/joethei/core/api/ServerPinger.java
+++ b/src/eu/univento/core/api/ServerPinger.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.io.DataOutputStream;
import java.io.InputStream;
diff --git a/src/de/joethei/core/api/Servers.java b/src/eu/univento/core/api/Servers.java
similarity index 93%
rename from src/de/joethei/core/api/Servers.java
rename to src/eu/univento/core/api/Servers.java
index 598aac0..34ee3e9 100644
--- a/src/de/joethei/core/api/Servers.java
+++ b/src/eu/univento/core/api/Servers.java
@@ -1,9 +1,10 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import com.google.common.collect.Iterables;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
-import de.joethei.core.Core;
+
+import eu.univento.core.Core;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
diff --git a/src/de/joethei/core/api/Settings.java b/src/eu/univento/core/api/Settings.java
similarity index 91%
rename from src/de/joethei/core/api/Settings.java
rename to src/eu/univento/core/api/Settings.java
index 21e8dc3..e384b63 100644
--- a/src/de/joethei/core/api/Settings.java
+++ b/src/eu/univento/core/api/Settings.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
/**
* server-wide settings
diff --git a/src/de/joethei/core/api/SignInput.java b/src/eu/univento/core/api/SignInput.java
similarity index 96%
rename from src/de/joethei/core/api/SignInput.java
rename to src/eu/univento/core/api/SignInput.java
index 72a5979..969c44a 100644
--- a/src/de/joethei/core/api/SignInput.java
+++ b/src/eu/univento/core/api/SignInput.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
diff --git a/src/de/joethei/core/api/SimpleScoreboard.java b/src/eu/univento/core/api/SimpleScoreboard.java
similarity index 95%
rename from src/de/joethei/core/api/SimpleScoreboard.java
rename to src/eu/univento/core/api/SimpleScoreboard.java
index 314a9d5..8de6224 100644
--- a/src/de/joethei/core/api/SimpleScoreboard.java
+++ b/src/eu/univento/core/api/SimpleScoreboard.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
diff --git a/src/de/joethei/core/api/Spectator.java b/src/eu/univento/core/api/Spectator.java
similarity index 93%
rename from src/de/joethei/core/api/Spectator.java
rename to src/eu/univento/core/api/Spectator.java
index a184c83..981ae22 100644
--- a/src/de/joethei/core/api/Spectator.java
+++ b/src/eu/univento/core/api/Spectator.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.util.ArrayList;
diff --git a/src/eu/univento/core/api/TeamSpeak.java b/src/eu/univento/core/api/TeamSpeak.java
new file mode 100644
index 0000000..11b7739
--- /dev/null
+++ b/src/eu/univento/core/api/TeamSpeak.java
@@ -0,0 +1,146 @@
+package eu.univento.core.api;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.logging.Level;
+
+import com.github.theholywaffle.teamspeak3.TS3Api;
+import com.github.theholywaffle.teamspeak3.TS3Config;
+import com.github.theholywaffle.teamspeak3.TS3Query;
+import com.github.theholywaffle.teamspeak3.api.wrapper.Client;
+import com.github.theholywaffle.teamspeak3.api.wrapper.ClientInfo;
+
+import eu.univento.core.Core;
+import eu.univento.core.api.Perms.Ranks;
+
+/**
+ * basic functions for teamspeak communication
+ * @author joethei
+ * @version 1.0
+ */
+public class TeamSpeak {
+
+ private TS3Api api;
+
+ private static int verified = 11;
+ public static int getVerifiedId() {
+ return verified;
+ }
+
+ /**
+ * inits class
+ */
+ public TeamSpeak() {
+ final TS3Config config = new TS3Config();
+ config.setHost(Config.readString("TS.IP"));
+ config.setQueryPort(Config.readInt("TS.QueryPort"));
+ config.setDebugLevel(Level.ALL);
+ config.setLoginCredentials(Config.readString("TS.QueryUser"), Config.readString("TS.Query.Pass"));
+ final TS3Query query = new TS3Query(config);
+ query.connect();
+
+ final TS3Api api = query.getApi();
+ api.selectVirtualServerById(1);
+ api.setNickname("Rechteverteiler");
+ this.api = api;
+ }
+
+ /**
+ * gets teamspeak api
+ * @return TS3Api
+ */
+ public TS3Api getAPI() {
+ return api;
+ }
+
+ /**
+ * gets client info for id
+ * @param id database id
+ * @return ClientInfo
+ */
+ public ClientInfo getClientInfo(int id) {
+ return api.getClientInfo(id);
+ }
+
+ /**
+ * gets database id from teamspeak for player
+ * @param p CustomPlayer
+ * @return Integer
+ * @throws SQLException SQL server not available or throwing error
+ * @throws ClassNotFoundException class couldn't be found
+ */
+ public int getTsId(CustomPlayer p) throws ClassNotFoundException, SQLException {
+ MySQL sql = Core.returnSQL();
+ sql.openConnection();
+ ResultSet rs = sql.getConnection().createStatement().executeQuery("SELECT * FROM PlayerData WHERE player_uuid='" + p.getUniqueId() + "'");
+ rs.next();
+ if (rs.getInt("TS-ID") != 0) {
+ int id = rs.getInt("TS-ID");
+ sql.closeConnection();
+ return id;
+ }
+ sql.closeConnection();
+ return 0;
+ }
+
+ /**
+ * writes id of player to database
+ * @param p CustomPlayer
+ * @param id database id
+ * @throws SQLException SQL server not available or throwing error
+ * @throws ClassNotFoundException class couldn't be found
+ */
+ private void setTsId(CustomPlayer p, int id) throws ClassNotFoundException, SQLException {
+ MySQL sql = Core.returnSQL();
+ sql.openConnection();
+ sql.getConnection().createStatement().execute("UPDATE PlayerData SET TS-ID='" + id + "' WHERE player_uuid='" + p.getUniqueId() + "';");
+ sql.closeConnection();
+ }
+
+ /**
+ * sets rank on teamspeak
+ * @param p CustomPlayer
+ * @throws SQLException SQL server not available or throwing error
+ * @throws ClassNotFoundException class couldn't be found
+ */
+ public void setRank(CustomPlayer p) throws ClassNotFoundException, SQLException {
+ TS3Api api = getAPI();
+ for(int i = 0; i >= api.getClients().size(); i++) {
+ String player_ip = p.getAddress().getHostName();
+ Client client = api.getClients().get(i);
+ ClientInfo info = api.getClientInfo(client.getId());
+ String ts_ip = info.getIp();
+ if(player_ip == ts_ip) {
+ int db_id = getTsId(p);
+ if(db_id == 0) {
+ api.removeClientFromServerGroup(getIdForRank(p.getRank()), db_id);
+ api.removeClientFromServerGroup(getVerifiedId(), db_id);
+ }
+ api.addClientToServerGroup(getIdForRank(p.getRank()), client.getDatabaseId());
+ api.addClientToServerGroup(getVerifiedId(), client.getDatabaseId());
+ setTsId(p, client.getDatabaseId());
+ }
+ }
+ }
+
+ /**
+ * gets group id for rank
+ * @param r Ranks
+ * @return Integer
+ */
+ public int getIdForRank(Ranks r) {
+ switch(r) {
+ case Admin: return 10;
+ case Developer: return 13;
+ case Moderator: return 12;
+ case HeadBuilder: return 19;
+ case Builder: return 20;
+ case Supporter: return 14;
+ case Youtuber: return 21;
+ case Premium: return 22;
+ case Spieler: return 42;
+ default: return 0;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/de/joethei/core/api/Title.java b/src/eu/univento/core/api/Title.java
similarity index 96%
rename from src/de/joethei/core/api/Title.java
rename to src/eu/univento/core/api/Title.java
index f70ee97..a7eb6f8 100644
--- a/src/de/joethei/core/api/Title.java
+++ b/src/eu/univento/core/api/Title.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.lang.reflect.Field;
import net.minecraft.server.v1_8_R3.IChatBaseComponent;
diff --git a/src/de/joethei/core/api/Utils.java b/src/eu/univento/core/api/Utils.java
similarity index 96%
rename from src/de/joethei/core/api/Utils.java
rename to src/eu/univento/core/api/Utils.java
index d94cc90..e20edea 100644
--- a/src/de/joethei/core/api/Utils.java
+++ b/src/eu/univento/core/api/Utils.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api;
+package eu.univento.core.api;
import java.io.File;
import java.util.List;
diff --git a/src/de/joethei/core/api/twitch/API.java b/src/eu/univento/core/api/twitch/API.java
similarity index 89%
rename from src/de/joethei/core/api/twitch/API.java
rename to src/eu/univento/core/api/twitch/API.java
index 25f5545..8faf136 100644
--- a/src/de/joethei/core/api/twitch/API.java
+++ b/src/eu/univento/core/api/twitch/API.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.twitch;
+package eu.univento.core.api.twitch;
import java.io.BufferedReader;
diff --git a/src/de/joethei/core/api/twitch/Twitch_API.java b/src/eu/univento/core/api/twitch/Twitch_API.java
similarity index 89%
rename from src/de/joethei/core/api/twitch/Twitch_API.java
rename to src/eu/univento/core/api/twitch/Twitch_API.java
index b061394..5f1023d 100644
--- a/src/de/joethei/core/api/twitch/Twitch_API.java
+++ b/src/eu/univento/core/api/twitch/Twitch_API.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.twitch;
+package eu.univento.core.api.twitch;
import com.google.gson.Gson;
diff --git a/src/de/joethei/core/api/twitch/Twitch_Stream.java b/src/eu/univento/core/api/twitch/Twitch_Stream.java
similarity index 95%
rename from src/de/joethei/core/api/twitch/Twitch_Stream.java
rename to src/eu/univento/core/api/twitch/Twitch_Stream.java
index 796cdde..333cafa 100644
--- a/src/de/joethei/core/api/twitch/Twitch_Stream.java
+++ b/src/eu/univento/core/api/twitch/Twitch_Stream.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.twitch;
+package eu.univento.core.api.twitch;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
diff --git a/src/de/joethei/core/api/utils/Direction.java b/src/eu/univento/core/api/utils/Direction.java
similarity index 88%
rename from src/de/joethei/core/api/utils/Direction.java
rename to src/eu/univento/core/api/utils/Direction.java
index 98d7015..2eee2fb 100644
--- a/src/de/joethei/core/api/utils/Direction.java
+++ b/src/eu/univento/core/api/utils/Direction.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
public enum Direction
{
diff --git a/src/de/joethei/core/api/utils/FakeDragon.java b/src/eu/univento/core/api/utils/FakeDragon.java
similarity index 97%
rename from src/de/joethei/core/api/utils/FakeDragon.java
rename to src/eu/univento/core/api/utils/FakeDragon.java
index 4a7aa9f..45643e4 100644
--- a/src/de/joethei/core/api/utils/FakeDragon.java
+++ b/src/eu/univento/core/api/utils/FakeDragon.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
diff --git a/src/de/joethei/core/api/utils/FakeWither.java b/src/eu/univento/core/api/utils/FakeWither.java
similarity index 97%
rename from src/de/joethei/core/api/utils/FakeWither.java
rename to src/eu/univento/core/api/utils/FakeWither.java
index c7a1673..86f7158 100644
--- a/src/de/joethei/core/api/utils/FakeWither.java
+++ b/src/eu/univento/core/api/utils/FakeWither.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
diff --git a/src/de/joethei/core/api/utils/GameProfileBuilder.java b/src/eu/univento/core/api/utils/GameProfileBuilder.java
similarity index 96%
rename from src/de/joethei/core/api/utils/GameProfileBuilder.java
rename to src/eu/univento/core/api/utils/GameProfileBuilder.java
index eca3cc2..935d3b6 100644
--- a/src/de/joethei/core/api/utils/GameProfileBuilder.java
+++ b/src/eu/univento/core/api/utils/GameProfileBuilder.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
diff --git a/src/de/joethei/core/api/utils/Maths.java b/src/eu/univento/core/api/utils/Maths.java
similarity index 95%
rename from src/de/joethei/core/api/utils/Maths.java
rename to src/eu/univento/core/api/utils/Maths.java
index 06f64c2..de40715 100644
--- a/src/de/joethei/core/api/utils/Maths.java
+++ b/src/eu/univento/core/api/utils/Maths.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
import java.util.Calendar;
import java.util.GregorianCalendar;
diff --git a/src/de/joethei/core/api/utils/NameFetcher.java b/src/eu/univento/core/api/utils/NameFetcher.java
similarity index 95%
rename from src/de/joethei/core/api/utils/NameFetcher.java
rename to src/eu/univento/core/api/utils/NameFetcher.java
index 33ea47d..7365c24 100644
--- a/src/de/joethei/core/api/utils/NameFetcher.java
+++ b/src/eu/univento/core/api/utils/NameFetcher.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
import com.google.common.collect.ImmutableList;
import java.io.InputStreamReader;
diff --git a/src/de/joethei/core/api/utils/RandomCollection.java b/src/eu/univento/core/api/utils/RandomCollection.java
similarity index 92%
rename from src/de/joethei/core/api/utils/RandomCollection.java
rename to src/eu/univento/core/api/utils/RandomCollection.java
index b9b72a6..9390669 100644
--- a/src/de/joethei/core/api/utils/RandomCollection.java
+++ b/src/eu/univento/core/api/utils/RandomCollection.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
import java.util.NavigableMap;
import java.util.Random;
diff --git a/src/de/joethei/core/api/utils/Reflection.java b/src/eu/univento/core/api/utils/Reflection.java
similarity index 95%
rename from src/de/joethei/core/api/utils/Reflection.java
rename to src/eu/univento/core/api/utils/Reflection.java
index 20cef4a..17880fe 100644
--- a/src/de/joethei/core/api/utils/Reflection.java
+++ b/src/eu/univento/core/api/utils/Reflection.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
diff --git a/src/de/joethei/core/api/utils/Vectors.java b/src/eu/univento/core/api/utils/Vectors.java
similarity index 93%
rename from src/de/joethei/core/api/utils/Vectors.java
rename to src/eu/univento/core/api/utils/Vectors.java
index 466f223..f72bdf5 100644
--- a/src/de/joethei/core/api/utils/Vectors.java
+++ b/src/eu/univento/core/api/utils/Vectors.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.utils;
+package eu.univento.core.api.utils;
import org.bukkit.util.Vector;
diff --git a/src/de/joethei/core/api/youtube/YTAPI.java b/src/eu/univento/core/api/youtube/YTAPI.java
similarity index 96%
rename from src/de/joethei/core/api/youtube/YTAPI.java
rename to src/eu/univento/core/api/youtube/YTAPI.java
index 0e4c897..53bea44 100644
--- a/src/de/joethei/core/api/youtube/YTAPI.java
+++ b/src/eu/univento/core/api/youtube/YTAPI.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.youtube;
+package eu.univento.core.api.youtube;
import java.io.BufferedReader;
import java.io.InputStreamReader;
diff --git a/src/de/joethei/core/api/youtube/YoutubeChannel.java b/src/eu/univento/core/api/youtube/YoutubeChannel.java
similarity index 96%
rename from src/de/joethei/core/api/youtube/YoutubeChannel.java
rename to src/eu/univento/core/api/youtube/YoutubeChannel.java
index 1dd33dc..0e611f3 100644
--- a/src/de/joethei/core/api/youtube/YoutubeChannel.java
+++ b/src/eu/univento/core/api/youtube/YoutubeChannel.java
@@ -1,4 +1,4 @@
-package de.joethei.core.api.youtube;
+package eu.univento.core.api.youtube;
import java.beans.ConstructorProperties;
diff --git a/src/de/joethei/core/commands/Ban.java b/src/eu/univento/core/commands/Ban.java
similarity index 88%
rename from src/de/joethei/core/commands/Ban.java
rename to src/eu/univento/core/commands/Ban.java
index be3b2bf..b6a5280 100644
--- a/src/de/joethei/core/commands/Ban.java
+++ b/src/eu/univento/core/commands/Ban.java
@@ -1,4 +1,4 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.ArrayList;
import java.util.HashMap;
@@ -8,11 +8,11 @@ import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.Perms.Ranks;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Perms.Ranks;
/**
* command to ban players
diff --git a/src/de/joethei/core/commands/Build.java b/src/eu/univento/core/commands/Build.java
similarity index 82%
rename from src/de/joethei/core/commands/Build.java
rename to src/eu/univento/core/commands/Build.java
index 6af9575..fadfd52 100644
--- a/src/de/joethei/core/commands/Build.java
+++ b/src/eu/univento/core/commands/Build.java
@@ -1,4 +1,4 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.ArrayList;
import java.util.List;
@@ -6,11 +6,11 @@ import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Perms.Ranks;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Perms.Ranks;
/**
* lets player build
diff --git a/src/de/joethei/core/commands/Fix.java b/src/eu/univento/core/commands/Fix.java
similarity index 87%
rename from src/de/joethei/core/commands/Fix.java
rename to src/eu/univento/core/commands/Fix.java
index d881503..a2c7989 100644
--- a/src/de/joethei/core/commands/Fix.java
+++ b/src/eu/univento/core/commands/Fix.java
@@ -1,4 +1,4 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.ArrayList;
import java.util.List;
@@ -7,10 +7,10 @@ import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
/**
* fixes players
diff --git a/src/de/joethei/core/commands/GameMode.java b/src/eu/univento/core/commands/GameMode.java
similarity index 86%
rename from src/de/joethei/core/commands/GameMode.java
rename to src/eu/univento/core/commands/GameMode.java
index ef30461..7a7cfb1 100644
--- a/src/de/joethei/core/commands/GameMode.java
+++ b/src/eu/univento/core/commands/GameMode.java
@@ -1,4 +1,4 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.ArrayList;
import java.util.List;
@@ -6,11 +6,11 @@ import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Perms.Ranks;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Perms.Ranks;
/**
* changes game modes
diff --git a/src/de/joethei/core/commands/GlobalMute.java b/src/eu/univento/core/commands/GlobalMute.java
similarity index 78%
rename from src/de/joethei/core/commands/GlobalMute.java
rename to src/eu/univento/core/commands/GlobalMute.java
index a054834..5c8b8c0 100644
--- a/src/de/joethei/core/commands/GlobalMute.java
+++ b/src/eu/univento/core/commands/GlobalMute.java
@@ -1,16 +1,16 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Perms.Ranks;
-import de.joethei.core.api.Settings;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Settings;
+import eu.univento.core.api.Perms.Ranks;
/**
* mutes the whole server
diff --git a/src/de/joethei/core/commands/RunAs.java b/src/eu/univento/core/commands/RunAs.java
similarity index 85%
rename from src/de/joethei/core/commands/RunAs.java
rename to src/eu/univento/core/commands/RunAs.java
index a533b6a..ad03ac7 100644
--- a/src/de/joethei/core/commands/RunAs.java
+++ b/src/eu/univento/core/commands/RunAs.java
@@ -1,4 +1,4 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.ArrayList;
import java.util.List;
@@ -7,11 +7,11 @@ import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Perms.Ranks;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Perms.Ranks;
/**
* lets other player run commands
diff --git a/src/de/joethei/core/commands/SetRank.java b/src/eu/univento/core/commands/SetRank.java
similarity index 86%
rename from src/de/joethei/core/commands/SetRank.java
rename to src/eu/univento/core/commands/SetRank.java
index 9957208..e108c16 100644
--- a/src/de/joethei/core/commands/SetRank.java
+++ b/src/eu/univento/core/commands/SetRank.java
@@ -1,4 +1,4 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.sql.SQLException;
import java.util.ArrayList;
@@ -8,12 +8,12 @@ import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Perms;
-import de.joethei.core.api.Perms.Ranks;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Perms;
+import eu.univento.core.api.Perms.Ranks;
/**
* sets ranks for players
diff --git a/src/de/joethei/core/commands/SystemInfo.java b/src/eu/univento/core/commands/SystemInfo.java
similarity index 86%
rename from src/de/joethei/core/commands/SystemInfo.java
rename to src/eu/univento/core/commands/SystemInfo.java
index 4085e09..e087738 100644
--- a/src/de/joethei/core/commands/SystemInfo.java
+++ b/src/eu/univento/core/commands/SystemInfo.java
@@ -1,4 +1,4 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.List;
@@ -6,11 +6,11 @@ import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Perms.Ranks;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Perms.Ranks;
/**
* prints infos about the server
diff --git a/src/eu/univento/core/commands/TS.java b/src/eu/univento/core/commands/TS.java
new file mode 100644
index 0000000..8b0c2a8
--- /dev/null
+++ b/src/eu/univento/core/commands/TS.java
@@ -0,0 +1,57 @@
+package eu.univento.core.commands;
+
+import java.util.List;
+
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.TeamSpeak;
+
+/**
+ * sets ts groups according to player rank
+ * @author joethei
+ * @version 1.0
+ */
+public class TS extends AutoCommand{
+
+ /**
+ * @param plugin main class
+ * @param command command to execute
+ * @param description describes the command
+ * @param aliases aliases of command
+ */
+ public TS(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.getTSClientInfo() != null) {
+ for(int i = 0; i >= p.getTSClientInfo().getServerGroups().length; i++) {
+ int[] groups = p.getTSClientInfo().getServerGroups();
+ if(groups[i] == TeamSpeak.getVerifiedId()) {
+ p.sendMessage(Messages.PREFIX + "§cDu hast schon einen verknüpften TS Account !");
+ }else {
+ p.verifyTs();
+ p.sendMessage(Messages.PREFIX + "§aDu bist nun verifiziert");
+ }
+ }
+ }
+ }else {
+ sender.sendMessage(Messages.NOT_A_PLAYER);
+ }
+ return true;
+ }
+
+ @Override
+ public List tabComplete(CommandSender sender, String label, String[] args) {
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/src/de/joethei/core/commands/Twitch.java b/src/eu/univento/core/commands/Twitch.java
similarity index 83%
rename from src/de/joethei/core/commands/Twitch.java
rename to src/eu/univento/core/commands/Twitch.java
index 73cb947..5e8be1e 100644
--- a/src/de/joethei/core/commands/Twitch.java
+++ b/src/eu/univento/core/commands/Twitch.java
@@ -1,16 +1,16 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.twitch.Twitch_API;
-import de.joethei.core.api.twitch.Twitch_Stream;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.twitch.Twitch_API;
+import eu.univento.core.api.twitch.Twitch_Stream;
/**
* send info about twitch streams
diff --git a/src/de/joethei/core/commands/Vanish.java b/src/eu/univento/core/commands/Vanish.java
similarity index 84%
rename from src/de/joethei/core/commands/Vanish.java
rename to src/eu/univento/core/commands/Vanish.java
index 817fa1a..cc4feff 100644
--- a/src/de/joethei/core/commands/Vanish.java
+++ b/src/eu/univento/core/commands/Vanish.java
@@ -1,4 +1,4 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.ArrayList;
import java.util.List;
@@ -7,11 +7,11 @@ import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Perms.Ranks;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Perms.Ranks;
/**
* vanish players
diff --git a/src/de/joethei/core/commands/Youtuber.java b/src/eu/univento/core/commands/Youtuber.java
similarity index 82%
rename from src/de/joethei/core/commands/Youtuber.java
rename to src/eu/univento/core/commands/Youtuber.java
index c003175..cf9c51e 100644
--- a/src/de/joethei/core/commands/Youtuber.java
+++ b/src/eu/univento/core/commands/Youtuber.java
@@ -1,16 +1,16 @@
-package de.joethei.core.commands;
+package eu.univento.core.commands;
import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import de.joethei.core.Core;
-import de.joethei.core.api.AutoCommand;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.youtube.YTAPI;
-import de.joethei.core.api.youtube.YoutubeChannel;
+import eu.univento.core.Core;
+import eu.univento.core.api.AutoCommand;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.youtube.YTAPI;
+import eu.univento.core.api.youtube.YoutubeChannel;
/**
* sets player to youtube rank
diff --git a/src/de/joethei/core/listeners/Blocks.java b/src/eu/univento/core/listeners/Blocks.java
similarity index 80%
rename from src/de/joethei/core/listeners/Blocks.java
rename to src/eu/univento/core/listeners/Blocks.java
index 336303b..1b0a27d 100644
--- a/src/de/joethei/core/listeners/Blocks.java
+++ b/src/eu/univento/core/listeners/Blocks.java
@@ -1,13 +1,13 @@
-package de.joethei.core.listeners;
+package eu.univento.core.listeners;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Settings;
-import de.joethei.core.commands.Build;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Settings;
+import eu.univento.core.commands.Build;
/**
* cancels building
diff --git a/src/de/joethei/core/listeners/Chat.java b/src/eu/univento/core/listeners/Chat.java
similarity index 83%
rename from src/de/joethei/core/listeners/Chat.java
rename to src/eu/univento/core/listeners/Chat.java
index 65a6906..a930bfe 100644
--- a/src/de/joethei/core/listeners/Chat.java
+++ b/src/eu/univento/core/listeners/Chat.java
@@ -1,13 +1,13 @@
-package de.joethei.core.listeners;
+package eu.univento.core.listeners;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Settings;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Settings;
+import eu.univento.core.api.Perms.Ranks;
import net.md_5.bungee.api.ChatColor;
-import de.joethei.core.api.Perms.Ranks;
/**
* manages chat
diff --git a/src/de/joethei/core/listeners/Commands.java b/src/eu/univento/core/listeners/Commands.java
similarity index 87%
rename from src/de/joethei/core/listeners/Commands.java
rename to src/eu/univento/core/listeners/Commands.java
index 8ca8533..35de661 100644
--- a/src/de/joethei/core/listeners/Commands.java
+++ b/src/eu/univento/core/listeners/Commands.java
@@ -1,4 +1,4 @@
-package de.joethei.core.listeners;
+package eu.univento.core.listeners;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@@ -8,10 +8,10 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.help.HelpTopic;
-import de.joethei.core.Core;
-import de.joethei.core.api.Messages;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.Perms.Ranks;
+import eu.univento.core.Core;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.Messages;
+import eu.univento.core.api.Perms.Ranks;
/**
* commands
diff --git a/src/de/joethei/core/listeners/JoinQuit.java b/src/eu/univento/core/listeners/JoinQuit.java
similarity index 86%
rename from src/de/joethei/core/listeners/JoinQuit.java
rename to src/eu/univento/core/listeners/JoinQuit.java
index 1acefa8..16f0fa1 100644
--- a/src/de/joethei/core/listeners/JoinQuit.java
+++ b/src/eu/univento/core/listeners/JoinQuit.java
@@ -1,4 +1,4 @@
-package de.joethei.core.listeners;
+package eu.univento.core.listeners;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -14,13 +14,13 @@ import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerKickEvent;
import org.bukkit.event.player.PlayerQuitEvent;
-import de.joethei.core.Core;
-import de.joethei.core.api.CustomPlayer;
-import de.joethei.core.api.MySQL;
-import de.joethei.core.api.NickName;
-import de.joethei.core.api.Perms;
-import de.joethei.core.api.Perms.Ranks;
-import de.joethei.core.commands.Vanish;
+import eu.univento.core.Core;
+import eu.univento.core.api.CustomPlayer;
+import eu.univento.core.api.MySQL;
+import eu.univento.core.api.NickName;
+import eu.univento.core.api.Perms;
+import eu.univento.core.api.Perms.Ranks;
+import eu.univento.core.commands.Vanish;
/**
* @author joethei
@@ -32,12 +32,14 @@ public class JoinQuit implements Listener{
* Handles JoinMessage and vanished players
* @param e event
*/
+ @SuppressWarnings("deprecation")
@EventHandler
public void onJoin(PlayerJoinEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer().getName());
e.setJoinMessage(null);
createPlayer(p);
Perms.getRanks().put(p, p.getRankFresh());
+ p.getTeam().addPlayer(p);
try {
setup(p, p.getRank());
} catch (SQLException e1) {
diff --git a/src/plugin.yml b/src/plugin.yml
index 0d59c8f..a72a69e 100644
--- a/src/plugin.yml
+++ b/src/plugin.yml
@@ -1,6 +1,6 @@
-main: de.joethei.core.Core
+main: eu.univento.core.Core
name: Core
description: univento Core
author: joethei
-version: 0.1
+version: 0.5
website: http://univento.eu
\ No newline at end of file