Change code style

This commit is contained in:
kaenganxt
2014-10-27 17:27:11 +01:00
parent a290afdb6a
commit 20f8a38df4
40 changed files with 2089 additions and 2355 deletions

View File

@@ -23,25 +23,26 @@ public class Core {
/** /**
* Gets the current MySQL Object * Gets the current MySQL Object
*
* @return The working MySQL Object * @return The working MySQL Object
*/ */
public static MySQL getMySql() public static MySQL getMySql() {
{ if (!AnuraCore.getSql().isValid) {
if(!AnuraCore.getSql().isValid) return null; return null;
}
return AnuraCore.getSql(); return AnuraCore.getSql();
} }
/** /**
* Gets a language value for the given id and language * Gets a language value for the given id and language
*
* @param id The language id as used in the translation center * @param id The language id as used in the translation center
* @param lang The short value of a language e.g. de, en * @param lang The short value of a language e.g. de, en
* @return Returns the text for this id * @return Returns the text for this id
*/ */
public static String getl(String id, String lang) public static String getl(String id, String lang) {
{
String val = AnuraCore.getInstance().lang.get(id, lang); String val = AnuraCore.getInstance().lang.get(id, lang);
if(val == null || val.equals("")) if (val == null || val.equals("")) {
{
val = AnuraCore.getInstance().lang.get(id, "en"); val = AnuraCore.getInstance().lang.get(id, "en");
} }
return val; return val;
@@ -49,81 +50,81 @@ public class Core {
/** /**
* Gets a language value for the given id for a CommandSender * Gets a language value for the given id for a CommandSender
*
* @param id The language id as used in the translation center * @param id The language id as used in the translation center
* @param cs A command sender to automatically detect the language * @param cs A command sender to automatically detect the language
* @return Returns the text for this id * @return Returns the text for this id
*/ */
public static String getl(String id, CommandSender cs) public static String getl(String id, CommandSender cs) {
{ if (cs instanceof Player) {
if(cs instanceof Player) return Core.getl(id, (Player) cs);
{ } else {
return Core.getl(id, (Player)cs);
}
else
{
return Core.getl(id, "en"); return Core.getl(id, "en");
} }
} }
/** /**
* Gets a language value for the given id for a Player * Gets a language value for the given id for a Player
*
* @param id The language id as used in the translation center * @param id The language id as used in the translation center
* @param P A player to use his language setting * @param P A player to use his language setting
* @return Returns the text for this id * @return Returns the text for this id
*/ */
public static String getl(String id, Player P) public static String getl(String id, Player P) {
{
return Core.getl(id, Core.getPlayerLang(P)); return Core.getl(id, Core.getPlayerLang(P));
} }
/** /**
* Sends a translated and colored message to the given CommandSender * Sends a translated and colored message to the given CommandSender
* @param P The CommandSender, whose language is being determined and the language is sended to *
* @param P The CommandSender, whose language is being determined and the
* language is sended to
* @param id The language id as used in the translation center * @param id The language id as used in the translation center
* @param status The type of the message(true for green, false for red) * @param status The type of the message(true for green, false for red)
*/ */
public static void statusMsg(CommandSender P, String id, Boolean status) public static void statusMsg(CommandSender P, String id, Boolean status) {
{
ChatColor chatColor; ChatColor chatColor;
if(status) chatColor = ChatColor.GREEN; if (status) {
else chatColor = ChatColor.RED; chatColor = ChatColor.GREEN;
P.sendMessage(ChatColor.GRAY + "[Anura] "+chatColor+Core.getl(id, Core.getPlayerLang(P))); } else {
chatColor = ChatColor.RED;
} }
P.sendMessage(ChatColor.GRAY + "[Anura] " + chatColor + Core.getl(id, Core.getPlayerLang(P)));
}
/** /**
* Sends a translated and colored message to the given CommandSender * Sends a translated and colored message to the given CommandSender
* @param P The CommandSender, whose language is being determined and the language is sended to *
* @param P The CommandSender, whose language is being determined and the
* language is sended to
* @param id The language id as used in the translation center * @param id The language id as used in the translation center
* @param color The color of the message * @param color The color of the message
*/ */
public static void statusMsg(CommandSender P, String id, ChatColor color) public static void statusMsg(CommandSender P, String id, ChatColor color) {
{ P.sendMessage(ChatColor.GRAY + "[Anura] " + color + Core.getl(id, Core.getPlayerLang(P)));
P.sendMessage(ChatColor.GRAY + "[Anura] "+color+Core.getl(id, Core.getPlayerLang(P)));
} }
/** /**
* Returns the language of the given CommandSender * Returns the language of the given CommandSender
*
* @param P The CommandSender, whose language is being determined * @param P The CommandSender, whose language is being determined
* @return Returns the short language name of the player (like de or en) * @return Returns the short language name of the player (like de or en)
*/ */
public static String getPlayerLang(CommandSender P) public static String getPlayerLang(CommandSender P) {
{ if (!(P instanceof Player)) {
if(!(P instanceof Player))
{
return "en"; return "en";
} }
Player p = (Player)P; Player p = (Player) P;
if(!Core.cachedPlayerLanguage.containsKey(p)) if (!Core.cachedPlayerLanguage.containsKey(p)) {
{ ResultSet rs = AnuraCore.sql.querySelect("SELECT lang FROM players WHERE uuid = '" + p.getUniqueId().toString() + "'");
ResultSet rs = AnuraCore.sql.querySelect("SELECT lang FROM players WHERE uuid = '"+p.getUniqueId().toString()+"'");
try { try {
rs.first(); rs.first();
Core.cachedPlayerLanguage.put(p, rs.getString("lang")); Core.cachedPlayerLanguage.put(p, rs.getString("lang"));
return rs.getString("lang"); return rs.getString("lang");
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("SQLException in getPlayerLang of API: "+ex.getLocalizedMessage()); System.out.println("SQLException in getPlayerLang of API: " + ex.getLocalizedMessage());
} }
} } else {
else
{
return Core.cachedPlayerLanguage.get(p); return Core.cachedPlayerLanguage.get(p);
} }
return "en"; return "en";
@@ -131,24 +132,25 @@ public class Core {
/** /**
* Returns an extra set of tools * Returns an extra set of tools
*
* @return Tools * @return Tools
*/ */
public static Tools getTools() public static Tools getTools() {
{
return AnuraCore.getInstance().tools; return AnuraCore.getInstance().tools;
} }
/** /**
* Returns the available Languages * Returns the available Languages
*
* @return Returns an iterable set of strings like de or en * @return Returns an iterable set of strings like de or en
*/ */
public static Set<String> getAvailLangs() public static Set<String> getAvailLangs() {
{
return AnuraCore.getInstance().lang.languages.keySet(); return AnuraCore.getInstance().lang.languages.keySet();
} }
/** /**
* Get the Key by a given value from a given HashMap * Get the Key by a given value from a given HashMap
*
* @param <T> The type of the key in the map * @param <T> The type of the key in the map
* @param <E> The type of the value in the map * @param <E> The type of the value in the map
* @param map The HashMap to get the key from * @param map The HashMap to get the key from
@@ -173,6 +175,7 @@ public class Core {
/** /**
* Updates all lobby features for the given player from the database * Updates all lobby features for the given player from the database
*
* @param P The player to update the features * @param P The player to update the features
*/ */
public static void updateFeatures(Player P) { public static void updateFeatures(Player P) {
@@ -183,23 +186,18 @@ public class Core {
return AnuraCore.getInstance(); return AnuraCore.getInstance();
} }
public static void endSitting(Player P) public static void endSitting(Player P) {
{ if (getMainClass().sittingPlayer.containsKey(P)) {
if(getMainClass().sittingPlayer.containsKey(P))
{
MaterialData md = getMainClass().sittingBlocks.get(P).getState().getData(); MaterialData md = getMainClass().sittingBlocks.get(P).getState().getData();
if(md instanceof Stairs) if (md instanceof Stairs) {
{ Stairs s = (Stairs) md;
Stairs s = (Stairs)md;
Location loc = getMainClass().sittingBlocks.get(P).getRelative(s.getFacing()).getLocation(); Location loc = getMainClass().sittingBlocks.get(P).getRelative(s.getFacing()).getLocation();
Entity a = (Entity)getMainClass().sittingPlayer.get(P); Entity a = (Entity) getMainClass().sittingPlayer.get(P);
P.teleport(loc); P.teleport(loc);
a.remove(); a.remove();
getMainClass().sittingPlayer.remove(P); getMainClass().sittingPlayer.remove(P);
getMainClass().sittingBlocks.remove(P); getMainClass().sittingBlocks.remove(P);
} } else {
else
{
Location loc = getMainClass().sittingPlayer.get(P).getLocation(); Location loc = getMainClass().sittingPlayer.get(P).getLocation();
P.teleport(loc); P.teleport(loc);
getMainClass().sittingPlayer.get(P).remove(); getMainClass().sittingPlayer.get(P).remove();
@@ -208,18 +206,26 @@ public class Core {
} }
} }
} }
public static boolean isInteger(String s) { public static boolean isInteger(String s) {
return isInteger(s,10); return isInteger(s, 10);
} }
public static boolean isInteger(String s, int radix) { public static boolean isInteger(String s, int radix) {
if(s.isEmpty()) return false; if (s.isEmpty()) {
for(int i = 0; i < s.length(); i++) { return false;
if(i == 0 && s.charAt(i) == '-') { }
if(s.length() == 1) return false; for (int i = 0; i < s.length(); i++) {
else continue; if (i == 0 && s.charAt(i) == '-') {
if (s.length() == 1) {
return false;
} else {
continue;
}
}
if (Character.digit(s.charAt(i), radix) < 0) {
return false;
} }
if(Character.digit(s.charAt(i),radix) < 0) return false;
} }
return true; return true;
} }

View File

@@ -30,6 +30,7 @@ public class Inventories implements Listener {
} }
public enum Action { public enum Action {
OPEN_INV, OPEN_INV,
TELEPORT, TELEPORT,
MESSAGE, MESSAGE,
@@ -108,11 +109,21 @@ public class Inventories implements Listener {
} }
public static void registerAction(String type, int slot, Action action, Object data) { public static void registerAction(String type, int slot, Action action, Object data) {
if (action == Action.MESSAGE && !(data instanceof String)) return; if (action == Action.MESSAGE && !(data instanceof String)) {
if (action == Action.OPEN_INV && !(data instanceof String)) return; return;
if (action == Action.SERVER && !(data instanceof String)) return; }
if (action == Action.COMMAND && !(data instanceof String)) return; if (action == Action.OPEN_INV && !(data instanceof String)) {
if (action == Action.TELEPORT && !(data instanceof Location)) return; return;
}
if (action == Action.SERVER && !(data instanceof String)) {
return;
}
if (action == Action.COMMAND && !(data instanceof String)) {
return;
}
if (action == Action.TELEPORT && !(data instanceof Location)) {
return;
}
invActions.get(type).put(slot, new AbstractMap.SimpleEntry<>(action, data)); invActions.get(type).put(slot, new AbstractMap.SimpleEntry<>(action, data));
} }
@@ -129,7 +140,9 @@ public class Inventories implements Listener {
} }
public static void registerItemAction(String type, Action action, Object data) { public static void registerItemAction(String type, Action action, Object data) {
if ((action == Action.TELEPORT && !(data instanceof Location)) || (action != Action.TELEPORT && !(data instanceof String))) return; if ((action == Action.TELEPORT && !(data instanceof Location)) || (action != Action.TELEPORT && !(data instanceof String))) {
return;
}
itemActions.put(type, new AbstractMap.SimpleEntry<>(action, data)); itemActions.put(type, new AbstractMap.SimpleEntry<>(action, data));
} }
@@ -139,23 +152,23 @@ public class Inventories implements Listener {
ByteArrayOutputStream b = new ByteArrayOutputStream(); ByteArrayOutputStream b = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(b); DataOutputStream out = new DataOutputStream(b);
out.writeUTF("Connect"); out.writeUTF("Connect");
out.writeUTF((String)data); out.writeUTF((String) data);
P.sendPluginMessage(AnuraCore.getInstance(), "BungeeCord", b.toByteArray()); P.sendPluginMessage(AnuraCore.getInstance(), "BungeeCord", b.toByteArray());
} catch (IOException ex) { } catch (IOException ex) {
System.err.println("IOException whilst trying to connect to "+data); System.err.println("IOException whilst trying to connect to " + data);
} }
} else if (action == Action.MESSAGE) { } else if (action == Action.MESSAGE) {
Core.statusMsg(P, (String)data, true); Core.statusMsg(P, (String) data, true);
} else if (action == Action.OPEN_INV) { } else if (action == Action.OPEN_INV) {
P.openInventory(getInventory((String)data, P)); P.openInventory(getInventory((String) data, P));
} else if (action == Action.TELEPORT) { } else if (action == Action.TELEPORT) {
P.teleport((Location)data); P.teleport((Location) data);
} else if (action == Action.COMMAND) { } else if (action == Action.COMMAND) {
Bukkit.getServer().dispatchCommand(P, (String) data); Bukkit.getServer().dispatchCommand(P, (String) data);
} else if (action == Action.LANGUAGE) { } else if (action == Action.LANGUAGE) {
String lang = (String)data; String lang = (String) data;
Core.cachedPlayerLanguage.put(P,lang); Core.cachedPlayerLanguage.put(P, lang);
AnuraCore.sql.queryUpdate("UPDATE players SET lang = '"+lang+"' WHERE uuid = '"+P.getUniqueId().toString()+"'"); AnuraCore.sql.queryUpdate("UPDATE players SET lang = '" + lang + "' WHERE uuid = '" + P.getUniqueId().toString() + "'");
PlayerInventory pi = P.getInventory(); PlayerInventory pi = P.getInventory();
for (Entry<String, Integer> item : itemPositions.entrySet()) { for (Entry<String, Integer> item : itemPositions.entrySet()) {
pi.setItem(item.getValue(), getItem(item.getKey(), P)); pi.setItem(item.getValue(), getItem(item.getKey(), P));
@@ -176,7 +189,9 @@ public class Inventories implements Listener {
@EventHandler @EventHandler
public void onInvClick(InventoryClickEvent event) { public void onInvClick(InventoryClickEvent event) {
if (checkInteracts.containsKey((Player)event.getWhoClicked()) && !checkInteracts.get((Player)event.getWhoClicked())) return; if (checkInteracts.containsKey((Player) event.getWhoClicked()) && !checkInteracts.get((Player) event.getWhoClicked())) {
return;
}
final Player player = (Player) event.getWhoClicked(); final Player player = (Player) event.getWhoClicked();
Inventory inventory = event.getClickedInventory(); Inventory inventory = event.getClickedInventory();
String invName = inventory.getName(); String invName = inventory.getName();
@@ -191,8 +206,7 @@ public class Inventories implements Listener {
} else { } else {
Bukkit.getScheduler().scheduleSyncDelayedTask(AnuraCore.getInstance(), new Runnable() { Bukkit.getScheduler().scheduleSyncDelayedTask(AnuraCore.getInstance(), new Runnable() {
@Override @Override
public void run() public void run() {
{
player.setItemOnCursor(new ItemStack(Material.AIR)); player.setItemOnCursor(new ItemStack(Material.AIR));
player.updateInventory(); player.updateInventory();
} }
@@ -207,7 +221,9 @@ public class Inventories implements Listener {
@EventHandler @EventHandler
public void onPlayerInteract(PlayerInteractEvent event) { public void onPlayerInteract(PlayerInteractEvent event) {
if (checkInteracts.containsKey((Player)event.getPlayer()) && !checkInteracts.get((Player)event.getPlayer())) return; if (checkInteracts.containsKey((Player) event.getPlayer()) && !checkInteracts.get((Player) event.getPlayer())) {
return;
}
if (event.hasItem()) { if (event.hasItem()) {
if (event.getAction().equals(org.bukkit.event.block.Action.RIGHT_CLICK_AIR) || event.getAction().equals(org.bukkit.event.block.Action.RIGHT_CLICK_BLOCK)) { if (event.getAction().equals(org.bukkit.event.block.Action.RIGHT_CLICK_AIR) || event.getAction().equals(org.bukkit.event.block.Action.RIGHT_CLICK_BLOCK)) {
final Player P = event.getPlayer(); final Player P = event.getPlayer();
@@ -220,8 +236,7 @@ public class Inventories implements Listener {
} }
Bukkit.getScheduler().scheduleSyncDelayedTask(AnuraCore.getInstance(), new Runnable() { Bukkit.getScheduler().scheduleSyncDelayedTask(AnuraCore.getInstance(), new Runnable() {
@Override @Override
public void run() public void run() {
{
P.updateInventory(); P.updateInventory();
} }
}, 1); }, 1);

View File

@@ -6,6 +6,7 @@ import java.util.HashMap;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
public class Money { public class Money {
private static final HashMap<OfflinePlayer, Integer> playerMoney = new HashMap<>(); private static final HashMap<OfflinePlayer, Integer> playerMoney = new HashMap<>();
public static void payMoney(OfflinePlayer P, int count) { public static void payMoney(OfflinePlayer P, int count) {
@@ -18,19 +19,21 @@ public class Money {
} }
public static void saveMoney(OfflinePlayer P) { public static void saveMoney(OfflinePlayer P) {
if (!playerMoney.containsKey(P)) return; if (!playerMoney.containsKey(P)) {
Core.getMySql().queryUpdate("UPDATE coreStats SET money = '" + playerMoney.get(P) + "' WHERE player = (SELECT id FROM players WHERE uuid = '"+P.getUniqueId().toString()+"')"); return;
}
Core.getMySql().queryUpdate("UPDATE coreStats SET money = '" + playerMoney.get(P) + "' WHERE player = (SELECT id FROM players WHERE uuid = '" + P.getUniqueId().toString() + "')");
playerMoney.remove(P); playerMoney.remove(P);
} }
public static boolean loadMoney(OfflinePlayer P) { public static boolean loadMoney(OfflinePlayer P) {
ResultSet rs = Core.getMySql().querySelect("SELECT money FROM coreStats WHERE player = (SELECT id FROM players WHERE uuid = '"+P.getUniqueId().toString()+"')"); ResultSet rs = Core.getMySql().querySelect("SELECT money FROM coreStats WHERE player = (SELECT id FROM players WHERE uuid = '" + P.getUniqueId().toString() + "')");
try { try {
rs.first(); rs.first();
playerMoney.put(P, rs.getInt("money")); playerMoney.put(P, rs.getInt("money"));
return true; return true;
} catch (SQLException ex) { } catch (SQLException ex) {
System.err.println("Could not load money for player "+P.getName()); System.err.println("Could not load money for player " + P.getName());
} }
return false; return false;
} }

View File

@@ -15,6 +15,7 @@ import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
public class MySQL { public class MySQL {
private final String host; private final String host;
private final int port; private final int port;
private final String username; private final String username;
@@ -25,41 +26,39 @@ public class MySQL {
private final AnuraCore plugin; private final AnuraCore plugin;
public boolean isValid = true; public boolean isValid = true;
private boolean reconnecting = false; private boolean reconnecting = false;
public MySQL(AnuraCore plugin)
{ public MySQL(AnuraCore plugin) {
this.plugin = plugin; this.plugin = plugin;
File file = new File("plugins/Core/","database.yml"); File file = new File("plugins/Core/", "database.yml");
FileConfiguration cfg = YamlConfiguration.loadConfiguration(file); FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);
String dbLoc = "database."; String dbLoc = "database.";
cfg.addDefault(dbLoc+"host","localhost"); cfg.addDefault(dbLoc + "host", "localhost");
cfg.addDefault(dbLoc+"port",3306); cfg.addDefault(dbLoc + "port", 3306);
cfg.addDefault(dbLoc+"username","username"); cfg.addDefault(dbLoc + "username", "username");
cfg.addDefault(dbLoc+"pw","pw"); cfg.addDefault(dbLoc + "pw", "pw");
cfg.addDefault(dbLoc+"db","db"); cfg.addDefault(dbLoc + "db", "db");
cfg.options().copyDefaults(true); cfg.options().copyDefaults(true);
try try {
{
cfg.save(file); cfg.save(file);
} catch (IOException e) {
} }
catch(IOException e) this.host = cfg.getString(dbLoc + "host");
{} this.port = cfg.getInt(dbLoc + "port");
this.host = cfg.getString(dbLoc+"host"); this.username = cfg.getString(dbLoc + "username");
this.port = cfg.getInt(dbLoc+"port"); this.pw = cfg.getString(dbLoc + "pw");
this.username = cfg.getString(dbLoc+"username"); this.db = cfg.getString(dbLoc + "db");
this.pw = cfg.getString(dbLoc+"pw"); if (!this.openConnection()) {
this.db = cfg.getString(dbLoc+"db");
if(!this.openConnection())
{
Bukkit.broadcastMessage(ChatColor.RED + "No database connection available, please contact a server administrator!"); Bukkit.broadcastMessage(ChatColor.RED + "No database connection available, please contact a server administrator!");
this.isValid = false; this.isValid = false;
return; return;
} }
this.config = cfg; this.config = cfg;
} }
public String escapeString(String text)
{ public String escapeString(String text) {
return text; return text;
} }
private Boolean openConnection() { private Boolean openConnection() {
try { try {
Class.forName("com.mysql.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver");
@@ -70,38 +69,40 @@ public class MySQL {
return false; return false;
} }
} }
private boolean hasConnection() { private boolean hasConnection() {
try { try {
Boolean validConn = true; Boolean validConn = true;
if(this.conn == null) validConn = false; if (this.conn == null) {
else if(!this.conn.isValid(1)) validConn = false; validConn = false;
} else if (!this.conn.isValid(1)) {
validConn = false;
}
return validConn; return validConn;
} catch (SQLException e) { } catch (SQLException e) {
return false; return false;
} }
} }
private Boolean reconnect()
{ private Boolean reconnect() {
if(this.reconnecting) if (this.reconnecting) {
{
return false; return false;
} }
this.reconnecting = true; this.reconnecting = true;
System.out.println("Reconnecting..."); System.out.println("Reconnecting...");
Bukkit.broadcastMessage(ChatColor.YELLOW + "Bitte warten... Plugin-Daten werden geladen..."); Bukkit.broadcastMessage(ChatColor.YELLOW + "Bitte warten... Plugin-Daten werden geladen...");
this.closeConnection(); this.closeConnection();
if(!this.openConnection()) if (!this.openConnection()) {
{
Bukkit.broadcastMessage(ChatColor.RED + "Database reconnect failed! Please contact a server administrator!"); Bukkit.broadcastMessage(ChatColor.RED + "Database reconnect failed! Please contact a server administrator!");
} else {
System.out.println("Database reconnect successful!");
} }
else System.out.println("Database reconnect successful!");
this.reconnecting = false; this.reconnecting = false;
return true; return true;
} }
private void queryRedo(final String query, final String type)
{ private void queryRedo(final String query, final String type) {
if(!this.reconnect()) if (!this.reconnect()) {
{
this.plugin.getServer().getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { this.plugin.getServer().getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() {
@Override @Override
public void run() { public void run() {
@@ -117,10 +118,9 @@ public class MySQL {
}, 4); }, 4);
} }
} }
public void queryUpdate(String query)
{ public void queryUpdate(String query) {
if(!this.hasConnection()) if (!this.hasConnection()) {
{
queryRedo(query, "update"); queryRedo(query, "update");
} }
Connection connLoc = this.conn; Connection connLoc = this.conn;
@@ -129,63 +129,55 @@ public class MySQL {
st = connLoc.prepareStatement(query); st = connLoc.prepareStatement(query);
st.executeUpdate(); st.executeUpdate();
} catch (SQLException e) { } catch (SQLException e) {
System.err.println("Failed to send Update '" +query+"'! ("+e.getLocalizedMessage()+")"); System.err.println("Failed to send Update '" + query + "'! (" + e.getLocalizedMessage() + ")");
} }
this.closeRessources(null, st); this.closeRessources(null, st);
} }
public ResultSet querySelect(final String query)
{ public ResultSet querySelect(final String query) {
if(!this.hasConnection()) if (!this.hasConnection()) {
{
queryRedo(query, "select"); queryRedo(query, "select");
return null; return null;
} }
try { try {
PreparedStatement st = this.conn.prepareStatement(query); PreparedStatement st = this.conn.prepareStatement(query);
ResultSet returns = this.querySelect(st); ResultSet returns = this.querySelect(st);
if(returns == null) if (returns == null) {
{
queryRedo(query, "select"); queryRedo(query, "select");
} } else {
else
{
return returns; return returns;
} }
} } catch (SQLException e) {
catch(SQLException e)
{
System.err.println("Unknown error whilst trying to build Prepared Statement!"); System.err.println("Unknown error whilst trying to build Prepared Statement!");
queryRedo(query, "select"); queryRedo(query, "select");
} }
return null; return null;
} }
private ResultSet querySelect(PreparedStatement st)
{ private ResultSet querySelect(PreparedStatement st) {
if(!this.hasConnection()) if (!this.hasConnection()) {
{
return null; return null;
} }
ResultSet rs; ResultSet rs;
try { try {
rs = st.executeQuery(); rs = st.executeQuery();
} } catch (SQLException e) {
catch(SQLException e) System.err.println("Failed to send 'SELECT'-Query!(" + st.toString() + ") Will try to reconnect to database just in case... you know...");
{ System.err.println("Caused by: " + e.getMessage());
System.err.println("Failed to send 'SELECT'-Query!("+st.toString()+") Will try to reconnect to database just in case... you know...");
System.err.println("Caused by: "+e.getMessage());
return null; return null;
} }
return rs; return rs;
} }
private void closeRessources(ResultSet rs, PreparedStatement st) { private void closeRessources(ResultSet rs, PreparedStatement st) {
if(rs != null) { if (rs != null) {
try { try {
rs.close(); rs.close();
} catch (SQLException e) { } catch (SQLException e) {
} }
} }
if(st != null) { if (st != null) {
try { try {
st.close(); st.close();
} catch (SQLException e) { } catch (SQLException e) {
@@ -193,12 +185,14 @@ public class MySQL {
} }
} }
} }
public void closeConnection() { public void closeConnection() {
try { try {
if(this.conn != null) this.conn.close(); if (this.conn != null) {
} catch (SQLException e) {} this.conn.close();
finally }
{ } catch (SQLException e) {
} finally {
this.conn = null; this.conn = null;
} }
} }

View File

@@ -7,21 +7,18 @@ public class Tools {
/** /**
* Sends a given message to a given player with the given status * Sends a given message to a given player with the given status
*
* @param p The player to send the message to * @param p The player to send the message to
* @param msg The message to send * @param msg The message to send
* @param positive If the message should be green(true) or red(false) * @param positive If the message should be green(true) or red(false)
*/ */
public void sendStatusMsg(CommandSender p, String msg, Boolean positive) public void sendStatusMsg(CommandSender p, String msg, Boolean positive) {
{
ChatColor chatColor; ChatColor chatColor;
if(positive) if (positive) {
{
chatColor = ChatColor.GREEN; chatColor = ChatColor.GREEN;
} } else {
else
{
chatColor = ChatColor.RED; chatColor = ChatColor.RED;
} }
p.sendMessage(ChatColor.GRAY + "[Anura] "+chatColor+msg); p.sendMessage(ChatColor.GRAY + "[Anura] " + chatColor + msg);
} }
} }

View File

@@ -17,7 +17,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
public class AnuraCore extends JavaPlugin{ public class AnuraCore extends JavaPlugin {
public static MySQL sql; public static MySQL sql;
public HashMap<Player, Double> selectableJumper = new HashMap<>(); public HashMap<Player, Double> selectableJumper = new HashMap<>();
@@ -43,12 +43,10 @@ public class AnuraCore extends JavaPlugin{
public Tools tools; public Tools tools;
@Override @Override
public void onEnable() public void onEnable() {
{
AnuraCore.sql = new MySQL(this); AnuraCore.sql = new MySQL(this);
AnuraCore.instance = this; AnuraCore.instance = this;
if(AnuraCore.sql.isValid) if (AnuraCore.sql.isValid) {
{
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord"); this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
Setup.setupConfig(); Setup.setupConfig();
Setup.setupEvents(); Setup.setupEvents();
@@ -57,49 +55,40 @@ public class AnuraCore extends JavaPlugin{
Setup.setupInventories(); Setup.setupInventories();
Setup.setupCommands(); Setup.setupCommands();
this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", signs); this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", signs);
sql.queryUpdate("DELETE FROM coreServers WHERE name = '"+this.getConfig().getString("server-name")+"'"); sql.queryUpdate("DELETE FROM coreServers WHERE name = '" + this.getConfig().getString("server-name") + "'");
sql.queryUpdate("INSERT INTO coreServers (name, maxPlayers) VALUES ('"+this.getConfig().getString("server-name")+"','"+this.getServer().getMaxPlayers()+"')"); sql.queryUpdate("INSERT INTO coreServers (name, maxPlayers) VALUES ('" + this.getConfig().getString("server-name") + "','" + this.getServer().getMaxPlayers() + "')");
} } else {
else
{
Bukkit.getPluginManager().disablePlugin(this); Bukkit.getPluginManager().disablePlugin(this);
} }
} }
@Override @Override
public void onDisable() public void onDisable() {
{ if (!AnuraCore.sql.isValid) {
if(!AnuraCore.sql.isValid)
{
return; return;
} }
for (Player P : getServer().getOnlinePlayers()) { for (Player P : getServer().getOnlinePlayers()) {
Money.saveMoney(P); Money.saveMoney(P);
} }
File configFile = new File("plugins/Core/","config.yml"); File configFile = new File("plugins/Core/", "config.yml");
File dbFile = new File("plugins/Core","database.yml"); File dbFile = new File("plugins/Core", "database.yml");
try try {
{
AnuraCore.sql.config.save(dbFile); AnuraCore.sql.config.save(dbFile);
this.getConfig().save(configFile); this.getConfig().save(configFile);
} catch (IOException e) {
} }
catch(IOException e) sql.queryUpdate("DELETE FROM coreServers WHERE name = '" + this.getConfig().getString("server-name") + "'");
{ }
sql.queryUpdate("DELETE FROM coreServers WHERE name = '"+this.getConfig().getString("server-name")+"'");
features.reset(); features.reset();
for(Player P : this.sittingPlayer.keySet()) for (Player P : this.sittingPlayer.keySet()) {
{
Core.endSitting(P); Core.endSitting(P);
} }
} }
public static AnuraCore getInstance() public static AnuraCore getInstance() {
{
return AnuraCore.instance; return AnuraCore.instance;
} }
public static MySQL getSql() public static MySQL getSql() {
{
return AnuraCore.sql; return AnuraCore.sql;
} }

View File

@@ -15,20 +15,22 @@ import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerToggleFlightEvent; import org.bukkit.event.player.PlayerToggleFlightEvent;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
public class Features implements Listener { public class Features implements Listener {
public enum Feature { public enum Feature {
DOUBLE_JUMP(1); DOUBLE_JUMP(1);
private Feature(int id) { private Feature(int id) {
this.featureId = id; this.featureId = id;
} }
private final int featureId; private final int featureId;
private static final HashMap<Integer, Feature> BY_ID = new HashMap<>(); private static final HashMap<Integer, Feature> BY_ID = new HashMap<>();
public static Feature getById(Integer id)
{ public static Feature getById(Integer id) {
return BY_ID.get(id); return BY_ID.get(id);
} }
static { static {
for (Feature feature : values()) { for (Feature feature : values()) {
BY_ID.put(feature.featureId, feature); BY_ID.put(feature.featureId, feature);
@@ -36,8 +38,7 @@ public class Features implements Listener {
} }
} }
public Features() public Features() {
{
Bukkit.getPluginManager().registerEvents(this, AnuraCore.getInstance()); Bukkit.getPluginManager().registerEvents(this, AnuraCore.getInstance());
} }
@@ -45,45 +46,45 @@ public class Features implements Listener {
private final HashMap<Player, Boolean> canDoubleJump = new HashMap<>(); private final HashMap<Player, Boolean> canDoubleJump = new HashMap<>();
private final HashMap<Player, HashMap<Feature, Boolean>> featureEnabled = new HashMap<>(); private final HashMap<Player, HashMap<Feature, Boolean>> featureEnabled = new HashMap<>();
public void updateFeatures(Player P) public void updateFeatures(Player P) {
{ if (!mainLobby()) {
if(!mainLobby()) return; return;
}
try { try {
ResultSet rs = Core.getMySql().querySelect("SELECT featureId FROM coreFeatures WHERE playerId = (SELECT id FROM players WHERE uuid = '"+P.getUniqueId().toString()+"')"); ResultSet rs = Core.getMySql().querySelect("SELECT featureId FROM coreFeatures WHERE playerId = (SELECT id FROM players WHERE uuid = '" + P.getUniqueId().toString() + "')");
resetPlayerFeatures(P); resetPlayerFeatures(P);
playerFeatures.put(P, new ArrayList<Feature>()); playerFeatures.put(P, new ArrayList<Feature>());
featureEnabled.put(P, new HashMap<Feature, Boolean>()); featureEnabled.put(P, new HashMap<Feature, Boolean>());
while(rs.next()) while (rs.next()) {
{ if (Feature.getById(rs.getInt("featureId")) != null) {
if(Feature.getById(rs.getInt("featureId")) != null)
{
this.addFeature(P, Feature.getById(rs.getInt("featureId"))); this.addFeature(P, Feature.getById(rs.getInt("featureId")));
featureEnabled.get(P).put(Feature.DOUBLE_JUMP, true); featureEnabled.get(P).put(Feature.DOUBLE_JUMP, true);
} }
} }
} catch (SQLException ex) { } catch (SQLException ex) {
System.err.println("Could not update player features because of a sql exception: "+ex.getLocalizedMessage()); System.err.println("Could not update player features because of a sql exception: " + ex.getLocalizedMessage());
} }
} }
public void updateFeaturesAll()
{ public void updateFeaturesAll() {
if(!mainLobby()) return; if (!mainLobby()) {
for(Player P : Bukkit.getOnlinePlayers()) return;
{ }
for (Player P : Bukkit.getOnlinePlayers()) {
updateFeatures(P); updateFeatures(P);
} }
} }
public void reset() public void reset() {
{ for (Player P : Bukkit.getOnlinePlayers()) {
for(Player P : Bukkit.getOnlinePlayers())
{
this.resetPlayerFeatures(P); this.resetPlayerFeatures(P);
} }
} }
public void disableFeature(Player P, Feature f) { public void disableFeature(Player P, Feature f) {
if(!mainLobby()) return; if (!mainLobby()) {
return;
}
if (f == Feature.DOUBLE_JUMP) { if (f == Feature.DOUBLE_JUMP) {
if (!hasFeature(P, f)) { if (!hasFeature(P, f)) {
Core.statusMsg(P, "dont_have_dbl_jump", false); Core.statusMsg(P, "dont_have_dbl_jump", false);
@@ -99,7 +100,9 @@ public class Features implements Listener {
} }
public void enableFeature(Player P, Feature f) { public void enableFeature(Player P, Feature f) {
if(!mainLobby()) return; if (!mainLobby()) {
return;
}
if (f == Feature.DOUBLE_JUMP) { if (f == Feature.DOUBLE_JUMP) {
if (!hasFeature(P, f)) { if (!hasFeature(P, f)) {
Core.statusMsg(P, "dont_have_dbl_jump", false); Core.statusMsg(P, "dont_have_dbl_jump", false);
@@ -112,33 +115,34 @@ public class Features implements Listener {
} }
} }
public boolean hasFeature(Player P, Feature f) public boolean hasFeature(Player P, Feature f) {
{ if (!mainLobby()) {
if(!mainLobby()) return false; return false;
if(playerFeatures.containsKey(P)) }
{ if (playerFeatures.containsKey(P)) {
return playerFeatures.get(P).contains(f); return playerFeatures.get(P).contains(f);
} }
return false; return false;
} }
private void resetPlayerFeatures(Player P) private void resetPlayerFeatures(Player P) {
{ if (!playerFeatures.containsKey(P)) {
if(!playerFeatures.containsKey(P)) return; return;
for(Feature f : (ArrayList<Feature>)playerFeatures.get(P).clone()) }
{ for (Feature f : (ArrayList<Feature>) playerFeatures.get(P).clone()) {
removeFeature(P, f); removeFeature(P, f);
} }
} }
public void removeFeature(Player P, Feature f) public void removeFeature(Player P, Feature f) {
{ if (!mainLobby()) {
if(!mainLobby()) return; return;
if(playerFeatures.containsKey(P)) playerFeatures.get(P).remove(f); }
if(f.equals(Feature.DOUBLE_JUMP)) if (playerFeatures.containsKey(P)) {
{ playerFeatures.get(P).remove(f);
if(!P.getGameMode().equals(GameMode.CREATIVE)) }
{ if (f.equals(Feature.DOUBLE_JUMP)) {
if (!P.getGameMode().equals(GameMode.CREATIVE)) {
P.setAllowFlight(false); P.setAllowFlight(false);
P.setFoodLevel(20); P.setFoodLevel(20);
} }
@@ -146,30 +150,31 @@ public class Features implements Listener {
} }
} }
public void addFeature(Player P, Feature f) public void addFeature(Player P, Feature f) {
{ if (!mainLobby()) {
if(!mainLobby()) return; return;
if(playerFeatures.containsKey(P) && !hasFeature(P, f)) playerFeatures.get(P).add(f); }
if(f.equals(Feature.DOUBLE_JUMP)) if (playerFeatures.containsKey(P) && !hasFeature(P, f)) {
{ playerFeatures.get(P).add(f);
}
if (f.equals(Feature.DOUBLE_JUMP)) {
P.setAllowFlight(true); P.setAllowFlight(true);
this.canDoubleJump.put(P, true); this.canDoubleJump.put(P, true);
} }
} }
private boolean mainLobby()
{ private boolean mainLobby() {
return AnuraCore.getInstance().getConfig().getBoolean("is-main-lobby"); return AnuraCore.getInstance().getConfig().getBoolean("is-main-lobby");
} }
@EventHandler @EventHandler
public void onPlayerMove(PlayerMoveEvent event) public void onPlayerMove(PlayerMoveEvent event) {
{ if (!mainLobby()) {
if(!mainLobby()) return; return;
}
Player P = event.getPlayer(); Player P = event.getPlayer();
if(this.hasFeature(P, Feature.DOUBLE_JUMP)) if (this.hasFeature(P, Feature.DOUBLE_JUMP)) {
{ if (this.canDoubleJump.containsKey(P) && !this.canDoubleJump.get(P) && ((Entity) P).isOnGround()) {
if(this.canDoubleJump.containsKey(P) && !this.canDoubleJump.get(P) && ((Entity)P).isOnGround())
{
this.canDoubleJump.put(P, true); this.canDoubleJump.put(P, true);
P.setFoodLevel(20); P.setFoodLevel(20);
} }
@@ -177,23 +182,20 @@ public class Features implements Listener {
} }
@EventHandler @EventHandler
public void onToggleFlight(PlayerToggleFlightEvent event) public void onToggleFlight(PlayerToggleFlightEvent event) {
{ if (!mainLobby()) {
if(!mainLobby()) return; return;
}
Player P = event.getPlayer(); Player P = event.getPlayer();
if(this.hasFeature(P, Feature.DOUBLE_JUMP) && !P.getGameMode().equals(GameMode.CREATIVE)) if (this.hasFeature(P, Feature.DOUBLE_JUMP) && !P.getGameMode().equals(GameMode.CREATIVE)) {
{ if (this.canDoubleJump.containsKey(P) && this.canDoubleJump.get(P)) {
if(this.canDoubleJump.containsKey(P) && this.canDoubleJump.get(P))
{
this.canDoubleJump.put(P, false); this.canDoubleJump.put(P, false);
P.setFoodLevel(1); P.setFoodLevel(1);
Vector v = P.getLocation().getDirection(); Vector v = P.getLocation().getDirection();
P.setVelocity(v.multiply(new Vector(1,2,1))); P.setVelocity(v.multiply(new Vector(1, 2, 1)));
P.setVelocity(P.getVelocity().setY(1)); P.setVelocity(P.getVelocity().setY(1));
} } else {
else
{
Vector v = P.getVelocity(); Vector v = P.getVelocity();
P.setVelocity(v.setY(-0.4)); P.setVelocity(v.setY(-0.4));
} }

View File

@@ -13,20 +13,18 @@ import org.bukkit.Material;
import org.bukkit.Sound; import org.bukkit.Sound;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class FlowerPots { public class FlowerPots {
private final HashMap<Player, HashMap<Integer, Boolean>> foundCache = new HashMap<>(); private final HashMap<Player, HashMap<Integer, Boolean>> foundCache = new HashMap<>();
private final HashMap<Player, HashMap<Integer, Integer>> foundTimestamp = new HashMap<>(); private final HashMap<Player, HashMap<Integer, Integer>> foundTimestamp = new HashMap<>();
public boolean foundPot(Player P, Integer pot) public boolean foundPot(Player P, Integer pot) {
{ if (!foundCache.containsKey(P)) {
if(!foundCache.containsKey(P)) refreshCache(P); refreshCache(P);
if(foundCache.get(P).containsKey(pot)) }
{ if (foundCache.get(P).containsKey(pot)) {
if(foundCache.get(P).get(pot) && foundTimestamp.get(P).containsKey(pot)) if (foundCache.get(P).get(pot) && foundTimestamp.get(P).containsKey(pot)) {
{ if ((System.currentTimeMillis() / 1000 - foundTimestamp.get(P).get(pot)) >= getPotWaitTime(pot)) {
if((System.currentTimeMillis() / 1000 - foundTimestamp.get(P).get(pot)) >= getPotWaitTime(pot))
{
return false; return false;
} }
} }
@@ -35,12 +33,9 @@ public class FlowerPots {
return false; return false;
} }
private int getPotWaitTime(Integer pot) private int getPotWaitTime(Integer pot) {
{ if (AnuraCore.getInstance().flowerPots.containsKey(pot)) {
if (AnuraCore.getInstance().flowerPots.containsKey(pot)) if (AnuraCore.getInstance().flowerPotsWait.containsKey(pot)) {
{
if (AnuraCore.getInstance().flowerPotsWait.containsKey(pot))
{
return AnuraCore.getInstance().flowerPotsWait.get(pot); return AnuraCore.getInstance().flowerPotsWait.get(pot);
} }
return -1; return -1;
@@ -48,17 +43,14 @@ public class FlowerPots {
return 0; return 0;
} }
public void refreshCache(Player P) public void refreshCache(Player P) {
{
try { try {
ResultSet rs = AnuraCore.getSql().querySelect("SELECT id, timestamp, type FROM coreFoundPots WHERE player = (SELECT id FROM players WHERE uuid = '"+P.getUniqueId().toString()+"')"); ResultSet rs = AnuraCore.getSql().querySelect("SELECT id, timestamp, type FROM coreFoundPots WHERE player = (SELECT id FROM players WHERE uuid = '" + P.getUniqueId().toString() + "')");
HashMap<Integer, Boolean> list = new HashMap<>(); HashMap<Integer, Boolean> list = new HashMap<>();
HashMap<Integer, Integer> listTimes = new HashMap<>(); HashMap<Integer, Integer> listTimes = new HashMap<>();
while(rs.next()) while (rs.next()) {
{
list.put(rs.getInt("id"), rs.getBoolean("type")); list.put(rs.getInt("id"), rs.getBoolean("type"));
if(rs.getBoolean("type")) if (rs.getBoolean("type")) {
{
listTimes.put(rs.getInt("id"), rs.getInt("timestamp")); listTimes.put(rs.getInt("id"), rs.getInt("timestamp"));
} }
} }
@@ -69,106 +61,87 @@ public class FlowerPots {
} }
} }
public void refreshPot(Integer pot) public void refreshPot(Integer pot) {
{
Location l = AnuraCore.getInstance().flowerPots.get(pot); Location l = AnuraCore.getInstance().flowerPots.get(pot);
for(Player P : l.getWorld().getPlayers()) for (Player P : l.getWorld().getPlayers()) {
{ if (P.getLocation().distance(l) < 20) {
if(P.getLocation().distance(l) < 20)
{
refreshPlayerPot(P, pot, l); refreshPlayerPot(P, pot, l);
} }
} }
} }
public void refreshPlayerPot(Player p, Integer pot, Location l) public void refreshPlayerPot(Player p, Integer pot, Location l) {
{ if (!this.foundPot(p, pot)) {
if(!this.foundPot(p, pot)) p.sendBlockChange(l, Material.FLOWER_POT, (byte) 0);
{ } else {
p.sendBlockChange(l, Material.FLOWER_POT, (byte)0); p.sendBlockChange(l, Material.AIR, (byte) 0);
}
else
{
p.sendBlockChange(l, Material.AIR, (byte)0);
} }
} }
public void refreshPlayer(Player p) public void refreshPlayer(Player p) {
{ for (Map.Entry<Integer, Location> pots : AnuraCore.getInstance().flowerPots.entrySet()) {
for(Map.Entry<Integer, Location> pots : AnuraCore.getInstance().flowerPots.entrySet()) if (pots.getValue().getWorld().equals(p.getLocation().getWorld()) && pots.getValue().distance(p.getLocation()) < 20) {
{
if(pots.getValue().getWorld().equals(p.getLocation().getWorld()) && pots.getValue().distance(p.getLocation()) < 20)
{
refreshPlayerPot(p, pots.getKey(), pots.getValue()); refreshPlayerPot(p, pots.getKey(), pots.getValue());
} }
} }
AnuraCore.getInstance().lastLoc.put(p, p.getLocation()); AnuraCore.getInstance().lastLoc.put(p, p.getLocation());
} }
public void playerFoundPot(Player P, Integer pot) public void playerFoundPot(Player P, Integer pot) {
{ if (!foundPot(P, pot)) {
if(!foundPot(P, pot))
{
Integer time = getPotWaitTime(pot); Integer time = getPotWaitTime(pot);
boolean alreadyFound = foundCache.get(P).containsKey(pot); boolean alreadyFound = foundCache.get(P).containsKey(pot);
int type = 0; int type = 0;
if(time == -1) if (time == -1) {
{
foundCache.get(P).put(pot, false); foundCache.get(P).put(pot, false);
} } else {
else
{
type = 1; type = 1;
foundCache.get(P).put(pot, true); foundCache.get(P).put(pot, true);
foundTimestamp.get(P).put(pot, (int)(System.currentTimeMillis() / 1000)); foundTimestamp.get(P).put(pot, (int) (System.currentTimeMillis() / 1000));
} }
String sql; String sql;
if(alreadyFound) if (alreadyFound) {
{ sql = "UPDATE coreFoundPots SET timestamp = '" + (System.currentTimeMillis() / 1000) + "', type = 1 WHERE player = (SELECT id FROM players WHERE uuid = '" + P.getUniqueId().toString() + "') AND id = '" + pot + "'";
sql = "UPDATE coreFoundPots SET timestamp = '"+(System.currentTimeMillis() / 1000)+"', type = 1 WHERE player = (SELECT id FROM players WHERE uuid = '"+P.getUniqueId().toString()+"') AND id = '"+pot+"'"; } else {
} sql = "INSERT INTO coreFoundPots(id, player, timestamp, type) VALUES('" + pot + "', (SELECT id FROM players WHERE uuid = '" + P.getUniqueId().toString() + "'),'" + (int) (System.currentTimeMillis() / 1000) + "'," + type + ")";
else
{
sql = "INSERT INTO coreFoundPots(id, player, timestamp, type) VALUES('"+pot+"', (SELECT id FROM players WHERE uuid = '"+P.getUniqueId().toString()+"'),'"+(int) (System.currentTimeMillis() / 1000)+"',"+type+")";
} }
AnuraCore.getSql().queryUpdate(sql); AnuraCore.getSql().queryUpdate(sql);
Location loc = AnuraCore.getInstance().flowerPots.get(pot); Location loc = AnuraCore.getInstance().flowerPots.get(pot);
for(int i = 0; i < 20; i++) for (int i = 0; i < 20; i++) {
{
loc.getWorld().playEffect(loc, Effect.FIREWORKS_SPARK, 4); loc.getWorld().playEffect(loc, Effect.FIREWORKS_SPARK, 4);
} }
P.playSound(loc, Sound.LEVEL_UP, 1, (float)1.5); P.playSound(loc, Sound.LEVEL_UP, 1, (float) 1.5);
ResultSet rs = AnuraCore.getSql().querySelect("SELECT url, name, money FROM corePots WHERE id = '"+pot+"'"); ResultSet rs = AnuraCore.getSql().querySelect("SELECT url, name, money FROM corePots WHERE id = '" + pot + "'");
try { try {
rs.first(); rs.first();
Money.payMoney(P, rs.getInt("money")); Money.payMoney(P, rs.getInt("money"));
P.sendMessage(ChatColor.RED + "---------- "+ChatColor.YELLOW + "Achievement"+ChatColor.RED+ " ----------"); P.sendMessage(ChatColor.RED + "---------- " + ChatColor.YELLOW + "Achievement" + ChatColor.RED + " ----------");
P.sendMessage(ChatColor.BLUE + rs.getString("name")); P.sendMessage(ChatColor.BLUE + rs.getString("name"));
P.sendMessage("" + ChatColor.GOLD + ChatColor.UNDERLINE + rs.getString("url")); P.sendMessage("" + ChatColor.GOLD + ChatColor.UNDERLINE + rs.getString("url"));
P.sendMessage(""); P.sendMessage("");
P.sendMessage(ChatColor.RED + "---------- "+ChatColor.YELLOW + "Achievement"+ChatColor.RED+ " ----------"); P.sendMessage(ChatColor.RED + "---------- " + ChatColor.YELLOW + "Achievement" + ChatColor.RED + " ----------");
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("Error playerFoundPot(FlowerPot)"); System.out.println("Error playerFoundPot(FlowerPot)");
} }
} } else if (getPotWaitTime(pot) != -1 && foundCache.containsKey(P) && foundCache.get(P).containsKey(pot) && foundTimestamp.containsKey(P) && foundTimestamp.get(P).containsKey(pot)) {
else if(getPotWaitTime(pot) != -1 && foundCache.containsKey(P) && foundCache.get(P).containsKey(pot) && foundTimestamp.containsKey(P) && foundTimestamp.get(P).containsKey(pot)) int current = (int) (System.currentTimeMillis() / 1000);
{
int current = (int)(System.currentTimeMillis() / 1000);
int found = foundTimestamp.get(P).get(pot); int found = foundTimestamp.get(P).get(pot);
int waitTime = getPotWaitTime(pot); int waitTime = getPotWaitTime(pot);
int toWait = (found + waitTime) - current; int toWait = (found + waitTime) - current;
if (toWait <= 0) return; if (toWait <= 0) {
return;
}
String text = ChatColor.RED + Core.getl("ach_wait_1", P); String text = ChatColor.RED + Core.getl("ach_wait_1", P);
if (toWait < 60) { if (toWait < 60) {
text += " "+ChatColor.GREEN+toWait+" "+ChatColor.RED+Core.getl("ach_wait_seconds", P); text += " " + ChatColor.GREEN + toWait + " " + ChatColor.RED + Core.getl("ach_wait_seconds", P);
} else if (toWait < 60*60) { } else if (toWait < 60 * 60) {
text += " "+ChatColor.GREEN+Math.round(toWait/60)+" "+ChatColor.RED+Core.getl("ach_wait_minutes", P); text += " " + ChatColor.GREEN + Math.round(toWait / 60) + " " + ChatColor.RED + Core.getl("ach_wait_minutes", P);
} else if (toWait < 60*60*24) { } else if (toWait < 60 * 60 * 24) {
text += " "+ChatColor.GREEN+Math.round(toWait/60/60)+" "+ChatColor.RED+Core.getl("ach_wait_hours", P); text += " " + ChatColor.GREEN + Math.round(toWait / 60 / 60) + " " + ChatColor.RED + Core.getl("ach_wait_hours", P);
} else { } else {
text += " "+ChatColor.GREEN+Math.round(toWait/60/60/24)+" "+ChatColor.RED+Core.getl("ach_wait_days", P); text += " " + ChatColor.GREEN + Math.round(toWait / 60 / 60 / 24) + " " + ChatColor.RED + Core.getl("ach_wait_days", P);
} }
text += " "+Core.getl("ach_wait_2", P); text += " " + Core.getl("ach_wait_2", P);
P.sendMessage(text); P.sendMessage(text);
} }

View File

@@ -1,4 +1,3 @@
package de.anura.core; package de.anura.core;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -9,6 +8,7 @@ import org.bukkit.map.MapView;
public class ImgRenderer extends MapRenderer { public class ImgRenderer extends MapRenderer {
private final String name; private final String name;
public ImgRenderer(String name) { public ImgRenderer(String name) {
this.name = name; this.name = name;
} }

View File

@@ -5,47 +5,42 @@ import java.sql.SQLException;
import java.util.HashMap; import java.util.HashMap;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
public class LanguageSupport public class LanguageSupport {
{
private final AnuraCore plugin; private final AnuraCore plugin;
public HashMap<String, String> languages = new HashMap<>(); public HashMap<String, String> languages = new HashMap<>();
private HashMap<String, HashMap<String, String>> languageValues = new HashMap<>(); private HashMap<String, HashMap<String, String>> languageValues = new HashMap<>();
public LanguageSupport(AnuraCore plugin) public LanguageSupport(AnuraCore plugin) {
{
this.plugin = plugin; this.plugin = plugin;
ResultSet al = AnuraCore.sql.querySelect("SELECT name, short_name FROM coreAvailableLanguages"); ResultSet al = AnuraCore.sql.querySelect("SELECT name, short_name FROM coreAvailableLanguages");
try { try {
if(!al.next()) return; if (!al.next()) {
return;
}
al.beforeFirst(); al.beforeFirst();
String languageString = ""; String languageString = "";
while(al.next()) while (al.next()) {
{
languages.put(al.getString("short_name"), al.getString("name")); languages.put(al.getString("short_name"), al.getString("name"));
languageString += ", "+al.getString("short_name"); languageString += ", " + al.getString("short_name");
languageValues.put(al.getString("short_name"), new HashMap<String, String>()); languageValues.put(al.getString("short_name"), new HashMap<String, String>());
} }
ResultSet lv = AnuraCore.sql.querySelect("SELECT id"+languageString+" FROM coreLanguages"); ResultSet lv = AnuraCore.sql.querySelect("SELECT id" + languageString + " FROM coreLanguages");
while(lv.next()) while (lv.next()) {
{ for (String lang : languages.keySet()) {
for(String lang : languages.keySet())
{
languageValues.get(lang).put(lv.getString("id"), lv.getString(lang)); languageValues.get(lang).put(lv.getString("id"), lv.getString(lang));
} }
} }
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("Language data could not be loaded: "+ex.getLocalizedMessage()); System.out.println("Language data could not be loaded: " + ex.getLocalizedMessage());
} }
} }
public String get(String id, String lang)
{ public String get(String id, String lang) {
String value; String value;
if(languageValues.get(lang).containsKey(id)) if (languageValues.get(lang).containsKey(id)) {
{
value = languageValues.get(lang).get(id); value = languageValues.get(lang).get(id);
} } else {
else
{
value = id; value = id;
} }
return ChatColor.translateAlternateColorCodes('&', value); return ChatColor.translateAlternateColorCodes('&', value);

View File

@@ -19,17 +19,19 @@ import org.bukkit.entity.Player;
/** /**
* ParticleEffect Library v1.3 * ParticleEffect Library v1.3
* *
* This library was created by @DarkBlade12 based on content related to particles of @microgeek (names and packet values), it allows you to display all Minecraft particle effects on a Bukkit server * This library was created by @DarkBlade12 based on content related to
* particles of @microgeek (names and packet values), it allows you to display
* all Minecraft particle effects on a Bukkit server
* *
* You are welcome to use it, modify it and redistribute it under the following conditions: * You are welcome to use it, modify it and redistribute it under the following
* 1. Don't claim this class as your own * conditions: 1. Don't claim this class as your own 2. Don't remove this text
* 2. Don't remove this text
* *
* (Would be nice if you provide credit to me) * (Would be nice if you provide credit to me)
* *
* @author DarkBlade12 * @author DarkBlade12
*/ */
public enum ParticleEffect { public enum ParticleEffect {
HUGE_EXPLOSION("hugeexplosion", 0), HUGE_EXPLOSION("hugeexplosion", 0),
LARGE_EXPLODE("largeexplode", 1), LARGE_EXPLODE("largeexplode", 1),
FIREWORKS_SPARK("fireworksSpark", 2), FIREWORKS_SPARK("fireworksSpark", 2),
@@ -99,10 +101,13 @@ public enum ParticleEffect {
} }
public static ParticleEffect fromName(String name) { public static ParticleEffect fromName(String name) {
if (name != null) if (name != null) {
for (Entry<String, ParticleEffect> e : NAME_MAP.entrySet()) for (Entry<String, ParticleEffect> e : NAME_MAP.entrySet()) {
if (e.getKey().equalsIgnoreCase(name)) if (e.getKey().equalsIgnoreCase(name)) {
return e.getValue(); return e.getValue();
}
}
}
return null; return null;
} }
@@ -113,15 +118,18 @@ public enum ParticleEffect {
private static List<Player> getPlayersInRange(Location loc, double range) { private static List<Player> getPlayersInRange(Location loc, double range) {
List<Player> players = new ArrayList<>(); List<Player> players = new ArrayList<>();
double sqr = range * range; double sqr = range * range;
for (Player p : loc.getWorld().getPlayers()) for (Player p : loc.getWorld().getPlayers()) {
if (p.getLocation().distanceSquared(loc) <= sqr) if (p.getLocation().distanceSquared(loc) <= sqr) {
players.add(p); players.add(p);
}
}
return players; return players;
} }
private static Object createPacket(String name, Location loc, float offsetX, float offsetY, float offsetZ, float speed, int amount) { private static Object createPacket(String name, Location loc, float offsetX, float offsetY, float offsetZ, float speed, int amount) {
if (amount <= 0) if (amount <= 0) {
throw new IllegalArgumentException("Amount of particles has to be greater than 0"); throw new IllegalArgumentException("Amount of particles has to be greater than 0");
}
try { try {
Object p = PARTICLE_PACKET_CONSTRUCTOR.newInstance(name, (float) loc.getX(), (float) loc.getY(), (float) loc.getZ(), offsetX, offsetY, offsetZ, speed, amount); Object p = PARTICLE_PACKET_CONSTRUCTOR.newInstance(name, (float) loc.getX(), (float) loc.getY(), (float) loc.getZ(), offsetX, offsetY, offsetZ, speed, amount);
return p; return p;
@@ -148,7 +156,7 @@ public enum ParticleEffect {
} }
private static void sendPacket(Player p, Object packet) { private static void sendPacket(Player p, Object packet) {
if (packet != null) if (packet != null) {
try { try {
Object entityPlayer = ReflectionUtil.invokeMethod("getHandle", p.getClass(), p); Object entityPlayer = ReflectionUtil.invokeMethod("getHandle", p.getClass(), p);
Object playerConnection = ReflectionUtil.getValue("playerConnection", entityPlayer); Object playerConnection = ReflectionUtil.getValue("playerConnection", entityPlayer);
@@ -157,11 +165,13 @@ public enum ParticleEffect {
Bukkit.getLogger().log(Level.WARNING, "[ParticleEffect] Failed to send a particle packet to {0}!", p.getName()); Bukkit.getLogger().log(Level.WARNING, "[ParticleEffect] Failed to send a particle packet to {0}!", p.getName());
} }
} }
}
private static void sendPacket(Collection<Player> players, Object packet) { private static void sendPacket(Collection<Player> players, Object packet) {
for (Player p : players) for (Player p : players) {
sendPacket(p, packet); sendPacket(p, packet);
} }
}
/** /**
* Displays a particle effect which is only visible for specific players * Displays a particle effect which is only visible for specific players
@@ -171,64 +181,75 @@ public enum ParticleEffect {
} }
/** /**
* Displays a particle effect which is visible for all players whitin the maximum range of 20 blocks in the world of @param loc * Displays a particle effect which is visible for all players whitin the
* maximum range of 20 blocks in the world of @param loc
*/ */
public void display(Location loc, float offsetX, float offsetY, float offsetZ, float speed, int amount) { public void display(Location loc, float offsetX, float offsetY, float offsetZ, float speed, int amount) {
display(loc, MAX_RANGE, offsetX, offsetY, offsetZ, speed, amount); display(loc, MAX_RANGE, offsetX, offsetY, offsetZ, speed, amount);
} }
/** /**
* Displays a particle effect which is visible for all players whitin a certain range in the the world of @param loc * Displays a particle effect which is visible for all players whitin a
* certain range in the the world of @param loc
*/ */
public void display(Location loc, double range, float offsetX, float offsetY, float offsetZ, float speed, int amount) { public void display(Location loc, double range, float offsetX, float offsetY, float offsetZ, float speed, int amount) {
if (range > MAX_RANGE) if (range > MAX_RANGE) {
throw new IllegalArgumentException("Range has to be lower/equal the maximum of 20"); throw new IllegalArgumentException("Range has to be lower/equal the maximum of 20");
}
sendPacket(getPlayersInRange(loc, range), createPacket(loc, offsetX, offsetY, offsetZ, speed, amount)); sendPacket(getPlayersInRange(loc, range), createPacket(loc, offsetX, offsetY, offsetZ, speed, amount));
} }
/** /**
* Displays an icon crack (item break) effect which is only visible for specific players * Displays an icon crack (item break) effect which is only visible for
* specific players
*/ */
public static void displayIconCrack(Location loc, int id, float offsetX, float offsetY, float offsetZ, float speed, int amount, Player... players) { public static void displayIconCrack(Location loc, int id, float offsetX, float offsetY, float offsetZ, float speed, int amount, Player... players) {
sendPacket(Arrays.asList(players), createIconCrackPacket(id, loc, offsetX, offsetY, offsetZ, speed, amount)); sendPacket(Arrays.asList(players), createIconCrackPacket(id, loc, offsetX, offsetY, offsetZ, speed, amount));
} }
/** /**
* Displays an icon crack (item break) effect which is visible for all players whitin the maximum range of 20 blocks in the world of @param loc * Displays an icon crack (item break) effect which is visible for all
* players whitin the maximum range of 20 blocks in the world of @param loc
*/ */
public static void displayIconCrack(Location loc, int id, float offsetX, float offsetY, float offsetZ, float speed, int amount) { public static void displayIconCrack(Location loc, int id, float offsetX, float offsetY, float offsetZ, float speed, int amount) {
displayIconCrack(loc, MAX_RANGE, id, offsetX, offsetY, offsetZ, speed, amount); displayIconCrack(loc, MAX_RANGE, id, offsetX, offsetY, offsetZ, speed, amount);
} }
/** /**
* Displays an icon crack (item break) effect which is visible for all players whitin a certain range in the the world of @param loc * Displays an icon crack (item break) effect which is visible for all
* players whitin a certain range in the the world of @param loc
*/ */
public static void displayIconCrack(Location loc, double range, int id, float offsetX, float offsetY, float offsetZ, float speed, int amount) { public static void displayIconCrack(Location loc, double range, int id, float offsetX, float offsetY, float offsetZ, float speed, int amount) {
if (range > MAX_RANGE) if (range > MAX_RANGE) {
throw new IllegalArgumentException("Range has to be lower/equal the maximum of 20"); throw new IllegalArgumentException("Range has to be lower/equal the maximum of 20");
}
sendPacket(getPlayersInRange(loc, range), createIconCrackPacket(id, loc, offsetX, offsetY, offsetZ, speed, amount)); sendPacket(getPlayersInRange(loc, range), createIconCrackPacket(id, loc, offsetX, offsetY, offsetZ, speed, amount));
} }
/** /**
* Displays a block crack (block break) effect which is only visible for specific players * Displays a block crack (block break) effect which is only visible for
* specific players
*/ */
public static void displayBlockCrack(Location loc, int id, byte data, float offsetX, float offsetY, float offsetZ, int amount, Player... players) { public static void displayBlockCrack(Location loc, int id, byte data, float offsetX, float offsetY, float offsetZ, int amount, Player... players) {
sendPacket(Arrays.asList(players), createBlockCrackPacket(id, data, loc, offsetX, offsetY, offsetZ, amount)); sendPacket(Arrays.asList(players), createBlockCrackPacket(id, data, loc, offsetX, offsetY, offsetZ, amount));
} }
/** /**
* Displays a block crack (block break) effect which is visible for all players whitin the maximum range of 20 blocks in the world of @param loc * Displays a block crack (block break) effect which is visible for all
* players whitin the maximum range of 20 blocks in the world of @param loc
*/ */
public static void displayBlockCrack(Location loc, int id, byte data, float offsetX, float offsetY, float offsetZ, int amount) { public static void displayBlockCrack(Location loc, int id, byte data, float offsetX, float offsetY, float offsetZ, int amount) {
displayBlockCrack(loc, MAX_RANGE, id, data, offsetX, offsetY, offsetZ, amount); displayBlockCrack(loc, MAX_RANGE, id, data, offsetX, offsetY, offsetZ, amount);
} }
/** /**
* Displays a block crack (block break) effect which is visible for all players whitin a certain range in the the world of @param loc * Displays a block crack (block break) effect which is visible for all
* players whitin a certain range in the the world of @param loc
*/ */
public static void displayBlockCrack(Location loc, double range, int id, byte data, float offsetX, float offsetY, float offsetZ, int amount) { public static void displayBlockCrack(Location loc, double range, int id, byte data, float offsetX, float offsetY, float offsetZ, int amount) {
if (range > MAX_RANGE) if (range > MAX_RANGE) {
throw new IllegalArgumentException("Range has to be lower/equal the maximum of 20"); throw new IllegalArgumentException("Range has to be lower/equal the maximum of 20");
}
sendPacket(getPlayersInRange(loc, range), createBlockCrackPacket(id, data, loc, offsetX, offsetY, offsetZ, amount)); sendPacket(getPlayersInRange(loc, range), createBlockCrackPacket(id, data, loc, offsetX, offsetY, offsetZ, amount));
} }
@@ -240,18 +261,21 @@ public enum ParticleEffect {
} }
/** /**
* Displays a block dust effect which is visible for all players whitin the maximum range of 20 blocks in the world of @param loc * Displays a block dust effect which is visible for all players whitin the
* maximum range of 20 blocks in the world of @param loc
*/ */
public static void displayBlockDust(Location loc, int id, byte data, float offsetX, float offsetY, float offsetZ, float speed, int amount) { public static void displayBlockDust(Location loc, int id, byte data, float offsetX, float offsetY, float offsetZ, float speed, int amount) {
displayBlockDust(loc, MAX_RANGE, id, data, offsetX, offsetY, offsetZ, speed, amount); displayBlockDust(loc, MAX_RANGE, id, data, offsetX, offsetY, offsetZ, speed, amount);
} }
/** /**
* Displays a block dust effect which is visible for all players whitin a certain range in the the world of @param loc * Displays a block dust effect which is visible for all players whitin a
* certain range in the the world of @param loc
*/ */
public static void displayBlockDust(Location loc, double range, int id, byte data, float offsetX, float offsetY, float offsetZ, float speed, int amount) { public static void displayBlockDust(Location loc, double range, int id, byte data, float offsetX, float offsetY, float offsetZ, float speed, int amount) {
if (range > MAX_RANGE) if (range > MAX_RANGE) {
throw new IllegalArgumentException("Range has to be lower/equal the maximum of 20"); throw new IllegalArgumentException("Range has to be lower/equal the maximum of 20");
}
sendPacket(getPlayersInRange(loc, range), createBlockDustPacket(id, data, loc, offsetX, offsetY, offsetZ, speed, amount)); sendPacket(getPlayersInRange(loc, range), createBlockDustPacket(id, data, loc, offsetX, offsetY, offsetZ, speed, amount));
} }
} }

View File

@@ -1,4 +1,3 @@
package de.anura.core; package de.anura.core;
import java.sql.ResultSet; import java.sql.ResultSet;
@@ -32,8 +31,7 @@ public final class Permissions implements Listener {
private int groupAutoIncrement = 0; private int groupAutoIncrement = 0;
private final AnuraCore plugin; private final AnuraCore plugin;
public Permissions(AnuraCore plugin) public Permissions(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.reload(); this.reload();
this.plugin = plugin; this.plugin = plugin;
@@ -43,55 +41,51 @@ public final class Permissions implements Listener {
//Event handlers //Event handlers
@EventHandler @EventHandler
public void playerJoin(PlayerJoinEvent event) public void playerJoin(PlayerJoinEvent event) {
{
Player P = event.getPlayer(); Player P = event.getPlayer();
this.permAttachments.put(P, P.addAttachment(this.plugin)); this.permAttachments.put(P, P.addAttachment(this.plugin));
this.updatePlayer(P); this.updatePlayer(P);
} }
@EventHandler @EventHandler
public void playerKick(PlayerKickEvent event) public void playerKick(PlayerKickEvent event) {
{
Player P = event.getPlayer(); Player P = event.getPlayer();
if(this.permAttachments.get(P) == null) return; if (this.permAttachments.get(P) == null) {
return;
}
P.removeAttachment(this.permAttachments.get(P)); P.removeAttachment(this.permAttachments.get(P));
this.permAttachments.remove(P); this.permAttachments.remove(P);
} }
@EventHandler @EventHandler
public void playerQuit(PlayerQuitEvent event) public void playerQuit(PlayerQuitEvent event) {
{
Player P = event.getPlayer(); Player P = event.getPlayer();
if(this.permAttachments.get(P) == null) return; if (this.permAttachments.get(P) == null) {
return;
}
P.removeAttachment(this.permAttachments.get(P)); P.removeAttachment(this.permAttachments.get(P));
this.permAttachments.remove(P); this.permAttachments.remove(P);
} }
//The permission stuff //The permission stuff
private void createPermAttachs() private void createPermAttachs() {
{ for (Player P : Bukkit.getOnlinePlayers()) {
for(Player P : Bukkit.getOnlinePlayers())
{
this.permAttachments.put(P, P.addAttachment(this.plugin)); this.permAttachments.put(P, P.addAttachment(this.plugin));
} }
} }
public void updateAllPlayers()
{ public void updateAllPlayers() {
for(Player P : Bukkit.getOnlinePlayers()) for (Player P : Bukkit.getOnlinePlayers()) {
{
this.updatePlayer(P); this.updatePlayer(P);
} }
} }
public void updatePlayer(Player P)
{ public void updatePlayer(Player P) {
PermissionAttachment pa = this.permAttachments.get(P); PermissionAttachment pa = this.permAttachments.get(P);
for(String p : pa.getPermissions().keySet()) for (String p : pa.getPermissions().keySet()) {
{
pa.unsetPermission(p); pa.unsetPermission(p);
} }
if(!this.playerGroups.containsKey(P.getUniqueId())) if (!this.playerGroups.containsKey(P.getUniqueId())) {
{
this.playerGroups.put(P.getUniqueId(), new ArrayList<Integer>()); this.playerGroups.put(P.getUniqueId(), new ArrayList<Integer>());
} }
ArrayList<Integer> groups = this.playerGroups.get(P.getUniqueId()); ArrayList<Integer> groups = this.playerGroups.get(P.getUniqueId());
@@ -99,50 +93,51 @@ public final class Permissions implements Listener {
String prefixes = ""; String prefixes = "";
String suffixes = ""; String suffixes = "";
String listColor = ""; String listColor = "";
for(Integer g : groups) for (Integer g : groups) {
{ if (assignedGroups.contains(g)) {
if(assignedGroups.contains(g)) continue; continue;
}
assignedGroups.add(g); assignedGroups.add(g);
for(String perm : this.groupPerms.get(g)) for (String perm : this.groupPerms.get(g)) {
{
pa.setPermission(perm, true); pa.setPermission(perm, true);
} }
ArrayList<String> perms = this.getParentPerms(g, assignedGroups); ArrayList<String> perms = this.getParentPerms(g, assignedGroups);
for(String perm : perms) for (String perm : perms) {
{
pa.setPermission(perm, true); pa.setPermission(perm, true);
} }
if(this.groupPrefix.containsKey(g)) prefixes += this.groupPrefix.get(g); if (this.groupPrefix.containsKey(g)) {
if(this.groupSuffix.containsKey(g)) suffixes += this.groupSuffix.get(g); prefixes += this.groupPrefix.get(g);
if(this.groupListColor.containsKey(g)) listColor = this.groupListColor.get(g); }
if (this.groupSuffix.containsKey(g)) {
suffixes += this.groupSuffix.get(g);
}
if (this.groupListColor.containsKey(g)) {
listColor = this.groupListColor.get(g);
}
} }
String name = prefixes + P.getName() + suffixes; String name = prefixes + P.getName() + suffixes;
P.setDisplayName(name); P.setDisplayName(name);
P.setPlayerListName(listColor + P.getName()); P.setPlayerListName(listColor + P.getName());
} }
private ArrayList<String> getParentPerms(Integer group, ArrayList<Integer> assigned)
{ private ArrayList<String> getParentPerms(Integer group, ArrayList<Integer> assigned) {
ArrayList<String> toReturn = new ArrayList<>(); ArrayList<String> toReturn = new ArrayList<>();
if(this.groupParents.get(group) == -1) if (this.groupParents.get(group) == -1) {
{
return toReturn; return toReturn;
} }
if(assigned.contains(this.groupParents.get(group))) if (assigned.contains(this.groupParents.get(group))) {
{
return toReturn; return toReturn;
} }
for(String perm : this.groupPerms.get(this.groupParents.get(group))) for (String perm : this.groupPerms.get(this.groupParents.get(group))) {
{
toReturn.add(perm); toReturn.add(perm);
} }
for(String perm : this.getParentPerms(this.groupParents.get(group), assigned)) for (String perm : this.getParentPerms(this.groupParents.get(group), assigned)) {
{
toReturn.add(perm); toReturn.add(perm);
} }
return toReturn; return toReturn;
} }
public String reload()
{ public String reload() {
ResultSet groupsRs = AnuraCore.sql.querySelect("SELECT prefix, suffix, parent, name, id, listColor FROM permGroups"); ResultSet groupsRs = AnuraCore.sql.querySelect("SELECT prefix, suffix, parent, name, id, listColor FROM permGroups");
ResultSet permsRs = AnuraCore.sql.querySelect("SELECT `group`, name FROM permPerms"); ResultSet permsRs = AnuraCore.sql.querySelect("SELECT `group`, name FROM permPerms");
ResultSet userRs = AnuraCore.sql.querySelect("SELECT playerUUID, `group` FROM permPlayerGroups"); ResultSet userRs = AnuraCore.sql.querySelect("SELECT playerUUID, `group` FROM permPlayerGroups");
@@ -156,48 +151,45 @@ public final class Permissions implements Listener {
this.groupAutoIncrement = 0; this.groupAutoIncrement = 0;
try { try {
groupsRs.last(); groupsRs.last();
if(groupsRs.getRow() != 0) if (groupsRs.getRow() != 0) {
{
groupsRs.beforeFirst(); groupsRs.beforeFirst();
while(groupsRs.next()) while (groupsRs.next()) {
{
int id = this.groupAutoIncrement; int id = this.groupAutoIncrement;
this.groupNames.put(id, groupsRs.getString("name")); this.groupNames.put(id, groupsRs.getString("name"));
this.groupPerms.put(id, new ArrayList<String>()); this.groupPerms.put(id, new ArrayList<String>());
this.groupParents.put(id, groupsRs.getInt("parent")); this.groupParents.put(id, groupsRs.getInt("parent"));
if(groupsRs.getString("prefix") != null) this.groupPrefix.put(id, groupsRs.getString("prefix")); if (groupsRs.getString("prefix") != null) {
if(groupsRs.getString("suffix") != null) this.groupSuffix.put(id, groupsRs.getString("suffix")); this.groupPrefix.put(id, groupsRs.getString("prefix"));
if(groupsRs.getString("listColor") != null) this.groupListColor.put(id, groupsRs.getString("listColor")); }
if (groupsRs.getString("suffix") != null) {
this.groupSuffix.put(id, groupsRs.getString("suffix"));
}
if (groupsRs.getString("listColor") != null) {
this.groupListColor.put(id, groupsRs.getString("listColor"));
}
groupIds.put(groupsRs.getInt("id"), id); groupIds.put(groupsRs.getInt("id"), id);
this.groupAutoIncrement++; this.groupAutoIncrement++;
} }
} }
permsRs.last(); permsRs.last();
if(permsRs.getRow() != 0) if (permsRs.getRow() != 0) {
{
permsRs.beforeFirst(); permsRs.beforeFirst();
while(permsRs.next()) while (permsRs.next()) {
{
int groupId = groupIds.get(permsRs.getInt("group")); int groupId = groupIds.get(permsRs.getInt("group"));
if(this.groupNames.containsKey(groupId)) if (this.groupNames.containsKey(groupId)) {
{
this.groupPerms.get(groupId).add(permsRs.getString("name")); this.groupPerms.get(groupId).add(permsRs.getString("name"));
} }
} }
} }
userRs.last(); userRs.last();
if(userRs.getRow() != 0) if (userRs.getRow() != 0) {
{
userRs.beforeFirst(); userRs.beforeFirst();
while(userRs.next()) while (userRs.next()) {
{
int groupId = groupIds.get(userRs.getInt("group")); int groupId = groupIds.get(userRs.getInt("group"));
if(this.groupNames.containsKey(groupId)) if (this.groupNames.containsKey(groupId)) {
{
ArrayList<Integer> groupList = this.playerGroups.get(UUID.fromString(userRs.getString("playerUUID"))); ArrayList<Integer> groupList = this.playerGroups.get(UUID.fromString(userRs.getString("playerUUID")));
if(groupList == null) if (groupList == null) {
{
groupList = new ArrayList<>(); groupList = new ArrayList<>();
} }
groupList.add(groupId); groupList.add(groupId);
@@ -207,10 +199,9 @@ public final class Permissions implements Listener {
} }
} catch (SQLException ex) { } catch (SQLException ex) {
System.err.println("Was not able to load permissions. Sorry. ("+ex.getLocalizedMessage()+")"); System.err.println("Was not able to load permissions. Sorry. (" + ex.getLocalizedMessage() + ")");
} }
return ChatColor.GREEN + "Permissions reloaded!"; return ChatColor.GREEN + "Permissions reloaded!";
} }
} }

View File

@@ -11,11 +11,13 @@ import org.bukkit.Bukkit;
/** /**
* ReflectionUtil v1.1 * ReflectionUtil v1.1
* *
* You are welcome to use it, modify it and redistribute it under the condition to not claim this class as your own * You are welcome to use it, modify it and redistribute it under the condition
* to not claim this class as your own
* *
* @author DarkBlade12 * @author DarkBlade12
*/ */
public abstract class ReflectionUtil { public abstract class ReflectionUtil {
private static final Map<Class<?>, Class<?>> CORRESPONDING_TYPES = new HashMap<>(); private static final Map<Class<?>, Class<?>> CORRESPONDING_TYPES = new HashMap<>();
static { static {
@@ -30,6 +32,7 @@ public abstract class ReflectionUtil {
} }
public enum DynamicPackage { public enum DynamicPackage {
MINECRAFT_SERVER { MINECRAFT_SERVER {
@Override @Override
public String toString() { public String toString() {
@@ -45,6 +48,7 @@ public abstract class ReflectionUtil {
} }
public static class FieldEntry { public static class FieldEntry {
String key; String key;
Object value; Object value;
@@ -69,25 +73,30 @@ public abstract class ReflectionUtil {
private static Class<?>[] toPrimitiveTypeArray(Object[] objects) { private static Class<?>[] toPrimitiveTypeArray(Object[] objects) {
int a = objects != null ? objects.length : 0; int a = objects != null ? objects.length : 0;
Class<?>[] types = new Class<?>[a]; Class<?>[] types = new Class<?>[a];
for (int i = 0; i < a; i++) for (int i = 0; i < a; i++) {
types[i] = getPrimitiveType(objects[i].getClass()); types[i] = getPrimitiveType(objects[i].getClass());
}
return types; return types;
} }
private static Class<?>[] toPrimitiveTypeArray(Class<?>[] classes) { private static Class<?>[] toPrimitiveTypeArray(Class<?>[] classes) {
int a = classes != null ? classes.length : 0; int a = classes != null ? classes.length : 0;
Class<?>[] types = new Class<?>[a]; Class<?>[] types = new Class<?>[a];
for (int i = 0; i < a; i++) for (int i = 0; i < a; i++) {
types[i] = getPrimitiveType(classes[i]); types[i] = getPrimitiveType(classes[i]);
}
return types; return types;
} }
private static boolean equalsTypeArray(Class<?>[] a, Class<?>[] o) { private static boolean equalsTypeArray(Class<?>[] a, Class<?>[] o) {
if (a.length != o.length) if (a.length != o.length) {
return false; return false;
for (int i = 0; i < a.length; i++) }
if (!a[i].equals(o[i]) && !a[i].isAssignableFrom(o[i])) for (int i = 0; i < a.length; i++) {
if (!a[i].equals(o[i]) && !a[i].isAssignableFrom(o[i])) {
return false; return false;
}
}
return true; return true;
} }
@@ -103,9 +112,10 @@ public abstract class ReflectionUtil {
Class<?>[] t = toPrimitiveTypeArray(paramTypes); Class<?>[] t = toPrimitiveTypeArray(paramTypes);
for (Constructor<?> c : clazz.getConstructors()) { for (Constructor<?> c : clazz.getConstructors()) {
Class<?>[] types = toPrimitiveTypeArray(c.getParameterTypes()); Class<?>[] types = toPrimitiveTypeArray(c.getParameterTypes());
if (equalsTypeArray(types, t)) if (equalsTypeArray(types, t)) {
return c; return c;
} }
}
return null; return null;
} }
@@ -125,9 +135,10 @@ public abstract class ReflectionUtil {
Class<?>[] t = toPrimitiveTypeArray(paramTypes); Class<?>[] t = toPrimitiveTypeArray(paramTypes);
for (Method m : clazz.getMethods()) { for (Method m : clazz.getMethods()) {
Class<?>[] types = toPrimitiveTypeArray(m.getParameterTypes()); Class<?>[] types = toPrimitiveTypeArray(m.getParameterTypes());
if (m.getName().equals(name) && equalsTypeArray(types, t)) if (m.getName().equals(name) && equalsTypeArray(types, t)) {
return m; return m;
} }
}
return null; return null;
} }
@@ -152,7 +163,8 @@ public abstract class ReflectionUtil {
} }
public static void setValues(Object obj, FieldEntry... entrys) throws Exception { public static void setValues(Object obj, FieldEntry... entrys) throws Exception {
for (FieldEntry f : entrys) for (FieldEntry f : entrys) {
setValue(obj, f); setValue(obj, f);
} }
}
} }

View File

@@ -43,10 +43,9 @@ import org.bukkit.util.Vector;
public class Setup { public class Setup {
public static void setupConfig() { public static void setupConfig() {
Core.getMainClass().getConfig().addDefault("no-damage", false); Core.getMainClass().getConfig().addDefault("no-damage", false);
Core.getMainClass().getConfig().addDefault("no-void-death",false); Core.getMainClass().getConfig().addDefault("no-void-death", false);
Core.getMainClass().getConfig().addDefault("no-change-blocks", false); Core.getMainClass().getConfig().addDefault("no-change-blocks", false);
Core.getMainClass().getConfig().addDefault("is-main-lobby", false); Core.getMainClass().getConfig().addDefault("is-main-lobby", false);
Core.getMainClass().getConfig().addDefault("no-hunger", false); Core.getMainClass().getConfig().addDefault("no-hunger", false);
@@ -95,14 +94,14 @@ public class Setup {
RealTime.setup(); RealTime.setup();
ResultSet rs = sql.querySelect("SELECT id, X, Y, Z, world, type, waitTime FROM corePots"); ResultSet rs = sql.querySelect("SELECT id, X, Y, Z, world, type, waitTime FROM corePots");
try { try {
while(rs.next()) while (rs.next()) {
{
World w = Bukkit.getWorld(rs.getString("world")); World w = Bukkit.getWorld(rs.getString("world"));
if(w == null) continue; if (w == null) {
continue;
}
Location l = new Location(w, rs.getInt("X"), rs.getInt("Y"), rs.getInt("Z")); Location l = new Location(w, rs.getInt("X"), rs.getInt("Y"), rs.getInt("Z"));
Core.getMainClass().flowerPots.put(rs.getInt("id"), l); Core.getMainClass().flowerPots.put(rs.getInt("id"), l);
if (rs.getBoolean("type")) if (rs.getBoolean("type")) {
{
Core.getMainClass().flowerPotsWait.put(rs.getInt("id"), rs.getInt("waitTime")); Core.getMainClass().flowerPotsWait.put(rs.getInt("id"), rs.getInt("waitTime"));
} }
l.getBlock().setType(Material.BROWN_MUSHROOM); l.getBlock().setType(Material.BROWN_MUSHROOM);
@@ -119,39 +118,34 @@ public class Setup {
@Override @Override
public void run() { public void run() {
for(Player P : Core.getMainClass().golfPower.keySet()) for (Player P : Core.getMainClass().golfPower.keySet()) {
{ if (Core.getMainClass().releaseGolf.get(P)) {
if(Core.getMainClass().releaseGolf.get(P))
{
P.setExp(0); P.setExp(0);
int power = Core.getMainClass().golfPower.get(P); int power = Core.getMainClass().golfPower.get(P);
Entity i = Core.getMainClass().golfBall.get(P); Entity i = Core.getMainClass().golfBall.get(P);
if(i != null && i.isValid()) if (i != null && i.isValid()) {
{
Vector v = P.getLocation().getDirection(); Vector v = P.getLocation().getDirection();
v.multiply(new Vector(power / 10 + 1,1.2,power / 10 + 1)); v.multiply(new Vector(power / 10 + 1, 1.2, power / 10 + 1));
i.setVelocity(v); i.setVelocity(v);
} }
Core.getMainClass().golfPower.remove(P); Core.getMainClass().golfPower.remove(P);
Core.getMainClass().releaseGolf.remove(P); Core.getMainClass().releaseGolf.remove(P);
} } else {
else
{
Core.getMainClass().releaseGolf.put(P, true); Core.getMainClass().releaseGolf.put(P, true);
} }
} }
} }
}, 5, 5); }, 5, 5);
ResultSet rs = sql.querySelect("SELECT world, X, Y, Z FROM coreStairs WHERE server = '"+Core.getMainClass().getConfig().getString("server-name")+"'"); ResultSet rs = sql.querySelect("SELECT world, X, Y, Z FROM coreStairs WHERE server = '" + Core.getMainClass().getConfig().getString("server-name") + "'");
try { try {
while(rs.next()) while (rs.next()) {
{
World w = Bukkit.getWorld(rs.getString("world")); World w = Bukkit.getWorld(rs.getString("world"));
if(w == null) continue; if (w == null) {
continue;
}
Location l = new Location(w, rs.getInt("X"), rs.getInt("Y"), rs.getInt("Z")); Location l = new Location(w, rs.getInt("X"), rs.getInt("Y"), rs.getInt("Z"));
if(l.getBlock().getState().getData() instanceof Stairs) if (l.getBlock().getState().getData() instanceof Stairs) {
{
Core.getMainClass().sittableBlocks.add(l.getBlock()); Core.getMainClass().sittableBlocks.add(l.getBlock());
} }
} }
@@ -163,10 +157,9 @@ public class Setup {
@Override @Override
public void run() { public void run() {
for(Player p : AnuraCore.getInstance().sittingPlayer.keySet()) for (Player p : AnuraCore.getInstance().sittingPlayer.keySet()) {
{
Location loc = AnuraCore.getInstance().sittingPlayer.get(p).getLocation(); Location loc = AnuraCore.getInstance().sittingPlayer.get(p).getLocation();
Arrow a = loc.getWorld().spawnArrow(loc, new Vector(0,0,0), 0, 0); Arrow a = loc.getWorld().spawnArrow(loc, new Vector(0, 0, 0), 0, 0);
a.setPassenger(p); a.setPassenger(p);
AnuraCore.getInstance().sittingPlayer.get(p).remove(); AnuraCore.getInstance().sittingPlayer.get(p).remove();
AnuraCore.getInstance().sittingPlayer.put(p, a); AnuraCore.getInstance().sittingPlayer.put(p, a);
@@ -179,7 +172,7 @@ public class Setup {
public void run() { public void run() {
AnuraCore.getInstance().signs.updateServerSigns(); AnuraCore.getInstance().signs.updateServerSigns();
} }
}, 20*5, 20*5); }, 20 * 5, 20 * 5);
} }
public static void setupCommands() { public static void setupCommands() {
@@ -258,8 +251,7 @@ public class Setup {
Inventories.registerInventory("LANGUAGE", "Select language", ChatColor.DARK_BLUE); Inventories.registerInventory("LANGUAGE", "Select language", ChatColor.DARK_BLUE);
int i = 0; int i = 0;
for(String langu : Core.getMainClass().lang.languages.keySet()) for (String langu : Core.getMainClass().lang.languages.keySet()) {
{
Inventories.putIntoInventory("LANGUAGE", i, Inventories.buildItems(Material.BOOK_AND_QUILL, Core.getMainClass().lang.languages.get(langu), ChatColor.DARK_GREEN, ChatColor.GOLD, "set_lang_to", Core.getMainClass().lang.languages.get(langu))); Inventories.putIntoInventory("LANGUAGE", i, Inventories.buildItems(Material.BOOK_AND_QUILL, Core.getMainClass().lang.languages.get(langu), ChatColor.DARK_GREEN, ChatColor.GOLD, "set_lang_to", Core.getMainClass().lang.languages.get(langu)));
Inventories.registerAction("LANGUAGE", i, Inventories.Action.LANGUAGE, langu); Inventories.registerAction("LANGUAGE", i, Inventories.Action.LANGUAGE, langu);
i++; i++;

View File

@@ -20,67 +20,68 @@ import org.bukkit.plugin.messaging.PluginMessageListener;
public class Signs implements PluginMessageListener { public class Signs implements PluginMessageListener {
public void updateServerSigns() public void updateServerSigns() {
{ if (Bukkit.getOnlinePlayers().length == 0) {
if(Bukkit.getOnlinePlayers().length == 0) return; return;
ResultSet rs = sql.querySelect("SELECT DISTINCT value FROM coreWarpSigns WHERE type = 'server' AND server = '"+Core.getMainClass().getConfig().getString("server-name")+"'"); }
ResultSet rs = sql.querySelect("SELECT DISTINCT value FROM coreWarpSigns WHERE type = 'server' AND server = '" + Core.getMainClass().getConfig().getString("server-name") + "'");
try { try {
rs.last(); rs.last();
if(rs.getRow() == 0) return; if (rs.getRow() == 0) {
return;
}
rs.beforeFirst(); rs.beforeFirst();
while(rs.next()) while (rs.next()) {
{
ByteArrayOutputStream b = new ByteArrayOutputStream(); ByteArrayOutputStream b = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(b); DataOutputStream out = new DataOutputStream(b);
out.writeUTF("PlayerCount"); out.writeUTF("PlayerCount");
out.writeUTF(rs.getString("value")); out.writeUTF(rs.getString("value"));
Bukkit.getOnlinePlayers()[0].sendPluginMessage(Core.getMainClass(), "BungeeCord", b.toByteArray()); Bukkit.getOnlinePlayers()[0].sendPluginMessage(Core.getMainClass(), "BungeeCord", b.toByteArray());
ResultSet rs2 = sql.querySelect("SELECT maxPlayers FROM coreServers WHERE name = LOWER('"+rs.getString("value")+"')"); ResultSet rs2 = sql.querySelect("SELECT maxPlayers FROM coreServers WHERE name = LOWER('" + rs.getString("value") + "')");
rs2.last(); rs2.last();
Boolean online = true; Boolean online = true;
int maxPlayers = 0; int maxPlayers = 0;
if(rs2.getRow() == 0) { if (rs2.getRow() == 0) {
online = false; online = false;
} } else {
else {
rs2.first(); rs2.first();
maxPlayers = rs2.getInt("maxPlayers"); maxPlayers = rs2.getInt("maxPlayers");
} }
rs2 = sql.querySelect("SELECT X,Y,Z,world,info FROM coreWarpSigns WHERE type = 'server' AND server = '"+Core.getMainClass().getConfig().getString("server-name")+"' AND value = '"+rs.getString("value")+"'"); rs2 = sql.querySelect("SELECT X,Y,Z,world,info FROM coreWarpSigns WHERE type = 'server' AND server = '" + Core.getMainClass().getConfig().getString("server-name") + "' AND value = '" + rs.getString("value") + "'");
rs2.last(); rs2.last();
if(rs2.getRow() == 0) continue; if (rs2.getRow() == 0) {
continue;
}
rs2.beforeFirst(); rs2.beforeFirst();
while(rs2.next()) while (rs2.next()) {
{
Boolean remove = false; Boolean remove = false;
World w = Bukkit.getWorld(rs2.getString("world")); World w = Bukkit.getWorld(rs2.getString("world"));
BlockState bs = null; BlockState bs = null;
if(w == null) remove = true; if (w == null) {
else remove = true;
{ } else {
Block bl = w.getBlockAt(rs2.getInt("X"), rs2.getInt("Y"), rs2.getInt("Z")); Block bl = w.getBlockAt(rs2.getInt("X"), rs2.getInt("Y"), rs2.getInt("Z"));
if(bl== null || !(bl.getState() instanceof Sign)) remove = true; if (bl == null || !(bl.getState() instanceof Sign)) {
else remove = true;
{ } else {
bs = bl.getState(); bs = bl.getState();
} }
} }
if(remove) if (remove) {
{ String anotherSQL = "DELETE FROM coreWarpSigns WHERE server = '" + Core.getMainClass().getConfig().getString("server-name") + "' AND type = 'server' AND value = '" + rs.getString("value") + "'";
String anotherSQL = "DELETE FROM coreWarpSigns WHERE server = '"+Core.getMainClass().getConfig().getString("server-name")+"' AND type = 'server' AND value = '"+rs.getString("value")+"'";
sql.queryUpdate(anotherSQL); sql.queryUpdate(anotherSQL);
continue; continue;
} }
if(bs == null) continue; if (bs == null) {
Sign s = (Sign)bs; continue;
}
Sign s = (Sign) bs;
String rest = s.getLine(1).substring(0, s.getLine(1).length() - 2); String rest = s.getLine(1).substring(0, s.getLine(1).length() - 2);
String info = rs2.getString("info"); String info = rs2.getString("info");
if(s.getLocation().getWorld().isChunkLoaded(s.getLocation().getBlockX()/16,s.getLocation().getBlockZ()/16)) if (s.getLocation().getWorld().isChunkLoaded(s.getLocation().getBlockX() / 16, s.getLocation().getBlockZ() / 16)) {
{ if (!online) {
if(!online) s.setLine(1, ChatColor.RED + "--" + ChatColor.DARK_GRAY + "/" + ChatColor.RED + "--");
{
s.setLine(1, ChatColor.RED + "--"+ChatColor.DARK_GRAY+"/"+ChatColor.RED + "--");
s.setLine(3, ChatColor.RED + "Offline"); s.setLine(3, ChatColor.RED + "Offline");
s.update(); s.update();
continue; continue;
@@ -92,7 +93,7 @@ public class Signs implements PluginMessageListener {
} }
} }
} catch (SQLException | IOException ex) { } catch (SQLException | IOException ex) {
System.err.println("Exception in updateServerSigns()(Core): "+ex.getLocalizedMessage()); System.err.println("Exception in updateServerSigns()(Core): " + ex.getLocalizedMessage());
} }
} }
@@ -107,68 +108,65 @@ public class Signs implements PluginMessageListener {
try { try {
String subchannel = in.readUTF(); String subchannel = in.readUTF();
if(subchannel.equals("PlayerCount")) if (subchannel.equals("PlayerCount")) {
{
String server = in.readUTF(); String server = in.readUTF();
int playercount = in.readInt(); int playercount = in.readInt();
String sqlQ = "SELECT X,Y,Z,world FROM coreWarpSigns WHERE server = '"+Core.getMainClass().getConfig().getString("server-name")+"' AND type = 'server' AND value = '"+server+"'"; String sqlQ = "SELECT X,Y,Z,world FROM coreWarpSigns WHERE server = '" + Core.getMainClass().getConfig().getString("server-name") + "' AND type = 'server' AND value = '" + server + "'";
ResultSet rs = sql.querySelect(sqlQ); ResultSet rs = sql.querySelect(sqlQ);
rs.last(); rs.last();
if(rs.getRow() == 0) return; if (rs.getRow() == 0) {
return;
}
rs.beforeFirst(); rs.beforeFirst();
while(rs.next()) while (rs.next()) {
{
Boolean remove = false; Boolean remove = false;
World w = Bukkit.getWorld(rs.getString("world")); World w = Bukkit.getWorld(rs.getString("world"));
BlockState bs = null; BlockState bs = null;
if(w == null) remove = true; if (w == null) {
else remove = true;
{ } else {
Block b = w.getBlockAt(rs.getInt("X"), rs.getInt("Y"), rs.getInt("Z")); Block b = w.getBlockAt(rs.getInt("X"), rs.getInt("Y"), rs.getInt("Z"));
if(b == null || !(b.getState() instanceof Sign)) remove = true; if (b == null || !(b.getState() instanceof Sign)) {
else remove = true;
{ } else {
bs = b.getState(); bs = b.getState();
} }
} }
if(remove) if (remove) {
{ String anotherSQL = "DELETE FROM coreWarpSigns WHERE server = '" + Core.getMainClass().getConfig().getString("server-name") + "' AND type = 'server' AND value = '" + server + "'";
String anotherSQL = "DELETE FROM coreWarpSigns WHERE server = '"+Core.getMainClass().getConfig().getString("server-name")+"' AND type = 'server' AND value = '"+server+"'";
sql.queryUpdate(anotherSQL); sql.queryUpdate(anotherSQL);
continue; continue;
} }
if(bs == null) continue; if (bs == null) {
if(bs instanceof Sign)
{
Sign s = (Sign)bs;
if(s.getLine(3).equalsIgnoreCase(ChatColor.RED + "Offline"))
{
s.setLine(1, ChatColor.RED + "--"+ChatColor.DARK_GRAY+"/"+ChatColor.RED+"--");
continue; continue;
} }
String maxplayers = s.getLine(1).substring(s.getLine(1).length()-2); if (bs instanceof Sign) {
Boolean hasPlace = true; Sign s = (Sign) bs;
if(maxplayers.equals("--")) hasPlace = true; if (s.getLine(3).equalsIgnoreCase(ChatColor.RED + "Offline")) {
else if(Integer.parseInt(maxplayers) == playercount) hasPlace = false; s.setLine(1, ChatColor.RED + "--" + ChatColor.DARK_GRAY + "/" + ChatColor.RED + "--");
if(hasPlace) continue;
{
s.setLine(1, ChatColor.GREEN + String.valueOf(playercount) + ChatColor.DARK_GRAY + "/" + ChatColor.GREEN+ maxplayers);
} }
else String maxplayers = s.getLine(1).substring(s.getLine(1).length() - 2);
{ Boolean hasPlace = true;
s.setLine(1, ChatColor.RED + String.valueOf(playercount) + ChatColor.DARK_GRAY + "/" + ChatColor.GREEN+ maxplayers); if (maxplayers.equals("--")) {
hasPlace = true;
} else if (Integer.parseInt(maxplayers) == playercount) {
hasPlace = false;
}
if (hasPlace) {
s.setLine(1, ChatColor.GREEN + String.valueOf(playercount) + ChatColor.DARK_GRAY + "/" + ChatColor.GREEN + maxplayers);
} else {
s.setLine(1, ChatColor.RED + String.valueOf(playercount) + ChatColor.DARK_GRAY + "/" + ChatColor.GREEN + maxplayers);
} }
s.update(); s.update();
} }
} }
} } else if (subchannel.equals("updatePermissions")) {
else if(subchannel.equals("updatePermissions"))
{
Core.getMainClass().perms.reload(); Core.getMainClass().perms.reload();
Core.getMainClass().perms.updateAllPlayers(); Core.getMainClass().perms.updateAllPlayers();
} }
} catch (IOException | SQLException ex) { } catch (IOException | SQLException ex) {
System.err.println("Exception in updateServerSigns()(Core): "+ex.getLocalizedMessage()); System.err.println("Exception in updateServerSigns()(Core): " + ex.getLocalizedMessage());
} }
} }
} }

View File

@@ -18,79 +18,63 @@ public class AdminCommands implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) { public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) {
Player P = null; Player P = null;
if(sender instanceof Player) if (sender instanceof Player) {
{ P = (Player) sender;
P = (Player)sender;
} }
if(cmd.getName().equalsIgnoreCase("clearArrows")) if (cmd.getName().equalsIgnoreCase("clearArrows")) {
{ if (P == null) {
if(P == null) Core.statusMsg(sender, "only_player_cmd", false);
{
Core.statusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
if(!sender.hasPermission("core.commands.cleararrows")) if (!sender.hasPermission("core.commands.cleararrows")) {
{ Core.statusMsg(sender, "no_perms", false);
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
for(Player pl : Core.getMainClass().sittingPlayer.keySet()) for (Player pl : Core.getMainClass().sittingPlayer.keySet()) {
{
Core.endSitting(pl); Core.endSitting(pl);
} }
for(Arrow a : P.getWorld().getEntitiesByClass(Arrow.class)) for (Arrow a : P.getWorld().getEntitiesByClass(Arrow.class)) {
{
a.remove(); a.remove();
} }
Core.getTools().sendStatusMsg(sender, "Done!", true); Core.getTools().sendStatusMsg(sender, "Done!", true);
return true; return true;
} else if(cmd.getName().equalsIgnoreCase("core")) } else if (cmd.getName().equalsIgnoreCase("core")) {
{ if (!sender.hasPermission("core.commands.core")) {
if(!sender.hasPermission("core.commands.core")) Core.statusMsg(sender, "no_perms", false);
{
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
if(args.length != 1) if (args.length != 1) {
{ Core.statusMsg(sender, "wrong_args_count", false);
Core.statusMsg(sender,"wrong_args_count",false);
return false; return false;
} }
if((args[0].equalsIgnoreCase("reload") || args[0].equalsIgnoreCase("rl")) && sender.isOp()) if ((args[0].equalsIgnoreCase("reload") || args[0].equalsIgnoreCase("rl")) && sender.isOp()) {
{
try { try {
Core.getMainClass().getConfig().load(new File("plugins/Core/","config.yml")); Core.getMainClass().getConfig().load(new File("plugins/Core/", "config.yml"));
Core.getMainClass().lang = new LanguageSupport(Core.getMainClass()); Core.getMainClass().lang = new LanguageSupport(Core.getMainClass());
Core.statusMsg(sender,"config_rl_done",true); Core.statusMsg(sender, "config_rl_done", true);
} catch (IOException ex) { } catch (IOException ex) {
Core.statusMsg(sender,"config_rl_error_io",false); Core.statusMsg(sender, "config_rl_error_io", false);
} catch (InvalidConfigurationException ex) { } catch (InvalidConfigurationException ex) {
Core.statusMsg(sender,"config_rl_invalid",false); Core.statusMsg(sender, "config_rl_invalid", false);
} }
return true; return true;
} } else if (args[0].equalsIgnoreCase("save") && sender.isOp()) {
else if(args[0].equalsIgnoreCase("save") && sender.isOp())
{
try { try {
Core.getMainClass().getConfig().save(new File("plugins/Core/","config.yml")); Core.getMainClass().getConfig().save(new File("plugins/Core/", "config.yml"));
Core.statusMsg(sender,"config_save",true); Core.statusMsg(sender, "config_save", true);
} catch (IOException ex) { } catch (IOException ex) {
Core.statusMsg(sender,"config_save_io_err",false); Core.statusMsg(sender, "config_save_io_err", false);
} }
} } else if (args[0].equalsIgnoreCase("debugclosemysql") && sender.isOp()) {
else if(args[0].equalsIgnoreCase("debugclosemysql") && sender.isOp())
{
AnuraCore.sql.closeConnection(); AnuraCore.sql.closeConnection();
Core.statusMsg(sender, "debug_mysql_closed", true); Core.statusMsg(sender, "debug_mysql_closed", true);
return true; return true;
} }
} else if(cmd.getName().equalsIgnoreCase("setspawn")) } else if (cmd.getName().equalsIgnoreCase("setspawn")) {
{ if (P != null && P.hasPermission("core.commands.setspawn")) {
if(P != null && P.hasPermission("core.commands.setspawn"))
{
Location l = P.getLocation(); Location l = P.getLocation();
l.getWorld().setSpawnLocation((int)l.getX(), (int)l.getY(), (int)l.getZ()); l.getWorld().setSpawnLocation((int) l.getX(), (int) l.getY(), (int) l.getZ());
Core.statusMsg(P,"spawn_set",true); Core.statusMsg(P, "spawn_set", true);
return true; return true;
} }
} }

View File

@@ -14,24 +14,29 @@ public class OtherCommands implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) { public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) {
Player P = null; Player P = null;
if(sender instanceof Player) { if (sender instanceof Player) {
P = (Player)sender; P = (Player) sender;
} }
if(cmd.getName().equalsIgnoreCase("togglecommands")) { if (cmd.getName().equalsIgnoreCase("togglecommands")) {
if(!(sender instanceof BlockCommandSender)) { if (!(sender instanceof BlockCommandSender)) {
Core.getTools().sendStatusMsg(sender,"Only command block cmd!",false); Core.getTools().sendStatusMsg(sender, "Only command block cmd!", false);
return true; return true;
} }
if(args.length != 2) return false; if (args.length != 2) {
return false;
}
String action = args[1]; String action = args[1];
if(!action.equals("disable") && !action.equals("enable")) return true; if (!action.equals("disable") && !action.equals("enable")) {
return true;
}
OfflinePlayer op = Bukkit.getOfflinePlayer(args[0]); OfflinePlayer op = Bukkit.getOfflinePlayer(args[0]);
if(!op.isOnline()) return true; if (!op.isOnline()) {
return true;
}
Boolean b = action.equals("disable"); Boolean b = action.equals("disable");
Core.getMainClass().disableCommandsAdventure.put(op.getPlayer(), b); Core.getMainClass().disableCommandsAdventure.put(op.getPlayer(), b);
return true; return true;
} else if(cmd.getName().equalsIgnoreCase("none")) } else if (cmd.getName().equalsIgnoreCase("none")) {
{
Core.statusMsg(sender, "cmd_not_found", false); Core.statusMsg(sender, "cmd_not_found", false);
return true; return true;
} }

View File

@@ -23,12 +23,11 @@ public class PlayerCommands implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) { public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
Player P = null; Player P = null;
if(sender instanceof Player) if (sender instanceof Player) {
{ P = (Player) sender;
P = (Player)sender;
} }
if(cmd.getName().equalsIgnoreCase("toggledbljump")) { if (cmd.getName().equalsIgnoreCase("toggledbljump")) {
if(P == null) { if (P == null) {
Core.statusMsg(sender, "only_player_cmd", false); Core.statusMsg(sender, "only_player_cmd", false);
return true; return true;
} }
@@ -48,13 +47,17 @@ public class PlayerCommands implements CommandExecutor {
} }
if (args[0].equalsIgnoreCase("xpbattle")) { if (args[0].equalsIgnoreCase("xpbattle")) {
Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("xpBattleJoin"); Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("xpBattleJoin");
if (o == null) return true; if (o == null) {
return true;
}
o.getScore(P).setScore(1); o.getScore(P).setScore(1);
Core.statusMsg(sender, "joined_xpBattle", true); Core.statusMsg(sender, "joined_xpBattle", true);
return true; return true;
} else if (args[0].equalsIgnoreCase("pool")) { } else if (args[0].equalsIgnoreCase("pool")) {
Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("poolJoin"); Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("poolJoin");
if (o == null) return true; if (o == null) {
return true;
}
o.getScore(P).setScore(1); o.getScore(P).setScore(1);
Core.statusMsg(sender, "joined_pool", true); Core.statusMsg(sender, "joined_pool", true);
return true; return true;
@@ -69,13 +72,17 @@ public class PlayerCommands implements CommandExecutor {
} }
if (args[0].equalsIgnoreCase("xpbattle")) { if (args[0].equalsIgnoreCase("xpbattle")) {
Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("xpBattleJoin"); Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("xpBattleJoin");
if (o == null) return true; if (o == null) {
return true;
}
o.getScore(P).setScore(0); o.getScore(P).setScore(0);
Core.statusMsg(sender, "left_xpBattle", true); Core.statusMsg(sender, "left_xpBattle", true);
return true; return true;
} else if (args[0].equalsIgnoreCase("pool")) { } else if (args[0].equalsIgnoreCase("pool")) {
Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("poolJoin"); Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("poolJoin");
if (o == null) return true; if (o == null) {
return true;
}
o.getScore(P).setScore(0); o.getScore(P).setScore(0);
Core.statusMsg(sender, "left_pool", true); Core.statusMsg(sender, "left_pool", true);
return true; return true;
@@ -90,7 +97,9 @@ public class PlayerCommands implements CommandExecutor {
} }
if (args[0].equalsIgnoreCase("xpbattle")) { if (args[0].equalsIgnoreCase("xpbattle")) {
Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("xpBattleJoin"); Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("xpBattleJoin");
if (o == null) return true; if (o == null) {
return true;
}
if (o.getScore(P).getScore() == 0) { if (o.getScore(P).getScore() == 0) {
Bukkit.dispatchCommand(sender, "joinminigame xpBattle"); Bukkit.dispatchCommand(sender, "joinminigame xpBattle");
return true; return true;
@@ -100,7 +109,9 @@ public class PlayerCommands implements CommandExecutor {
} }
} else if (args[0].equalsIgnoreCase("pool")) { } else if (args[0].equalsIgnoreCase("pool")) {
Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("poolJoin"); Objective o = Bukkit.getScoreboardManager().getMainScoreboard().getObjective("poolJoin");
if (o == null) return true; if (o == null) {
return true;
}
if (o.getScore(P).getScore() == 0) { if (o.getScore(P).getScore() == 0) {
Bukkit.dispatchCommand(sender, "joinminigame pool"); Bukkit.dispatchCommand(sender, "joinminigame pool");
return true; return true;
@@ -109,117 +120,94 @@ public class PlayerCommands implements CommandExecutor {
return true; return true;
} }
} }
} else if(cmd.getName().equalsIgnoreCase("hilfe")) } else if (cmd.getName().equalsIgnoreCase("hilfe")) {
{ if (!cmdLabel.equals("hilfe") && !cmdLabel.equals("help") && !cmdLabel.equals("?")) {
if(!cmdLabel.equals("hilfe") && !cmdLabel.equals("help") && !cmdLabel.equals("?"))
{
cmdLabel = "hilfe"; cmdLabel = "hilfe";
} }
if(sender.hasPermission("core.commands.help")) if (sender.hasPermission("core.commands.help")) {
{ sender.sendMessage(ChatColor.RED + "Achtung: " + ChatColor.YELLOW + "Die echte Hilfe gibts mit " + ChatColor.BLUE + "/?" + ChatColor.YELLOW + "!");
sender.sendMessage(ChatColor.RED + "Achtung: "+ChatColor.YELLOW+"Die echte Hilfe gibts mit "+ChatColor.BLUE+"/?"+ChatColor.YELLOW+"!");
} }
if(args.length == 0) if (args.length == 0) {
{ sender.sendMessage(ChatColor.YELLOW + "-----------" + ChatColor.AQUA + "Hilfe" + ChatColor.YELLOW + "-----------");
sender.sendMessage(ChatColor.YELLOW+"-----------"+ChatColor.AQUA+"Hilfe"+ChatColor.YELLOW+"-----------"); sender.sendMessage(ChatColor.GREEN + "Hilfe zu den Befehlen gibt es mit " + ChatColor.BLUE + "/" + cmdLabel + " commands");
sender.sendMessage(ChatColor.GREEN+"Hilfe zu den Befehlen gibt es mit "+ChatColor.BLUE+"/"+cmdLabel+" commands"); sender.sendMessage(ChatColor.GOLD + "Informationen zu unseren GameModes erhälst du mit " + ChatColor.BLUE + "/" + cmdLabel + " gamemodes");
sender.sendMessage(ChatColor.GOLD+"Informationen zu unseren GameModes erhälst du mit "+ChatColor.BLUE+"/"+cmdLabel+" gamemodes"); } else if (args.length == 1) {
if (args[0].equalsIgnoreCase("commands")) {
sender.sendMessage(ChatColor.YELLOW + "-----------" + ChatColor.AQUA + "Befehle" + ChatColor.YELLOW + "-----------");
sender.sendMessage(ChatColor.BLUE + "/lobby " + ChatColor.GREEN + "Bringt dich jederzeit zurück zur Lobby.");
sender.sendMessage(ChatColor.BLUE + "/spawn " + ChatColor.GOLD + "Teleportiert dich zum Spawn.");
sender.sendMessage(ChatColor.BLUE + "/money " + ChatColor.GREEN + "Zeigt dein Geld an.");
sender.sendMessage(ChatColor.RED + "Befehle für den Smash-Gamemode siehst du mit " + ChatColor.BLUE + "/" + cmdLabel + " commands smash");
} else if (args[0].equalsIgnoreCase("gamemodes")) {
sender.sendMessage(ChatColor.YELLOW + "-----------" + ChatColor.AQUA + "Gamemodes" + ChatColor.YELLOW + "-----------");
sender.sendMessage(ChatColor.GRAY + "----------" + ChatColor.GREEN + "Smash PvP" + ChatColor.GRAY + "-----------");
sender.sendMessage(ChatColor.BLUE + "In Smash PvP geht es darum, mithilfe von verschiedenen Klassen deine "
+ "Gegner ins Wasser, in die Lava oder aus der Welt zu schlagen. "
+ "Du kannst verschiedenen Arenen beitreten. Es gibt keine Begrenzung, wie "
+ "lange du spielen kannst. Jeder Kill gibt dir Münzen. Stirbst du, verlierst du "
+ "eine Münze.");
sender.sendMessage(ChatColor.GOLD + "Mit " + ChatColor.RED + "/" + cmdLabel + " commands smash" + ChatColor.GOLD + " kannst du dir");
sender.sendMessage(ChatColor.GOLD + "alle Befehle des Minigames anzeigen lassen.");
} }
else if(args.length == 1) } else if (args.length == 2) {
{ if (args[0].equalsIgnoreCase("commands") && args[1].equalsIgnoreCase("smash")) {
if(args[0].equalsIgnoreCase("commands")) sender.sendMessage(ChatColor.YELLOW + "-----------" + ChatColor.AQUA + "Smash Befehle" + ChatColor.YELLOW + "-----------");
{ sender.sendMessage(ChatColor.BLUE + "/join <Arena> " + ChatColor.GREEN + "Hiermit kannst du einem Smash Game beitreten.");
sender.sendMessage(ChatColor.YELLOW+"-----------"+ChatColor.AQUA+"Befehle"+ChatColor.YELLOW+"-----------"); sender.sendMessage(ChatColor.BLUE + "/leave " + ChatColor.GREEN + "Lässt dich ein Spiel verlassen.");
sender.sendMessage(ChatColor.BLUE+"/lobby "+ChatColor.GREEN+"Bringt dich jederzeit zurück zur Lobby."); sender.sendMessage(ChatColor.BLUE + "/class " + ChatColor.GREEN + "Damit kannst du während eines Spiels die Klasse wechseln.");
sender.sendMessage(ChatColor.BLUE+"/spawn "+ChatColor.GOLD+"Teleportiert dich zum Spawn."); sender.sendMessage(ChatColor.BLUE + "/classes " + ChatColor.GREEN + "Teleportiert dich in einen Raum, in dem du Klassen kaufen kannst.");
sender.sendMessage(ChatColor.BLUE+"/money "+ChatColor.GREEN+"Zeigt dein Geld an."); sender.sendMessage(ChatColor.BLUE + "/bug <Beschreibung> " + ChatColor.GREEN + "Wenn du einen Bug gefunden hast, kannst du ihn so reporten.");
sender.sendMessage(ChatColor.RED+"Befehle für den Smash-Gamemode siehst du mit "+ChatColor.BLUE+"/"+cmdLabel+" commands smash");
}
else if(args[0].equalsIgnoreCase("gamemodes"))
{
sender.sendMessage(ChatColor.YELLOW+"-----------"+ChatColor.AQUA+"Gamemodes"+ChatColor.YELLOW+"-----------");
sender.sendMessage(ChatColor.GRAY+"----------"+ChatColor.GREEN+"Smash PvP"+ChatColor.GRAY+"-----------");
sender.sendMessage(ChatColor.BLUE+"In Smash PvP geht es darum, mithilfe von verschiedenen Klassen deine "+
"Gegner ins Wasser, in die Lava oder aus der Welt zu schlagen. "+
"Du kannst verschiedenen Arenen beitreten. Es gibt keine Begrenzung, wie "+
"lange du spielen kannst. Jeder Kill gibt dir Münzen. Stirbst du, verlierst du "+
"eine Münze.");
sender.sendMessage(ChatColor.GOLD+"Mit "+ChatColor.RED+"/"+cmdLabel+" commands smash"+ChatColor.GOLD+" kannst du dir");
sender.sendMessage(ChatColor.GOLD+"alle Befehle des Minigames anzeigen lassen.");
}
}
else if(args.length == 2)
{
if(args[0].equalsIgnoreCase("commands") && args[1].equalsIgnoreCase("smash"))
{
sender.sendMessage(ChatColor.YELLOW+"-----------"+ChatColor.AQUA+"Smash Befehle"+ChatColor.YELLOW+"-----------");
sender.sendMessage(ChatColor.BLUE+"/join <Arena> "+ChatColor.GREEN+"Hiermit kannst du einem Smash Game beitreten.");
sender.sendMessage(ChatColor.BLUE+"/leave "+ChatColor.GREEN+"Lässt dich ein Spiel verlassen.");
sender.sendMessage(ChatColor.BLUE+"/class "+ChatColor.GREEN+"Damit kannst du während eines Spiels die Klasse wechseln.");
sender.sendMessage(ChatColor.BLUE+"/classes "+ChatColor.GREEN+"Teleportiert dich in einen Raum, in dem du Klassen kaufen kannst.");
sender.sendMessage(ChatColor.BLUE+"/bug <Beschreibung> "+ChatColor.GREEN+"Wenn du einen Bug gefunden hast, kannst du ihn so reporten.");
} }
} }
return true; return true;
} else if(cmd.getName().equalsIgnoreCase("spawn")) } else if (cmd.getName().equalsIgnoreCase("spawn")) {
{ if (args.length == 1) {
if(args.length == 1) if (sender.hasPermission("core.commands.spawn-other") || sender instanceof BlockCommandSender) {
{ if (Bukkit.getOfflinePlayer(args[0]).isOnline()) {
if(sender.hasPermission("core.commands.spawn-other") || sender instanceof BlockCommandSender)
{
if(Bukkit.getOfflinePlayer(args[0]).isOnline())
{
P = Bukkit.getPlayer(args[0]); P = Bukkit.getPlayer(args[0]);
} }
} }
} }
if(P == null) if (P == null) {
{
Core.statusMsg(sender, "only_player_cmd", false); Core.statusMsg(sender, "only_player_cmd", false);
return true; return true;
} }
P.teleport(P.getLocation().getWorld().getSpawnLocation()); P.teleport(P.getLocation().getWorld().getSpawnLocation());
Core.statusMsg(P,"spawn_tp_done",true); Core.statusMsg(P, "spawn_tp_done", true);
return true; return true;
} else if(cmd.getName().equalsIgnoreCase("warp")) } else if (cmd.getName().equalsIgnoreCase("warp")) {
{
try { try {
if(args.length == 0 || args.length > 2) if (args.length == 0 || args.length > 2) {
{
Core.statusMsg(P, "wrong_args_count", false); Core.statusMsg(P, "wrong_args_count", false);
return false; return false;
} }
if(P == null) if (P == null) {
{ if (args.length != 2) {
if(args.length != 2)
{
Core.statusMsg(P, "wrong_args_count", false); Core.statusMsg(P, "wrong_args_count", false);
return false; return false;
} }
} }
if(args.length == 2) if (args.length == 2) {
{
String p = args[1]; String p = args[1];
if(!Bukkit.getOfflinePlayer(p).isOnline()) if (!Bukkit.getOfflinePlayer(p).isOnline()) {
{
Core.statusMsg(P, "player_not_online", false); Core.statusMsg(P, "player_not_online", false);
return false; return false;
} }
P = Bukkit.getPlayer(p); P = Bukkit.getPlayer(p);
} }
String warpName = args[0]; String warpName = args[0];
ResultSet rs = sql.querySelect("SELECT world, X, Y, Z, userWarp, server FROM coreWarps WHERE name = '"+warpName+"'"); ResultSet rs = sql.querySelect("SELECT world, X, Y, Z, userWarp, server FROM coreWarps WHERE name = '" + warpName + "'");
rs.last(); rs.last();
if(rs.getRow() == 0) if (rs.getRow() == 0) {
{
Core.statusMsg(P, "warp_not_exist", false); Core.statusMsg(P, "warp_not_exist", false);
return true; return true;
} }
rs.first(); rs.first();
if(P == null) return false; if (P == null) {
if(!rs.getBoolean("userWarp") && !P.hasPermission("core.commands.adminWarp")) return false;
{ }
if (!rs.getBoolean("userWarp") && !P.hasPermission("core.commands.adminWarp")) {
Core.statusMsg(P, "no_perms", false); Core.statusMsg(P, "no_perms", false);
return true; return true;
} }
@@ -228,14 +216,12 @@ public class PlayerCommands implements CommandExecutor {
int Z = rs.getInt("Z"); int Z = rs.getInt("Z");
String server = rs.getString("server"); String server = rs.getString("server");
String world = rs.getString("world"); String world = rs.getString("world");
if(!server.equals(Core.getMainClass().getConfig().getString("server-name"))) if (!server.equals(Core.getMainClass().getConfig().getString("server-name"))) {
{
Core.statusMsg(P, "warp_other_server", false); Core.statusMsg(P, "warp_other_server", false);
return true; return true;
} }
World w = Bukkit.getWorld(world); World w = Bukkit.getWorld(world);
if(w == null) if (w == null) {
{
Core.statusMsg(P, "warp_not_avail", false); Core.statusMsg(P, "warp_not_avail", false);
return true; return true;
} }
@@ -244,99 +230,72 @@ public class PlayerCommands implements CommandExecutor {
Core.statusMsg(P, "warp_tp_done", true); Core.statusMsg(P, "warp_tp_done", true);
return true; return true;
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("Error: "+ex.getLocalizedMessage()); System.out.println("Error: " + ex.getLocalizedMessage());
} }
} } else if (cmd.getName().equalsIgnoreCase("money")) {
else if(cmd.getName().equalsIgnoreCase("money")) if (args.length == 0) {
{ if (P == null) {
if(args.length == 0) Core.getTools().sendStatusMsg(sender, "only_player_cmd", false);
{
if(P == null)
{
Core.getTools().sendStatusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
Integer money = Money.getMoney(P); Integer money = Money.getMoney(P);
Core.getTools().sendStatusMsg(P,Core.getl("you_have", P)+" "+money+" "+ Core.getl("coins", P),true); Core.getTools().sendStatusMsg(P, Core.getl("you_have", P) + " " + money + " " + Core.getl("coins", P), true);
return true; return true;
} } else if ((args[0].equalsIgnoreCase("pay")) && (args.length == 3)) {
else if((args[0].equalsIgnoreCase("pay")) && (args.length == 3))
{
Integer money = Integer.parseInt(args[2]); Integer money = Integer.parseInt(args[2]);
boolean canPay; boolean canPay;
Integer geld = 0; Integer geld = 0;
if(sender.hasPermission("core.money.endless")) if (sender.hasPermission("core.money.endless")) {
{ if (P != null) {
if(P != null)
{
canPay = P.hasPermission("core.money.endless"); canPay = P.hasPermission("core.money.endless");
} } else {
else
{
canPay = true; canPay = true;
} }
} } else {
else if (P == null) {
{ Core.statusMsg(sender, "only_player_cmd", false);
if(P == null)
{
Core.statusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
if(P.getName().equals(args[1])) if (P.getName().equals(args[1])) {
{ Core.statusMsg(P, "money_pay_yourself", false);
Core.statusMsg(P,"money_pay_yourself",false);
return true; return true;
} }
if(!(money > 0)) if (!(money > 0)) {
{ Core.statusMsg(P, "number_must_positive", false);
Core.statusMsg(P,"number_must_positive",false);
return true; return true;
} }
int currentMoney = Money.getMoney(P); int currentMoney = Money.getMoney(P);
if(currentMoney < money) if (currentMoney < money) {
{ Core.statusMsg(P, "not_enough_money", false);
Core.statusMsg(P,"not_enough_money",false);
canPay = false; canPay = false;
} } else {
else
{
geld = currentMoney; geld = currentMoney;
canPay = true; canPay = true;
} }
} }
if(canPay) if (canPay) {
{
OfflinePlayer oP = Bukkit.getOfflinePlayer(args[1]); OfflinePlayer oP = Bukkit.getOfflinePlayer(args[1]);
if(!oP.hasPlayedBefore() && !oP.isOnline()) if (!oP.hasPlayedBefore() && !oP.isOnline()) {
{
Core.statusMsg(P, "never_seen_player", false); Core.statusMsg(P, "never_seen_player", false);
return true; return true;
} }
int currentMoney2 = Money.getMoney(oP); int currentMoney2 = Money.getMoney(oP);
if(currentMoney2 != -1) if (currentMoney2 != -1) {
{
Money.payMoney(oP, money); Money.payMoney(oP, money);
if(P == null){} if (P == null) {
else if(!P.hasPermission("core.money.endless")) } else if (!P.hasPermission("core.money.endless")) {
{
Money.payMoney(P, -money); Money.payMoney(P, -money);
} }
Core.getTools().sendStatusMsg(sender,Core.getl("money_payed_1", sender)+" "+args[1]+" "+Core.getl("money_payed_2", sender)+" "+args[2]+" "+Core.getl("money_payed_3", sender),true); Core.getTools().sendStatusMsg(sender, Core.getl("money_payed_1", sender) + " " + args[1] + " " + Core.getl("money_payed_2", sender) + " " + args[2] + " " + Core.getl("money_payed_3", sender), true);
if(oP.isOnline()) if (oP.isOnline()) {
{ Core.getTools().sendStatusMsg(oP.getPlayer(), Core.getl("money_got_1", oP.getPlayer()) + " " + args[2] + " " + Core.getl("money_got_2", oP.getPlayer()) + " " + sender.getName() + " " + Core.getl("money_got_3", oP.getPlayer()), true);
Core.getTools().sendStatusMsg(oP.getPlayer(),Core.getl("money_got_1", oP.getPlayer())+" "+args[2]+" "+Core.getl("money_got_2", oP.getPlayer())+" "+sender.getName()+" "+Core.getl("money_got_3", oP.getPlayer()),true);
} }
return true; return true;
} } else {
else Core.statusMsg(sender, "never_seen_player", false);
{
Core.statusMsg(sender,"never_seen_player", false);
return true; return true;
} }
} } else {
else
{
return true; return true;
} }
} }

View File

@@ -33,69 +33,55 @@ public class TeamCommands implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) { public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) {
Player P = null; Player P = null;
if(sender instanceof Player) if (sender instanceof Player) {
{ P = (Player) sender;
P = (Player)sender;
} }
if(cmd.getName().equalsIgnoreCase("setcmd")) if (cmd.getName().equalsIgnoreCase("setcmd")) {
{ if (P == null) {
if(P == null) Core.statusMsg(sender, "only_player_cmd", false);
{
Core.statusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
if(!sender.hasPermission("core.commands.editcmd")) if (!sender.hasPermission("core.commands.editcmd")) {
{ Core.statusMsg(sender, "no_perms", false);
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
if(args.length < 1) if (args.length < 1) {
{ Core.statusMsg(sender, "wrong_args_count", false);
Core.statusMsg(sender,"wrong_args_count",false);
return false; return false;
} }
Block b = P.getTargetBlock(null, 100); Block b = P.getTargetBlock(null, 100);
if(b.getType().equals(Material.COMMAND)) if (b.getType().equals(Material.COMMAND)) {
{
String command = ""; String command = "";
for(String arg : args) for (String arg : args) {
{ if (!command.equals("")) {
if(!command.equals(""))
{
command += " "; command += " ";
} }
command += arg; command += arg;
} }
CommandBlock cb = (CommandBlock)b.getState(); CommandBlock cb = (CommandBlock) b.getState();
cb.setCommand(command); cb.setCommand(command);
cb.update(); cb.update();
} }
return true; return true;
} else if(cmd.getName().equalsIgnoreCase("addcmd")) { } else if (cmd.getName().equalsIgnoreCase("addcmd")) {
if(P == null) if (P == null) {
{ Core.statusMsg(sender, "only_player_cmd", false);
Core.statusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
if(!sender.hasPermission("core.commands.editcmd")) if (!sender.hasPermission("core.commands.editcmd")) {
{ Core.statusMsg(sender, "no_perms", false);
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
if(args.length != 1) if (args.length != 1) {
{ Core.statusMsg(sender, "wrong_args_count", false);
Core.statusMsg(sender,"wrong_args_count",false);
return false; return false;
} }
Block b = P.getTargetBlock(null, 100); Block b = P.getTargetBlock(null, 100);
if(b.getType().equals(Material.COMMAND)) if (b.getType().equals(Material.COMMAND)) {
{ CommandBlock cb = (CommandBlock) b.getState();
CommandBlock cb = (CommandBlock)b.getState();
String command = ""; String command = "";
for(String arg : args) for (String arg : args) {
{ if (!command.equals("")) {
if(!command.equals(""))
{
command += " "; command += " ";
} }
command += arg; command += arg;
@@ -105,61 +91,52 @@ public class TeamCommands implements CommandExecutor {
cb.update(); cb.update();
} }
return true; return true;
} } else if (cmd.getName().equalsIgnoreCase("gm")) {
else if(cmd.getName().equalsIgnoreCase("gm"))
{
String command = "gamemode "; String command = "gamemode ";
for(String arg : args) for (String arg : args) {
{ command += arg + " ";
command += arg+" ";
} }
Bukkit.dispatchCommand(sender, command); Bukkit.dispatchCommand(sender, command);
return true; return true;
}else if(cmd.getName().equalsIgnoreCase("stairmode")) } else if (cmd.getName().equalsIgnoreCase("stairmode")) {
{ if (P == null) {
if(P == null) Core.statusMsg(sender, "only_player_cmd", false);
{
Core.statusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
if(!P.hasPermission("core.commands.stairmode")) if (!P.hasPermission("core.commands.stairmode")) {
{ Core.statusMsg(sender, "no_perms", false);
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
if(Core.getMainClass().stairMode.contains(P)) Core.getMainClass().stairMode.remove(P); if (Core.getMainClass().stairMode.contains(P)) {
else Core.getMainClass().stairMode.add(P); Core.getMainClass().stairMode.remove(P);
} else {
Core.getMainClass().stairMode.add(P);
}
Core.getTools().sendStatusMsg(sender, "Done!", true); Core.getTools().sendStatusMsg(sender, "Done!", true);
return true; return true;
} } else if (cmd.getName().equalsIgnoreCase("flowerpot")) {
else if(cmd.getName().equalsIgnoreCase("flowerpot")) if (P == null) {
{ Core.statusMsg(sender, "only_player_cmd", false);
if(P == null)
{
Core.statusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
if(!P.hasPermission("core.commands.flowerpot")) if (!P.hasPermission("core.commands.flowerpot")) {
{ Core.statusMsg(sender, "no_perms", false);
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
if(args.length != 1) if (args.length != 1) {
{ Core.statusMsg(sender, "wrong_args_count", false);
Core.statusMsg(sender,"wrong_args_count",false);
return false; return false;
} }
Location l = P.getLocation(); Location l = P.getLocation();
if(Core.getMainClass().flowerPots.containsValue(l)) if (Core.getMainClass().flowerPots.containsValue(l)) {
{
Core.statusMsg(sender, "set_arch_exists", false); Core.statusMsg(sender, "set_arch_exists", false);
return true; return true;
} }
Core.getMySql().queryUpdate("INSERT INTO corePots(X,Y,Z,world,url,name,money,type) VALUES('"+l.getBlockX()+"','"+l.getBlockY()+"','"+l.getBlockZ()+"','"+l.getWorld().getName()+"','http://mc-anura.de','"+args[0]+"','1','0')"); Core.getMySql().queryUpdate("INSERT INTO corePots(X,Y,Z,world,url,name,money,type) VALUES('" + l.getBlockX() + "','" + l.getBlockY() + "','" + l.getBlockZ() + "','" + l.getWorld().getName() + "','http://mc-anura.de','" + args[0] + "','1','0')");
ResultSet rs = Core.getMySql().querySelect("SELECT id FROM corePots WHERE X = '"+l.getBlockX()+"' AND Y = '"+l.getBlockY()+"' AND Z = '"+l.getBlockZ()+"' AND world = '"+l.getWorld().getName()+"'"); ResultSet rs = Core.getMySql().querySelect("SELECT id FROM corePots WHERE X = '" + l.getBlockX() + "' AND Y = '" + l.getBlockY() + "' AND Z = '" + l.getBlockZ() + "' AND world = '" + l.getWorld().getName() + "'");
try { try {
rs.first(); rs.first();
Core.getMainClass().flowerPots.put(rs.getInt("id"), new Location(l.getWorld(),l.getBlockX(),l.getBlockY(),l.getBlockZ())); Core.getMainClass().flowerPots.put(rs.getInt("id"), new Location(l.getWorld(), l.getBlockX(), l.getBlockY(), l.getBlockZ()));
l.getBlock().setType(Material.BROWN_MUSHROOM); l.getBlock().setType(Material.BROWN_MUSHROOM);
Core.getMainClass().pots.refreshPot(rs.getInt("id")); Core.getMainClass().pots.refreshPot(rs.getInt("id"));
Core.statusMsg(sender, "set_arch_ok", true); Core.statusMsg(sender, "set_arch_ok", true);
@@ -168,17 +145,13 @@ public class TeamCommands implements CommandExecutor {
System.out.println("Error onCommand. Setpot"); System.out.println("Error onCommand. Setpot");
} }
} } else if (cmd.getName().equalsIgnoreCase("renderMap")) {
else if(cmd.getName().equalsIgnoreCase("renderMap")) if (!sender.hasPermission("core.commands.addmap")) {
{ Core.statusMsg(sender, "no_perms", false);
if(!sender.hasPermission("core.commands.addmap"))
{
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
if(args.length != 2) if (args.length != 2) {
{ Core.statusMsg(sender, "wrong_args_count", false);
Core.statusMsg(sender,"wrong_args_count",false);
return false; return false;
} }
final CommandSender cs = sender; final CommandSender cs = sender;
@@ -195,7 +168,7 @@ public class TeamCommands implements CommandExecutor {
BufferedImage imgSrc = ImageIO.read(locUrl.openStream()); BufferedImage imgSrc = ImageIO.read(locUrl.openStream());
Image i = imgSrc.getScaledInstance(128, 128, Image.SCALE_SMOOTH); Image i = imgSrc.getScaledInstance(128, 128, Image.SCALE_SMOOTH);
BufferedImage imgScaled = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB); BufferedImage imgScaled = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB);
imgScaled.getGraphics().drawImage(i, 0, 0 , null); imgScaled.getGraphics().drawImage(i, 0, 0, null);
AnuraCore.getInstance().renderedImgs.put(name, imgScaled); AnuraCore.getInstance().renderedImgs.put(name, imgScaled);
Core.getTools().sendStatusMsg(cs, "The rendering has finished!", true); Core.getTools().sendStatusMsg(cs, "The rendering has finished!", true);
} catch (MalformedURLException ex) { } catch (MalformedURLException ex) {
@@ -207,44 +180,34 @@ public class TeamCommands implements CommandExecutor {
}, 1); }, 1);
return true; return true;
} } else if (cmd.getName().equalsIgnoreCase("addMap")) {
else if(cmd.getName().equalsIgnoreCase("addMap")) if (P == null) {
{ Core.statusMsg(sender, "only_player_cmd", false);
if(P == null)
{
Core.statusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
if(!P.hasPermission("core.commands.addmap")) if (!P.hasPermission("core.commands.addmap")) {
{ Core.statusMsg(sender, "no_perms", false);
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
if(args.length != 1) if (args.length != 1) {
{ Core.statusMsg(sender, "wrong_args_count", false);
Core.statusMsg(sender,"wrong_args_count",false);
return false; return false;
} }
if(!Core.getMainClass().renderedImgs.containsKey(args[0])) if (!Core.getMainClass().renderedImgs.containsKey(args[0])) {
{
Core.getTools().sendStatusMsg(sender, "The image with the given name does not exist or this not rendered yet.", true); Core.getTools().sendStatusMsg(sender, "The image with the given name does not exist or this not rendered yet.", true);
return true; return true;
} }
MapView mv = Bukkit.createMap(P.getWorld()); MapView mv = Bukkit.createMap(P.getWorld());
for(MapRenderer mr : mv.getRenderers()) for (MapRenderer mr : mv.getRenderers()) {
{
mv.removeRenderer(mr); mv.removeRenderer(mr);
} }
mv.addRenderer(new ImgRenderer(args[0])); mv.addRenderer(new ImgRenderer(args[0]));
P.setItemInHand(new ItemStack(Material.MAP, 0, mv.getId())); P.setItemInHand(new ItemStack(Material.MAP, 0, mv.getId()));
Core.statusMsg(sender, "addmap_done", true); Core.statusMsg(sender, "addmap_done", true);
return true; return true;
} else if(cmd.getName().equalsIgnoreCase("sun")) } else if (cmd.getName().equalsIgnoreCase("sun")) {
{ if (P != null) {
if(P != null) if (P.hasPermission("core.commands.sun")) {
{
if(P.hasPermission("core.commands.sun"))
{
World w = P.getLocation().getWorld(); World w = P.getLocation().getWorld();
w.setTime(2000); w.setTime(2000);
w.setThundering(false); w.setThundering(false);
@@ -253,77 +216,63 @@ public class TeamCommands implements CommandExecutor {
return true; return true;
} }
} }
} else if(cmd.getName().equalsIgnoreCase("setjumper")) } else if (cmd.getName().equalsIgnoreCase("setjumper")) {
{ if (P == null) {
if(P == null) Core.statusMsg(sender, "only_player_cmd", false);
{
Core.statusMsg(sender,"only_player_cmd",false);
return true; return true;
} }
if(args.length != 1) if (args.length != 1) {
{
return false; return false;
} }
if(!P.hasPermission("core.commands.setjumper")) if (!P.hasPermission("core.commands.setjumper")) {
{ Core.statusMsg(sender, "no_perms", false);
Core.statusMsg(sender,"no_perms",false);
return true; return true;
} }
if(Double.valueOf(args[0]) > 10 || Double.valueOf(args[0]) < 0.2) if (Double.valueOf(args[0]) > 10 || Double.valueOf(args[0]) < 0.2) {
{ Core.statusMsg(sender, "setjumper_wrong_number", false);
Core.statusMsg(sender,"setjumper_wrong_number",false);
return true; return true;
} }
Core.getMainClass().selectableJumper.put(P, Double.valueOf(args[0])); Core.getMainClass().selectableJumper.put(P, Double.valueOf(args[0]));
sender.sendMessage(ChatColor.GRAY + "[Anura] " +ChatColor.GREEN +Core.getl("setjumper_select_now",sender)+" "+Double.valueOf(args[0])+")"); sender.sendMessage(ChatColor.GRAY + "[Anura] " + ChatColor.GREEN + Core.getl("setjumper_select_now", sender) + " " + Double.valueOf(args[0]) + ")");
return true; return true;
} else if(cmd.getName().equalsIgnoreCase("flyspeed")) } else if (cmd.getName().equalsIgnoreCase("flyspeed")) {
{ if (P == null) {
if(P == null)
{
Core.statusMsg(sender, "only_player_cmd", false); Core.statusMsg(sender, "only_player_cmd", false);
return true; return true;
} }
if(!P.hasPermission("core.commands.flyspeed")) if (!P.hasPermission("core.commands.flyspeed")) {
{
Core.statusMsg(P, "no_perms", false); Core.statusMsg(P, "no_perms", false);
return true; return true;
} }
if(args.length != 1) if (args.length != 1) {
{
return false; return false;
} }
if(Float.parseFloat(args[0]) >= 10 || Float.parseFloat(args[0]) < 0) if (Float.parseFloat(args[0]) >= 10 || Float.parseFloat(args[0]) < 0) {
{
Core.statusMsg(P, "flyspeed_wrong_number", false); Core.statusMsg(P, "flyspeed_wrong_number", false);
return true; return true;
} }
P.setFlySpeed(Float.parseFloat(args[0])/10); P.setFlySpeed(Float.parseFloat(args[0]) / 10);
Core.getTools().sendStatusMsg(P, Core.getl("flyspeed_set_1", P)+" "+args[0]+Core.getl("flyspeed_set_2", P), true); Core.getTools().sendStatusMsg(P, Core.getl("flyspeed_set_1", P) + " " + args[0] + Core.getl("flyspeed_set_2", P), true);
return true; return true;
} } else if (cmd.getName().equalsIgnoreCase("setwarp")) {
else if(cmd.getName().equalsIgnoreCase("setwarp"))
{
try { try {
if(P == null) if (P == null) {
{
Core.statusMsg(sender, "only_player_cmd", false); Core.statusMsg(sender, "only_player_cmd", false);
return true; return true;
} }
if(!P.hasPermission("core.commands.setwarp")) if (!P.hasPermission("core.commands.setwarp")) {
{
Core.statusMsg(P, "no_perms", false); Core.statusMsg(P, "no_perms", false);
return true; return true;
} }
if(args.length < 1) if (args.length < 1) {
{
Core.statusMsg(P, "wrong_args_count", false); Core.statusMsg(P, "wrong_args_count", false);
return false; return false;
} }
String userWarp = "0"; String userWarp = "0";
if(args.length == 2) if (args.length == 2) {
{ if (args[1].equalsIgnoreCase("true")) {
if(args[1].equalsIgnoreCase("true")) userWarp = "1"; userWarp = "1";
}
} }
Location loc = P.getLocation(); Location loc = P.getLocation();
int X = loc.getBlockX(); int X = loc.getBlockX();
@@ -332,46 +281,40 @@ public class TeamCommands implements CommandExecutor {
String world = loc.getWorld().getName(); String world = loc.getWorld().getName();
String server = Core.getMainClass().getConfig().getString("server-name"); String server = Core.getMainClass().getConfig().getString("server-name");
String name = args[0]; String name = args[0];
ResultSet rs = sql.querySelect("SELECT `name` FROM coreWarps WHERE name = '"+name+"'"); ResultSet rs = sql.querySelect("SELECT `name` FROM coreWarps WHERE name = '" + name + "'");
rs.last(); rs.last();
if(rs.getRow() != 0) if (rs.getRow() != 0) {
{
Core.statusMsg(P, "warp_alr_exist", false); Core.statusMsg(P, "warp_alr_exist", false);
return true; return true;
} }
sql.queryUpdate("INSERT INTO coreWarps(`name`, server, world, X, Y, Z, userWarp) VALUES('"+name+"', '"+server+"', '"+world+"', '"+X+"', '"+Y+"', '"+Z+"', '"+userWarp+"')"); sql.queryUpdate("INSERT INTO coreWarps(`name`, server, world, X, Y, Z, userWarp) VALUES('" + name + "', '" + server + "', '" + world + "', '" + X + "', '" + Y + "', '" + Z + "', '" + userWarp + "')");
Core.statusMsg(P, "warp_set", true); Core.statusMsg(P, "warp_set", true);
return true; return true;
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("Error: "+ex.getLocalizedMessage()); System.out.println("Error: " + ex.getLocalizedMessage());
} }
} } else if (cmd.getName().equalsIgnoreCase("remwarp")) {
else if(cmd.getName().equalsIgnoreCase("remwarp")) if (args.length != 1) {
{
if(args.length != 1)
{
Core.statusMsg(P, "wrong_args_count", false); Core.statusMsg(P, "wrong_args_count", false);
return false; return false;
} }
if(!sender.hasPermission("core.commands.remwarp")) if (!sender.hasPermission("core.commands.remwarp")) {
{
Core.statusMsg(P, "no_perms", false); Core.statusMsg(P, "no_perms", false);
return true; return true;
} }
String map = args[0]; String map = args[0];
ResultSet rs = sql.querySelect("SELECT name FROM coreWarps WHERE name = '"+map+"'"); ResultSet rs = sql.querySelect("SELECT name FROM coreWarps WHERE name = '" + map + "'");
try { try {
rs.last(); rs.last();
if(rs.getRow() == 0) if (rs.getRow() == 0) {
{
Core.statusMsg(P, "warp_not_exist", false); Core.statusMsg(P, "warp_not_exist", false);
return true; return true;
} }
sql.queryUpdate("DELETE FROM coreWarps WHERE name = '"+map+"'"); sql.queryUpdate("DELETE FROM coreWarps WHERE name = '" + map + "'");
Core.statusMsg(P, "warp_rem_done", true); Core.statusMsg(P, "warp_rem_done", true);
return true; return true;
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("Error: "+ex.getLocalizedMessage()); System.out.println("Error: " + ex.getLocalizedMessage());
} }
} }

View File

@@ -9,50 +9,42 @@ import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.material.Stairs; import org.bukkit.material.Stairs;
public class BlockBreak implements Listener {
public class BlockBreak implements Listener public BlockBreak(AnuraCore plugin) {
{
public BlockBreak(AnuraCore plugin)
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onBlockBreak(BlockBreakEvent event) public void onBlockBreak(BlockBreakEvent event) {
{ if (plugin.getConfig().getBoolean("no-change-blocks")) {
if(plugin.getConfig().getBoolean("no-change-blocks")) if (!event.getPlayer().hasPermission("core.rules.blocks.break")) {
{
if(!event.getPlayer().hasPermission("core.rules.blocks.break"))
{
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
} }
if(plugin.flowerPots.containsValue(event.getBlock().getLocation())) event.setCancelled(true); if (plugin.flowerPots.containsValue(event.getBlock().getLocation())) {
if((event.getBlock().getType() == Material.ENDER_CHEST || event.getBlock().getType() == Material.RAILS)) event.setCancelled(true);
{
int X = (int)event.getBlock().getLocation().getX();
int Y = (int)event.getBlock().getLocation().getY();
int Z = (int)event.getBlock().getLocation().getZ();
String world = event.getBlock().getLocation().getWorld().getName();
String sql = "DELETE FROM coreJumpers WHERE X = '"+X+"' AND Y = '"+Y+"' AND Z = '"+Z+"' AND world = '"+world+"'";
AnuraCore.getSql().queryUpdate(sql);
} }
else if(event.getBlock().getState() instanceof Sign) if ((event.getBlock().getType() == Material.ENDER_CHEST || event.getBlock().getType() == Material.RAILS)) {
{ int X = (int) event.getBlock().getLocation().getX();
Sign s = (Sign)event.getBlock().getState(); int Y = (int) event.getBlock().getLocation().getY();
int Z = (int) event.getBlock().getLocation().getZ();
String world = event.getBlock().getLocation().getWorld().getName();
String sql = "DELETE FROM coreJumpers WHERE X = '" + X + "' AND Y = '" + Y + "' AND Z = '" + Z + "' AND world = '" + world + "'";
AnuraCore.getSql().queryUpdate(sql);
} else if (event.getBlock().getState() instanceof Sign) {
Sign s = (Sign) event.getBlock().getState();
Location loc = s.getLocation(); Location loc = s.getLocation();
int X = loc.getBlockX(); int X = loc.getBlockX();
int Y = loc.getBlockY(); int Y = loc.getBlockY();
int Z = loc.getBlockZ(); int Z = loc.getBlockZ();
String world = loc.getWorld().getName(); String world = loc.getWorld().getName();
String server = plugin.getConfig().getString("server-name"); String server = plugin.getConfig().getString("server-name");
AnuraCore.sql.queryUpdate("DELETE FROM coreWarpSigns WHERE X = '"+X+"' AND Y = '"+Y+"' AND Z = '"+Z+"' AND world = '"+world+"' AND server = '"+server+"'"); AnuraCore.sql.queryUpdate("DELETE FROM coreWarpSigns WHERE X = '" + X + "' AND Y = '" + Y + "' AND Z = '" + Z + "' AND world = '" + world + "' AND server = '" + server + "'");
} } else if (event.getBlock().getState().getData() instanceof Stairs) {
else if(event.getBlock().getState().getData() instanceof Stairs) if (plugin.sittingBlocks.containsValue(event.getBlock())) {
{
if(plugin.sittingBlocks.containsValue(event.getBlock()))
{
event.setCancelled(true); event.setCancelled(true);
} }
} }

View File

@@ -8,26 +8,21 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.block.BlockPlaceEvent;
public class BlockPlace implements Listener {
public class BlockPlace implements Listener public BlockPlace(AnuraCore plugin) {
{
public BlockPlace(AnuraCore plugin)
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onBlockPlace(BlockPlaceEvent event) public void onBlockPlace(BlockPlaceEvent event) {
{ if (plugin.getConfig().getBoolean("no-change-blocks")) {
if(plugin.getConfig().getBoolean("no-change-blocks")) if (!event.getPlayer().hasPermission("core.rules.blocks.place")) {
{
if(!event.getPlayer().hasPermission("core.rules.blocks.place"))
{
event.setCancelled(true); event.setCancelled(true);
} }
} }
if(plugin.flowerPots.containsValue(event.getBlock().getLocation())) if (plugin.flowerPots.containsValue(event.getBlock().getLocation())) {
{
event.setCancelled(true); event.setCancelled(true);
final Block b = event.getBlock(); final Block b = event.getBlock();
final int pot = Core.getKeyByValue(plugin.flowerPots, b.getLocation()); final int pot = Core.getKeyByValue(plugin.flowerPots, b.getLocation());

View File

@@ -6,19 +6,16 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockSpreadEvent; import org.bukkit.event.block.BlockSpreadEvent;
public class BlockSpread implements Listener public class BlockSpread implements Listener {
{
public BlockSpread(AnuraCore plugin) public BlockSpread(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onBlockSpread(BlockSpreadEvent event) public void onBlockSpread(BlockSpreadEvent event) {
{ if (event.getNewState().getType().equals(Material.BROWN_MUSHROOM) && plugin.getConfig().getBoolean("disable-mushroom-spread")) {
if(event.getNewState().getType().equals(Material.BROWN_MUSHROOM) && plugin.getConfig().getBoolean("disable-mushroom-spread"))
{
event.setCancelled(true); event.setCancelled(true);
} }
} }

View File

@@ -7,27 +7,21 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent;
public class CmdPreprocess implements Listener public class CmdPreprocess implements Listener {
{
public CmdPreprocess(AnuraCore plugin) public CmdPreprocess(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onCommandPreprocess(PlayerCommandPreprocessEvent event) public void onCommandPreprocess(PlayerCommandPreprocessEvent event) {
{ if (event.getMessage().startsWith("/?")) {
if(event.getMessage().startsWith("/?")) if (!event.getPlayer().hasPermission("core.commands.help")) {
{
if(!event.getPlayer().hasPermission("core.commands.help"))
{
event.setCancelled(true); event.setCancelled(true);
Core.statusMsg(event.getPlayer(), "help_command_info", true); Core.statusMsg(event.getPlayer(), "help_command_info", true);
} }
} } else if (plugin.disableCommandsAdventure.containsKey(event.getPlayer()) && plugin.disableCommandsAdventure.get(event.getPlayer())) {
else if(plugin.disableCommandsAdventure.containsKey(event.getPlayer()) && plugin.disableCommandsAdventure.get(event.getPlayer()))
{
event.setCancelled(true); event.setCancelled(true);
Core.statusMsg(event.getPlayer(), "no_command_red_mg", ChatColor.YELLOW); Core.statusMsg(event.getPlayer(), "no_command_red_mg", ChatColor.YELLOW);
} }

View File

@@ -6,19 +6,16 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent;
public class EntityDamage implements Listener public class EntityDamage implements Listener {
{
public EntityDamage(AnuraCore plugin) public EntityDamage(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onEntityDamage(EntityDamageEvent event) public void onEntityDamage(EntityDamageEvent event) {
{ if (event.getEntity() instanceof Player && plugin.getConfig().getBoolean("no-damage")) {
if(event.getEntity() instanceof Player && plugin.getConfig().getBoolean("no-damage"))
{
event.setCancelled(true); event.setCancelled(true);
} }
} }

View File

@@ -7,23 +7,18 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent;
public class EntityDamageByE implements Listener public class EntityDamageByE implements Listener {
{
public EntityDamageByE(AnuraCore plugin) public EntityDamageByE(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onEntityDamageByE(EntityDamageByEntityEvent event) public void onEntityDamageByE(EntityDamageByEntityEvent event) {
{ if (event.getEntity() instanceof ItemFrame && plugin.getConfig().getBoolean("no-change-blocks")) {
if(event.getEntity() instanceof ItemFrame && plugin.getConfig().getBoolean("no-change-blocks")) if (event.getDamager() instanceof Player) {
{ if (!((Player) event.getDamager()).hasPermission("core.rules.blocks.break")) {
if(event.getDamager() instanceof Player)
{
if(!((Player)event.getDamager()).hasPermission("core.rules.blocks.break"))
{
event.setCancelled(true); event.setCancelled(true);
} }
} }

View File

@@ -6,22 +6,18 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.entity.FoodLevelChangeEvent; import org.bukkit.event.entity.FoodLevelChangeEvent;
public class FoodChange implements Listener {
public class FoodChange implements Listener public FoodChange(AnuraCore plugin) {
{
public FoodChange(AnuraCore plugin)
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onFoodLChange(FoodLevelChangeEvent event) public void onFoodLChange(FoodLevelChangeEvent event) {
{ if (plugin.getConfig().getBoolean("no-hunger")) {
if(plugin.getConfig().getBoolean("no-hunger")) if (event.getEntity() instanceof Player) {
{ ((Player) event.getEntity()).setFoodLevel(20);
if(event.getEntity() instanceof Player)
{
((Player)event.getEntity()).setFoodLevel(20);
} }
event.setCancelled(true); event.setCancelled(true);
} }

View File

@@ -6,30 +6,23 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent;
public class HangingEBreak implements Listener {
public class HangingEBreak implements Listener public HangingEBreak(AnuraCore plugin) {
{
public HangingEBreak(AnuraCore plugin)
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onHangingBreakByE(HangingBreakByEntityEvent event) public void onHangingBreakByE(HangingBreakByEntityEvent event) {
{
Player P; Player P;
if(event.getRemover() instanceof Player) if (event.getRemover() instanceof Player) {
{ P = (Player) event.getRemover();
P = (Player)event.getRemover(); } else {
}
else
{
return; return;
} }
if(plugin.getConfig().getBoolean("no-change-blocks")) if (plugin.getConfig().getBoolean("no-change-blocks")) {
{ if (!P.hasPermission("core.rules.blocks.break")) {
if(!P.hasPermission("core.rules.blocks.break"))
{
event.setCancelled(true); event.setCancelled(true);
} }
} }

View File

@@ -9,27 +9,24 @@ import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
public class InvClick implements Listener public class InvClick implements Listener {
{
private final AnuraCore plugin; private final AnuraCore plugin;
public InvClick(AnuraCore plugin)
{ public InvClick(AnuraCore plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onInvClick(InventoryClickEvent event) public void onInvClick(InventoryClickEvent event) {
{
Player player = (Player) event.getWhoClicked(); Player player = (Player) event.getWhoClicked();
if(!player.hasPermission("core.inventory.interact") && plugin.getConfig().getBoolean("is-main-lobby")) if (!player.hasPermission("core.inventory.interact") && plugin.getConfig().getBoolean("is-main-lobby")) {
{
event.setCancelled(true); event.setCancelled(true);
final Player p = player; final Player p = player;
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override @Override
public void run() public void run() {
{
p.setItemOnCursor(new ItemStack(Material.AIR)); p.setItemOnCursor(new ItemStack(Material.AIR));
p.updateInventory(); p.updateInventory();
} }

View File

@@ -6,23 +6,19 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.block.LeavesDecayEvent; import org.bukkit.event.block.LeavesDecayEvent;
public class LeavesDecay implements Listener public class LeavesDecay implements Listener {
{
public LeavesDecay(AnuraCore plugin) public LeavesDecay(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onLeavesDecay(LeavesDecayEvent event) public void onLeavesDecay(LeavesDecayEvent event) {
{ if (!plugin.getConfig().getBoolean("enable-leaves-decay")) {
if(!plugin.getConfig().getBoolean("enable-leaves-decay"))
{
Block b = event.getBlock(); Block b = event.getBlock();
byte data = b.getData(); byte data = b.getData();
if((data & 0x4) == 0) if ((data & 0x4) == 0) {
{
data = (byte) (data | 0x4); data = (byte) (data | 0x4);
} }
b.setData(data); b.setData(data);

View File

@@ -6,19 +6,16 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.AsyncPlayerChatEvent;
public class PlayerChat implements Listener public class PlayerChat implements Listener {
{
public PlayerChat(AnuraCore plugin) public PlayerChat(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onPlayerChat(AsyncPlayerChatEvent event) public void onPlayerChat(AsyncPlayerChatEvent event) {
{ if (event.isAsynchronous()) {
if(event.isAsynchronous())
{
event.setFormat(event.getPlayer().getDisplayName() + ChatColor.GRAY + ":" + ChatColor.WHITE + " " + event.getMessage()); event.setFormat(event.getPlayer().getDisplayName() + ChatColor.GRAY + ":" + ChatColor.WHITE + " " + event.getMessage());
} }
} }

View File

@@ -7,7 +7,6 @@ import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
@@ -21,35 +20,25 @@ import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.material.Stairs; import org.bukkit.material.Stairs;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
public class PlayerInteract implements Listener public class PlayerInteract implements Listener {
{
public PlayerInteract(AnuraCore plugin) public PlayerInteract(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onPlayerInteract(PlayerInteractEvent event) public void onPlayerInteract(PlayerInteractEvent event) {
{
final Block block = event.getClickedBlock(); final Block block = event.getClickedBlock();
if(plugin.selectableJumper.containsKey(event.getPlayer())) if (plugin.selectableJumper.containsKey(event.getPlayer())) {
{ if (event.getPlayer().hasPermission("core.commands.setjumper")) {
if(event.getPlayer().hasPermission("core.commands.setjumper")) if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK) || event.getAction().equals(Action.LEFT_CLICK_BLOCK)) {
{
if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK) || event.getAction().equals(Action.LEFT_CLICK_BLOCK))
{
String type; String type;
if(event.getClickedBlock().getType().equals(Material.ENDER_CHEST)) if (event.getClickedBlock().getType().equals(Material.ENDER_CHEST)) {
{
type = "high"; type = "high";
} } else if (event.getClickedBlock().getType().equals(Material.RAILS)) {
else if(event.getClickedBlock().getType().equals(Material.RAILS))
{
type = "far"; type = "far";
} } else {
else
{
Core.statusMsg(event.getPlayer(), "setjumper_block_not_supported", false); Core.statusMsg(event.getPlayer(), "setjumper_block_not_supported", false);
plugin.selectableJumper.remove(event.getPlayer()); plugin.selectableJumper.remove(event.getPlayer());
return; return;
@@ -58,19 +47,16 @@ public class PlayerInteract implements Listener
Double Y = event.getClickedBlock().getLocation().getY(); Double Y = event.getClickedBlock().getLocation().getY();
Double Z = event.getClickedBlock().getLocation().getZ(); Double Z = event.getClickedBlock().getLocation().getZ();
String world = event.getClickedBlock().getLocation().getWorld().getName(); String world = event.getClickedBlock().getLocation().getWorld().getName();
String sql = "INSERT INTO coreJumpers(X,Y,Z,world,height,type) VALUES('"+X+"','"+Y+"','"+Z+"','"+world+"','"+plugin.selectableJumper.get(event.getPlayer())+"','"+type+"')"; String sql = "INSERT INTO coreJumpers(X,Y,Z,world,height,type) VALUES('" + X + "','" + Y + "','" + Z + "','" + world + "','" + plugin.selectableJumper.get(event.getPlayer()) + "','" + type + "')";
AnuraCore.getSql().queryUpdate(sql); AnuraCore.getSql().queryUpdate(sql);
plugin.selectableJumper.remove(event.getPlayer()); plugin.selectableJumper.remove(event.getPlayer());
Core.statusMsg(event.getPlayer(), "setjumper_done", true); Core.statusMsg(event.getPlayer(), "setjumper_done", true);
event.setCancelled(true); event.setCancelled(true);
} }
} }
} } else if (block != null) {
else if(block != null) if (block.getState() instanceof Sign && event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
{ Sign sign = (Sign) block.getState();
if(block.getState() instanceof Sign && event.getAction().equals(Action.RIGHT_CLICK_BLOCK))
{
Sign sign = (Sign)block.getState();
Location loc = sign.getLocation(); Location loc = sign.getLocation();
Player P = event.getPlayer(); Player P = event.getPlayer();
int X = loc.getBlockX(); int X = loc.getBlockX();
@@ -78,36 +64,26 @@ public class PlayerInteract implements Listener
int Z = loc.getBlockZ(); int Z = loc.getBlockZ();
String world = loc.getWorld().getName(); String world = loc.getWorld().getName();
String server = plugin.getConfig().getString("server-name"); String server = plugin.getConfig().getString("server-name");
ResultSet rs = AnuraCore.sql.querySelect("SELECT type, value FROM coreWarpSigns WHERE X = '"+X+"' AND Y = '"+Y+"' AND Z = '"+Z+"' AND world = '"+world+"' AND server = '"+server+"'"); ResultSet rs = AnuraCore.sql.querySelect("SELECT type, value FROM coreWarpSigns WHERE X = '" + X + "' AND Y = '" + Y + "' AND Z = '" + Z + "' AND world = '" + world + "' AND server = '" + server + "'");
try { try {
rs.last(); rs.last();
if(rs.getRow() != 0) if (rs.getRow() != 0) {
{
rs.first(); rs.first();
if(rs.getString("type").equalsIgnoreCase("warp")) if (rs.getString("type").equalsIgnoreCase("warp")) {
{
String warp = rs.getString("value"); String warp = rs.getString("value");
ResultSet rs2 = AnuraCore.sql.querySelect("SELECT world, X, Y, Z FROM coreWarps WHERE name = '"+warp+"' AND server = '"+plugin.getConfig().getString("server-name")+"'"); ResultSet rs2 = AnuraCore.sql.querySelect("SELECT world, X, Y, Z FROM coreWarps WHERE name = '" + warp + "' AND server = '" + plugin.getConfig().getString("server-name") + "'");
rs2.last(); rs2.last();
if(rs2.getRow() == 0) if (rs2.getRow() == 0) {
{
Core.statusMsg(P, "warpsign_warp_not_exist", false); Core.statusMsg(P, "warpsign_warp_not_exist", false);
} } else {
else if (plugin.getServer().getWorld(rs2.getString("world")) != null) {
{
if(plugin.getServer().getWorld(rs2.getString("world")) != null)
{
Location target = new Location(plugin.getServer().getWorld(rs2.getString("world")), rs2.getInt("X"), rs2.getInt("Y"), rs2.getInt("Z")); Location target = new Location(plugin.getServer().getWorld(rs2.getString("world")), rs2.getInt("X"), rs2.getInt("Y"), rs2.getInt("Z"));
P.teleport(target); P.teleport(target);
} }
} }
} } else if (rs.getString("type").equalsIgnoreCase("spawn")) {
else if(rs.getString("type").equalsIgnoreCase("spawn"))
{
P.teleport(loc.getWorld().getSpawnLocation()); P.teleport(loc.getWorld().getSpawnLocation());
} } else if (rs.getString("type").equalsIgnoreCase("server")) {
else if(rs.getString("type").equalsIgnoreCase("server"))
{
String targetServer = rs.getString("value"); String targetServer = rs.getString("value");
ByteArrayOutputStream b = new ByteArrayOutputStream(); ByteArrayOutputStream b = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(b); DataOutputStream out = new DataOutputStream(b);
@@ -117,58 +93,44 @@ public class PlayerInteract implements Listener
} }
} }
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("SQLException in playerInteract: "+ex.getLocalizedMessage()); System.out.println("SQLException in playerInteract: " + ex.getLocalizedMessage());
} catch (IOException ex) { } catch (IOException ex) {
System.out.println("IOException in playerInteract: "+ex.getLocalizedMessage()); System.out.println("IOException in playerInteract: " + ex.getLocalizedMessage());
} }
event.setCancelled(true); event.setCancelled(true);
} } else if (block.getState().getData() instanceof Stairs) {
else if(block.getState().getData() instanceof Stairs) if (plugin.stairMode.contains(event.getPlayer()) && event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
{
if(plugin.stairMode.contains(event.getPlayer()) && event.getAction().equals(Action.RIGHT_CLICK_BLOCK))
{
event.setCancelled(true); event.setCancelled(true);
if(plugin.sittableBlocks.contains(block)) if (plugin.sittableBlocks.contains(block)) {
{
plugin.sittableBlocks.remove(block); plugin.sittableBlocks.remove(block);
Core.getTools().sendStatusMsg(event.getPlayer(), "Removed!", false); Core.getTools().sendStatusMsg(event.getPlayer(), "Removed!", false);
int X = block.getLocation().getBlockX(); int X = block.getLocation().getBlockX();
int Y = block.getLocation().getBlockY(); int Y = block.getLocation().getBlockY();
int Z = block.getLocation().getBlockZ(); int Z = block.getLocation().getBlockZ();
Core.getMySql().queryUpdate("DELETE FROM coreStairs WHERE server = '"+plugin.getConfig().getString("server-name")+"' AND world = '"+block.getWorld().getName()+"' AND X = '"+X+"' AND Y = '"+Y+"' AND Z = '"+Z+"'"); Core.getMySql().queryUpdate("DELETE FROM coreStairs WHERE server = '" + plugin.getConfig().getString("server-name") + "' AND world = '" + block.getWorld().getName() + "' AND X = '" + X + "' AND Y = '" + Y + "' AND Z = '" + Z + "'");
} } else {
else
{
plugin.sittableBlocks.add(block); plugin.sittableBlocks.add(block);
Core.getTools().sendStatusMsg(event.getPlayer(), "Added!", true); Core.getTools().sendStatusMsg(event.getPlayer(), "Added!", true);
int X = block.getLocation().getBlockX(); int X = block.getLocation().getBlockX();
int Y = block.getLocation().getBlockY(); int Y = block.getLocation().getBlockY();
int Z = block.getLocation().getBlockZ(); int Z = block.getLocation().getBlockZ();
Core.getMySql().queryUpdate("INSERT INTO coreStairs(server,world,X,Y,Z) VALUES('"+plugin.getConfig().getString("server-name")+"','"+block.getWorld().getName()+"','"+X+"','"+Y+"','"+Z+"')"); Core.getMySql().queryUpdate("INSERT INTO coreStairs(server,world,X,Y,Z) VALUES('" + plugin.getConfig().getString("server-name") + "','" + block.getWorld().getName() + "','" + X + "','" + Y + "','" + Z + "')");
} }
} } else if (plugin.getConfig().getBoolean("allow-stairs-sit") && event.getAction().equals(Action.RIGHT_CLICK_BLOCK) && plugin.sittableBlocks.contains(block)) {
else if(plugin.getConfig().getBoolean("allow-stairs-sit") && event.getAction().equals(Action.RIGHT_CLICK_BLOCK) && plugin.sittableBlocks.contains(block)) if (plugin.sittingPlayer.containsKey(event.getPlayer())) {
{
if(plugin.sittingPlayer.containsKey(event.getPlayer()))
{
Core.statusMsg(event.getPlayer(), "sitting_already", false); Core.statusMsg(event.getPlayer(), "sitting_already", false);
event.setCancelled(true); event.setCancelled(true);
} } else if (plugin.sittingBlocks.containsValue(block)) {
else if(plugin.sittingBlocks.containsValue(block))
{
Core.statusMsg(event.getPlayer(), "sitting_occupied", false); Core.statusMsg(event.getPlayer(), "sitting_occupied", false);
event.setCancelled(true); event.setCancelled(true);
} } else {
else Stairs s = (Stairs) block.getState().getData();
{ if (!s.isInverted()) {
Stairs s = (Stairs)block.getState().getData();
if(!s.isInverted())
{
Location loc = block.getLocation(); Location loc = block.getLocation();
loc = loc.add(0.5, 0.05, 0.5); loc = loc.add(0.5, 0.05, 0.5);
loc.add(s.getFacing().getModX()*0.2, 0, s.getFacing().getModZ()*0.2); loc.add(s.getFacing().getModX() * 0.2, 0, s.getFacing().getModZ() * 0.2);
Arrow a = loc.getWorld().spawnArrow(loc, new Vector(0,0,0), 0, 0); Arrow a = loc.getWorld().spawnArrow(loc, new Vector(0, 0, 0), 0, 0);
a.setPassenger(event.getPlayer()); a.setPassenger(event.getPlayer());
plugin.sittingPlayer.put(event.getPlayer(), a); plugin.sittingPlayer.put(event.getPlayer(), a);
plugin.sittingBlocks.put(event.getPlayer(), block); plugin.sittingBlocks.put(event.getPlayer(), block);
@@ -176,37 +138,37 @@ public class PlayerInteract implements Listener
} }
} }
} }
} } else if (plugin.flowerPots.containsValue(block.getLocation())) {
else if(plugin.flowerPots.containsValue(block.getLocation()))
{
event.setCancelled(true); event.setCancelled(true);
final Player p = event.getPlayer(); final Player p = event.getPlayer();
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override @Override
public void run() { public void run() {
p.sendBlockChange(block.getLocation(), Material.AIR, (byte)0); p.sendBlockChange(block.getLocation(), Material.AIR, (byte) 0);
} }
}, 3); }, 3);
plugin.pots.playerFoundPot(event.getPlayer(), Core.getKeyByValue(plugin.flowerPots, block.getLocation())); plugin.pots.playerFoundPot(event.getPlayer(), Core.getKeyByValue(plugin.flowerPots, block.getLocation()));
} }
} }
if(plugin.getConfig().getBoolean("no-change-blocks")) if (plugin.getConfig().getBoolean("no-change-blocks")) {
{ if (!event.getPlayer().hasPermission("core.rules.blocks.interact")) {
if(!event.getPlayer().hasPermission("core.rules.blocks.interact"))
{
Boolean cancelled = true; Boolean cancelled = true;
if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
{ if (event.getClickedBlock().getType().equals(Material.STONE_BUTTON)) {
if(event.getClickedBlock().getType().equals(Material.STONE_BUTTON)) cancelled = false; cancelled = false;
else if(event.getClickedBlock().getType().equals(Material.WOOD_BUTTON)) cancelled = false; } else if (event.getClickedBlock().getType().equals(Material.WOOD_BUTTON)) {
cancelled = false;
}
} else if (event.getAction().equals(Action.PHYSICAL)) {
cancelled = false;
} else if (event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
if (event.getPlayer().getItemInHand().getType().equals(Material.BOW)) {
cancelled = false;
} else if (event.getPlayer().getItemInHand().getType().equals(Material.EXP_BOTTLE)) {
cancelled = false;
} }
else if(event.getAction().equals(Action.PHYSICAL)) cancelled = false;
else if(event.getAction().equals(Action.RIGHT_CLICK_AIR))
{
if(event.getPlayer().getItemInHand().getType().equals(Material.BOW)) cancelled = false;
else if(event.getPlayer().getItemInHand().getType().equals(Material.EXP_BOTTLE)) cancelled = false;
} }
event.setCancelled(cancelled); event.setCancelled(cancelled);
} }

View File

@@ -9,44 +9,32 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEntityEvent;
public class PlayerInteractE implements Listener public class PlayerInteractE implements Listener {
{
public PlayerInteractE(AnuraCore plugin) public PlayerInteractE(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onPlayerInteractE(PlayerInteractEntityEvent event) public void onPlayerInteractE(PlayerInteractEntityEvent event) {
{ if (event.getRightClicked().getType().equals(EntityType.ITEM_FRAME) && plugin.getConfig().getBoolean("no-change-blocks")) {
if(event.getRightClicked().getType().equals(EntityType.ITEM_FRAME) && plugin.getConfig().getBoolean("no-change-blocks")) if (!event.getPlayer().hasPermission("core.rules.blocks.interact")) {
{
if(!event.getPlayer().hasPermission("core.rules.blocks.interact"))
{
event.setCancelled(true); event.setCancelled(true);
} }
} } else if (event.getRightClicked().getType().equals(EntityType.CHICKEN) && plugin.getConfig().getBoolean("golf")) {
else if(event.getRightClicked().getType().equals(EntityType.CHICKEN) && plugin.getConfig().getBoolean("golf"))
{
Player P = event.getPlayer(); Player P = event.getPlayer();
// Item i = (Item)event.getRightClicked(); Chicken b = (Chicken) event.getRightClicked();
Chicken b = (Chicken)event.getRightClicked(); if (P.getItemInHand().getType().equals(Material.STICK)) {
if(P.getItemInHand().getType().equals(Material.STICK))
{
int power; int power;
if(!plugin.golfPower.containsKey(P)) if (!plugin.golfPower.containsKey(P)) {
{
power = 1; power = 1;
} } else {
else
{
power = plugin.golfPower.get(P); power = plugin.golfPower.get(P);
power++; power++;
} }
if(power > 40) if (power > 40) {
{
power = 40; power = 40;
} }
System.out.println(power); System.out.println(power);

View File

@@ -5,48 +5,40 @@ import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.UUID; import java.util.UUID;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.PlayerInventory;
public class PlayerJoin implements Listener {
public class PlayerJoin implements Listener public PlayerJoin(AnuraCore plugin) {
{
public PlayerJoin(AnuraCore plugin)
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onPlayerJoin(PlayerJoinEvent event) public void onPlayerJoin(PlayerJoinEvent event) {
{
UUID uuid = event.getPlayer().getUniqueId(); UUID uuid = event.getPlayer().getUniqueId();
ResultSet rs; ResultSet rs;
try { try {
rs = AnuraCore.getSql().querySelect("SELECT name FROM players WHERE uuid LIKE '"+uuid.toString()+"'"); rs = AnuraCore.getSql().querySelect("SELECT name FROM players WHERE uuid LIKE '" + uuid.toString() + "'");
if(rs==null) { if (rs == null) {
event.getPlayer().kickPlayer("Please try again"); event.getPlayer().kickPlayer("Please try again");
event.setJoinMessage(null); event.setJoinMessage(null);
return; return;
} }
rs.last(); rs.last();
if(rs.getRow() != 1) if (rs.getRow() != 1) {
{ AnuraCore.getSql().queryUpdate("INSERT INTO players(`uuid`,`game`,`waiting`,`gameName`) VALUES('" + uuid.toString() + "','none','none','')");
AnuraCore.getSql().queryUpdate("INSERT INTO players(`uuid`,`game`,`waiting`,`gameName`) VALUES('"+uuid.toString()+"','none','none','')");
} }
} } catch (SQLException e) {
catch(SQLException e) {
} }
event.setJoinMessage(null); event.setJoinMessage(null);
plugin.pots.refreshCache(event.getPlayer()); plugin.pots.refreshCache(event.getPlayer());
plugin.pots.refreshPlayer(event.getPlayer()); plugin.pots.refreshPlayer(event.getPlayer());
plugin.getFeatures().updateFeatures(event.getPlayer()); plugin.getFeatures().updateFeatures(event.getPlayer());
plugin.disableCommandsAdventure.put(event.getPlayer(), false); plugin.disableCommandsAdventure.put(event.getPlayer(), false);
if(plugin.getConfig().getBoolean("on-join-to-spawn")) if (plugin.getConfig().getBoolean("on-join-to-spawn")) {
{
event.getPlayer().teleport(event.getPlayer().getWorld().getSpawnLocation()); event.getPlayer().teleport(event.getPlayer().getWorld().getSpawnLocation());
} }
} }

View File

@@ -9,19 +9,17 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerKickEvent; import org.bukkit.event.player.PlayerKickEvent;
public class PlayerKick implements Listener public class PlayerKick implements Listener {
{
public PlayerKick(AnuraCore plugin) public PlayerKick(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onPlayerKick(PlayerKickEvent event) public void onPlayerKick(PlayerKickEvent event) {
{
AnuraCore.getInstance().disableCommandsAdventure.remove(event.getPlayer()); AnuraCore.getInstance().disableCommandsAdventure.remove(event.getPlayer());
if(!plugin.getConfig().getBoolean("is-main-lobby")) if (!plugin.getConfig().getBoolean("is-main-lobby")) {
{
try { try {
Core.endSitting(event.getPlayer()); Core.endSitting(event.getPlayer());
event.setCancelled(true); event.setCancelled(true);

View File

@@ -15,97 +15,90 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
public class PlayerMove implements Listener public class PlayerMove implements Listener {
{
private final AnuraCore plugin; private final AnuraCore plugin;
public PlayerMove(AnuraCore plugin)
{ public PlayerMove(AnuraCore plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onPlayerMove(PlayerMoveEvent event) public void onPlayerMove(PlayerMoveEvent event) {
{
Player p = event.getPlayer(); Player p = event.getPlayer();
Block block = event.getTo().clone().getBlock(); Block block = event.getTo().clone().getBlock();
Block under = block.getLocation().subtract(0,1,0).getBlock(); Block under = block.getLocation().subtract(0, 1, 0).getBlock();
if(event.getTo().getY() <= -40 && plugin.getConfig().getBoolean("no-void-death")) if (event.getTo().getY() <= -40 && plugin.getConfig().getBoolean("no-void-death")) {
{
p.performCommand("spawn"); p.performCommand("spawn");
} }
if(block.getType().equals(Material.CARPET) && under.getType().equals(Material.SIGN_POST)) if (block.getType().equals(Material.CARPET) && under.getType().equals(Material.SIGN_POST)) {
{
p.setWalkSpeed(0.6F); p.setWalkSpeed(0.6F);
} } else if (block.getType().equals(Material.CARPET) && under.getType().equals(Material.ENDER_CHEST)) {
else if(block.getType().equals(Material.CARPET) && under.getType().equals(Material.ENDER_CHEST))
{
try { try {
double X = under.getLocation().getX(); double X = under.getLocation().getX();
double Y = under.getLocation().getY(); double Y = under.getLocation().getY();
double Z = under.getLocation().getZ(); double Z = under.getLocation().getZ();
String world = under.getLocation().getWorld().getName(); String world = under.getLocation().getWorld().getName();
String sql = "SELECT * FROM coreJumpers WHERE X = '"+(int)X+"' AND Y = '"+(int)Y+"' AND Z = '"+(int)Z+"' AND world = '"+world+"' AND type = 'high'"; String sql = "SELECT * FROM coreJumpers WHERE X = '" + (int) X + "' AND Y = '" + (int) Y + "' AND Z = '" + (int) Z + "' AND world = '" + world + "' AND type = 'high'";
ResultSet rs = AnuraCore.getSql().querySelect(sql); ResultSet rs = AnuraCore.getSql().querySelect(sql);
rs.last(); rs.last();
if(rs.getRow() > 0) if (rs.getRow() > 0) {
{ p.setVelocity(new Vector(0, rs.getDouble("height"), 0));
p.setVelocity(new Vector(0,rs.getDouble("height"),0)); ParticleEffect.FIREWORKS_SPARK.display(p.getLocation(), (float) 0.1, (float) 0.1, (float) 0.1, (float) 0.3, 10);
ParticleEffect.FIREWORKS_SPARK.display(p.getLocation(), (float)0.1, (float)0.1, (float)0.1, (float)0.3, 10);
} }
p.setWalkSpeed(0.2F); p.setWalkSpeed(0.2F);
} catch (SQLException ex) { } catch (SQLException ex) {
System.err.println(ex.getLocalizedMessage()); System.err.println(ex.getLocalizedMessage());
} }
} } else if (block.getType().equals(Material.CARPET) && under.getType().equals(Material.RAILS)) {
else if(block.getType().equals(Material.CARPET) && under.getType().equals(Material.RAILS))
{
try { try {
double X = under.getLocation().getX(); double X = under.getLocation().getX();
double Y = under.getLocation().getY(); double Y = under.getLocation().getY();
double Z = under.getLocation().getZ(); double Z = under.getLocation().getZ();
String world = under.getLocation().getWorld().getName(); String world = under.getLocation().getWorld().getName();
String sql = "SELECT * FROM coreJumpers WHERE X = '"+(int)X+"' AND Y = '"+(int)Y+"' AND Z = '"+(int)Z+"' AND world = '"+world+"' AND type = 'far'"; String sql = "SELECT * FROM coreJumpers WHERE X = '" + (int) X + "' AND Y = '" + (int) Y + "' AND Z = '" + (int) Z + "' AND world = '" + world + "' AND type = 'far'";
ResultSet rs = AnuraCore.getSql().querySelect(sql); ResultSet rs = AnuraCore.getSql().querySelect(sql);
rs.last(); rs.last();
if(rs.getRow() > 0) if (rs.getRow() > 0) {
{ p.setVelocity(p.getLocation().getDirection().multiply(new Vector(rs.getDouble("height"), 1, rs.getDouble("height"))));
p.setVelocity(p.getLocation().getDirection().multiply(new Vector(rs.getDouble("height"),1,rs.getDouble("height"))));
p.setVelocity(p.getVelocity().setY(1.3)); p.setVelocity(p.getVelocity().setY(1.3));
ParticleEffect.LAVA.display(p.getLocation(), (float)0.1, (float)0.1, (float)0.1, (float)0.3, 10); ParticleEffect.LAVA.display(p.getLocation(), (float) 0.1, (float) 0.1, (float) 0.1, (float) 0.3, 10);
p.playSound(p.getLocation(), Sound.EXPLODE, 1, 1); p.playSound(p.getLocation(), Sound.EXPLODE, 1, 1);
} }
p.setWalkSpeed(0.2F); p.setWalkSpeed(0.2F);
} catch (SQLException ex) { } catch (SQLException ex) {
System.err.println(ex.getLocalizedMessage()); System.err.println(ex.getLocalizedMessage());
} }
} } else {
else
{
p.setWalkSpeed(0.2F); p.setWalkSpeed(0.2F);
} }
Block sign = null; Block sign = null;
Block isSign = block.getLocation().getWorld().getBlockAt(block.getLocation().add(0, 1, 0)); Block isSign = block.getLocation().getWorld().getBlockAt(block.getLocation().add(0, 1, 0));
if(isSign.getType().equals(Material.WALL_SIGN)) if (isSign.getType().equals(Material.WALL_SIGN)) {
{
sign = isSign; sign = isSign;
} } else if (block.getType().equals(Material.WALL_SIGN)) {
else if(block.getType().equals(Material.WALL_SIGN))
{
sign = block; sign = block;
} }
if(sign != null && !event.getPlayer().hasPermission("core.rules.hideSign")) if (sign != null && !event.getPlayer().hasPermission("core.rules.hideSign")) {
{ Sign s = (Sign) sign.getState().getData();
Sign s = (Sign)sign.getState().getData();
BlockFace bf = s.getFacing(); BlockFace bf = s.getFacing();
if(bf.equals(BlockFace.EAST)) event.getPlayer().setVelocity(new Vector(0.3,0,0)); if (bf.equals(BlockFace.EAST)) {
if(bf.equals(BlockFace.WEST)) event.getPlayer().setVelocity(new Vector(-0.3,0,0)); event.getPlayer().setVelocity(new Vector(0.3, 0, 0));
if(bf.equals(BlockFace.SOUTH)) event.getPlayer().setVelocity(new Vector(0,0,0.3));
if(bf.equals(BlockFace.NORTH)) event.getPlayer().setVelocity(new Vector(0,0,-0.3));
} }
if(!plugin.lastLoc.containsKey(p) || !plugin.lastLoc.get(p).getWorld().equals(p.getLocation().getWorld()) || plugin.lastLoc.get(p).distance(p.getLocation()) > 1) if (bf.equals(BlockFace.WEST)) {
{ event.getPlayer().setVelocity(new Vector(-0.3, 0, 0));
}
if (bf.equals(BlockFace.SOUTH)) {
event.getPlayer().setVelocity(new Vector(0, 0, 0.3));
}
if (bf.equals(BlockFace.NORTH)) {
event.getPlayer().setVelocity(new Vector(0, 0, -0.3));
}
}
if (!plugin.lastLoc.containsKey(p) || !plugin.lastLoc.get(p).getWorld().equals(p.getLocation().getWorld()) || plugin.lastLoc.get(p).distance(p.getLocation()) > 1) {
plugin.pots.refreshPlayer(p); plugin.pots.refreshPlayer(p);
} }

View File

@@ -7,16 +7,14 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
public class PlayerQuit implements Listener public class PlayerQuit implements Listener {
{
public PlayerQuit(AnuraCore plugin) public PlayerQuit(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
} }
@EventHandler @EventHandler
public void onPlayerQuit(PlayerQuitEvent event) public void onPlayerQuit(PlayerQuitEvent event) {
{
event.setQuitMessage(null); event.setQuitMessage(null);
Core.endSitting(event.getPlayer()); Core.endSitting(event.getPlayer());
AnuraCore.getInstance().disableCommandsAdventure.remove(event.getPlayer()); AnuraCore.getInstance().disableCommandsAdventure.remove(event.getPlayer());

View File

@@ -13,26 +13,22 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
import org.bukkit.material.Stairs; import org.bukkit.material.Stairs;
public class PlayerTeleport implements Listener public class PlayerTeleport implements Listener {
{
public PlayerTeleport(AnuraCore plugin) public PlayerTeleport(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler(priority=EventPriority.LOWEST)
public void onPlayerTeleport(PlayerTeleportEvent event) @EventHandler(priority = EventPriority.LOWEST)
{ public void onPlayerTeleport(PlayerTeleportEvent event) {
if(plugin.sittingPlayer.containsKey(event.getPlayer()) && !event.getCause().equals(TeleportCause.PLUGIN)) if (plugin.sittingPlayer.containsKey(event.getPlayer()) && !event.getCause().equals(TeleportCause.PLUGIN)) {
{ if (event.getPlayer().isSneaking()) {
if(event.getPlayer().isSneaking())
{
Player P = event.getPlayer(); Player P = event.getPlayer();
Block b = plugin.sittingBlocks.get(P); Block b = plugin.sittingBlocks.get(P);
MaterialData md = b.getState().getData(); MaterialData md = b.getState().getData();
if(md instanceof Stairs) if (md instanceof Stairs) {
{ Stairs s = (Stairs) md;
Stairs s = (Stairs)md;
Location loc = b.getRelative(s.getFacing()).getLocation(); Location loc = b.getRelative(s.getFacing()).getLocation();
Arrow a = plugin.sittingPlayer.get(P); Arrow a = plugin.sittingPlayer.get(P);
event.setTo(loc); event.setTo(loc);

View File

@@ -13,76 +13,64 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.block.SignChangeEvent;
public class SignChange implements Listener {
public class SignChange implements Listener public SignChange(AnuraCore plugin) {
{
public SignChange(AnuraCore plugin)
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler
public void onSignChange(SignChangeEvent event)
{
if(event.getLine(0).equalsIgnoreCase("[Warp]")) @EventHandler
{ public void onSignChange(SignChangeEvent event) {
if(!event.getPlayer().hasPermission("core.signs.warp"))
{ if (event.getLine(0).equalsIgnoreCase("[Warp]")) {
if (!event.getPlayer().hasPermission("core.signs.warp")) {
event.setLine(0, ChatColor.STRIKETHROUGH + "[Warp]"); event.setLine(0, ChatColor.STRIKETHROUGH + "[Warp]");
event.setLine(1, ChatColor.RED + "You don't"); event.setLine(1, ChatColor.RED + "You don't");
event.setLine(2, ChatColor.RED + "have"); event.setLine(2, ChatColor.RED + "have");
event.setLine(3, ChatColor.RED + "Permission!"); event.setLine(3, ChatColor.RED + "Permission!");
return; return;
} }
if(event.getLine(1).equalsIgnoreCase("warp")) if (event.getLine(1).equalsIgnoreCase("warp")) {
{ ResultSet rs = AnuraCore.sql.querySelect("SELECT name FROM coreWarps WHERE name = '" + event.getLine(2) + "'");
ResultSet rs = AnuraCore.sql.querySelect("SELECT name FROM coreWarps WHERE name = '"+event.getLine(2)+"'");
try { try {
rs.last(); rs.last();
if(rs.getRow() == 0) if (rs.getRow() == 0) {
{ event.setLine(0, ChatColor.STRIKETHROUGH + "[Warp]");
event.setLine(0, ChatColor.STRIKETHROUGH+ "[Warp]");
event.setLine(1, ChatColor.RED + "Der Warp"); event.setLine(1, ChatColor.RED + "Der Warp");
event.setLine(2, ChatColor.YELLOW + event.getLine(2) + ChatColor.RED + "exis-"); event.setLine(2, ChatColor.YELLOW + event.getLine(2) + ChatColor.RED + "exis-");
event.setLine(3, ChatColor.RED + "tiert nicht!"); event.setLine(3, ChatColor.RED + "tiert nicht!");
} } else {
else
{
Location loc = event.getBlock().getLocation(); Location loc = event.getBlock().getLocation();
int X = loc.getBlockX(); int X = loc.getBlockX();
int Y = loc.getBlockY(); int Y = loc.getBlockY();
int Z = loc.getBlockZ(); int Z = loc.getBlockZ();
String world = loc.getWorld().getName(); String world = loc.getWorld().getName();
String server = plugin.getConfig().getString("server-name"); String server = plugin.getConfig().getString("server-name");
AnuraCore.sql.queryUpdate("INSERT INTO coreWarpSigns(X,Y,Z,world,server,type,value,info) VALUES('"+X+"','"+Y+"','"+Z+"','"+world+"','"+server+"','warp','"+event.getLine(2)+"','"+event.getLine(3)+"')"); AnuraCore.sql.queryUpdate("INSERT INTO coreWarpSigns(X,Y,Z,world,server,type,value,info) VALUES('" + X + "','" + Y + "','" + Z + "','" + world + "','" + server + "','warp','" + event.getLine(2) + "','" + event.getLine(3) + "')");
event.setLine(0, "["+ChatColor.GREEN+"Warp"+ChatColor.BLACK+"]"); event.setLine(0, "[" + ChatColor.GREEN + "Warp" + ChatColor.BLACK + "]");
event.setLine(1, ChatColor.DARK_GRAY+"--------"); event.setLine(1, ChatColor.DARK_GRAY + "--------");
event.setLine(2, ChatColor.AQUA + event.getLine(2)); event.setLine(2, ChatColor.AQUA + event.getLine(2));
event.setLine(3, ChatColor.BLUE + event.getLine(3)); event.setLine(3, ChatColor.BLUE + event.getLine(3));
Core.statusMsg(event.getPlayer(), "warpsign_created", true); Core.statusMsg(event.getPlayer(), "warpsign_created", true);
} }
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("Error: "+ex.getLocalizedMessage()); System.out.println("Error: " + ex.getLocalizedMessage());
} }
} } else if (event.getLine(1).equalsIgnoreCase("spawn")) {
else if(event.getLine(1).equalsIgnoreCase("spawn"))
{
Location loc = event.getBlock().getLocation(); Location loc = event.getBlock().getLocation();
int X = loc.getBlockX(); int X = loc.getBlockX();
int Y = loc.getBlockY(); int Y = loc.getBlockY();
int Z = loc.getBlockZ(); int Z = loc.getBlockZ();
String world = loc.getWorld().getName(); String world = loc.getWorld().getName();
String server = plugin.getConfig().getString("server-name"); String server = plugin.getConfig().getString("server-name");
AnuraCore.sql.queryUpdate("INSERT INTO coreWarpSigns(X,Y,Z,world,server,type,value,info) VALUES('"+X+"','"+Y+"','"+Z+"','"+world+"','"+server+"','spawn','none','"+event.getLine(3)+"')"); AnuraCore.sql.queryUpdate("INSERT INTO coreWarpSigns(X,Y,Z,world,server,type,value,info) VALUES('" + X + "','" + Y + "','" + Z + "','" + world + "','" + server + "','spawn','none','" + event.getLine(3) + "')");
event.setLine(0, ChatColor.DARK_GRAY + "---------"); event.setLine(0, ChatColor.DARK_GRAY + "---------");
event.setLine(1, ChatColor.BLACK + "["+ChatColor.GREEN + "Spawn"+ ChatColor.BLACK + "]"); event.setLine(1, ChatColor.BLACK + "[" + ChatColor.GREEN + "Spawn" + ChatColor.BLACK + "]");
event.setLine(2, ChatColor.DARK_GRAY + "---------"); event.setLine(2, ChatColor.DARK_GRAY + "---------");
event.setLine(3, ChatColor.BLUE + event.getLine(3)); event.setLine(3, ChatColor.BLUE + event.getLine(3));
Core.statusMsg(event.getPlayer(), "spawnsign_created", true); Core.statusMsg(event.getPlayer(), "spawnsign_created", true);
} } else if (event.getLine(1).equalsIgnoreCase("server")) {
else if(event.getLine(1).equalsIgnoreCase("server"))
{
Location loc = event.getBlock().getLocation(); Location loc = event.getBlock().getLocation();
int X = loc.getBlockX(); int X = loc.getBlockX();
int Y = loc.getBlockY(); int Y = loc.getBlockY();
@@ -90,43 +78,34 @@ public class SignChange implements Listener
String world = loc.getWorld().getName(); String world = loc.getWorld().getName();
String server = event.getLine(2); String server = event.getLine(2);
String curServer = plugin.getConfig().getString("server-name"); String curServer = plugin.getConfig().getString("server-name");
AnuraCore.sql.queryUpdate("INSERT INTO coreWarpSigns(X,Y,Z,world,server,type,value,info) VALUES('"+X+"','"+Y+"','"+Z+"','"+world+"','"+curServer+"','server','"+server+"','"+event.getLine(3)+"')"); AnuraCore.sql.queryUpdate("INSERT INTO coreWarpSigns(X,Y,Z,world,server,type,value,info) VALUES('" + X + "','" + Y + "','" + Z + "','" + world + "','" + curServer + "','server','" + server + "','" + event.getLine(3) + "')");
event.setLine(0, ChatColor.BLACK + "["+ChatColor.GREEN + "Server"+ ChatColor.BLACK + "]"); event.setLine(0, ChatColor.BLACK + "[" + ChatColor.GREEN + "Server" + ChatColor.BLACK + "]");
event.setLine(1, ChatColor.GREEN + "--"+ChatColor.DARK_GRAY+"/"+ChatColor.GREEN+"--"); event.setLine(1, ChatColor.GREEN + "--" + ChatColor.DARK_GRAY + "/" + ChatColor.GREEN + "--");
event.setLine(2, ChatColor.AQUA + event.getLine(2)); event.setLine(2, ChatColor.AQUA + event.getLine(2));
event.setLine(3, ChatColor.BLUE + event.getLine(3)); event.setLine(3, ChatColor.BLUE + event.getLine(3));
Core.statusMsg(event.getPlayer(), "serversign_created", true); Core.statusMsg(event.getPlayer(), "serversign_created", true);
} }
} } else {
else if (event.getPlayer().hasPermission("core.signs.chars")) {
{ for (int i = 0; i < 4; i++) {
if(event.getPlayer().hasPermission("core.signs.chars"))
{
for(int i = 0; i < 4; i++)
{
String l = event.getLine(i); String l = event.getLine(i);
l = ChatColor.translateAlternateColorCodes('&', l); l = ChatColor.translateAlternateColorCodes('&', l);
if(l.contains("%")) if (l.contains("%")) {
{
String[] parts = l.split("%"); String[] parts = l.split("%");
ArrayList<Entry<String, String>> toReplace = new ArrayList<>(); ArrayList<Entry<String, String>> toReplace = new ArrayList<>();
Boolean first = true; Boolean first = true;
for(String s : parts) for (String s : parts) {
{ if (!first) {
if(!first)
{
String num = s.split(" ")[0]; String num = s.split(" ")[0];
if(Core.isInteger(num)) if (Core.isInteger(num)) {
{
int number = Integer.valueOf(num); int number = Integer.valueOf(num);
Entry<String, String> e = new SimpleEntry<>("%"+number, Character.toString((char)number)); Entry<String, String> e = new SimpleEntry<>("%" + number, Character.toString((char) number));
toReplace.add(e); toReplace.add(e);
} }
} }
first = false; first = false;
} }
for(Entry<String, String> entry : toReplace) for (Entry<String, String> entry : toReplace) {
{
l = l.replace(entry.getKey(), entry.getValue()); l = l.replace(entry.getKey(), entry.getValue());
} }
} }

View File

@@ -5,19 +5,16 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.weather.WeatherChangeEvent; import org.bukkit.event.weather.WeatherChangeEvent;
public class WeatherChange implements Listener public class WeatherChange implements Listener {
{
public WeatherChange(AnuraCore plugin) public WeatherChange(AnuraCore plugin) {
{
plugin.getServer().getPluginManager().registerEvents(this, plugin); plugin.getServer().getPluginManager().registerEvents(this, plugin);
this.plugin = plugin; this.plugin = plugin;
} }
@EventHandler @EventHandler
public void onWeatherChange(WeatherChangeEvent event) public void onWeatherChange(WeatherChangeEvent event) {
{ if (event.toWeatherState() && plugin.getConfig().getBoolean("no-rain")) {
if(event.toWeatherState() && plugin.getConfig().getBoolean("no-rain"))
{
event.setCancelled(true); event.setCancelled(true);
System.out.println("Stopped rain!"); System.out.println("Stopped rain!");
} }