Fixes #12

Merged
stijnb1234 merged 1 commit from development into master 2023-04-09 12:17:05 +00:00
4 changed files with 11 additions and 9 deletions

View file

@ -34,10 +34,7 @@ public final class ShowControlPlugin extends JavaPlugin {
getLogger().info("Loading default triggers...");
ShowAPI.index(ShowControlPlugin.class, "nl.sbdeveloper.showcontrol.api.triggers.impl");
Bukkit.getScheduler().runTaskLater(this, () -> {
getLogger().info("Loading data...");
DataStorage.load();
}, 1L); //Load 1 tick later, because of multi world
Bukkit.getScheduler().runTaskLater(this, DataStorage::load, 1L); //Load 1 tick later, because of multi world
getLogger().info("Plugin enabled!");
getLogger().info("-------------------------------");

View file

@ -42,7 +42,7 @@ public class ShowAPI {
}
}
public static <T extends Trigger> T getTrigger(String data) throws ReflectiveOperationException, InvalidTriggerException, TooFewArgumentsException {
public static <T extends Trigger> T getTrigger(String data) throws ReflectiveOperationException, InvalidTriggerException, TooFewArgumentsException, IllegalArgumentException {
String[] dataSplitter = data.split(" ");
String[] dataSplitterNew = Arrays.copyOfRange(dataSplitter, 1, dataSplitter.length);
@ -52,6 +52,6 @@ public class ShowAPI {
Constructor<T> ctor = (Constructor<T>) triggers.get(triggerType).getConstructor(String[].class);
if (dataSplitter.length < triggers.get(triggerType).getAnnotation(TriggerIdentifier.class).minArgs() + 1) throw new TooFewArgumentsException("Provided triggerdata " + data + " has too few arguments!");
return ctor.newInstance(dataSplitterNew);
return ctor.newInstance(new Object[] { dataSplitterNew });
}
}

View file

@ -45,7 +45,7 @@ public class ShowCMD extends BaseCommand {
@Subcommand("add")
@Description("")
@CommandCompletion("@showname @empty @showtype")
@CommandCompletion("@showname @empty @showtype @empty")
public void onAdd(CommandSender sender, String name, String time, String args) {
if (!Shows.exists(name)) {
sender.sendMessage(ChatColor.RED + "That show doesn't exists.");
@ -73,6 +73,9 @@ public class ShowCMD extends BaseCommand {
} catch (TooFewArgumentsException e) {
sender.sendMessage(ChatColor.RED + "You did not provide enough information for the chosen trigger.");
return;
} catch (IllegalArgumentException e) {
sender.sendMessage(ChatColor.RED + "Couldn't create the trigger: " + e.getMessage());
return;
}
Shows.addPoint(name, timeMilli, data);

View file

@ -1,8 +1,8 @@
package nl.sbdeveloper.showcontrol.utils;
import nl.sbdeveloper.showcontrol.api.ShowCuePoint;
import nl.sbdeveloper.showcontrol.api.triggers.TriggerIdentifier;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.ChatPaginator;
@ -15,7 +15,9 @@ public class MainUtil {
}
public static ItemStack pointToItem(ShowCuePoint point) {
ItemBuilder builder = new ItemBuilder(Material.NOTE_BLOCK);
TriggerIdentifier identifier = point.getTask().getClass().getAnnotation(TriggerIdentifier.class);
ItemBuilder builder = new ItemBuilder(identifier.item());
builder.setName(ChatColor.ITALIC + "TimeCode: " + TimeUtil.makeReadable(point.getTime()));
List<String> lores = new ArrayList<>();