mirror of
https://github.com/sekwah41/Advanced-Portals.git
synced 2024-12-26 02:48:15 +01:00
Added cross server teleportation with bungee(or at least should have,
its currently untested)
This commit is contained in:
parent
a3ec952e10
commit
bbe92cfd75
@ -86,7 +86,6 @@ public class AdvancedPortalsCommand implements CommandExecutor, TabCompleter {
|
|||||||
String portalName = null;
|
String portalName = null;
|
||||||
String triggerBlock = null;
|
String triggerBlock = null;
|
||||||
String serverName = null;
|
String serverName = null;
|
||||||
List<String> addArgs = new ArrayList<String>();
|
|
||||||
for(int i = 1; i < args.length; i++){
|
for(int i = 1; i < args.length; i++){
|
||||||
if(args[i].toLowerCase().startsWith("name:") && args[i].length() > 5){
|
if(args[i].toLowerCase().startsWith("name:") && args[i].length() > 5){
|
||||||
hasName = true;
|
hasName = true;
|
||||||
@ -111,7 +110,6 @@ public class AdvancedPortalsCommand implements CommandExecutor, TabCompleter {
|
|||||||
else if(args[i].toLowerCase().startsWith("bungee:") && args[i].length() > 7){ // not completely implemented
|
else if(args[i].toLowerCase().startsWith("bungee:") && args[i].length() > 7){ // not completely implemented
|
||||||
isBungeePortal = true;
|
isBungeePortal = true;
|
||||||
serverName = args[i].toLowerCase().replaceFirst("bungee:", "");
|
serverName = args[i].toLowerCase().replaceFirst("bungee:", "");
|
||||||
addArgs.add(args[i]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!hasName){
|
if(!hasName){
|
||||||
@ -150,20 +148,20 @@ public class AdvancedPortalsCommand implements CommandExecutor, TabCompleter {
|
|||||||
triggerBlockMat = Material.getMaterial(triggerBlock.toUpperCase());
|
triggerBlockMat = Material.getMaterial(triggerBlock.toUpperCase());
|
||||||
if(triggerBlockMat != null){
|
if(triggerBlockMat != null){
|
||||||
player.sendMessage("§atriggerBlock: §e" + triggerBlock.toUpperCase());
|
player.sendMessage("§atriggerBlock: §e" + triggerBlock.toUpperCase());
|
||||||
player.sendMessage(Portal.create(pos1, pos2, portalName, destination, triggerBlockMat, addArgs));;
}
|
player.sendMessage(Portal.create(pos1, pos2, portalName, destination, triggerBlockMat, serverName));;
}
|
||||||
else{
|
else{
|
||||||
hasTriggerBlock = false;
|
hasTriggerBlock = false;
|
||||||
ConfigAccessor Config = new ConfigAccessor(plugin, "Config.yml");
|
ConfigAccessor Config = new ConfigAccessor(plugin, "Config.yml");
|
||||||
player.sendMessage("§ctriggerBlock: §edefault(" + Config.getConfig().getString("DefaultPortalTriggerBlock") + ")");
|
player.sendMessage("§ctriggerBlock: §edefault(" + Config.getConfig().getString("DefaultPortalTriggerBlock") + ")");
|
||||||
|
|
||||||
player.sendMessage("§cThe block " + triggerBlock.toUpperCase() + " is not a valid block name in minecraft so the trigger block has been set to the default!");
|
player.sendMessage("§cThe block " + triggerBlock.toUpperCase() + " is not a valid block name in minecraft so the trigger block has been set to the default!");
|
||||||
player.sendMessage(Portal.create(pos1, pos2, portalName, destination, addArgs));
|
player.sendMessage(Portal.create(pos1, pos2, portalName, destination, serverName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
ConfigAccessor Config = new ConfigAccessor(plugin, "Config.yml");
|
ConfigAccessor Config = new ConfigAccessor(plugin, "Config.yml");
|
||||||
player.sendMessage("§atriggerBlock: §edefault(" + Config.getConfig().getString("DefaultPortalTriggerBlock") + ")");
|
player.sendMessage("§atriggerBlock: §edefault(" + Config.getConfig().getString("DefaultPortalTriggerBlock") + ")");
|
||||||
player.sendMessage(Portal.create(pos1, pos2, portalName, destination, addArgs));
|
player.sendMessage(Portal.create(pos1, pos2, portalName, destination, serverName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -88,7 +88,11 @@ public class Portal {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String create(Location pos1, Location pos2 , String name, String destination , Material triggerBlock, List<String> addArgs) {
|
public static String create(Location pos1, Location pos2 , String name, String destination, Material triggerBlock) {
|
||||||
|
return create(pos1, pos2, name, destination, triggerBlock, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String create(Location pos1, Location pos2 , String name, String destination, Material triggerBlock, String serverName) {
|
||||||
|
|
||||||
if(!pos1.getWorld().equals(pos2.getWorld())){
|
if(!pos1.getWorld().equals(pos2.getWorld())){
|
||||||
plugin.getLogger().log(Level.WARNING, "pos1 and pos2 must be in the same world!");
|
plugin.getLogger().log(Level.WARNING, "pos1 and pos2 must be in the same world!");
|
||||||
@ -144,6 +148,8 @@ public class Portal {
|
|||||||
|
|
||||||
config.getConfig().set(name + ".destination", destination);
|
config.getConfig().set(name + ".destination", destination);
|
||||||
|
|
||||||
|
config.getConfig().set(name + ".bungee", serverName);
|
||||||
|
|
||||||
config.getConfig().set(name + ".pos1.X", HighX);
|
config.getConfig().set(name + ".pos1.X", HighX);
|
||||||
config.getConfig().set(name + ".pos1.Y", HighY);
|
config.getConfig().set(name + ".pos1.Y", HighY);
|
||||||
config.getConfig().set(name + ".pos1.Z", HighZ);
|
config.getConfig().set(name + ".pos1.Z", HighZ);
|
||||||
@ -209,9 +215,13 @@ public class Portal {
|
|||||||
}
|
}
|
||||||
return triggerBlock.toString();
|
return triggerBlock.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String create(Location pos1, Location pos2, String name, String destination) {
|
||||||
|
return create(pos1, pos2, name, destination,(String) null);
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public static String create(Location pos1, Location pos2, String name, String destination, List<String> addArgs) { // add stuff for destination names or coordinates
|
public static String create(Location pos1, Location pos2, String name, String destination, String serverName) { // add stuff for destination names or coordinates
|
||||||
ConfigAccessor config = new ConfigAccessor(plugin, "Config.yml");
|
ConfigAccessor config = new ConfigAccessor(plugin, "Config.yml");
|
||||||
|
|
||||||
Material triggerBlockType;
|
Material triggerBlockType;
|
||||||
@ -231,9 +241,7 @@ public class Portal {
|
|||||||
|
|
||||||
// TODO add a for loop which scans through the addArgs and adds them to the config so that the application can use them
|
// TODO add a for loop which scans through the addArgs and adds them to the config so that the application can use them
|
||||||
|
|
||||||
String result = create(pos1, pos2, name, destination, triggerBlockType, addArgs);
|
String result = create(pos1, pos2, name, destination, triggerBlockType, serverName);
|
||||||
|
|
||||||
loadPortals();
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user