forked from Upstream/CommandPanels
3.21.3.1
This commit is contained in:
parent
9aa6a64f1e
commit
6c390a98f2
4
pom.xml
4
pom.xml
@ -126,7 +126,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>de.tr7zw</groupId>
|
<groupId>de.tr7zw</groupId>
|
||||||
<artifactId>item-nbt-api</artifactId>
|
<artifactId>item-nbt-api</artifactId>
|
||||||
<version>2.13.0</version>
|
<version>2.13.1-SNAPSHOT</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -138,7 +138,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.kyori</groupId>
|
<groupId>net.kyori</groupId>
|
||||||
<artifactId>adventure-text-minimessage</artifactId>
|
<artifactId>adventure-text-minimessage</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.17.0</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -16,7 +16,6 @@ config:
|
|||||||
stop-sound: true
|
stop-sound: true
|
||||||
disabled-world-message: true
|
disabled-world-message: true
|
||||||
panel-snooper: false
|
panel-snooper: false
|
||||||
allow-unsafe-mini-message: false
|
|
||||||
enable-import-command: false
|
enable-import-command: false
|
||||||
format:
|
format:
|
||||||
tag: '&6[&bCommandPanels&6] '
|
tag: '&6[&bCommandPanels&6] '
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
version: 3.21.3.0
|
version: 3.21.3.1
|
||||||
main: me.rockyhawk.commandpanels.CommandPanels
|
main: me.rockyhawk.commandpanels.CommandPanels
|
||||||
name: CommandPanels
|
name: CommandPanels
|
||||||
author: RockyHawk
|
author: RockyHawk
|
||||||
|
@ -22,6 +22,7 @@ import me.rockyhawk.commandpanels.completetabs.UpdateTabComplete;
|
|||||||
import me.rockyhawk.commandpanels.customcommands.Commandpanelcustom;
|
import me.rockyhawk.commandpanels.customcommands.Commandpanelcustom;
|
||||||
import me.rockyhawk.commandpanels.datamanager.DebugManager;
|
import me.rockyhawk.commandpanels.datamanager.DebugManager;
|
||||||
import me.rockyhawk.commandpanels.datamanager.PanelDataLoader;
|
import me.rockyhawk.commandpanels.datamanager.PanelDataLoader;
|
||||||
|
import me.rockyhawk.commandpanels.datamanager.PanelDataPlayerManager;
|
||||||
import me.rockyhawk.commandpanels.editor.*;
|
import me.rockyhawk.commandpanels.editor.*;
|
||||||
import me.rockyhawk.commandpanels.floodgatecp.OpenFloodgateGUI;
|
import me.rockyhawk.commandpanels.floodgatecp.OpenFloodgateGUI;
|
||||||
import me.rockyhawk.commandpanels.generatepanels.Commandpanelsgenerate;
|
import me.rockyhawk.commandpanels.generatepanels.Commandpanelsgenerate;
|
||||||
@ -90,6 +91,8 @@ public class CommandPanels extends JavaPlugin{
|
|||||||
|
|
||||||
public CommandRunner commandRunner = new CommandRunner(this);
|
public CommandRunner commandRunner = new CommandRunner(this);
|
||||||
public PanelDataLoader panelData = new PanelDataLoader(this);
|
public PanelDataLoader panelData = new PanelDataLoader(this);
|
||||||
|
public PanelDataPlayerManager panelDataPlayers = new PanelDataPlayerManager(this);
|
||||||
|
|
||||||
public Placeholders placeholders = new Placeholders(this);
|
public Placeholders placeholders = new Placeholders(this);
|
||||||
public DebugManager debug = new DebugManager(this);
|
public DebugManager debug = new DebugManager(this);
|
||||||
public CreateText tex = new CreateText(this);
|
public CreateText tex = new CreateText(this);
|
||||||
@ -190,6 +193,7 @@ public class CommandPanels extends JavaPlugin{
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.getServer().getPluginManager().registerEvents(inputUtils, this);
|
this.getServer().getPluginManager().registerEvents(inputUtils, this);
|
||||||
|
this.getServer().getPluginManager().registerEvents(panelDataPlayers, this);
|
||||||
this.getServer().getPluginManager().registerEvents(new UtilsPanelsLoader(this), this);
|
this.getServer().getPluginManager().registerEvents(new UtilsPanelsLoader(this), this);
|
||||||
this.getServer().getPluginManager().registerEvents(new GenUtils(this), this);
|
this.getServer().getPluginManager().registerEvents(new GenUtils(this), this);
|
||||||
this.getServer().getPluginManager().registerEvents(new ItemFallManager(this), this);
|
this.getServer().getPluginManager().registerEvents(new ItemFallManager(this), this);
|
||||||
@ -281,6 +285,9 @@ public class CommandPanels extends JavaPlugin{
|
|||||||
//do hotbar items
|
//do hotbar items
|
||||||
hotbar.reloadHotbarSlots();
|
hotbar.reloadHotbarSlots();
|
||||||
|
|
||||||
|
//load all known players for data
|
||||||
|
panelDataPlayers.reloadAllPlayers();
|
||||||
|
|
||||||
//add custom charts bStats
|
//add custom charts bStats
|
||||||
Metrics metrics = new Metrics(this, 5097);
|
Metrics metrics = new Metrics(this, 5097);
|
||||||
metrics.addCustomChart(new SingleLineChart("panels_amount", () -> {
|
metrics.addCustomChart(new SingleLineChart("panels_amount", () -> {
|
||||||
|
@ -74,7 +74,9 @@ public class CreateText {
|
|||||||
//change colour
|
//change colour
|
||||||
for(String temp : setpapi){
|
for(String temp : setpapi){
|
||||||
try {
|
try {
|
||||||
setpapi.set(tempInt, plugin.hex.translateHexColorCodes(ChatColor.translateAlternateColorCodes('&', temp)));
|
setpapi.set(tempInt,
|
||||||
|
plugin.hex.translateHexColorCodes(
|
||||||
|
ChatColor.translateAlternateColorCodes('&', temp)));
|
||||||
}catch(NullPointerException ignore){}
|
}catch(NullPointerException ignore){}
|
||||||
tempInt += 1;
|
tempInt += 1;
|
||||||
}
|
}
|
||||||
@ -84,7 +86,8 @@ public class CreateText {
|
|||||||
//regular string papi, but only colours so Player doesn't need to be there
|
//regular string papi, but only colours so Player doesn't need to be there
|
||||||
public String colour(String setpapi) {
|
public String colour(String setpapi) {
|
||||||
try {
|
try {
|
||||||
setpapi = plugin.hex.translateHexColorCodes(ChatColor.translateAlternateColorCodes('&', setpapi));
|
setpapi = ChatColor.translateAlternateColorCodes('&', setpapi);
|
||||||
|
setpapi = plugin.hex.translateHexColorCodes(setpapi);
|
||||||
return setpapi;
|
return setpapi;
|
||||||
}catch(NullPointerException e){
|
}catch(NullPointerException e){
|
||||||
return setpapi;
|
return setpapi;
|
||||||
|
@ -329,7 +329,7 @@ public class Placeholders {
|
|||||||
if(dataPoint.contains(",")){
|
if(dataPoint.contains(",")){
|
||||||
String dataName = dataPoint.split(",")[0];
|
String dataName = dataPoint.split(",")[0];
|
||||||
String playerName = dataPoint.split(",")[1];
|
String playerName = dataPoint.split(",")[1];
|
||||||
return plugin.panelData.getUserData(Bukkit.getOfflinePlayer(playerName).getUniqueId(),dataName);
|
return plugin.panelData.getUserData(plugin.panelDataPlayers.getOffline(playerName),dataName);
|
||||||
}else{
|
}else{
|
||||||
return plugin.panelData.getUserData(p.getUniqueId(),dataPoint);
|
return plugin.panelData.getUserData(p.getUniqueId(),dataPoint);
|
||||||
}
|
}
|
||||||
@ -338,10 +338,24 @@ public class Placeholders {
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//returns if a player is found
|
||||||
|
if(identifier.startsWith("uuid-")) {
|
||||||
|
try {
|
||||||
|
String dataPoint = identifier.replace("uuid-", "");
|
||||||
|
//get data from other user
|
||||||
|
if(plugin.panelDataPlayers.getOffline(dataPoint) == null){
|
||||||
|
return "unknown";
|
||||||
|
}
|
||||||
|
return plugin.panelDataPlayers.getOffline(dataPoint).toString();
|
||||||
|
}catch (Exception ex){
|
||||||
|
plugin.debug(ex,p);
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
//edits data via placeholder execution (will return empty output)
|
//edits data via placeholder execution (will return empty output)
|
||||||
if(identifier.startsWith("setdata-")) {
|
if(identifier.startsWith("setdata-")) {
|
||||||
try {
|
try {
|
||||||
String point_value = identifier.replace("cp-setdata-", "");
|
String point_value = identifier.replace("setdata-", "");
|
||||||
String command = "set-data= " + point_value.split(",")[0] + " " + point_value.split(",")[1];
|
String command = "set-data= " + point_value.split(",")[0] + " " + point_value.split(",")[1];
|
||||||
plugin.commandRunner.runCommand(panel,position,p, command);
|
plugin.commandRunner.runCommand(panel,position,p, command);
|
||||||
return "";
|
return "";
|
||||||
|
@ -36,11 +36,11 @@ public class Commandpanelsdata implements CommandExecutor {
|
|||||||
if (args[1].equalsIgnoreCase("all") || args[1].equalsIgnoreCase("online")) {
|
if (args[1].equalsIgnoreCase("all") || args[1].equalsIgnoreCase("online")) {
|
||||||
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
||||||
if (args[1].equalsIgnoreCase("online") && !player.isOnline()) continue;
|
if (args[1].equalsIgnoreCase("online") && !player.isOnline()) continue;
|
||||||
plugin.panelData.clearData(plugin.panelData.getOffline(player.getName()));
|
plugin.panelData.clearData(plugin.panelDataPlayers.getOffline(player.getName()));
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
plugin.panelData.clearData(plugin.panelData.getOffline(args[1]));
|
plugin.panelData.clearData(plugin.panelDataPlayers.getOffline(args[1]));
|
||||||
if (sendPlayerMessage) {
|
if (sendPlayerMessage) {
|
||||||
sender.sendMessage(plugin.tex.colour(plugin.tag
|
sender.sendMessage(plugin.tex.colour(plugin.tag
|
||||||
+ ChatColor.GREEN + "Cleared all data for "
|
+ ChatColor.GREEN + "Cleared all data for "
|
||||||
@ -54,11 +54,11 @@ public class Commandpanelsdata implements CommandExecutor {
|
|||||||
if (args[1].equalsIgnoreCase("all") || args[1].equalsIgnoreCase("online")) {
|
if (args[1].equalsIgnoreCase("all") || args[1].equalsIgnoreCase("online")) {
|
||||||
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
||||||
if (args[1].equalsIgnoreCase("online") && !player.isOnline()) continue;
|
if (args[1].equalsIgnoreCase("online") && !player.isOnline()) continue;
|
||||||
plugin.panelData.delUserData(plugin.panelData.getOffline(player.getName()), args[2]);
|
plugin.panelData.delUserData(plugin.panelDataPlayers.getOffline(player.getName()), args[2]);
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
plugin.panelData.delUserData(plugin.panelData.getOffline(args[1]), args[2]);
|
plugin.panelData.delUserData(plugin.panelDataPlayers.getOffline(args[1]), args[2]);
|
||||||
if (sendPlayerMessage) {
|
if (sendPlayerMessage) {
|
||||||
sender.sendMessage(plugin.tex.colour(plugin.tag
|
sender.sendMessage(plugin.tex.colour(plugin.tag
|
||||||
+ ChatColor.GREEN + "Removed "
|
+ ChatColor.GREEN + "Removed "
|
||||||
@ -71,7 +71,7 @@ public class Commandpanelsdata implements CommandExecutor {
|
|||||||
//for the get command
|
//for the get command
|
||||||
sender.sendMessage(plugin.tex.colour(plugin.tag
|
sender.sendMessage(plugin.tex.colour(plugin.tag
|
||||||
+ ChatColor.GREEN + "Value of data is "
|
+ ChatColor.GREEN + "Value of data is "
|
||||||
+ ChatColor.WHITE + plugin.panelData.getUserData(plugin.panelData.getOffline(args[1]), args[2])));
|
+ ChatColor.WHITE + plugin.panelData.getUserData(plugin.panelDataPlayers.getOffline(args[1]), args[2])));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (args.length == 4) {
|
} else if (args.length == 4) {
|
||||||
@ -80,11 +80,11 @@ public class Commandpanelsdata implements CommandExecutor {
|
|||||||
if (args[1].equalsIgnoreCase("all") || args[1].equalsIgnoreCase("online")) {
|
if (args[1].equalsIgnoreCase("all") || args[1].equalsIgnoreCase("online")) {
|
||||||
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
||||||
if (args[1].equalsIgnoreCase("online") && !player.isOnline()) continue;
|
if (args[1].equalsIgnoreCase("online") && !player.isOnline()) continue;
|
||||||
plugin.panelData.setUserData(plugin.panelData.getOffline(player.getName()), args[2], args[3], true);
|
plugin.panelData.setUserData(plugin.panelDataPlayers.getOffline(player.getName()), args[2], args[3], true);
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2], args[3], true);
|
plugin.panelData.setUserData(plugin.panelDataPlayers.getOffline(args[1]), args[2], args[3], true);
|
||||||
}
|
}
|
||||||
if (sendPlayerMessage) {
|
if (sendPlayerMessage) {
|
||||||
sender.sendMessage(plugin.tex.colour(plugin.tag
|
sender.sendMessage(plugin.tex.colour(plugin.tag
|
||||||
@ -101,11 +101,11 @@ public class Commandpanelsdata implements CommandExecutor {
|
|||||||
|
|
||||||
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
||||||
if (args[1].equalsIgnoreCase("online") && !player.isOnline()) continue;
|
if (args[1].equalsIgnoreCase("online") && !player.isOnline()) continue;
|
||||||
plugin.panelData.setUserData(plugin.panelData.getOffline(player.getName()), args[2], args[3], false);
|
plugin.panelData.setUserData(plugin.panelDataPlayers.getOffline(player.getName()), args[2], args[3], false);
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2], args[3], false);
|
plugin.panelData.setUserData(plugin.panelDataPlayers.getOffline(args[1]), args[2], args[3], false);
|
||||||
if (sendPlayerMessage) {
|
if (sendPlayerMessage) {
|
||||||
sender.sendMessage(plugin.tex.colour(plugin.tag
|
sender.sendMessage(plugin.tex.colour(plugin.tag
|
||||||
+ ChatColor.GREEN + "Set "
|
+ ChatColor.GREEN + "Set "
|
||||||
|
@ -8,11 +8,8 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -40,6 +37,9 @@ public class Commandpanelsreload implements CommandExecutor {
|
|||||||
plugin.config = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder() + File.separator + "config.yml"));
|
plugin.config = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder() + File.separator + "config.yml"));
|
||||||
plugin.blockConfig = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder() + File.separator + "blocks.yml"));
|
plugin.blockConfig = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder() + File.separator + "blocks.yml"));
|
||||||
|
|
||||||
|
//load all known player UUIDs for data
|
||||||
|
plugin.panelDataPlayers.reloadAllPlayers();
|
||||||
|
|
||||||
//check for duplicates
|
//check for duplicates
|
||||||
plugin.checkDuplicatePanel(sender);
|
plugin.checkDuplicatePanel(sender);
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ public class DataTags implements Listener {
|
|||||||
if(e.name.equalsIgnoreCase("set-data=")){
|
if(e.name.equalsIgnoreCase("set-data=")){
|
||||||
e.commandTagUsed();
|
e.commandTagUsed();
|
||||||
if(e.args.length == 3){
|
if(e.args.length == 3){
|
||||||
plugin.panelData.setUserData(plugin.panelData.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[2])),
|
plugin.panelData.setUserData(plugin.panelDataPlayers.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[2])),
|
||||||
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0]),
|
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0]),
|
||||||
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]),true);
|
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]),true);
|
||||||
return;
|
return;
|
||||||
@ -30,7 +30,7 @@ public class DataTags implements Listener {
|
|||||||
if(e.name.equalsIgnoreCase("add-data=")){
|
if(e.name.equalsIgnoreCase("add-data=")){
|
||||||
e.commandTagUsed();
|
e.commandTagUsed();
|
||||||
if(e.args.length == 3){
|
if(e.args.length == 3){
|
||||||
plugin.panelData.setUserData(plugin.panelData.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[2])),
|
plugin.panelData.setUserData(plugin.panelDataPlayers.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[2])),
|
||||||
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0]),
|
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0]),
|
||||||
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]),false);
|
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]),false);
|
||||||
return;
|
return;
|
||||||
@ -44,7 +44,7 @@ public class DataTags implements Listener {
|
|||||||
if(e.name.equalsIgnoreCase("math-data=")){
|
if(e.name.equalsIgnoreCase("math-data=")){
|
||||||
e.commandTagUsed();
|
e.commandTagUsed();
|
||||||
if(e.args.length == 3){
|
if(e.args.length == 3){
|
||||||
plugin.panelData.doDataMath(plugin.panelData.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[2])),
|
plugin.panelData.doDataMath(plugin.panelDataPlayers.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[2])),
|
||||||
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0]),
|
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0]),
|
||||||
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]));
|
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1]));
|
||||||
return;
|
return;
|
||||||
@ -58,13 +58,13 @@ public class DataTags implements Listener {
|
|||||||
if(e.name.equalsIgnoreCase("clear-data=")){
|
if(e.name.equalsIgnoreCase("clear-data=")){
|
||||||
e.commandTagUsed();
|
e.commandTagUsed();
|
||||||
//will clear all data for player clear-data= [playerName]
|
//will clear all data for player clear-data= [playerName]
|
||||||
plugin.panelData.clearData(plugin.panelData.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0])));
|
plugin.panelData.clearData(plugin.panelDataPlayers.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0])));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(e.name.equalsIgnoreCase("del-data=")){
|
if(e.name.equalsIgnoreCase("del-data=")){
|
||||||
e.commandTagUsed();
|
e.commandTagUsed();
|
||||||
if(e.args.length == 2){
|
if(e.args.length == 2){
|
||||||
plugin.panelData.delUserData(plugin.panelData.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1])),
|
plugin.panelData.delUserData(plugin.panelDataPlayers.getOffline(plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[1])),
|
||||||
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0]));
|
plugin.tex.placeholdersNoColour(e.panel,e.pos,e.p,e.args[0]));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -137,12 +137,8 @@ public class BasicTags implements Listener {
|
|||||||
}
|
}
|
||||||
if(e.name.equalsIgnoreCase("minimessage=")){
|
if(e.name.equalsIgnoreCase("minimessage=")){
|
||||||
e.commandTagUsed();
|
e.commandTagUsed();
|
||||||
//get checks
|
|
||||||
boolean isVersionCompatible = plugin.legacy.MAJOR_VERSION.greaterThanOrEqualTo(MinecraftVersions.v1_18);
|
|
||||||
boolean isPaper = Bukkit.getServer().getVersion().contains("Paper");
|
|
||||||
boolean allowUnsafeMiniMessage = plugin.config.getBoolean("config.allow-unsafe-mini-message");
|
|
||||||
//do mini message if conditions are met
|
//do mini message if conditions are met
|
||||||
if (isVersionCompatible && (isPaper || allowUnsafeMiniMessage)) {
|
if (plugin.legacy.MAJOR_VERSION.greaterThanOrEqualTo(MinecraftVersions.v1_18)) {
|
||||||
Audience player = (Audience) e.p; // Needed because the basic Player from the Event can't send Paper's Components
|
Audience player = (Audience) e.p; // Needed because the basic Player from the Event can't send Paper's Components
|
||||||
Component parsedText = SerializerUtils.serializeText(String.join(" ", e.args));
|
Component parsedText = SerializerUtils.serializeText(String.join(" ", e.args));
|
||||||
player.sendMessage(parsedText);
|
player.sendMessage(parsedText);
|
||||||
|
@ -6,7 +6,6 @@ import org.bukkit.OfflinePlayer;
|
|||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.TabCompleter;
|
import org.bukkit.command.TabCompleter;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@ -47,13 +46,13 @@ public class DataTabComplete implements TabCompleter {
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
if (!args[1].equalsIgnoreCase("all") && !args[1].equalsIgnoreCase("online"))
|
if (!args[1].equalsIgnoreCase("all") && !args[1].equalsIgnoreCase("online"))
|
||||||
return new ArrayList<>(plugin.panelData.dataConfig.getConfigurationSection("playerData." + plugin.panelData.getOffline(args[1])).getKeys(false));
|
return new ArrayList<>(plugin.panelData.dataConfig.getConfigurationSection("playerData." + plugin.panelDataPlayers.getOffline(args[1])).getKeys(false));
|
||||||
|
|
||||||
else {
|
else {
|
||||||
Set<String> set = new HashSet<>();
|
Set<String> set = new HashSet<>();
|
||||||
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
||||||
if (!player.isOnline()&&args[1].equalsIgnoreCase("online")) continue;
|
if (!player.isOnline()&&args[1].equalsIgnoreCase("online")) continue;
|
||||||
set.addAll(plugin.panelData.dataConfig.getConfigurationSection("playerData." + plugin.panelData.getOffline(player.getName())).getKeys(false));
|
set.addAll(plugin.panelData.dataConfig.getConfigurationSection("playerData." + plugin.panelDataPlayers.getOffline(player.getName())).getKeys(false));
|
||||||
|
|
||||||
}
|
}
|
||||||
String[] finalArgs = args;
|
String[] finalArgs = args;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package me.rockyhawk.commandpanels.datamanager;
|
package me.rockyhawk.commandpanels.datamanager;
|
||||||
|
|
||||||
import me.rockyhawk.commandpanels.CommandPanels;
|
import me.rockyhawk.commandpanels.CommandPanels;
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -96,10 +95,4 @@ public class PanelDataLoader {
|
|||||||
|
|
||||||
dataConfig.set("playerData." + playerUUID + "." + dataPoint, output.toPlainString());
|
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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,40 @@
|
|||||||
|
package me.rockyhawk.commandpanels.datamanager;
|
||||||
|
|
||||||
|
import me.rockyhawk.commandpanels.CommandPanels;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class PanelDataPlayerManager implements Listener {
|
||||||
|
private CommandPanels plugin;
|
||||||
|
|
||||||
|
public PanelDataPlayerManager(CommandPanels pl) {
|
||||||
|
this.plugin = pl;
|
||||||
|
}
|
||||||
|
|
||||||
|
//will return UUID if found or null
|
||||||
|
public UUID getOffline(String playerName){
|
||||||
|
return knownPlayers.getOrDefault(playerName, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Bukkit.getOfflinePlayer uses MojangAPI and can be very slow if a player has never joined the server before
|
||||||
|
//Will get all players who have ever joined the server before and use them
|
||||||
|
private HashMap<String, UUID> knownPlayers = new HashMap<>();
|
||||||
|
public void reloadAllPlayers(){
|
||||||
|
knownPlayers.clear();
|
||||||
|
for(OfflinePlayer p : Bukkit.getOfflinePlayers()){
|
||||||
|
knownPlayers.put(p.getName(), p.getUniqueId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Add players who have joined the server to known players
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerJoin(PlayerJoinEvent e) {
|
||||||
|
knownPlayers.put(e.getPlayer().getName(), e.getPlayer().getUniqueId());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user