Merge branch 'master' into master

This commit is contained in:
RockyHawk 2021-08-10 16:48:13 +10:00 committed by GitHub
commit 9857a2d4fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 342 additions and 83 deletions

View File

@ -1,7 +1,7 @@
<component name="libraryTable">
<library name="MMOItems-6.5.1">
<library name="MMOItems-6.6.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../Tools/Build Tools/Jar Libraries/MMOItems-6.5.1.jar!/" />
<root url="jar://$PROJECT_DIR$/../../Tools/Build Tools/Jar Libraries/MMOItems-6.6.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />

View File

@ -1,7 +1,7 @@
<component name="libraryTable">
<library name="MythicLib-1.0.16">
<library name="MythicLib-1.1.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../Tools/Build Tools/Jar Libraries/MythicLib-1.0.16.jar!/" />
<root url="jar://$PROJECT_DIR$/../../Tools/Build Tools/Jar Libraries/MythicLib-1.1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />

View File

@ -12,12 +12,12 @@
<orderEntry type="library" name="TokenManager-3.2.4" level="project" />
<orderEntry type="library" name="Vault" level="project" />
<orderEntry type="library" name="VotingPlugin" level="project" />
<orderEntry type="library" name="MMOItems-6.5.1" level="project" />
<orderEntry type="library" name="spigot-1.16.4" level="project" />
<orderEntry type="library" name="spigot-1.13.2" level="project" />
<orderEntry type="library" name="CustomItemsAPI_PLACEHOLDER" level="project" />
<orderEntry type="library" name="ChestSort" level="project" />
<orderEntry type="library" name="MythicLib-1.0.16" level="project" />
<orderEntry type="library" name="PlaceholderAPI-2.10.9" level="project" />
<orderEntry type="library" name="MMOItems-6.6.0" level="project" />
<orderEntry type="library" name="MythicLib-1.1.1" level="project" />
</component>
</module>

View File

@ -1,6 +1,6 @@
# |------------------------------------------------------------------------
# | CommandPanels Config File
# | By RockyHawk v5.1
# | By RockyHawk v5.2
# | https://www.spigotmc.org/resources/command-panels-custom-guis.67788/
# |
# | auto-update and minor-updates-only is HEAVILY RECOMMENDED
@ -60,8 +60,5 @@ purchase:
success: '&aSuccessfully Sold %cp-args%.'
failure: '&cInsufficient Items!'
xp:
success: '&aSuccessfully Bought For %cp-args% xp level.'
failure: '&cInsufficient xp levels!'
xppoints:
success: '&aSuccessfully Bought For %cp-args% xp points.'
failure: '&cInsufficient xp points!'
success: '&aSuccessfully Bought For %cp-args% Experience.'
failure: '&cInsufficient Experience!'

View File

@ -1,4 +1,4 @@
version: 3.16.2.5
version: 3.16.3.0
main: me.rockyhawk.commandpanels.CommandPanels
name: CommandPanels
author: RockyHawk
@ -14,6 +14,10 @@ commands:
description: Reloads plugin config.
usage: /commandpanelreload
aliases: [cpr, cpanelr]
commandpaneldata:
description: Change data values for players
usage: /commandpaneldata
aliases: [cpdata]
commandpaneldebug:
description: Enable and Disable debug mode globally
usage: /commandpaneldebug
@ -67,8 +71,8 @@ permissions:
default: true
commandpanel.update:
default: op
commandpanel.editor:
default: true
commandpanel.data:
default: op
commandpanel.edit:
default: op
commandpanel.list:

View File

@ -6,6 +6,9 @@ import me.rockyhawk.commandpanels.api.Panel;
import me.rockyhawk.commandpanels.classresources.ExecuteOpenVoids;
import me.rockyhawk.commandpanels.classresources.GetCustomHeads;
import me.rockyhawk.commandpanels.classresources.ItemCreation;
import me.rockyhawk.commandpanels.classresources.placeholders.expansion.CpPlaceholderExpansion;
import me.rockyhawk.commandpanels.completetabs.DataTabComplete;
import me.rockyhawk.commandpanels.completetabs.ImportTabComplete;
import me.rockyhawk.commandpanels.ingameeditor.OpenEditorGuis;
import me.rockyhawk.commandpanels.classresources.item_fall.ItemFallManager;
import me.rockyhawk.commandpanels.classresources.placeholders.CreateText;
@ -147,13 +150,20 @@ public class CommandPanels extends JavaPlugin{
new Metrics(this);
Objects.requireNonNull(this.getCommand("commandpanel")).setExecutor(new Commandpanel(this));
Objects.requireNonNull(this.getCommand("commandpanel")).setTabCompleter(new CpTabComplete(this));
Objects.requireNonNull(this.getCommand("commandpanelgenerate")).setTabCompleter(new TabCompleteGenerate(this));
Objects.requireNonNull(this.getCommand("commandpanelgenerate")).setExecutor(new Commandpanelsgenerate(this));
Objects.requireNonNull(this.getCommand("commandpaneldata")).setTabCompleter(new DataTabComplete(this));
Objects.requireNonNull(this.getCommand("commandpaneldata")).setExecutor(new Commandpanelsdata(this));
Objects.requireNonNull(this.getCommand("commandpanelimport")).setExecutor(new CommandPanelImport(this));
Objects.requireNonNull(this.getCommand("commandpanelimport")).setTabCompleter(new ImportTabComplete(this));
Objects.requireNonNull(this.getCommand("commandpanelreload")).setExecutor(new Commandpanelsreload(this));
Objects.requireNonNull(this.getCommand("commandpaneldebug")).setExecutor(new Commandpanelsdebug(this));
Objects.requireNonNull(this.getCommand("commandpanelversion")).setExecutor(new Commandpanelversion(this));
Objects.requireNonNull(this.getCommand("commandpanellist")).setExecutor(new Commandpanelslist(this));
Objects.requireNonNull(this.getCommand("commandpanelimport")).setExecutor(new CommandPanelImport(this));
this.getServer().getPluginManager().registerEvents(new Utils(this), this);
this.getServer().getPluginManager().registerEvents(updater, this);
this.getServer().getPluginManager().registerEvents(inventorySaver, this);
@ -163,6 +173,11 @@ public class CommandPanels extends JavaPlugin{
this.getServer().getPluginManager().registerEvents(new ItemFallManager(this), this);
this.getServer().getPluginManager().registerEvents(new OpenOnJoin(this), this);
//load in PlaceholderAPI Expansion
if (this.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
new CpPlaceholderExpansion(this).register();
}
//load in all built in command tags
commandTags.registerBuiltInTags();
@ -432,12 +447,12 @@ public class CommandPanels extends JavaPlugin{
if (p.hasPermission("commandpanel.import")) {
p.sendMessage(ChatColor.GOLD + "/cpi [file name] [URL] " + ChatColor.WHITE + "Downloads a panel from a raw link online.");
}
if (p.hasPermission("commandpanel.edit")) {
p.sendMessage(ChatColor.GOLD + "/cpe [panel] " + ChatColor.WHITE + "Edit a panel with the Panel Editor.");
}
if (p.hasPermission("commandpanel.list")) {
p.sendMessage(ChatColor.GOLD + "/cpl " + ChatColor.WHITE + "Lists the currently loaded panels.");
}
if (p.hasPermission("commandpanel.data")) {
p.sendMessage(ChatColor.GOLD + "/cpdata " + ChatColor.WHITE + "Change panel data for a user.");
}
if (p.hasPermission("commandpanel.debug")) {
p.sendMessage(ChatColor.GOLD + "/cpd " + ChatColor.WHITE + "Enable and Disable debug mode globally.");
}
@ -450,6 +465,9 @@ public class CommandPanels extends JavaPlugin{
if (p.hasPermission("commandpanel.block.list")) {
p.sendMessage(ChatColor.GOLD + "/cpb list " + ChatColor.WHITE + "List blocks that will open panels.");
}
if (p.hasPermission("commandpanel.edit")) {
p.sendMessage(ChatColor.GOLD + "/cpe [panel] " + ChatColor.WHITE + "Edit a panel with the Panel Editor.");
}
}
public final Map<String, Color> colourCodes = new HashMap<String, Color>() {{

View File

@ -43,6 +43,7 @@ public class Utils implements Listener {
if(e.getAction() == InventoryAction.MOVE_TO_OTHER_INVENTORY){
e.setCancelled(true);
return;
}
if(e.getSlotType() == InventoryType.SlotType.OUTSIDE){

View File

@ -4,7 +4,6 @@ import me.rockyhawk.commandpanels.CommandPanels;
import me.rockyhawk.commandpanels.classresources.placeholders.PanelPlaceholders;
import me.rockyhawk.commandpanels.openpanelsmanager.PanelOpenType;
import me.rockyhawk.commandpanels.openpanelsmanager.PanelPosition;
import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;

View File

@ -3,7 +3,6 @@ package me.rockyhawk.commandpanels.classresources;
import me.rockyhawk.commandpanels.CommandPanels;
import me.rockyhawk.commandpanels.api.Panel;
import me.rockyhawk.commandpanels.api.PanelOpenedEvent;
import me.rockyhawk.commandpanels.commandtags.PaywallOutput;
import me.rockyhawk.commandpanels.openpanelsmanager.PanelOpenType;
import me.rockyhawk.commandpanels.openpanelsmanager.PanelPosition;
import org.bukkit.Bukkit;
@ -14,7 +13,6 @@ import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType;
import java.util.List;
import java.util.Objects;
public class ExecuteOpenVoids {
@ -25,6 +23,10 @@ public class ExecuteOpenVoids {
//this is the main method to open a panel
public void openCommandPanel(CommandSender sender, Player p, Panel panel, PanelPosition position, boolean openForOtherUser){
if(p == null){
sender.sendMessage(plugin.tex.colour(plugin.tag + ChatColor.RED + "Player not found."));
return;
}
if(p.isSleeping()){
//avoid plugin glitches when sleeping
return;

View File

@ -68,8 +68,9 @@ public class Placeholders {
}
}
//this requires the placeholder to already be identified
@SuppressWarnings("deprecation")
private String cpPlaceholders(Panel panel, PanelPosition position, Player p, String identifier){
public String cpPlaceholders(Panel panel, PanelPosition position, Player p, String identifier){
//replace nodes with PlaceHolders
switch(identifier){

View File

@ -0,0 +1,47 @@
package me.rockyhawk.commandpanels.classresources.placeholders.expansion;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import me.rockyhawk.commandpanels.CommandPanels;
import me.rockyhawk.commandpanels.openpanelsmanager.PanelPosition;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class CpPlaceholderExpansion extends PlaceholderExpansion {
private final CommandPanels plugin;
public CpPlaceholderExpansion(CommandPanels plugin) {
this.plugin = plugin;
}
@Override
public String getAuthor() {
return "RockyHawk";
}
@Override
public String getIdentifier() {
return "commandpanels";
}
@Override
public String getVersion() {
return "1.0.0";
}
@Override
public boolean persist() {
return true; // This is required or else PlaceholderAPI will unregister the Expansion on reload
}
/*
external use only, not to be used for example inside a panel
usage: %commandpanels_<placeholder>%
so for example %cp-data-test% instead you would do %commandpanels_data-test%
*/
@Override
public String onRequest(OfflinePlayer player, @NotNull String identifier) {
return plugin.placeholders.cpPlaceholders(null, PanelPosition.Top, (Player)player, identifier);
}
}

View File

@ -39,7 +39,7 @@ public class Commandpanel implements CommandExecutor {
boolean disableCommand = false;
if(panel.getConfig().contains("panelType")) {
if (panel.getConfig().getStringList("panelType").contains("nocommand")) {
//do not allow command with noCommand
//do not allow command with noCommand, console is an exception
disableCommand = true;
}
}
@ -49,9 +49,7 @@ public class Commandpanel implements CommandExecutor {
//do console command command
if(args.length == 2){
if(!args[1].equals("item")){
if(!disableCommand) {
plugin.openVoids.openCommandPanel(sender, plugin.getServer().getPlayer(args[1]), panel.copy(), PanelPosition.Top, true);
}
}else{
sender.sendMessage(plugin.tex.colour(plugin.tag + ChatColor.RED + "Usage: /cp <panel> [item] [player]"));
}

View File

@ -0,0 +1,71 @@
package me.rockyhawk.commandpanels.commands;
import me.rockyhawk.commandpanels.CommandPanels;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.event.EventHandler;
public class Commandpanelsdata implements CommandExecutor {
CommandPanels plugin;
public Commandpanelsdata(CommandPanels pl) { this.plugin = pl; }
@EventHandler
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (sender.hasPermission("commandpanel.data")) {
if(args.length == 2){
//for the clear command
if(args[0].equals("clear")){
plugin.panelData.clearData(plugin.panelData.getOffline(args[1]));
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Cleared all data for "
+ ChatColor.WHITE + args[1]));
return true;
}
}else if (args.length == 3){
//for the remove command
if(args[0].equals("remove")) {
plugin.panelData.delUserData(plugin.panelData.getOffline(args[1]), args[2]);
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Removed "
+ ChatColor.WHITE + args[2]
+ ChatColor.GREEN + " from "
+ ChatColor.WHITE + args[1]));
return true;
}else if(args[0].equals("get")){
//for the get command
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Value of data is "
+ ChatColor.WHITE + plugin.panelData.getUserData(plugin.panelData.getOffline(args[1]), args[2])));
return true;
}
}else if (args.length == 4){
if(args[0].equals("set")){
//for set command
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2],args[3],true);
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Set "
+ ChatColor.WHITE + args[2]
+ ChatColor.GREEN + " to "
+ ChatColor.WHITE + args[3]));
return true;
}else{
//for add command
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2],args[3],false);
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Set "
+ ChatColor.WHITE + args[2]
+ ChatColor.GREEN + " to "
+ ChatColor.WHITE + args[3])
+ ChatColor.GREEN + " if it did not exist already");
return true;
}
}
sender.sendMessage(plugin.tex.colour(plugin.tag + ChatColor.RED + "Usage: /cpdata <set:add:get:remove:clear> <player> <data> [value]"));
}else{
sender.sendMessage(plugin.tex.colour(plugin.tag + plugin.config.getString("config.format.perms")));
}
return true;
}
}

View File

@ -14,7 +14,6 @@ public class Commandpanelsdebug implements CommandExecutor {
@EventHandler
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (label.equalsIgnoreCase("cpd") || label.equalsIgnoreCase("commandpaneldebug") || label.equalsIgnoreCase("cpaneld")) {
if (sender.hasPermission("commandpanel.debug")) {
if (args.length == 0) {
//command /cpd
@ -40,7 +39,4 @@ public class Commandpanelsdebug implements CommandExecutor {
}
return true;
}
sender.sendMessage(plugin.tex.colour(plugin.tag + ChatColor.RED + "Usage: /cpd"));
return true;
}
}

View File

@ -286,11 +286,20 @@ public class CommandTags {
}
}
case "xp-paywall=": {
//if player uses xp-paywall= [price]
//if player uses xp-paywall= <price> <levels:points>
try {
int balance = p.getLevel();
int balance;
if(command.split("\\s")[2].startsWith("level")){
balance = p.getLevel();
}else{
balance = getPlayerExp(p);
}
if (balance >= Integer.parseInt(command.split("\\s")[1])) {
if(command.split("\\s")[2].startsWith("level")){
p.setLevel(p.getLevel() - Integer.parseInt(command.split("\\s")[1]));
}else{
removePlayerExp(p,Integer.parseInt(command.split("\\s")[1]));
}
//if the message is empty don't send
plugin.tex.sendString(p,Objects.requireNonNull(plugin.config.getString("purchase.xp.success")).replaceAll("%cp-args%", command.split("\\s")[1]));
return PaywallOutput.Passed;
@ -328,4 +337,58 @@ public class CommandTags {
}
return PaywallOutput.NotApplicable;
}
//Experience math is a bit doggy doo doo so these will help to calculate values
// Calculate total experience up to a level
private int getExpAtLevel(int level){
if(level <= 16){
return (int) (Math.pow(level,2) + 6*level);
} else if(level <= 31){
return (int) (2.5*Math.pow(level,2) - 40.5*level + 360.0);
} else {
return (int) (4.5*Math.pow(level,2) - 162.5*level + 2220.0);
}
}
// Calculate amount of EXP needed to level up
private int getExpToLevelUp(int level){
if(level <= 15){
return 2*level+7;
} else if(level <= 30){
return 5*level-38;
} else {
return 9*level-158;
}
}
// Calculate player's current EXP amount
private int getPlayerExp(Player player){
int exp = 0;
int level = player.getLevel();
// Get the amount of XP in past levels
exp += getExpAtLevel(level);
// Get amount of XP towards next level
exp += Math.round(getExpToLevelUp(level) * player.getExp());
return exp;
}
// Take EXP
private int removePlayerExp(Player player, int exp){
// Get player's current exp
int currentExp = getPlayerExp(player);
// Reset player's current exp to 0
player.setExp(0);
player.setLevel(0);
// Give the player their exp back, with the difference
int newExp = currentExp - exp;
player.giveExp(newExp);
// Return the player's new exp amount
return newExp;
}
}

View File

@ -2,12 +2,9 @@ package me.rockyhawk.commandpanels.commandtags.tags.other;
import me.rockyhawk.commandpanels.CommandPanels;
import me.rockyhawk.commandpanels.commandtags.CommandTagEvent;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import java.util.UUID;
public class DataTags implements Listener {
CommandPanels plugin;
public DataTags(CommandPanels pl) {
@ -19,7 +16,7 @@ public class DataTags implements Listener {
if(e.name.equalsIgnoreCase("set-data=")){
e.commandTagUsed();
if(e.args.length == 3){
plugin.panelData.setUserData(getOffline(e.args[2]),e.args[0],plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]),true);
plugin.panelData.setUserData(plugin.panelData.getOffline(e.args[2]),e.args[0],plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]),true);
return;
}
//this will overwrite data. set-data= [data point] [data value] [optional player]
@ -29,7 +26,7 @@ public class DataTags implements Listener {
if(e.name.equalsIgnoreCase("add-data=")){
e.commandTagUsed();
if(e.args.length == 3){
plugin.panelData.setUserData(getOffline(e.args[2]),e.args[0],plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]),false);
plugin.panelData.setUserData(plugin.panelData.getOffline(e.args[2]),e.args[0],plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]),false);
return;
}
//this will not overwrite existing data. add-data= [data point] [data value] [optional player]
@ -39,7 +36,7 @@ public class DataTags implements Listener {
if(e.name.equalsIgnoreCase("math-data=")){
e.commandTagUsed();
if(e.args.length == 3){
plugin.panelData.doDataMath(getOffline(e.args[2]),e.args[0],plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]));
plugin.panelData.doDataMath(plugin.panelData.getOffline(e.args[2]),e.args[0],plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]));
return;
}
//only works if data is number, goes math-data= [data point] [operator:number] [optional player] eg, math-data= -1 OR /3
@ -55,17 +52,11 @@ public class DataTags implements Listener {
if(e.name.equalsIgnoreCase("del-data=")){
e.commandTagUsed();
if(e.args.length == 3){
plugin.panelData.delUserData(getOffline(e.args[1]),e.args[0]);
plugin.panelData.delUserData(plugin.panelData.getOffline(e.args[1]),e.args[0]);
return;
}
//this will remove data. del-data= [data point] [optional player]
plugin.panelData.delUserData(e.p.getUniqueId(),e.args[0]);
}
}
@SuppressWarnings("deprecation")
private UUID getOffline(String playerName){
//making this a separate function as it is long and deprecated
return Bukkit.getOfflinePlayer(playerName).getUniqueId();
}
}

View File

@ -29,11 +29,10 @@ public class CpTabComplete implements TabCompleter {
if (sender.hasPermission("commandpanel.panel." + panel.getConfig().getString("perm"))) {
if(panel.getConfig().contains("panelType")) {
if (panel.getConfig().getStringList("panelType").contains("nocommand")) {
//do not allow command with noCommand
//do not allow command with nocommand
continue;
}
}
if(plugin.panelPerms.isPanelWorldEnabled(p,panel.getConfig())){
apanels.add(panel.getName());
}

View File

@ -0,0 +1,46 @@
package me.rockyhawk.commandpanels.completetabs;
import me.rockyhawk.commandpanels.CommandPanels;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.List;
public class DataTabComplete implements TabCompleter {
CommandPanels plugin;
public DataTabComplete(CommandPanels pl) { this.plugin = pl; }
@Override
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
if(sender.hasPermission("commandpanel.data")) {
ArrayList<String> output = new ArrayList<>();
if(args.length == 1){
output.add("set");
output.add("add");
output.add("get");
output.add("remove");
output.add("clear");
}else if(args.length == 2){
for (Player p : Bukkit.getOnlinePlayers()) {
if (!p.getName().startsWith(args[1])) {
continue;
}
output.add(p.getName());
}
}else if(args.length == 3){
//the clear function is here as it is the only subcommand with 3 args
try {
return new ArrayList<>(plugin.panelData.dataConfig.getConfigurationSection("playerData." + plugin.panelData.getOffline(args[1])).getKeys(false));
} catch (Exception ex) {
return null;
}
}
return output;
}
return null;
}
}

View File

@ -0,0 +1,29 @@
package me.rockyhawk.commandpanels.completetabs;
import me.rockyhawk.commandpanels.CommandPanels;
import me.rockyhawk.commandpanels.api.Panel;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import java.util.ArrayList;
import java.util.List;
public class ImportTabComplete implements TabCompleter {
CommandPanels plugin;
public ImportTabComplete(CommandPanels pl) { this.plugin = pl; }
@Override
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
if(sender.hasPermission("commandpanel.import")) {
ArrayList<String> output = new ArrayList<>();
if(args.length == 1){
for(Panel panel : plugin.panelList){
output.add(panel.getFile().getName());
}
}
return output;
}
return null;
}
}

View File

@ -1,6 +1,7 @@
package me.rockyhawk.commandpanels.datamanager;
import me.rockyhawk.commandpanels.CommandPanels;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
@ -104,4 +105,10 @@ public class PanelDataLoader {
dataConfig.set("playerData." + playerUUID + "." + dataPoint, output.toPlainString());
}
@SuppressWarnings("deprecation")
public UUID getOffline(String playerName){
//making this a separate function as it is long and deprecated
return Bukkit.getOfflinePlayer(playerName).getUniqueId();
}
}

View File

@ -1,39 +1,29 @@
package me.rockyhawk.commandpanels.playerinventoryhandler;
import me.rockyhawk.commandpanels.CommandPanels;
import me.rockyhawk.commandpanels.api.Panel;
import me.rockyhawk.commandpanels.api.PanelClosedEvent;
import me.rockyhawk.commandpanels.api.PanelOpenedEvent;
import me.rockyhawk.commandpanels.ioclasses.legacy.MinecraftVersions;
import me.rockyhawk.commandpanels.openpanelsmanager.PanelPosition;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.inventory.meta.PotionMeta;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
public class InventorySaver implements Listener {
public YamlConfiguration inventoryConfig;
CommandPanels plugin;
public InventorySaver(CommandPanels pl) {
this.plugin = pl;
}
public YamlConfiguration inventoryConfig;
public void saveInventoryFile(){
try {
inventoryConfig.save(plugin.getDataFolder() + File.separator + "inventories.yml");

View File

@ -15,16 +15,16 @@ import java.util.Objects;
import java.util.logging.Level;
public class Updater implements Listener {
CommandPanels plugin;
public Updater(CommandPanels pl) {
this.plugin = pl;
}
//if this is set to something, it will download that version on restart
//can be a version number, 'latest' or 'cancel'
public String downloadVersionManually = null;
public String catchedLatestVersion = "null";
CommandPanels plugin;
public Updater(CommandPanels pl) {
this.plugin = pl;
}
//send update message when the player joins the game with the permission
@EventHandler
public void joinGame(PlayerJoinEvent e){