diff --git a/src/main/java/com/alttd/altitudequests/AQuests.java b/src/main/java/com/alttd/altitudequests/AQuest.java similarity index 90% rename from src/main/java/com/alttd/altitudequests/AQuests.java rename to src/main/java/com/alttd/altitudequests/AQuest.java index 4d7f086..ed37698 100644 --- a/src/main/java/com/alttd/altitudequests/AQuests.java +++ b/src/main/java/com/alttd/altitudequests/AQuest.java @@ -9,11 +9,11 @@ import com.alttd.altitudequests.events.TalkToQuest; import com.alttd.altitudequests.util.Logger; import org.bukkit.plugin.java.JavaPlugin; -public final class AQuests extends JavaPlugin { +public final class AQuest extends JavaPlugin { - public static AQuests instance; + public static AQuest instance; - public static AQuests getInstance() { + public static AQuest getInstance() { return instance; } diff --git a/src/main/java/com/alttd/altitudequests/commands/CommandManager.java b/src/main/java/com/alttd/altitudequests/commands/CommandManager.java index 0aac4b2..5c29fc7 100644 --- a/src/main/java/com/alttd/altitudequests/commands/CommandManager.java +++ b/src/main/java/com/alttd/altitudequests/commands/CommandManager.java @@ -1,6 +1,6 @@ package com.alttd.altitudequests.commands; -import com.alttd.altitudequests.AQuests; +import com.alttd.altitudequests.AQuest; import com.alttd.altitudequests.commands.subcommands.CommandCreateScruff; import com.alttd.altitudequests.commands.subcommands.CommandHelp; import com.alttd.altitudequests.commands.subcommands.CommandReload; @@ -19,9 +19,9 @@ public class CommandManager implements CommandExecutor, TabExecutor { private final List subCommands; public CommandManager() { - AQuests aQuests = AQuests.getInstance(); + AQuest aQuest = AQuest.getInstance(); - PluginCommand command = aQuests.getCommand("aquest"); + PluginCommand command = aQuest.getCommand("aquest"); if (command == null) { subCommands = null; Logger.severe("Unable to find AltitudeQuests command."); diff --git a/src/main/java/com/alttd/altitudequests/commands/SubCommand.java b/src/main/java/com/alttd/altitudequests/commands/SubCommand.java index 5fd0459..4cae5a6 100644 --- a/src/main/java/com/alttd/altitudequests/commands/SubCommand.java +++ b/src/main/java/com/alttd/altitudequests/commands/SubCommand.java @@ -18,7 +18,7 @@ public abstract class SubCommand { public abstract String getName(); public String getPermission() { - return "aquests." + getName(); + return "aquest." + getName(); } public abstract List getTabComplete(CommandSender commandSender, String[] args); diff --git a/src/main/java/com/alttd/altitudequests/commands/subcommands/CommandCreateScruff.java b/src/main/java/com/alttd/altitudequests/commands/subcommands/CommandCreateScruff.java index e9a516d..d6a560e 100644 --- a/src/main/java/com/alttd/altitudequests/commands/subcommands/CommandCreateScruff.java +++ b/src/main/java/com/alttd/altitudequests/commands/subcommands/CommandCreateScruff.java @@ -22,20 +22,20 @@ public class CommandCreateScruff extends SubCommand { @Override public boolean onCommand(CommandSender commandSender, String[] args) { - if (args.length != 8) { + if (args.length != 7) { commandSender.sendMiniMessage(getHelpMessage(), null); return true; } - World world = Bukkit.getServer().getWorld(args[7]); + World world = Bukkit.getServer().getWorld(args[6]); if (world == null) { commandSender.sendMiniMessage(getHelpMessage(), null); return true; } Location location; try { - location = new Location(world, Double.parseDouble(args[2]), Double.parseDouble(args[3]), Double.parseDouble(args[4]), - Float.parseFloat(args[5]), Float.parseFloat(args[6])); + location = new Location(world, Double.parseDouble(args[1]), Double.parseDouble(args[2]), Double.parseDouble(args[3]), + Float.parseFloat(args[4]), Float.parseFloat(args[5])); } catch (NumberFormatException exception) { commandSender.sendMiniMessage("Invalid arguments.", null); return true; @@ -48,11 +48,13 @@ public class CommandCreateScruff extends SubCommand { wolf.setAI(false); wolf.setCollarColor(DyeColor.MAGENTA); wolf.setCustomNameVisible(true); - wolf.customName(getMiniMessage().deserialize("Scruff")); + wolf.customName(getMiniMessage().deserialize("Scruff")); + wolf.setSitting(true); UUID uuid = wolf.getUniqueId(); LocalConfig.setActiveNPC(uuid); + commandSender.sendMiniMessage("Spawned Scruff", null); return true; } diff --git a/src/main/java/com/alttd/altitudequests/config/AbstractConfig.java b/src/main/java/com/alttd/altitudequests/config/AbstractConfig.java index 82d160b..bfbfb54 100644 --- a/src/main/java/com/alttd/altitudequests/config/AbstractConfig.java +++ b/src/main/java/com/alttd/altitudequests/config/AbstractConfig.java @@ -1,6 +1,6 @@ package com.alttd.altitudequests.config; -import com.alttd.altitudequests.AQuests; +import com.alttd.altitudequests.AQuest; import com.alttd.altitudequests.util.Logger; import com.google.common.collect.ImmutableMap; import org.bukkit.configuration.ConfigurationSection; @@ -24,7 +24,7 @@ abstract class AbstractConfig { YamlConfiguration yaml; AbstractConfig(String filename) { - init(new File(AQuests.getInstance().getDataFolder(), filename), filename); + init(new File(AQuest.getInstance().getDataFolder(), filename), filename); } AbstractConfig(File file, String filename) { diff --git a/src/main/java/com/alttd/altitudequests/database/Database.java b/src/main/java/com/alttd/altitudequests/database/Database.java index b9a2274..7440689 100644 --- a/src/main/java/com/alttd/altitudequests/database/Database.java +++ b/src/main/java/com/alttd/altitudequests/database/Database.java @@ -1,6 +1,6 @@ package com.alttd.altitudequests.database; -import com.alttd.altitudequests.AQuests; +import com.alttd.altitudequests.AQuest; import com.alttd.altitudequests.config.DatabaseConfig; import com.alttd.altitudequests.util.Logger; import org.bukkit.Bukkit; @@ -75,7 +75,7 @@ public class Database { e.printStackTrace(); Logger.severe("Error while trying to create user point table"); Logger.severe("Shutting down AltitudeQuests"); - Bukkit.getPluginManager().disablePlugin(AQuests.getInstance()); + Bukkit.getPluginManager().disablePlugin(AQuest.getInstance()); } } diff --git a/src/main/java/com/alttd/altitudequests/events/QuestComplete.java b/src/main/java/com/alttd/altitudequests/events/QuestComplete.java index e5e0066..6fbac5a 100644 --- a/src/main/java/com/alttd/altitudequests/events/QuestComplete.java +++ b/src/main/java/com/alttd/altitudequests/events/QuestComplete.java @@ -9,7 +9,7 @@ public class QuestComplete implements Listener { @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR) public void onQuestComplete(QuestCompleteEvent event) { - event.getPlayer().sendMiniMessage("You completed a quest gj.", null); + event.getPlayer().sendMiniMessage("You completed a quest gj. - DEBUG", null); } } diff --git a/src/main/java/com/alttd/altitudequests/events/TalkToQuest.java b/src/main/java/com/alttd/altitudequests/events/TalkToQuest.java index 6dc486a..02b3fce 100644 --- a/src/main/java/com/alttd/altitudequests/events/TalkToQuest.java +++ b/src/main/java/com/alttd/altitudequests/events/TalkToQuest.java @@ -1,6 +1,6 @@ package com.alttd.altitudequests.events; -import com.alttd.altitudequests.AQuests; +import com.alttd.altitudequests.AQuest; import com.alttd.altitudequests.config.Config; import com.alttd.altitudequests.config.LocalConfig; import net.kyori.adventure.inventory.Book; @@ -14,24 +14,34 @@ import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.scheduler.BukkitRunnable; +import java.util.HashSet; import java.util.List; +import java.util.Set; +import java.util.UUID; import java.util.stream.Collectors; public class TalkToQuest implements Listener { private static final MiniMessage miniMessage = MiniMessage.miniMessage(); + private static final Set tmp = new HashSet<>(); + @EventHandler(priority = EventPriority.HIGH) public void onEntityInteract(PlayerInteractEntityEvent event) { if (LocalConfig.activeNPC == null || !LocalConfig.activeNPC.equals(event.getRightClicked().getUniqueId())) return; event.setCancelled(true); + if (!tmp.remove(event.getPlayer().getUniqueId())) { + tmp.add(event.getPlayer().getUniqueId()); + return; + } + event.getPlayer().sendMiniMessage("Interacted with scruff - DEBUG", null); new BukkitRunnable() { @Override public void run() { event.getPlayer().openBook(getBook(event)); } - }.runTaskTimerAsynchronously(AQuests.getInstance(), 0, 0); + }.runTaskTimerAsynchronously(AQuest.getInstance(), 0, 0); //TODO make it so there can be one book config per quest //TODO make it so everything can be done with commands and just don't let them tab complete and do them through the book instead //TODO in config allow a multitude of events to be prepared and randomly select from them at certain times of day? diff --git a/src/main/java/com/alttd/altitudequests/util/Logger.java b/src/main/java/com/alttd/altitudequests/util/Logger.java index 5350443..2c8a3a7 100644 --- a/src/main/java/com/alttd/altitudequests/util/Logger.java +++ b/src/main/java/com/alttd/altitudequests/util/Logger.java @@ -1,13 +1,13 @@ package com.alttd.altitudequests.util; -import com.alttd.altitudequests.AQuests; +import com.alttd.altitudequests.AQuest; public class Logger { static private final java.util.logging.Logger logger; static { - logger = AQuests.getInstance().getLogger(); + logger = AQuest.getInstance().getLogger(); } public static void info(String info, String... variables) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index cf45ce8..08b5d84 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: AQuests version: '${version}' -main: com.alttd.altitudequests.AQuests +main: com.alttd.altitudequests.AQuest api-version: 1.18 authors: [ Teriuihi ] description: A plugin to run quests on a server