diff --git a/src/com/massivecraft/massivecore/cmd/arg/ARUniverse.java b/src/com/massivecraft/massivecore/cmd/arg/ARUniverse.java index a51c36dd..5f9bdcbf 100644 --- a/src/com/massivecraft/massivecore/cmd/arg/ARUniverse.java +++ b/src/com/massivecraft/massivecore/cmd/arg/ARUniverse.java @@ -5,6 +5,7 @@ import java.util.Collection; import org.bukkit.command.CommandSender; +import com.massivecraft.massivecore.Aspect; import com.massivecraft.massivecore.MassiveException; import com.massivecraft.massivecore.Multiverse; import com.massivecraft.massivecore.collections.MassiveSet; @@ -12,21 +13,28 @@ import com.massivecraft.massivecore.util.Txt; public class ARUniverse extends ARAbstract { - // -------------------------------------------- // - // INSTANCE & CONSTRUCT - // -------------------------------------------- // - - public ARUniverse(Multiverse multiverse) - { - this.multiverse = multiverse; - } - // -------------------------------------------- // // FIELDS // -------------------------------------------- // - protected Multiverse multiverse; - public Multiverse getMultiverse() { return this.multiverse; } + protected Aspect aspect = null; + protected Multiverse multiverse = null; + + public Multiverse getMultiverse() + { + if (this.aspect != null) return this.aspect.getMultiverse(); + return this.multiverse; + } + + // -------------------------------------------- // + // INSTANCE & CONSTRUCT + // -------------------------------------------- // + + public static ARUniverse get(Aspect aspect) { return new ARUniverse(aspect); } + public static ARUniverse get(Multiverse multiverse) { return new ARUniverse(multiverse); } + + public ARUniverse(Aspect aspect) { this.aspect = aspect; } + public ARUniverse(Multiverse multiverse) { this.multiverse = multiverse; } // -------------------------------------------- // // OVERRIDE @@ -35,6 +43,8 @@ public class ARUniverse extends ARAbstract @Override public String read(String arg, CommandSender sender) throws MassiveException { + Multiverse multiverse = this.getMultiverse(); + if (multiverse.containsUniverse(arg)) { return arg; @@ -48,7 +58,7 @@ public class ARUniverse extends ARAbstract String dot = Txt.parse("."); throw new MassiveException() - .addMsg("No universe \"%s\" exists in multiverse %s.", arg, this.multiverse.getId()) + .addMsg("No universe \"%s\" exists in multiverse %s.", arg, multiverse.getId()) .addMsg("Use %s", Txt.implodeCommaAndDot(names, format, comma, and, dot)); } }