diff --git a/BetterRTPAddons/pom.xml b/BetterRTPAddons/pom.xml
index 5f2e0b7..4bea4a5 100644
--- a/BetterRTPAddons/pom.xml
+++ b/BetterRTPAddons/pom.xml
@@ -7,13 +7,19 @@
me.SuperRonanCraft
BetterRTPAddons
jar
- 1.4
+ 1.5
1.8
1.8
+
+
+ src/main/resources
+ true
+
+
${project.artifactId}-${project.version}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Addon.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Addon.java
index 6a321b1..4a43538 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Addon.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Addon.java
@@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTPAddons;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
public interface Addon {
@@ -13,6 +14,8 @@ public interface Addon {
//Unload the addon if enabled
void unload();
+ RTPCommand getCmd();
+
//Ability to grab a file
default Files.FILETYPE getFile(Files.FILETYPE filetype) {
return Main.getInstance().getFiles().getType(filetype);
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonMessages.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonMessages.java
new file mode 100644
index 0000000..27ce90a
--- /dev/null
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonMessages.java
@@ -0,0 +1,32 @@
+package me.SuperRonanCraft.BetterRTPAddons;
+
+import org.bukkit.command.CommandSender;
+
+public class AddonMessages implements AddonsMessages {
+ private static final String preM = "Addons.";
+
+ public String getBaseHelp() {
+ return getLang().getString("Help.Base.Help");
+ }
+
+ public String getBaseList() {
+ return getLang().getString("Help.Base.List");
+ }
+
+ public String getListPrefix() {
+ return getLang().getString(preM + "List.Prefix");
+ }
+
+
+ public String getListDisabled() {
+ return getLang().getString(preM + "List.Disabled");
+ }
+
+ public String getListEnabled() {
+ return getLang().getString(preM + "List.Enabled");
+ }
+
+ public String getHelp() {
+ return getLang().getString("Help.Addons");
+ }
+}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsCommand.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsCommand.java
index 9ab6ccd..1e3ef9e 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsCommand.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsCommand.java
@@ -1,21 +1,65 @@
package me.SuperRonanCraft.BetterRTPAddons;
+import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds.PortalsCommandsTabable;
+import me.SuperRonanCraft.BetterRTPAddons.cmds.AddonsCommand_Help;
+import me.SuperRonanCraft.BetterRTPAddons.cmds.AddonsCommand_List;
+import me.SuperRonanCraft.BetterRTPAddons.cmds.AddonsCommand_Version;
+import me.SuperRonanCraft.BetterRTPAddons.cmds.AddonsCommands;
import org.bukkit.command.CommandSender;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
+
+public class AddonsCommand implements RTPCommand, RTPCommandHelpable {
+
+ public enum AddonCmds {
+ LIST(new AddonsCommand_List()),
+ HELP(new AddonsCommand_Help()),
+ VERSION(new AddonsCommand_Version());
+
+ public AddonsCommands cmd;
+
+ AddonCmds(AddonsCommands cmd) {
+ this.cmd = cmd;
+ }
+ }
-public class AddonsCommand implements RTPCommand {
@Override
public void execute(CommandSender sendi, String label, String[] args) {
- for (AddonsHandler.Addons addon : Main.getInstance().getAddonsHandler().addons) {
- sendi.sendMessage(addon.name());
+ if (args.length == 2) {
+ for (AddonCmds cmds : AddonCmds.values()) {
+ if (cmds.name().equalsIgnoreCase(args[1])) {
+ cmds.cmd.execute(sendi, label, args);
+ return;
+ }
+ }
+ BetterRTP.getInstance().getText().getInvalid(sendi, label);
+ } else {
+ List list = new ArrayList<>();
+ list.add(BetterRTP.getInstance().getText().getHelpPrefix());
+ for (AddonsHandler.Addons addon : Main.getInstance().getAddonsHandler().addons) {
+ RTPCommand cmd = addon.getCmd();
+ if (cmd instanceof RTPCommandHelpable)
+ list.add(((RTPCommandHelpable) cmd).getHelp().replace("%command%", label));
+ }
+ list.add(((RTPCommandHelpable) AddonCmds.HELP.cmd).getHelp().replace("%command%", label));
+ Main.getInstance().msgs.sms(sendi, list);
}
}
@Override
public List tabComplete(CommandSender sendi, String[] args) {
- return null;
+ List list = new ArrayList<>();
+ if (args.length == 2)
+ for (AddonCmds cmds : AddonCmds.values()) {
+ if (cmds.name().toLowerCase().startsWith(args[1].toLowerCase()))
+ list.add(cmds.name().toLowerCase());
+ }
+ return list;
}
@Override
@@ -27,4 +71,9 @@ public class AddonsCommand implements RTPCommand {
public String getName() {
return "addons";
}
+
+ @Override
+ public String getHelp() {
+ return Main.getInstance().msgs.getHelp();
+ }
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsHandler.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsHandler.java
index cfc5147..3bfbaa9 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsHandler.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsHandler.java
@@ -1,21 +1,20 @@
package me.SuperRonanCraft.BetterRTPAddons;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTPAddons.addons.commands.AddonCommands;
import me.SuperRonanCraft.BetterRTPAddons.addons.extraEffects.AddonExtraEffects;
import me.SuperRonanCraft.BetterRTPAddons.addons.flashback.AddonFlashback;
-import me.SuperRonanCraft.BetterRTPAddons.addons.interfaces.AddonInterface;
import me.SuperRonanCraft.BetterRTPAddons.addons.logger.AddonLogger;
import me.SuperRonanCraft.BetterRTPAddons.addons.magicStick.AddonMagicStick;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
import java.util.ArrayList;
import java.util.List;
-import java.util.logging.Level;
public class AddonsHandler {
- List addons = new ArrayList<>();
+ public List addons = new ArrayList<>();
AddonsCommand cmd = new AddonsCommand();
public void load() {
@@ -37,7 +36,7 @@ public class AddonsHandler {
addons.clear();
}
- enum Addons {
+ public enum Addons {
LOGGER(new AddonLogger()), //Does this thing work?
FLASH_BACK(new AddonFlashback()), //Never get lost adventuring
PORTALS(new AddonPortals()), //Fancy walk-in portals
@@ -53,7 +52,7 @@ public class AddonsHandler {
this.addon = addon;
}
- boolean isEnabled() {
+ public boolean isEnabled() {
return addon.isEnabled();
}
@@ -65,6 +64,10 @@ public class AddonsHandler {
void disable() {
addon.unload();
}
+
+ RTPCommand getCmd() {
+ return addon.getCmd();
+ }
}
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java
index 8d985b6..5211086 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java
@@ -9,6 +9,7 @@ public class Main extends JavaPlugin {
private static Main instance;
private final AddonsHandler addonsHandler = new AddonsHandler();
private final Files files = new Files();
+ public final AddonMessages msgs = new AddonMessages();
@Override
public void onEnable() {
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/commands/AddonCommands.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/commands/AddonCommands.java
index 887d61f..bac2b98 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/commands/AddonCommands.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/commands/AddonCommands.java
@@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.commands;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
@@ -22,4 +23,9 @@ public class AddonCommands implements Addon {
public void unload() {
loader.unload();
}
+
+ @Override
+ public RTPCommand getCmd() {
+ return null;
+ }
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/extraEffects/AddonExtraEffects.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/extraEffects/AddonExtraEffects.java
index 126959b..8cf13c0 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/extraEffects/AddonExtraEffects.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/extraEffects/AddonExtraEffects.java
@@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.extraEffects;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
import org.bukkit.event.Listener;
@@ -34,6 +35,11 @@ public class AddonExtraEffects implements Addon {
this.effects.clear();
}
+ @Override
+ public RTPCommand getCmd() {
+ return null;
+ }
+
enum Effects {
SKYHIGH(new ExtraEffectsEffect_Skyhigh());
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/flashback/AddonFlashback.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/flashback/AddonFlashback.java
index 6795be3..f0cac0c 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/flashback/AddonFlashback.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/flashback/AddonFlashback.java
@@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
@@ -70,6 +71,11 @@ public class AddonFlashback implements Addon, Listener {
HandlerList.unregisterAll(this);
}
+ @Override
+ public RTPCommand getCmd() {
+ return null;
+ }
+
@EventHandler
void onTeleport(RTP_TeleportPostEvent e) { //Create a timer to teleport player back
if (e.getType() != RTP_TYPE.ADDON_PORTAL &&
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/interfaces/AddonInterface.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/interfaces/AddonInterface.java
index c06e11a..ff5b729 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/interfaces/AddonInterface.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/interfaces/AddonInterface.java
@@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.interfaces;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
@@ -21,4 +22,9 @@ public class AddonInterface implements Addon {
public void unload() {
}
+
+ @Override
+ public RTPCommand getCmd() {
+ return null;
+ }
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/logger/AddonLogger.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/logger/AddonLogger.java
index f496b9d..11d875e 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/logger/AddonLogger.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/logger/AddonLogger.java
@@ -1,10 +1,12 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.logger;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdReload;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
+import me.SuperRonanCraft.BetterRTPAddons.AddonsCommand;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
import me.SuperRonanCraft.BetterRTPAddons.Main;
import org.bukkit.Bukkit;
@@ -65,6 +67,11 @@ public class AddonLogger implements Addon, Listener {
Main.getInstance().getLogger().removeHandler(consoleHandler_main);
}
+ @Override
+ public RTPCommand getCmd() {
+ return null;
+ }
+
@EventHandler
public void onCmd(RTP_CommandEvent e) {
String _str = e.getSendi().getName() + " executed `/rtp " + e.getCmd().getName() + "` at " + getDate();
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/magicStick/AddonMagicStick.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/magicStick/AddonMagicStick.java
index 9f9528b..7224e6f 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/magicStick/AddonMagicStick.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/magicStick/AddonMagicStick.java
@@ -1,6 +1,7 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.magicStick;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
import me.SuperRonanCraft.BetterRTPAddons.Main;
import me.SuperRonanCraft.BetterRTPAddons.addons.magicStick.cmds.MagicStickCommand;
@@ -28,4 +29,9 @@ public class AddonMagicStick implements Addon {
public void unload() {
events.unload();
}
+
+ @Override
+ public RTPCommand getCmd() {
+ return cmd;
+ }
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/AddonPortals.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/AddonPortals.java
index d7633b9..a6189cc 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/AddonPortals.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/AddonPortals.java
@@ -1,6 +1,7 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds.PortalsCommand;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
@@ -34,6 +35,11 @@ public class AddonPortals implements Addon {
events.unregiter();
}
+ @Override
+ public RTPCommand getCmd() {
+ return cmd;
+ }
+
public PortalsCache getPortals() {
return portalsCache;
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/PortalsMessages.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/PortalsMessages.java
index 38b73e9..9c607e3 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/PortalsMessages.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/PortalsMessages.java
@@ -1,6 +1,7 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.portals;
import me.SuperRonanCraft.BetterRTPAddons.AddonsMessages;
+import org.bukkit.Location;
import org.bukkit.command.CommandSender;
public class PortalsMessages implements AddonsMessages {
@@ -38,18 +39,24 @@ public class PortalsMessages implements AddonsMessages {
//Location
- public void getLocation_1(CommandSender sendi) {
- sms(sendi, getLang().getString(preM + "Location.1"));
+ public void getLocation_1(CommandSender sendi, Location loc) {
+ sms(sendi, getLang().getString(preM + "Location.1")
+ .replace("%location%", "x:" + loc.getBlockX() + ", y:" + loc.getBlockY() + ", z:" + loc.getBlockZ()));
}
- public void getLocation_2(CommandSender sendi) {
- sms(sendi, getLang().getString(preM + "Location.2"));
+ public void getLocation_2(CommandSender sendi, Location loc) {
+ sms(sendi, getLang().getString(preM + "Location.2")
+ .replace("%location%", "x:" + loc.getBlockX() + ", y:" + loc.getBlockY() + ", z:" + loc.getBlockZ()));
}
public void getLocation_Look(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Location.Look"));
}
+ public void getLocation_Ready(CommandSender sendi) {
+ sms(sendi, getLang().getString(preM + "Location.Ready").replace("%command%", "rtp"));
+ }
+
//Remove
public void getRemoveConfirm(CommandSender sendi, String name) {
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Create.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Create.java
index f443ded..efaeaf0 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Create.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Create.java
@@ -18,6 +18,11 @@ public class PortalsCommand_Create implements PortalsCommands, PortalsCommandsTa
sendi.sendMessage("Console cannot perform this command!");
return;
}
+ //Valid Name
+ if (args.length < 3 || args[2].length() < 1) {
+ addonPortals.msgs.getCreateName(sendi);
+ return;
+ }
Player p = (Player) sendi;
PortalsRegionInfo portal = addonPortals.getPortals().getPortal(p);
//Valid region
@@ -28,11 +33,6 @@ public class PortalsCommand_Create implements PortalsCommands, PortalsCommandsTa
addonPortals.msgs.getCreateInvalid(sendi);
return;
}
- //Valid Name
- if (args.length < 3 || args[2].length() < 1) {
- addonPortals.msgs.getCreateName(sendi);
- return;
- }
String name = args[2];
if (args.length > 3) {
portal.setWorld(args[3]);
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Loc1.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Loc1.java
index a83cdcb..8bfba30 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Loc1.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Loc1.java
@@ -17,8 +17,8 @@ public class PortalsCommand_Loc1 implements PortalsCommands, LocationFinder {
Block block = getTargetBlock(p, 10);
if (block != null) {
Location loc = block.getLocation();
+ addonPortals.msgs.getLocation_1(sendi, loc);
addonPortals.getPortals().cachePortal(p, loc, false);
- addonPortals.msgs.getLocation_1(sendi);
} else {
addonPortals.msgs.getLocation_Look(sendi);
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Loc2.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Loc2.java
index ecfe4c8..228187e 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Loc2.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand_Loc2.java
@@ -14,8 +14,8 @@ public class PortalsCommand_Loc2 implements PortalsCommands, LocationFinder {
Block block = getTargetBlock(p, 10);
if (block != null) {
Location loc = block.getLocation();
+ addonPortals.msgs.getLocation_2(sendi, loc);
addonPortals.getPortals().cachePortal(p, loc, true);
- addonPortals.msgs.getLocation_2(sendi);
} else {
addonPortals.msgs.getLocation_Look(sendi);
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/region/PortalsCache.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/region/PortalsCache.java
index cf34cd4..8ecc180 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/region/PortalsCache.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/region/PortalsCache.java
@@ -70,11 +70,16 @@ public class PortalsCache {
portalsBeingCreated.put(p, portal);
}
Location old_loc1 = portal.loc_1;
- Location old_loc2 = portal.loc_1;
+ Location old_loc2 = portal.loc_2;
if (loc2)
portal.loc_2 = loc;
else
portal.loc_1 = loc;
+
+ if (portal.loc_1 != null && portal.loc_2 != null)
+ if (old_loc1 == null || old_loc2 == null)
+ addonPortals.msgs.getLocation_Ready(p);
+
if (Bukkit.getPluginManager().isPluginEnabled("ProtocolLib")) {
ProtocolManager pm = ProtocolLibrary.getProtocolManager();
@@ -104,6 +109,11 @@ public class PortalsCache {
packet.setLocation(new BlockPosition(loc.toVector()));
packet.sendPacket(p);
//}
+ } else {
+ if (loc2)
+ p.sendBlockChange(portal.loc_2, Material.GLOWSTONE.createBlockData());
+ else
+ p.sendBlockChange(portal.loc_1, Material.GLOWSTONE.createBlockData());
}
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_Help.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_Help.java
new file mode 100644
index 0000000..d4feecd
--- /dev/null
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_Help.java
@@ -0,0 +1,32 @@
+package me.SuperRonanCraft.BetterRTPAddons.cmds;
+
+import me.SuperRonanCraft.BetterRTP.BetterRTP;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTPAddons.AddonMessages;
+import me.SuperRonanCraft.BetterRTPAddons.AddonsCommand;
+import me.SuperRonanCraft.BetterRTPAddons.AddonsHandler;
+import me.SuperRonanCraft.BetterRTPAddons.Main;
+import org.bukkit.command.CommandSender;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AddonsCommand_Help implements AddonsCommands, RTPCommandHelpable {
+
+ @Override
+ public void execute(CommandSender sendi, String label, String[] args) {
+ List list = new ArrayList<>();
+ list.add(BetterRTP.getInstance().getText().getHelpPrefix());
+ for (AddonsCommand.AddonCmds cmds : AddonsCommand.AddonCmds.values()) {
+ if (cmds.cmd instanceof RTPCommandHelpable)
+ list.add(((RTPCommandHelpable) cmds.cmd).getHelp().replace("%command%", label));
+ }
+ Main.getInstance().msgs.sms(sendi, list);
+ }
+
+ @Override
+ public String getHelp() {
+ return Main.getInstance().msgs.getBaseHelp();
+ }
+}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_List.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_List.java
new file mode 100644
index 0000000..57a22e8
--- /dev/null
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_List.java
@@ -0,0 +1,32 @@
+package me.SuperRonanCraft.BetterRTPAddons.cmds;
+
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTPAddons.AddonMessages;
+import me.SuperRonanCraft.BetterRTPAddons.AddonsHandler;
+import me.SuperRonanCraft.BetterRTPAddons.Main;
+import org.bukkit.command.CommandSender;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AddonsCommand_List implements AddonsCommands, RTPCommandHelpable {
+
+ @Override
+ public void execute(CommandSender sendi, String label, String[] args) {
+ AddonMessages msgs = Main.getInstance().msgs;
+ List list = new ArrayList<>();
+ list.add(msgs.getListPrefix());
+ for (AddonsHandler.Addons addon : AddonsHandler.Addons.values()) {
+ String str = msgs.getListDisabled();
+ if (addon.isEnabled())
+ str = msgs.getListEnabled();
+ list.add(str.replace("%addon%", addon.name()));
+ }
+ msgs.sms(sendi, list);
+ }
+
+ @Override
+ public String getHelp() {
+ return Main.getInstance().msgs.getBaseList();
+ }
+}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_Version.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_Version.java
new file mode 100644
index 0000000..db43a63
--- /dev/null
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommand_Version.java
@@ -0,0 +1,25 @@
+package me.SuperRonanCraft.BetterRTPAddons.cmds;
+
+import me.SuperRonanCraft.BetterRTP.BetterRTP;
+import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTPAddons.AddonMessages;
+import me.SuperRonanCraft.BetterRTPAddons.AddonsHandler;
+import me.SuperRonanCraft.BetterRTPAddons.Main;
+import org.bukkit.command.CommandSender;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AddonsCommand_Version implements AddonsCommands, RTPCommandHelpable {
+
+ @Override
+ public void execute(CommandSender sendi, String label, String[] args) {
+ sendi.sendMessage(BetterRTP.getInstance().getText()
+ .colorPre("&aVersion #&e" + Main.getInstance().getDescription().getVersion()));
+ }
+
+ @Override
+ public String getHelp() {
+ return Main.getInstance().msgs.getBaseList();
+ }
+}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommands.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommands.java
new file mode 100644
index 0000000..c5e498b
--- /dev/null
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommands.java
@@ -0,0 +1,9 @@
+package me.SuperRonanCraft.BetterRTPAddons.cmds;
+
+import org.bukkit.command.CommandSender;
+
+public interface AddonsCommands {
+
+ void execute(CommandSender sendi, String label, String[] args);
+
+}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommandsTabable.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommandsTabable.java
new file mode 100644
index 0000000..e934f10
--- /dev/null
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/cmds/AddonsCommandsTabable.java
@@ -0,0 +1,9 @@
+package me.SuperRonanCraft.BetterRTPAddons.cmds;
+
+import org.bukkit.command.CommandSender;
+
+public interface AddonsCommandsTabable {
+
+ void execute(CommandSender sendi, String label, String[] args);
+
+}
diff --git a/BetterRTPAddons/src/main/resources/lang/en.yml b/BetterRTPAddons/src/main/resources/lang/en.yml
index 1e0a08e..811c741 100644
--- a/BetterRTPAddons/src/main/resources/lang/en.yml
+++ b/BetterRTPAddons/src/main/resources/lang/en.yml
@@ -9,8 +9,9 @@ Portals:
Name: '&7Please provide a name for this portal!'
Duplicate: '&7This name is already being used for another portal, please choose another!'
Location:
- 1: '&7Location &a1 &7has been set'
- 2: '&7Location &a2 &7has been set'
+ 1: '&7Location &a1 &7has been set to %location%'
+ 2: '&7Location &a2 &7has been set to %location%'
+ Ready: '&7Region has been created, please execute `/%command% portals create [world]` to create a new portal!'
Look: '&7Please look towards a block and try again!'
Remove:
Confirm: '&cPortal &7%name% &chas been removed!'
@@ -19,17 +20,24 @@ Portals:
Prefix: '&e&m-----&6&l BetterRTP &7&lAddons &8| Portals List &e&m-----'
Portal: ' &7- &6%name% &8| &7%location%'
None: '&7There are no portals! &8Create one with `/rtp portals create`'
+ Usage:
+ Base: '&cUsage: &7/%command% portals '
+ Remove: '&cUsage: &7/%command% portals remove '
MagicStick:
Give: '&dMagic Stick&7 has been given to &a%player%'
Given: '&7A &dMagic Stick&7 has been given to you'
Player: '&cWhoops! &7Seems like their is no player by the name of &a%player% &7online!'
-
-Usage:
- Portals:
- Base: '&cUsage: &7/%command% portals '
- Remove: '&cUsage: &7/%command% portals remove '
+Addons:
+ List:
+ Prefix: '&e&m-----&6&l BetterRTP &7&lAddons &8| Addons Info &e&m-----'
+ Enabled: ' &7- &e%addon% &7- &aEnabled'
+ Disabled: ' &7- &e%addon% &7- &cDisabled'
Help:
Portals: ' &7- &e/%command% portals [args...] &7- Setup an rtp portal'
- MagicStick: ' &7- &e/%command% magicstick give [player] &7- Give a magic stick to a player'
\ No newline at end of file
+ MagicStick: ' &7- &e/%command% magicstick give [player] &7- Give a magic stick to a player'
+ Addons: ' &7- &e/%command% addons &7- View a list of addons commands'
+ Base:
+ Help: ' &7- &e/%command% addons help &7- View a list of available commands'
+ List: ' &7- &e/%command% addons list &7- View a list of all enabled addons'
\ No newline at end of file
diff --git a/BetterRTPAddons/src/main/resources/plugin.yml b/BetterRTPAddons/src/main/resources/plugin.yml
index 48532b0..cd970cc 100644
--- a/BetterRTPAddons/src/main/resources/plugin.yml
+++ b/BetterRTPAddons/src/main/resources/plugin.yml
@@ -1,5 +1,5 @@
main: me.SuperRonanCraft.BetterRTPAddons.Main
-version: 1.4
+version: ${project.version}
api-version: '1.13'
name: BetterRTPAddons
depend: [BetterRTP]
diff --git a/pom.xml b/pom.xml
index aa8bf6e..5c3c629 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,6 +34,12 @@
+
+
+ src/main/resources
+ true
+
+
${project.artifactId}-${project.version}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 4af3a19..891877d 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,5 +1,5 @@
main: me.SuperRonanCraft.BetterRTP.BetterRTP
-version: '3.1.0-5'
+version: ${project.version}
name: BetterRTP
author: SuperRonanCraft
softdepend: