1
0
mirror of https://github.com/Zrips/Jobs.git synced 2024-11-29 14:05:25 +01:00

Stuff and stuff

This commit is contained in:
Zrips 2016-04-03 17:22:44 +03:00
parent ef03c9ac0e
commit c7875d9b4c
32 changed files with 1433 additions and 172 deletions

View File

@ -32,6 +32,8 @@ import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Gui.GuiManager;
import com.gamingmesh.jobs.Signs.SignUtil;
import com.gamingmesh.jobs.api.JobsExpGainEvent;
import com.gamingmesh.jobs.api.JobsPaymentEvent;
import com.gamingmesh.jobs.commands.JobsCommands;
import com.gamingmesh.jobs.config.BossBarManager;
import com.gamingmesh.jobs.config.ConfigManager;
@ -451,6 +453,11 @@ public class Jobs {
paymentThread.start();
Jobs.getJobsDAO().loadPlayerData();
// Schedule
Jobs.getScheduleManager().load();
if (Jobs.getGCManager().useGlobalBoostScheduler)
Jobs.getScheduleManager().scheduler();
}
/**
@ -703,23 +710,46 @@ public class Jobs {
if (income != 0D || points != 0D) {
BoostMultiplier FinalBoost = Jobs.getPlayerManager().getFinalBonus(Bukkit.getServer().getPlayer(jPlayer.getPlayerUUID()), Jobs.getNoneJob());
// Calculate income
Double amount = 0D;
if (income != 0D)
amount = income + ((income * multiplier) - income) + ((income * 1.0) - income) + ((income * Jobs.getNoneJob().getMoneyBoost()) - income);
Double pointAmount = 0D;
if (points != 0D)
pointAmount = points + ((points * multiplier) - points) + ((points * 1.0) - points) + ((points * Jobs.getNoneJob().getPointBoost()) - points);
if (Jobs.getGCManager().useDynamicPayment) {
double moneyBonus = (income * (jobNone.getBonus() / 100));
amount += moneyBonus;
double pointBonus = (points * (jobNone.getBonus() / 100));
pointAmount += pointBonus;
if (income != 0D) {
amount = income + (income * FinalBoost.getMoneyBoost() / 100);
if (Jobs.getGCManager().useMinimumOveralPayment && income > 0) {
double maxLimit = income * Jobs.getGCManager().MinimumOveralPaymentLimit;
if (amount < maxLimit) {
amount = maxLimit;
}
}
}
if (!isUnderMoneyLimit(dude, amount))
// Calculate points
Double pointAmount = 0D;
if (points != 0D) {
pointAmount = points + (points * FinalBoost.getPointsBoost() / 100);
if (Jobs.getGCManager().useMinimumOveralPoints && points > 0) {
double maxLimit = points * Jobs.getGCManager().MinimumOveralPaymentLimit;
if (pointAmount < maxLimit) {
pointAmount = maxLimit;
}
}
}
if (!isUnderMoneyLimit(dude, amount)) {
amount = 0D;
if (Jobs.getGCManager().MoneyStopPoint)
pointAmount = 0D;
}
if (!isUnderPointLimit(dude, pointAmount)) {
pointAmount = 0D;
if (Jobs.getGCManager().PointStopMoney)
amount = 0D;
}
if (amount == 0D && pointAmount == 0D)
return;
Jobs.getEconomy().pay(jPlayer, amount, pointAmount, 0.0);
@ -771,8 +801,9 @@ public class Jobs {
BoostMultiplier FinalBoost = Jobs.getPlayerManager().getFinalBonus(Bukkit.getServer().getPlayer(jPlayer.getPlayerUUID()), prog.getJob());
if (multiplier != 0.0)
FinalBoost = new BoostMultiplier(FinalBoost.getMoney() + ((multiplier * 100) - 100), FinalBoost.getPoints() + ((multiplier * 100) - 100), FinalBoost
.getExp() + ((multiplier * 100) - 100));
FinalBoost = new BoostMultiplier(FinalBoost.getMoneyBoost() + multiplier,
FinalBoost.getPointsBoost() + multiplier,
FinalBoost.getExpBoost() + multiplier);
OfflinePlayer dude = jPlayer.getPlayer();
@ -780,7 +811,7 @@ public class Jobs {
Double amount = 0D;
if (income != 0D) {
amount = income + (income * FinalBoost.getMoney() / 100);
amount = income + (income * FinalBoost.getMoneyBoost() / 100);
if (Jobs.getGCManager().useMinimumOveralPayment && income > 0) {
double maxLimit = income * Jobs.getGCManager().MinimumOveralPaymentLimit;
if (amount < maxLimit) {
@ -793,7 +824,7 @@ public class Jobs {
Double pointAmount = 0D;
if (points != 0D) {
pointAmount = points + (points * FinalBoost.getPoints() / 100);
pointAmount = points + (points * FinalBoost.getPointsBoost() / 100);
if (Jobs.getGCManager().useMinimumOveralPoints && points > 0) {
double maxLimit = points * Jobs.getGCManager().MinimumOveralPaymentLimit;
if (pointAmount < maxLimit) {
@ -803,7 +834,7 @@ public class Jobs {
}
// Calculate exp
double expAmount = exp + (exp * FinalBoost.getExp() / 100);
double expAmount = exp + (exp * FinalBoost.getExpBoost() / 100);
if (Jobs.getGCManager().useMinimumOveralPayment && exp > 0) {
double maxLimit = exp * Jobs.getGCManager().MinimumOveralPaymentLimit;
@ -850,6 +881,12 @@ public class Jobs {
if (Jobs.getGCManager().LoggingUse)
Loging.recordToLog(jPlayer, info, amount, expAmount);
// JobsPayment event
JobsExpGainEvent JobsExpGainEvent = new JobsExpGainEvent(jPlayer.getPlayer(), expAmount);
Bukkit.getServer().getPluginManager().callEvent(JobsExpGainEvent);
// If event is canceled, don't do anything
if (JobsExpGainEvent.isCancelled())
continue;
if (prog.addExperience(expAmount))
Jobs.getPlayerManager().performLevelUp(jPlayer, prog.getJob(), oldLevel);
}

View File

@ -144,8 +144,6 @@ public class JobsPlugin extends JavaPlugin {
// all loaded properly.
if (Jobs.getGCManager().useGlobalBoostScheduler)
Jobs.getScheduleManager().scheduler();
Jobs.getScheduleManager().DateUpdater();
String message = ChatColor.translateAlternateColorCodes('&', "&e[Jobs] Plugin has been enabled succesfully.");
@ -156,6 +154,7 @@ public class JobsPlugin extends JavaPlugin {
Jobs.getJobsDAO().loadExplore();
Jobs.getCommandManager().fillCommands();
}
@Override

View File

@ -14,4 +14,6 @@ public interface NMS {
public boolean isElderGuardian(Entity entity);
public ItemStack getItemInMainHand(Player player);
public Block getTargetBlock(Player player, int range);
}

View File

@ -50,7 +50,6 @@ import com.gamingmesh.jobs.dao.JobsDAO;
import com.gamingmesh.jobs.dao.JobsDAOData;
import com.gamingmesh.jobs.economy.PointsData;
import com.gamingmesh.jobs.stuff.ChatColor;
import com.gamingmesh.jobs.stuff.Debug;
import com.gamingmesh.jobs.stuff.PerformCommands;
public class PlayerManager {
@ -103,21 +102,15 @@ public class PlayerManager {
* @param playername
*/
public void playerJoin(Player player) {
long time = System.nanoTime();
JobsPlayer jPlayer = players.get(player.getName().toLowerCase());
if (jPlayer == null) {
jPlayer = JobsPlayer.loadFromDao(Jobs.getJobsDAO(), player);
Debug.D("1. " + (System.nanoTime() - time));
JobsPlayer.loadLogFromDao(jPlayer);
Debug.D("2. " + (System.nanoTime() - time));
players.put(player.getName().toLowerCase(), jPlayer);
}
jPlayer.onConnect();
Debug.D("3. " + (System.nanoTime() - time));
jPlayer.reloadHonorific();
Debug.D("4. " + (System.nanoTime() - time));
Jobs.getPermissionHandler().recalculatePermissions(jPlayer);
Debug.D("5. " + (System.nanoTime() - time));
return;
}
@ -127,14 +120,12 @@ public class PlayerManager {
*/
public void playerQuit(Player player) {
if (Jobs.getGCManager().saveOnDisconnect()) {
Debug.D("save on disc");
JobsPlayer jPlayer = players.remove(player.getName().toLowerCase());
if (jPlayer != null) {
jPlayer.save(Jobs.getJobsDAO());
jPlayer.onDisconnect();
}
} else {
Debug.D("dont save");
JobsPlayer jPlayer = players.get(player.getName().toLowerCase());
if (jPlayer != null) {
jPlayer.onDisconnect();
@ -199,7 +190,6 @@ public class PlayerManager {
* @return the player job info of the player
*/
public JobsPlayer getJobsPlayerOffline(String playerName) {
Debug.D("Getting offline player data");
JobsPlayer jPlayer = players.get(playerName.toLowerCase());
if (jPlayer != null)
return jPlayer;
@ -229,8 +219,6 @@ public class PlayerManager {
jPlayer.reloadLimits();
}
Debug.D("Offline player UID " + jPlayer.getUserId());
Jobs.getJobsDAO().loadPoints(jPlayer);
JobsPlayer.loadLogFromDao(jPlayer);
@ -714,15 +702,15 @@ public class PlayerManager {
BoostMultiplier itemboost = Jobs.getPlayerManager().getItemBoost(prog, iih);
data = new BoostMultiplier(data.getMoney() + itemboost.getMoney(),
data.getPoints() + itemboost.getPoints(),
data.getExp() + itemboost.getExp());
data = new BoostMultiplier(data.getMoneyBoost() + itemboost.getMoneyBoost(),
data.getPointsBoost() + itemboost.getPointsBoost(),
data.getExpBoost() + itemboost.getExpBoost());
for (ItemStack OneArmor : player.getInventory().getArmorContents()) {
BoostMultiplier armorboost = Jobs.getPlayerManager().getItemBoost(prog, OneArmor);
data = new BoostMultiplier(data.getMoney() + armorboost.getMoney(),
data.getPoints() + armorboost.getPoints(),
data.getExp() + armorboost.getExp());
data = new BoostMultiplier(data.getMoneyBoost() + armorboost.getMoneyBoost(),
data.getPointsBoost() + armorboost.getPointsBoost(),
data.getExpBoost() + armorboost.getExpBoost());
}
return data;
@ -799,11 +787,11 @@ public class PlayerManager {
BoostMultiplier itemboost = Jobs.getPlayerManager().getItemBoost(player, prog);
double IMoneyBoost = itemboost.getMoney() * 100.0 - 100.0;
double IMoneyBoost = itemboost.getMoneyBoost() * 100.0 - 100.0;
IMoneyBoost = (int) (IMoneyBoost * 100D) / 100D;
double IPointBoost = itemboost.getPoints() * 100.0 - 100.0;
double IPointBoost = itemboost.getPointsBoost() * 100.0 - 100.0;
IPointBoost = (int) (IPointBoost * 100D) / 100D;
double IExpBoost = itemboost.getExp() * 100.0 - 100.0;
double IExpBoost = itemboost.getExpBoost() * 100.0 - 100.0;
IExpBoost = (int) (IExpBoost * 100D) / 100D;
double RBoost = Jobs.getRestrictedAreaManager().getRestrictedMultiplier(player) * 100.0 - 100.0;

View File

@ -7,3 +7,4 @@
/JobsLevelUpEvent.class
/JobsPaymentEvent.class
/JobsChunkChangeEvent.class
/JobsExpGainEvent.class

View File

@ -0,0 +1,42 @@
package com.gamingmesh.jobs.api;
import org.bukkit.OfflinePlayer;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
public final class JobsExpGainEvent extends Event implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private OfflinePlayer offlinePlayer;
private double exp;
private boolean cancelled;
public JobsExpGainEvent(OfflinePlayer offlinePlayer, double exp) {
this.offlinePlayer = offlinePlayer;
this.exp = exp;
}
public OfflinePlayer getPlayer() {
return this.offlinePlayer;
}
public double getExp() {
return this.exp;
}
public boolean isCancelled() {
return cancelled;
}
public void setCancelled(boolean cancel) {
cancelled = cancel;
}
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}

View File

@ -33,6 +33,7 @@ import com.gamingmesh.jobs.container.Job;
import com.gamingmesh.jobs.container.JobInfo;
import com.gamingmesh.jobs.container.JobProgression;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.Debug;
public class JobsCommands implements CommandExecutor {
private static final String label = "jobs";
@ -72,8 +73,6 @@ public class JobsCommands implements CommandExecutor {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.notNumber"));
return true;
}
if (page < 1)
page = 1;
return help(sender, page);
}
@ -166,11 +165,15 @@ public class JobsCommands implements CommandExecutor {
if (((commands.size() * 1.0) / (amountToShow * 1.0)) - TotalPages > 0)
TotalPages++;
if (start >= commands.size()) {
page = TotalPages;
start = page * amountToShow;
end = start + amountToShow;
}
if (page > TotalPages || page < 1) {
Jobs.getActionBar().send(sender, Jobs.getLanguage().getMessage("general.error.noHelpPage"));
return true;
}
sender.sendMessage(Jobs.getLanguage().getMessage("command.help.output.title"));
sender.sendMessage(Jobs.getLanguage().getMessage("command.help.output.page", "[1]", page, "[2]", TotalPages));
@ -447,18 +450,16 @@ public class JobsCommands implements CommandExecutor {
// Jobs.getPlayerManager().getFinalBonus(player, prog)
income = income + (income * finalBoost.getMoney() / 100);
ChatColor incomeColor = income >= 0 ? ChatColor.GREEN : ChatColor.DARK_RED;
income = income + (income * finalBoost.getMoneyBoost() / 100);
String incomeColor = income >= 0 ? "" : ChatColor.DARK_RED.toString();
double xp = info.getExperience(level, numjobs);
xp = xp + (xp * finalBoost.getExp() / 100);
ChatColor xpColor = xp >= 0 ? ChatColor.YELLOW : ChatColor.GRAY;
String xpString = String.format("%.2f xp", xp);
xp = xp + (xp * finalBoost.getExpBoost() / 100);
String xpColor = xp >= 0 ? "" : ChatColor.GRAY.toString();
double points = info.getPoints(level, numjobs);
points = points + (points * finalBoost.getPoints() / 100);
ChatColor pointsColor = xp >= 0 ? ChatColor.GOLD : ChatColor.GRAY;
String pointsString = String.format("%.2f points ", points);
points = points + (points * finalBoost.getPointsBoost() / 100);
String pointsColor = xp >= 0 ? "" : ChatColor.RED.toString();
message.append(" ");
@ -468,20 +469,14 @@ public class JobsCommands implements CommandExecutor {
else
message.append(" -> ");
if (income != 0.0) {
message.append(incomeColor.toString());
message.append(Jobs.getEconomy().format(income));
message.append(" ");
}
if (income != 0.0)
message.append(Jobs.getLanguage().getMessage("command.info.help.money", "%money%", incomeColor + String.format("%.2f", income)));
if (points != 0.0) {
message.append(pointsColor.toString());
message.append(pointsString);
}
if (points != 0.0)
message.append(Jobs.getLanguage().getMessage("command.info.help.points", "%points%", pointsColor + String.format("%.2f", points)));
message.append(xpColor.toString());
message.append(xpString);
message.append(" ");
if (xp != 0.0)
message.append(Jobs.getLanguage().getMessage("command.info.help.exp", "%exp%", xpColor + String.format("%.2f", xp)));
if (info.getFromLevel() > 1 && info.getUntilLevel() != -1)
message.append(Jobs.getLanguage().getMessage("command.info.help.levelRange", "%levelFrom%", info.getFromLevel(), "%levelUntil%", info.getUntilLevel()));
@ -515,6 +510,8 @@ public class JobsCommands implements CommandExecutor {
String message = "";
String pos = ChatColor.DARK_GREEN + "\u258F";
String pros = ChatColor.YELLOW + "\u258F";
if (current < 0)
current = 0;
int percentage = (int) ((current * 50.0) / max);
for (int i = 0; i < percentage; i++) {
message += pos;

View File

@ -43,3 +43,4 @@
/shop.class
/bonus.class
/editpoints.class
/blockinfo.class

View File

@ -0,0 +1,47 @@
package com.gamingmesh.jobs.commands.list;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.JobsPlugin;
import com.gamingmesh.jobs.commands.Cmd;
import com.gamingmesh.jobs.commands.JobCommand;
public class blockinfo implements Cmd {
@SuppressWarnings("deprecation")
@JobCommand(1450)
public boolean perform(JobsPlugin plugin, final CommandSender sender, final String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.ingame"));
return false;
}
if (args.length != 0) {
Jobs.getCommandManager().sendUsage(sender, "blockinfo");
return true;
}
Player player = (Player) sender;
Block block = Jobs.getNms().getTargetBlock(player, 15);
if (block == null || block.getState().getType() == Material.AIR)
return true;
String dataString = block.getData() == 0 ? "" : "-" + block.getData();
sender.sendMessage(Jobs.getLanguage().getMessage("general.info.separator"));
sender.sendMessage(Jobs.getLanguage().getMessage("command.blockinfo.output.name", "%blockname%", block.getType().name()));
sender.sendMessage(Jobs.getLanguage().getMessage("command.blockinfo.output.id", "%blockid%", block.getTypeId()));
sender.sendMessage(Jobs.getLanguage().getMessage("command.blockinfo.output.data", "%blockdata%", block.getData()));
sender.sendMessage(Jobs.getLanguage().getMessage("command.blockinfo.output.usage", "%first%", block.getTypeId() + dataString,
"%second%", block.getType().name() + dataString));
sender.sendMessage(Jobs.getLanguage().getMessage("general.info.separator"));
return true;
}
}

View File

@ -52,11 +52,11 @@ public class bonus implements Cmd {
BoostMultiplier itemboost = Jobs.getPlayerManager().getItemBoost(player, job);
double IMoneyBoost = itemboost.getMoney() * 100.0 - 100.0;
double IMoneyBoost = itemboost.getMoneyBoost() * 100.0 - 100.0;
IMoneyBoost = (int) (IMoneyBoost * 100D) / 100D;
double IPointBoost = itemboost.getPoints() * 100.0 - 100.0;
double IPointBoost = itemboost.getPointsBoost() * 100.0 - 100.0;
IPointBoost = (int) (IPointBoost * 100D) / 100D;
double IExpBoost = itemboost.getExp() * 100.0 - 100.0;
double IExpBoost = itemboost.getExpBoost() * 100.0 - 100.0;
IExpBoost = (int) (IExpBoost * 100D) / 100D;
double RBoost = Jobs.getRestrictedAreaManager().getRestrictedMultiplier(player) * 100.0 - 100.0;

View File

@ -4,6 +4,7 @@ import java.util.ArrayList;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.JobsPlugin;
@ -57,7 +58,18 @@ public class browse implements Cmd {
}
if (sender instanceof Player && Jobs.getGCManager().JobsGUIOpenOnBrowse) {
((Player) sender).openInventory(Jobs.getGUIManager().CreateJobsGUI((Player) sender));
Inventory inv = null;
try {
inv = Jobs.getGUIManager().CreateJobsGUI((Player) sender);
} catch (Exception e) {
((Player) sender).closeInventory();
Jobs.getGUIManager().GuiList.remove(((Player) sender).getName());
return true;
}
if (inv == null)
return true;
((Player) sender).openInventory(inv);
}
if (Jobs.getGCManager().JobsGUIShowChatBrowse) {

View File

@ -2,6 +2,7 @@ package com.gamingmesh.jobs.commands.list;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.JobsPlugin;
@ -11,12 +12,11 @@ import com.gamingmesh.jobs.container.Job;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.ChatColor;
public class join implements Cmd {
@JobCommand(100)
public boolean perform(JobsPlugin plugin, final CommandSender sender, final String[] args) {
if (!(sender instanceof Player)){
if (!(sender instanceof Player)) {
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.ingame"));
return false;
}
@ -27,9 +27,20 @@ public class join implements Cmd {
}
if (args.length == 0) {
if (sender instanceof Player && Jobs.getGCManager().JobsGUIOpenOnJoin)
((Player) sender).openInventory(Jobs.getGUIManager().CreateJobsGUI((Player) sender));
else
if (sender instanceof Player && Jobs.getGCManager().JobsGUIOpenOnJoin) {
Inventory inv = null;
try {
inv = Jobs.getGUIManager().CreateJobsGUI((Player) sender);
} catch (Exception e) {
((Player) sender).closeInventory();
Jobs.getGUIManager().GuiList.remove(((Player) sender).getName());
return true;
}
if (inv == null)
return true;
((Player) sender).openInventory(inv);
} else
return false;
return true;
}

View File

@ -3,6 +3,8 @@ package com.gamingmesh.jobs.config;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@ -31,13 +33,18 @@ public class BossBarManager {
if (player == null)
return;
for (String one : player.getUpdateBossBarFor()) {
List<String> temp = new ArrayList<String>();
temp.addAll(player.getUpdateBossBarFor());
for (String one : temp) {
for (JobProgression oneJob : player.getJobProgression()) {
if (one.equalsIgnoreCase(oneJob.getJob().getName()))
ShowJobProgression(player, oneJob);
}
}
player.getUpdateBossBarFor().clear();
player.clearUpdateBossBarFor();
}
public synchronized void ShowJobProgression(final JobsPlayer player, final JobProgression jobProg) {

View File

@ -322,7 +322,6 @@ public class GeneralConfigManager {
Jobs.getSignUtil().LoadSigns();
// Schedule
Jobs.setScheduleManager(plugin);
Jobs.getScheduleManager().load();
// Shop
Jobs.setShopManager(plugin);
Jobs.getShopManager().load();
@ -791,7 +790,6 @@ public class GeneralConfigManager {
// writer.addComment("Gui.UseJobsBrowse", "Do you want to use jobs browse gui instead of chat text");
// UseJobsBrowse = c.get("Gui.UseJobsBrowse", true);
// Write back config
try {
c.getW().save(f);

View File

@ -35,6 +35,7 @@ public class LanguageManager {
languages.add("fr");
languages.add("ru");
languages.add("cz");
languages.add("es");
for (String lang : languages) {
YmlMaker langFile = new YmlMaker((JavaPlugin) plugin, "locale" + File.separator + "messages_" + lang + ".yml");
@ -65,6 +66,7 @@ public class LanguageManager {
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!");
@ -155,6 +157,13 @@ public class LanguageManager {
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]"));
@ -202,6 +211,10 @@ public class LanguageManager {
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:");
@ -423,7 +436,7 @@ public class LanguageManager {
c.get("scoreboard.gtopline", "&2Global top list");
c.get("scoreboard.lines", "&2%number%. &e%playername%");
// keys = new ArrayList<String>(c.getC().getConfigurationSection("signs.secondline").getKeys(false));
Jobs.getGCManager().keys = new ArrayList<String>(c.getC().getConfigurationSection("signs.secondline").getKeys(false));
// Write back config
try {

View File

@ -571,10 +571,10 @@ public class NameTranslatorManager {
c.get("ItemList.98:2.Name", "Cracked Stone Bricks");
c.get("ItemList.98:3.MCName", "stonebrick");
c.get("ItemList.98:3.Name", "Chiseled Stone Bricks");
c.get("ItemList.99.MCName", "stonebrick");
c.get("ItemList.99.Name", "Red Mushroom Cap");
c.get("ItemList.100.MCName", "stonebrick");
c.get("ItemList.100.Name", "Brown Mushroom Cap");
c.get("ItemList.99.MCName", "brown_mushroom_block");
c.get("ItemList.99.Name", "Brown Mushroom Cap");
c.get("ItemList.100.MCName", "red_mushroom_block");
c.get("ItemList.100.Name", "Red Mushroom Cap");
c.get("ItemList.101.MCName", "iron_bars");
c.get("ItemList.101.Name", "Iron Bars");
c.get("ItemList.102.MCName", "glass_pane");

View File

@ -11,15 +11,15 @@ public class BoostMultiplier {
this.exp = exp;
}
public double getMoney() {
public double getMoneyBoost() {
return this.money;
}
public double getPoints() {
public double getPointsBoost() {
return this.points;
}
public double getExp() {
public double getExpBoost() {
return this.exp;
}
}

View File

@ -31,7 +31,6 @@ import com.gamingmesh.jobs.dao.JobsDAO;
import com.gamingmesh.jobs.dao.JobsDAOData;
import com.gamingmesh.jobs.resources.jfep.Parser;
import com.gamingmesh.jobs.stuff.ChatColor;
import com.gamingmesh.jobs.stuff.Debug;
import com.gamingmesh.jobs.stuff.Perm;
public class JobsPlayer {
@ -104,15 +103,20 @@ public class JobsPlayer {
Jobs.getJobsDAO().loadLog(jPlayer);
}
public List<String> getUpdateBossBarFor() {
public synchronized List<String> getUpdateBossBarFor() {
return this.updateBossBarFor;
}
public List<BossBarInfo> getBossBarInfo() {
public synchronized void clearUpdateBossBarFor() {
this.updateBossBarFor.clear();
;
}
public synchronized List<BossBarInfo> getBossBarInfo() {
return this.barMap;
}
public void hideBossBars() {
public synchronized void hideBossBars() {
for (BossBarInfo one : this.barMap) {
one.getBar().setVisible(false);
}
@ -590,15 +594,11 @@ public class JobsPlayer {
* @param dao
*/
public void save(JobsDAO dao) {
long time = System.nanoTime();
// synchronized (saveLock) {
if (!isSaved()) {
dao.save(this);
Debug.D("1 " + (System.nanoTime() - time));
dao.saveLog(this);
Debug.D("2 " + (System.nanoTime() - time));
dao.savePoints(this);
Debug.D("3 " + (System.nanoTime() - time));
setSaved(true);
}
// }

View File

@ -43,7 +43,6 @@ import com.gamingmesh.jobs.container.LogAmounts;
import com.gamingmesh.jobs.container.PlayerInfo;
import com.gamingmesh.jobs.container.PlayerPoints;
import com.gamingmesh.jobs.container.TopList;
import com.gamingmesh.jobs.stuff.Debug;
import com.gamingmesh.jobs.stuff.Loging;
import com.gamingmesh.jobs.stuff.TimeManage;
@ -633,7 +632,6 @@ public abstract class JobsDAO {
}
public void savePoints(JobsPlayer player) {
Debug.D("Saving points: " + player.getUserName());
JobsConnection conn = getConnection();
if (conn == null)
return;

View File

@ -187,14 +187,15 @@ public class BufferedEconomy {
Bukkit.getScheduler().runTaskLater(plugin, new BufferedPaymentTask(this, economy, payment), i);
}
try {
// Action bar stuff
Jobs.getActionBar().ShowActionBar(payment);
if (payment.getOfflinePlayer().isOnline()) {
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(payment.getOfflinePlayer().getName());
Jobs.getBBManager().ShowJobProgression(jPlayer);
}
} catch (Exception e) {
}
}
// empty payment cache
paymentCache.clear();

View File

@ -82,6 +82,7 @@ import com.gamingmesh.jobs.container.ExploreRespond;
import com.gamingmesh.jobs.container.JobProgression;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.ChatColor;
import com.gamingmesh.jobs.stuff.Debug;
import com.gamingmesh.jobs.stuff.Perm;
import com.google.common.base.Objects;
@ -304,7 +305,7 @@ public class JobsPaymentListener implements Listener {
double multiplier = 0.0;
if (McMMOlistener.mcMMOPresent)
multiplier = McMMOlistener.getMultiplier(player);
multiplier = McMMOlistener.getMultiplier(player) * 100 - 100;
// Item in hand
ItemStack item = Jobs.getNms().getItemInMainHand(player);
@ -856,9 +857,9 @@ public class JobsPaymentListener implements Listener {
if (t.isTamed() && t.getOwner() instanceof Player) {
pDamager = (Player) t.getOwner();
if (Perm.hasPermission(pDamager, "jobs.petpay") || Perm.hasPermission(pDamager, "jobs.vippetpay"))
PetPayMultiplier = Jobs.getGCManager().VipPetPay;
PetPayMultiplier = Jobs.getGCManager().VipPetPay * 100 - 100;
else
PetPayMultiplier = Jobs.getGCManager().PetPay;
PetPayMultiplier = Jobs.getGCManager().PetPay * 100 - 100;
}
}
} else
@ -881,10 +882,12 @@ public class JobsPaymentListener implements Listener {
Double NearSpawnerMultiplier = 0.0;
if (lVictim.hasMetadata(mobSpawnerMetadata))
NearSpawnerMultiplier = jDamager.getVipSpawnerMultiplier();
NearSpawnerMultiplier = jDamager.getVipSpawnerMultiplier() * 100 - 100;
// Calulating multiplaier
double multiplier = ((NearSpawnerMultiplier * 100) - 100) + ((PetPayMultiplier * 100) - 100);
double multiplier = NearSpawnerMultiplier + PetPayMultiplier;
Debug.D(multiplier + " " + NearSpawnerMultiplier + " " + PetPayMultiplier);
if (lVictim instanceof Player && !lVictim.hasMetadata("NPC")) {
Player VPlayer = (Player) lVictim;

View File

@ -45,7 +45,12 @@ public class PistonProtectionListener implements Listener {
@SuppressWarnings("deprecation")
public static boolean CheckVegy(Block block) {
for (String ConfigOneBlock : Jobs.getRestrictedBlockManager().restrictedBlocksTimer) {
int ConfigPlacedBlockId = Integer.valueOf(ConfigOneBlock.split("-")[0]);
int ConfigPlacedBlockId = 0;
try {
ConfigPlacedBlockId = Integer.parseInt(ConfigOneBlock.split("-")[0]);
} catch (NumberFormatException e) {
continue;
}
if (block.getTypeId() == ConfigPlacedBlockId) {
return true;
}
@ -56,9 +61,16 @@ public class PistonProtectionListener implements Listener {
@SuppressWarnings("deprecation")
public static boolean checkVegybreak(Block block, Player player) {
for (String ConfigOneBlock : Jobs.getRestrictedBlockManager().restrictedBlocksTimer) {
int ConfigPlacedBlockId = Integer.valueOf(ConfigOneBlock.split("-")[0]);
int ConfigPlacedBlockId = 0;
int ConfigPlacedBlockTimer = 0;
try {
ConfigPlacedBlockId = Integer.parseInt(ConfigOneBlock.split("-")[0]);
ConfigPlacedBlockTimer = Integer.parseInt(ConfigOneBlock.split("-")[1]);
} catch (NumberFormatException e) {
continue;
}
if (block.getTypeId() == ConfigPlacedBlockId) {
if (CheckVegyTimer(block, Integer.valueOf(ConfigOneBlock.split("-")[1]), player)) {
if (CheckVegyTimer(block, ConfigPlacedBlockTimer, player)) {
return true;
}
}
@ -83,7 +95,7 @@ public class PistonProtectionListener implements Listener {
}
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public static void OnBlockMove(BlockPistonExtendEvent event) {
public void OnBlockMove(BlockPistonExtendEvent event) {
//disabling plugin in world
if (event.getBlock() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld()))
return;
@ -103,7 +115,7 @@ public class PistonProtectionListener implements Listener {
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public static void OnBlockRetractMove(BlockPistonRetractEvent event) {
public void OnBlockRetractMove(BlockPistonRetractEvent event) {
//disabling plugin in world
if (event.getBlock() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld()))
return;

View File

@ -1,6 +1,7 @@
package com.gamingmesh.jobs.nmsUtil;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
@ -28,4 +29,10 @@ public class v1_7 implements NMS {
public ItemStack getItemInMainHand(Player player) {
return player.getInventory().getItemInHand();
}
@SuppressWarnings("deprecation")
@Override
public Block getTargetBlock(Player player, int range) {
return player.getTargetBlock((HashSet<Byte>) null, range);
}
}

View File

@ -2,6 +2,9 @@ package com.gamingmesh.jobs.nmsUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Guardian;
@ -33,4 +36,9 @@ public class v1_8 implements NMS {
public ItemStack getItemInMainHand(Player player) {
return player.getInventory().getItemInHand();
}
@Override
public Block getTargetBlock(Player player, int range) {
return player.getTargetBlock((Set<Material>) null, range);
}
}

View File

@ -2,6 +2,9 @@ package com.gamingmesh.jobs.nmsUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Guardian;
@ -34,4 +37,9 @@ public class v1_9 implements NMS {
return player.getInventory().getItemInMainHand();
}
@Override
public Block getTargetBlock(Player player, int range) {
return player.getTargetBlock((Set<Material>) null, range);
}
}

View File

@ -7,6 +7,7 @@ import java.util.logging.Level;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
@ -84,7 +85,6 @@ public class ActionBar {
public void ShowActionBar(BufferedPayment payment) {
Debug.D("show action bar");
if (cleanVersion == -1)
getInfo();
@ -95,7 +95,6 @@ public class ActionBar {
if (!Jobs.getActionbarToggleList().containsKey(playername) && Jobs.getGCManager().ActionBarsMessageByDefault)
Jobs.getActionbarToggleList().put(playername, true);
if (playername == null)
return;
@ -117,12 +116,12 @@ public class ActionBar {
}
}
public void send(Player receivingPacket, String msg) {
public void send(CommandSender receivingPacket, String msg) {
try {
if (msg == null || nmsChatSerializer == null)
return;
if (cleanVersion < 1800) {
if (cleanVersion < 1800 || !(receivingPacket instanceof Player)) {
receivingPacket.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
return;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,50 +1,142 @@
economy:
error:
nomoney: Nedostatek financi!
limitedItem:
error:
levelup: '&cMusite ziskat dalsi level v praci [jobname] pro pouziti toho predmetu!'
general:
info:
toplineseparator: '&7*********************** &6%playername% &7***********************'
separator: '&7*******************************************************'
admin:
error: '&cDoslo k chybe v prikazu.'
success: '&eVas prikaz byl proveden.'
error:
notNumber: '&ePouzijte cisla!'
job: '&cPrace, kterou jste vybrali neexistuje!'
permission: '&cNemate dostatecna opravneni, na provedeni tohoto prikazu!'
noinfo: '&cNebyly nalezeny zadne informace!'
noinfoByPlayer: '&cNabyly nalezeny zadne informace o hraci [%playername%]!'
ingame: '&cTento prikaz lze pouzivat pouze ve hre!'
fromconsole: '&cTento prikaz lze pouzivat pouze z konzole serveru!'
worldisdisabled: '&cTento prikaz nelze pouzit v tomto svete!'
command:
boost:
moneyboost:
help:
info: Zvysuje Exp/Vydelek pro vsechny hrace.
args: '[JmenoPrace] [Hodnota]'
info: Zvysuje zisk penez pro vsechny hrace
args: '[jobname] [rate]'
output:
allreset: Vsechny exp/vydelky BOOST byly vypnuty.
jobsboostreset: BOOST pro %jobname% byl vypnut.
nothingtoreset: Neni nic, co by se dalo vypnout.
boostalladded: BOOST hodnoty %boost% byly povoleny pro vsechny prace.
boostadded: BOOST hodnoty &e%boost% &abyly povoleny pro praci &e%jobname%!
infostats: '&c-----> &aExp/Vydelky x%boost% je/jsou zapnute&c <-------'
allreset: Vsechny zvysene zisky na prace budou vypnuty
jobsboostreset: Money boost for %jobname% was turned off
nothingtoreset: Nothing to reset
boostalladded: Money boost of %boost% added for all jobs!
boostadded: Money boost of &e%boost% &aadded for &e%jobname%!
infostats: '&c-----> &aMoney rate x%boost% enabled&c <-------'
pointboost:
help:
info: Boosts points gain for all players
args: '[jobname] [rate]'
output:
allreset: Vsechny body boost vypnout
jobsboostreset: Points boost for %jobname% was turned off
nothingtoreset: Nothing to reset
boostalladded: Points boost of %boost% added for all jobs!
boostadded: Points boost of &e%boost% &aadded for &e%jobname%!
infostats: '&c-----> &aPoints rate x%boost% enabled&c <-------'
expboost:
help:
info: Boosts Exp gain for all players
args: '[jobname] [rate]'
output:
allreset: All exp boost turned off
jobsboostreset: Exp boost for %jobname% was turned off
nothingtoreset: Nothing to reset
boostalladded: Exp boost of %boost% added for all jobs!
boostadded: Exp boost of &e%boost% &aadded for &e%jobname%!
infostats: '&c-----> &aZvyseni xp x%boost% povoleno&c <-------'
bonus:
help:
info: Show job bonuses
args: '[jobname]'
output:
topline: '&7**************** &2[money] &6[points] &e[exp] &7****************'
permission: ' &ePermission bonus: %money% %points% %exp%'
item: ' &eItem bonus: %money% %points% %exp%'
global: ' &eGlobal bonus: %money% %points% %exp%'
dynamic: ' &eDynamicky platebni bonus: %money% %points% %exp%'
area: ' &eOblast bonus: %money% %points% %exp%'
final: ' &eFinalni bonus: %money% %points% %exp%'
convert:
help:
info: Prevede data z jednoho zpusobu databaze na jiny. Pokud práve pouzivate SQLite, bude preveden na MySQL a naopak.
info: Prevede data z jednoho zpusobu databaze na jiny. Pokud prave pouzivate SQLite, bude preveden na MySQL a naopak.
args: ''
limit:
help:
info: Vypise limit vydelku praci.
args: ''
output:
lefttime: '&eZbyvajici cas do resetovani limitu vydelku: &2%hour% &ehour &2%min% &emin &2%sec%
&esec'
lefttime: '&eZbyvajici cas do resetovani limitu vydelku: &2%hour% &ehodin &2%min%
&eminut &2%sec% &esekund'
moneylimit: '&eLimit vydelku: &2%money%&e/&2%totalmoney%'
leftexptime: '&eZbyvajici cas do resetovani limitu xp: &2%hour% &ehodin &2%min% &eminut
&2%sec% &esekund'
explimit: '&eLimit xp: &2%exp%&e/&2%totalexp%'
leftpointtime: '&eZbyvajici cas do resetovani limitu bodu &2%hour% &ehodin &2%min%
&eminut &2%sec% &esekund'
pointlimit: '&eBodovy limit: &2%current%&e/&2%total%'
reachedlimit: '&4Dosahl/a jsi limitu vydelku v danem case!'
reachedlimit2: '&eLimit zjistis prikazem &2/jobs limit'
reachedExplimit: '&4Dostahli jste limitu xp v danem casu!'
reachedExplimit2: '&eMuzete zkontrolovat svuj limit pomoci prikazu &2/jobs limit'
reachedPointlimit: '&4Dostahli jste limitu exp v danem case!'
reachedPointlimit2: '&eMuzete zkontrolovat svuj limit pomoci prikazu &2/jobs limit'
notenabled: '&eLimit vydelku neni zapnuty.'
admin:
error: Doslo k chybe v prikazu.
success: Prikaz byl proveden dle rozkazu.
error:
job: 'Prace, kterou sis vybral/a, neexistuje.'
permission: Nemas povoleni na tuto akci.
help:
output:
info: Napis /jobs [prikaz] ? pro vice informaci.
info: Napis /jobs nebo /prace [prikaz] ? pro vice informaci.
usage: 'Pouziti: %usage%'
title: '&e-------&e ======= &6Prace &e======= &e-------'
page: '&e-----&e ====== Strana &6[1] &ez &6[2] &e====== &e-----'
prev: '&e--- <<<<< &6Predchozi strana &e|'
next: '&e|&6 Dalsi strana &e>>>> ---'
points:
help:
info: Shows how much points player have.
args: '[playername]'
currentpoints: ' &eAktualni vlastnite: &6%currentpoints% &ebodu'
totalpoints: ' &eCelkove mnozstvi nasbiranych bodu az doposud: &6%totalpoints%'
editpoints:
help:
info: Edit players points.
args: '[set/add/take] [playername] [amount]'
output:
set: '&eHrac(&6%playername%&e) body byly stanooveny na castku &6%amount%'
add: '&eHrac (&6%playername%&e) ziskal dodatecne &6%amount% &ebodu. Aktualne ma
&6%total%'
take: '&eHrac (&6%playername%&e) ztratil &6%amount% &ebudu. Aktualne ma &6%total%'
stats:
help:
info: 'Vypise level v pracech, ve kterych jsi zamestnany(a).'
info: Vypise level v pracech, ve kterych jsi zamestnany(a).
args: '[JmenoHrace]'
error:
nojob: 'Nejdrive se prihlas do nejake prace.'
nojob: Nejdrive se prihlas do nejake prace.
output: 'lvl%joblevel% %jobname% : %jobxp%/%jobmaxxp% xp'
shop:
help:
info: Opens special jobs shop.
args: ''
info:
title: '&e------- &8Prace obchod &e-------'
currentPoints: '&eMate: &6%currentpoints%'
price: '&eCena: &6%price%'
reqJobs: '&ePozadovana prace:'
reqJobsList: ' &6%jobsname%&e: &e%level% lvl'
NoPermForItem: '&cNemate potrebna opravneni pro tuto polozku!'
NoPermToBuy: '&cNemate dostatecna opravneni ke koupi tohoto predmetu'
NoJobReqForitem: '&cNemate pozadovanoi level prace (&6%jobname%&e) pozadovano
(&6%joblevel%&e) level'
NoPoints: '&cNemate dostatecny pocet bodu'
Paid: '&eZaplatili jste &6%amount% &eza tuto polozku'
archive:
help:
info: Vypise vsechny prace ulozene v archivu podle uzivatele.
@ -63,44 +155,83 @@ command:
help:
title: '&2*** &ePrace&2 ***'
info: Vypise vysi vydelku prace k dane akci.
penalty: '&eTato prace ma &c[penalty]% &epenale z duvodu velkeho poctu zamestanich hracu.'
bonus: '&eTato prace ma &2[bonus]% &eprotoze neni zamestano dostatek hracu.'
args: '[JmenoPrace] [akce]'
actions: '&ePlatne akce jsou: &f%actions%'
max: ' - &emax level:&f '
max: ' - &emaximalni level:&f '
material: '&7%material%'
levelRange: ' &a(&e%levelFrom% &a- &e%levelUntil% &alevelu)'
levelFrom: ' &a(od &e%levelFrom% &alevelu)'
levelUntil: ' &a(az do &e%levelUntil% &alevelu)'
gui:
pickjob: '&eVyber jsi praci!'
jobinfo: '&e[jobname] info!'
actions: '&eNeplatna akce, seznam akci:'
leftClick: '&eLeve tlacitko mysi pro vice info'
rightClick: '&eKliknete pravym tlacitkem mysi spojit praci'
leftSlots: '&eLeve sloty:&f '
working: '&2&nAktualne jsi zamestat v teto praci'
max: '&eMaximalni level:&f '
back: '&e<<< Zpet'
output:
break:
info: Breaknuti
none: '%jobname% vydelava penize za breaknuti bloku.'
tntbreak:
info: TNTBreak
none: '%jobname% nedostava penize za niceni bloku pomoci tnt.'
place:
info: Polozeni
none: '%jobname% vydelava penize za polozeni bloku.'
kill:
info: Zabijeni
none: '%jobname% vydelava penize za zabijeni monster.'
mmkill:
info: MMKill
none: '%jobname% nedostane penize za zabiti mysticke prisery (pouze s pluginem MythicMobs).'
fish:
info: Rybareni
none: '%jobname% vydelava penize za rybarení.'
none: '%jobname% vydelava penize za rybareni.'
craft:
info: Craft
none: '%jobname% vydelava penize za craftení vecí.'
none: '%jobname% vydelava penize za crafteni veci.'
smelt:
info: Peceni
none: '%jobname% vydelava penize za pecení v peci.'
none: '%jobname% vydelava penize za peceni v peci.'
brew:
info: Vareni
none: '%jobname% vydelava penize za vareni lektvaru.'
eat:
info: Eat
none: '%jobname% nedostava penize za jezeni.'
dye:
info: Dye
none: '%jobname% nedostava penize za umrti.'
enchant:
info: Ocarovani
none: '%jobname% vydelava penize za ocarovávání/enchant itemu.'
none: '%jobname% vydelava penize za ocarovavin/enchant itemu.'
repair:
info: Opravovani
none: '%jobname% vydelava penize za opravování predmetu.'
none: '%jobname% vydelava penize za opravovani predmetu.'
breed:
info: Farmareni
none: '%jobname% vydelava penize za farmareni.'
tame:
info: Ochocovani
none: '%jobname% vydelava penize za ochocovani zvirat.'
milk:
info: Milk
none: '%jobname% nedostava penize z dojeni krav.'
shear:
info: Shear
none: '%jobname% nedostava penize ze strihani ovci.'
explore:
info: Explore
none: '%jobname% nedostava penize z prozkoumovani.'
custom-kill:
info: Custom kill
none: '%jobname% nedostava penize z vlastniho zabijeni hracu.'
playerinfo:
help:
info: Vypise vysi vydelku prace k dane akci urciteho hrace.
@ -129,10 +260,13 @@ command:
help:
info: Seznam dostupnych praci
error:
nojobs: 'Nejsou zadne prace, ve kterych by jsi mohl/a byt zamestnan/a.'
nojobs: Nejsou zadne prace, ve kterych by jsi mohl/a byt zamestnan/a.
output:
header: 'Mas povoleni na zamestnani v techto pracech:'
footer: Pro více info napis /jobs info [JmenoPrace]
footer: Pro vice info napis /jobs info [JmenoPrace]
totalWorkers: ' &7Prave je zamestano: &e[amount]'
penalty: ' &4Penalty: &c[amount]%'
bonus: ' &2Bonus: &a[amount]%'
fire:
help:
info: Vykopne hrace z dane prace.
@ -143,12 +277,12 @@ command:
target: Byl/a jsi vyhozen/a z prace %jobname%.
fireall:
help:
info: Vykopne hrace ze vsech prací.
info: Vykopne hrace ze vsech praci.
args: '[JmenoHrace]'
error:
nojobs: Hrac nema zadne prace, ze kterych by mohl byt vykopnut.
output:
target: Byl/a jsi vykopnut/a ze vsech prací.
target: Byl/a jsi vykopnut/a ze vsech praci.
employ:
help:
info: Zamestna hrace do prace.
@ -166,9 +300,46 @@ command:
output:
topline: '&aTop&e 10 &ehracu pro praci &6%jobname%'
list: '&e%number%&a. &e%playername% &alvl &e%level% &as&e %exp% &aexp'
prev: '&e<<<<< Predchozi strana &2|'
next: '&2|&e Dalsi strana >>>>'
show: '&2Zobrazit z &e[from] &2az do &e[until] &2top listu'
gtop:
help:
info: Zobrazit top 15 hracu globalni urovne praci.
args: ''
error:
nojob:Nelze vyhledat zadne informace.
output:
topline: '&aTop&e 15 &ahracu globalni urovne'
list: '&e%number%&a. &e%playername% &alvl &e%level% &as&e %exp% &aexp'
prev: '&e<<<<< Predchozi strana &2|'
next: '&2|&e Dalsi strana >>>>'
show: '&2Zobrazit z &e[from] &2az do &e[until] &2globalniho top listu'
log:
help:
info: Shows statistics.
args: '[playername]'
output:
topline: '&7************************* &6%playername% &7*************************'
list: '&7* &6%number%. &3%action%: &6%item% &emnozsti: %qty% &6penez: %money% &eexpu:
%exp%'
bottomline: '&7***********************************************************'
prev: '&e<<<<< Predchozi strana &2|'
next: '&2|&e Dalsi strana >>>>'
nodata: '&cData nebyla nalezena'
glog:
help:
info: Shows global statistics.
args: ''
output:
topline: '&7*********************** &6Global statistiky &7***********************'
list: '&7* &6%number%. &3%username% &e%action%: &6%item% &mnozstvi: %qty% &6penez:
%money% &eexp: %expu%'
bottomline: '&7**************************************************************'
nodata: '&cData nebyla nalezena'
transfer:
help:
info: Prevede danou praci hrace ze stare práce do nove.
info: Prevede danou praci hrace ze stare prace do nove.
args: '[JmenoHrace] [StaraPrace] [NovaPrace]'
output:
target: Byl/a jsi presunut/a z prace %oldjobname% do %newjobname%.
@ -196,14 +367,24 @@ command:
args: '[JmenoHrace] [JmenoPrace] [xp]'
output:
target: Ztratil/a jsi %xplost% zkusenosti v praci %jobname%.
signupdate:
help:
info: Manualy updates sign by its name
args: '[jobname]'
reload:
help:
info: Reloadne konfiguraci.
toggle:
help:
info: Zapina/Vypina vypis vydelku na panelu akci.
args: ''
output:
paid: '&a+ &a&l[amount]&a$'
turnedoff: '&4This feature are turned off!'
paid:
main: '&aMate:'
money: '&e[amount] penez'
exp: '&7[exp] exp'
points: '&6[points] bodu'
'on': '&aVypis: &aZAPNUTO'
'off': '&aVypis: &cVYPNUTO'
message:
@ -213,18 +394,46 @@ message:
levelup:
broadcast: '%playername% dosahl/a levelu %joblevel% v praci %jobname%.'
nobroadcast: Dosahl/a jsi levelu %joblevel% v praci %jobname%.
cowtimer: '&eMusite pockat &6%time% &esekund pro zyskani vyplaty za tuto praci.'
blocktimer: '&eBudete muset pockat: &3[time] &esekund pro ziskani vyplaty!'
placeblocktimer: '&eNemuzete pokladat bloky tak rychle pockejte &6[time] &esekund pred polozenim!'
taxes: '&3[amount] &edane pro server byly prevedeny na tento ucet'
boostStarted: '&eProcovni boost byly aktivovany!'
boostStoped: '&ePracovani boost byl deaktivovan!'
crafting:
fullinventory: Mas plny inventar!
signs:
List: '&0[number].&8[player]&7:&4[level]'
SpecialList:
'1':
'1': '&b** &8Prvni&b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
'2':
'1': '&b** &8Druhy &b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
'3':
'1': '&b** &8Treti &b**'
'2': '&9[player]'
'3': '&8[level] level'
'4': '&b************'
cantcreate: '&4Nemuzes vytvorit tuto cedulku!'
topline: '&e[Jobs]'
cantdestroy: '&4You can''t destroy this sign!'
topline: '&e[Prace]'
secondline:
join: '&2Join'
leave: '&4Leave'
toggle: '&eToggle'
join: '&2Pripojit'
leave: '&4Odpojit'
toggle: '&eSkryt'
top: '&eTop'
browse: '&eBrowse'
stats: '&eStats'
browse: '&eVyhledat'
stats: '&eStatistiky'
limit: '&eLimit'
info: '&eInfo'
archive: '&eArchive'
archive: '&eArchiv'
scoreboard:
topline: '&2Top &e%jobname%'
gtopline: '&2Globalni top list'
lines: '&2%number%. &e%playername%'

454
locale/messages_es.yml Normal file
View File

@ -0,0 +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'
lines: '&2%number%. &e%playername%'

View File

@ -1,7 +1,7 @@
name: Jobs
description: Jobs Plugin for the BukkitAPI
main: com.gamingmesh.jobs.JobsPlugin
version: 3.0.0
version: 3.1.2
author: phrstbrn
softdepend: [Vault, CoreProtect, MythicMobs, McMMO]
commands:
@ -158,3 +158,9 @@ permissions:
jobs.command.glog:
description: Grants access to the glog command
default: op
jobs.command.bonus:
description: Grants access to the bonus command
default: true
jobs.command.points:
description: Grants access to the points command
default: true