mirror of
https://github.com/Zrips/Jobs.git
synced 2024-11-26 04:25:15 +01:00
GUI fixes
This commit is contained in:
parent
8f129bc217
commit
90b4813a01
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -27,6 +28,15 @@ public class GuiTools {
|
|||||||
|
|
||||||
public static HashMap<String, GuiInfoList> GuiList = new HashMap<String, GuiInfoList>();
|
public static HashMap<String, GuiInfoList> GuiList = new HashMap<String, GuiInfoList>();
|
||||||
|
|
||||||
|
public static void CloseInventories() {
|
||||||
|
for (Entry<String, GuiInfoList> one : GuiList.entrySet()) {
|
||||||
|
Player player = Bukkit.getPlayer(one.getKey());
|
||||||
|
if (player != null) {
|
||||||
|
player.closeInventory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Inventory CreateJobsGUI(Player player) {
|
public static Inventory CreateJobsGUI(Player player) {
|
||||||
|
|
||||||
ArrayList<Job> JobsList = new ArrayList<Job>();
|
ArrayList<Job> JobsList = new ArrayList<Job>();
|
||||||
@ -62,7 +72,11 @@ public class GuiTools {
|
|||||||
|
|
||||||
List<JobProgression> pJobs = JPlayer.getJobProgression();
|
List<JobProgression> pJobs = JPlayer.getJobProgression();
|
||||||
|
|
||||||
Inventory GuiInv = Bukkit.createInventory(null, GuiSize, Language.getMessage("command.info.gui.pickjob"));
|
String title = Language.getMessage("command.info.gui.pickjob");
|
||||||
|
if (title.length() > 32)
|
||||||
|
title = title.substring(0, 30) + "..";
|
||||||
|
|
||||||
|
Inventory GuiInv = Bukkit.createInventory(null, GuiSize, title);
|
||||||
|
|
||||||
for (int i = 0; i < JobsList.size(); i++) {
|
for (int i = 0; i < JobsList.size(); i++) {
|
||||||
|
|
||||||
@ -103,7 +117,8 @@ public class GuiTools {
|
|||||||
for (ActionType actionType : ActionType.values()) {
|
for (ActionType actionType : ActionType.values()) {
|
||||||
List<JobInfo> info = job.getJobInfo(actionType);
|
List<JobInfo> info = job.getJobInfo(actionType);
|
||||||
if (info != null && !info.isEmpty()) {
|
if (info != null && !info.isEmpty()) {
|
||||||
Lore.add(ChatColor.translateAlternateColorCodes('&', "&e" + Language.getMessage("command.info.output." + actionType.getName().toLowerCase() + ".info")));
|
Lore.add(ChatColor.translateAlternateColorCodes('&', "&e" + Language.getMessage("command.info.output." + actionType.getName().toLowerCase()
|
||||||
|
+ ".info")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,7 +244,10 @@ public class GuiTools {
|
|||||||
// backButton = 53;
|
// backButton = 53;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
Inventory GuiInv = Bukkit.createInventory(null, GuiSize, Language.getMessage("command.info.gui.jobinfo").replace("[jobname]", job.getName()));
|
String title = Language.getMessage("command.info.gui.jobinfo").replace("[jobname]", job.getName());
|
||||||
|
if (title.length() > 32)
|
||||||
|
title = title.substring(0, 30) + "..";
|
||||||
|
Inventory GuiInv = Bukkit.createInventory(null, GuiSize, title);
|
||||||
|
|
||||||
for (int i1 = 0; i1 < items.size(); i1++) {
|
for (int i1 = 0; i1 < items.size(); i1++) {
|
||||||
GuiInv.setItem(i1, items.get(i1));
|
GuiInv.setItem(i1, items.get(i1));
|
||||||
@ -238,7 +256,7 @@ public class GuiTools {
|
|||||||
ItemStack skull = new ItemStack(Material.JACK_O_LANTERN, 1, (byte) 0);
|
ItemStack skull = new ItemStack(Material.JACK_O_LANTERN, 1, (byte) 0);
|
||||||
|
|
||||||
ItemMeta skullMeta = skull.getItemMeta();
|
ItemMeta skullMeta = skull.getItemMeta();
|
||||||
skullMeta.setDisplayName("<<< Back");
|
skullMeta.setDisplayName(Language.getMessage("command.info.gui.back"));
|
||||||
|
|
||||||
skull.setItemMeta(skullMeta);
|
skull.setItemMeta(skullMeta);
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@ package com.gamingmesh.jobs;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
|
||||||
import net.coreprotect.CoreProtect;
|
import net.coreprotect.CoreProtect;
|
||||||
import net.coreprotect.CoreProtectAPI;
|
import net.coreprotect.CoreProtectAPI;
|
||||||
import net.elseland.xikage.MythicMobs.MythicMobs;
|
import net.elseland.xikage.MythicMobs.MythicMobs;
|
||||||
@ -32,6 +31,7 @@ import org.bukkit.plugin.Plugin;
|
|||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
|
||||||
|
import com.gamingmesh.jobs.Gui.GuiTools;
|
||||||
import com.gamingmesh.jobs.commands.JobsCommands;
|
import com.gamingmesh.jobs.commands.JobsCommands;
|
||||||
import com.gamingmesh.jobs.config.ConfigManager;
|
import com.gamingmesh.jobs.config.ConfigManager;
|
||||||
import com.gamingmesh.jobs.config.JobConfig;
|
import com.gamingmesh.jobs.config.JobConfig;
|
||||||
@ -164,6 +164,7 @@ public class JobsPlugin extends JavaPlugin {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
|
GuiTools.CloseInventories();
|
||||||
Jobs.shutdown();
|
Jobs.shutdown();
|
||||||
String message = ChatColor.translateAlternateColorCodes('&', "&2Plugin has been disabled succesfully.");
|
String message = ChatColor.translateAlternateColorCodes('&', "&2Plugin has been disabled succesfully.");
|
||||||
ConsoleCommandSender console = Bukkit.getServer().getConsoleSender();
|
ConsoleCommandSender console = Bukkit.getServer().getConsoleSender();
|
||||||
|
@ -536,7 +536,7 @@ public class PlayerManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean Perm(Player player, String permission) {
|
private boolean Perm(Player player, String permission) {
|
||||||
return player.isPermissionSet(permission);
|
return player.hasPermission(permission);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -165,6 +165,21 @@ public class JobsCommands implements CommandExecutor {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@JobCommand
|
||||||
|
public boolean fixnames(CommandSender sender, String[] args) throws IOException {
|
||||||
|
|
||||||
|
if (args.length > 0) {
|
||||||
|
sendUsage(sender, "fixnames");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Jobs.getJobsDAO().fixName(sender);
|
||||||
|
|
||||||
|
sender.sendMessage(ChatColor.GOLD + "[Jobs] Starting name fix proccess, this can take up to minute depending on your data base size.");
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@JobCommand
|
@JobCommand
|
||||||
public boolean convert(CommandSender sender, String[] args) throws IOException {
|
public boolean convert(CommandSender sender, String[] args) throws IOException {
|
||||||
|
|
||||||
|
@ -1262,6 +1262,7 @@ public class JobsConfiguration {
|
|||||||
GetConfigString("command.info.gui.leftSlots", "&eLeft slots:&f ", writer, conf, true);
|
GetConfigString("command.info.gui.leftSlots", "&eLeft slots:&f ", writer, conf, true);
|
||||||
GetConfigString("command.info.gui.working", "&2&nAlready working", writer, conf, true);
|
GetConfigString("command.info.gui.working", "&2&nAlready working", writer, conf, true);
|
||||||
GetConfigString("command.info.gui.max", "&eMax level:&f ", writer, conf, true);
|
GetConfigString("command.info.gui.max", "&eMax level:&f ", writer, conf, true);
|
||||||
|
GetConfigString("command.info.gui.back", "&e<<< Back", writer, conf, true);
|
||||||
|
|
||||||
GetConfigString("command.info.output.break.info", "Break", writer, conf, true);
|
GetConfigString("command.info.output.break.info", "Break", writer, conf, true);
|
||||||
GetConfigString("command.info.output.break.none", "%jobname% does not get money for breaking blocks.", writer, conf, true);
|
GetConfigString("command.info.output.break.none", "%jobname% does not get money for breaking blocks.", writer, conf, true);
|
||||||
@ -1308,6 +1309,9 @@ public class JobsConfiguration {
|
|||||||
GetConfigString("command.leave.help.args", "[jobname]", writer, conf, true);
|
GetConfigString("command.leave.help.args", "[jobname]", writer, conf, true);
|
||||||
GetConfigString("command.leave.success", "You have left the job %jobname%.", writer, conf, true);
|
GetConfigString("command.leave.success", "You have left the job %jobname%.", writer, conf, true);
|
||||||
|
|
||||||
|
GetConfigString("command.fixnames.help.info", "Tries to fix NULL player names in data base.", writer, conf, true);
|
||||||
|
GetConfigString("command.fixnames.help.args", "", writer, conf, true);
|
||||||
|
|
||||||
GetConfigString("command.leaveall.help.info", "Leave all your jobs.", writer, conf, true);
|
GetConfigString("command.leaveall.help.info", "Leave all your jobs.", writer, conf, true);
|
||||||
GetConfigString("command.leaveall.error.nojobs", "You do not have any jobs to leave!", writer, conf, true);
|
GetConfigString("command.leaveall.error.nojobs", "You do not have any jobs to leave!", writer, conf, true);
|
||||||
GetConfigString("command.leaveall.success", "You have left all your jobs.", writer, conf, true);
|
GetConfigString("command.leaveall.success", "You have left all your jobs.", writer, conf, true);
|
||||||
|
1
com/gamingmesh/jobs/dao/.gitignore
vendored
1
com/gamingmesh/jobs/dao/.gitignore
vendored
@ -8,3 +8,4 @@
|
|||||||
/JobsDAOSQLite.class
|
/JobsDAOSQLite.class
|
||||||
/JobsDriver.class
|
/JobsDriver.class
|
||||||
/JobsDrivers.class
|
/JobsDrivers.class
|
||||||
|
/JobsDAO$1.class
|
||||||
|
@ -23,15 +23,18 @@ import java.sql.ResultSet;
|
|||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import com.gamingmesh.jobs.Jobs;
|
import com.gamingmesh.jobs.Jobs;
|
||||||
|
import com.gamingmesh.jobs.JobsPlugin;
|
||||||
import com.gamingmesh.jobs.config.ConfigManager;
|
import com.gamingmesh.jobs.config.ConfigManager;
|
||||||
import com.gamingmesh.jobs.container.Convert;
|
import com.gamingmesh.jobs.container.Convert;
|
||||||
import com.gamingmesh.jobs.container.Job;
|
import com.gamingmesh.jobs.container.Job;
|
||||||
@ -40,7 +43,9 @@ import com.gamingmesh.jobs.container.JobsPlayer;
|
|||||||
import com.gamingmesh.jobs.container.Log;
|
import com.gamingmesh.jobs.container.Log;
|
||||||
import com.gamingmesh.jobs.container.LogAmounts;
|
import com.gamingmesh.jobs.container.LogAmounts;
|
||||||
import com.gamingmesh.jobs.container.TopList;
|
import com.gamingmesh.jobs.container.TopList;
|
||||||
|
import com.gamingmesh.jobs.stuff.ChatColor;
|
||||||
import com.gamingmesh.jobs.stuff.Loging;
|
import com.gamingmesh.jobs.stuff.Loging;
|
||||||
|
import com.gamingmesh.jobs.stuff.OfflinePlayerList;
|
||||||
import com.gamingmesh.jobs.stuff.TimeManage;
|
import com.gamingmesh.jobs.stuff.TimeManage;
|
||||||
import com.gamingmesh.jobs.stuff.UUIDUtil;
|
import com.gamingmesh.jobs.stuff.UUIDUtil;
|
||||||
|
|
||||||
@ -486,6 +491,70 @@ public abstract class JobsDAO {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void fixName(final CommandSender sender) {
|
||||||
|
Bukkit.getScheduler().runTaskAsynchronously(JobsPlugin.instance, new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
JobsConnection conn = getConnection();
|
||||||
|
if (conn == null)
|
||||||
|
return;
|
||||||
|
try {
|
||||||
|
PreparedStatement prest = conn.prepareStatement("SELECT `player_uuid`, `username` FROM `" + prefix + "jobs` WHERE `username` IS NULL;");
|
||||||
|
ResultSet res = prest.executeQuery();
|
||||||
|
HashMap<String, String> convert = new HashMap<String, String>();
|
||||||
|
int failed = 0;
|
||||||
|
while (res.next()) {
|
||||||
|
|
||||||
|
String uuidString = res.getString("player_uuid");
|
||||||
|
if (uuidString == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
UUID uuid = UUID.fromString(uuidString);
|
||||||
|
if (uuid == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
OfflinePlayer player = OfflinePlayerList.getPlayer(uuid);
|
||||||
|
|
||||||
|
if (player == null)
|
||||||
|
player = Bukkit.getOfflinePlayer(uuid);
|
||||||
|
|
||||||
|
if (player == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (player.getName() == null) {
|
||||||
|
failed++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
convert.put(uuidString, player.getName());
|
||||||
|
}
|
||||||
|
res.close();
|
||||||
|
prest.close();
|
||||||
|
|
||||||
|
prest = conn.prepareStatement("UPDATE `" + prefix + "jobs` SET `username` = ? WHERE `player_uuid` = ?;");
|
||||||
|
|
||||||
|
for (Entry<String, String> oneEntry : convert.entrySet()) {
|
||||||
|
prest.setString(1, oneEntry.getValue());
|
||||||
|
prest.setString(2, oneEntry.getKey());
|
||||||
|
prest.execute();
|
||||||
|
}
|
||||||
|
if (prest != null)
|
||||||
|
prest.close();
|
||||||
|
|
||||||
|
sender.sendMessage(ChatColor.GOLD + "[Jobs] Converted " + ChatColor.YELLOW + convert.size() + ChatColor.GOLD + " user names and failed "
|
||||||
|
+ ChatColor.YELLOW + failed + ChatColor.GOLD + " to do so, most likely user data no longer exists in your player data folder");
|
||||||
|
|
||||||
|
return;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete job from archive
|
* Delete job from archive
|
||||||
* @param player - player that wishes to quit the job
|
* @param player - player that wishes to quit the job
|
||||||
@ -658,7 +727,12 @@ public abstract class JobsDAO {
|
|||||||
ResultSet res = prest.executeQuery();
|
ResultSet res = prest.executeQuery();
|
||||||
while (res.next()) {
|
while (res.next()) {
|
||||||
|
|
||||||
Player player = Bukkit.getPlayer(res.getString(1));
|
String name = res.getString(1);
|
||||||
|
|
||||||
|
if (name == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Player player = Bukkit.getPlayer(name);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
||||||
JobsPlayer jobsinfo = Jobs.getPlayerManager().getJobsPlayer(player);
|
JobsPlayer jobsinfo = Jobs.getPlayerManager().getJobsPlayer(player);
|
||||||
|
@ -83,17 +83,17 @@ public class JobsListener implements Listener {
|
|||||||
int slot = event.getRawSlot();
|
int slot = event.getRawSlot();
|
||||||
|
|
||||||
if (slot >= 0) {
|
if (slot >= 0) {
|
||||||
if (!ConfigManager.getJobsConfiguration().JobsGUISwitcheButtons && event.getClick() == ClickType.LEFT ||
|
if (!joblist.isJobInfo() && (!ConfigManager.getJobsConfiguration().JobsGUISwitcheButtons && event.getClick() == ClickType.LEFT ||
|
||||||
ConfigManager.getJobsConfiguration().JobsGUISwitcheButtons && event.getClick() == ClickType.RIGHT) {
|
ConfigManager.getJobsConfiguration().JobsGUISwitcheButtons && event.getClick() == ClickType.RIGHT)) {
|
||||||
if (!joblist.isJobInfo() && slot < joblist.getJobList().size()) {
|
if (slot < joblist.getJobList().size()) {
|
||||||
player.closeInventory();
|
player.closeInventory();
|
||||||
player.openInventory(GuiTools.CreateJobsSubGUI(player, joblist.getJobList().get(slot)));
|
player.openInventory(GuiTools.CreateJobsSubGUI(player, joblist.getJobList().get(slot)));
|
||||||
} else {
|
}
|
||||||
|
} else if (joblist.isJobInfo()) {
|
||||||
if (slot == joblist.getbackButton()) {
|
if (slot == joblist.getbackButton()) {
|
||||||
player.closeInventory();
|
player.closeInventory();
|
||||||
player.openInventory(GuiTools.CreateJobsGUI(player));
|
player.openInventory(GuiTools.CreateJobsGUI(player));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else if (!ConfigManager.getJobsConfiguration().JobsGUISwitcheButtons && event.getClick() == ClickType.RIGHT ||
|
} else if (!ConfigManager.getJobsConfiguration().JobsGUISwitcheButtons && event.getClick() == ClickType.RIGHT ||
|
||||||
ConfigManager.getJobsConfiguration().JobsGUISwitcheButtons && event.getClick() == ClickType.LEFT) {
|
ConfigManager.getJobsConfiguration().JobsGUISwitcheButtons && event.getClick() == ClickType.LEFT) {
|
||||||
if (!joblist.isJobInfo() && slot < joblist.getJobList().size()) {
|
if (!joblist.isJobInfo() && slot < joblist.getJobList().size()) {
|
||||||
|
@ -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: 2.54.1
|
version: 2.54.3
|
||||||
author: phrstbrn
|
author: phrstbrn
|
||||||
softdepend: [Vault, CoreProtect, MythicMobs, McMMO]
|
softdepend: [Vault, CoreProtect, MythicMobs, McMMO]
|
||||||
commands:
|
commands:
|
||||||
@ -52,6 +52,7 @@ permissions:
|
|||||||
jobs.command.limit: true
|
jobs.command.limit: true
|
||||||
jobs.command.give: true
|
jobs.command.give: true
|
||||||
jobs.command.signs: true
|
jobs.command.signs: true
|
||||||
|
jobs.command.fixnames: true
|
||||||
jobs.command.signupdate: true
|
jobs.command.signupdate: true
|
||||||
jobs.command.moneyboost: true
|
jobs.command.moneyboost: true
|
||||||
jobs.command.expboost: true
|
jobs.command.expboost: true
|
||||||
@ -139,6 +140,9 @@ permissions:
|
|||||||
jobs.command.limit:
|
jobs.command.limit:
|
||||||
description: Grants access to the limit command
|
description: Grants access to the limit command
|
||||||
default: true
|
default: true
|
||||||
|
jobs.command.fixnames:
|
||||||
|
description: Grants access to the fixnames command
|
||||||
|
default: true
|
||||||
jobs.command.log:
|
jobs.command.log:
|
||||||
description: Grants access to the log command
|
description: Grants access to the log command
|
||||||
default: true
|
default: true
|
||||||
|
Loading…
Reference in New Issue
Block a user