mirror of
https://github.com/Zrips/Jobs.git
synced 2025-02-18 05:11:32 +01:00
Just pushing throw
This commit is contained in:
parent
c9d6e306f1
commit
e7a30ec608
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="src" path=""/>
|
<classpathentry kind="src" path=""/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_79"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/Arte/Desktop/Jobs/lib/Vault1.5.3.jar"/>
|
<classpathentry kind="lib" path="C:/Users/Arte/Desktop/Jobs/lib/Vault1.5.3.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/Arte/Desktop/Jobs/lib/mcMMO#127.jar"/>
|
<classpathentry kind="lib" path="C:/Users/Arte/Desktop/Jobs/lib/mcMMO#127.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/Arte/Desktop/Jobs/lib/CoreProtect_2.12.0.jar"/>
|
<classpathentry kind="lib" path="C:/Users/Arte/Desktop/Jobs/lib/CoreProtect_2.12.0.jar"/>
|
||||||
|
2170
TranslatableWords/Words_fr.yml
Normal file
2170
TranslatableWords/Words_fr.yml
Normal file
File diff suppressed because it is too large
Load Diff
@ -522,7 +522,10 @@ public class Jobs {
|
|||||||
* @return the number of slots
|
* @return the number of slots
|
||||||
*/
|
*/
|
||||||
public static int getUsedSlots(Job job) {
|
public static int getUsedSlots(Job job) {
|
||||||
return usedSlots.get(job);
|
if (usedSlots.containsKey(job))
|
||||||
|
return usedSlots.get(job);
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -530,7 +533,8 @@ public class Jobs {
|
|||||||
* @param job - the job someone is taking
|
* @param job - the job someone is taking
|
||||||
*/
|
*/
|
||||||
public static void takeSlot(Job job) {
|
public static void takeSlot(Job job) {
|
||||||
usedSlots.put(job, usedSlots.get(job) + 1);
|
if (usedSlots.containsKey(job))
|
||||||
|
usedSlots.put(job, usedSlots.get(job) + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -538,7 +542,8 @@ public class Jobs {
|
|||||||
* @param job - the job someone is leaving
|
* @param job - the job someone is leaving
|
||||||
*/
|
*/
|
||||||
public static void leaveSlot(Job job) {
|
public static void leaveSlot(Job job) {
|
||||||
usedSlots.put(job, usedSlots.get(job) - 1);
|
if (usedSlots.containsKey(job))
|
||||||
|
usedSlots.put(job, usedSlots.get(job) - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -736,7 +741,7 @@ public class Jobs {
|
|||||||
if (income != 0D || points != 0D) {
|
if (income != 0D || points != 0D) {
|
||||||
|
|
||||||
// jPlayer
|
// jPlayer
|
||||||
|
|
||||||
BoostMultiplier FinalBoost = Jobs.getPlayerManager().getFinalBonus(jPlayer, Jobs.getNoneJob());
|
BoostMultiplier FinalBoost = Jobs.getPlayerManager().getFinalBonus(jPlayer, Jobs.getNoneJob());
|
||||||
|
|
||||||
// Calculate income
|
// Calculate income
|
||||||
|
@ -2,8 +2,6 @@ package com.gamingmesh.jobs.commands.list;
|
|||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.Inventory;
|
|
||||||
|
|
||||||
import com.gamingmesh.jobs.Jobs;
|
import com.gamingmesh.jobs.Jobs;
|
||||||
import com.gamingmesh.jobs.JobsPlugin;
|
import com.gamingmesh.jobs.JobsPlugin;
|
||||||
import com.gamingmesh.jobs.commands.Cmd;
|
import com.gamingmesh.jobs.commands.Cmd;
|
||||||
@ -19,22 +17,21 @@ public class shop implements Cmd {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.length != 0) {
|
if (args.length != 0 && args.length != 1) {
|
||||||
Jobs.getCommandManager().sendUsage(sender, "shop");
|
Jobs.getCommandManager().sendUsage(sender, "shop");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int page = 1;
|
||||||
|
if (args.length == 1)
|
||||||
|
try {
|
||||||
|
page = Integer.parseInt(args[0]);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
}
|
||||||
|
|
||||||
Player player = (Player) sender;
|
Player player = (Player) sender;
|
||||||
|
|
||||||
Inventory inv = Jobs.getShopManager().CreateJobsGUI(player);
|
Jobs.getShopManager().openInventory(player, page);
|
||||||
|
|
||||||
Inventory topinv = player.getOpenInventory().getTopInventory();
|
|
||||||
if (topinv != null)
|
|
||||||
player.closeInventory();
|
|
||||||
|
|
||||||
Jobs.getShopManager().GuiList.add(player.getName());
|
|
||||||
|
|
||||||
player.openInventory(inv);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -178,6 +178,7 @@ public class LanguageManager {
|
|||||||
c.get("command.shop.info.price", "&ePrice: &6%price%");
|
c.get("command.shop.info.price", "&ePrice: &6%price%");
|
||||||
c.get("command.shop.info.reqJobs", "&eRequired jobs:");
|
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.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.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.NoPermToBuy", "&cNo permissions to buy this item");
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -32,7 +32,7 @@ import com.gamingmesh.jobs.stuff.Perm;
|
|||||||
public class ShopManager {
|
public class ShopManager {
|
||||||
private JobsPlugin plugin;
|
private JobsPlugin plugin;
|
||||||
public List<ShopItem> list = new ArrayList<ShopItem>();
|
public List<ShopItem> list = new ArrayList<ShopItem>();
|
||||||
public List<String> GuiList = new ArrayList<String>();
|
public HashMap<String, Integer> GuiList = new HashMap<String, Integer>();
|
||||||
|
|
||||||
public ShopManager(JobsPlugin plugin) {
|
public ShopManager(JobsPlugin plugin) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
@ -42,9 +42,38 @@ public class ShopManager {
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkSlot(Player player, int slot) {
|
public void openInventory(Player player, int page) {
|
||||||
|
Inventory inv = Jobs.getShopManager().CreateJobsGUI(player, page);
|
||||||
|
if (inv == null) {
|
||||||
|
player.sendMessage(Jobs.getLanguage().getMessage("command.shop.info.cantOpen"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Inventory topinv = player.getOpenInventory().getTopInventory();
|
||||||
|
if (topinv != null)
|
||||||
|
player.closeInventory();
|
||||||
|
Jobs.getShopManager().GuiList.put(player.getName(), page);
|
||||||
|
player.openInventory(inv);
|
||||||
|
}
|
||||||
|
|
||||||
ShopItem item = list.get(slot);
|
public void checkSlot(Player player, int slot, int page) {
|
||||||
|
|
||||||
|
List<ShopItem> ls = getItemsByPage(page);
|
||||||
|
|
||||||
|
int GuiSize = this.getGuiSize(ls, page);
|
||||||
|
if (slot == getPrevButtonSlot(GuiSize, page)) {
|
||||||
|
openInventory(player, page - 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (slot == getnextButtonSlot(GuiSize, page)) {
|
||||||
|
openInventory(player, page + 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (slot > ls.size() - 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ShopItem item = ls.get(slot);
|
||||||
PlayerPoints pointsInfo = Jobs.getPlayerManager().getPointsData().getPlayerPointsInfo(player.getUniqueId());
|
PlayerPoints pointsInfo = Jobs.getPlayerManager().getPointsData().getPlayerPointsInfo(player.getUniqueId());
|
||||||
|
|
||||||
if (!Perm.hasPermission(player, "jobs.items.bypass")) {
|
if (!Perm.hasPermission(player, "jobs.items.bypass")) {
|
||||||
@ -125,29 +154,66 @@ public class ShopManager {
|
|||||||
player.sendMessage(Jobs.getLanguage().getMessage("command.shop.info.Paid", "%amount%", item.getPrice()));
|
player.sendMessage(Jobs.getLanguage().getMessage("command.shop.info.Paid", "%amount%", item.getPrice()));
|
||||||
}
|
}
|
||||||
|
|
||||||
player.getOpenInventory().getTopInventory().setContents(CreateJobsGUI(player).getContents());
|
player.getOpenInventory().getTopInventory().setContents(CreateJobsGUI(player, page).getContents());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Inventory CreateJobsGUI(Player player) {
|
private List<ShopItem> getItemsByPage(Integer page) {
|
||||||
|
List<ShopItem> ls = new ArrayList<ShopItem>();
|
||||||
|
for (ShopItem one : list) {
|
||||||
|
if (one.getPage() == page)
|
||||||
|
ls.add(one);
|
||||||
|
}
|
||||||
|
return ls;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getGuiSize(List<ShopItem> ls, int page) {
|
||||||
int GuiSize = 9;
|
int GuiSize = 9;
|
||||||
|
if (ls.size() > 9)
|
||||||
if (list.size() > 9)
|
|
||||||
GuiSize = 18;
|
GuiSize = 18;
|
||||||
|
|
||||||
if (list.size() > 18)
|
if (ls.size() > 18)
|
||||||
GuiSize = 27;
|
GuiSize = 27;
|
||||||
|
|
||||||
if (list.size() > 27)
|
if (ls.size() > 27)
|
||||||
GuiSize = 36;
|
GuiSize = 36;
|
||||||
|
|
||||||
if (list.size() > 36)
|
if (ls.size() > 36)
|
||||||
GuiSize = 45;
|
GuiSize = 45;
|
||||||
|
|
||||||
if (list.size() > 45)
|
if (ls.size() == 45)
|
||||||
GuiSize = 54;
|
GuiSize = 54;
|
||||||
|
|
||||||
|
if (page > 1 && GuiSize < 54)
|
||||||
|
GuiSize += 9;
|
||||||
|
|
||||||
|
return GuiSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getPrevButtonSlot(int GuiSize, int page) {
|
||||||
|
int prev = -1;
|
||||||
|
if (page > 1)
|
||||||
|
prev = GuiSize - 9;
|
||||||
|
return prev;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getnextButtonSlot(int GuiSize, int page) {
|
||||||
|
int next = -1;
|
||||||
|
List<ShopItem> lsnext = getItemsByPage(page + 1);
|
||||||
|
if (!lsnext.isEmpty())
|
||||||
|
next = GuiSize - 1;
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Inventory CreateJobsGUI(Player player, Integer page) {
|
||||||
|
|
||||||
|
List<ShopItem> ls = getItemsByPage(page);
|
||||||
|
|
||||||
|
if (ls.isEmpty())
|
||||||
|
return null;
|
||||||
|
|
||||||
|
int GuiSize = getGuiSize(ls, page);
|
||||||
|
|
||||||
String title = Jobs.getLanguage().getMessage("command.shop.info.title");
|
String title = Jobs.getLanguage().getMessage("command.shop.info.title");
|
||||||
if (title.length() > 32)
|
if (title.length() > 32)
|
||||||
title = title.substring(0, 30) + "..";
|
title = title.substring(0, 30) + "..";
|
||||||
@ -159,9 +225,9 @@ public class ShopManager {
|
|||||||
|
|
||||||
Inventory GuiInv = Bukkit.createInventory(null, GuiSize, title);
|
Inventory GuiInv = Bukkit.createInventory(null, GuiSize, title);
|
||||||
|
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < ls.size(); i++) {
|
||||||
|
|
||||||
ShopItem item = list.get(i);
|
ShopItem item = ls.get(i);
|
||||||
|
|
||||||
ArrayList<String> Lore = new ArrayList<String>();
|
ArrayList<String> Lore = new ArrayList<String>();
|
||||||
|
|
||||||
@ -220,6 +286,24 @@ public class ShopManager {
|
|||||||
GUIitem.setItemMeta(meta);
|
GUIitem.setItemMeta(meta);
|
||||||
GuiInv.setItem(i, GUIitem);
|
GuiInv.setItem(i, GUIitem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ItemStack Item = new ItemStack(Material.ARROW);
|
||||||
|
|
||||||
|
ItemMeta meta = Item.getItemMeta();
|
||||||
|
int pervSlot = getPrevButtonSlot(GuiSize, page);
|
||||||
|
if (pervSlot != -1) {
|
||||||
|
meta.setDisplayName(Jobs.getLanguage().getMessage("command.help.output.prev"));
|
||||||
|
Item.setItemMeta(meta);
|
||||||
|
GuiInv.setItem(pervSlot, Item);
|
||||||
|
}
|
||||||
|
|
||||||
|
int nextSlot = getnextButtonSlot(GuiSize, page);
|
||||||
|
if (nextSlot != -1) {
|
||||||
|
meta.setDisplayName(Jobs.getLanguage().getMessage("command.help.output.next"));
|
||||||
|
Item.setItemMeta(meta);
|
||||||
|
GuiInv.setItem(nextSlot, Item);
|
||||||
|
}
|
||||||
|
|
||||||
return GuiInv;
|
return GuiInv;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -235,6 +319,8 @@ public class ShopManager {
|
|||||||
ArrayList<String> categoriesList = new ArrayList<String>(ConfCategory.getKeys(false));
|
ArrayList<String> categoriesList = new ArrayList<String>(ConfCategory.getKeys(false));
|
||||||
if (categoriesList.size() == 0)
|
if (categoriesList.size() == 0)
|
||||||
return;
|
return;
|
||||||
|
int i = 0;
|
||||||
|
int y = 1;
|
||||||
for (String category : categoriesList) {
|
for (String category : categoriesList) {
|
||||||
ConfigurationSection NameSection = ConfCategory.getConfigurationSection(category);
|
ConfigurationSection NameSection = ConfCategory.getConfigurationSection(category);
|
||||||
|
|
||||||
@ -361,10 +447,19 @@ public class ShopManager {
|
|||||||
Sitem.setitems(items);
|
Sitem.setitems(items);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (list.size() >= 54) {
|
// if (list.size() >= 54) {
|
||||||
Bukkit.getConsoleSender().sendMessage(ChatColor.RED + "[Jobs] To many jobs shop items, max allowed is 54! Only first 54 items will be used!");
|
// Bukkit.getConsoleSender().sendMessage(ChatColor.RED + "[Jobs] To many jobs shop items, max allowed is 54! Only first 54 items will be used!");
|
||||||
break;
|
// break;
|
||||||
|
// }
|
||||||
|
i++;
|
||||||
|
|
||||||
|
if (i > 45) {
|
||||||
|
i = 1;
|
||||||
|
y++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Sitem.setSlot(i);
|
||||||
|
Sitem.setPage(y);
|
||||||
list.add(Sitem);
|
list.add(Sitem);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -375,8 +470,8 @@ public class ShopManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void CloseInventories() {
|
public void CloseInventories() {
|
||||||
for (String one : GuiList) {
|
for (Entry<String, Integer> one : GuiList.entrySet()) {
|
||||||
Player player = Bukkit.getPlayer(one);
|
Player player = Bukkit.getPlayer(one.getKey());
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
player.closeInventory();
|
player.closeInventory();
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -253,10 +253,10 @@ public class JobsPlayer {
|
|||||||
|
|
||||||
private Double getPlayerBoost(String JobName, BoostType type) {
|
private Double getPlayerBoost(String JobName, BoostType type) {
|
||||||
double Boost = 1.0;
|
double Boost = 1.0;
|
||||||
if (Perm.hasPermission(player, "jobs.boost." + JobName + "." + type.getName().toLowerCase()) ||
|
if (player.hasPermission("jobs.boost." + JobName + "." + type.getName().toLowerCase()) ||
|
||||||
Perm.hasPermission(player, "jobs.boost." + JobName + ".all") ||
|
player.hasPermission("jobs.boost." + JobName + ".all") ||
|
||||||
Perm.hasPermission(player, "jobs.boost.all.all") ||
|
player.hasPermission("jobs.boost.all.all") ||
|
||||||
Perm.hasPermission(player, "jobs.boost.all." + type.getName().toLowerCase())) {
|
player.hasPermission("jobs.boost.all." + type.getName().toLowerCase())) {
|
||||||
Boost = Jobs.getGCManager().Boost.get(type);
|
Boost = Jobs.getGCManager().Boost.get(type);
|
||||||
}
|
}
|
||||||
return Boost;
|
return Boost;
|
||||||
|
@ -10,6 +10,9 @@ public class ShopItem {
|
|||||||
|
|
||||||
private double price = 0D;
|
private double price = 0D;
|
||||||
|
|
||||||
|
private int slot = -1;
|
||||||
|
private int page = -1;
|
||||||
|
|
||||||
private int IconId = 1;
|
private int IconId = 1;
|
||||||
private int IconData = 0;
|
private int IconData = 0;
|
||||||
private int IconAmount = 1;
|
private int IconAmount = 1;
|
||||||
@ -31,6 +34,22 @@ public class ShopItem {
|
|||||||
this.IconId = IconId;
|
this.IconId = IconId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPage(Integer page) {
|
||||||
|
this.page = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPage() {
|
||||||
|
return this.page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSlot(Integer slot) {
|
||||||
|
this.slot = slot;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSlot() {
|
||||||
|
return this.slot;
|
||||||
|
}
|
||||||
|
|
||||||
public void setitems(List<JobItems> items) {
|
public void setitems(List<JobItems> items) {
|
||||||
this.items = items;
|
this.items = items;
|
||||||
}
|
}
|
||||||
|
@ -116,6 +116,10 @@ public abstract class JobsDAO {
|
|||||||
|
|
||||||
protected abstract void checkUpdate9() throws SQLException;
|
protected abstract void checkUpdate9() throws SQLException;
|
||||||
|
|
||||||
|
protected abstract boolean createDefaultLogBase();
|
||||||
|
|
||||||
|
protected abstract boolean dropDataBase(String name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the database prefix
|
* Gets the database prefix
|
||||||
* @return the prefix
|
* @return the prefix
|
||||||
@ -771,11 +775,10 @@ public abstract class JobsDAO {
|
|||||||
JobsConnection conn = getConnection();
|
JobsConnection conn = getConnection();
|
||||||
if (conn == null)
|
if (conn == null)
|
||||||
return;
|
return;
|
||||||
|
PreparedStatement prest = null;
|
||||||
try {
|
try {
|
||||||
|
|
||||||
int time = TimeManage.timeInInt();
|
int time = TimeManage.timeInInt();
|
||||||
|
prest = conn.prepareStatement("SELECT * FROM `" + prefix + "log` WHERE `userid` = ? AND `time` = ? ;");
|
||||||
PreparedStatement prest = conn.prepareStatement("SELECT * FROM `" + prefix + "log` WHERE `userid` = ? AND `time` = ? ;");
|
|
||||||
prest.setInt(1, player.getUserId());
|
prest.setInt(1, player.getUserId());
|
||||||
prest.setInt(2, time);
|
prest.setInt(2, time);
|
||||||
ResultSet res = prest.executeQuery();
|
ResultSet res = prest.executeQuery();
|
||||||
@ -783,9 +786,22 @@ public abstract class JobsDAO {
|
|||||||
Loging.loadToLog(player, res.getString("action"), res.getString("itemname"), res.getInt("count"), res.getDouble("money"), res.getDouble("exp"));
|
Loging.loadToLog(player, res.getString("action"), res.getString("itemname"), res.getInt("count"), res.getDouble("money"), res.getDouble("exp"));
|
||||||
}
|
}
|
||||||
res.close();
|
res.close();
|
||||||
prest.close();
|
} catch (Exception e) {
|
||||||
} catch (SQLException e) {
|
if (prest != null)
|
||||||
e.printStackTrace();
|
try {
|
||||||
|
prest.close();
|
||||||
|
} catch (SQLException e1) {
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
this.dropDataBase("log");
|
||||||
|
this.createDefaultLogBase();
|
||||||
|
} finally {
|
||||||
|
if (prest != null)
|
||||||
|
try {
|
||||||
|
prest.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -764,7 +764,7 @@ public class JobsDAOMySQL extends JobsDAO {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean createDefaultLogBase() {
|
protected boolean createDefaultLogBase() {
|
||||||
try {
|
try {
|
||||||
executeSQL("CREATE TABLE `" + getPrefix()
|
executeSQL("CREATE TABLE `" + getPrefix()
|
||||||
+ "log` (`id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `userid` int, `time` bigint, `action` varchar(20), `itemname` varchar(60), `count` int, `money` double, `exp` double);");
|
+ "log` (`id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `userid` int, `time` bigint, `action` varchar(20), `itemname` varchar(60), `count` int, `money` double, `exp` double);");
|
||||||
@ -804,7 +804,7 @@ public class JobsDAOMySQL extends JobsDAO {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean dropDataBase(String name) {
|
protected boolean dropDataBase(String name) {
|
||||||
try {
|
try {
|
||||||
executeSQL("DROP TABLE IF EXISTS `" + getPrefix() + name + "`;");
|
executeSQL("DROP TABLE IF EXISTS `" + getPrefix() + name + "`;");
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
|
@ -851,7 +851,7 @@ public class JobsDAOSQLite extends JobsDAO {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean createDefaultLogBase() {
|
protected boolean createDefaultLogBase() {
|
||||||
try {
|
try {
|
||||||
executeSQL("CREATE TABLE `" + getPrefix()
|
executeSQL("CREATE TABLE `" + getPrefix()
|
||||||
+ "log` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `userid` int, `time` bigint, `action` varchar(20), `itemname` varchar(60), `count` int, `money` double, `exp` double);");
|
+ "log` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `userid` int, `time` bigint, `action` varchar(20), `itemname` varchar(60), `count` int, `money` double, `exp` double);");
|
||||||
@ -881,7 +881,7 @@ public class JobsDAOSQLite extends JobsDAO {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean dropDataBase(String name) {
|
protected boolean dropDataBase(String name) {
|
||||||
try {
|
try {
|
||||||
executeSQL("DROP TABLE IF EXISTS `" + getPrefix() + name + "`;");
|
executeSQL("DROP TABLE IF EXISTS `" + getPrefix() + name + "`;");
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
|
@ -96,6 +96,9 @@ public class BufferedEconomy {
|
|||||||
TaxesPoints += payment.getPoints() * (Jobs.getGCManager().TaxesAmount / 100.0);
|
TaxesPoints += payment.getPoints() * (Jobs.getGCManager().TaxesAmount / 100.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (payment.getOfflinePlayer() == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
UUID uuid = payment.getOfflinePlayer().getUniqueId();
|
UUID uuid = payment.getOfflinePlayer().getUniqueId();
|
||||||
if (paymentCache.containsKey(uuid)) {
|
if (paymentCache.containsKey(uuid)) {
|
||||||
BufferedPayment existing = paymentCache.get(uuid);
|
BufferedPayment existing = paymentCache.get(uuid);
|
||||||
@ -160,6 +163,9 @@ public class BufferedEconomy {
|
|||||||
for (BufferedPayment payment : paymentCache.values()) {
|
for (BufferedPayment payment : paymentCache.values()) {
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
|
if (payment.getOfflinePlayer() == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
// JobsPayment event
|
// JobsPayment event
|
||||||
JobsPaymentEvent JobsPaymentEvent = new JobsPaymentEvent(payment.getOfflinePlayer(), payment.getAmount(), payment.getPoints());
|
JobsPaymentEvent JobsPaymentEvent = new JobsPaymentEvent(payment.getOfflinePlayer(), payment.getAmount(), payment.getPoints());
|
||||||
Bukkit.getServer().getPluginManager().callEvent(JobsPaymentEvent);
|
Bukkit.getServer().getPluginManager().callEvent(JobsPaymentEvent);
|
||||||
|
@ -67,6 +67,7 @@ import com.gamingmesh.jobs.container.Job;
|
|||||||
import com.gamingmesh.jobs.container.JobLimitedItems;
|
import com.gamingmesh.jobs.container.JobLimitedItems;
|
||||||
import com.gamingmesh.jobs.container.JobProgression;
|
import com.gamingmesh.jobs.container.JobProgression;
|
||||||
import com.gamingmesh.jobs.container.JobsPlayer;
|
import com.gamingmesh.jobs.container.JobsPlayer;
|
||||||
|
import com.gamingmesh.jobs.stuff.Debug;
|
||||||
|
|
||||||
public class JobsListener implements Listener {
|
public class JobsListener implements Listener {
|
||||||
// hook to the main plugin
|
// hook to the main plugin
|
||||||
@ -83,15 +84,19 @@ public class JobsListener implements Listener {
|
|||||||
|
|
||||||
Player player = (Player) event.getWhoClicked();
|
Player player = (Player) event.getWhoClicked();
|
||||||
|
|
||||||
if (!Jobs.getShopManager().GuiList.contains(player.getName()))
|
if (!Jobs.getShopManager().GuiList.containsKey(player.getName()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
||||||
|
Debug.D(event.getRawSlot());
|
||||||
|
|
||||||
if (event.getSlot() < 0 || event.getSlot() >= Jobs.getShopManager().list.size())
|
int tsize = player.getOpenInventory().getTopInventory().getSize();
|
||||||
|
|
||||||
|
if (event.getRawSlot() < 0 || event.getRawSlot() >= tsize)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Jobs.getShopManager().checkSlot(player, event.getSlot());
|
Jobs.getShopManager().checkSlot(player, event.getRawSlot(), Jobs.getShopManager().GuiList.get(player.getName()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,7 +107,7 @@ public class JobsListener implements Listener {
|
|||||||
|
|
||||||
Player player = (Player) event.getPlayer();
|
Player player = (Player) event.getPlayer();
|
||||||
|
|
||||||
if (Jobs.getShopManager().GuiList.contains(player.getName()))
|
if (Jobs.getShopManager().GuiList.containsKey(player.getName()))
|
||||||
Jobs.getShopManager().GuiList.remove(player.getName());
|
Jobs.getShopManager().GuiList.remove(player.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -278,7 +278,7 @@ public class JobsPaymentListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// check if in creative
|
// check if in creative
|
||||||
if (player.getGameMode()== GameMode.CREATIVE && !Jobs.getGCManager().payInCreative())
|
if (player.getGameMode() == GameMode.CREATIVE && !Jobs.getGCManager().payInCreative())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
|
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
|
||||||
@ -1080,7 +1080,7 @@ public class JobsPaymentListener implements Listener {
|
|||||||
if (block == null)
|
if (block == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (block.getType().equals(Material.FURNACE) && block.hasMetadata(furnaceOwnerMetadata))
|
if (block.getType() == Material.FURNACE && block.hasMetadata(furnaceOwnerMetadata))
|
||||||
block.removeMetadata(furnaceOwnerMetadata, plugin);
|
block.removeMetadata(furnaceOwnerMetadata, plugin);
|
||||||
|
|
||||||
if (Jobs.getGCManager().useBlockProtection)
|
if (Jobs.getGCManager().useBlockProtection)
|
||||||
@ -1104,12 +1104,14 @@ public class JobsPaymentListener implements Listener {
|
|||||||
if (block == null)
|
if (block == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (block.getType().equals(Material.FURNACE)) {
|
if (event.isCancelled())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (block.getType() == Material.FURNACE || block.getType() == Material.BURNING_FURNACE) {
|
||||||
if (block.hasMetadata(furnaceOwnerMetadata))
|
if (block.hasMetadata(furnaceOwnerMetadata))
|
||||||
block.removeMetadata(furnaceOwnerMetadata, plugin);
|
block.removeMetadata(furnaceOwnerMetadata, plugin);
|
||||||
|
|
||||||
block.setMetadata(furnaceOwnerMetadata, new FixedMetadataValue(plugin, event.getPlayer().getName()));
|
block.setMetadata(furnaceOwnerMetadata, new FixedMetadataValue(plugin, event.getPlayer().getName()));
|
||||||
} else if (block.getType().equals(Material.BREWING_STAND)) {
|
} else if (block.getType() == Material.BREWING_STAND) {
|
||||||
if (block.hasMetadata(brewingOwnerMetadata))
|
if (block.hasMetadata(brewingOwnerMetadata))
|
||||||
block.removeMetadata(brewingOwnerMetadata, plugin);
|
block.removeMetadata(brewingOwnerMetadata, plugin);
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,50 +1,158 @@
|
|||||||
economy:
|
economy:
|
||||||
error:
|
error:
|
||||||
nomoney: Il n''y a plus d''argent dans la banque nationale !
|
nomoney: Il n'y a plus d'argent dans la banque du serveur!
|
||||||
|
limitedItem:
|
||||||
|
error:
|
||||||
|
levelup: '&cVous devez augmenter votre niveau dans le métier [jobname] pour utiliser
|
||||||
|
cet objet!'
|
||||||
|
general:
|
||||||
|
info:
|
||||||
|
toplineseparator: '&7*********************** &6%playername% &7***********************'
|
||||||
|
separator: '&7*******************************************************'
|
||||||
|
admin:
|
||||||
|
error: '&cIl y a eu une erreur pendant la commande.'
|
||||||
|
success: '&eVotre commande a été exécuté avec succès.'
|
||||||
|
error:
|
||||||
|
noHelpPage: '&cIl n''y a pas de page d''aide portant ce numéro!'
|
||||||
|
notNumber: '&eMerci d''utiliser des chiffres!'
|
||||||
|
job: '&cLe métier que vous avez selectionné n''existe pas!'
|
||||||
|
permission: '&cVous n''avez pas la permission de faire cela!'
|
||||||
|
noinfo: '&cAucune information trouvée!'
|
||||||
|
noinfoByPlayer: '&cAucune information trouvée par [%playername%] nom du joueur!'
|
||||||
|
ingame: '&cVous ne pouvez utiliser cette commande qu''en jeu!'
|
||||||
|
fromconsole: '&cCette commande doit être lancée depuis la console!'
|
||||||
|
worldisdisabled: '&cVous ne pouvez pas utiliser cette commande dans ce monde!'
|
||||||
command:
|
command:
|
||||||
boost:
|
moneyboost:
|
||||||
help:
|
help:
|
||||||
info: Boost les gains d''Exp/Argent pour tous les joueurs
|
info: Booster le gain d'argent pour tous les joueurs
|
||||||
args: '[jobname] [rate]'
|
args: '[jobname] [rate]'
|
||||||
output:
|
output:
|
||||||
allreset: Tous les boosts d''Exp/Argent ont été désactivés.
|
allreset: Tous les boost d'argent ont été désactivés
|
||||||
jobsboostreset: Le boost pour %jobname% a été désactivé.
|
jobsboostreset: Le boost d'argent pour le métier %jobname% a été désactivé
|
||||||
nothingtoreset: Il n''y a rien à désactiver.
|
nothingtoreset: Il n'y a rien à remettre à zéro
|
||||||
boostalladded: Boost de %boost% ajouté à tous les métiers !
|
boostalladded: Un boost d'argent de %boost% a été ajouté pour tous les métiers!
|
||||||
boostadded: Boost de &e%boost% &aajouté pour &e%jobname% !
|
boostadded: Un boost d'argent de &e%boost% &aa été ajouté pour le métier &e%jobname%!
|
||||||
infostats: '&c-----> &aTaux d''Exp/argent de x%boost% activé&c <-------'
|
infostats: '&c-----> &aBoost d''argent x%boost% activé&c <-------'
|
||||||
|
pointboost:
|
||||||
|
help:
|
||||||
|
info: Booster de points pour tous les joueurs
|
||||||
|
args: '[jobname] [rate]'
|
||||||
|
output:
|
||||||
|
allreset: Tous les boost de points ont été désactivés
|
||||||
|
jobsboostreset: Le boost de points pour le métier %jobname% a été désactivé
|
||||||
|
nothingtoreset: Il n'y a rien a remettre à zéro
|
||||||
|
boostalladded: Un boost de points de %boost% a été ajouté pour tous les métiers!
|
||||||
|
boostadded: Un boost de points de &e%boost% &aa été ajouté pour le métier &e%jobname%!
|
||||||
|
infostats: '&c-----> &aBoost de points x%boost% activé&c <-------'
|
||||||
|
expboost:
|
||||||
|
help:
|
||||||
|
info: Booster d'XP pour tous les joueurs
|
||||||
|
args: '[jobname] [rate]'
|
||||||
|
output:
|
||||||
|
allreset: Tous les boost d'XP ont été désactivés
|
||||||
|
jobsboostreset: Le boost d'XP pour le métier %jobname% a été désactivé
|
||||||
|
nothingtoreset: Il n'y a rien a reset
|
||||||
|
boostalladded: Un boost d'XP de %boost% a été ajouté pour tous les métiers!
|
||||||
|
boostadded: Un boost d'XP de &e%boost% &aa été ajouté pour le métier &e%jobname%!
|
||||||
|
infostats: '&c-----> &aBoost d''XP x%boost% activé&c <-------'
|
||||||
|
bonus:
|
||||||
|
help:
|
||||||
|
info: Voir les bonus de métiers
|
||||||
|
args: '[jobname]'
|
||||||
|
output:
|
||||||
|
topline: '&7**************** &2[argent] &6[points] &e[exp] &7****************'
|
||||||
|
permission: ' &eBonus de permission: %money% %points% %exp%'
|
||||||
|
item: ' &eBonus d''Objet: %money% %points% %exp%'
|
||||||
|
global: ' &eBonus global: %money% %points% %exp%'
|
||||||
|
dynamic: ' &eBonus de paiement dynamique: %money% %points% %exp%'
|
||||||
|
area: ' &eBonus de zone: %money% %points% %exp%'
|
||||||
|
final: ' &eBonus final: %money% %points% %exp%'
|
||||||
convert:
|
convert:
|
||||||
help:
|
help:
|
||||||
info: Convertit le système de la base de données. Si vous utilisez SQLite, cela sera converti à MySQL et vice-versa.
|
info: Converti le système de la base de données. Si vous utilisez SQLite, cela sera converti à MySQL et vice-versa.
|
||||||
args: ''
|
args: ''
|
||||||
limit:
|
limit:
|
||||||
help:
|
help:
|
||||||
info: Montre les limites des métiers
|
info: Montre les limites des métiers
|
||||||
args: ''
|
args: ''
|
||||||
output:
|
output:
|
||||||
lefttime: '&eTemps restant avant la fin de la limite : &2%hour% &eheure(s) &2%min% &emin &2%sec%
|
lefttime: '&eTemps restant avant la fin de la limite : &2%hour%&eh &2%min%&em
|
||||||
&esec'
|
&2%sec%&es'
|
||||||
moneylimit: '&eLimite : &2%money%&e/&2%totalmoney%'
|
moneylimit: '&eLimite : &2%money%&e/&2%totalmoney%'
|
||||||
reachedlimit: '&4Vous avez atteint le nombre d''argent gagner max pour cette heure!'
|
leftexptime: '&eTemps restant avant la fin de la limite d''XP: &2%hour%&eh &2%min
|
||||||
reachedlimit2: '&eVous pouvez vérifier votre limite avec &2/jobs limit &ecommand'
|
&em &2%sec%&es'
|
||||||
|
explimit: '&eLimite d''XP: &2%exp%&e/&2%totalexp%'
|
||||||
|
leftpointtime: '&eTemps restant avant la fin de la limite de points: &2%hour%&eh
|
||||||
|
&2%min &em &2%sec%&es'
|
||||||
|
pointlimit: '&eLimite de points: &2%current%&e/&2%total%'
|
||||||
|
reachedlimit: '&4Vous avez atteint le nombre maximum d''argent gagné pendant
|
||||||
|
le temps imparti!'
|
||||||
|
reachedlimit2: '&eVous pouvez vérifier votre limite avec la commande &2/jobs
|
||||||
|
limit'
|
||||||
|
reachedExplimit: '&4Vous avez atteint le nombre maximal d''XP gagné pendant
|
||||||
|
le temps imparti!'
|
||||||
|
reachedExplimit2: '&eVous pouvez voir la limite avec la commande &2/jobs limit'
|
||||||
|
reachedPointlimit: '&4Vous avez atteint le nombre maximal de points gagné pendant
|
||||||
|
le temps imparti!'
|
||||||
|
reachedPointlimit2: '&eVous pouvez voir la limite avec la commande &2/jobs limit'
|
||||||
notenabled: '&eLa limite n''est pas activée.'
|
notenabled: '&eLa limite n''est pas activée.'
|
||||||
admin:
|
|
||||||
error: Erreur dans la commande.
|
|
||||||
success: Votre commande a été exécutée.
|
|
||||||
error:
|
|
||||||
job: Le métier que vous avez selectionné n''existe pas !
|
|
||||||
permission: Vous n''avez pas la permission !
|
|
||||||
help:
|
help:
|
||||||
output:
|
output:
|
||||||
info: Tapez /jobs [cmd] ? pour plus d''information sur une commande.
|
info: Tapez /jobs [cmd] ? pour plus d''information sur une commande.
|
||||||
usage: 'Utilisation: %usage%'
|
usage: 'Utilisation: %usage%'
|
||||||
|
title: '&e-------&e ======= &6Métiers &e======= &e-------'
|
||||||
|
page: '&e-----&e ====== Page &6[1] &esur &6[2] &e====== &e-----'
|
||||||
|
prev: '&e--- <<<<< &6Page précédente &e|'
|
||||||
|
next: '&e|&6 Page suivante &e>>>> ---'
|
||||||
|
points:
|
||||||
|
help:
|
||||||
|
info: Montrer combien de points a le joueur.
|
||||||
|
args: '[playername]'
|
||||||
|
currentpoints: ' &eNombre de points actuel: &6%currentpoints%'
|
||||||
|
totalpoints: ' &eNombre de points total collecté : &6%totalpoints%'
|
||||||
|
editpoints:
|
||||||
|
help:
|
||||||
|
info: Editer le nombre de points d'un joueur.
|
||||||
|
args: '[set/add/take] [playername] [amount]'
|
||||||
|
output:
|
||||||
|
set: '&eLes points du joueur &6%playername%&e ont été mis à &6%amount%'
|
||||||
|
add: '&eLe joueur &6%playername% &ea reçu &6%amount% &epoints. Il a maintenant
|
||||||
|
&6%total%'
|
||||||
|
take: '&eLe joueur &6%playername% &ea perdu &6%amount% &epoints. Il a maintenant
|
||||||
|
&6%total%'
|
||||||
|
blockinfo:
|
||||||
|
help:
|
||||||
|
info: Montre les infos du bloc que vous regardez.
|
||||||
|
args: ''
|
||||||
|
output:
|
||||||
|
name: ' &eNom du bloc: &6%blockname%'
|
||||||
|
id: ' &eId du bloc: &6%blockid%'
|
||||||
|
data: ' &eData du bloc: &6%blockdata%'
|
||||||
|
usage: ' &eUtilisation: &6%first% &eou &6%second%'
|
||||||
stats:
|
stats:
|
||||||
help:
|
help:
|
||||||
info: 'Donne votre niveau dans chacun de vos métiers.'
|
info: Donne votre niveau dans chacun de vos métiers.
|
||||||
args: '[playername]'
|
args: '[playername]'
|
||||||
error:
|
error:
|
||||||
nojob: Vous n''avez pas de métier.
|
nojob: Vous n''avez pas de métier.
|
||||||
output: 'lvl%joblevel% %jobname% : %jobxp%/%jobmaxxp% xp'
|
output: 'lvl%joblevel% %jobname% : %jobxp%/%jobmaxxp% xp'
|
||||||
|
shop:
|
||||||
|
help:
|
||||||
|
info: Ouvrir les magasins spéciaux de métiers.
|
||||||
|
args: ''
|
||||||
|
info:
|
||||||
|
title: '&e------- &8Magasin de métier &e-------'
|
||||||
|
currentPoints: '&eVous avez: &6%currentpoints%'
|
||||||
|
price: '&ePrix: &6%price%'
|
||||||
|
reqJobs: '&eMétier requis:'
|
||||||
|
reqJobsList: ' &6%jobsname%&e: &e%level% lvl'
|
||||||
|
NoPermForItem: '&cVous n''avez pas la permission requise pour utiliser cet objet!'
|
||||||
|
NoPermToBuy: '&cVous n''avez pas la permission requise pour acheter cet objet!'
|
||||||
|
NoJobReqForitem: '&cVous n''avez pas le métier requis (&6%jobname%&e) qui nécéssite
|
||||||
|
(&6%joblevel%&e) level'
|
||||||
|
NoPoints: '&cVous n''avez pas assez de points'
|
||||||
|
Paid: '&eVous avez payé &6%amount% &epour cet objet'
|
||||||
archive:
|
archive:
|
||||||
help:
|
help:
|
||||||
info: Donne tous les métiers en archive par joueur.
|
info: Donne tous les métiers en archive par joueur.
|
||||||
@ -55,31 +163,55 @@ command:
|
|||||||
give:
|
give:
|
||||||
help:
|
help:
|
||||||
info: Donne un objet par nom de métier et nom de catégorie d''objet. Le pseudo est facultatif.
|
info: Donne un objet par nom de métier et nom de catégorie d''objet. Le pseudo est facultatif.
|
||||||
args: '[Spielername] [Jobname] [Item]'
|
args: '[Nom du joueur] [Métier] [Item]'
|
||||||
output:
|
output:
|
||||||
notonline: '&4[%playername%] est hors-ligne !'
|
notonline: '&4[%playername%] est hors-ligne !'
|
||||||
noitem: '&4Ce nom ne correspond à aucun objet !'
|
noitem: '&4Ce nom ne correspond à aucun objet !'
|
||||||
info:
|
info:
|
||||||
help:
|
help:
|
||||||
title: '&2*** &eJobs&2 ***'
|
title: '&2*** &eMétier&2 ***'
|
||||||
info: Donne combien est payé chaque métier et pour quoi.
|
info: Donne combien est payé chaque métier et pour quoi.
|
||||||
args: '[jobname] [action]'
|
penalty: '&eCe métier à &c[penalty]% &ede pénalité car il a trop de succès.'
|
||||||
|
bonus: '&eCe métier à &2[bonus]% &ede bonus car il est vraiment délaissé.'
|
||||||
|
args: '[métier] [action]'
|
||||||
actions: '&eLes actions possibles sont: &f%actions%'
|
actions: '&eLes actions possibles sont: &f%actions%'
|
||||||
max: ' - &eNiveau Max:&f '
|
max: ' - &eNiveau Max:&f '
|
||||||
material: '&7%material%'
|
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: '&eChoisissez un métier!'
|
||||||
|
jobinfo: '&e[jobname] info!'
|
||||||
|
actions: '&c&nActions rémunérées:'
|
||||||
|
leftClick: '&bClic gauche pour plus d''infos'
|
||||||
|
rightClick: '&bClic droit pour rejoindre ce métier'
|
||||||
|
leftSlots: '&eNombre de place restante:&f '
|
||||||
|
working: ' &2&lVous êtes déjà embauché'
|
||||||
|
max: '&6Level Max:&f '
|
||||||
|
back: '&e<<< Retour'
|
||||||
output:
|
output:
|
||||||
break:
|
break:
|
||||||
info: Casser
|
info: Casser
|
||||||
none: '%jobname% ne donne rien en cassant des blocs.'
|
none: '%jobname% ne donne rien en cassant des blocs.'
|
||||||
|
tntbreak:
|
||||||
|
info: TNT
|
||||||
|
none: '%jobname% ne donne rien en cassant des blocs avec de la TNT.'
|
||||||
place:
|
place:
|
||||||
info: Placer
|
info: Placer
|
||||||
none: '%jobname% ne donne rien en plaçant des blocs.'
|
none: '%jobname% ne donne rien en plaçant des blocs.'
|
||||||
kill:
|
kill:
|
||||||
info: Tuer
|
info: TuerMob
|
||||||
none: '%jobname% ne donne rien en tuant.'
|
none: '%jobname% ne donne rien en tuant.'
|
||||||
|
mmkill:
|
||||||
|
info: TuerMM
|
||||||
|
none: '%jobname% ne donne rien en tuant des MM mobs.'
|
||||||
fish:
|
fish:
|
||||||
info: Pêcher
|
info: Pêcher
|
||||||
none: '%jobname% ne donne rien en pêchant.'
|
none: '%jobname% ne donne rien en pèchant.'
|
||||||
craft:
|
craft:
|
||||||
info: Crafter
|
info: Crafter
|
||||||
none: '%jobname% ne donne rien en craftant.'
|
none: '%jobname% ne donne rien en craftant.'
|
||||||
@ -89,6 +221,12 @@ command:
|
|||||||
brew:
|
brew:
|
||||||
info: Infuser
|
info: Infuser
|
||||||
none: '%jobname% ne donne rien en faisant infuser.'
|
none: '%jobname% ne donne rien en faisant infuser.'
|
||||||
|
eat:
|
||||||
|
info: Manger
|
||||||
|
none: '%jobname% ne donne rien en mangeant.'
|
||||||
|
dye:
|
||||||
|
info: Teindre
|
||||||
|
none: '%jobname% ne donne rien en teignant des objet.'
|
||||||
enchant:
|
enchant:
|
||||||
info: Enchanter
|
info: Enchanter
|
||||||
none: '%jobname% ne donne rien en enchantant.'
|
none: '%jobname% ne donne rien en enchantant.'
|
||||||
@ -102,17 +240,20 @@ command:
|
|||||||
info: Apprivoiser
|
info: Apprivoiser
|
||||||
none: '%jobname% ne donne rien en apprivoisant.'
|
none: '%jobname% ne donne rien en apprivoisant.'
|
||||||
milk:
|
milk:
|
||||||
info: Melken
|
info: Traire
|
||||||
none: '%jobname% bekommt kein Geld für das Melken.'
|
none: '%jobname% ne donne rien lors de la traite d''une vache.'
|
||||||
shear:
|
shear:
|
||||||
info: Scheren
|
info: Tailler
|
||||||
none: '%jobname% bekommt kein Geld für das Scheren.'
|
none: '%jobname% ne donne rien en coupant les feuillages avec une cisaille.'
|
||||||
|
explore:
|
||||||
|
info: Explorer
|
||||||
|
none: '%jobname% ne donne rien en explorant.'
|
||||||
custom-kill:
|
custom-kill:
|
||||||
info: Tuer
|
info: TuerJoueur
|
||||||
none: '%jobname% ne donne rien en tuant des joueurs particuliers.'
|
none: '%jobname% ne donne rien en tuant des joueurs particuliers.'
|
||||||
playerinfo:
|
playerinfo:
|
||||||
help:
|
help:
|
||||||
info: Donne combien est payé chaque métier et pour quoi pour un autre joueur.
|
info: Donne le montant payé de chaque action pour un certain métier sur un autre joueur.
|
||||||
args: '[playername] [jobname] [action]'
|
args: '[playername] [jobname] [action]'
|
||||||
join:
|
join:
|
||||||
help:
|
help:
|
||||||
@ -127,7 +268,7 @@ command:
|
|||||||
help:
|
help:
|
||||||
info: Quitter le métier.
|
info: Quitter le métier.
|
||||||
args: '[jobname]'
|
args: '[jobname]'
|
||||||
success: Vous n''exercez plus le métier de %jobname%.
|
success: Vous n'exercez plus le métier de %jobname%.
|
||||||
leaveall:
|
leaveall:
|
||||||
help:
|
help:
|
||||||
info: Quitter tous vos métiers.
|
info: Quitter tous vos métiers.
|
||||||
@ -142,6 +283,9 @@ command:
|
|||||||
output:
|
output:
|
||||||
header: 'Vous pouvez exercer les métiers suivants :'
|
header: 'Vous pouvez exercer les métiers suivants :'
|
||||||
footer: Pour plus d'informations, tapez /jobs info [JobName]
|
footer: Pour plus d'informations, tapez /jobs info [JobName]
|
||||||
|
totalWorkers: '&6Employés: &f[amount]'
|
||||||
|
penalty: '&4Penalité: &c[amount]%'
|
||||||
|
bonus: '&2Bonus: &a[amount]%'
|
||||||
fire:
|
fire:
|
||||||
help:
|
help:
|
||||||
info: Renvoie le joueur de son métier.
|
info: Renvoie le joueur de son métier.
|
||||||
@ -174,7 +318,44 @@ command:
|
|||||||
nojob: Aucun métier ne porte ce nom.
|
nojob: Aucun métier ne porte ce nom.
|
||||||
output:
|
output:
|
||||||
topline: '&aTop&e 10 &ades joueurs &e%jobname%'
|
topline: '&aTop&e 10 &ades joueurs &e%jobname%'
|
||||||
list: '&e%number%&a. &e%playername% &alvl &e%level% &aavec&e %exp% &aexp'
|
list: '&e%number%&a. &e%playername% &alvl &e%level% &aavec&e %exp%&axp'
|
||||||
|
prev: '&e<<<<< Page précédente &2|'
|
||||||
|
next: '&2|&e Page suivante >>>>'
|
||||||
|
show: '&2Montrer la top liste depuis &e[from] &2jusqu''a &e[until]'
|
||||||
|
gtop:
|
||||||
|
help:
|
||||||
|
info: Montrer les 15 meilleurs employés.
|
||||||
|
args: ''
|
||||||
|
error:
|
||||||
|
nojob: Impossible de trouver des informations.
|
||||||
|
output:
|
||||||
|
topline: '&aMontrer les 15 meilleurs employés par métier'
|
||||||
|
list: '&e%number%&a. &e%playername% &alvl &e%level% &aavec&e %exp%&axp'
|
||||||
|
prev: '&e<<<<< Page précédente &2|'
|
||||||
|
next: '&2|&e Page suivante >>>>'
|
||||||
|
show: '&2Montrer la top liste depuis &e[from] &2jusqu''a &e[until]'
|
||||||
|
log:
|
||||||
|
help:
|
||||||
|
info: Affiche les stats.
|
||||||
|
args: '[playername]'
|
||||||
|
output:
|
||||||
|
topline: '&7************************* &6%playername% &7*************************'
|
||||||
|
list: '&7* &6%number%. &3%action%: &6%item% &eqty: %qty% &6argent: %money%&exp:
|
||||||
|
%exp%'
|
||||||
|
bottomline: '&7***********************************************************'
|
||||||
|
prev: '&e<<<<< Page précédente &2|'
|
||||||
|
next: '&2|&e Page suivante >>>>'
|
||||||
|
nodata: '&cDonnées introuvable'
|
||||||
|
glog:
|
||||||
|
help:
|
||||||
|
info: Affiche les stats globales.
|
||||||
|
args: ''
|
||||||
|
output:
|
||||||
|
topline: '&7*********************** &6Stats globales &7***********************'
|
||||||
|
list: '&7* &6%number%. &3%username% &e%action%: &6%item% &eqté: %qty% &6Cubixx:
|
||||||
|
%money% &exp: %exp%'
|
||||||
|
bottomline: '&7**************************************************************'
|
||||||
|
nodata: '&cDonnées introuvable'
|
||||||
transfer:
|
transfer:
|
||||||
help:
|
help:
|
||||||
info: Transfère un joueur d'un métier à un autre.
|
info: Transfère un joueur d'un métier à un autre.
|
||||||
@ -183,10 +364,10 @@ command:
|
|||||||
target: Vous avez été transféré de %oldjobname% à %newjobname%.
|
target: Vous avez été transféré de %oldjobname% à %newjobname%.
|
||||||
promote:
|
promote:
|
||||||
help:
|
help:
|
||||||
info: Promeut le joueur de X niveaux dans un métier.
|
info: Promeut le joueur de X niveau(x) dans un métier.
|
||||||
args: '[playername] [jobname] [levels]'
|
args: '[playername] [jobname] [levels]'
|
||||||
output:
|
output:
|
||||||
target: Vous avez été promu de %levelsgained% niveaux en %jobname%.
|
target: Vous avez été promu de %levelsgained% niveaux en %jobname%.
|
||||||
demote:
|
demote:
|
||||||
help:
|
help:
|
||||||
info: Rétrograde le joueur de X niveaux dans un métier.
|
info: Rétrograde le joueur de X niveaux dans un métier.
|
||||||
@ -205,17 +386,26 @@ command:
|
|||||||
args: '[playername] [jobname] [xp]'
|
args: '[playername] [jobname] [xp]'
|
||||||
output:
|
output:
|
||||||
target: Vous avez perdu %xplost% points d'expérience en %jobname%.
|
target: Vous avez perdu %xplost% points d'expérience en %jobname%.
|
||||||
|
signupdate:
|
||||||
|
help:
|
||||||
|
info: Mettre à jour manuellement le panneau par son nom
|
||||||
|
args: '[jobname]'
|
||||||
reload:
|
reload:
|
||||||
help:
|
help:
|
||||||
info: Recharge la configuration.
|
info: Recharge la configuration.
|
||||||
toggle:
|
toggle:
|
||||||
help:
|
help:
|
||||||
info: Toggles payment output on action bar.
|
info: Changer l'affichage de paiement sur la barre d'action.
|
||||||
|
args: '[actionbar/bossbar]'
|
||||||
output:
|
output:
|
||||||
turnedoff: '&4Cette option est désactivée !'
|
turnedoff: '&4Cette option est désactivée !'
|
||||||
paid: '&aVous avez été payé pour : &2[amount]'
|
paid:
|
||||||
'on': '&aToggled: &aON'
|
main: '&aVous avez:'
|
||||||
'off': '&aToggled: &4OFF'
|
money: '&e[amount] Cubixx'
|
||||||
|
exp: '&7[exp] xp'
|
||||||
|
points: '&6[points] points'
|
||||||
|
'on': '&aChangé: &aON'
|
||||||
|
'off': '&aChangé: &4OFF'
|
||||||
message:
|
message:
|
||||||
skillup:
|
skillup:
|
||||||
broadcast: '%playername% a été promu %titlename% %jobname%.'
|
broadcast: '%playername% a été promu %titlename% %jobname%.'
|
||||||
@ -223,19 +413,40 @@ message:
|
|||||||
levelup:
|
levelup:
|
||||||
broadcast: '%playername% est maintenant au niveau %joblevel% %jobname%.'
|
broadcast: '%playername% est maintenant au niveau %joblevel% %jobname%.'
|
||||||
nobroadcast: Vous êtes maintenant au niveau %joblevel% %jobname%.
|
nobroadcast: Vous êtes maintenant au niveau %joblevel% %jobname%.
|
||||||
cowtimer: '&eVous devez attendre &6%time% &esec avant d''etre payer.'
|
cowtimer: '&eVous devez attendre &6%time% &esec avant d''être payé pour ce métier.'
|
||||||
blocktimer: '&eDu musst &3[time] &eSekunden warten um wieder etwas für das Abbauen zu verdienen!'
|
blocktimer: '&eVous devez attendre: &3[time] &esec encore pour être payé pour cela!'
|
||||||
placeblocktimer: '&eDu musst &6[time] &eSekunden warten um wieder etwas für das Setzen zu
|
placeblocktimer: '&eVous ne pouvez placer des blocs que toutes les &6[time] &esec
|
||||||
verdienen!'
|
d''intervale au même endroit!'
|
||||||
|
taxes: '&3[amount] &edes taxes du serveur ont été transférées sur ce compte'
|
||||||
|
boostStarted: '&eLe boost métier a commencé!'
|
||||||
|
boostStoped: '&eLe boost métier est terminé!'
|
||||||
crafting:
|
crafting:
|
||||||
fullinventory: Votre inventaire est plein !
|
fullinventory: Votre inventaire est plein !
|
||||||
signs:
|
signs:
|
||||||
|
List: '&0[number].&8[player]&7:&4[level]'
|
||||||
|
SpecialList:
|
||||||
|
'1':
|
||||||
|
'1': '&b*** &81er &b***'
|
||||||
|
'2': '&9[player]'
|
||||||
|
'3': '&8Level [level]'
|
||||||
|
'4': '&b************'
|
||||||
|
'2':
|
||||||
|
'1': '&b*** &82nd &b***'
|
||||||
|
'2': '&9[player]'
|
||||||
|
'3': '&8Level [level]'
|
||||||
|
'4': '&b************'
|
||||||
|
'3':
|
||||||
|
'1': '&b** &83ème &b**'
|
||||||
|
'2': '&9[player]'
|
||||||
|
'3': '&8Level [level]'
|
||||||
|
'4': '&b************'
|
||||||
cantcreate: '&4Vous ne pouvez pas créer ce panneau !'
|
cantcreate: '&4Vous ne pouvez pas créer ce panneau !'
|
||||||
|
cantdestroy: '&4Vous ne pouvez pas détruire ce panneau!'
|
||||||
topline: '&e[Jobs]'
|
topline: '&e[Jobs]'
|
||||||
secondline:
|
secondline:
|
||||||
join: '&2Rejoindre'
|
join: '&2Rejoindre'
|
||||||
leave: '&4Quitter'
|
leave: '&4Quitter'
|
||||||
toggle: '&eBasculer'
|
toggle: '&eChanger'
|
||||||
top: '&eTop'
|
top: '&eTop'
|
||||||
browse: '&eListe'
|
browse: '&eListe'
|
||||||
stats: '&eStats'
|
stats: '&eStats'
|
||||||
@ -243,6 +454,6 @@ signs:
|
|||||||
info: '&eInfo'
|
info: '&eInfo'
|
||||||
archive: '&eArchive'
|
archive: '&eArchive'
|
||||||
scoreboard:
|
scoreboard:
|
||||||
clear: '&eSi vous voulez enlever le scoreboard, tapez &2/jobs top clear'
|
|
||||||
topline: '&2Top &e%jobname%'
|
topline: '&2Top &e%jobname%'
|
||||||
lines: '&2%number%. &e%playername%'
|
gtopline: '&2Top Général'
|
||||||
|
lines: '&2%number%. &e%playername%'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
name: Jobs
|
name: Jobs
|
||||||
description: Jobs Plugin for the BukkitAPI
|
description: Jobs Plugin for the BukkitAPI
|
||||||
main: com.gamingmesh.jobs.JobsPlugin
|
main: com.gamingmesh.jobs.JobsPlugin
|
||||||
version: 3.4.7
|
version: 3.5.1
|
||||||
author: phrstbrn
|
author: phrstbrn
|
||||||
depend: [Vault]
|
depend: [Vault]
|
||||||
softdepend: [CoreProtect, MythicMobs, McMMO]
|
softdepend: [CoreProtect, MythicMobs, McMMO]
|
||||||
|
Loading…
Reference in New Issue
Block a user