diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java index e37675a..c60c3ef 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java @@ -161,7 +161,7 @@ public class RTP { WorldPlayer pWorld = getPlayerWorld(setup_info); //Debugging! //CmdInfo.sendInfoWorld(sendi, CmdInfo.infoGetWorld(sendi, setup_info.getWorld(), setup_info.getPlayer(), pWorld)); - // Economy + // Second Economy check if (!getPl().getEco().hasBalance(sendi, pWorld)) return; rtp(sendi, pWorld, setup_info.isDelay(), setup_info.getRtp_type(), setup_info.isCooldown()); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java index 1116f7a..0a09cac 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java @@ -57,13 +57,13 @@ public class DepEconomy { public boolean hasBalance(CommandSender sendi, WorldPlayer pWorld) { check(false); - Player player = pWorld.getPlayer(); //Economy Stuff - if (e != null && pWorld.getPrice() != 0 && !PermissionNode.BYPASS_ECONOMY.check(sendi)) { + int price = pWorld.getPrice(); + if (e != null && price != 0 && !PermissionNode.BYPASS_ECONOMY.check(sendi)) { try { - boolean passed_economy = e.getBalance(player) >= pWorld.getPrice(); + boolean passed_economy = e.getBalance(pWorld.getPlayer()) >= price; if (!passed_economy) { - BetterRTP.getInstance().getText().getFailedPrice(sendi, pWorld.getPrice()); + BetterRTP.getInstance().getText().getFailedPrice(sendi, price); return false; } } catch (Exception e) { diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java index c1a453b..563e6a8 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java @@ -95,16 +95,16 @@ public class DepPlaceholderAPI extends PlaceholderExpansion { if (!PermissionNode.getAWorld(player, world.getName())) return BetterRTP.getInstance().getSettings().getPlaceholder_nopermission(); RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true); + WorldPlayer pWorld = BetterRTP.getInstance().getRTP().getPlayerWorld(setupInformation); //Cooldown - if (!HelperRTP_Check.isCoolingDown(player, player, world)) + if (!HelperRTP_Check.isCoolingDown(player, player, pWorld)) return BetterRTP.getInstance().getSettings().getPlaceholder_cooldown(); - WorldPlayer worldPlayer = BetterRTP.getInstance().getRTP().getPlayerWorld(setupInformation); //Price - if (!BetterRTP.getInstance().getEco().hasBalance(player, worldPlayer)) + if (!BetterRTP.getInstance().getEco().hasBalance(player, pWorld)) return BetterRTP.getInstance().getSettings().getPlaceholder_balance(); //Hunger - if (!BetterRTP.getInstance().getEco().hasHunger(player, worldPlayer)) - return BetterRTP.getInstance().getSettings().getPlaceholder_balance(); + if (!BetterRTP.getInstance().getEco().hasHunger(player, pWorld)) + return BetterRTP.getInstance().getSettings().getPlaceholder_hunger(); //True return BetterRTP.getInstance().getSettings().getPlaceholder_true(); } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/file/Files.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/file/Files.java index 4d05a3b..9454316 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/file/Files.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/file/Files.java @@ -4,7 +4,7 @@ public class Files { private final FileLanguage langFile = new FileLanguage(); private final FileOther basics = new FileOther(); - FileLanguage getLang() { + public FileLanguage getLang() { return langFile; } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP_Check.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP_Check.java index 3988464..1a0c707 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP_Check.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP_Check.java @@ -10,6 +10,7 @@ import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations; +import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.command.CommandSender; @@ -24,33 +25,36 @@ import java.util.Random; public class HelperRTP_Check { - public static RTP_ERROR_REQUEST_REASON canRTP(Player player, CommandSender sendi, World world, boolean ignoreCooldown) { + public static RTP_ERROR_REQUEST_REASON canRTP(Player player, CommandSender sendi, WorldPlayer pWorld, boolean ignoreCooldown) { if (isRTPing(player)) { //Is RTP'ing //getPl().getText().getAlready(sendi); return RTP_ERROR_REQUEST_REASON.IS_RTPING; } // Not forced and has 'betterrtp.world.' - if (sendi == player && !PermissionNode.getAWorld(sendi, world.getName())) { + if (sendi == player && !PermissionNode.getAWorld(sendi, pWorld.getWorld().getName())) { //getPl().getText().getNoPermissionWorld(player, world.getName()); return RTP_ERROR_REQUEST_REASON.NO_PERMISSION; } // Check disabled worlds - if (getPl().getRTP().getDisabledWorlds().contains(world.getName())) { + if (getPl().getRTP().getDisabledWorlds().contains(pWorld.getWorld().getName())) { //getPl().getText().getDisabledWorld(sendi, world.getName()); return RTP_ERROR_REQUEST_REASON.WORLD_DISABLED; } - if (sendi == player && checkCooldown(sendi, player) && !isCoolingDown(sendi, player, world)) { //Is Cooling down + if (sendi == player && checkCooldown(sendi, player) && !isCoolingDown(sendi, player, pWorld)) { //Is Cooling down return RTP_ERROR_REQUEST_REASON.COOLDOWN; } - if (getPl().getEco().hasBalance(sendi, )) - return null; + if (getPl().getEco().hasBalance(sendi, pWorld)) + return RTP_ERROR_REQUEST_REASON.PRICE_ECONOMY; + if (getPl().getEco().hasHunger(sendi, pWorld)) + return RTP_ERROR_REQUEST_REASON.PRICE_HUNGER; + return null; } private static boolean isRTPing(Player player) { return getPl().getpInfo().getRtping().getOrDefault(player, false); } - public static boolean isCoolingDown(CommandSender sendi, Player player, World world) { + public static boolean isCoolingDown(CommandSender sendi, Player player, WorldPlayer pWorld) { if (!checkCooldown(sendi, player)) //Bypassing/Forced? return true; CooldownHandler cooldownHandler = getPl().getCooldowns(); @@ -59,7 +63,7 @@ public class HelperRTP_Check { return false; } //Cooldown Data - CooldownData cooldownData = getPl().getCooldowns().get(player, world); + CooldownData cooldownData = getPl().getCooldowns().get(player, pWorld.getWorld()); if (cooldownData != null) { if (cooldownData.getTime() == 0) //Global cooldown with nothing return true; @@ -67,7 +71,7 @@ public class HelperRTP_Check { getPl().getText().getNoPermission(sendi); return false; } else { //Normal cooldown - long timeLeft = cooldownHandler.timeLeft(player, cooldownData, world); + long timeLeft = cooldownHandler.timeLeft(player, cooldownData, pWorld); if (timeLeft > 0) { //Still cooling down getPl().getText().getCooldown(sendi, String.valueOf(timeLeft)); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/Message_RTP.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/Message_RTP.java index 2ff1bd1..71008d1 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/Message_RTP.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/Message_RTP.java @@ -1,8 +1,7 @@ package me.SuperRonanCraft.BetterRTP.references.messages; import me.SuperRonanCraft.BetterRTP.BetterRTP; -import me.ronancraft.AmethystGear.AmethystGear; -import me.ronancraft.AmethystGear.resources.files.FileData; +import me.SuperRonanCraft.BetterRTP.references.file.FileData; import org.bukkit.command.CommandSender; import java.util.List; @@ -21,18 +20,18 @@ public class Message_RTP implements Message { } public static void sms(CommandSender sendi, String msg) { - Message.sms(Message_Gear.msg, sendi, msg); + Message.sms(Message_RTP.msg, sendi, msg); } public static void sms(CommandSender sendi, String msg, Object placeholderInfo) { - Message.sms(Message_Gear.msg, sendi, msg, placeholderInfo); + Message.sms(Message_RTP.msg, sendi, msg, placeholderInfo); } public static void sms(CommandSender sendi, String msg, List placeholderInfo) { - Message.sms(Message_Gear.msg, sendi, msg, placeholderInfo); + Message.sms(Message_RTP.msg, sendi, msg, placeholderInfo); } public static String getPrefix() { - return Message.getPrefix(Message_Gear.msg); + return Message.getPrefix(Message_RTP.msg); } } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesCore.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesCore.java index 02e489f..79c0c75 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesCore.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesCore.java @@ -6,40 +6,30 @@ import java.util.HashMap; import java.util.List; public enum MessagesCore { + + SUCCESS_PAID("Success.Paid"), + SUCCESS_BYPASS("Success.Bypass"), + SUCCESS_LOADING("Success.Loading"), + SUCCESS_TELEPORT("Success.Teleport"), + FAILED_NOTSAFE("Failed.NotSafe"), + FAILED_PRICE("Failed.Price"), + OTHER_NOTSAFE("Other.NotSafe"), + OTHER_SUCCESS("Other.Success"), + OTHER_BIOME("Other.Biome"), + NOTEXIST("NotExist"), RELOAD("Reload"), - NOPERMISSION("NoPermission"), - INVALID("Invalid"), - INVALID_MATERIAL("InvalidMaterial"), - ERROR("DatabaseError"), - PLAYER_DOESNT_EXIST("PlayerExist"), - UNSUPPORTED_MOB("UnsupportedMob"), - //GEAR - GEAR_GIVEN("Gear.Given"), - GEAR_EQUIPPED("Gear.Equipped"), - GEAR_EQUIPPED_FULL("Gear.FullInventory"), - GEAR_UNEQUIPPED("Gear.Unequipped"), - GEAR_UPGRADED("Gear.Upgraded"), - GEAR_CATALYST_UPGRADED("Gear.Catalyst-Upgraded"), - //CATALYSTS - CATALYST_GIVEN("Catalyst.Given"), - CATALYST_ADDED("Catalyst.Added"), - CATALYST_REMOVED("Catalyst.Removed"), - CATALYST_REMOVED_SHATTERED("Catalyst.Removed-Shattered"), - CATALYST_UPGRADED("Catalyst.Upgraded"), - //COINS - COINS_GIVEN("Coins.Given"), - COINS_NOTENOUGH("Coins.NotEnough"), - //AMETHYSTS - AMETHSYT_GIVEN("Amethyst.Given"), - AMETHSYT_NOTENOUGH("Amethyst.NotEnough"), - //GEODES - GEODE_GIVEN("Geodes.Given"), - GEODE_FRAGMENT_GIVEN("Geodes.Fragments.Given"), - //TRACKERS - TRACKER_GIVEN("Tracker.Given"), - TRACKER_ADDED("Tracker.Added"), - //SHOP - SHOP_LINK("Shop.Link"), + NOPERMISSION("NoPermission.Basic"), + NOPERMISSION_WORLD("NoPermission.World"), + DISABLED_WORLD("DisabledWorld"), + COOLDOWN("Cooldown"), + NOTONLINE("NotOnline"), + DELAY("Delay"), + SIGN("Sign"), + MOVED("Moved"), + ALREADY("Already"), + PREFIX("Prefix"), + //EDIT + EDIT_ERROR("Edit.Error"), ; final String section; @@ -51,25 +41,25 @@ public enum MessagesCore { private static final String pre = "Messages."; public void send(CommandSender sendi) { - Message_Gear.sms(sendi, Message_Gear.getLang().getString(pre + section)); + Message_RTP.sms(sendi, Message_RTP.getLang().getString(pre + section)); } public void send(CommandSender sendi, Object placeholderInfo) { - Message_Gear.sms(sendi, Message_Gear.getLang().getString(pre + section), placeholderInfo); + Message_RTP.sms(sendi, Message_RTP.getLang().getString(pre + section), placeholderInfo); } public void send(CommandSender sendi, List placeholderInfo) { - Message_Gear.sms(sendi, Message_Gear.getLang().getString(pre + section), placeholderInfo); + Message_RTP.sms(sendi, Message_RTP.getLang().getString(pre + section), placeholderInfo); } public String get(CommandSender p, Object placeholderInfo) { - return Message.placeholder(p, Message_Gear.getLang().getString(pre + section), placeholderInfo); + return Message.placeholder(p, Message_RTP.getLang().getString(pre + section), placeholderInfo); } public void send(CommandSender sendi, HashMap placeholder_values) { - String msg = Message_Gear.getLang().getString(pre + section); + String msg = Message_RTP.getLang().getString(pre + section); for (String ph : placeholder_values.values()) msg = msg.replace(ph, placeholder_values.get(ph)); - Message_Gear.sms(sendi, msg); + Message_RTP.sms(sendi, msg); } } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesHelp.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesHelp.java index e6f1e55..79de868 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesHelp.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesHelp.java @@ -1,7 +1,6 @@ package me.SuperRonanCraft.BetterRTP.references.messages; import me.SuperRonanCraft.BetterRTP.references.file.FileData; -import me.ronancraft.AmethystGear.resources.files.FileData; public enum MessagesHelp implements MessageData { @@ -34,7 +33,7 @@ public enum MessagesHelp implements MessageData { @Override public FileData file() { - return Message_Gear.getLang(); + return Message_RTP.getLang(); } @Override diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesUsage.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesUsage.java index 38afbe6..2c8f837 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesUsage.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/MessagesUsage.java @@ -1,7 +1,6 @@ package me.SuperRonanCraft.BetterRTP.references.messages; import me.SuperRonanCraft.BetterRTP.references.file.FileData; -import me.ronancraft.AmethystGear.resources.files.FileData; import org.bukkit.command.CommandSender; public enum MessagesUsage implements MessageData { @@ -26,7 +25,7 @@ public enum MessagesUsage implements MessageData { } public void send(CommandSender sendi, Object placeholderInfo) { - Message_Gear.sms(sendi, Message_Gear.getLang().getString(prefix() + section), placeholderInfo); + Message_RTP.sms(sendi, Message_RTP.getLang().getString(prefix() + section), placeholderInfo); } @Override @@ -41,6 +40,6 @@ public enum MessagesUsage implements MessageData { @Override public FileData file() { - return Message_Gear.getLang(); + return Message_RTP.getLang(); } } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java index a6ccbe6..77c5366 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java @@ -10,6 +10,7 @@ import me.SuperRonanCraft.BetterRTP.references.file.FileOther; import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer; import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld; +import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.command.CommandSender; @@ -97,9 +98,9 @@ public class CooldownHandler { return null; } - public long timeLeft(CommandSender sendi, CooldownData data, World world) { + public long timeLeft(CommandSender sendi, CooldownData data, WorldPlayer pWorld) { long cooldown = data.getTime(); - long timeLeft = ((cooldown / 1000) + rtpWorld.getCooldown()) - (System.currentTimeMillis() / 1000); + long timeLeft = ((cooldown / 1000) + pWorld.getCooldown()) - (System.currentTimeMillis() / 1000); if (BetterRTP.getInstance().getSettings().isDelayEnabled() && !PermissionNode.BYPASS_DELAY.check(sendi)) timeLeft = timeLeft + BetterRTP.getInstance().getSettings().getDelayTime(); return timeLeft; diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/Settings.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/Settings.java index a141675..9d73081 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/Settings.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/Settings.java @@ -3,6 +3,7 @@ package me.SuperRonanCraft.BetterRTP.references.settings; import lombok.Getter; import me.SuperRonanCraft.BetterRTP.references.file.FileBasics; import me.SuperRonanCraft.BetterRTP.BetterRTP; +import me.SuperRonanCraft.BetterRTP.references.file.FileOther; public class Settings { @@ -27,6 +28,7 @@ public class Settings { @Getter private String placeholder_nopermission; @Getter private String placeholder_cooldown; @Getter private String placeholder_balance; + @Getter private String placeholder_hunger; @Getter private String placeholder_timeFormat; @Getter private String placeholder_timeDays; @Getter private String placeholder_timeHours; @@ -55,6 +57,7 @@ public class Settings { placeholder_nopermission = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.CanRTP.NoPermission"); placeholder_cooldown = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.CanRTP.Cooldown"); placeholder_balance = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.CanRTP.Price"); + placeholder_hunger = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.CanRTP.Hunger"); placeholder_timeFormat = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.Format"); placeholder_timeDays = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.Days"); placeholder_timeHours = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.Hours");