This commit is contained in:
speed 2020-12-03 21:54:18 -05:00
parent 24b43d47d3
commit e55633d0a2
48 changed files with 299 additions and 306 deletions

15
pom.xml
View file

@ -44,11 +44,6 @@
<id>jitpack.io</id> <id>jitpack.io</id>
<url>https://jitpack.io</url> <url>https://jitpack.io</url>
</repository> </repository>
<repository>
<id>telesphoreo-repo</id>
<url>https://telesphoreo.me/repo/maven</url>
</repository>
</repositories> </repositories>
<dependencies> <dependencies>
@ -93,11 +88,17 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>me.totalfreedom</groupId> <groupId>com.github.AtlasMediaGroup</groupId>
<artifactId>TotalFreedomMod</artifactId> <artifactId>TotalFreedomMod</artifactId>
<version>2020.9</version> <version>development-0be2aa718f-1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies> </dependencies>
<profiles> <profiles>

View file

@ -22,7 +22,7 @@ public enum Gender {
* @return Chat prefix * @return Chat prefix
*/ */
public String getChatPrefix() { public String getChatPrefix() {
switch(this) { switch (this) {
case MALE: case MALE:
return Settings.PREFIX_MALE.value(); return Settings.PREFIX_MALE.value();
case FEMALE: case FEMALE:

View file

@ -78,7 +78,7 @@ public interface Marriage {
/** /**
* Register a subcommand to the /marry command. * Register a subcommand to the /marry command.
* *
* @param commandClass Class of the sub command to be registered. * @param commandClass Class of the sub command to be registered.
* @param commandClasses Additional command classes * @param commandClasses Additional command classes
*/ */
void register(Class<? extends Command> commandClass, Class<? extends Command>... commandClasses); void register(Class<? extends Command> commandClass, Class<? extends Command>... commandClasses);

View file

@ -5,20 +5,16 @@ import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
public class TFM public class TFM {
{
private TotalFreedomMod totalFreedomMod = null; private TotalFreedomMod totalFreedomMod = null;
public TotalFreedomMod getTFM() public TotalFreedomMod getTFM() {
{ if (totalFreedomMod != null) {
if (totalFreedomMod != null)
{
return totalFreedomMod; return totalFreedomMod;
} }
Plugin plugin = Bukkit.getPluginManager().getPlugin("TotalFreedomMod"); Plugin plugin = Bukkit.getPluginManager().getPlugin("TotalFreedomMod");
if (plugin != null && plugin.isEnabled()) if (plugin != null && plugin.isEnabled()) {
{ TotalFreedomMod tfm = (TotalFreedomMod) plugin;
TotalFreedomMod tfm = (TotalFreedomMod)plugin;
totalFreedomMod = tfm; totalFreedomMod = tfm;
return totalFreedomMod; return totalFreedomMod;
} }
@ -26,8 +22,7 @@ public class TFM
return null; return null;
} }
public boolean isStaff(Player player) public boolean isAdmin(Player player) {
{ return getTFM().al.isAdmin(player);
return getTFM().sl.isStaff(player);
} }
} }

View file

@ -53,13 +53,13 @@ public abstract class Command {
protected Player getArgAsPlayer(int index) { protected Player getArgAsPlayer(int index) {
String name = getArg(index); String name = getArg(index);
for(Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {
if(player.getName().equalsIgnoreCase(name)) { if (player.getName().equalsIgnoreCase(name)) {
return player; return player;
} }
} }
for(Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {
if(player.getName().toLowerCase().contains(name.toLowerCase())) { if (player.getName().toLowerCase().contains(name.toLowerCase())) {
return player; return player;
} }
} }
@ -74,7 +74,7 @@ public abstract class Command {
protected int getArgAsInt(int index, int def) { protected int getArgAsInt(int index, int def) {
try { try {
return Integer.parseInt(getArg(index)); return Integer.parseInt(getArg(index));
} catch(Exception e) { } catch (Exception e) {
return def; return def;
} }
} }
@ -170,12 +170,12 @@ public abstract class Command {
} }
protected void setExecutionFee(ConfigOption<Double> setting) { protected void setExecutionFee(ConfigOption<Double> setting) {
if(!Settings.ECONOMY_ENABLED.value() || !Settings.ECONOMY_SHOW_PRICE.value()) { if (!Settings.ECONOMY_ENABLED.value() || !Settings.ECONOMY_SHOW_PRICE.value()) {
return; return;
} }
Dependencies dependencies = marriage.dependencies(); Dependencies dependencies = marriage.dependencies();
if(!dependencies.isEconomyEnabled()) { if (!dependencies.isEconomyEnabled()) {
return; return;
} }
@ -187,14 +187,14 @@ public abstract class Command {
} }
protected boolean hasFee() { protected boolean hasFee() {
if(executionFee <= 0 || player == null) return true; // Success! if (executionFee <= 0 || player == null) return true; // Success!
return marriage.dependencies().getEconomyService().has(player, executionFee); return marriage.dependencies().getEconomyService().has(player, executionFee);
} }
protected boolean payFee() { protected boolean payFee() {
if(executionFee <= 0 || player == null) return true; // Success! if (executionFee <= 0 || player == null) return true; // Success!
if(marriage.dependencies().getEconomyService().has(player, executionFee)) { if (marriage.dependencies().getEconomyService().has(player, executionFee)) {
EconomyResponse response = marriage.dependencies().getEconomyService().withdrawPlayer(player, executionFee); EconomyResponse response = marriage.dependencies().getEconomyService().withdrawPlayer(player, executionFee);
reply(Message.PAID_FEE, marriage.dependencies().getEconomyService().format(executionFee)); reply(Message.PAID_FEE, marriage.dependencies().getEconomyService().format(executionFee));
return response.transactionSuccess(); return response.transactionSuccess();

View file

@ -14,7 +14,7 @@ public class CommandChat extends Command {
@Override @Override
public void execute() { public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
if(!mPlayer.isMarried()) { if (!mPlayer.isMarried()) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }

View file

@ -16,8 +16,7 @@ public class CommandChatSpy extends Command {
@Override @Override
public void execute() { public void execute() {
if (!marriage.getTFM().isStaff(player)) if (!marriage.getTFM().isAdmin(player)) {
{
sender.sendMessage(ChatColor.RED + "You are not permitted to use this command."); sender.sendMessage(ChatColor.RED + "You are not permitted to use this command.");
return; return;
} }

View file

@ -19,18 +19,18 @@ public class CommandDivorce extends Command {
public void execute() { public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
MPlayer partner = mPlayer.getPartner(); MPlayer partner = mPlayer.getPartner();
if(partner == null) { if (partner == null) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }
if(!payFee()) return; if (!payFee()) return;
mPlayer.divorce(); mPlayer.divorce();
// Clear metadata // Clear metadata
player.removeMetadata("marriedTo", marriage.getPlugin()); player.removeMetadata("marriedTo", marriage.getPlugin());
Player target = Bukkit.getPlayer(partner.getUniqueId()); Player target = Bukkit.getPlayer(partner.getUniqueId());
if(target != null) { if (target != null) {
target.removeMetadata("marriedTo", marriage.getPlugin()); target.removeMetadata("marriedTo", marriage.getPlugin());
} }

View file

@ -20,13 +20,13 @@ public class CommandGender extends Command {
Gender gender; Gender gender;
try { try {
gender = Gender.valueOf(getArg(0).toUpperCase()); gender = Gender.valueOf(getArg(0).toUpperCase());
} catch(Exception e) { } catch (Exception e) {
reply(Message.INVALID_GENDER); reply(Message.INVALID_GENDER);
return; return;
} }
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
if(mPlayer.getGender() != Gender.NONE && !Settings.ALLOW_GENDER_CHANGE.value()) { if (mPlayer.getGender() != Gender.NONE && !Settings.ALLOW_GENDER_CHANGE.value()) {
reply(Message.GENDER_ALREADY_CHANGED); reply(Message.GENDER_ALREADY_CHANGED);
} }

View file

@ -20,24 +20,24 @@ public class CommandGift extends Command {
public void execute() { public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
MData marriage = mPlayer.getMarriage(); MData marriage = mPlayer.getMarriage();
if(marriage == null) { if (marriage == null) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId())); Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner == null) { if (partner == null) {
reply(Message.PARTNER_NOT_ONLINE); reply(Message.PARTNER_NOT_ONLINE);
return; return;
} }
ItemStack item = player.getItemInHand(); ItemStack item = player.getItemInHand();
if(item == null || item.getType() == Material.AIR) { if (item == null || item.getType() == Material.AIR) {
reply(Message.NO_ITEM); reply(Message.NO_ITEM);
return; return;
} }
if(partner.getInventory().firstEmpty() == -1) { if (partner.getInventory().firstEmpty() == -1) {
reply(Message.PARTNER_INVENTORY_FULL); reply(Message.PARTNER_INVENTORY_FULL);
return; return;
} }

View file

@ -21,27 +21,27 @@ public class CommandHeal extends Command {
MData marriage = mPlayer.getMarriage(); MData marriage = mPlayer.getMarriage();
// Check if marries // Check if marries
if(marriage == null) { if (marriage == null) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }
// Verify partner online // Verify partner online
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId())); Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner == null) { if (partner == null) {
reply(Message.PARTNER_NOT_ONLINE); reply(Message.PARTNER_NOT_ONLINE);
return; return;
} }
// Check health // Check health
if(player.getHealth() < 1.0) { if (player.getHealth() < 1.0) {
reply(Message.NO_HEALTH); reply(Message.NO_HEALTH);
return; return;
} }
// Check health of partner // Check health of partner
double give = Math.min(partner.getMaxHealth() - partner.getHealth(), player.getHealth() - 0.5); double give = Math.min(partner.getMaxHealth() - partner.getHealth(), player.getHealth() - 0.5);
if(give == 0.0) { if (give == 0.0) {
reply(Message.NO_HEALTH); reply(Message.NO_HEALTH);
return; return;
} }

View file

@ -26,18 +26,18 @@ public class CommandHelp extends Command {
// reply("Author: &alenis0012"); // reply("Author: &alenis0012");
reply("Version: &a" + marriage.getPlugin().getDescription().getVersion()); reply("Version: &a" + marriage.getPlugin().getDescription().getVersion());
reply("&2&m---------&2< &a&lMarriage Command Help &2>&2&m---------"); // Play around with the amount of dashes later reply("&2&m---------&2< &a&lMarriage Command Help &2>&2&m---------"); // Play around with the amount of dashes later
for(Command command : commandExecutor.getSubCommands()) { for (Command command : commandExecutor.getSubCommands()) {
if(command.isHidden()) { if (command.isHidden()) {
continue; continue;
} }
String alias = command instanceof CommandMarry ? "" : command.getAliases()[0] + " "; String alias = command instanceof CommandMarry ? "" : command.getAliases()[0] + " ";
String text = "&a/marry " + alias + command.getUsage() + " &f- &7" + command.getDescription(); String text = "&a/marry " + alias + command.getUsage() + " &f- &7" + command.getDescription();
if(command.getExecutionFee() == 0.0 || !Bukkit.getVersion().contains("Spigot") || !marriage.dependencies().isEconomyEnabled() || player == null) { if (command.getExecutionFee() == 0.0 || !Bukkit.getVersion().contains("Spigot") || !marriage.dependencies().isEconomyEnabled() || player == null) {
reply(text); reply(text);
continue; continue;
} }
if(player.spigot() == null) { if (player.spigot() == null) {
reply(text); reply(text);
continue; continue;
} }
@ -54,7 +54,7 @@ public class CommandHelp extends Command {
} }
String status = Message.SINGLE.toString(); String status = Message.SINGLE.toString();
if(player != null && player.hasMetadata("marriedTo")) { if (player != null && player.hasMetadata("marriedTo")) {
String partner = player.getMetadata("marriedTo").get(0).asString(); String partner = player.getMetadata("marriedTo").get(0).asString();
status = String.format(Message.MARRIED_TO.toString(), partner); status = String.format(Message.MARRIED_TO.toString(), partner);
} }

View file

@ -17,13 +17,13 @@ public class CommandHome extends Command {
public void execute() { public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
MData marriage = mPlayer.getMarriage(); MData marriage = mPlayer.getMarriage();
if(marriage == null) { if (marriage == null) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }
Location home = marriage.getHome(); Location home = marriage.getHome();
if(home == null) { if (home == null) {
reply(Message.HOME_NOT_SET); reply(Message.HOME_NOT_SET);
return; return;
} }

View file

@ -19,7 +19,7 @@ public class CommandList extends Command {
public void execute() { public void execute() {
reply(Message.FETCHING_LIST); reply(Message.FETCHING_LIST);
final int page = getArgLength() > 0 ? getArgAsInt(0) : 1; final int page = getArgLength() > 0 ? getArgAsInt(0) : 1;
if(page < 1) { if (page < 1) {
reply(Message.NEGATIVE_NUMBER); reply(Message.NEGATIVE_NUMBER);
} }

View file

@ -13,7 +13,7 @@ public class CommandMarry extends Command {
public CommandMarry(Marriage marriage) { public CommandMarry(Marriage marriage) {
super(marriage, "marry"); super(marriage, "marry");
if(Settings.ENABLE_PRIEST.value()) { if (Settings.ENABLE_PRIEST.value()) {
setDescription(Message.COMMAND_MARRY_PRIEST.toString()); setDescription(Message.COMMAND_MARRY_PRIEST.toString());
setUsage("<player1> <player2>"); setUsage("<player1> <player2>");
setMinArgs(1); setMinArgs(1);
@ -29,25 +29,25 @@ public class CommandMarry extends Command {
@Override @Override
public void execute() { public void execute() {
if(Settings.ENABLE_PRIEST.value()) { if (Settings.ENABLE_PRIEST.value()) {
Player player1 = getArgAsPlayer(-1); Player player1 = getArgAsPlayer(-1);
Player player2 = getArgAsPlayer(0); Player player2 = getArgAsPlayer(0);
if(player1 == null) { if (player1 == null) {
reply(Message.PLAYER_NOT_FOUND, getArg(-1)); reply(Message.PLAYER_NOT_FOUND, getArg(-1));
return; return;
} else if(player2 == null) { } else if (player2 == null) {
reply(Message.PLAYER_NOT_FOUND, getArg(0)); reply(Message.PLAYER_NOT_FOUND, getArg(0));
return; return;
} }
MPlayer mp1 = marriage.getMPlayer(player1); MPlayer mp1 = marriage.getMPlayer(player1);
MPlayer mp2 = marriage.getMPlayer(player2); MPlayer mp2 = marriage.getMPlayer(player2);
if(mp1.isMarried() || mp2.isMarried()) { if (mp1.isMarried() || mp2.isMarried()) {
reply(Message.ALREADY_MARRIED); reply(Message.ALREADY_MARRIED);
return; return;
} }
MPlayer mp = marriage.getMPlayer(player); MPlayer mp = marriage.getMPlayer(player);
if(!mp.isPriest()) { if (!mp.isPriest()) {
reply(Message.NOT_A_PRIEST); reply(Message.NOT_A_PRIEST);
return; return;
} }
@ -58,36 +58,36 @@ public class CommandMarry extends Command {
Player target = getArgAsPlayer(-1); Player target = getArgAsPlayer(-1);
// Check if player is valid // Check if player is valid
if(target == null) { if (target == null) {
reply(Message.PLAYER_NOT_FOUND, getArg(-1)); reply(Message.PLAYER_NOT_FOUND, getArg(-1));
return; return;
} }
// Check if player is self // Check if player is self
if(target.getName().equalsIgnoreCase(player.getName())) { if (target.getName().equalsIgnoreCase(player.getName())) {
reply(Message.MARRY_SELF); reply(Message.MARRY_SELF);
return; return;
} }
// Check if self married // Check if self married
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
if(mPlayer.isMarried()) { if (mPlayer.isMarried()) {
reply(Message.ALREADY_MARRIED); reply(Message.ALREADY_MARRIED);
return; return;
} }
// Check if player married // Check if player married
MPlayer mTarget = marriage.getMPlayer(target); MPlayer mTarget = marriage.getMPlayer(target);
if(mTarget.isMarried()) { if (mTarget.isMarried()) {
reply(Message.TARGET_ALREADY_MARRIED, getArg(-1)); reply(Message.TARGET_ALREADY_MARRIED, getArg(-1));
return; return;
} }
// Request or accept // Request or accept
if(mPlayer.isMarriageRequested(target.getUniqueId())) { if (mPlayer.isMarriageRequested(target.getUniqueId())) {
if(getExecutionFee() > 0.0) { if (getExecutionFee() > 0.0) {
EconomyResponse response = marriage.dependencies().getEconomyService().withdrawPlayer(target, getExecutionFee()); EconomyResponse response = marriage.dependencies().getEconomyService().withdrawPlayer(target, getExecutionFee());
if(!response.transactionSuccess()) { if (!response.transactionSuccess()) {
reply(Message.PARTNER_FEE); reply(Message.PARTNER_FEE);
target.sendMessage(response.errorMessage); target.sendMessage(response.errorMessage);
return; return;
@ -98,8 +98,8 @@ public class CommandMarry extends Command {
player.setMetadata("marriedTo", new FixedMetadataValue(marriage.getPlugin(), target.getName())); player.setMetadata("marriedTo", new FixedMetadataValue(marriage.getPlugin(), target.getName()));
target.setMetadata("marriedTo", new FixedMetadataValue(marriage.getPlugin(), player.getName())); target.setMetadata("marriedTo", new FixedMetadataValue(marriage.getPlugin(), player.getName()));
broadcast(Message.MARRIED, player.getName(), target.getName()); broadcast(Message.MARRIED, player.getName(), target.getName());
} else if(!mTarget.isMarriageRequested(player.getUniqueId())) { } else if (!mTarget.isMarriageRequested(player.getUniqueId())) {
if(!hasFee()) { if (!hasFee()) {
reply(Message.INSUFFICIENT_MONEY, marriage.dependencies().getEconomyService().format(getExecutionFee())); reply(Message.INSUFFICIENT_MONEY, marriage.dependencies().getEconomyService().format(getExecutionFee()));
return; return;
} }

View file

@ -20,9 +20,9 @@ public class CommandMigrate extends Command {
MarriageCore core = ((MarriageCore) marriage); MarriageCore core = ((MarriageCore) marriage);
Driver driver; Driver driver;
final DataManager newDatabase = core.getDataManager(); final DataManager newDatabase = core.getDataManager();
if(getArg(0).equalsIgnoreCase("sqlite") && getArg(1).equalsIgnoreCase("mysql")) { if (getArg(0).equalsIgnoreCase("sqlite") && getArg(1).equalsIgnoreCase("mysql")) {
driver = Driver.SQLITE; driver = Driver.SQLITE;
} else if(getArg(0).equalsIgnoreCase("mysql") && getArg(1).equalsIgnoreCase("sqlite")) { } else if (getArg(0).equalsIgnoreCase("mysql") && getArg(1).equalsIgnoreCase("sqlite")) {
driver = Driver.MYSQL; driver = Driver.MYSQL;
} else { } else {
reply("&cUsage: /marry migrate <old db> <new db>"); reply("&cUsage: /marry migrate <old db> <new db>");

View file

@ -20,7 +20,7 @@ public class CommandPVP extends Command {
public void execute() { public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
MData marriage = mPlayer.getMarriage(); MData marriage = mPlayer.getMarriage();
if(marriage == null) { if (marriage == null) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }
@ -30,7 +30,7 @@ public class CommandPVP extends Command {
reply(value ? Message.PVP_ENABLED : Message.PVP_DISABLED); reply(value ? Message.PVP_ENABLED : Message.PVP_DISABLED);
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId())); Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner == null) { if (partner == null) {
return; return;
} }
@ -38,7 +38,7 @@ public class CommandPVP extends Command {
} }
private boolean value(MData marriage) { private boolean value(MData marriage) {
if(getArgLength() == 0) { if (getArgLength() == 0) {
// Toggle // Toggle
return !marriage.isPVPEnabled(); return !marriage.isPVPEnabled();
} }

View file

@ -20,30 +20,29 @@ public class CommandPriest extends Command {
setMinArgs(2); setMinArgs(2);
setPermission(Permissions.ADMIN); setPermission(Permissions.ADMIN);
if(!Settings.ENABLE_PRIEST.value()) { if (!Settings.ENABLE_PRIEST.value()) {
setHidden(true); setHidden(true);
} }
} }
@Override @Override
public void execute() { public void execute() {
if (!marriage.getTFM().isStaff(player)) if (!marriage.getTFM().isAdmin(player)) {
{
sender.sendMessage(ChatColor.RED + "You are not permitted to use this command."); sender.sendMessage(ChatColor.RED + "You are not permitted to use this command.");
return; return;
} }
String type = getArg(0); String type = getArg(0);
Player player = getArgAsPlayer(1); Player player = getArgAsPlayer(1);
if(player == null) { if (player == null) {
reply(Message.PLAYER_NOT_FOUND, getArg(1)); reply(Message.PLAYER_NOT_FOUND, getArg(1));
return; return;
} }
MPlayer mp = marriage.getMPlayer(player); MPlayer mp = marriage.getMPlayer(player);
if(type.equalsIgnoreCase("add")) { if (type.equalsIgnoreCase("add")) {
mp.setPriest(true); mp.setPriest(true);
reply(Message.PRIEST_ADDED); reply(Message.PRIEST_ADDED);
} else if(type.equalsIgnoreCase("remove")) { } else if (type.equalsIgnoreCase("remove")) {
mp.setPriest(false); mp.setPriest(false);
reply(Message.PRIEST_REMOVED); reply(Message.PRIEST_REMOVED);
} }

View file

@ -22,8 +22,7 @@ public class CommandReload extends Command {
@Override @Override
public void execute() { public void execute() {
if (!marriage.getTFM().isStaff(player)) if (!marriage.getTFM().isAdmin(player)) {
{
sender.sendMessage(ChatColor.RED + "You are not permitted to use this command."); sender.sendMessage(ChatColor.RED + "You are not permitted to use this command.");
return; return;
} }

View file

@ -23,14 +23,14 @@ public class CommandSeen extends Command {
public void execute() { public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
MData marriage = mPlayer.getMarriage(); MData marriage = mPlayer.getMarriage();
if(marriage == null) { if (marriage == null) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }
MPlayer mp = this.marriage.getMPlayer(marriage.getOtherPlayer(player.getUniqueId())); MPlayer mp = this.marriage.getMPlayer(marriage.getOtherPlayer(player.getUniqueId()));
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId())); Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner != null) { if (partner != null) {
long time = System.currentTimeMillis() - mp.getLastLogin(); long time = System.currentTimeMillis() - mp.getLastLogin();
reply(Message.ONLINE_SINCE, format(time)); reply(Message.ONLINE_SINCE, format(time));
} else { } else {
@ -45,11 +45,11 @@ public class CommandSeen extends Command {
long min = TimeUnit.MILLISECONDS.toMinutes(ms) % 60; long min = TimeUnit.MILLISECONDS.toMinutes(ms) % 60;
long hrs = TimeUnit.MILLISECONDS.toHours(ms) % 24; long hrs = TimeUnit.MILLISECONDS.toHours(ms) % 24;
long dys = TimeUnit.MILLISECONDS.toDays(ms); long dys = TimeUnit.MILLISECONDS.toDays(ms);
if(dys > 0) { if (dys > 0) {
return String.format("%sdys%shrs", dys, hrs); return String.format("%sdys%shrs", dys, hrs);
} else if(hrs > 0) { } else if (hrs > 0) {
return String.format("%shrs%smin", hrs, min); return String.format("%shrs%smin", hrs, min);
} else if(min > 0) { } else if (min > 0) {
return String.format("%smin%ssec", min, sec); return String.format("%smin%ssec", min, sec);
} else { } else {
return sec + "sec"; return sec + "sec";

View file

@ -18,12 +18,12 @@ public class CommandSethome extends Command {
public void execute() { public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
MData marriage = mPlayer.getMarriage(); MData marriage = mPlayer.getMarriage();
if(marriage == null) { if (marriage == null) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }
if(!payFee()) return; if (!payFee()) return;
marriage.setHome(player.getLocation().clone()); marriage.setHome(player.getLocation().clone());
reply(Message.HOME_SET); reply(Message.HOME_SET);
} }

View file

@ -29,28 +29,28 @@ public class CommandTeleport extends Command {
public void execute() { public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player); MPlayer mPlayer = marriage.getMPlayer(player);
MData marriage = mPlayer.getMarriage(); MData marriage = mPlayer.getMarriage();
if(marriage == null) { if (marriage == null) {
reply(Message.NOT_MARRIED); reply(Message.NOT_MARRIED);
return; return;
} }
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId())); Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner == null) { if (partner == null) {
reply(Message.PARTNER_NOT_ONLINE); reply(Message.PARTNER_NOT_ONLINE);
return; return;
} }
Location destination = partner.getLocation(); Location destination = partner.getLocation();
if(player.getGameMode() != GameMode.CREATIVE) { if (player.getGameMode() != GameMode.CREATIVE) {
destination = getSafeLocation(destination); destination = getSafeLocation(destination);
} }
if(destination == null) { if (destination == null) {
reply(Message.TELEPORT_UNSAFE); reply(Message.TELEPORT_UNSAFE);
return; return;
} }
if(!payFee()) return; if (!payFee()) return;
player.teleport(destination); player.teleport(destination);
reply(Message.TELEPORTED); reply(Message.TELEPORTED);
@ -60,23 +60,23 @@ public class CommandTeleport extends Command {
private Location getSafeLocation(Location destination) { private Location getSafeLocation(Location destination) {
World world = destination.getWorld(); World world = destination.getWorld();
Block block = destination.getBlock(); Block block = destination.getBlock();
if(block == null || block.getY() < 0 || block.getY() > world.getMaxHeight()) { if (block == null || block.getY() < 0 || block.getY() > world.getMaxHeight()) {
return null; // Out of bounds, cant teleport to void or from a bizarre height. return null; // Out of bounds, cant teleport to void or from a bizarre height.
} }
if(isSafeGround(block.getRelative(BlockFace.DOWN))) { if (isSafeGround(block.getRelative(BlockFace.DOWN))) {
return destination; // Current destination is valid return destination; // Current destination is valid
} }
// Find next potentially safe block // Find next potentially safe block
while(!(block.getType().isSolid() || block.isLiquid()) && block.getY() > 0) { while (!(block.getType().isSolid() || block.isLiquid()) && block.getY() > 0) {
block = block.getRelative(BlockFace.DOWN); block = block.getRelative(BlockFace.DOWN);
if(UNSAFE_TYPES.contains(block.getType())) { if (UNSAFE_TYPES.contains(block.getType())) {
return null; // Obstructed by unsafe block return null; // Obstructed by unsafe block
} }
} }
if(!isSafeGround(block)) { if (!isSafeGround(block)) {
return null; // Still not safe return null; // Still not safe
} }

View file

@ -18,14 +18,14 @@ public class CommandUpdate extends Command {
@Override @Override
public void execute() { public void execute() {
if (!marriage.getTFM().isStaff(player)) if (!marriage.getTFM().isAdmin(player)) {
{
sender.sendMessage(ChatColor.RED + "You are not permitted to use this command."); sender.sendMessage(ChatColor.RED + "You are not permitted to use this command.");
return; return;
} }
final Updater updater = ((MarriageCore) marriage).getUpdater(); final Updater updater = ((MarriageCore) marriage).getUpdater();
final Version version = updater.getNewVersion(); final Version version = updater.getNewVersion();
if(version == null) { if (version == null) {
reply("&cUpdater is not enabled!"); reply("&cUpdater is not enabled!");
return; return;
} }
@ -40,19 +40,19 @@ public class CommandUpdate extends Command {
@Override @Override
public void run() { public void run() {
reply(response); reply(response);
if(!Settings.ENABLE_CHANGELOG.value()) { if (!Settings.ENABLE_CHANGELOG.value()) {
return; return;
} }
ItemStack changelog = updater.getChangelog(); ItemStack changelog = updater.getChangelog();
if(changelog == null) { if (changelog == null) {
reply("&cChangelog isn't available for this version."); reply("&cChangelog isn't available for this version.");
return; return;
} }
ItemStack inHand = player.getItemInHand(); ItemStack inHand = player.getItemInHand();
player.setItemInHand(changelog); player.setItemInHand(changelog);
if(inHand != null) { if (inHand != null) {
player.getInventory().addItem(inHand); player.getInventory().addItem(inHand);
} }

View file

@ -100,7 +100,7 @@ public enum Message {
public static void reloadAll(Marriage marriage) { public static void reloadAll(Marriage marriage) {
BConfig config = marriage.getBukkitConfig("messages.yml"); BConfig config = marriage.getBukkitConfig("messages.yml");
for(Message message : values()) { for (Message message : values()) {
message.reload(config); message.reload(config);
} }

View file

@ -45,7 +45,7 @@ public enum Permissions {
public static boolean setupPermissions() { public static boolean setupPermissions() {
RegisteredServiceProvider<Permission> permissionProvider = Bukkit.getServicesManager().getRegistration(Permission.class); RegisteredServiceProvider<Permission> permissionProvider = Bukkit.getServicesManager().getRegistration(Permission.class);
if(permissionProvider != null) { if (permissionProvider != null) {
permissionService = permissionProvider.getProvider(); permissionService = permissionProvider.getProvider();
vaultEnabled = true; vaultEnabled = true;
MarriagePlugin.getCore().getLogger().log(Level.INFO, "Hooked with " + permissionService.getName() + " using Vault!"); MarriagePlugin.getCore().getLogger().log(Level.INFO, "Hooked with " + permissionService.getName() + " using Vault!");
@ -72,7 +72,7 @@ public enum Permissions {
* @return True if has permission, False otherwise * @return True if has permission, False otherwise
*/ */
public boolean has(CommandSender sender) { public boolean has(CommandSender sender) {
if(parent >= 0 && values()[parent].has(sender)) { if (parent >= 0 && values()[parent].has(sender)) {
return true; return true;
} }
@ -86,8 +86,8 @@ public enum Permissions {
* @return Permission * @return Permission
*/ */
public static Permissions getByNode(String node) { public static Permissions getByNode(String node) {
for(Permissions permission : values()) { for (Permissions permission : values()) {
if(permission.node.equalsIgnoreCase(node)) { if (permission.node.equalsIgnoreCase(node)) {
return permission; return permission;
} }
} }

View file

@ -12,17 +12,17 @@ public class Dependencies {
public Dependencies(MarriageCore core) { public Dependencies(MarriageCore core) {
boolean useEconomy = Settings.ECONOMY_ENABLED.value(); boolean useEconomy = Settings.ECONOMY_ENABLED.value();
if(!useEconomy) { if (!useEconomy) {
return; return;
} }
if(!Bukkit.getPluginManager().isPluginEnabled("Vault")) { if (!Bukkit.getPluginManager().isPluginEnabled("Vault")) {
core.getLogger().log(Level.WARNING, "Couldn't detect Vault, economy settings will not work"); core.getLogger().log(Level.WARNING, "Couldn't detect Vault, economy settings will not work");
return; return;
} }
RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServicesManager().getRegistration(Economy.class); RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServicesManager().getRegistration(Economy.class);
if(economyProvider != null) { if (economyProvider != null) {
economyService = economyProvider.getProvider(); economyService = economyProvider.getProvider();
core.getLogger().log(Level.INFO, "Hooked with " + economyService.getName() + " using Vault"); core.getLogger().log(Level.INFO, "Hooked with " + economyService.getName() + " using Vault");
} else { } else {

View file

@ -25,7 +25,7 @@ public abstract class MarriageBase implements Marriage {
this.plugin = plugin; this.plugin = plugin;
try { try {
this.classPath = ClassPath.from(getClass().getClassLoader()); this.classPath = ClassPath.from(getClass().getClassLoader());
} catch(IOException e) { } catch (IOException e) {
throw new RuntimeException("Failed to intialize class path!", e); throw new RuntimeException("Failed to intialize class path!", e);
} }
} }
@ -40,15 +40,14 @@ public abstract class MarriageBase implements Marriage {
Bukkit.getPluginManager().registerEvents(listener, plugin); Bukkit.getPluginManager().registerEvents(listener, plugin);
} }
public TFM getTFM() public TFM getTFM() {
{
return tfm; return tfm;
} }
@Override @Override
public void register(Class<? extends Command> commandClass, Class<? extends Command>... commandClasses) { public void register(Class<? extends Command> commandClass, Class<? extends Command>... commandClasses) {
commandExecutor.register(commandClass); commandExecutor.register(commandClass);
for(Class<? extends Command> cmdclass : commandClasses) { for (Class<? extends Command> cmdclass : commandClasses) {
commandExecutor.register(cmdclass); commandExecutor.register(cmdclass);
} }
} }
@ -76,13 +75,13 @@ public abstract class MarriageBase implements Marriage {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected <T> List<Class<? extends T>> findClasses(String pkg, Class<T> type, Object... params) { protected <T> List<Class<? extends T>> findClasses(String pkg, Class<T> type, Object... params) {
List<Class<? extends T>> list = Lists.newArrayList(); List<Class<? extends T>> list = Lists.newArrayList();
for(ClassPath.ClassInfo info : classPath.getTopLevelClassesRecursive(pkg)) { for (ClassPath.ClassInfo info : classPath.getTopLevelClassesRecursive(pkg)) {
try { try {
Class<?> clazz = Class.forName(info.getName()); Class<?> clazz = Class.forName(info.getName());
if(type.isAssignableFrom(clazz) && !type.equals(clazz)) { if (type.isAssignableFrom(clazz) && !type.equals(clazz)) {
list.add((Class<? extends T>) clazz); list.add((Class<? extends T>) clazz);
} }
} catch(Exception e) { } catch (Exception e) {
plugin.getLogger().log(Level.WARNING, "Failed to intiate class", e); plugin.getLogger().log(Level.WARNING, "Failed to intiate class", e);
} }
} }
@ -92,10 +91,10 @@ public abstract class MarriageBase implements Marriage {
protected <T> List<T> findObjects(String pkg, Class<T> type, Object... params) { protected <T> List<T> findObjects(String pkg, Class<T> type, Object... params) {
List<T> list = Lists.newArrayList(); List<T> list = Lists.newArrayList();
for(Class<? extends T> clazz : findClasses(pkg, type)) { for (Class<? extends T> clazz : findClasses(pkg, type)) {
try { try {
list.add(type.cast(clazz.getConstructors()[0].newInstance(params))); list.add(type.cast(clazz.getConstructors()[0].newInstance(params)));
} catch(Exception e) { } catch (Exception e) {
plugin.getLogger().log(Level.WARNING, "Failed to construct class", e); plugin.getLogger().log(Level.WARNING, "Failed to construct class", e);
} }
} }

View file

@ -25,14 +25,14 @@ public class MarriageCommandExecutor implements CommandExecutor {
public boolean onCommand(CommandSender sender, org.bukkit.command.Command cmd, String label, String[] args) { public boolean onCommand(CommandSender sender, org.bukkit.command.Command cmd, String label, String[] args) {
String subCommand = args.length > 0 ? args[0] : "help"; String subCommand = args.length > 0 ? args[0] : "help";
Command command = commands.get(subCommand.toLowerCase()); Command command = commands.get(subCommand.toLowerCase());
if(command == null) { if (command == null) {
command = commands.get("marry"); command = commands.get("marry");
} }
// Assuming that the command is not null now, if it is, then that is a mistake on my side. // Assuming that the command is not null now, if it is, then that is a mistake on my side.
if(args.length > command.getMinArgs()) { if (args.length > command.getMinArgs()) {
if(command.getPermission() == null || command.getPermission().has(sender)) { if (command.getPermission() == null || command.getPermission().has(sender)) {
if(command.isAllowConsole() || sender instanceof Player) { if (command.isAllowConsole() || sender instanceof Player) {
command.prepare(sender, args); command.prepare(sender, args);
command.execute(); command.execute();
} else { } else {
@ -51,15 +51,15 @@ public class MarriageCommandExecutor implements CommandExecutor {
public void register(Class<? extends Command> commandClass) { public void register(Class<? extends Command> commandClass) {
try { try {
Command command = commandClass.getConstructor(Marriage.class).newInstance(core); Command command = commandClass.getConstructor(Marriage.class).newInstance(core);
if(Settings.DISABLED_COMMANDS.value().contains(command.getAliases()[0])) { if (Settings.DISABLED_COMMANDS.value().contains(command.getAliases()[0])) {
// Command was disabled in config... // Command was disabled in config...
return; return;
} }
for(String alias : command.getAliases()) { for (String alias : command.getAliases()) {
commands.put(alias.toLowerCase(), command); commands.put(alias.toLowerCase(), command);
} }
} catch(Exception e) { } catch (Exception e) {
core.getLogger().log(Level.SEVERE, "Failed to register sub command", e); core.getLogger().log(Level.SEVERE, "Failed to register sub command", e);
} }
} }

View file

@ -52,8 +52,8 @@ public class MarriageCore extends MarriageBase {
Message.reloadAll(this); Message.reloadAll(this);
// Permissions // Permissions
if(Bukkit.getPluginManager().isPluginEnabled("Vault")) { if (Bukkit.getPluginManager().isPluginEnabled("Vault")) {
if(!Permissions.setupPermissions()) { if (!Permissions.setupPermissions()) {
getLogger().log(Level.WARNING, "Vault was found, but no permission provider was detected!"); getLogger().log(Level.WARNING, "Vault was found, but no permission provider was detected!");
getLogger().log(Level.INFO, "Falling back to bukkit permissions."); getLogger().log(Level.INFO, "Falling back to bukkit permissions.");
} }
@ -66,7 +66,7 @@ public class MarriageCore extends MarriageBase {
@Register(name = "dependencies", type = Type.ENABLE, priority = 1) @Register(name = "dependencies", type = Type.ENABLE, priority = 1)
public void loadDependencies() { public void loadDependencies() {
this.dependencies = new Dependencies(this); this.dependencies = new Dependencies(this);
if(Settings.PLOTSQUARED_AUTO_TRUST.value() && Bukkit.getPluginManager().isPluginEnabled("PlotSquared")) { if (Settings.PLOTSQUARED_AUTO_TRUST.value() && Bukkit.getPluginManager().isPluginEnabled("PlotSquared")) {
Plugin plotSquared = Bukkit.getPluginManager().getPlugin("PlotSquared"); Plugin plotSquared = Bukkit.getPluginManager().getPlugin("PlotSquared");
getLogger().log(Level.INFO, "Detected PlotSquared v" + plotSquared.getDescription().getVersion() + ". Attempting to hook."); getLogger().log(Level.INFO, "Detected PlotSquared v" + plotSquared.getDescription().getVersion() + ". Attempting to hook.");
hookPlotSquared(); hookPlotSquared();
@ -78,7 +78,7 @@ public class MarriageCore extends MarriageBase {
this.dataManager = new DataManager(this); this.dataManager = new DataManager(this);
// Load all players // Load all players
for(Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {
MarriagePlayer mp = dataManager.loadPlayer(player.getUniqueId()); MarriagePlayer mp = dataManager.loadPlayer(player.getUniqueId());
setMPlayer(player.getUniqueId(), mp); setMPlayer(player.getUniqueId(), mp);
} }
@ -149,7 +149,7 @@ public class MarriageCore extends MarriageBase {
@Register(name = "converter", type = Register.Type.ENABLE, priority = 10) @Register(name = "converter", type = Register.Type.ENABLE, priority = 10)
public void loadConverter() { public void loadConverter() {
DataConverter converter = new DataConverter(this); DataConverter converter = new DataConverter(this);
if(converter.isOutdated()) { if (converter.isOutdated()) {
converter.convert(); converter.convert();
} }
} }
@ -163,12 +163,12 @@ public class MarriageCore extends MarriageBase {
@Override @Override
public MPlayer getMPlayer(UUID uuid) { public MPlayer getMPlayer(UUID uuid) {
Player player = Bukkit.getPlayer(uuid); Player player = Bukkit.getPlayer(uuid);
if(player != null && player.isOnline()) { if (player != null && player.isOnline()) {
return getMPlayer(player); return getMPlayer(player);
} }
MarriagePlayer mp = players.get(uuid); MarriagePlayer mp = players.get(uuid);
if(mp == null) { if (mp == null) {
// Load from database, but don't save. // Load from database, but don't save.
mp = dataManager.loadPlayer(uuid); mp = dataManager.loadPlayer(uuid);
} }
@ -179,7 +179,7 @@ public class MarriageCore extends MarriageBase {
@Override @Override
public MPlayer getMPlayer(Player player) { public MPlayer getMPlayer(Player player) {
MarriagePlayer mp = players.get(player.getUniqueId()); MarriagePlayer mp = players.get(player.getUniqueId());
if(mp == null) { if (mp == null) {
mp = dataManager.loadPlayer(player.getUniqueId()); mp = dataManager.loadPlayer(player.getUniqueId());
players.put(player.getUniqueId(), mp); players.put(player.getUniqueId(), mp);
} }
@ -196,7 +196,7 @@ public class MarriageCore extends MarriageBase {
public MData marry(MPlayer player1, MPlayer player2, MPlayer priest) { public MData marry(MPlayer player1, MPlayer player2, MPlayer priest) {
PlayerMarryEvent event = new PlayerMarryEvent(player1, player2, priest); PlayerMarryEvent event = new PlayerMarryEvent(player1, player2, priest);
Bukkit.getPluginManager().callEvent(event); Bukkit.getPluginManager().callEvent(event);
if(event.isCancelled()) { if (event.isCancelled()) {
return null; return null;
} }
@ -244,7 +244,7 @@ public class MarriageCore extends MarriageBase {
*/ */
public void unloadPlayer(UUID uuid) { public void unloadPlayer(UUID uuid) {
final MarriagePlayer mPlayer = players.remove(uuid); final MarriagePlayer mPlayer = players.remove(uuid);
if(mPlayer != null) { if (mPlayer != null) {
new Thread() { new Thread() {
@Override @Override
public void run() { public void run() {
@ -255,7 +255,7 @@ public class MarriageCore extends MarriageBase {
} }
public void unloadAll() { public void unloadAll() {
for(MarriagePlayer mp : players.values()) { for (MarriagePlayer mp : players.values()) {
dataManager.savePlayer(mp); dataManager.savePlayer(mp);
} }
players.clear(); players.clear();

View file

@ -25,21 +25,21 @@ public class MarriagePlugin extends PluginHolder {
core = new MarriageCore(this); core = new MarriageCore(this);
//Scan methods //Scan methods
for(int i = 0; i < methods.length; i++) { for (int i = 0; i < methods.length; i++) {
methods[i] = Lists.newArrayList(); methods[i] = Lists.newArrayList();
} }
scanMethods(core.getClass()); scanMethods(core.getClass());
} }
private void scanMethods(Class<?> clazz) { private void scanMethods(Class<?> clazz) {
if(clazz == null) { if (clazz == null) {
return; return;
} }
// Loop through all methods in class // Loop through all methods in class
for(Method method : clazz.getMethods()) { for (Method method : clazz.getMethods()) {
Register register = method.getAnnotation(Register.class); Register register = method.getAnnotation(Register.class);
if(register != null) { if (register != null) {
methods[register.type().ordinal()].add(method); methods[register.type().ordinal()].add(method);
} }
} }
@ -69,24 +69,24 @@ public class MarriagePlugin extends PluginHolder {
private void executeMethods(Register.Type type) { private void executeMethods(Register.Type type) {
List<Method> list = Lists.newArrayList(methods[type.ordinal()]); List<Method> list = Lists.newArrayList(methods[type.ordinal()]);
while(!list.isEmpty()) { while (!list.isEmpty()) {
Method method = null; Method method = null;
int lowestPriority = Integer.MAX_VALUE; int lowestPriority = Integer.MAX_VALUE;
for(Method m : list) { for (Method m : list) {
Register register = m.getAnnotation(Register.class); Register register = m.getAnnotation(Register.class);
if(register.priority() < lowestPriority) { if (register.priority() < lowestPriority) {
method = m; method = m;
lowestPriority = register.priority(); lowestPriority = register.priority();
} }
} }
if(method != null) { if (method != null) {
list.remove(method); list.remove(method);
Register register = method.getAnnotation(Register.class); Register register = method.getAnnotation(Register.class);
getLogger().log(Level.INFO, "Loading " + register.name() + "..."); getLogger().log(Level.INFO, "Loading " + register.name() + "...");
try { try {
method.invoke(core); method.invoke(core);
} catch(Exception e) { } catch (Exception e) {
getLogger().log(Level.SEVERE, "Failed to load " + register.name(), e); getLogger().log(Level.SEVERE, "Failed to load " + register.name(), e);
} }
} else { } else {

View file

@ -11,7 +11,7 @@ public class DBUpgrade {
} }
public void run(Statement statement, int currentVersion, String prefix) throws SQLException { public void run(Statement statement, int currentVersion, String prefix) throws SQLException {
switch(currentVersion) { switch (currentVersion) {
case 1: case 1:
statement.execute("ALTER TABLE " + prefix + "players ADD last_name VARCHAR(16);"); statement.execute("ALTER TABLE " + prefix + "players ADD last_name VARCHAR(16);");
break; break;

View file

@ -41,39 +41,39 @@ public class DataConverter {
UUIDFetcher uuidFetcher = new UUIDFetcher(new ArrayList<String>()); UUIDFetcher uuidFetcher = new UUIDFetcher(new ArrayList<String>());
int ranThroughMojang = 0; int ranThroughMojang = 0;
int failed = 0; int failed = 0;
for(int completed = 0; completed < totalFiles; completed++) { for (int completed = 0; completed < totalFiles; completed++) {
File file = files[completed]; File file = files[completed];
String name = file.getName().replace(".yml", ""); String name = file.getName().replace(".yml", "");
// status report // status report
double progress = (completed + 1.0) / (double) totalFiles; double progress = (completed + 1.0) / (double) totalFiles;
if(System.currentTimeMillis() >= lastMessage) { if (System.currentTimeMillis() >= lastMessage) {
lastMessage = System.currentTimeMillis() + 2500; // Update every 2.5 seconds lastMessage = System.currentTimeMillis() + 2500; // Update every 2.5 seconds
reportStatus(progress); reportStatus(progress);
} }
// Pull from cache // Pull from cache
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(name); OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(name);
if(offlinePlayer != null) { if (offlinePlayer != null) {
UUID userId = offlinePlayer.getUniqueId(); UUID userId = offlinePlayer.getUniqueId();
if(userId != null) { if (userId != null) {
uuidMap.put(name, userId); uuidMap.put(name, userId);
continue; continue;
} }
} }
// Pull from mojang // Pull from mojang
if(ranThroughMojang >= 50000) { // Max 500 requests if (ranThroughMojang >= 50000) { // Max 500 requests
failed += 1; failed += 1;
continue; continue;
} }
uuidFetcher.addName(name); uuidFetcher.addName(name);
ranThroughMojang += 1; ranThroughMojang += 1;
if(uuidFetcher.size() == 100) { if (uuidFetcher.size() == 100) {
try { try {
uuidMap.putAll(uuidFetcher.call()); uuidMap.putAll(uuidFetcher.call());
} catch(Exception e) { } catch (Exception e) {
core.getLogger().log(Level.WARNING, "Failed to retrieve UUID for 100 players!"); core.getLogger().log(Level.WARNING, "Failed to retrieve UUID for 100 players!");
} }
uuidFetcher = new UUIDFetcher(new ArrayList<String>()); uuidFetcher = new UUIDFetcher(new ArrayList<String>());
@ -119,7 +119,7 @@ public class DataConverter {
// Insert data into new DB... // Insert data into new DB...
core.getLogger().log(Level.INFO, "Inserting user data into new database..."); core.getLogger().log(Level.INFO, "Inserting user data into new database...");
int completed = 0; int completed = 0;
for(Map.Entry<String, UUID> entry : uuidMap.entrySet()) { for (Map.Entry<String, UUID> entry : uuidMap.entrySet()) {
try { try {
MarriagePlayer mp = core.getDataManager().loadPlayer(entry.getValue()); MarriagePlayer mp = core.getDataManager().loadPlayer(entry.getValue());
String name = entry.getKey(); String name = entry.getKey();
@ -128,15 +128,15 @@ public class DataConverter {
FileConfiguration cnf = YamlConfiguration.loadConfiguration(file); FileConfiguration cnf = YamlConfiguration.loadConfiguration(file);
cnf.load(file); cnf.load(file);
if(cnf.contains("partner") && !mp.isMarried()) { if (cnf.contains("partner") && !mp.isMarried()) {
UUID uuid = uuidMap.get(cnf.getString("partner")); UUID uuid = uuidMap.get(cnf.getString("partner"));
if(uuid != null) { if (uuid != null) {
MarriagePlayer mp2 = core.getDataManager().loadPlayer(uuid); MarriagePlayer mp2 = core.getDataManager().loadPlayer(uuid);
MData mdata = core.marry(mp, mp2); MData mdata = core.marry(mp, mp2);
if(cnf.contains("home")) { if (cnf.contains("home")) {
World world = Bukkit.getWorld(cnf.getString("home.world")); World world = Bukkit.getWorld(cnf.getString("home.world"));
if(world != null) { if (world != null) {
double x = cnf.getDouble("home.x", 0.0); double x = cnf.getDouble("home.x", 0.0);
double y = cnf.getDouble("home.y", 0.0); double y = cnf.getDouble("home.y", 0.0);
double z = cnf.getDouble("home.z", 0.0); double z = cnf.getDouble("home.z", 0.0);
@ -151,12 +151,12 @@ public class DataConverter {
core.getDataManager().savePlayer(mp2); core.getDataManager().savePlayer(mp2);
} }
} }
} catch(Exception e) { } catch (Exception e) {
core.getLogger().log(Level.WARNING, "Failed to convert data for player " + entry.getKey(), e); core.getLogger().log(Level.WARNING, "Failed to convert data for player " + entry.getKey(), e);
} }
double progress = ++completed / (double) uuidMap.size(); double progress = ++completed / (double) uuidMap.size();
if(System.currentTimeMillis() >= lastMessage) { if (System.currentTimeMillis() >= lastMessage) {
lastMessage = System.currentTimeMillis() + 2500; // Update every 2.5 seconds lastMessage = System.currentTimeMillis() + 2500; // Update every 2.5 seconds
reportStatus(progress); reportStatus(progress);
} }
@ -165,11 +165,11 @@ public class DataConverter {
// Reset old data // Reset old data
core.getLogger().log(Level.INFO, "Renaming playerdata file..."); core.getLogger().log(Level.INFO, "Renaming playerdata file...");
int remainingTries = 60; // Try 60 times int remainingTries = 60; // Try 60 times
while(!dir.renameTo(new File(core.getPlugin().getDataFolder(), "playerdata_backup"))) { while (!dir.renameTo(new File(core.getPlugin().getDataFolder(), "playerdata_backup"))) {
long sleepTime = 500L; long sleepTime = 500L;
// Limit to take 30 seconds max // Limit to take 30 seconds max
if(remainingTries-- <= 0) { if (remainingTries-- <= 0) {
core.getLogger().log(Level.WARNING, "Failed to rename old playerdata file, please do manually!"); core.getLogger().log(Level.WARNING, "Failed to rename old playerdata file, please do manually!");
core.getLogger().log(Level.INFO, "Server starting normally in 10 seconds."); core.getLogger().log(Level.INFO, "Server starting normally in 10 seconds.");
sleepTime = 10000L; sleepTime = 10000L;
@ -178,7 +178,7 @@ public class DataConverter {
// Wait // Wait
try { try {
Thread.sleep(sleepTime); Thread.sleep(sleepTime);
} catch(InterruptedException e) { } catch (InterruptedException e) {
} }
} }
} }
@ -186,10 +186,10 @@ public class DataConverter {
private void reportStatus(double progress) { private void reportStatus(double progress) {
int percent = (int) Math.floor(progress * 100); int percent = (int) Math.floor(progress * 100);
StringBuilder bar = new StringBuilder("["); StringBuilder bar = new StringBuilder("[");
for(int i = 0; i < percent; i += 5) { for (int i = 0; i < percent; i += 5) {
bar.append('='); bar.append('=');
} }
for(int i = percent; i < 100; i += 5) { for (int i = percent; i < 100; i += 5) {
bar.append('_'); bar.append('_');
} }
bar.append("] (").append(percent).append("%)"); bar.append("] (").append(percent).append("%)");

View file

@ -41,7 +41,7 @@ public class DataManager {
public DataManager(MarriageCore core) { public DataManager(MarriageCore core) {
this.core = core; this.core = core;
File configFile = new File(core.getPlugin().getDataFolder(), "database-settings.yml"); File configFile = new File(core.getPlugin().getDataFolder(), "database-settings.yml");
if(!configFile.exists()) { if (!configFile.exists()) {
BConfig.copyFile(core.getPlugin().getResource("database-settings.yml"), configFile); BConfig.copyFile(core.getPlugin().getResource("database-settings.yml"), configFile);
} }
@ -62,7 +62,7 @@ public class DataManager {
private void loadWithDriver(Driver driver, FileConfiguration config) { private void loadWithDriver(Driver driver, FileConfiguration config) {
String url, user = "", password = ""; String url, user = "", password = "";
if(driver == Driver.MYSQL) { if (driver == Driver.MYSQL) {
user = config.getString("MySQL.user", "root"); user = config.getString("MySQL.user", "root");
password = config.getString("MySQL.password", ""); password = config.getString("MySQL.password", "");
String host = config.getString("MySQL.host", "localhost:3306"); String host = config.getString("MySQL.host", "localhost:3306");
@ -76,7 +76,7 @@ public class DataManager {
} }
// Purge system // Purge system
if(config.getBoolean("auto-purge.enabled")) { if (config.getBoolean("auto-purge.enabled")) {
final long delayTime = 20L * 60 * 60; // Every hour final long delayTime = 20L * 60 * 60; // Every hour
final int days = config.getInt("auto-purge.purge-after-days", 45); final int days = config.getInt("auto-purge.purge-after-days", 45);
final boolean purgeMarried = config.getBoolean("auto-purge.purge-married-players", false); final boolean purgeMarried = config.getBoolean("auto-purge.purge-married-players", false);
@ -87,7 +87,7 @@ public class DataManager {
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
int purged = purge(daysInMillis, purgeMarried); int purged = purge(daysInMillis, purgeMarried);
long duration = System.currentTimeMillis() - startTime; long duration = System.currentTimeMillis() - startTime;
if(purged > 0) { if (purged > 0) {
core.getLogger().log(Level.INFO, "Purged " + purged + " player entries in " + duration + "ms"); core.getLogger().log(Level.INFO, "Purged " + purged + " player entries in " + duration + "ms");
} }
} }
@ -96,7 +96,7 @@ public class DataManager {
try { try {
driver.initiate(); driver.initiate();
} catch(Exception e) { } catch (Exception e) {
core.getLogger().log(Level.SEVERE, "Failed to initiate database driver", e); core.getLogger().log(Level.SEVERE, "Failed to initiate database driver", e);
} }
@ -109,18 +109,18 @@ public class DataManager {
Statement statement = connection.createStatement(); Statement statement = connection.createStatement();
driver.runSetup(statement, prefix); driver.runSetup(statement, prefix);
ResultSet result = statement.executeQuery(String.format("SELECT * FROM %sversion;", prefix)); ResultSet result = statement.executeQuery(String.format("SELECT * FROM %sversion;", prefix));
if(result.next()) { if (result.next()) {
int dbVersion = result.getInt("version_id"); int dbVersion = result.getInt("version_id");
if(dbVersion >= 2) { if (dbVersion >= 2) {
// Fix for people that first installed on v2 // Fix for people that first installed on v2
DatabaseMetaData metadata = connection.getMetaData(); DatabaseMetaData metadata = connection.getMetaData();
ResultSet res = metadata.getColumns(null, null, prefix + "players", "last_name"); ResultSet res = metadata.getColumns(null, null, prefix + "players", "last_name");
if(!res.next()) { if (!res.next()) {
statement.execute("ALTER TABLE " + prefix + "players ADD last_name VARCHAR(16);"); statement.execute("ALTER TABLE " + prefix + "players ADD last_name VARCHAR(16);");
} }
} }
if(dbVersion < upgrade.getVersionId()) { if (dbVersion < upgrade.getVersionId()) {
upgrade.run(statement, dbVersion, prefix); upgrade.run(statement, dbVersion, prefix);
PreparedStatement ps = connection.prepareStatement("UPDATE " + prefix + "version SET version_id=? WHERE version_id=?;"); PreparedStatement ps = connection.prepareStatement("UPDATE " + prefix + "version SET version_id=? WHERE version_id=?;");
ps.setInt(1, upgrade.getVersionId()); ps.setInt(1, upgrade.getVersionId());
@ -130,7 +130,7 @@ public class DataManager {
} else { } else {
statement.executeUpdate(String.format("INSERT INTO %sversion (version_id) VALUES(%s);", prefix, upgrade.getVersionId())); statement.executeUpdate(String.format("INSERT INTO %sversion (version_id) VALUES(%s);", prefix, upgrade.getVersionId()));
} }
} catch(SQLException e) { } catch (SQLException e) {
core.getLogger().log(Level.WARNING, "Failed to initiate database", e); core.getLogger().log(Level.WARNING, "Failed to initiate database", e);
} finally { } finally {
supplier.finish(); supplier.finish();
@ -146,20 +146,20 @@ public class DataManager {
ResultSet result = ps.executeQuery(); ResultSet result = ps.executeQuery();
Set<String> removeList = Sets.newHashSet(); Set<String> removeList = Sets.newHashSet();
Set<Integer> removeList2 = Sets.newHashSet(); Set<Integer> removeList2 = Sets.newHashSet();
while(result.next()) { while (result.next()) {
removeList.add(result.getString("unique_user_id")); removeList.add(result.getString("unique_user_id"));
} }
ps.close(); // Release statement ps.close(); // Release statement
supplier.finish(); // Let queued actions run first supplier.finish(); // Let queued actions run first
if(!purgeMarried) { if (!purgeMarried) {
connection = supplier.access(); connection = supplier.access();
ps = connection.prepareStatement("SELECT * FROM " + prefix + "marriages;"); ps = connection.prepareStatement("SELECT * FROM " + prefix + "marriages;");
result = ps.executeQuery(); result = ps.executeQuery();
while(result.next()) { while (result.next()) {
boolean remove = removeList.remove(result.getString("player1")); boolean remove = removeList.remove(result.getString("player1"));
remove = remove || removeList.remove(result.getString("player2")); remove = remove || removeList.remove(result.getString("player2"));
if(remove) { if (remove) {
removeList2.add(result.getInt("id")); removeList2.add(result.getInt("id"));
} }
} }
@ -170,7 +170,7 @@ public class DataManager {
// Delete player entries // Delete player entries
connection = supplier.access(); connection = supplier.access();
ps = connection.prepareStatement("DELETE FROM " + prefix + "players WHERE unique_user_id=?;"); ps = connection.prepareStatement("DELETE FROM " + prefix + "players WHERE unique_user_id=?;");
for(String uuid : removeList) { for (String uuid : removeList) {
ps.setString(1, uuid); ps.setString(1, uuid);
ps.addBatch(); ps.addBatch();
} }
@ -181,14 +181,14 @@ public class DataManager {
// Remove marriage entries // Remove marriage entries
connection = supplier.access(); connection = supplier.access();
ps = connection.prepareStatement("DELETE FROM " + prefix + "marriages WHERE id=?;"); ps = connection.prepareStatement("DELETE FROM " + prefix + "marriages WHERE id=?;");
for(int id : removeList2) { for (int id : removeList2) {
ps.setInt(1, id); ps.setInt(1, id);
ps.addBatch(); ps.addBatch();
} }
ps.executeBatch(); ps.executeBatch();
ps.close(); ps.close();
return removeList.size(); return removeList.size();
} catch(SQLException e) { } catch (SQLException e) {
core.getLogger().log(Level.WARNING, "Failed to purge user data", e); core.getLogger().log(Level.WARNING, "Failed to purge user data", e);
return 0; return 0;
} finally { } finally {
@ -206,7 +206,7 @@ public class DataManager {
player = new MarriagePlayer(uuid, ps.executeQuery()); player = new MarriagePlayer(uuid, ps.executeQuery());
ps.close(); // Release statement ps.close(); // Release statement
loadMarriages(connection, player, false); loadMarriages(connection, player, false);
} catch(SQLException e) { } catch (SQLException e) {
core.getLogger().log(Level.WARNING, "Failed to load player data", e); core.getLogger().log(Level.WARNING, "Failed to load player data", e);
} finally { } finally {
supplier.finish(); supplier.finish();
@ -216,14 +216,14 @@ public class DataManager {
} }
public void savePlayer(MarriagePlayer player) { public void savePlayer(MarriagePlayer player) {
if(player == null || player.getUniqueId() == null) return; if (player == null || player.getUniqueId() == null) return;
Connection connection = supplier.access(); Connection connection = supplier.access();
try { try {
PreparedStatement ps = connection.prepareStatement(String.format( PreparedStatement ps = connection.prepareStatement(String.format(
"SELECT * FROM %splayers WHERE unique_user_id=?;", prefix)); "SELECT * FROM %splayers WHERE unique_user_id=?;", prefix));
ps.setString(1, player.getUniqueId().toString()); ps.setString(1, player.getUniqueId().toString());
ResultSet result = ps.executeQuery(); ResultSet result = ps.executeQuery();
if(result.next()) { if (result.next()) {
// Already in database (update) // Already in database (update)
PreparedStatement ps2 = connection.prepareStatement(String.format( PreparedStatement ps2 = connection.prepareStatement(String.format(
"UPDATE %splayers SET last_name=?,gender=?,priest=?,lastlogin=? WHERE unique_user_id=?;", prefix)); "UPDATE %splayers SET last_name=?,gender=?,priest=?,lastlogin=? WHERE unique_user_id=?;", prefix));
@ -243,7 +243,7 @@ public class DataManager {
ps2.close(); ps2.close();
} }
ps.close(); ps.close();
} catch(SQLException e) { } catch (SQLException e) {
core.getLogger().log(Level.WARNING, "Failed to save player data", e); core.getLogger().log(Level.WARNING, "Failed to save player data", e);
} finally { } finally {
supplier.finish(); supplier.finish();
@ -257,7 +257,7 @@ public class DataManager {
ps.setString(1, mdata.getPlayer1Id().toString()); ps.setString(1, mdata.getPlayer1Id().toString());
ps.setString(2, mdata.getPllayer2Id().toString()); ps.setString(2, mdata.getPllayer2Id().toString());
ResultSet result = ps.executeQuery(); ResultSet result = ps.executeQuery();
if(result.next()) { if (result.next()) {
// Update existing entry // Update existing entry
PreparedStatement ps2 = connection.prepareStatement(String.format( PreparedStatement ps2 = connection.prepareStatement(String.format(
"UPDATE %smarriages SET player1=?,player2=?,home_world=?,home_x=?,home_y=?,home_z=?,home_yaw=?,home_pitch=?,pvp_enabled=? WHERE id=?;", prefix)); "UPDATE %smarriages SET player1=?,player2=?,home_world=?,home_x=?,home_y=?,home_z=?,home_yaw=?,home_pitch=?,pvp_enabled=? WHERE id=?;", prefix));
@ -272,7 +272,7 @@ public class DataManager {
ps2.executeUpdate(); ps2.executeUpdate();
ps2.close(); ps2.close();
} }
} catch(SQLException e) { } catch (SQLException e) {
core.getLogger().log(Level.WARNING, "Failed to save marriage data", e); core.getLogger().log(Level.WARNING, "Failed to save marriage data", e);
} finally { } finally {
supplier.finish(); supplier.finish();
@ -284,14 +284,14 @@ public class DataManager {
"SELECT * FROM %smarriages WHERE %s=?;", prefix, alt ? "player2" : "player1", prefix)); "SELECT * FROM %smarriages WHERE %s=?;", prefix, alt ? "player2" : "player1", prefix));
ps.setString(1, player.getUniqueId().toString()); ps.setString(1, player.getUniqueId().toString());
ResultSet result = ps.executeQuery(); ResultSet result = ps.executeQuery();
while(result.next()) { while (result.next()) {
UUID partnerId = UUID.fromString(result.getString(alt ? "player1" : "player2")); UUID partnerId = UUID.fromString(result.getString(alt ? "player1" : "player2"));
Player partner = Bukkit.getPlayer(partnerId); Player partner = Bukkit.getPlayer(partnerId);
MarriageData data; MarriageData data;
if(partner != null && partner.isOnline() && core.isMPlayerSet(partner.getUniqueId())) { if (partner != null && partner.isOnline() && core.isMPlayerSet(partner.getUniqueId())) {
// Copy marriage data from partner to ensure a match. // Copy marriage data from partner to ensure a match.
data = (MarriageData) core.getMPlayer(partner).getMarriage(); data = (MarriageData) core.getMPlayer(partner).getMarriage();
} else if((data = marriageDataCache.getIfPresent(player.getUniqueId())) == null) { } else if ((data = marriageDataCache.getIfPresent(player.getUniqueId())) == null) {
data = new MarriageData(this, result); data = new MarriageData(this, result);
marriageDataCache.put(data.getPlayer1Id(), data); marriageDataCache.put(data.getPlayer1Id(), data);
marriageDataCache.put(data.getPllayer2Id(), data); marriageDataCache.put(data.getPllayer2Id(), data);
@ -301,7 +301,7 @@ public class DataManager {
} }
ps.close(); ps.close();
if(!alt) { if (!alt) {
loadMarriages(connection, player, true); loadMarriages(connection, player, true);
} }
} }
@ -314,7 +314,7 @@ public class DataManager {
ps.setString(2, player2.toString()); ps.setString(2, player2.toString());
ps.executeUpdate(); ps.executeUpdate();
ps.close(); ps.close();
} catch(SQLException e) { } catch (SQLException e) {
core.getLogger().log(Level.WARNING, "Failed to load player data", e); core.getLogger().log(Level.WARNING, "Failed to load player data", e);
} finally { } finally {
supplier.finish(); supplier.finish();
@ -337,13 +337,13 @@ public class DataManager {
result = ps.executeQuery(); result = ps.executeQuery();
List<MData> list = Lists.newArrayList(); List<MData> list = Lists.newArrayList();
while(result.next()) { while (result.next()) {
list.add(new MarriageData(this, result)); list.add(new MarriageData(this, result));
} }
ps.close(); ps.close();
return new ListQuery(this, pages, page, list); return new ListQuery(this, pages, page, list);
} catch(SQLException e) { } catch (SQLException e) {
core.getLogger().log(Level.WARNING, "Failed to load marriage list", e); core.getLogger().log(Level.WARNING, "Failed to load marriage list", e);
return new ListQuery(this, 0, 0, new ArrayList<MData>()); return new ListQuery(this, 0, 0, new ArrayList<MData>());
} finally { } finally {
@ -358,10 +358,10 @@ public class DataManager {
core.getLogger().log(Level.INFO, "Migrating player data... (may take A WHILE)"); core.getLogger().log(Level.INFO, "Migrating player data... (may take A WHILE)");
PreparedStatement ps = connection.prepareStatement("SELECT * FROM " + prefix + "players;"); PreparedStatement ps = connection.prepareStatement("SELECT * FROM " + prefix + "players;");
ResultSet result = ps.executeQuery(); ResultSet result = ps.executeQuery();
while(result.next()) { while (result.next()) {
UUID uuid = UUID.fromString(result.getString("unique_user_id")); UUID uuid = UUID.fromString(result.getString("unique_user_id"));
MarriagePlayer player = new MarriagePlayer(uuid, result); MarriagePlayer player = new MarriagePlayer(uuid, result);
if(!player.isMarried() && !migrateUnmarriedPlayers) continue; if (!player.isMarried() && !migrateUnmarriedPlayers) continue;
db.savePlayer(player); db.savePlayer(player);
} }
ps.close(); ps.close();
@ -369,7 +369,7 @@ public class DataManager {
core.getLogger().log(Level.INFO, "Migrating marriage data..."); core.getLogger().log(Level.INFO, "Migrating marriage data...");
ps = connection.prepareStatement("SELECT * FROM " + prefix + "marriages;"); ps = connection.prepareStatement("SELECT * FROM " + prefix + "marriages;");
result = ps.executeQuery(); result = ps.executeQuery();
while(result.next()) { while (result.next()) {
MarriageData data = new MarriageData(this, result); MarriageData data = new MarriageData(this, result);
db.saveMarriage(data); db.saveMarriage(data);
} }
@ -377,7 +377,7 @@ public class DataManager {
core.getLogger().log(Level.INFO, "Migration complete!"); core.getLogger().log(Level.INFO, "Migration complete!");
return true; return true;
} catch(SQLException e) { } catch (SQLException e) {
core.getLogger().log(Level.WARNING, "Failed to load migrate database", e); core.getLogger().log(Level.WARNING, "Failed to load migrate database", e);
} finally { } finally {
supplier.finish(); supplier.finish();
@ -403,7 +403,7 @@ public class DataManager {
public Connection get() { public Connection get() {
try { try {
return DriverManager.getConnection(url, user, password); return DriverManager.getConnection(url, user, password);
} catch(SQLException e) { } catch (SQLException e) {
return null; return null;
} }
} }
@ -415,7 +415,7 @@ public class DataManager {
// Try to close connection // Try to close connection
try { try {
connection.close(); connection.close();
} catch(SQLException e) { } catch (SQLException e) {
} }
} }
} }

View file

@ -25,7 +25,7 @@ public enum Driver {
+ "priest BIT," + "priest BIT,"
+ "lastlogin BIGINT);", prefix)); + "lastlogin BIGINT);", prefix));
switch(this) { switch (this) {
case MYSQL: case MYSQL:
statement.executeUpdate(String.format("CREATE TABLE IF NOT EXISTS %smarriages (" statement.executeUpdate(String.format("CREATE TABLE IF NOT EXISTS %smarriages ("
+ "id INT NOT NULL AUTO_INCREMENT," + "id INT NOT NULL AUTO_INCREMENT,"

View file

@ -31,7 +31,7 @@ public class MarriageData implements MData {
this.player1 = UUID.fromString(data.getString("player1")); this.player1 = UUID.fromString(data.getString("player1"));
this.player2 = UUID.fromString(data.getString("player2")); this.player2 = UUID.fromString(data.getString("player2"));
String world = data.getString("home_world"); String world = data.getString("home_world");
if(!"NONE".equals(world)) { if (!"NONE".equals(world)) {
double x = data.getDouble("home_x"); double x = data.getDouble("home_x");
double y = data.getDouble("home_y"); double y = data.getDouble("home_y");
double z = data.getDouble("home_z"); double z = data.getDouble("home_z");
@ -46,7 +46,7 @@ public class MarriageData implements MData {
void save(PreparedStatement ps) throws SQLException { void save(PreparedStatement ps) throws SQLException {
ps.setString(1, player1.toString()); ps.setString(1, player1.toString());
ps.setString(2, player2.toString()); ps.setString(2, player2.toString());
if(home != null) { if (home != null) {
ps.setString(3, home.getWorld().getUID().toString()); ps.setString(3, home.getWorld().getUID().toString());
ps.setDouble(4, home.getX()); ps.setDouble(4, home.getX());
ps.setDouble(5, home.getY()); ps.setDouble(5, home.getY());

View file

@ -31,7 +31,7 @@ public class MarriagePlayer implements MPlayer {
public MarriagePlayer(UUID uuid, ResultSet data) throws SQLException { public MarriagePlayer(UUID uuid, ResultSet data) throws SQLException {
this.uuid = uuid; this.uuid = uuid;
if(data.next()) { if (data.next()) {
this.lastName = data.getString("last_name"); this.lastName = data.getString("last_name");
this.gender = Gender.valueOf(data.getString("gender")); this.gender = Gender.valueOf(data.getString("gender"));
this.priest = data.getBoolean("priest"); this.priest = data.getBoolean("priest");
@ -109,7 +109,7 @@ public class MarriagePlayer implements MPlayer {
@Override @Override
public MPlayer getPartner() { public MPlayer getPartner() {
Marriage core = MarriagePlugin.getCore(); Marriage core = MarriagePlugin.getCore();
if(marriage != null) { if (marriage != null) {
UUID id = uuid.equals(marriage.getPlayer1Id()) ? marriage.getPllayer2Id() : marriage.getPlayer1Id(); UUID id = uuid.equals(marriage.getPlayer1Id()) ? marriage.getPllayer2Id() : marriage.getPlayer1Id();
return core.getMPlayer(id); return core.getMPlayer(id);
} }
@ -119,13 +119,13 @@ public class MarriagePlayer implements MPlayer {
@Override @Override
public void divorce() { public void divorce() {
if(marriage == null) { if (marriage == null) {
return; return;
} }
PlayerDivorceEvent event = new PlayerDivorceEvent(this, marriage); PlayerDivorceEvent event = new PlayerDivorceEvent(this, marriage);
Bukkit.getPluginManager().callEvent(event); Bukkit.getPluginManager().callEvent(event);
if(event.isCancelled()) { if (event.isCancelled()) {
return; return;
} }

View file

@ -23,9 +23,9 @@ public class ChatListener implements Listener {
public void onPlayerChat(AsyncPlayerChatEvent event) { public void onPlayerChat(AsyncPlayerChatEvent event) {
final Player player = event.getPlayer(); final Player player = event.getPlayer();
MPlayer mp = core.getMPlayer(player); MPlayer mp = core.getMPlayer(player);
if(mp.isInChat()) { if (mp.isInChat()) {
// Private chat // Private chat
if(!mp.isMarried() || !isOnline(mp.getPartner())) { if (!mp.isMarried() || !isOnline(mp.getPartner())) {
mp.setInChat(false); mp.setInChat(false);
return; return;
} }
@ -46,11 +46,11 @@ public class ChatListener implements Listener {
// Admin chat spy // Admin chat spy
String adminMessage = null; // No need to format message if we're not going to send it. String adminMessage = null; // No need to format message if we're not going to send it.
for(Player admin : Bukkit.getOnlinePlayers()) { for (Player admin : Bukkit.getOnlinePlayers()) {
if(admin.equals(player) || admin.equals(partner)) continue; if (admin.equals(player) || admin.equals(partner)) continue;
final MPlayer mAdmin = core.getMPlayer(admin); final MPlayer mAdmin = core.getMPlayer(admin);
if(!mAdmin.isChatSpy()) continue; if (!mAdmin.isChatSpy()) continue;
if(adminMessage == null) { if (adminMessage == null) {
// Format message // Format message
adminMessage = Settings.CHATSPY_FORMAT.value() adminMessage = Settings.CHATSPY_FORMAT.value()
.replace("{sender}", player.getName()) .replace("{sender}", player.getName())
@ -72,19 +72,20 @@ public class ChatListener implements Listener {
final Player player = event.getPlayer(); final Player player = event.getPlayer();
final MPlayer mplayer = core.getMPlayer(player); final MPlayer mplayer = core.getMPlayer(player);
if(Settings.FORCE_FORMAT.value()) { if (Settings.FORCE_FORMAT.value()) {
format = "{marriage_status}" + format; // Enforce marriage format format = "{marriage_status}" + format; // Enforce marriage format
} if(Settings.FORCE_GENDER_FORMAT.value()) { }
if (Settings.FORCE_GENDER_FORMAT.value()) {
format = "{marriage_gender}" + format; format = "{marriage_gender}" + format;
} }
// Marriage status // Marriage status
if(format.contains("{marriage_status}")) { if (format.contains("{marriage_status}")) {
String status = Settings.CHAT_FORMAT_UNMARRIED.value(); String status = Settings.CHAT_FORMAT_UNMARRIED.value();
if(mplayer.isMarried()) { if (mplayer.isMarried()) {
String partner = String partner =
player.hasMetadata("marriedTo") && player.getMetadata("marriedTo").size() > 0 player.hasMetadata("marriedTo") && player.getMetadata("marriedTo").size() > 0
? player.getMetadata("marriedTo").get(0).asString() : ""; ? player.getMetadata("marriedTo").get(0).asString() : "";
status = Settings.CHAT_FORMAT.value() status = Settings.CHAT_FORMAT.value()
.replace("{heart}", "\u2764") .replace("{heart}", "\u2764")
@ -93,7 +94,7 @@ public class ChatListener implements Listener {
status = formatIcons(status); status = formatIcons(status);
} }
if(!status.isEmpty()) { if (!status.isEmpty()) {
status = ChatColor.translateAlternateColorCodes('&', status); status = ChatColor.translateAlternateColorCodes('&', status);
} }
@ -101,7 +102,7 @@ public class ChatListener implements Listener {
} }
// Gender format // Gender format
if(format.contains("{marriage_gender}")) { if (format.contains("{marriage_gender}")) {
String gender = mplayer.getGender().getChatPrefix(); String gender = mplayer.getGender().getChatPrefix();
gender = formatIcons(gender); gender = formatIcons(gender);
gender = ChatColor.translateAlternateColorCodes('&', gender); gender = ChatColor.translateAlternateColorCodes('&', gender);
@ -121,7 +122,7 @@ public class ChatListener implements Listener {
} }
private boolean isOnline(MPlayer mp) { private boolean isOnline(MPlayer mp) {
if(mp == null) return false; if (mp == null) return false;
Player player = Bukkit.getPlayer(mp.getUniqueId()); Player player = Bukkit.getPlayer(mp.getUniqueId());
return player != null && player.isOnline(); return player != null && player.isOnline();
} }

View file

@ -32,7 +32,7 @@ public class DatabaseListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR) @EventHandler(priority = EventPriority.MONITOR)
public void onPlayerLogin(AsyncPlayerPreLoginEvent event) { public void onPlayerLogin(AsyncPlayerPreLoginEvent event) {
if(event.getLoginResult() == Result.ALLOWED) { if (event.getLoginResult() == Result.ALLOWED) {
MarriagePlayer player = core.getDataManager().loadPlayer(event.getUniqueId()); MarriagePlayer player = core.getDataManager().loadPlayer(event.getUniqueId());
player.setLastName(event.getName()); player.setLastName(event.getName());
cache.put(event.getUniqueId(), player); cache.put(event.getUniqueId(), player);
@ -44,7 +44,7 @@ public class DatabaseListener implements Listener {
final Player player = event.getPlayer(); final Player player = event.getPlayer();
final UUID userId = player.getUniqueId(); final UUID userId = player.getUniqueId();
MarriagePlayer mplayer = cache.getIfPresent(userId); MarriagePlayer mplayer = cache.getIfPresent(userId);
if(mplayer != null) { if (mplayer != null) {
loadPartnerName(mplayer, player); loadPartnerName(mplayer, player);
core.setMPlayer(userId, mplayer); core.setMPlayer(userId, mplayer);
return; return;
@ -63,18 +63,18 @@ public class DatabaseListener implements Listener {
public void onPlayerQuit(PlayerQuitEvent event) { public void onPlayerQuit(PlayerQuitEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
core.unloadPlayer(player.getUniqueId()); core.unloadPlayer(player.getUniqueId());
if(player.hasMetadata("marriedTo")) { if (player.hasMetadata("marriedTo")) {
player.removeMetadata("marriedTo", core.getPlugin()); player.removeMetadata("marriedTo", core.getPlugin());
} }
} }
private void loadPartnerName(final MPlayer mplayer, final Player player) { private void loadPartnerName(final MPlayer mplayer, final Player player) {
if(!mplayer.isMarried()) return; if (!mplayer.isMarried()) return;
DataManager.getExecutorService().execute(new Runnable() { DataManager.getExecutorService().execute(new Runnable() {
@Override @Override
public void run() { public void run() {
final String partner = ListQuery.getName(core.getDataManager(), mplayer.getMarriage().getOtherPlayer(player.getUniqueId())); final String partner = ListQuery.getName(core.getDataManager(), mplayer.getMarriage().getOtherPlayer(player.getUniqueId()));
if(partner == null) { if (partner == null) {
return; return;
} }

View file

@ -29,30 +29,30 @@ public class KissListener implements Listener {
@EventHandler @EventHandler
public void onPlayerInteract(PlayerInteractEntityEvent event) { public void onPlayerInteract(PlayerInteractEntityEvent event) {
if(!Settings.KISSES_ENABLED.value()) return; // Disabled if (!Settings.KISSES_ENABLED.value()) return; // Disabled
final Player player = event.getPlayer(); final Player player = event.getPlayer();
Entity e = event.getRightClicked(); Entity e = event.getRightClicked();
if(!(e instanceof Player)) { if (!(e instanceof Player)) {
return; return;
} }
final Player clicked = (Player) e; final Player clicked = (Player) e;
if(!player.isSneaking() || !clicked.isSneaking()) { if (!player.isSneaking() || !clicked.isSneaking()) {
return; return;
} }
MPlayer mp = core.getMPlayer(player); MPlayer mp = core.getMPlayer(player);
if(!mp.isMarried()) { if (!mp.isMarried()) {
return; return;
} }
MData data = mp.getMarriage(); MData data = mp.getMarriage();
if(!clicked.getUniqueId().toString().equalsIgnoreCase(data.getOtherPlayer(player.getUniqueId()).toString())) { if (!clicked.getUniqueId().toString().equalsIgnoreCase(data.getOtherPlayer(player.getUniqueId()).toString())) {
return; return;
} }
if(!cooldown.performCheck(player.getName()) || !cooldown.performCheck(clicked.getName())) { if (!cooldown.performCheck(player.getName()) || !cooldown.performCheck(clicked.getName())) {
return; return;
} }

View file

@ -24,15 +24,15 @@ public class LegacyPlotSquaredListener implements Listener {
final UUID player = event.getRequesing().getUniqueId(); final UUID player = event.getRequesing().getUniqueId();
final UUID partner = event.getRequested().getUniqueId(); final UUID partner = event.getRequested().getUniqueId();
for(Plot plot : plotSquared.getPlots(player)) { for (Plot plot : plotSquared.getPlots(player)) {
if(plot.getTrusted().contains(partner)) { if (plot.getTrusted().contains(partner)) {
continue; continue;
} }
plot.addTrusted(partner); plot.addTrusted(partner);
} }
for(Plot plot : plotSquared.getPlots(partner)) { for (Plot plot : plotSquared.getPlots(partner)) {
if(plot.getTrusted().contains(player)) { if (plot.getTrusted().contains(player)) {
continue; continue;
} }
plot.addTrusted(player); plot.addTrusted(player);
@ -45,15 +45,15 @@ public class LegacyPlotSquaredListener implements Listener {
final UUID player = marriage.getPlayer1Id(); final UUID player = marriage.getPlayer1Id();
final UUID partner = marriage.getPllayer2Id(); final UUID partner = marriage.getPllayer2Id();
for(Plot plot : plotSquared.getPlots(player)) { for (Plot plot : plotSquared.getPlots(player)) {
if(!plot.getTrusted().contains(partner)) { if (!plot.getTrusted().contains(partner)) {
continue; continue;
} }
plot.removeTrusted(partner); plot.removeTrusted(partner);
} }
for(Plot plot : plotSquared.getPlots(partner)) { for (Plot plot : plotSquared.getPlots(partner)) {
if(!plot.getTrusted().contains(player)) { if (!plot.getTrusted().contains(player)) {
continue; continue;
} }
plot.removeTrusted(player); plot.removeTrusted(player);

View file

@ -28,21 +28,22 @@ public class PlayerListener implements Listener {
final Entity e0 = event.getEntity(); final Entity e0 = event.getEntity();
final Entity e1 = event.getDamager(); final Entity e1 = event.getDamager();
// Verify damaged entity is player // Verify damaged entity is player
if(!(e0 instanceof Player)) { if (!(e0 instanceof Player)) {
return; return;
} if(!(e1 instanceof Player) && !(e1 instanceof Projectile)) { }
if (!(e1 instanceof Player) && !(e1 instanceof Projectile)) {
return; return;
} }
// Verify damager is player // Verify damager is player
final Player player = (Player) e0; final Player player = (Player) e0;
final Player damager; final Player damager;
if(e1 instanceof Player) { if (e1 instanceof Player) {
damager = (Player) e1; damager = (Player) e1;
} else { } else {
Projectile projectile = (Projectile) e1; Projectile projectile = (Projectile) e1;
final ProjectileSource e3 = projectile.getShooter(); final ProjectileSource e3 = projectile.getShooter();
if(e3 == null || !(e3 instanceof Player)) { if (e3 == null || !(e3 instanceof Player)) {
return; return;
} }
damager = (Player) e3; damager = (Player) e3;
@ -50,12 +51,12 @@ public class PlayerListener implements Listener {
// Verify marriage // Verify marriage
MPlayer mplayer = marriage.getMPlayer(player); MPlayer mplayer = marriage.getMPlayer(player);
if(!mplayer.isMarried() || mplayer.getMarriage().getOtherPlayer(player.getUniqueId()) != damager.getUniqueId()) { if (!mplayer.isMarried() || mplayer.getMarriage().getOtherPlayer(player.getUniqueId()) != damager.getUniqueId()) {
return; return;
} }
// Verify pvp setting // Verify pvp setting
if(mplayer.getMarriage().isPVPEnabled()) { if (mplayer.getMarriage().isPVPEnabled()) {
return; return;
} }
@ -64,38 +65,38 @@ public class PlayerListener implements Listener {
@EventHandler(priority = EventPriority.LOW) @EventHandler(priority = EventPriority.LOW)
public void onPlayerGainExp(PlayerExpChangeEvent event) { public void onPlayerGainExp(PlayerExpChangeEvent event) {
if(!Settings.EXP_BOOST_ENABLED.value()) { if (!Settings.EXP_BOOST_ENABLED.value()) {
return; return;
} }
final int gained = event.getAmount(); final int gained = event.getAmount();
if(gained <= 0) { if (gained <= 0) {
return; return;
} }
final Player player = event.getPlayer(); final Player player = event.getPlayer();
final MPlayer mplayer = marriage.getMPlayer(player); final MPlayer mplayer = marriage.getMPlayer(player);
if(!mplayer.isMarried()) { if (!mplayer.isMarried()) {
return; return;
} }
MPlayer mpartner = mplayer.getPartner(); MPlayer mpartner = mplayer.getPartner();
Player partner = Bukkit.getPlayer(mpartner.getUniqueId()); Player partner = Bukkit.getPlayer(mpartner.getUniqueId());
if(partner == null || !partner.isOnline()) { if (partner == null || !partner.isOnline()) {
return; return;
} }
if(!partner.getWorld().equals(player.getWorld())) { if (!partner.getWorld().equals(player.getWorld())) {
return; return;
} }
if(partner.getLocation().distanceSquared(partner.getLocation()) > Settings.EXP_BOOST_DISTANCE.value() * Settings.EXP_BOOST_DISTANCE.value()) { if (partner.getLocation().distanceSquared(partner.getLocation()) > Settings.EXP_BOOST_DISTANCE.value() * Settings.EXP_BOOST_DISTANCE.value()) {
return; return;
} }
event.setAmount((int) Math.round(gained * Settings.EXP_BOOST_MULTIPLIER.value())); event.setAmount((int) Math.round(gained * Settings.EXP_BOOST_MULTIPLIER.value()));
final int bonus = event.getAmount() - gained; final int bonus = event.getAmount() - gained;
if(bonus > 0 && Settings.EXP_BOOST_ANNOUNCE.value()) { if (bonus > 0 && Settings.EXP_BOOST_ANNOUNCE.value()) {
Message.BONUS_EXP.send(player, bonus); Message.BONUS_EXP.send(player, bonus);
} }
} }

View file

@ -22,18 +22,18 @@ public class UpdateListener implements Listener {
@EventHandler @EventHandler
public void onPlayerJoin(PlayerJoinEvent event) { public void onPlayerJoin(PlayerJoinEvent event) {
final Player player = event.getPlayer(); final Player player = event.getPlayer();
if(Permissions.UPDATE.has(player)) { if (Permissions.UPDATE.has(player)) {
final Updater updater = core.getUpdater(); final Updater updater = core.getUpdater();
Bukkit.getScheduler().runTaskLaterAsynchronously(core.getPlugin(), new Runnable() { Bukkit.getScheduler().runTaskLaterAsynchronously(core.getPlugin(), new Runnable() {
@Override @Override
public void run() { public void run() {
boolean update = false; boolean update = false;
if(update) { if (update) {
Bukkit.getScheduler().runTask(core.getPlugin(), new Runnable() { Bukkit.getScheduler().runTask(core.getPlugin(), new Runnable() {
@Override @Override
public void run() { public void run() {
Version version = updater.getNewVersion(); Version version = updater.getNewVersion();
if(version == null) return; if (version == null) return;
String message = ChatColor.translateAlternateColorCodes('&', String message = ChatColor.translateAlternateColorCodes('&',
String.format(Message.UPDATE_AVAILABLE.toString(), String.format(Message.UPDATE_AVAILABLE.toString(),
version.getName(), version.getServerVersion())); version.getName(), version.getServerVersion()));

View file

@ -26,15 +26,15 @@ public class V5PlotSquaredListener implements Listener {
PlotPlayer plotPlayer = plotSquared.wrapPlayer(player); PlotPlayer plotPlayer = plotSquared.wrapPlayer(player);
PlotPlayer plotPartner = plotSquared.wrapPlayer(partner); PlotPlayer plotPartner = plotSquared.wrapPlayer(partner);
for(Plot plot : plotSquared.getPlayerPlots(plotPlayer)) { for (Plot plot : plotSquared.getPlayerPlots(plotPlayer)) {
if(plot.getTrusted().contains(partner)) { if (plot.getTrusted().contains(partner)) {
continue; continue;
} }
plot.addTrusted(partner); plot.addTrusted(partner);
} }
for(Plot plot : plotSquared.getPlayerPlots(plotPartner)) { for (Plot plot : plotSquared.getPlayerPlots(plotPartner)) {
if(plot.getTrusted().contains(player)) { if (plot.getTrusted().contains(player)) {
continue; continue;
} }
plot.addTrusted(player); plot.addTrusted(player);
@ -49,15 +49,15 @@ public class V5PlotSquaredListener implements Listener {
PlotPlayer plotPlayer = plotSquared.wrapPlayer(player); PlotPlayer plotPlayer = plotSquared.wrapPlayer(player);
PlotPlayer plotPartner = plotSquared.wrapPlayer(partner); PlotPlayer plotPartner = plotSquared.wrapPlayer(partner);
for(Plot plot : plotSquared.getPlayerPlots(plotPlayer)) { for (Plot plot : plotSquared.getPlayerPlots(plotPlayer)) {
if(!plot.getTrusted().contains(partner)) { if (!plot.getTrusted().contains(partner)) {
continue; continue;
} }
plot.removeTrusted(partner); plot.removeTrusted(partner);
} }
for(Plot plot : plotSquared.getPlayerPlots(plotPartner)) { for (Plot plot : plotSquared.getPlayerPlots(plotPartner)) {
if(!plot.getTrusted().contains(player)) { if (!plot.getTrusted().contains(player)) {
continue; continue;
} }
plot.removeTrusted(player); plot.removeTrusted(player);

View file

@ -22,11 +22,10 @@ public class BConfig extends YamlConfiguration {
this.core = core; this.core = core;
this.file = file; this.file = file;
file.getParentFile().mkdirs(); file.getParentFile().mkdirs();
if(!file.exists()) { if (!file.exists()) {
try { try {
file.createNewFile(); file.createNewFile();
} catch(IOException e) { } catch (IOException e) {
;
} }
} }
@ -36,7 +35,7 @@ public class BConfig extends YamlConfiguration {
public void reload() { public void reload() {
try { try {
load(file); load(file);
} catch(Exception e) { } catch (Exception e) {
core.getLogger().log(Level.WARNING, "Failed to reload configuration file", e); core.getLogger().log(Level.WARNING, "Failed to reload configuration file", e);
} }
} }
@ -44,7 +43,7 @@ public class BConfig extends YamlConfiguration {
public void save() { public void save() {
try { try {
save(file); save(file);
} catch(Exception e) { } catch (Exception e) {
core.getLogger().log(Level.WARNING, "Failed to save configuration file", e); core.getLogger().log(Level.WARNING, "Failed to save configuration file", e);
} }
} }
@ -56,7 +55,7 @@ public class BConfig extends YamlConfiguration {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public <T> T getOrSet(String key, T def) { public <T> T getOrSet(String key, T def) {
if(contains(key)) { if (contains(key)) {
return (T) get(key); return (T) get(key);
} else { } else {
set(key, def); set(key, def);
@ -74,22 +73,22 @@ public class BConfig extends YamlConfiguration {
output = new FileOutputStream(file); output = new FileOutputStream(file);
byte[] buffer = new byte[1024]; byte[] buffer = new byte[1024];
int length; int length;
while((length = input.read(buffer, 0, buffer.length)) != -1) { while ((length = input.read(buffer, 0, buffer.length)) != -1) {
output.write(buffer, 0, length); output.write(buffer, 0, length);
} }
} catch(Exception e) { } catch (Exception e) {
MarriagePlugin.getCore().getLogger().log(Level.WARNING, "Failed to copy file", e); MarriagePlugin.getCore().getLogger().log(Level.WARNING, "Failed to copy file", e);
} finally { } finally {
if(input != null) { if (input != null) {
try { try {
input.close(); input.close();
} catch(IOException e1) { } catch (IOException e1) {
} }
} }
if(output != null) { if (output != null) {
try { try {
output.close(); output.close();
} catch(IOException e1) { } catch (IOException e1) {
} }
} }
} }

View file

@ -38,7 +38,7 @@ public class Cooldown<T> {
* @return Whether key is in cooldown or not * @return Whether key is in cooldown or not
*/ */
public boolean performCheck(T key) { public boolean performCheck(T key) {
if(isCached(key)) return false; if (isCached(key)) return false;
set(key); set(key);
return true; return true;
} }

View file

@ -36,7 +36,7 @@ public class ListQuery {
this.pages = pages; this.pages = pages;
this.page = page; this.page = page;
this.marriages = marriages; this.marriages = marriages;
for(MData marriage : marriages) { for (MData marriage : marriages) {
names.put(marriage.getPlayer1Id(), getNameFormat(db, marriage.getPlayer1Id())); names.put(marriage.getPlayer1Id(), getNameFormat(db, marriage.getPlayer1Id()));
names.put(marriage.getPllayer2Id(), getNameFormat(db, marriage.getPllayer2Id())); names.put(marriage.getPllayer2Id(), getNameFormat(db, marriage.getPllayer2Id()));
} }
@ -48,10 +48,10 @@ public class ListQuery {
public void run() { public void run() {
to.sendMessage(ChatColor.GOLD + ChatColor.BOLD.toString() + "Married players:"); to.sendMessage(ChatColor.GOLD + ChatColor.BOLD.toString() + "Married players:");
to.sendMessage(ChatColor.GOLD + "Page " + (page + 1) + "/" + pages); to.sendMessage(ChatColor.GOLD + "Page " + (page + 1) + "/" + pages);
if(Settings.GENDER_IN_LIST.value()) { if (Settings.GENDER_IN_LIST.value()) {
to.sendMessage(ChatColor.translateAlternateColorCodes('&', "&bmale &f- &dfemale &f- &7none")); to.sendMessage(ChatColor.translateAlternateColorCodes('&', "&bmale &f- &dfemale &f- &7none"));
} }
for(MData data : marriages) { for (MData data : marriages) {
to.sendMessage(names.get(data.getPlayer1Id()) + ChatColor.WHITE + " + " + names.get(data.getPllayer2Id())); to.sendMessage(names.get(data.getPlayer1Id()) + ChatColor.WHITE + " + " + names.get(data.getPllayer2Id()));
} }
} }
@ -72,15 +72,15 @@ public class ListQuery {
public static String getNameFormat(DataManager db, UUID userId) { public static String getNameFormat(DataManager db, UUID userId) {
String name = getName(db, userId); String name = getName(db, userId);
if(name == null) { if (name == null) {
return ChatColor.GREEN + "???"; return ChatColor.GREEN + "???";
} }
ChatColor color = ChatColor.GREEN; ChatColor color = ChatColor.GREEN;
if(Settings.GENDER_IN_LIST.value()) { if (Settings.GENDER_IN_LIST.value()) {
MarriagePlayer mp = db.loadPlayer(userId); MarriagePlayer mp = db.loadPlayer(userId);
Gender gender = mp == null ? Gender.NONE : mp.getGender(); Gender gender = mp == null ? Gender.NONE : mp.getGender();
switch(gender) { switch (gender) {
case MALE: case MALE:
color = ChatColor.AQUA; color = ChatColor.AQUA;
break; break;
@ -99,13 +99,13 @@ public class ListQuery {
public static String getName(DataManager db, UUID userId) { public static String getName(DataManager db, UUID userId) {
// local uuid cache // local uuid cache
OfflinePlayer op = Bukkit.getOfflinePlayer(userId); OfflinePlayer op = Bukkit.getOfflinePlayer(userId);
if(op != null && op.getName() != null) { if (op != null && op.getName() != null) {
return op.getName(); return op.getName();
} }
// local database // local database
MarriagePlayer mp = db.loadPlayer(userId); MarriagePlayer mp = db.loadPlayer(userId);
if(mp.getLastName() != null) { if (mp.getLastName() != null) {
return mp.getLastName(); return mp.getLastName();
} }
@ -121,15 +121,15 @@ public class ListQuery {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
String line; String line;
while((line = reader.readLine()) != null) { while ((line = reader.readLine()) != null) {
builder.append(line); builder.append(line);
} }
JsonArray entries = JSON_PARSER.parse(builder.toString()).getAsJsonArray(); JsonArray entries = JSON_PARSER.parse(builder.toString()).getAsJsonArray();
if(entries.size() == 0) return null; // Fail if (entries.size() == 0) return null; // Fail
JsonObject lastEntry = entries.get(entries.size() - 1).getAsJsonObject(); JsonObject lastEntry = entries.get(entries.size() - 1).getAsJsonObject();
return lastEntry.get("name").getAsString(); return lastEntry.get("name").getAsString();
} catch(Exception e) { } catch (Exception e) {
return null; // Complete failure return null; // Complete failure
} }
} }

View file

@ -27,9 +27,9 @@ public class LockedReference {
lock.lock(); lock.lock();
// Check if object not defined or expired. // Check if object not defined or expired.
if(timeClaimed + expiryTime < System.currentTimeMillis()) { if (timeClaimed + expiryTime < System.currentTimeMillis()) {
// Invalidate old object // Invalidate old object
if(object != null && invalidator != null) { if (object != null && invalidator != null) {
invalidator.accept(object); invalidator.accept(object);
} }

View file

@ -63,19 +63,19 @@ public class UUIDFetcher implements Callable<Map<String, UUID>> {
public Map<String, UUID> call() throws Exception { public Map<String, UUID> call() throws Exception {
Map<String, UUID> uuidMap = new HashMap<String, UUID>(); Map<String, UUID> uuidMap = new HashMap<String, UUID>();
int requests = (int) Math.ceil(names.size() / PROFILES_PER_REQUEST); int requests = (int) Math.ceil(names.size() / PROFILES_PER_REQUEST);
for(int i = 0; i < requests; i++) { for (int i = 0; i < requests; i++) {
HttpURLConnection connection = createConnection(); HttpURLConnection connection = createConnection();
String body = JSONArray.toJSONString(names.subList(i * 100, Math.min((i + 1) * 100, names.size()))); String body = JSONArray.toJSONString(names.subList(i * 100, Math.min((i + 1) * 100, names.size())));
writeBody(connection, body); writeBody(connection, body);
JSONArray array = (JSONArray) jsonParser.parse(new InputStreamReader(connection.getInputStream())); JSONArray array = (JSONArray) jsonParser.parse(new InputStreamReader(connection.getInputStream()));
for(Object profile : array) { for (Object profile : array) {
JSONObject jsonProfile = (JSONObject) profile; JSONObject jsonProfile = (JSONObject) profile;
String id = (String) jsonProfile.get("id"); String id = (String) jsonProfile.get("id");
String name = (String) jsonProfile.get("name"); String name = (String) jsonProfile.get("name");
UUID uuid = UUIDFetcher.getUUID(id); UUID uuid = UUIDFetcher.getUUID(id);
uuidMap.put(name, uuid); uuidMap.put(name, uuid);
} }
if(rateLimiting && i != requests - 1) { if (rateLimiting && i != requests - 1) {
Thread.sleep(100L); Thread.sleep(100L);
} }
} }
@ -112,7 +112,7 @@ public class UUIDFetcher implements Callable<Map<String, UUID>> {
} }
public static UUID fromBytes(byte[] array) { public static UUID fromBytes(byte[] array) {
if(array.length != 16) { if (array.length != 16) {
throw new IllegalArgumentException("Illegal byte array length: " + array.length); throw new IllegalArgumentException("Illegal byte array length: " + array.length);
} }
ByteBuffer byteBuffer = ByteBuffer.wrap(array); ByteBuffer byteBuffer = ByteBuffer.wrap(array);