3
0
Fork 0

Updates for PlaceHolderAPI and some changes to the SignManager

This commit is contained in:
BuildTools 2019-05-12 22:04:47 +02:00
parent a3a09d7e8f
commit bb654279da
6 changed files with 47 additions and 144 deletions

View file

@ -47,7 +47,7 @@ public class ThemeParkPlugin extends JavaPlugin {
StatusManager.load();
AttractionMenu.load();
if(Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
new ThemeParkPlaceholder(this).hook();
new ThemeParkPlaceholder(this).register();
}
}

View file

@ -50,12 +50,13 @@ public class SignManager {
for(Map.Entry<Attraction, ArrayList<StatusSign>> entry : signs.entrySet()) {
List<String> array = new ArrayList<>();
for(StatusSign sign : entry.getValue())
array.add(LocationUtils.toString(sign.getLocation()));
if(LocationUtils.toString(sign.getLocation()) != null)
array.add(LocationUtils.toString(sign.getLocation()));
config.getConfig().set("signs." + entry.getKey().getId(), new ArrayList<>());
config.getConfig().set("signs." + entry.getKey().getId(), array);
config.save();
}
config.save();
}
public static void addSign(StatusSign sign) {

View file

@ -1,32 +1,59 @@
package me.paradoxpixel.themepark.placeholder;
import me.paradoxpixel.themepark.ThemeParkPlugin;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import me.paradoxpixel.themepark.api.API;
import me.paradoxpixel.themepark.api.attraction.component.Status;
import me.paradoxpixel.themepark.attraction.status.StatusManager;
import me.paradoxpixel.themepark.utils.Utils;
import org.bukkit.entity.Player;
import me.clip.placeholderapi.external.EZPlaceholderHook;
import org.bukkit.OfflinePlayer;
import org.bukkit.plugin.Plugin;
public class ThemeParkPlaceholder extends EZPlaceholderHook {
public class ThemeParkPlaceholder extends PlaceholderExpansion {
public ThemeParkPlaceholder(ThemeParkPlugin plugin) {
super(plugin, "tp");
private Plugin plugin;
public ThemeParkPlaceholder(Plugin plugin){
this.plugin = plugin;
}
@Override
public String onPlaceholderRequest(Player player, String identifier) {
if(identifier == null)
return null;
public boolean persist(){
return true;
}
@Override
public boolean canRegister() {
return true;
}
@Override
public String getAuthor() {
return "ParadoxPixel";
}
@Override
public String getIdentifier() {
return "tp";
}
@Override
public String getVersion() {
return plugin.getDescription().getVersion();
}
@Override
public String onRequest(OfflinePlayer player, String identifier){
if(identifier == null || player == null)
return "";
if(identifier.startsWith("status")) {
String[] args = identifier.split(":");
if(args.length < 2)
return null;
return "";
String id = args[1];
if(!API.isAttraction(id))
return null;
return "";
Status status = API.getAttraction(id).getStatus();
return Utils.color(StatusManager.getName(status));
@ -35,17 +62,17 @@ public class ThemeParkPlaceholder extends EZPlaceholderHook {
if(identifier.startsWith("name")) {
String[] args = identifier.split(":");
if(args.length < 2)
return null;
return "";
String id = args[1];
if(!API.isAttraction(id))
return null;
return "";
String name = API.getAttraction(id).getName();
return Utils.color(name);
}
return null;
return "";
}
}