forked from Upstream/CommandPanels
3.3.0 Updates
This commit is contained in:
parent
60f13a9d9c
commit
665bc5cb75
@ -1,4 +1,4 @@
|
||||
version: 3.2.3
|
||||
version: 3.3.0
|
||||
main: me.rockyhawk.commandPanels.commandpanels
|
||||
name: CommandPanels
|
||||
author: RockyHawk
|
||||
@ -12,12 +12,16 @@ commands:
|
||||
aliases: [cp, cpanel]
|
||||
commandpanelreload:
|
||||
description: Reloads plugin config.
|
||||
usage: /commandpanelsreload
|
||||
usage: /commandpanelreload
|
||||
aliases: [cpr, cpanelr]
|
||||
commandpaneldebug:
|
||||
description: Enable and Disable debug mode globally
|
||||
usage: /commandpanelsdebug
|
||||
usage: /commandpaneldebug
|
||||
aliases: [cpd, cpaneld]
|
||||
commandpanelblock:
|
||||
description: Add or remove panels from blocks being looked at.
|
||||
usage: /commandpanelblock
|
||||
aliases: [cpb, cpanelb]
|
||||
commandpanelclose:
|
||||
description: Close current GUI.
|
||||
usage: /commandpanelclose
|
||||
@ -51,6 +55,12 @@ permissions:
|
||||
default: op
|
||||
commandpanel.debug:
|
||||
default: op
|
||||
commandpanel.block.add:
|
||||
default: op
|
||||
commandpanel.block.remove:
|
||||
default: op
|
||||
commandpanel.block.list:
|
||||
default: op
|
||||
commandpanel.generate:
|
||||
default: op
|
||||
commandpanel.version:
|
||||
|
@ -25,6 +25,9 @@ import me.rockyhawk.commandPanels.ingameEditor.cpIngameEditCommand;
|
||||
import me.rockyhawk.commandPanels.ingameEditor.cpTabCompleteIngame;
|
||||
import me.rockyhawk.commandPanels.ingameEditor.editorUserInput;
|
||||
import me.rockyhawk.commandPanels.ingameEditor.editorUtils;
|
||||
import me.rockyhawk.commandPanels.panelBlocks.blocksTabComplete;
|
||||
import me.rockyhawk.commandPanels.panelBlocks.commandpanelblocks;
|
||||
import me.rockyhawk.commandPanels.panelBlocks.panelBlockOnClick;
|
||||
import me.rockyhawk.commandPanels.premium.commandpanelUserInput;
|
||||
import me.rockyhawk.commandPanels.premium.commandpanelrefresher;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
@ -57,9 +60,11 @@ public class commandpanels extends JavaPlugin {
|
||||
public ArrayList<String> panelFiles = new ArrayList<String>(); //names of all the files in the panels folder including extension
|
||||
public ArrayList<String[]> panelNames = new ArrayList<String[]>(); //this will return something like {"mainMenuPanel","4"} which means the 4 is for panelFiles.get(4). So you know which file it is for
|
||||
public File panelsf;
|
||||
public YamlConfiguration blockConfig; //where panel block locations are stored
|
||||
|
||||
public commandpanels() {
|
||||
this.panelsf = new File(this.getDataFolder() + File.separator + "panels");
|
||||
this.blockConfig = YamlConfiguration.loadConfiguration(new File(getDataFolder() + File.separator + "blocks.yml"));
|
||||
}
|
||||
|
||||
public void onEnable() {
|
||||
@ -70,6 +75,7 @@ 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("commandpanelblock")).setTabCompleter(new blocksTabComplete(this));
|
||||
Objects.requireNonNull(this.getCommand("commandpanelgenerate")).setTabCompleter(new tabCompleteGenerate(this));
|
||||
Objects.requireNonNull(this.getCommand("commandpaneledit")).setTabCompleter(new cpTabCompleteIngame(this));
|
||||
Objects.requireNonNull(this.getCommand("commandpanelgenerate")).setExecutor(new commandpanelsgenerate(this));
|
||||
@ -79,6 +85,7 @@ public class commandpanels extends JavaPlugin {
|
||||
Objects.requireNonNull(this.getCommand("commandpanelversion")).setExecutor(new commandpanelversion(this));
|
||||
Objects.requireNonNull(this.getCommand("commandpanellist")).setExecutor(new commandpanelslist(this));
|
||||
Objects.requireNonNull(this.getCommand("commandpaneledit")).setExecutor(new cpIngameEditCommand(this));
|
||||
Objects.requireNonNull(this.getCommand("commandpanelblock")).setExecutor(new commandpanelblocks(this));
|
||||
this.getServer().getPluginManager().registerEvents(new utils(this), this);
|
||||
this.getServer().getPluginManager().registerEvents(new editorUtils(this), this);
|
||||
this.getServer().getPluginManager().registerEvents(new newGenUtils(this), this);
|
||||
@ -86,8 +93,10 @@ public class commandpanels extends JavaPlugin {
|
||||
this.getServer().getPluginManager().registerEvents(new commandpanelUserInput(this), this);
|
||||
this.getServer().getPluginManager().registerEvents(new editorUserInput(this), this);
|
||||
this.getServer().getPluginManager().registerEvents(new commandpanelrefresher(this), this);
|
||||
this.getServer().getPluginManager().registerEvents(new panelBlockOnClick(this), this);
|
||||
this.config.addDefault("config.version", "3.0");
|
||||
this.config.addDefault("config.refresh-panels", "true");
|
||||
this.config.addDefault("config.panel-blocks", "true");
|
||||
this.config.addDefault("config.refresh-delay", "4");
|
||||
this.config.addDefault("config.stop-sound", "true");
|
||||
this.config.addDefault("config.disabled-world-message", "true");
|
||||
@ -110,7 +119,6 @@ public class commandpanels extends JavaPlugin {
|
||||
this.config.addDefault("config.format.needitems", "&cInsufficient Items!");
|
||||
this.config.addDefault("config.format.bought", "&aSuccessfully Bought For $%cp-args%");
|
||||
this.config.addDefault("config.format.sold", "&aSuccessfully Sold For $%cp-args%");
|
||||
this.config.addDefault("config.format.signtag", "[CommandPanel]");
|
||||
this.config.addDefault("config.format.tag", "&6[&bCommandPanels&6]");
|
||||
this.config.addDefault("config.format.offline", "Offline");
|
||||
this.config.addDefault("config.format.offlineHeadValue", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmU1Mjg2YzQ3MGY2NmZmYTFhMTgzMzFjYmZmYjlhM2MyYTQ0MjRhOGM3MjU5YzQ0MzZmZDJlMzU1ODJhNTIyIn19fQ==");
|
||||
@ -1171,6 +1179,15 @@ public class commandpanels extends JavaPlugin {
|
||||
if (p.hasPermission("commandpanel.debug")) {
|
||||
p.sendMessage(ChatColor.GOLD + "/cpd " + ChatColor.WHITE + "Enable and Disable debug mode globally.");
|
||||
}
|
||||
if (p.hasPermission("commandpanel.block.add")) {
|
||||
p.sendMessage(ChatColor.GOLD + "/cpb add <panel> " + ChatColor.WHITE + "Add panel to a block being looked at.");
|
||||
}
|
||||
if (p.hasPermission("commandpanel.block.remove")) {
|
||||
p.sendMessage(ChatColor.GOLD + "/cpb remove " + ChatColor.WHITE + "Removes any panel assigned to a block looked at.");
|
||||
}
|
||||
if (p.hasPermission("commandpanel.block.list")) {
|
||||
p.sendMessage(ChatColor.GOLD + "/cpb list " + ChatColor.WHITE + "List blocks that will open panels.");
|
||||
}
|
||||
}
|
||||
|
||||
public final Map<String, Color> colourCodes = new HashMap<String, Color>() {{
|
||||
|
@ -14,7 +14,7 @@ public class commandpanelsdebug implements CommandExecutor {
|
||||
@EventHandler
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
String tag = plugin.config.getString("config.format.tag") + " ";
|
||||
if (label.equalsIgnoreCase("cpd") || label.equalsIgnoreCase("commandpanelsdebug") || label.equalsIgnoreCase("cpaneld")) {
|
||||
if (label.equalsIgnoreCase("cpd") || label.equalsIgnoreCase("commandpaneldebug") || label.equalsIgnoreCase("cpaneld")) {
|
||||
if (sender.hasPermission("commandpanel.debug")) {
|
||||
if (args.length == 0) {
|
||||
//command /cpd
|
||||
|
@ -17,7 +17,7 @@ public class commandpanelsreload implements CommandExecutor {
|
||||
@EventHandler
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
String tag = plugin.config.getString("config.format.tag") + " ";
|
||||
if (label.equalsIgnoreCase("cpr") || label.equalsIgnoreCase("commandpanelsreload") || label.equalsIgnoreCase("cpanelr")) {
|
||||
if (label.equalsIgnoreCase("cpr") || label.equalsIgnoreCase("commandpanelreload") || label.equalsIgnoreCase("cpanelr")) {
|
||||
if (sender.hasPermission("commandpanel.reload")) {
|
||||
plugin.config = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder() + File.separator + "config.yml"));
|
||||
plugin.reloadPanelFiles();
|
||||
|
@ -312,7 +312,7 @@ public class editorUserInput implements Listener {
|
||||
savePanelFile(cf, panelFile);
|
||||
p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new Potion to " + e.getMessage().toUpperCase()));
|
||||
break;
|
||||
case "panel.customdata":
|
||||
case "customdata":
|
||||
if(e.getMessage().trim().equalsIgnoreCase("remove")){
|
||||
cf.set("panels." + panelName + ".item." + itemSlot + ".customdata", null);
|
||||
savePanelFile(cf, panelFile);
|
||||
|
@ -0,0 +1,79 @@
|
||||
package me.rockyhawk.commandPanels.panelBlocks;
|
||||
|
||||
import me.rockyhawk.commandPanels.commandpanels;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
public class blocksTabComplete implements TabCompleter {
|
||||
commandpanels plugin;
|
||||
public blocksTabComplete(commandpanels pl) { this.plugin = pl; }
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
if(sender instanceof Player){
|
||||
Player p = ((Player) sender).getPlayer();
|
||||
if(label.equalsIgnoreCase("cpb") || label.equalsIgnoreCase("cpanelb") || label.equalsIgnoreCase("commandpanelblock")){
|
||||
if(args.length == 2) {
|
||||
if(args[0].equals("add") && p.hasPermission("commandpanel.block.add")) {
|
||||
ArrayList<String> apanels = new ArrayList<String>(); //all panels
|
||||
String tpanels; //tpanels is the temp to check through the files
|
||||
try {
|
||||
for (String fileName : plugin.panelFiles) { //will loop through all the files in folder
|
||||
YamlConfiguration temp = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + fileName));
|
||||
String key;
|
||||
tpanels = "";
|
||||
if (!plugin.checkPanels(temp)) {
|
||||
return null;
|
||||
}
|
||||
for (Iterator var10 = Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false).iterator(); var10.hasNext(); tpanels = tpanels + key + " ") {
|
||||
key = (String) var10.next();
|
||||
if (!key.startsWith(args[1])) {
|
||||
//this will narrow down the panels to what the user types
|
||||
continue;
|
||||
}
|
||||
if (sender.hasPermission("commandpanel.panel." + temp.getString("panels." + key + ".perm"))) {
|
||||
if (temp.contains("panels." + key + ".disabled-worlds")) {
|
||||
List<String> disabledWorlds = (List<String>) temp.getList("panels." + key + ".disabled-worlds");
|
||||
if (!disabledWorlds.contains(p.getWorld().getName())) {
|
||||
apanels.add(key);
|
||||
}
|
||||
} else {
|
||||
apanels.add(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
//if file contains opened panel then start
|
||||
}
|
||||
} catch (Exception fail) {
|
||||
//could not fetch all panel names (probably no panels exist)
|
||||
}
|
||||
return apanels;
|
||||
}
|
||||
}
|
||||
if(args.length == 1){
|
||||
ArrayList<String> output = new ArrayList<String>();
|
||||
if (sender.hasPermission("commandpanel.block.add")){
|
||||
output.add("add");
|
||||
}
|
||||
if (sender.hasPermission("commandpanel.block.remove")){
|
||||
output.add("remove");
|
||||
}
|
||||
if (sender.hasPermission("commandpanel.block.list")){
|
||||
output.add("list");
|
||||
}
|
||||
return output;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,138 @@
|
||||
package me.rockyhawk.commandPanels.panelBlocks;
|
||||
|
||||
import me.rockyhawk.commandPanels.commandpanels;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Objects;
|
||||
|
||||
public class commandpanelblocks implements CommandExecutor {
|
||||
commandpanels plugin;
|
||||
public commandpanelblocks(commandpanels pl) { this.plugin = pl; }
|
||||
|
||||
@EventHandler
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
String tag = plugin.config.getString("config.format.tag") + " ";
|
||||
if (label.equalsIgnoreCase("cpb") || label.equalsIgnoreCase("commandpanelsblock") || label.equalsIgnoreCase("cpanelb")) {
|
||||
if(args.length == 2) {
|
||||
if (args[0].equalsIgnoreCase("add")) {
|
||||
if(!(sender instanceof Player)) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Please execute command as a Player!"));
|
||||
return true;
|
||||
}
|
||||
Player p = (Player)sender;
|
||||
if(p.hasPermission("commandpanel.block.add")){
|
||||
if(Objects.requireNonNull(plugin.config.getString("config.panel-blocks")).equalsIgnoreCase("false")){
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Panel blocks disabled in config!"));
|
||||
return true;
|
||||
}
|
||||
boolean foundPanel = false;
|
||||
for(String[] temp : plugin.panelNames){
|
||||
if(temp[0].equals(args[1])){
|
||||
foundPanel = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!foundPanel){
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
|
||||
return true;
|
||||
}
|
||||
Block blockType = p.getTargetBlock(null, 5);
|
||||
if(blockType.getType() == Material.AIR){
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Look at a block to add a panel!"));
|
||||
return true;
|
||||
}
|
||||
Location blockLocation = blockType.getLocation();
|
||||
String configValue = "blocks." + Objects.requireNonNull(blockLocation.getWorld()).getName() + "_" + blockLocation.getBlockX() + "_" + blockLocation.getBlockY() + "_" + blockLocation.getBlockZ() + ".panel";
|
||||
plugin.blockConfig.set(configValue, args[1]);
|
||||
try {
|
||||
plugin.blockConfig.save(new File(plugin.getDataFolder() + File.separator + "blocks.yml"));
|
||||
} catch (IOException e) {
|
||||
plugin.debug(e);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Could not save to file!"));
|
||||
return true;
|
||||
}
|
||||
//make the material name look okay
|
||||
String materialNameFormatted = blockType.getType().toString().substring(0, 1).toUpperCase() + blockType.getType().toString().substring(1).toLowerCase();
|
||||
materialNameFormatted = materialNameFormatted.replaceAll("_"," ");
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.WHITE + args[1] + ChatColor.GREEN + " will now open when right clicking " + ChatColor.WHITE + materialNameFormatted));
|
||||
return true;
|
||||
}else{
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(args.length == 1){
|
||||
if (args[0].equalsIgnoreCase("remove")) {
|
||||
if(!(sender instanceof Player)) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Please execute command as a Player!"));
|
||||
return true;
|
||||
}
|
||||
Player p = (Player)sender;
|
||||
if(p.hasPermission("commandpanel.block.remove")){
|
||||
if(Objects.requireNonNull(plugin.config.getString("config.panel-blocks")).equalsIgnoreCase("false")){
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Panel blocks disabled in config!"));
|
||||
return true;
|
||||
}
|
||||
Block blockType = p.getTargetBlock(null, 5);
|
||||
Location blockLocation = blockType.getLocation();
|
||||
String configValue = "blocks." + Objects.requireNonNull(blockLocation.getWorld()).getName() + "_" + blockLocation.getBlockX() + "_" + blockLocation.getBlockY() + "_" + blockLocation.getBlockZ() + ".panel";
|
||||
if(plugin.blockConfig.contains(configValue)){
|
||||
plugin.blockConfig.set(configValue.replace(".panel",""), null);
|
||||
try {
|
||||
plugin.blockConfig.save(new File(plugin.getDataFolder() + File.separator + "blocks.yml"));
|
||||
} catch (IOException e) {
|
||||
plugin.debug(e);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Could not save to file!"));
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Panel has been removed from block."));
|
||||
}else{
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
|
||||
}
|
||||
return true;
|
||||
}else{
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (args[0].equalsIgnoreCase("list")) {
|
||||
if(sender.hasPermission("commandpanel.block.list")){
|
||||
if(Objects.requireNonNull(plugin.config.getString("config.panel-blocks")).equalsIgnoreCase("false")){
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Panel blocks disabled in config!"));
|
||||
return true;
|
||||
}
|
||||
if(plugin.blockConfig.contains("blocks")){
|
||||
if(Objects.requireNonNull(plugin.blockConfig.getConfigurationSection("blocks")).getKeys(false).size() == 0){
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag) + ChatColor.RED + "No panel blocks found.");
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag) + ChatColor.DARK_AQUA + "Panel Block Locations:");
|
||||
for (String location : Objects.requireNonNull(plugin.blockConfig.getConfigurationSection("blocks")).getKeys(false)) {
|
||||
sender.sendMessage(ChatColor.GREEN + location.replaceAll("_"," ") + ": " + ChatColor.WHITE + plugin.blockConfig.getString("blocks." + location + ".panel"));
|
||||
}
|
||||
}else{
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag) + ChatColor.RED + "No panel blocks found.");
|
||||
}
|
||||
return true;
|
||||
}else{
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
plugin.helpMessage(sender);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package me.rockyhawk.commandPanels.panelBlocks;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import me.rockyhawk.commandPanels.commandpanels;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.Sign;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class panelBlockOnClick implements Listener {
|
||||
commandpanels plugin;
|
||||
public panelBlockOnClick(commandpanels pl) {
|
||||
this.plugin = pl;
|
||||
}
|
||||
@EventHandler
|
||||
public void onInteract(PlayerInteractEvent e){
|
||||
String tag = plugin.config.getString("config.format.tag") + " ";
|
||||
//if panel blocks are disabled return
|
||||
if(Objects.requireNonNull(plugin.config.getString("")).equalsIgnoreCase("false")){
|
||||
return;
|
||||
}
|
||||
if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||
Block block = e.getClickedBlock();
|
||||
Player p = e.getPlayer();
|
||||
assert block != null;
|
||||
if(plugin.blockConfig.contains("blocks")){
|
||||
if(Objects.requireNonNull(plugin.config.getString("config.panel-blocks")).equalsIgnoreCase("false")){
|
||||
return;
|
||||
}
|
||||
for (String configLocation : Objects.requireNonNull(plugin.blockConfig.getConfigurationSection("blocks")).getKeys(false)) {
|
||||
String[] loc = configLocation.split("_");
|
||||
Location tempLocation = new Location(plugin.getServer().getWorld(loc[0]),Double.parseDouble(loc[1]),Double.parseDouble(loc[2]),Double.parseDouble(loc[3]));
|
||||
if(tempLocation.equals(block.getLocation())){
|
||||
e.setCancelled(true);
|
||||
Bukkit.dispatchCommand(p, "commandpanels:commandpanel " + plugin.blockConfig.getString("blocks." + configLocation + ".panel"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -619,29 +619,6 @@ public class utils implements Listener {
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void onInteract(PlayerInteractEvent e){
|
||||
String tag = plugin.config.getString("config.format.tag") + " ";
|
||||
if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||
Block block = e.getClickedBlock();
|
||||
Player p = e.getPlayer();
|
||||
assert block != null;
|
||||
if (block.getType().toString().contains("SIGN")) {
|
||||
Sign sign = (Sign) block.getState();
|
||||
if (ChatColor.stripColor(sign.getLine(0).trim()).equalsIgnoreCase(ChatColor.stripColor(plugin.config.getString("config.format.signtag")))) {
|
||||
try {
|
||||
Bukkit.dispatchCommand(p, "commandpanels:commandpanel " + ChatColor.stripColor(sign.getLine(1)).trim());
|
||||
} catch (Exception n) {
|
||||
if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||
p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + PlaceholderAPI.setPlaceholders(p, plugin.config.getString("config.format.nopanel"))));
|
||||
} else {
|
||||
p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + plugin.config.getString("config.format.nopanel")));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void onInteractEntity(PlayerInteractEntityEvent e){
|
||||
//cancel everything if holding item (item frames eg)
|
||||
Player p = (Player)e.getPlayer();
|
||||
|
Loading…
Reference in New Issue
Block a user