1
0
mirror of https://github.com/Zrips/Jobs.git synced 2024-11-25 20:16:13 +01:00

When converting, include user table

This commit is contained in:
Zrips 2016-09-23 15:07:35 +03:00
parent 81a02dbbe0
commit d009b5b782
12 changed files with 2871 additions and 2837 deletions

View File

@ -289,7 +289,8 @@ public class PlayerManager {
if (!jPlayer.leaveJob(job))
return false;
Jobs.getJobsDAO().quitJob(jPlayer, job);
if (!Jobs.getJobsDAO().quitJob(jPlayer, job))
return false;
PerformCommands.PerformCommandsOnLeave(jPlayer, job);
Jobs.leaveSlot(job);
@ -319,18 +320,20 @@ public class PlayerManager {
* @param oldjob - the old job
* @param newjob - the new job
*/
public void transferJob(JobsPlayer jPlayer, Job oldjob, Job newjob) {
public boolean transferJob(JobsPlayer jPlayer, Job oldjob, Job newjob) {
// synchronized (jPlayer.saveLock) {
if (!jPlayer.transferJob(oldjob, newjob))
return;
return false;
JobsDAO dao = Jobs.getJobsDAO();
dao.quitJob(jPlayer, oldjob);
if (!dao.quitJob(jPlayer, oldjob))
return false;
oldjob.updateTotalPlayers();
dao.joinJob(jPlayer, newjob);
newjob.updateTotalPlayers();
jPlayer.save();
// }
return true;
}
/**

View File

@ -1,76 +1,78 @@
package com.gamingmesh.jobs.commands.list;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.commands.Cmd;
import com.gamingmesh.jobs.commands.JobCommand;
import com.gamingmesh.jobs.container.Convert;
import com.gamingmesh.jobs.stuff.ChatColor;
public class convert implements Cmd {
@Override
@JobCommand(2600)
public boolean perform(Jobs plugin, final CommandSender sender, final String[] args) {
if (sender instanceof Player) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.fromconsole"));
return false;
}
if (args.length > 0) {
Jobs.getCommandManager().sendUsage(sender, "convert");
return true;
}
List<Convert> list = null;
List<Convert> archivelist = null;
try {
list = Jobs.getJobsDAO().convertDatabase("jobs");
archivelist = Jobs.getJobsDAO().convertDatabase("archive");
} catch (SQLException e) {
e.printStackTrace();
sender.sendMessage(ChatColor.RED + "Can't read data from data base, please send error log to dev's.");
return false;
}
Jobs.ChangeDatabase();
if (list == null & archivelist == null)
return false;
try {
Jobs.getJobsDAO().continueConvertions(list, "jobs");
Jobs.getJobsDAO().continueConvertions(archivelist, "archive");
} catch (SQLException e) {
e.printStackTrace();
sender.sendMessage(ChatColor.RED + "Can't write data to data base, please send error log to dev's.");
return false;
}
try {
Jobs.reload();
} catch (IOException e) {
e.printStackTrace();
}
String from = "MysSQL";
String to = "SqLite";
if (Jobs.getGCManager().storageMethod.equalsIgnoreCase("sqlite")) {
from = "SqLite";
to = "MySQL";
}
sender.sendMessage(ChatColor.GOLD + "Data base was converted from " + ChatColor.GREEN + from + ChatColor.GOLD + " to " + ChatColor.GREEN + to + ChatColor.GOLD
+ "! Now you can stop the server, change storage-method to " + ChatColor.GREEN + to + ChatColor.GOLD
+ " in general config file and start server again on your new database system.");
return true;
}
}
package com.gamingmesh.jobs.commands.list;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.commands.Cmd;
import com.gamingmesh.jobs.commands.JobCommand;
import com.gamingmesh.jobs.container.Convert;
import com.gamingmesh.jobs.stuff.ChatColor;
public class convert implements Cmd {
@Override
@JobCommand(2600)
public boolean perform(Jobs plugin, final CommandSender sender, final String[] args) {
if (sender instanceof Player) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.fromconsole"));
return true;
}
if (args.length > 0) {
Jobs.getCommandManager().sendUsage(sender, "convert");
return true;
}
List<Convert> list = null;
List<Convert> archivelist = null;
try {
list = Jobs.getJobsDAO().convertDatabase("jobs");
archivelist = Jobs.getJobsDAO().convertDatabase("archive");
} catch (SQLException e) {
e.printStackTrace();
sender.sendMessage(ChatColor.RED + "Can't read data from data base, please send error log to dev's.");
return true;
}
Jobs.ChangeDatabase();
if (list == null & archivelist == null)
return false;
try {
Jobs.getJobsDAO().continueConvertions(list, "jobs");
Jobs.getJobsDAO().continueConvertions(archivelist, "archive");
Jobs.getJobsDAO().transferUsers();
} catch (SQLException e) {
e.printStackTrace();
sender.sendMessage(ChatColor.RED + "Can't write data to data base, please send error log to dev's.");
return true;
}
try {
Jobs.reload();
} catch (IOException e) {
e.printStackTrace();
}
String from = "MysSQL";
String to = "SqLite";
if (Jobs.getGCManager().storageMethod.equalsIgnoreCase("sqlite")) {
from = "SqLite";
to = "MySQL";
}
sender.sendMessage(ChatColor.GOLD + "Data base was converted from " + ChatColor.GREEN + from + ChatColor.GOLD + " to " + ChatColor.GREEN + to + ChatColor.GOLD
+ "! Now you can stop the server, change storage-method to " + ChatColor.GREEN + to + ChatColor.GOLD
+ " in general config file and start server again on your new database system.");
return true;
}
}

View File

@ -1,58 +1,56 @@
package com.gamingmesh.jobs.commands.list;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.commands.Cmd;
import com.gamingmesh.jobs.commands.JobCommand;
import com.gamingmesh.jobs.container.Job;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.ChatColor;
public class employ implements Cmd {
@Override
@JobCommand(1800)
public boolean perform(Jobs plugin, CommandSender sender, String[] args) {
if (args.length < 2) {
Jobs.getCommandManager().sendUsage(sender, "employ");
return true;
}
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(args[0]);
Job job = Jobs.getJob(args[1]);
if (job == null) {
sender.sendMessage(ChatColor.RED + Jobs.getLanguage().getMessage("general.error.job"));
return true;
}
if (jPlayer == null) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.noinfoByPlayer", "%playername%", args[0]));
return true;
}
if (jPlayer.isInJob(job)) {
// already in job message
String message = ChatColor.RED + Jobs.getLanguage().getMessage("command.employ.error.alreadyin", "%jobname%", job.getChatColor() + job.getName()
+ ChatColor.RED);
sender.sendMessage(message);
return true;
}
try {
// check if player already has the job
Jobs.getPlayerManager().joinJob(jPlayer, job);
Player player = jPlayer.getPlayer();
if (player != null)
player.sendMessage(Jobs.getLanguage().getMessage("command.employ.output.target", "%jobname%", job.getChatColor() + job.getName() + ChatColor.WHITE));
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success"));
} catch (Exception e) {
sender.sendMessage(ChatColor.RED + Jobs.getLanguage().getMessage("general.admin.error"));
}
return true;
}
}
package com.gamingmesh.jobs.commands.list;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.commands.Cmd;
import com.gamingmesh.jobs.commands.JobCommand;
import com.gamingmesh.jobs.container.Job;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.ChatColor;
public class employ implements Cmd {
@Override
@JobCommand(1800)
public boolean perform(Jobs plugin, CommandSender sender, String[] args) {
if (args.length < 2) {
Jobs.getCommandManager().sendUsage(sender, "employ");
return true;
}
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(args[0]);
Job job = Jobs.getJob(args[1]);
if (job == null) {
sender.sendMessage(ChatColor.RED + Jobs.getLanguage().getMessage("general.error.job"));
return true;
}
if (jPlayer == null) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.noinfoByPlayer", "%playername%", args[0]));
return true;
}
if (jPlayer.isInJob(job)) {
// already in job message
String message = ChatColor.RED + Jobs.getLanguage().getMessage("command.employ.error.alreadyin", "%jobname%", job.getChatColor() + job.getName()
+ ChatColor.RED);
sender.sendMessage(message);
return true;
}
try {
// check if player already has the job
Jobs.getPlayerManager().joinJob(jPlayer, job);
Player player = jPlayer.getPlayer();
if (player != null)
player.sendMessage(Jobs.getLanguage().getMessage("command.employ.output.target", "%jobname%", job.getChatColor() + job.getName() + ChatColor.WHITE));
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success"));
} catch (Exception e) {
sender.sendMessage(ChatColor.RED + Jobs.getLanguage().getMessage("general.admin.error"));
}
return true;
}
}

View File

@ -1,57 +1,55 @@
package com.gamingmesh.jobs.commands.list;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.commands.Cmd;
import com.gamingmesh.jobs.commands.JobCommand;
import com.gamingmesh.jobs.container.Job;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.ChatColor;
public class fire implements Cmd {
@Override
@JobCommand(1900)
public boolean perform(Jobs plugin, final CommandSender sender, final String[] args) {
if (args.length < 2) {
Jobs.getCommandManager().sendUsage(sender, "fire");
return true;
}
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(args[0]);
Job job = Jobs.getJob(args[1]);
if (job == null) {
sender.sendMessage(ChatColor.RED + Jobs.getLanguage().getMessage("general.error.job"));
return true;
}
if (jPlayer == null) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.noinfoByPlayer", "%playername%", args[0]));
return true;
}
if (!jPlayer.isInJob(job)) {
String message = ChatColor.RED + Jobs.getLanguage().getMessage("command.fire.error.nojob", "%jobname%", job.getChatColor() + job.getName() + ChatColor.RED);
sender.sendMessage(message);
return true;
}
try {
Jobs.getPlayerManager().leaveJob(jPlayer, job);
Player player = jPlayer.getPlayer();
if (player != null) {
String message = Jobs.getLanguage().getMessage("command.fire.output.target", "%jobname%", job.getChatColor() + job.getName() + ChatColor.WHITE);
player.sendMessage(message);
}
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success"));
} catch (Exception e) {
sender.sendMessage(ChatColor.RED + Jobs.getLanguage().getMessage("general.admin.error"));
}
return true;
}
}
package com.gamingmesh.jobs.commands.list;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.commands.Cmd;
import com.gamingmesh.jobs.commands.JobCommand;
import com.gamingmesh.jobs.container.Job;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.ChatColor;
public class fire implements Cmd {
@Override
@JobCommand(1900)
public boolean perform(Jobs plugin, final CommandSender sender, final String[] args) {
if (args.length < 2) {
Jobs.getCommandManager().sendUsage(sender, "fire");
return true;
}
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(args[0]);
Job job = Jobs.getJob(args[1]);
if (job == null) {
sender.sendMessage(ChatColor.RED + Jobs.getLanguage().getMessage("general.error.job"));
return true;
}
if (jPlayer == null) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.noinfoByPlayer", "%playername%", args[0]));
return true;
}
if (!jPlayer.isInJob(job)) {
String message = ChatColor.RED + Jobs.getLanguage().getMessage("command.fire.error.nojob", "%jobname%", job.getChatColor() + job.getName() + ChatColor.RED);
sender.sendMessage(message);
return true;
}
try {
Jobs.getPlayerManager().leaveJob(jPlayer, job);
Player player = jPlayer.getPlayer();
if (player != null) {
String message = Jobs.getLanguage().getMessage("command.fire.output.target", "%jobname%", job.getChatColor() + job.getName() + ChatColor.WHITE);
player.sendMessage(message);
}
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success"));
} catch (Exception e) {
sender.sendMessage(ChatColor.RED + Jobs.getLanguage().getMessage("general.admin.error"));
}
return true;
}
}

View File

@ -540,7 +540,7 @@ public class ConfigManager {
break;
}
} else if (actionType == ActionType.ENCHANT && material == null) {
} else if (actionType == ActionType.ENCHANT) {
Enchantment enchant = Enchantment.getByName(myKey);
if (enchant != null)
id = enchant.getId();

View File

@ -1,460 +1,459 @@
package com.gamingmesh.jobs.config;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.bukkit.configuration.file.YamlConfiguration;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.container.LocaleReader;
import com.gamingmesh.jobs.stuff.Debug;
public class LanguageManager {
private Jobs plugin;
public LanguageManager(Jobs plugin) {
this.plugin = plugin;
}
/**
* Method to load the language file configuration
*
* loads from Jobs/locale/messages_en.yml
*/
synchronized void load() {
long time = System.currentTimeMillis();
// Just copying default language files, except en, that one will be generated
List<String> languages = new ArrayList<String>();
languages.add("cs");
languages.add("cz");
languages.add("de");
languages.add("es");
languages.add("fr");
languages.add("lt");
languages.add("ru");
languages.add("tr");
Debug.D(System.currentTimeMillis() - time);
for (String lang : languages) {
YmlMaker langFile = new YmlMaker(plugin, "locale" + File.separator + "messages_" + lang + ".yml");
if (langFile != null)
langFile.saveDefaultConfig();
}
Debug.D(System.currentTimeMillis() - time);
languages.add("en");
File customLocaleFile = new File(plugin.getDataFolder(), "locale" + File.separator + "messages_" + Jobs.getGCManager().localeString + ".yml");
if (!customLocaleFile.exists() && !Jobs.getGCManager().localeString.equalsIgnoreCase("en"))
languages.add(Jobs.getGCManager().localeString);
Debug.D(System.currentTimeMillis() - time);
for (String lang : languages) {
Debug.D(lang + " -> " + (System.currentTimeMillis() - time));
File f = new File(plugin.getDataFolder(), "locale" + File.separator + "messages_" + lang + ".yml");
YamlConfiguration config = YamlConfiguration.loadConfiguration(f);
CommentedYamlConfiguration writer = new CommentedYamlConfiguration();
LocaleReader c = new LocaleReader(config, writer);
c.getC().options().copyDefaults(true);
Jobs.getGCManager().commandArgs.clear();
c.get("economy.error.nomoney", "&cSorry, no money left in national bank!");
c.get("limitedItem.error.levelup", "&cYou need to levelup in [jobname] to use this item!");
c.get("general.info.toplineseparator", "&7*********************** &6%playername% &7***********************");
c.get("general.info.separator", "&7*******************************************************");
c.get("general.admin.error", "&cThere was an error in the command.");
c.get("general.admin.success", "&eYour command has been performed.");
c.get("general.error.noHelpPage", "&cThere is no help page by this number!");
c.get("general.error.notNumber", "&ePlease use numbers!");
c.get("general.error.job", "&cThe job you have selected does not exist!");
c.get("general.error.permission", "&cYou do not have permission to do that!");
c.get("general.error.noinfo", "&cNo information found!");
c.get("general.error.noinfoByPlayer", "&cNo information found by [%playername%] player name!");
c.get("general.error.ingame", "&cYou can use this command only in game!");
c.get("general.error.fromconsole", "&cYou can use this command only from console!");
c.get("general.error.worldisdisabled", "&cYou cant use command in this world!");
c.get("command.moneyboost.help.info", "Boosts Money gain for all players");
c.get("command.moneyboost.help.args", "[jobname] [rate]");
Jobs.getGCManager().commandArgs.put("moneyboost", Arrays.asList("[jobname]", "[rate]"));
c.get("command.moneyboost.output.allreset", "All money boost turned off");
c.get("command.moneyboost.output.jobsboostreset", "Money boost for %jobname% was turned off");
c.get("command.moneyboost.output.nothingtoreset", "Nothing to reset");
c.get("command.moneyboost.output.boostalladded", "Money boost of %boost% added for all jobs!");
c.get("command.moneyboost.output.boostadded", "Money boost of &e%boost% &aadded for &e%jobname%!");
c.get("command.moneyboost.output.infostats", "&c-----> &aMoney rate x%boost% enabled&c <-------");
c.get("command.pointboost.help.info", "Boosts points gain for all players");
c.get("command.pointboost.help.args", "[jobname] [rate]");
Jobs.getGCManager().commandArgs.put("pointboost", Arrays.asList("[jobname]", "[rate]"));
c.get("command.pointboost.output.allreset", "All points boost turned off");
c.get("command.pointboost.output.jobsboostreset", "Points boost for %jobname% was turned off");
c.get("command.pointboost.output.nothingtoreset", "Nothing to reset");
c.get("command.pointboost.output.boostalladded", "Points boost of %boost% added for all jobs!");
c.get("command.pointboost.output.boostadded", "Points boost of &e%boost% &aadded for &e%jobname%!");
c.get("command.pointboost.output.infostats", "&c-----> &aPoints rate x%boost% enabled&c <-------");
c.get("command.expboost.help.info", "Boosts Exp gain for all players");
c.get("command.expboost.help.args", "[jobname] [rate]");
Jobs.getGCManager().commandArgs.put("expboost", Arrays.asList("[jobname]", "[rate]"));
c.get("command.expboost.output.allreset", "All exp boost turned off");
c.get("command.expboost.output.jobsboostreset", "Exp boost for %jobname% was turned off");
c.get("command.expboost.output.nothingtoreset", "Nothing to reset");
c.get("command.expboost.output.boostalladded", "Exp boost of %boost% added for all jobs!");
c.get("command.expboost.output.boostadded", "Exp boost of &e%boost% &aadded for &e%jobname%!");
c.get("command.expboost.output.infostats", "&c-----> &aExp rate x%boost% enabled&c <-------");
c.get("command.bonus.help.info", "Show job bonuses");
c.get("command.bonus.help.args", "[jobname]");
Jobs.getGCManager().commandArgs.put("bonus", Arrays.asList("[jobname]"));
c.get("command.bonus.output.topline", "&7**************** &2[money] &6[points] &e[exp] &7****************");
c.get("command.bonus.output.permission", " &ePermission bonus: %money% %points% %exp%");
c.get("command.bonus.output.item", " &eItem bonus: %money% %points% %exp%");
c.get("command.bonus.output.global", " &eGlobal bonus: %money% %points% %exp%");
c.get("command.bonus.output.dynamic", " &eDynamic payment bonus: %money% %points% %exp%");
c.get("command.bonus.output.area", " &eArea bonus: %money% %points% %exp%");
c.get("command.bonus.output.final", " &eFinal bonus: %money% %points% %exp%");
c.get("command.convert.help.info",
"Converts data base system from one system to another. if you currently running sqlite, this will convert to Mysql and vise versa.");
c.get("command.convert.help.args", "");
c.get("command.limit.help.info", "Shows payment limits for jobs");
c.get("command.limit.help.args", "");
c.get("command.limit.output.lefttime", "&eTime left until money limit resets: &2%hour% &ehour &2%min% &emin &2%sec% &esec");
c.get("command.limit.output.moneylimit", "&eMoney limit: &2%money%&e/&2%totalmoney%");
c.get("command.limit.output.leftexptime", "&eTime left until Exp limit resets: &2%hour% &ehour &2%min% &emin &2%sec% &esec");
c.get("command.limit.output.explimit", "&eExp limit: &2%exp%&e/&2%totalexp%");
c.get("command.limit.output.leftpointtime", "&eTime left until Point limit resets: &2%hour% &ehour &2%min% &emin &2%sec% &esec");
c.get("command.limit.output.pointlimit", "&ePoint limit: &2%current%&e/&2%total%");
c.get("command.limit.output.reachedlimit", "&4You have reached money limit in given time!");
c.get("command.limit.output.reachedlimit2", "&eYou can check your limit with &2/jobs limit &ecommand");
c.get("command.limit.output.reachedExplimit", "&4You have reached exp limit in given time!");
c.get("command.limit.output.reachedExplimit2", "&eYou can check your limit with &2/jobs limit &ecommand");
c.get("command.limit.output.reachedPointlimit", "&4You have reached exp limit in given time!");
c.get("command.limit.output.reachedPointlimit2", "&eYou can check your limit with &2/jobs limit &ecommand");
c.get("command.limit.output.notenabled", "&eMoney limit is not enabled");
c.get("command.help.output.info", "Type /jobs [cmd] ? for more information about a command.");
c.get("command.help.output.usage", "Usage: %usage%");
c.get("command.help.output.title", "&e-------&e ======= &6Jobs &e======= &e-------");
c.get("command.help.output.page", "&e-----&e ====== Page &6[1] &eof &6[2] &e====== &e-----");
c.get("command.help.output.prev", "&e--- <<<<< &6Prev page &e|");
c.get("command.help.output.next", "&e|&6 Next Page &e>>>> ---");
c.get("command.points.help.info", "Shows how much points player have.");
c.get("command.points.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("points", Arrays.asList("[playername]"));
c.get("command.points.currentpoints", " &eCurrent point amount: &6%currentpoints%");
c.get("command.points.totalpoints", " &eTotal amount of collected points until now: &6%totalpoints%");
c.get("command.editpoints.help.info", "Edit players points.");
c.get("command.editpoints.help.args", "[set/add/take] [playername] [amount]");
Jobs.getGCManager().commandArgs.put("editpoints", Arrays.asList("set%%add%%take", "[playername]"));
c.get("command.editpoints.output.set", "&ePlayers (&6%playername%&e) points was set to &6%amount%");
c.get("command.editpoints.output.add", "&ePlayer (&6%playername%&e) got aditinal &6%amount% &epoints. Now he has &6%total%");
c.get("command.editpoints.output.take", "&ePlayer (&6%playername%&e) lost &6%amount% &epoints. Now he has &6%total%");
c.get("command.blockinfo.help.info", "Shows block information you looking at.");
c.get("command.blockinfo.help.args", "");
c.get("command.blockinfo.output.name", " &eBlock name: &6%blockname%");
c.get("command.blockinfo.output.id", " &eBlock id: &6%blockid%");
c.get("command.blockinfo.output.data", " &eBlock data: &6%blockdata%");
c.get("command.blockinfo.output.usage", " &eUsage: &6%first% &eor &6%second%");
c.get("command.stats.help.info", "Show the level you are in each job you are part of.");
c.get("command.stats.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("stats", Arrays.asList("[playername]"));
c.get("command.stats.error.nojob", "Please join a job first.");
c.get("command.stats.output", " lvl%joblevel% %jobname% : %jobxp%/%jobmaxxp% xp");
c.get("command.shop.help.info", "Opens special jobs shop.");
c.get("command.shop.help.args", "");
c.get("command.shop.info.title", "&e------- &8Jobs shop &e-------");
c.get("command.shop.info.currentPoints", "&eYou have: &6%currentpoints%");
c.get("command.shop.info.price", "&ePrice: &6%price%");
c.get("command.shop.info.reqJobs", "&eRequired jobs:");
c.get("command.shop.info.reqJobsList", " &6%jobsname%&e: &e%level% lvl");
c.get("command.shop.info.cantOpen", "&cCan't open this page");
c.get("command.shop.info.NoPermForItem", "&cYou don't have required permissions for this item!");
c.get("command.shop.info.NoPermToBuy", "&cNo permissions to buy this item");
c.get("command.shop.info.NoJobReqForitem", "&cYou don't have required job (&6%jobname%&e) with required (&6%joblevel%&e) level");
c.get("command.shop.info.NoPoints", "&cYou don't have enough points");
c.get("command.shop.info.Paid", "&eYou have paid &6%amount% &efor this item");
c.get("command.shop.info.reqJobsList", " &6%jobsname%&e: &e%level% lvl");
c.get("command.archive.help.info", "Shows all jobs saved in archive by user.");
c.get("command.archive.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("archive", Arrays.asList("[playername]"));
c.get("command.archive.error.nojob", "There is no jobs saved.");
c.get("command.archive.output", "lvl %joblevel% (%getbackjoblevel%) %jobname%");
c.get("command.give.help.info", "Gives item by jobs name and item category name. Player name is optional");
c.get("command.give.help.args", "[playername] [jobname] [itemname]");
Jobs.getGCManager().commandArgs.put("give", Arrays.asList("[playername]", "[jobname]", "[jobitemname]"));
c.get("command.give.output.notonline", "&4Player [%playername%] is not online!");
c.get("command.give.output.noitem", "&4Cant find any item by given name!");
c.get("command.info.help.title", "&2*** &eJobs&2 ***");
c.get("command.info.help.info", "Show how much each job is getting paid and for what.");
c.get("command.info.help.penalty", "&eThis job have &c[penalty]% &epenalty because of too many players working in it.");
c.get("command.info.help.bonus", "&eThis job have &2[bonus]% &ebonus because not enough players working in it.");
c.get("command.info.help.args", "[jobname] [action]");
Jobs.getGCManager().commandArgs.put("info", Arrays.asList("[jobname]", "[action]"));
c.get("command.info.help.actions", "&eValid actions are: &f%actions%");
c.get("command.info.help.max", " - &emax level:&f ");
c.get("command.info.help.material", "&7%material%");
c.get("command.info.help.levelRange", " &a(&e%levelFrom% &a- &e%levelUntil% &alevels)");
c.get("command.info.help.levelFrom", " &a(from &e%levelFrom% &alevel)");
c.get("command.info.help.levelUntil", " &a(until &e%levelUntil% &alevel)");
c.get("command.info.help.money", " &2%money%\u0024");
c.get("command.info.help.points", " &6%points%points");
c.get("command.info.help.exp", " &e%exp%xp");
c.get("command.info.gui.pickjob", "&ePick your job!");
c.get("command.info.gui.jobinfo", "&e[jobname] info!");
c.get("command.info.gui.actions", "&eValid actions are:");
c.get("command.info.gui.leftClick", "&eLeft Click for more info");
c.get("command.info.gui.rightClick", "&eRight click to join job");
c.get("command.info.gui.leftSlots", "&eLeft slots:&f ");
c.get("command.info.gui.working", "&2&nAlready working");
c.get("command.info.gui.max", "&eMax level:&f ");
c.get("command.info.gui.back", "&e<<< Back");
c.get("command.info.output.break.info", "Break");
c.get("command.info.output.break.none", "%jobname% does not get money for breaking blocks.");
c.get("command.info.output.tntbreak.info", "TNTBreak");
c.get("command.info.output.tntbreak.none", "%jobname% does not get money for breaking blocks with tnt.");
c.get("command.info.output.place.info", "Place");
c.get("command.info.output.place.none", "%jobname% does not get money for placing blocks.");
c.get("command.info.output.kill.info", "Kill");
c.get("command.info.output.kill.none", "%jobname% does not get money for killing monsters.");
c.get("command.info.output.mmkill.info", "MMKill");
c.get("command.info.output.mmkill.none", "%jobname% does not get money for killing Mythic monsters.");
c.get("command.info.output.fish.info", "Fish");
c.get("command.info.output.fish.none", "%jobname% does not get money from fishing.");
c.get("command.info.output.craft.info", "Craft");
c.get("command.info.output.craft.none", "%jobname% does not get money from crafting.");
c.get("command.info.output.smelt.info", "Smelt");
c.get("command.info.output.smelt.none", "%jobname% does not get money from smelting.");
c.get("command.info.output.brew.info", "Brew");
c.get("command.info.output.brew.none", "%jobname% does not get money from brewing.");
c.get("command.info.output.eat.info", "Eat");
c.get("command.info.output.eat.none", "%jobname% does not get money from eating food.");
c.get("command.info.output.dye.info", "Dye");
c.get("command.info.output.dye.none", "%jobname% does not get money from dyeing.");
c.get("command.info.output.enchant.info", "Enchant");
c.get("command.info.output.enchant.none", "%jobname% does not get money from enchanting.");
c.get("command.info.output.repair.info", "Repair");
c.get("command.info.output.repair.none", "%jobname% does not get money from repairing.");
c.get("command.info.output.breed.info", "Breed");
c.get("command.info.output.breed.none", "%jobname% does not get money from breeding.");
c.get("command.info.output.tame.info", "Tame");
c.get("command.info.output.tame.none", "%jobname% does not get money from taming.");
c.get("command.info.output.milk.info", "Milk");
c.get("command.info.output.milk.none", "%jobname% does not get money from milking cows.");
c.get("command.info.output.shear.info", "Shear");
c.get("command.info.output.shear.none", "%jobname% does not get money from shearing sheeps.");
c.get("command.info.output.explore.info", "Explore");
c.get("command.info.output.explore.none", "%jobname% does not get money from exploring.");
c.get("command.info.output.custom-kill.info", "Custom kill");
c.get("command.info.output.custom-kill.none", "%jobname% does not get money from custom player kills.");
c.get("command.playerinfo.help.info", "Show how much each job is getting paid and for what on another player.");
c.get("command.playerinfo.help.args", "[playername] [jobname] [action]");
Jobs.getGCManager().commandArgs.put("playerinfo", Arrays.asList("[playername]", "[jobname]", "[action]"));
c.get("command.join.help.info", "Join the selected job.");
c.get("command.join.help.args", "[jobname]");
Jobs.getGCManager().commandArgs.put("join", Arrays.asList("[jobname]"));
c.get("command.join.error.alreadyin", "You are already in the job %jobname%.");
c.get("command.join.error.fullslots", "You cannot join the job %jobname%, there are no slots available.");
c.get("command.join.error.maxjobs", "You have already joined too many jobs.");
c.get("command.join.success", "You have joined the job %jobname%.");
c.get("command.leave.help.info", "Leave the selected job.");
c.get("command.leave.help.args", "[oldplayerjob]");
Jobs.getGCManager().commandArgs.put("leave", Arrays.asList("[oldplayerjob]"));
c.get("command.leave.success", "You have left the job %jobname%.");
c.get("command.leaveall.help.info", "Leave all your jobs.");
c.get("command.leaveall.error.nojobs", "You do not have any jobs to leave!");
c.get("command.leaveall.success", "You have left all your jobs.");
c.get("command.browse.help.info", "List the jobs available to you.");
c.get("command.browse.error.nojobs", "There are no jobs you can join.");
c.get("command.browse.output.header", "You are allowed to join the following jobs:");
c.get("command.browse.output.footer", "For more information type in /jobs info [JobName]");
c.get("command.browse.output.totalWorkers", " &7Workers: &e[amount]");
c.get("command.browse.output.penalty", " &4Penalty: &c[amount]%");
c.get("command.browse.output.bonus", " &2Bonus: &a[amount]%");
c.get("command.fire.help.info", "Fire the player from the job.");
c.get("command.fire.help.args", "[playername] [jobname]");
Jobs.getGCManager().commandArgs.put("fire", Arrays.asList("[playername]", "[oldjob]"));
c.get("command.fire.error.nojob", "Player does not have the job %jobname%.");
c.get("command.fire.output.target", "You have been fired from %jobname%.");
c.get("command.fireall.help.info", "Fire player from all their jobs.");
c.get("command.fireall.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("fireall", Arrays.asList("[playername]"));
c.get("command.fireall.error.nojobs", "Player does not have any jobs to be fired from!");
c.get("command.fireall.output.target", "You have been fired from all your jobs.");
c.get("command.employ.help.info", "Employ the player to the job.");
c.get("command.employ.help.args", "[playername] [jobname]");
Jobs.getGCManager().commandArgs.put("employ", Arrays.asList("[playername]", "[jobname]"));
c.get("command.employ.error.alreadyin", "Player is already in the job %jobname%.");
c.get("command.employ.output.target", "You have been employed as a %jobname%.");
c.get("command.top.help.info", "Shows top 15 players by jobs name.");
c.get("command.top.help.args", "[jobname]");
Jobs.getGCManager().commandArgs.put("top", Arrays.asList("[jobname]"));
c.get("command.top.error.nojob", "Cant find any job with this name.");
c.get("command.top.output.topline", "&aTop&e 15 &aplayers by &e%jobname% &ajob");
c.get("command.top.output.list", "&e%number%&a. &e%playername% &alvl &e%level% &awith&e %exp% &aexp");
c.get("command.top.output.prev", "&e<<<<< Prev page &2|");
c.get("command.top.output.next", "&2|&e Next Page >>>>");
c.get("command.top.output.show", "&2Show from &e[from] &2until &e[until] &2top list");
c.get("command.gtop.help.info", "Shows top 15 players by global jobs level.");
c.get("command.gtop.help.args", "");
c.get("command.gtop.error.nojob", "Cant find any information.");
c.get("command.gtop.output.topline", "&aTop&e 15 &aplayers by global job level");
c.get("command.gtop.output.list", "&e%number%&a. &e%playername% &alvl &e%level% &awith&e %exp% &aexp");
c.get("command.gtop.output.prev", "&e<<<<< Prev page &2|");
c.get("command.gtop.output.next", "&2|&e Next Page >>>>");
c.get("command.gtop.output.show", "&2Show from &e[from] &2until &e[until] &2global top list");
c.get("command.log.help.info", "Shows statistics.");
c.get("command.log.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("log", Arrays.asList("[playername]"));
c.get("command.log.output.topline", "&7************************* &6%playername% &7*************************");
c.get("command.log.output.list", "&7* &6%number%. &3%action%: &6%item% &eqty: %qty% &6money: %money% &eexp: %exp%");
c.get("command.log.output.bottomline", "&7***********************************************************");
c.get("command.log.output.prev", "&e<<<<< Prev page &2|");
c.get("command.log.output.next", "&2|&e Next Page >>>>");
c.get("command.log.output.nodata", "&cData not found");
c.get("command.glog.help.info", "Shows global statistics.");
c.get("command.glog.help.args", "");
c.get("command.glog.output.topline", "&7*********************** &6Global statistics &7***********************");
c.get("command.glog.output.list", "&7* &6%number%. &3%username% &e%action%: &6%item% &eqty: %qty% &6money: %money% &eexp: %exp%");
c.get("command.glog.output.bottomline", "&7**************************************************************");
c.get("command.glog.output.nodata", "&cData not found");
c.get("command.transfer.help.info", "Transfer a player's job from an old job to a new job.");
c.get("command.transfer.help.args", "[playername] [oldjob] [newjob]");
Jobs.getGCManager().commandArgs.put("transfer", Arrays.asList("[playername]", "[oldjob]", "[jobname]"));
c.get("command.transfer.output.target", "You have been transferred from %oldjobname% to %newjobname%.");
c.get("command.promote.help.info", "Promote the player X levels in a job.");
c.get("command.promote.help.args", "[playername] [jobname] [levels]");
Jobs.getGCManager().commandArgs.put("promote", Arrays.asList("[playername]", "[jobname]", "[levels]"));
c.get("command.promote.output.target", "You have been promoted %levelsgained% levels in %jobname%.");
c.get("command.demote.help.info", "Demote the player X levels in a job.");
c.get("command.demote.help.args", "[playername] [jobname] [levels]");
Jobs.getGCManager().commandArgs.put("demote", Arrays.asList("[playername]", "[jobname]", "[levels]"));
c.get("command.demote.output.target", "You have been demoted %levelslost% levels in %jobname%.");
c.get("command.grantxp.help.info", "Grant the player X experience in a job.");
c.get("command.grantxp.help.args", "[playername] [jobname] [xp]");
Jobs.getGCManager().commandArgs.put("grantxp", Arrays.asList("[playername]", "[jobname]", "[xp]"));
c.get("command.grantxp.output.target", "You have been granted %xpgained% experience in %jobname%.");
c.get("command.removexp.help.info", "Remove X experience from the player in a job.");
c.get("command.removexp.help.args", "[playername] [jobname] [xp]");
Jobs.getGCManager().commandArgs.put("removexp", Arrays.asList("[playername]", "[jobname]", "[xp]"));
c.get("command.removexp.output.target", "You have lost %xplost% experience in %jobname%.");
c.get("command.signupdate.help.info", "Manualy updates sign by its name");
c.get("command.signupdate.help.args", "[jobname]");
Jobs.getGCManager().commandArgs.put("signupdate", Arrays.asList("[jobname]"));
c.get("command.reload.help.info", "Reload configurations.");
c.get("command.toggle.help.info", "Toggles payment output on action bar or bossbar.");
c.get("command.toggle.help.args", "[actionbar/bossbar]");
c.get("command.toggle.output.turnedoff", "&4This feature are turned off!");
c.get("command.toggle.output.paid.main", "&aYou got:");
c.get("command.toggle.output.paid.money", "&e[amount] money");
c.get("command.toggle.output.paid.exp", "&7[exp] exp");
c.get("command.toggle.output.paid.points", "&6[points] points");
c.get("command.toggle.output.on", "&aToggled: &aON");
c.get("command.toggle.output.off", "&aToggled: &4OFF");
Jobs.getGCManager().commandArgs.put("toggle", Arrays.asList("ActionBar%%BossBar"));
c.get("message.skillup.broadcast", "%playername% has been promoted to a %titlename% %jobname%.");
c.get("message.skillup.nobroadcast", "Congratulations, you have been promoted to a %titlename% %jobname%.");
c.get("message.levelup.broadcast", "%playername% is now a level %joblevel% %jobname%.");
c.get("message.levelup.nobroadcast", "You are now a level %joblevel% %jobname%.");
c.get("message.cowtimer", "&eYou still need to wait &6%time% &esec to get paid for this job.");
c.get("message.blocktimer", "&eYou need to wait: &3[time] &esec more to get paid for this!");
c.get("message.placeblocktimer", "&eYou cant place block faster than &6[time] &esec interval in same place!");
c.get("message.taxes", "&3[amount] &eserver taxes where transfered to this account");
c.get("message.boostStarted", "&eJobs boost time have been started!");
c.get("message.boostStoped", "&eJobs boost time have been ended!");
c.get("message.crafting.fullinventory", "Your inventory is full!");
c.get("signs.List", "&0[number].&8[player]&7:&4[level]");
c.get("signs.SpecialList.1.1", "&b** &8First &b**");
c.get("signs.SpecialList.1.2", "&9[player]");
c.get("signs.SpecialList.1.3", "&8[level] level");
c.get("signs.SpecialList.1.4", "&b************");
c.get("signs.SpecialList.2.1", "&b** &8Second &b**");
c.get("signs.SpecialList.2.2", "&9[player]");
c.get("signs.SpecialList.2.3", "&8[level] level");
c.get("signs.SpecialList.2.4", "&b************");
c.get("signs.SpecialList.3.1", "&b** &8Third &b**");
c.get("signs.SpecialList.3.2", "&9[player]");
c.get("signs.SpecialList.3.3", "&8[level] level");
c.get("signs.SpecialList.3.4", "&b************");
c.get("signs.cantcreate", "&4You can't create this sign!");
c.get("signs.cantdestroy", "&4You can't destroy this sign!");
c.get("signs.topline", "&2[Jobs]");
c.get("signs.secondline.join", "&2Join");
c.get("signs.secondline.leave", "&4Leave");
c.get("signs.secondline.toggle", "&2Toggle");
c.get("signs.secondline.top", "&2Top");
c.get("signs.secondline.browse", "&2Browse");
c.get("signs.secondline.stats", "&2Stats");
c.get("signs.secondline.limit", "&2Limit");
c.get("signs.secondline.info", "&2Info");
c.get("signs.secondline.archive", "&2Archive");
//c.get("scoreboard.clear", "&eIf you want to remove scoreboard, type &2/jobs top clear");
c.get("scoreboard.topline", "&2Top &e%jobname%");
c.get("scoreboard.gtopline", "&2Global top list");
c.get("scoreboard.lines", "&2%number%. &e%playername%");
Jobs.getGCManager().keys = new ArrayList<String>(c.getC().getConfigurationSection("signs.secondline").getKeys(false));
// Write back config
try {
c.getW().save(f);
} catch (IOException e) {
e.printStackTrace();
}
}
Debug.D(System.currentTimeMillis() - time);
}
}
package com.gamingmesh.jobs.config;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.bukkit.configuration.file.YamlConfiguration;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.container.LocaleReader;
import com.gamingmesh.jobs.stuff.Debug;
public class LanguageManager {
private Jobs plugin;
public LanguageManager(Jobs plugin) {
this.plugin = plugin;
}
/**
* Method to load the language file configuration
*
* loads from Jobs/locale/messages_en.yml
*/
synchronized void load() {
long time = System.currentTimeMillis();
// Just copying default language files, except en, that one will be generated
List<String> languages = new ArrayList<String>();
languages.add("cs");
languages.add("cz");
languages.add("de");
languages.add("es");
languages.add("fr");
languages.add("lt");
languages.add("ru");
languages.add("tr");
Debug.D(System.currentTimeMillis() - time);
for (String lang : languages) {
YmlMaker langFile = new YmlMaker(plugin, "locale" + File.separator + "messages_" + lang + ".yml");
langFile.saveDefaultConfig();
}
Debug.D(System.currentTimeMillis() - time);
languages.add("en");
File customLocaleFile = new File(plugin.getDataFolder(), "locale" + File.separator + "messages_" + Jobs.getGCManager().localeString + ".yml");
if (!customLocaleFile.exists() && !Jobs.getGCManager().localeString.equalsIgnoreCase("en"))
languages.add(Jobs.getGCManager().localeString);
Debug.D(System.currentTimeMillis() - time);
for (String lang : languages) {
Debug.D(lang + " -> " + (System.currentTimeMillis() - time));
File f = new File(plugin.getDataFolder(), "locale" + File.separator + "messages_" + lang + ".yml");
YamlConfiguration config = YamlConfiguration.loadConfiguration(f);
CommentedYamlConfiguration writer = new CommentedYamlConfiguration();
LocaleReader c = new LocaleReader(config, writer);
c.getC().options().copyDefaults(true);
Jobs.getGCManager().commandArgs.clear();
c.get("economy.error.nomoney", "&cSorry, no money left in national bank!");
c.get("limitedItem.error.levelup", "&cYou need to levelup in [jobname] to use this item!");
c.get("general.info.toplineseparator", "&7*********************** &6%playername% &7***********************");
c.get("general.info.separator", "&7*******************************************************");
c.get("general.admin.error", "&cThere was an error in the command.");
c.get("general.admin.success", "&eYour command has been performed.");
c.get("general.error.noHelpPage", "&cThere is no help page by this number!");
c.get("general.error.notNumber", "&ePlease use numbers!");
c.get("general.error.job", "&cThe job you have selected does not exist!");
c.get("general.error.permission", "&cYou do not have permission to do that!");
c.get("general.error.noinfo", "&cNo information found!");
c.get("general.error.noinfoByPlayer", "&cNo information found by [%playername%] player name!");
c.get("general.error.ingame", "&cYou can use this command only in game!");
c.get("general.error.fromconsole", "&cYou can use this command only from console!");
c.get("general.error.worldisdisabled", "&cYou cant use command in this world!");
c.get("command.moneyboost.help.info", "Boosts Money gain for all players");
c.get("command.moneyboost.help.args", "[jobname] [rate]");
Jobs.getGCManager().commandArgs.put("moneyboost", Arrays.asList("[jobname]", "[rate]"));
c.get("command.moneyboost.output.allreset", "All money boost turned off");
c.get("command.moneyboost.output.jobsboostreset", "Money boost for %jobname% was turned off");
c.get("command.moneyboost.output.nothingtoreset", "Nothing to reset");
c.get("command.moneyboost.output.boostalladded", "Money boost of %boost% added for all jobs!");
c.get("command.moneyboost.output.boostadded", "Money boost of &e%boost% &aadded for &e%jobname%!");
c.get("command.moneyboost.output.infostats", "&c-----> &aMoney rate x%boost% enabled&c <-------");
c.get("command.pointboost.help.info", "Boosts points gain for all players");
c.get("command.pointboost.help.args", "[jobname] [rate]");
Jobs.getGCManager().commandArgs.put("pointboost", Arrays.asList("[jobname]", "[rate]"));
c.get("command.pointboost.output.allreset", "All points boost turned off");
c.get("command.pointboost.output.jobsboostreset", "Points boost for %jobname% was turned off");
c.get("command.pointboost.output.nothingtoreset", "Nothing to reset");
c.get("command.pointboost.output.boostalladded", "Points boost of %boost% added for all jobs!");
c.get("command.pointboost.output.boostadded", "Points boost of &e%boost% &aadded for &e%jobname%!");
c.get("command.pointboost.output.infostats", "&c-----> &aPoints rate x%boost% enabled&c <-------");
c.get("command.expboost.help.info", "Boosts Exp gain for all players");
c.get("command.expboost.help.args", "[jobname] [rate]");
Jobs.getGCManager().commandArgs.put("expboost", Arrays.asList("[jobname]", "[rate]"));
c.get("command.expboost.output.allreset", "All exp boost turned off");
c.get("command.expboost.output.jobsboostreset", "Exp boost for %jobname% was turned off");
c.get("command.expboost.output.nothingtoreset", "Nothing to reset");
c.get("command.expboost.output.boostalladded", "Exp boost of %boost% added for all jobs!");
c.get("command.expboost.output.boostadded", "Exp boost of &e%boost% &aadded for &e%jobname%!");
c.get("command.expboost.output.infostats", "&c-----> &aExp rate x%boost% enabled&c <-------");
c.get("command.bonus.help.info", "Show job bonuses");
c.get("command.bonus.help.args", "[jobname]");
Jobs.getGCManager().commandArgs.put("bonus", Arrays.asList("[jobname]"));
c.get("command.bonus.output.topline", "&7**************** &2[money] &6[points] &e[exp] &7****************");
c.get("command.bonus.output.permission", " &ePermission bonus: %money% %points% %exp%");
c.get("command.bonus.output.item", " &eItem bonus: %money% %points% %exp%");
c.get("command.bonus.output.global", " &eGlobal bonus: %money% %points% %exp%");
c.get("command.bonus.output.dynamic", " &eDynamic payment bonus: %money% %points% %exp%");
c.get("command.bonus.output.area", " &eArea bonus: %money% %points% %exp%");
c.get("command.bonus.output.final", " &eFinal bonus: %money% %points% %exp%");
c.get("command.convert.help.info",
"Converts data base system from one system to another. if you currently running sqlite, this will convert to Mysql and vise versa.");
c.get("command.convert.help.args", "");
c.get("command.limit.help.info", "Shows payment limits for jobs");
c.get("command.limit.help.args", "");
c.get("command.limit.output.lefttime", "&eTime left until money limit resets: &2%hour% &ehour &2%min% &emin &2%sec% &esec");
c.get("command.limit.output.moneylimit", "&eMoney limit: &2%money%&e/&2%totalmoney%");
c.get("command.limit.output.leftexptime", "&eTime left until Exp limit resets: &2%hour% &ehour &2%min% &emin &2%sec% &esec");
c.get("command.limit.output.explimit", "&eExp limit: &2%exp%&e/&2%totalexp%");
c.get("command.limit.output.leftpointtime", "&eTime left until Point limit resets: &2%hour% &ehour &2%min% &emin &2%sec% &esec");
c.get("command.limit.output.pointlimit", "&ePoint limit: &2%current%&e/&2%total%");
c.get("command.limit.output.reachedlimit", "&4You have reached money limit in given time!");
c.get("command.limit.output.reachedlimit2", "&eYou can check your limit with &2/jobs limit &ecommand");
c.get("command.limit.output.reachedExplimit", "&4You have reached exp limit in given time!");
c.get("command.limit.output.reachedExplimit2", "&eYou can check your limit with &2/jobs limit &ecommand");
c.get("command.limit.output.reachedPointlimit", "&4You have reached exp limit in given time!");
c.get("command.limit.output.reachedPointlimit2", "&eYou can check your limit with &2/jobs limit &ecommand");
c.get("command.limit.output.notenabled", "&eMoney limit is not enabled");
c.get("command.help.output.info", "Type /jobs [cmd] ? for more information about a command.");
c.get("command.help.output.usage", "Usage: %usage%");
c.get("command.help.output.title", "&e-------&e ======= &6Jobs &e======= &e-------");
c.get("command.help.output.page", "&e-----&e ====== Page &6[1] &eof &6[2] &e====== &e-----");
c.get("command.help.output.prev", "&e--- <<<<< &6Prev page &e|");
c.get("command.help.output.next", "&e|&6 Next Page &e>>>> ---");
c.get("command.points.help.info", "Shows how much points player have.");
c.get("command.points.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("points", Arrays.asList("[playername]"));
c.get("command.points.currentpoints", " &eCurrent point amount: &6%currentpoints%");
c.get("command.points.totalpoints", " &eTotal amount of collected points until now: &6%totalpoints%");
c.get("command.editpoints.help.info", "Edit players points.");
c.get("command.editpoints.help.args", "[set/add/take] [playername] [amount]");
Jobs.getGCManager().commandArgs.put("editpoints", Arrays.asList("set%%add%%take", "[playername]"));
c.get("command.editpoints.output.set", "&ePlayers (&6%playername%&e) points was set to &6%amount%");
c.get("command.editpoints.output.add", "&ePlayer (&6%playername%&e) got aditinal &6%amount% &epoints. Now he has &6%total%");
c.get("command.editpoints.output.take", "&ePlayer (&6%playername%&e) lost &6%amount% &epoints. Now he has &6%total%");
c.get("command.blockinfo.help.info", "Shows block information you looking at.");
c.get("command.blockinfo.help.args", "");
c.get("command.blockinfo.output.name", " &eBlock name: &6%blockname%");
c.get("command.blockinfo.output.id", " &eBlock id: &6%blockid%");
c.get("command.blockinfo.output.data", " &eBlock data: &6%blockdata%");
c.get("command.blockinfo.output.usage", " &eUsage: &6%first% &eor &6%second%");
c.get("command.stats.help.info", "Show the level you are in each job you are part of.");
c.get("command.stats.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("stats", Arrays.asList("[playername]"));
c.get("command.stats.error.nojob", "Please join a job first.");
c.get("command.stats.output", " lvl%joblevel% %jobname% : %jobxp%/%jobmaxxp% xp");
c.get("command.shop.help.info", "Opens special jobs shop.");
c.get("command.shop.help.args", "");
c.get("command.shop.info.title", "&e------- &8Jobs shop &e-------");
c.get("command.shop.info.currentPoints", "&eYou have: &6%currentpoints%");
c.get("command.shop.info.price", "&ePrice: &6%price%");
c.get("command.shop.info.reqJobs", "&eRequired jobs:");
c.get("command.shop.info.reqJobsList", " &6%jobsname%&e: &e%level% lvl");
c.get("command.shop.info.cantOpen", "&cCan't open this page");
c.get("command.shop.info.NoPermForItem", "&cYou don't have required permissions for this item!");
c.get("command.shop.info.NoPermToBuy", "&cNo permissions to buy this item");
c.get("command.shop.info.NoJobReqForitem", "&cYou don't have required job (&6%jobname%&e) with required (&6%joblevel%&e) level");
c.get("command.shop.info.NoPoints", "&cYou don't have enough points");
c.get("command.shop.info.Paid", "&eYou have paid &6%amount% &efor this item");
c.get("command.shop.info.reqJobsList", " &6%jobsname%&e: &e%level% lvl");
c.get("command.archive.help.info", "Shows all jobs saved in archive by user.");
c.get("command.archive.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("archive", Arrays.asList("[playername]"));
c.get("command.archive.error.nojob", "There is no jobs saved.");
c.get("command.archive.output", "lvl %joblevel% (%getbackjoblevel%) %jobname%");
c.get("command.give.help.info", "Gives item by jobs name and item category name. Player name is optional");
c.get("command.give.help.args", "[playername] [jobname] [itemname]");
Jobs.getGCManager().commandArgs.put("give", Arrays.asList("[playername]", "[jobname]", "[jobitemname]"));
c.get("command.give.output.notonline", "&4Player [%playername%] is not online!");
c.get("command.give.output.noitem", "&4Cant find any item by given name!");
c.get("command.info.help.title", "&2*** &eJobs&2 ***");
c.get("command.info.help.info", "Show how much each job is getting paid and for what.");
c.get("command.info.help.penalty", "&eThis job have &c[penalty]% &epenalty because of too many players working in it.");
c.get("command.info.help.bonus", "&eThis job have &2[bonus]% &ebonus because not enough players working in it.");
c.get("command.info.help.args", "[jobname] [action]");
Jobs.getGCManager().commandArgs.put("info", Arrays.asList("[jobname]", "[action]"));
c.get("command.info.help.actions", "&eValid actions are: &f%actions%");
c.get("command.info.help.max", " - &emax level:&f ");
c.get("command.info.help.material", "&7%material%");
c.get("command.info.help.levelRange", " &a(&e%levelFrom% &a- &e%levelUntil% &alevels)");
c.get("command.info.help.levelFrom", " &a(from &e%levelFrom% &alevel)");
c.get("command.info.help.levelUntil", " &a(until &e%levelUntil% &alevel)");
c.get("command.info.help.money", " &2%money%\u0024");
c.get("command.info.help.points", " &6%points%points");
c.get("command.info.help.exp", " &e%exp%xp");
c.get("command.info.gui.pickjob", "&ePick your job!");
c.get("command.info.gui.jobinfo", "&e[jobname] info!");
c.get("command.info.gui.actions", "&eValid actions are:");
c.get("command.info.gui.leftClick", "&eLeft Click for more info");
c.get("command.info.gui.rightClick", "&eRight click to join job");
c.get("command.info.gui.leftSlots", "&eLeft slots:&f ");
c.get("command.info.gui.working", "&2&nAlready working");
c.get("command.info.gui.max", "&eMax level:&f ");
c.get("command.info.gui.back", "&e<<< Back");
c.get("command.info.output.break.info", "Break");
c.get("command.info.output.break.none", "%jobname% does not get money for breaking blocks.");
c.get("command.info.output.tntbreak.info", "TNTBreak");
c.get("command.info.output.tntbreak.none", "%jobname% does not get money for breaking blocks with tnt.");
c.get("command.info.output.place.info", "Place");
c.get("command.info.output.place.none", "%jobname% does not get money for placing blocks.");
c.get("command.info.output.kill.info", "Kill");
c.get("command.info.output.kill.none", "%jobname% does not get money for killing monsters.");
c.get("command.info.output.mmkill.info", "MMKill");
c.get("command.info.output.mmkill.none", "%jobname% does not get money for killing Mythic monsters.");
c.get("command.info.output.fish.info", "Fish");
c.get("command.info.output.fish.none", "%jobname% does not get money from fishing.");
c.get("command.info.output.craft.info", "Craft");
c.get("command.info.output.craft.none", "%jobname% does not get money from crafting.");
c.get("command.info.output.smelt.info", "Smelt");
c.get("command.info.output.smelt.none", "%jobname% does not get money from smelting.");
c.get("command.info.output.brew.info", "Brew");
c.get("command.info.output.brew.none", "%jobname% does not get money from brewing.");
c.get("command.info.output.eat.info", "Eat");
c.get("command.info.output.eat.none", "%jobname% does not get money from eating food.");
c.get("command.info.output.dye.info", "Dye");
c.get("command.info.output.dye.none", "%jobname% does not get money from dyeing.");
c.get("command.info.output.enchant.info", "Enchant");
c.get("command.info.output.enchant.none", "%jobname% does not get money from enchanting.");
c.get("command.info.output.repair.info", "Repair");
c.get("command.info.output.repair.none", "%jobname% does not get money from repairing.");
c.get("command.info.output.breed.info", "Breed");
c.get("command.info.output.breed.none", "%jobname% does not get money from breeding.");
c.get("command.info.output.tame.info", "Tame");
c.get("command.info.output.tame.none", "%jobname% does not get money from taming.");
c.get("command.info.output.milk.info", "Milk");
c.get("command.info.output.milk.none", "%jobname% does not get money from milking cows.");
c.get("command.info.output.shear.info", "Shear");
c.get("command.info.output.shear.none", "%jobname% does not get money from shearing sheeps.");
c.get("command.info.output.explore.info", "Explore");
c.get("command.info.output.explore.none", "%jobname% does not get money from exploring.");
c.get("command.info.output.custom-kill.info", "Custom kill");
c.get("command.info.output.custom-kill.none", "%jobname% does not get money from custom player kills.");
c.get("command.playerinfo.help.info", "Show how much each job is getting paid and for what on another player.");
c.get("command.playerinfo.help.args", "[playername] [jobname] [action]");
Jobs.getGCManager().commandArgs.put("playerinfo", Arrays.asList("[playername]", "[jobname]", "[action]"));
c.get("command.join.help.info", "Join the selected job.");
c.get("command.join.help.args", "[jobname]");
Jobs.getGCManager().commandArgs.put("join", Arrays.asList("[jobname]"));
c.get("command.join.error.alreadyin", "You are already in the job %jobname%.");
c.get("command.join.error.fullslots", "You cannot join the job %jobname%, there are no slots available.");
c.get("command.join.error.maxjobs", "You have already joined too many jobs.");
c.get("command.join.success", "You have joined the job %jobname%.");
c.get("command.leave.help.info", "Leave the selected job.");
c.get("command.leave.help.args", "[oldplayerjob]");
Jobs.getGCManager().commandArgs.put("leave", Arrays.asList("[oldplayerjob]"));
c.get("command.leave.success", "You have left the job %jobname%.");
c.get("command.leaveall.help.info", "Leave all your jobs.");
c.get("command.leaveall.error.nojobs", "You do not have any jobs to leave!");
c.get("command.leaveall.success", "You have left all your jobs.");
c.get("command.browse.help.info", "List the jobs available to you.");
c.get("command.browse.error.nojobs", "There are no jobs you can join.");
c.get("command.browse.output.header", "You are allowed to join the following jobs:");
c.get("command.browse.output.footer", "For more information type in /jobs info [JobName]");
c.get("command.browse.output.totalWorkers", " &7Workers: &e[amount]");
c.get("command.browse.output.penalty", " &4Penalty: &c[amount]%");
c.get("command.browse.output.bonus", " &2Bonus: &a[amount]%");
c.get("command.fire.help.info", "Fire the player from the job.");
c.get("command.fire.help.args", "[playername] [jobname]");
Jobs.getGCManager().commandArgs.put("fire", Arrays.asList("[playername]", "[oldjob]"));
c.get("command.fire.error.nojob", "Player does not have the job %jobname%.");
c.get("command.fire.output.target", "You have been fired from %jobname%.");
c.get("command.fireall.help.info", "Fire player from all their jobs.");
c.get("command.fireall.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("fireall", Arrays.asList("[playername]"));
c.get("command.fireall.error.nojobs", "Player does not have any jobs to be fired from!");
c.get("command.fireall.output.target", "You have been fired from all your jobs.");
c.get("command.employ.help.info", "Employ the player to the job.");
c.get("command.employ.help.args", "[playername] [jobname]");
Jobs.getGCManager().commandArgs.put("employ", Arrays.asList("[playername]", "[jobname]"));
c.get("command.employ.error.alreadyin", "Player is already in the job %jobname%.");
c.get("command.employ.output.target", "You have been employed as a %jobname%.");
c.get("command.top.help.info", "Shows top 15 players by jobs name.");
c.get("command.top.help.args", "[jobname]");
Jobs.getGCManager().commandArgs.put("top", Arrays.asList("[jobname]"));
c.get("command.top.error.nojob", "Cant find any job with this name.");
c.get("command.top.output.topline", "&aTop&e 15 &aplayers by &e%jobname% &ajob");
c.get("command.top.output.list", "&e%number%&a. &e%playername% &alvl &e%level% &awith&e %exp% &aexp");
c.get("command.top.output.prev", "&e<<<<< Prev page &2|");
c.get("command.top.output.next", "&2|&e Next Page >>>>");
c.get("command.top.output.show", "&2Show from &e[from] &2until &e[until] &2top list");
c.get("command.gtop.help.info", "Shows top 15 players by global jobs level.");
c.get("command.gtop.help.args", "");
c.get("command.gtop.error.nojob", "Cant find any information.");
c.get("command.gtop.output.topline", "&aTop&e 15 &aplayers by global job level");
c.get("command.gtop.output.list", "&e%number%&a. &e%playername% &alvl &e%level% &awith&e %exp% &aexp");
c.get("command.gtop.output.prev", "&e<<<<< Prev page &2|");
c.get("command.gtop.output.next", "&2|&e Next Page >>>>");
c.get("command.gtop.output.show", "&2Show from &e[from] &2until &e[until] &2global top list");
c.get("command.log.help.info", "Shows statistics.");
c.get("command.log.help.args", "[playername]");
Jobs.getGCManager().commandArgs.put("log", Arrays.asList("[playername]"));
c.get("command.log.output.topline", "&7************************* &6%playername% &7*************************");
c.get("command.log.output.list", "&7* &6%number%. &3%action%: &6%item% &eqty: %qty% &6money: %money% &eexp: %exp%");
c.get("command.log.output.bottomline", "&7***********************************************************");
c.get("command.log.output.prev", "&e<<<<< Prev page &2|");
c.get("command.log.output.next", "&2|&e Next Page >>>>");
c.get("command.log.output.nodata", "&cData not found");
c.get("command.glog.help.info", "Shows global statistics.");
c.get("command.glog.help.args", "");
c.get("command.glog.output.topline", "&7*********************** &6Global statistics &7***********************");
c.get("command.glog.output.list", "&7* &6%number%. &3%username% &e%action%: &6%item% &eqty: %qty% &6money: %money% &eexp: %exp%");
c.get("command.glog.output.bottomline", "&7**************************************************************");
c.get("command.glog.output.nodata", "&cData not found");
c.get("command.transfer.help.info", "Transfer a player's job from an old job to a new job.");
c.get("command.transfer.help.args", "[playername] [oldjob] [newjob]");
Jobs.getGCManager().commandArgs.put("transfer", Arrays.asList("[playername]", "[oldjob]", "[jobname]"));
c.get("command.transfer.output.target", "You have been transferred from %oldjobname% to %newjobname%.");
c.get("command.promote.help.info", "Promote the player X levels in a job.");
c.get("command.promote.help.args", "[playername] [jobname] [levels]");
Jobs.getGCManager().commandArgs.put("promote", Arrays.asList("[playername]", "[jobname]", "[levels]"));
c.get("command.promote.output.target", "You have been promoted %levelsgained% levels in %jobname%.");
c.get("command.demote.help.info", "Demote the player X levels in a job.");
c.get("command.demote.help.args", "[playername] [jobname] [levels]");
Jobs.getGCManager().commandArgs.put("demote", Arrays.asList("[playername]", "[jobname]", "[levels]"));
c.get("command.demote.output.target", "You have been demoted %levelslost% levels in %jobname%.");
c.get("command.grantxp.help.info", "Grant the player X experience in a job.");
c.get("command.grantxp.help.args", "[playername] [jobname] [xp]");
Jobs.getGCManager().commandArgs.put("grantxp", Arrays.asList("[playername]", "[jobname]", "[xp]"));
c.get("command.grantxp.output.target", "You have been granted %xpgained% experience in %jobname%.");
c.get("command.removexp.help.info", "Remove X experience from the player in a job.");
c.get("command.removexp.help.args", "[playername] [jobname] [xp]");
Jobs.getGCManager().commandArgs.put("removexp", Arrays.asList("[playername]", "[jobname]", "[xp]"));
c.get("command.removexp.output.target", "You have lost %xplost% experience in %jobname%.");
c.get("command.signupdate.help.info", "Manualy updates sign by its name");
c.get("command.signupdate.help.args", "[jobname]");
Jobs.getGCManager().commandArgs.put("signupdate", Arrays.asList("[jobname]"));
c.get("command.reload.help.info", "Reload configurations.");
c.get("command.toggle.help.info", "Toggles payment output on action bar or bossbar.");
c.get("command.toggle.help.args", "[actionbar/bossbar]");
c.get("command.toggle.output.turnedoff", "&4This feature are turned off!");
c.get("command.toggle.output.paid.main", "&aYou got:");
c.get("command.toggle.output.paid.money", "&e[amount] money");
c.get("command.toggle.output.paid.exp", "&7[exp] exp");
c.get("command.toggle.output.paid.points", "&6[points] points");
c.get("command.toggle.output.on", "&aToggled: &aON");
c.get("command.toggle.output.off", "&aToggled: &4OFF");
Jobs.getGCManager().commandArgs.put("toggle", Arrays.asList("ActionBar%%BossBar"));
c.get("message.skillup.broadcast", "%playername% has been promoted to a %titlename% %jobname%.");
c.get("message.skillup.nobroadcast", "Congratulations, you have been promoted to a %titlename% %jobname%.");
c.get("message.levelup.broadcast", "%playername% is now a level %joblevel% %jobname%.");
c.get("message.levelup.nobroadcast", "You are now a level %joblevel% %jobname%.");
c.get("message.cowtimer", "&eYou still need to wait &6%time% &esec to get paid for this job.");
c.get("message.blocktimer", "&eYou need to wait: &3[time] &esec more to get paid for this!");
c.get("message.placeblocktimer", "&eYou cant place block faster than &6[time] &esec interval in same place!");
c.get("message.taxes", "&3[amount] &eserver taxes where transfered to this account");
c.get("message.boostStarted", "&eJobs boost time have been started!");
c.get("message.boostStoped", "&eJobs boost time have been ended!");
c.get("message.crafting.fullinventory", "Your inventory is full!");
c.get("signs.List", "&0[number].&8[player]&7:&4[level]");
c.get("signs.SpecialList.1.1", "&b** &8First &b**");
c.get("signs.SpecialList.1.2", "&9[player]");
c.get("signs.SpecialList.1.3", "&8[level] level");
c.get("signs.SpecialList.1.4", "&b************");
c.get("signs.SpecialList.2.1", "&b** &8Second &b**");
c.get("signs.SpecialList.2.2", "&9[player]");
c.get("signs.SpecialList.2.3", "&8[level] level");
c.get("signs.SpecialList.2.4", "&b************");
c.get("signs.SpecialList.3.1", "&b** &8Third &b**");
c.get("signs.SpecialList.3.2", "&9[player]");
c.get("signs.SpecialList.3.3", "&8[level] level");
c.get("signs.SpecialList.3.4", "&b************");
c.get("signs.cantcreate", "&4You can't create this sign!");
c.get("signs.cantdestroy", "&4You can't destroy this sign!");
c.get("signs.topline", "&2[Jobs]");
c.get("signs.secondline.join", "&2Join");
c.get("signs.secondline.leave", "&4Leave");
c.get("signs.secondline.toggle", "&2Toggle");
c.get("signs.secondline.top", "&2Top");
c.get("signs.secondline.browse", "&2Browse");
c.get("signs.secondline.stats", "&2Stats");
c.get("signs.secondline.limit", "&2Limit");
c.get("signs.secondline.info", "&2Info");
c.get("signs.secondline.archive", "&2Archive");
//c.get("scoreboard.clear", "&eIf you want to remove scoreboard, type &2/jobs top clear");
c.get("scoreboard.topline", "&2Top &e%jobname%");
c.get("scoreboard.gtopline", "&2Global top list");
c.get("scoreboard.lines", "&2%number%. &e%playername%");
Jobs.getGCManager().keys = new ArrayList<String>(c.getC().getConfigurationSection("signs.secondline").getKeys(false));
// Write back config
try {
c.getW().save(f);
} catch (IOException e) {
e.printStackTrace();
}
}
Debug.D(System.currentTimeMillis() - time);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,59 +1,59 @@
package com.gamingmesh.jobs.container;
import java.util.ArrayList;
import java.util.List;
import com.gamingmesh.jobs.Jobs;
public class ExploreChunk {
int x;
int z;
List<String> playerNames = new ArrayList<String>();
boolean isNewChunk = true;
public ExploreChunk(String playerName, int x, int z) {
this.x = x;
this.z = z;
this.playerNames.add(playerName);
}
public ExploreRespond addPlayer(String playerName) {
boolean newChunk = false;
if (!playerNames.contains(playerName)) {
playerNames.add(playerName);
newChunk = true;
}
if (playerNames.size() > Jobs.getExplore().getPlayerAmount())
playerNames.remove(0);
return new ExploreRespond(playerNames.size(), newChunk);
}
public boolean isAlreadyVisited(String playerName) {
return playerNames.contains(playerName);
}
public int getCount() {
return this.playerNames.size();
}
public int getX() {
return this.x;
}
public int getZ() {
return this.z;
}
public List<String> getPlayers() {
return this.playerNames;
}
public boolean isNew() {
return this.isNewChunk;
}
public void setOldChunk() {
isNewChunk = false;
}
}
package com.gamingmesh.jobs.container;
import java.util.ArrayList;
import java.util.List;
import com.gamingmesh.jobs.Jobs;
public class ExploreChunk {
int x;
int z;
List<String> playerNames = new ArrayList<String>();
boolean isNewChunk = true;
public ExploreChunk(String playerName, int x, int z) {
this.x = x;
this.z = z;
this.playerNames.add(playerName);
}
public ExploreRespond addPlayer(String playerName) {
boolean newChunk = false;
if (!playerNames.contains(playerName)) {
playerNames.add(playerName);
newChunk = true;
}
if (playerNames.size() > Jobs.getExplore().getPlayerAmount())
playerNames.remove(0);
return new ExploreRespond(playerNames.size(), newChunk);
}
public boolean isAlreadyVisited(String playerName) {
return playerNames.contains(playerName);
}
public int getCount() {
return this.playerNames.size();
}
public int getX() {
return this.x;
}
public int getZ() {
return this.z;
}
public List<String> getPlayers() {
return this.playerNames;
}
public boolean isNew() {
return this.isNewChunk;
}
public void setOldChunk() {
isNewChunk = false;
}
}

View File

@ -128,7 +128,7 @@ public class JobsPlayer {
* @return the Multiplier
*/
public double getVipSpawnerMultiplier() {
if (OffPlayer == null || !this.OffPlayer.isOnline())
if (this.getPlayer() == null || !this.getPlayer().isOnline())
return 1.0;
if (VipSpawnerMultiplier < 0)
updateVipSpawnerMultiplier();

View File

@ -448,16 +448,49 @@ public abstract class JobsDAO {
}
}
public void transferUsers() throws SQLException {
JobsConnection conns = this.getConnection();
if (conns == null)
return;
PreparedStatement insert = null;
Statement statement = null;
try {
statement = conns.createStatement();
if (Jobs.getGCManager().storageMethod.equalsIgnoreCase("sqlite")) {
statement.executeUpdate("TRUNCATE `" + getPrefix() + "users`");
} else {
statement.executeUpdate("DELETE from `" + getPrefix() + "users`");
}
insert = conns.prepareStatement("INSERT INTO `" + getPrefix() + "users` (`id`, `player_uuid`, `username`) VALUES (?, ?, ?);");
conns.setAutoCommit(false);
for (Entry<String, JobsPlayer> oneUser : Jobs.getPlayerManager().getPlayersCache().entrySet()) {
insert.setInt(1, oneUser.getValue().getUserId());
insert.setString(2, oneUser.getValue().getPlayerUUID().toString());
insert.setString(3, oneUser.getValue().getUserName());
insert.addBatch();
}
insert.executeBatch();
conns.commit();
conns.setAutoCommit(true);
} finally {
close(statement);
close(insert);
}
}
/**
* Quit a job (delete player-job entry from storage)
* @param player - player that wishes to quit the job
* @param job - job that the player wishes to quit
*/
public synchronized void quitJob(JobsPlayer jPlayer, Job job) {
public synchronized boolean quitJob(JobsPlayer jPlayer, Job job) {
JobsConnection conn = getConnection();
if (conn == null)
return;
return false;
PreparedStatement prest = null;
boolean ok = true;
try {
prest = conn.prepareStatement("DELETE FROM `" + prefix + "jobs` WHERE `userid` = ? AND `job` = ?;");
prest.setInt(1, jPlayer.getUserId());
@ -465,9 +498,11 @@ public abstract class JobsDAO {
prest.execute();
} catch (SQLException e) {
e.printStackTrace();
ok = false;
} finally {
close(prest);
}
return ok;
}
/**

View File

@ -567,7 +567,7 @@ public class JobsPaymentListener implements Listener {
ItemStack toCraft = event.getCurrentItem();
ItemStack toStore = event.getCursor();
// Make sure we are actually crafting anything
if (player != null && hasItems(toCraft))
if (hasItems(toCraft))
if (event.isShiftClick())
schedulePostDetection(player, toCraft, jPlayer, resultStack, multiplier);
else {
@ -627,7 +627,7 @@ public class JobsPaymentListener implements Listener {
if (a == null)
return b == null;
else if (b == null)
return a == null;
return false;
return a.getTypeId() == b.getTypeId() && a.getDurability() == b.getDurability() && Objects.equal(a.getData(), b.getData()) && Objects.equal(a.getEnchantments(), b
.getEnchantments());
}

View File

@ -1,454 +1,454 @@
economy:
error:
nomoney: No queda dinero en el banco nacional
limitedItem:
error:
levelup: '&cNecesitas subir de nivel en el trabajo [jobname] para usar esto'
general:
info:
toplineseparator: '&7*********************** &6%playername% &7***********************'
separator: '&7*******************************************************'
admin:
error: '&cHay un error en el comando.'
success: '&eEl comando ha sido ejecutado.'
error:
notNumber: '&ePor favor, usa nuemeros.'
job: '&cEl trabajo escojido no existe.'
permission: '&cNo tienes permiso para hacer eso.'
noinfo: '&cInformacion no encontrada.'
noinfoByPlayer: '&cInformacion no encontrada de [%playername%].'
ingame: '&cEste comando solo se puede ejecutar desde el juego.'
fromconsole: '&cEste comando solo se puede ejecutar desde la consola.'
worldisdisabled: '&cNo puedes usar ese comando en este mundo.'
command:
moneyboost:
help:
info: ?Aumento de dinero para todos los jugadores!
args: '[jobname] [rate]'
output:
allreset: Todos los aumentos de dinero han sido desacivados
jobsboostreset: Aumento de dinero para el trabajo %jobname% ha sido desactivado
nothingtoreset: Nada por resetear
boostalladded: '?Aumento de dinero de: %boost% a?adido para todos los trabajos!'
boostadded: ?Aumento de dinero de &e%boost% &aha sido a?adido para el trabajo &e%jobname%!
infostats: '&c-----> &aMoney rate x%boost% enabled&c <-------'
pointboost:
help:
info: Aumento de puntos para todos los jugadores
args: '[jobname] [rate]'
output:
allreset: Todos los aumentos de puntos han sido desactivados
jobsboostreset: Aumento de dinero para %jobname% ha sido desactivado
nothingtoreset: Nada por resetear
boostalladded: Aumento de puntos de %boost% añadido para todos los trabajos!
boostadded: Aumento de puntos de &e%boost% &aañadido para el trabajo &e%jobname%!
infostats: '&c-----> &aPoints rate x%boost% enabled&c <-------'
expboost:
help:
info: ?Aumento de xp para todos los jugadores!
args: '[jobname] [rate]'
output:
allreset: Todos los aumentos de xp han sido desacivados
jobsboostreset: Aumento de xp para el trabajo %jobname% ha sido desactivado
nothingtoreset: Nada por resetear
boostalladded: '?Aumento de xp de: %boost% a?adido para todos los trabajos!'
boostadded: ?Aumento de xp de &e%boost% &aha sido a?adido para el trabajo &e%jobname%!
infostats: '&c-----> &aExp rate x%boost% enabled&c <-------'
bonus:
help:
info: Muestra bonus de trabajo
args: '[jobname]'
output:
topline: '&7**************** &2[money] &6[points] &e[exp] &7****************'
permission: ' &eBonus de permiso: %money% %points% %exp%'
item: ' &eBonus de objeto: %money% %points% %exp%'
global: ' &eBonus global: %money% %points% %exp%'
dynamic: ' &eBonus de pago dinamico: %money% %points% %exp%'
area: ' &eBonus de area: %money% %points% %exp%'
final: ' &eBonus final: %money% %points% %exp%'
convert:
help:
info: Convertido el sistema de base de datos a otro, si estabas usando SqLite este se ha convertido a MySQL y vice versa.
args: ''
limit:
help:
info: Muestra el limite de pago por cada trabajo
args: ''
output:
lefttime: '&eTiempo para reseteo de limite de dinero: &2%hour% &ehoras &2%min% &emin
&2%sec% &eseg'
moneylimit: '&eLimite de dinero: &2%money%&e/&2%totalmoney%'
leftexptime: '&eTiempo antes de resetear el limite de xp: &2%hour% &ehour &2%min%
&emin &2%sec% &esec'
explimit: '&eLimite de dinero: &2%exp%&e/&2%totalexp%'
leftpointtime: '&eTime left until Point limit resets: &2%hour% &ehour &2%min%
&emin &2%sec% &esec'
pointlimit: '&eLimite de puntos: &2%current%&e/&2%total%'
reachedlimit: '&4?Has alcanzado el maximo de dinero recibido en un tiempo!'
reachedlimit2: '&ePuedes ver el limite de dinero con &2/jobs limit'
reachedExplimit: '&4?Has alcanzado el maximo de experiencia recibido en un tiempo!'
reachedExplimit2: '&ePuedes ver el limite de xp con &2/jobs limit'
reachedPointlimit: '&4Has alcanzado el limite de puntos de objeto!'
reachedPointlimit2: '&ePuedes ver tu limite de puntos con &2/jobs limit'
notenabled: '&eLimite de dinero no activado'
help:
output:
info: Escribe /jobs [cmd] ? para mas informacion sobre el comando.
usage: 'Uso: %usage%'
title: '&e-------&e ======= &6Jobs &e======= &e-------'
page: '&e-----&e ====== Pagina &6[1] &ede &6[2] &e====== &e-----'
prev: '&e--- <<<<< &6Pagina anterior &e|'
next: '&e|&6 Suigiente pagina &e>>>> ---'
points:
help:
info: Muestra cuantos puntos tiene el jugador.
args: '[playername]'
currentpoints: ' &eCantidad de puntos actual: &6%currentpoints%'
totalpoints: ' &eTotal amount of collected points until now: &6%totalpoints%'
editpoints:
help:
info: Edita los puntos del jugador.
args: '[set/add/take] [playername] [amount]'
output:
set: '&eJugadores (&6%playername%&e) puntos marcados a &6%amount%'
add: '&eEl jugador (&6%playername%&e) ha recibido &6%amount% &epuntos adicionales. Ahora tien
&6%total%'
take: '&eEl jugador (&6%playername%&e) ha perdido &6%amount% &epuntos. Ahora tiene &6%total%'
blockinfo:
help:
info: Muestra la informacion del bloque que estas mirando.
args: ''
output:
name: ' &eNombre del bloque: &6%blockname%'
id: ' &eId del bloque: &6%blockid%'
data: ' &eData del bloque: &6%blockdata%'
usage: ' &eUso: &6%first% &eo &6%second%'
stats:
help:
info: Muestra en que nivel estas en cada trabajo.
args: '[playername]'
error:
nojob: Unete a un trabajo primero.
output: 'lvl%joblevel% %jobname% : %jobxp%/%jobmaxxp% xp'
shop:
help:
info: Abre tienda de trabajos especiales.
args: ''
info:
title: '&e------- &8Tienda de trabajos &e-------'
currentPoints: '&eTienes: &6%currentpoints%'
price: '&ePrecio: &6%price%'
reqJobs: '&eTrabajos requeridos:'
reqJobsList: ' &6%jobsname%&e: &e%level% lvl'
NoPermForItem: '&cNo tienes el permiso necesario para ese objeto!'
NoPermToBuy: '&cNo tienes permiso para comprar este objeto'
NoJobReqForitem: '&cYou don''t have required job (&6%jobname%&e) with required
(&6%joblevel%&e) level'
NoPoints: '&cNo tienes puntos suficientes'
Paid: '&eHas pagado &6%amount% &epor este objeto'
archive:
help:
info: Muestra los trabajos guardados en el archivo por el usuario.
args: '[playername]'
error:
nojob: No hay trabajos guardados.
output: lvl %joblevel% (%getbackjoblevel%) %jobname%
give:
help:
info: Gives item by jobs name and item category name. Player name is optional
args: '[playername] [jobname] [itemname]'
output:
notonline: '&4El jugador [%playername%] no esta conectado'
noitem: '&4No se han encontrado jugadores guardados con ese nombre'
info:
help:
title: '&2*** &eTrabajos&2 ***'
info: Muestra lo que se paga en cada trabajo por cada cosa.
penalty: '&eEste trabajo tiene una penalidad de &c[penalty]% &eporque hay muchos
trabajadores trabajando en el.'
bonus: '&eEste trabajo tiene un bonus de &2[bonus]% &eporque hay pocos tabajadores
trabajando en el.'
args: '[jobname] [action]'
actions: '&eAcciones validas: &f%actions%'
max: ' - &enivel maximo:&f '
material: '&7%material%'
levelRange: ' &a(&e%levelFrom% &a- &e%levelUntil% &alevels)'
levelFrom: ' &a(from &e%levelFrom% &alevel)'
levelUntil: ' &a(until &e%levelUntil% &alevel)'
money: ' &2%money%$'
points: ' &6%points%points'
exp: ' &e%exp%xp'
gui:
pickjob: '&eEscoje tu trabajo'
jobinfo: '&e[jobname] informacion'
actions: '&eAcciones validas:'
leftClick: '&eClick izquierdo para mas informacion'
rightClick: '&eClick derecho para unirte al trabajo'
leftSlots: '&ePuestos libres:&f '
working: '&2&nActualmente trabajando'
max: '&eNivel maximo:&f '
back: '&e<<< Volver'
output:
break:
info: Romper
none: Con el trabajo %jobname% no consigues dinero por romper bloques.
tntbreak:
info: Explotar
none: Con el trabajo %jobname% no consigues dinero por explotar bloques con dinamita.
place:
info: Colocar
none: Con el trabajo %jobname% no consigues dinero por colocar bloques.
kill:
info: Matar
none: Con el trabajo %jobname% no consigues dinero por matar mobs.
mmkill:
info: MMKill
none: Con el trabajo %jobname% no consigues dinero por matar mobs miticos.
fish:
info: Pescar
none: Con el trabajo %jobname% no consigues dinero por pescar peces.
craft:
info: Craftear
none: Con el trabajo %jobname% no consigues dinero por craftear items.
smelt:
info: Hornear
none: Con el trabajo %jobname% no consigues dinero por hornear.
brew:
info: Destilar
none: Con el trabajo %jobname% no consigues dinero por destilar pociones.
eat:
info: Comer
none: Con el trabajo %jobname% no consigues dinero por comer.
dye:
info: Dye
none: Con el trabajo %jobname% no consigues dinero por te?ir ropa.
enchant:
info: Encantar
none: Con el trabajo %jobname% no consigues dinero por encantar herramientas.
repair:
info: Reparar
none: Con el trabajo %jobname% no consigues dinero por reparar.
breed:
info: Criar
none: Con el trabajo %jobname% no consigues dinero por criar animales.
tame:
info: Domar
none: Con el trabajo %jobname% no consigues dinero por domar animales.
milk:
info: Orde?ar
none: Con el trabajo %jobname% no consigues dinero por orde?ar vacas.
shear:
info: Esquilar
none: Con el trabajo %jobname% no consigues dinero por esquilar ovejas.
explore:
info: Explorar
none: Con el trabajo %jobname% no consigues dinero por explorar el mundo.
custom-kill:
info: Custom kill
none: '%jobname% does not get money from custom player kills.'
playerinfo:
help:
info: Muestra que le estan pagando a alguien y por que cosa.
args: '[playername] [jobname] [action]'
join:
help:
info: Unirse al trabajo.
args: '[jobname]'
error:
alreadyin: Ya estas en el trabajo %jobname%.
fullslots: No te puedes unir al trabajo %jobname%, ya que no hay puestos libres.
maxjobs: Has alcanzado el limite de trabajos.
success: Te has unido al trabajo %jobname%.
leave:
help:
info: Dejar el trabajo.
args: '[jobname]'
success: Has dejado el trabajo %jobname%.
leaveall:
help:
info: Dejar todos tus trabajos.
error:
nojobs: No tienes ningun trabajo para dejar
success: Has dejado todos tus trabajos.
browse:
help:
info: Lista de trabajos disponibles para ti.
error:
nojobs: No hay trabajos a los puedas unirte.
output:
header: 'Tienes permitido unirte a los siguientes trabajos:'
footer: Para mas informacion escribe /jobs info [JobName]
totalWorkers: ' &7Trabajadores: &e[amount]'
penalty: ' &4Penalizacion: &c[amount]%'
bonus: ' &2Bonus: &a[amount]%'
fire:
help:
info: Despide al jugador del trabajo.
args: '[playername] [jobname]'
error:
nojob: El jugador no tiene el trabajo %jobname%.
output:
target: Has sido despedido del trabajo %jobname%.
fireall:
help:
info: Despide al jugador de todos sus trabajos.
args: '[playername]'
error:
nojobs: El jugador no tiene ningun trabajo para despedirlo
output:
target: Has sido despedido de todos tus trabajos.
employ:
help:
info: Emplear a jugador a un trabajo.
args: '[playername] [jobname]'
error:
alreadyin: El jugador ya esta en el trabajo %jobname%.
output:
target: Has sido empledo a %jobname%.
top:
help:
info: Muestra el top 15 jugadores segun su trabajo.
args: '[jobname]'
error:
nojob: No se ha encontrado ningun trabajo con este nombre.
output:
topline: '&aTop&e 15 &ajugadores por el trabajo &e%jobname%'
list: '&e%number%&a. &e%playername% &alvl &e%level% &awith&e %exp% &aexp'
prev: '&e<<<<< Pagina anterior &2|'
next: '&2|&e Siguiente pagina >>>>'
show: '&2Show from &e[from] &2until &e[until] &2top list'
gtop:
help:
info: Muestra el top 15 por el nivel global de trabajos.
args: ''
error:
nojob: No se pudo encontrar ninguna informacion.
output:
topline: '&aTop&e 15 &ajugadores por el nivel global de trabajos'
list: '&e%number%&a. &e%playername% &alvl &e%level% &awith&e %exp% &aexp'
prev: '&e<<<<< Pagina anterior &2|'
next: '&2|&e Siguiente pagina >>>>'
show: '&2Muestra desde &e[from] &2hasta &e[until] &2top global'
log:
help:
info: Muestra estadisticas.
args: '[playername]'
output:
topline: '&7************************* &6%playername% &7*************************'
list: '&7* &6%number%. &3%action%: &6%item% &ecantidad: %qty% &6dinero: %money%
&eexp: %exp%'
bottomline: '&7***********************************************************'
prev: '&e<<<<< Pagina anterior &2|'
next: '&2|&e Siguiente pagina >>>>'
nodata: '&cDatos no encontrados'
glog:
help:
info: Muestra las estadisticas globales.
args: ''
output:
topline: '&7*********************** &6Estadisticas globales &7***********************'
list: '&7* &6%number%. &3%username% &e%action%: &6%item% &ecantidad: %qty% &6money:
%money% &eexp: %exp%'
bottomline: '&7**************************************************************'
nodata: '&cDatos no encontrados'
transfer:
help:
info: Transferir a un jugador de un trabajo a otro.
args: '[playername] [oldjob] [newjob]'
output:
target: Has sido cambiado de %oldjobname% a %newjobname%.
promote:
help:
info: Subir X nivel a un jugador en un trabajo.
args: '[playername] [jobname] [levels]'
output:
target: Te han subido %levelsgained% niveles en el trabajo %jobname%.
demote:
help:
info: Bajar X niveles a un jugador en un trabajo.
args: '[playername] [jobname] [levels]'
output:
target: Te han bajado %levelslost% niveles en %jobname%.
grantxp:
help:
info: Grant the player X experience in a job.
args: '[playername] [jobname] [xp]'
output:
target: You have been granted %xpgained% experience in %jobname%.
removexp:
help:
info: Eliminado X experiencia a un jugador en un trabajo.
args: '[playername] [jobname] [xp]'
output:
target: Has perdido %xplost% experiencia en %jobname%.
signupdate:
help:
info: Manualmente actualizado el cartel
args: '[jobname]'
reload:
help:
info: Recargar configuraciones.
toggle:
help:
info: Toggles payment output on action bar.
args: ''
output:
turnedoff: '&4Esta opcion esta desactivado'
paid:
main: '&aYou got:'
money: '&e[amount] money'
exp: '&7[exp] exp'
points: '&6[points] points'
'on': '&aToggled: &aON'
'off': '&aToggled: &4OFF'
message:
skillup:
broadcast: '%playername% ha mejorado a %titlename% %jobname%.'
nobroadcast: Enhorabuena, has mejorado a %titlename% %jobname%.
levelup:
broadcast: '%playername% es ahora nivel %joblevel% %jobname%.'
nobroadcast: Ahora eres nivel %joblevel% %jobname%.
cowtimer: '&eTienes que esperar &6%time% &esegundos para recibir dinero del trabajo.'
blocktimer: '&eYou need to wait: &3[time] &esec more to get paid for this!'
placeblocktimer: '&eNo puedes poner bloques mas rapido que &6[time] &esegundos en
el mismo lugar!'
taxes: '&3[amount] &eserver taxes where transfered to this account'
boostStarted: '&eAumentador de trabajos se ha iniciado'
boostStoped: '&eAumentador de trabajos se ha parado'
crafting:
fullinventory: Tu inventario esta lleno
signs:
List: '&0[number].&8[player]&7:&4[level]'
SpecialList:
'1':
'1': '&b** &8Primero &b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
'2':
'1': '&b** &8Segundo &b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
'3':
'1': '&b** &8Tercero &b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
cantcreate: '&4No puedes crear este cartel'
cantdestroy: '&4No puedes romper este cartel'
topline: '&2[Jobs]'
secondline:
join: '&2Unirse'
leave: '&4Dejar'
toggle: '&2Toggle'
top: '&2Top'
browse: '&2Buscar'
stats: '&2Estadisticas'
limit: '&2Limite'
info: '&2Info'
archive: '&2Archivo'
scoreboard:
topline: '&2Top &e%jobname%'
gtopline: '&2Lista top global'
economy:
error:
nomoney: No queda dinero en el banco nacional
limitedItem:
error:
levelup: '&cNecesitas subir de nivel en el trabajo [jobname] para usar esto'
general:
info:
toplineseparator: '&7*********************** &6%playername% &7***********************'
separator: '&7*******************************************************'
admin:
error: '&cHay un error en el comando.'
success: '&eEl comando ha sido ejecutado.'
error:
notNumber: '&ePor favor, usa nuemeros.'
job: '&cEl trabajo escojido no existe.'
permission: '&cNo tienes permiso para hacer eso.'
noinfo: '&cInformacion no encontrada.'
noinfoByPlayer: '&cInformacion no encontrada de [%playername%].'
ingame: '&cEste comando solo se puede ejecutar desde el juego.'
fromconsole: '&cEste comando solo se puede ejecutar desde la consola.'
worldisdisabled: '&cNo puedes usar ese comando en este mundo.'
command:
moneyboost:
help:
info: ?Aumento de dinero para todos los jugadores!
args: '[jobname] [rate]'
output:
allreset: Todos los aumentos de dinero han sido desacivados
jobsboostreset: Aumento de dinero para el trabajo %jobname% ha sido desactivado
nothingtoreset: Nada por resetear
boostalladded: '?Aumento de dinero de: %boost% a?adido para todos los trabajos!'
boostadded: ?Aumento de dinero de &e%boost% &aha sido a?adido para el trabajo &e%jobname%!
infostats: '&c-----> &aMoney rate x%boost% enabled&c <-------'
pointboost:
help:
info: Aumento de puntos para todos los jugadores
args: '[jobname] [rate]'
output:
allreset: Todos los aumentos de puntos han sido desactivados
jobsboostreset: Aumento de dinero para %jobname% ha sido desactivado
nothingtoreset: Nada por resetear
boostalladded: Aumento de puntos de %boost% añadido para todos los trabajos!
boostadded: Aumento de puntos de &e%boost% &aañadido para el trabajo &e%jobname%!
infostats: '&c-----> &aPoints rate x%boost% enabled&c <-------'
expboost:
help:
info: ?Aumento de xp para todos los jugadores!
args: '[jobname] [rate]'
output:
allreset: Todos los aumentos de xp han sido desacivados
jobsboostreset: Aumento de xp para el trabajo %jobname% ha sido desactivado
nothingtoreset: Nada por resetear
boostalladded: '?Aumento de xp de: %boost% a?adido para todos los trabajos!'
boostadded: ?Aumento de xp de &e%boost% &aha sido a?adido para el trabajo &e%jobname%!
infostats: '&c-----> &aExp rate x%boost% enabled&c <-------'
bonus:
help:
info: Muestra bonus de trabajo
args: '[jobname]'
output:
topline: '&7**************** &2[money] &6[points] &e[exp] &7****************'
permission: ' &eBonus de permiso: %money% %points% %exp%'
item: ' &eBonus de objeto: %money% %points% %exp%'
global: ' &eBonus global: %money% %points% %exp%'
dynamic: ' &eBonus de pago dinamico: %money% %points% %exp%'
area: ' &eBonus de area: %money% %points% %exp%'
final: ' &eBonus final: %money% %points% %exp%'
convert:
help:
info: Convertido el sistema de base de datos a otro, si estabas usando SqLite este se ha convertido a MySQL y vice versa.
args: ''
limit:
help:
info: Muestra el limite de pago por cada trabajo
args: ''
output:
lefttime: '&eTiempo para reseteo de limite de dinero: &2%hour% &ehoras &2%min% &emin
&2%sec% &eseg'
moneylimit: '&eLimite de dinero: &2%money%&e/&2%totalmoney%'
leftexptime: '&eTiempo antes de resetear el limite de xp: &2%hour% &ehour &2%min%
&emin &2%sec% &esec'
explimit: '&eLimite de dinero: &2%exp%&e/&2%totalexp%'
leftpointtime: '&eTime left until Point limit resets: &2%hour% &ehour &2%min%
&emin &2%sec% &esec'
pointlimit: '&eLimite de puntos: &2%current%&e/&2%total%'
reachedlimit: '&4?Has alcanzado el maximo de dinero recibido en un tiempo!'
reachedlimit2: '&ePuedes ver el limite de dinero con &2/jobs limit'
reachedExplimit: '&4?Has alcanzado el maximo de experiencia recibido en un tiempo!'
reachedExplimit2: '&ePuedes ver el limite de xp con &2/jobs limit'
reachedPointlimit: '&4Has alcanzado el limite de puntos de objeto!'
reachedPointlimit2: '&ePuedes ver tu limite de puntos con &2/jobs limit'
notenabled: '&eLimite de dinero no activado'
help:
output:
info: Escribe /jobs [cmd] ? para mas informacion sobre el comando.
usage: 'Uso: %usage%'
title: '&e-------&e ======= &6Jobs &e======= &e-------'
page: '&e-----&e ====== Pagina &6[1] &ede &6[2] &e====== &e-----'
prev: '&e--- <<<<< &6Pagina anterior &e|'
next: '&e|&6 Suigiente pagina &e>>>> ---'
points:
help:
info: Muestra cuantos puntos tiene el jugador.
args: '[playername]'
currentpoints: ' &eCantidad de puntos actual: &6%currentpoints%'
totalpoints: ' &eTotal amount of collected points until now: &6%totalpoints%'
editpoints:
help:
info: Edita los puntos del jugador.
args: '[set/add/take] [playername] [amount]'
output:
set: '&eJugadores (&6%playername%&e) puntos marcados a &6%amount%'
add: '&eEl jugador (&6%playername%&e) ha recibido &6%amount% &epuntos adicionales. Ahora tien
&6%total%'
take: '&eEl jugador (&6%playername%&e) ha perdido &6%amount% &epuntos. Ahora tiene &6%total%'
blockinfo:
help:
info: Muestra la informacion del bloque que estas mirando.
args: ''
output:
name: ' &eNombre del bloque: &6%blockname%'
id: ' &eId del bloque: &6%blockid%'
data: ' &eData del bloque: &6%blockdata%'
usage: ' &eUso: &6%first% &eo &6%second%'
stats:
help:
info: Muestra en que nivel estas en cada trabajo.
args: '[playername]'
error:
nojob: Unete a un trabajo primero.
output: 'lvl%joblevel% %jobname% : %jobxp%/%jobmaxxp% xp'
shop:
help:
info: Abre tienda de trabajos especiales.
args: ''
info:
title: '&e------- &8Tienda de trabajos &e-------'
currentPoints: '&eTienes: &6%currentpoints%'
price: '&ePrecio: &6%price%'
reqJobs: '&eTrabajos requeridos:'
reqJobsList: ' &6%jobsname%&e: &e%level% lvl'
NoPermForItem: '&cNo tienes el permiso necesario para ese objeto!'
NoPermToBuy: '&cNo tienes permiso para comprar este objeto'
NoJobReqForitem: '&cYou don''t have required job (&6%jobname%&e) with required
(&6%joblevel%&e) level'
NoPoints: '&cNo tienes puntos suficientes'
Paid: '&eHas pagado &6%amount% &epor este objeto'
archive:
help:
info: Muestra los trabajos guardados en el archivo por el usuario.
args: '[playername]'
error:
nojob: No hay trabajos guardados.
output: lvl %joblevel% (%getbackjoblevel%) %jobname%
give:
help:
info: Gives item by jobs name and item category name. Player name is optional
args: '[playername] [jobname] [itemname]'
output:
notonline: '&4El jugador [%playername%] no esta conectado'
noitem: '&4No se han encontrado jugadores guardados con ese nombre'
info:
help:
title: '&2*** &eTrabajos&2 ***'
info: Muestra lo que se paga en cada trabajo por cada cosa.
penalty: '&eEste trabajo tiene una penalidad de &c[penalty]% &eporque hay muchos
trabajadores trabajando en el.'
bonus: '&eEste trabajo tiene un bonus de &2[bonus]% &eporque hay pocos tabajadores
trabajando en el.'
args: '[jobname] [action]'
actions: '&eAcciones validas: &f%actions%'
max: ' - &enivel maximo:&f '
material: '&7%material%'
levelRange: ' &a(&e%levelFrom% &a- &e%levelUntil% &alevels)'
levelFrom: ' &a(from &e%levelFrom% &alevel)'
levelUntil: ' &a(until &e%levelUntil% &alevel)'
money: ' &2%money%$'
points: ' &6%points%points'
exp: ' &e%exp%xp'
gui:
pickjob: '&eEscoje tu trabajo'
jobinfo: '&e[jobname] informacion'
actions: '&eAcciones validas:'
leftClick: '&eClick izquierdo para mas informacion'
rightClick: '&eClick derecho para unirte al trabajo'
leftSlots: '&ePuestos libres:&f '
working: '&2&nActualmente trabajando'
max: '&eNivel maximo:&f '
back: '&e<<< Volver'
output:
break:
info: Romper
none: Con el trabajo %jobname% no consigues dinero por romper bloques.
tntbreak:
info: Explotar
none: Con el trabajo %jobname% no consigues dinero por explotar bloques con dinamita.
place:
info: Colocar
none: Con el trabajo %jobname% no consigues dinero por colocar bloques.
kill:
info: Matar
none: Con el trabajo %jobname% no consigues dinero por matar mobs.
mmkill:
info: MMKill
none: Con el trabajo %jobname% no consigues dinero por matar mobs miticos.
fish:
info: Pescar
none: Con el trabajo %jobname% no consigues dinero por pescar peces.
craft:
info: Craftear
none: Con el trabajo %jobname% no consigues dinero por craftear items.
smelt:
info: Hornear
none: Con el trabajo %jobname% no consigues dinero por hornear.
brew:
info: Destilar
none: Con el trabajo %jobname% no consigues dinero por destilar pociones.
eat:
info: Comer
none: Con el trabajo %jobname% no consigues dinero por comer.
dye:
info: Dye
none: Con el trabajo %jobname% no consigues dinero por te?ir ropa.
enchant:
info: Encantar
none: Con el trabajo %jobname% no consigues dinero por encantar herramientas.
repair:
info: Reparar
none: Con el trabajo %jobname% no consigues dinero por reparar.
breed:
info: Criar
none: Con el trabajo %jobname% no consigues dinero por criar animales.
tame:
info: Domar
none: Con el trabajo %jobname% no consigues dinero por domar animales.
milk:
info: Orde?ar
none: Con el trabajo %jobname% no consigues dinero por orde?ar vacas.
shear:
info: Esquilar
none: Con el trabajo %jobname% no consigues dinero por esquilar ovejas.
explore:
info: Explorar
none: Con el trabajo %jobname% no consigues dinero por explorar el mundo.
custom-kill:
info: Custom kill
none: '%jobname% does not get money from custom player kills.'
playerinfo:
help:
info: Muestra que le estan pagando a alguien y por que cosa.
args: '[playername] [jobname] [action]'
join:
help:
info: Unirse al trabajo.
args: '[jobname]'
error:
alreadyin: Ya estas en el trabajo %jobname%.
fullslots: No te puedes unir al trabajo %jobname%, ya que no hay puestos libres.
maxjobs: Has alcanzado el limite de trabajos.
success: Te has unido al trabajo %jobname%.
leave:
help:
info: Dejar el trabajo.
args: '[jobname]'
success: Has dejado el trabajo %jobname%.
leaveall:
help:
info: Dejar todos tus trabajos.
error:
nojobs: No tienes ningun trabajo para dejar
success: Has dejado todos tus trabajos.
browse:
help:
info: Lista de trabajos disponibles para ti.
error:
nojobs: No hay trabajos a los puedas unirte.
output:
header: 'Tienes permitido unirte a los siguientes trabajos:'
footer: Para mas informacion escribe /jobs info [JobName]
totalWorkers: ' &7Trabajadores: &e[amount]'
penalty: ' &4Penalizacion: &c[amount]%'
bonus: ' &2Bonus: &a[amount]%'
fire:
help:
info: Despide al jugador del trabajo.
args: '[playername] [jobname]'
error:
nojob: El jugador no tiene el trabajo %jobname%.
output:
target: Has sido despedido del trabajo %jobname%.
fireall:
help:
info: Despide al jugador de todos sus trabajos.
args: '[playername]'
error:
nojobs: El jugador no tiene ningun trabajo para despedirlo
output:
target: Has sido despedido de todos tus trabajos.
employ:
help:
info: Emplear a jugador a un trabajo.
args: '[playername] [jobname]'
error:
alreadyin: El jugador ya esta en el trabajo %jobname%.
output:
target: Has sido empledo a %jobname%.
top:
help:
info: Muestra el top 15 jugadores segun su trabajo.
args: '[jobname]'
error:
nojob: No se ha encontrado ningun trabajo con este nombre.
output:
topline: '&aTop&e 15 &ajugadores por el trabajo &e%jobname%'
list: '&e%number%&a. &e%playername% &alvl &e%level% &awith&e %exp% &aexp'
prev: '&e<<<<< Pagina anterior &2|'
next: '&2|&e Siguiente pagina >>>>'
show: '&2Show from &e[from] &2until &e[until] &2top list'
gtop:
help:
info: Muestra el top 15 por el nivel global de trabajos.
args: ''
error:
nojob: No se pudo encontrar ninguna informacion.
output:
topline: '&aTop&e 15 &ajugadores por el nivel global de trabajos'
list: '&e%number%&a. &e%playername% &alvl &e%level% &awith&e %exp% &aexp'
prev: '&e<<<<< Pagina anterior &2|'
next: '&2|&e Siguiente pagina >>>>'
show: '&2Muestra desde &e[from] &2hasta &e[until] &2top global'
log:
help:
info: Muestra estadisticas.
args: '[playername]'
output:
topline: '&7************************* &6%playername% &7*************************'
list: '&7* &6%number%. &3%action%: &6%item% &ecantidad: %qty% &6dinero: %money%
&eexp: %exp%'
bottomline: '&7***********************************************************'
prev: '&e<<<<< Pagina anterior &2|'
next: '&2|&e Siguiente pagina >>>>'
nodata: '&cDatos no encontrados'
glog:
help:
info: Muestra las estadisticas globales.
args: ''
output:
topline: '&7*********************** &6Estadisticas globales &7***********************'
list: '&7* &6%number%. &3%username% &e%action%: &6%item% &ecantidad: %qty% &6money:
%money% &eexp: %exp%'
bottomline: '&7**************************************************************'
nodata: '&cDatos no encontrados'
transfer:
help:
info: Transferir a un jugador de un trabajo a otro.
args: '[playername] [oldjob] [newjob]'
output:
target: Has sido cambiado de %oldjobname% a %newjobname%.
promote:
help:
info: Subir X nivel a un jugador en un trabajo.
args: '[playername] [jobname] [levels]'
output:
target: Te han subido %levelsgained% niveles en el trabajo %jobname%.
demote:
help:
info: Bajar X niveles a un jugador en un trabajo.
args: '[playername] [jobname] [levels]'
output:
target: Te han bajado %levelslost% niveles en %jobname%.
grantxp:
help:
info: Grant the player X experience in a job.
args: '[playername] [jobname] [xp]'
output:
target: You have been granted %xpgained% experience in %jobname%.
removexp:
help:
info: Eliminado X experiencia a un jugador en un trabajo.
args: '[playername] [jobname] [xp]'
output:
target: Has perdido %xplost% experiencia en %jobname%.
signupdate:
help:
info: Manualmente actualizado el cartel
args: '[jobname]'
reload:
help:
info: Recargar configuraciones.
toggle:
help:
info: Toggles payment output on action bar.
args: ''
output:
turnedoff: '&4Esta opcion esta desactivado'
paid:
main: '&aYou got:'
money: '&e[amount] money'
exp: '&7[exp] exp'
points: '&6[points] points'
'on': '&aToggled: &aON'
'off': '&aToggled: &4OFF'
message:
skillup:
broadcast: '%playername% ha mejorado a %titlename% %jobname%.'
nobroadcast: Enhorabuena, has mejorado a %titlename% %jobname%.
levelup:
broadcast: '%playername% es ahora nivel %joblevel% %jobname%.'
nobroadcast: Ahora eres nivel %joblevel% %jobname%.
cowtimer: '&eTienes que esperar &6%time% &esegundos para recibir dinero del trabajo.'
blocktimer: '&eYou need to wait: &3[time] &esec more to get paid for this!'
placeblocktimer: '&eNo puedes poner bloques mas rapido que &6[time] &esegundos en
el mismo lugar!'
taxes: '&3[amount] &eserver taxes where transfered to this account'
boostStarted: '&eAumentador de trabajos se ha iniciado'
boostStoped: '&eAumentador de trabajos se ha parado'
crafting:
fullinventory: Tu inventario esta lleno
signs:
List: '&0[number].&8[player]&7:&4[level]'
SpecialList:
'1':
'1': '&b** &8Primero &b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
'2':
'1': '&b** &8Segundo &b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
'3':
'1': '&b** &8Tercero &b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
cantcreate: '&4No puedes crear este cartel'
cantdestroy: '&4No puedes romper este cartel'
topline: '&2[Jobs]'
secondline:
join: '&2Unirse'
leave: '&4Dejar'
toggle: '&2Toggle'
top: '&2Top'
browse: '&2Buscar'
stats: '&2Estadisticas'
limit: '&2Limite'
info: '&2Info'
archive: '&2Archivo'
scoreboard:
topline: '&2Top &e%jobname%'
gtopline: '&2Lista top global'
lines: '&2%number%. &e%playername%'