mirror of
https://github.com/aikar/commands.git
synced 2026-05-31 06:11:55 +00:00
Change valid name checking to a configurable predicate #382
I see the value in allowing acf users to disable the valid name check. I think others may want to go a step further and create their own valid name verification. Those that want to truly accept all names can simply do `CommandManager#setValidNamePredicate(name -> true)` with the new API. Another solution I considered was having users override the isValidName method on their CommandManager, but this functionality seemed more friendly.
This commit is contained in:
@@ -76,7 +76,7 @@ loadScripts(document, 'script');</script>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-44">ACFBukkitUtil</a></span>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-45">ACFBukkitUtil</a></span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
@@ -174,7 +174,7 @@ loadScripts(document, 'script');</script>
|
||||
double addY)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isWithinDistance(org.bukkit.entity.Player,org.bukkit.entity.Player,int)" class="member-name-link">isWithinDistance</a><wbr>(@NotNull org.bukkit.entity.Player p1,
|
||||
@@ -232,7 +232,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="<init>()">
|
||||
<h3>ACFBukkitUtil</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-44">ACFBukkitUtil</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-45">ACFBukkitUtil</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -246,20 +246,20 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="formatLocation(org.bukkit.Location)">
|
||||
<h3>formatLocation</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-46">formatLocation</a></span><wbr><span class="parameters">(org.bukkit.Location loc)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-47">formatLocation</a></span><wbr><span class="parameters">(org.bukkit.Location loc)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="color(java.lang.String)">
|
||||
<h3>color</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-59">color</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-60">color</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="sendMsg(org.bukkit.command.CommandSender,java.lang.String)">
|
||||
<h3>sendMsg</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public static</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-68">sendMsg</a></span><wbr><span class="parameters">(org.bukkit.command.CommandSender player,
|
||||
</span><span class="modifiers">public static</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-69">sendMsg</a></span><wbr><span class="parameters">(org.bukkit.command.CommandSender player,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
|
||||
<div class="block">Move to Message Keys on the CommandIssuer</div>
|
||||
@@ -268,38 +268,38 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="stringToLocation(java.lang.String)">
|
||||
<h3>stringToLocation</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-76">stringToLocation</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storedLoc)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-77">stringToLocation</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storedLoc)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="stringToLocation(java.lang.String,org.bukkit.World)">
|
||||
<h3>stringToLocation</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-80">stringToLocation</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storedLoc,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-81">stringToLocation</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storedLoc,
|
||||
org.bukkit.World forcedWorld)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="fullLocationToString(org.bukkit.Location)">
|
||||
<h3>fullLocationToString</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-110">fullLocationToString</a></span><wbr><span class="parameters">(org.bukkit.Location loc)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-111">fullLocationToString</a></span><wbr><span class="parameters">(org.bukkit.Location loc)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="fullBlockLocationToString(org.bukkit.Location)">
|
||||
<h3>fullBlockLocationToString</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-129">fullBlockLocationToString</a></span><wbr><span class="parameters">(org.bukkit.Location loc)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-130">fullBlockLocationToString</a></span><wbr><span class="parameters">(org.bukkit.Location loc)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="blockLocationToString(org.bukkit.Location)">
|
||||
<h3>blockLocationToString</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-148">blockLocationToString</a></span><wbr><span class="parameters">(org.bukkit.Location loc)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-149">blockLocationToString</a></span><wbr><span class="parameters">(org.bukkit.Location loc)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="distance(org.bukkit.entity.Entity,org.bukkit.entity.Entity)">
|
||||
<h3>distance</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-164">distance</a></span><wbr><span class="parameters">(@NotNull
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-165">distance</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull org.bukkit.entity.Entity e1,
|
||||
@NotNull
|
||||
@NotNull org.bukkit.entity.Entity e2)</span></div>
|
||||
@@ -308,7 +308,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="distance2d(org.bukkit.entity.Entity,org.bukkit.entity.Entity)">
|
||||
<h3>distance2d</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-168">distance2d</a></span><wbr><span class="parameters">(@NotNull
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-169">distance2d</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull org.bukkit.entity.Entity e1,
|
||||
@NotNull
|
||||
@NotNull org.bukkit.entity.Entity e2)</span></div>
|
||||
@@ -317,7 +317,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="distance2d(org.bukkit.Location,org.bukkit.Location)">
|
||||
<h3>distance2d</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-172">distance2d</a></span><wbr><span class="parameters">(@NotNull
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-173">distance2d</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull org.bukkit.Location loc1,
|
||||
@NotNull
|
||||
@NotNull org.bukkit.Location loc2)</span></div>
|
||||
@@ -326,7 +326,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="distance(org.bukkit.Location,org.bukkit.Location)">
|
||||
<h3>distance</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-178">distance</a></span><wbr><span class="parameters">(@NotNull
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-179">distance</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull org.bukkit.Location loc1,
|
||||
@NotNull
|
||||
@NotNull org.bukkit.Location loc2)</span></div>
|
||||
@@ -335,20 +335,20 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getTargetLoc(org.bukkit.entity.Player)">
|
||||
<h3>getTargetLoc</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-185">getTargetLoc</a></span><wbr><span class="parameters">(org.bukkit.entity.Player player)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-186">getTargetLoc</a></span><wbr><span class="parameters">(org.bukkit.entity.Player player)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getTargetLoc(org.bukkit.entity.Player,int)">
|
||||
<h3>getTargetLoc</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-189">getTargetLoc</a></span><wbr><span class="parameters">(org.bukkit.entity.Player player,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-190">getTargetLoc</a></span><wbr><span class="parameters">(org.bukkit.entity.Player player,
|
||||
int maxDist)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getTargetLoc(org.bukkit.entity.Player,int,double)">
|
||||
<h3>getTargetLoc</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-193">getTargetLoc</a></span><wbr><span class="parameters">(org.bukkit.entity.Player player,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-194">getTargetLoc</a></span><wbr><span class="parameters">(org.bukkit.entity.Player player,
|
||||
int maxDist,
|
||||
double addY)</span></div>
|
||||
</section>
|
||||
@@ -356,14 +356,14 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getRandLoc(org.bukkit.Location,int)">
|
||||
<h3>getRandLoc</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-203">getRandLoc</a></span><wbr><span class="parameters">(org.bukkit.Location loc,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-204">getRandLoc</a></span><wbr><span class="parameters">(org.bukkit.Location loc,
|
||||
int radius)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getRandLoc(org.bukkit.Location,int,int)">
|
||||
<h3>getRandLoc</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-207">getRandLoc</a></span><wbr><span class="parameters">(org.bukkit.Location loc,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-208">getRandLoc</a></span><wbr><span class="parameters">(org.bukkit.Location loc,
|
||||
int xzRadius,
|
||||
int yRadius)</span></div>
|
||||
</section>
|
||||
@@ -372,7 +372,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="getRandLoc(org.bukkit.Location,int,int,int)">
|
||||
<h3>getRandLoc</h3>
|
||||
<div class="member-signature"><span class="annotations">@NotNull
|
||||
</span><span class="modifiers">public static</span> <span class="return-type">@NotNull org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-211">getRandLoc</a></span><wbr><span class="parameters">(org.bukkit.Location loc,
|
||||
</span><span class="modifiers">public static</span> <span class="return-type">@NotNull org.bukkit.Location</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-212">getRandLoc</a></span><wbr><span class="parameters">(org.bukkit.Location loc,
|
||||
int xRadius,
|
||||
int yRadius,
|
||||
int zRadius)</span></div>
|
||||
@@ -381,13 +381,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="removeColors(java.lang.String)">
|
||||
<h3>removeColors</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-221">removeColors</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> msg)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-222">removeColors</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> msg)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="replaceChatString(java.lang.String,java.lang.String,java.lang.String)">
|
||||
<h3>replaceChatString</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-225">replaceChatString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-226">replaceChatString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> replace,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> with)</span></div>
|
||||
</section>
|
||||
@@ -395,7 +395,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="replaceChatString(java.lang.String,java.util.regex.Pattern,java.lang.String)">
|
||||
<h3>replaceChatString</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-229">replaceChatString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-230">replaceChatString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html" title="class or interface in java.util.regex" class="external-link">Pattern</a> replace,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> with)</span></div>
|
||||
</section>
|
||||
@@ -403,7 +403,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="isWithinDistance(org.bukkit.entity.Player,org.bukkit.entity.Player,int)">
|
||||
<h3>isWithinDistance</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-244">isWithinDistance</a></span><wbr><span class="parameters">(@NotNull
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-245">isWithinDistance</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull org.bukkit.entity.Player p1,
|
||||
@NotNull
|
||||
@NotNull org.bukkit.entity.Player p2,
|
||||
@@ -413,7 +413,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="isWithinDistance(org.bukkit.Location,org.bukkit.Location,int)">
|
||||
<h3>isWithinDistance</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-248">isWithinDistance</a></span><wbr><span class="parameters">(@NotNull
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-249">isWithinDistance</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull org.bukkit.Location loc1,
|
||||
@NotNull
|
||||
@NotNull org.bukkit.Location loc2,
|
||||
@@ -423,7 +423,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="findPlayerSmart(org.bukkit.command.CommandSender,java.lang.String)">
|
||||
<h3>findPlayerSmart</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.entity.Player</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-257">findPlayerSmart</a></span><wbr><span class="parameters">(org.bukkit.command.CommandSender requester,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.entity.Player</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-258">findPlayerSmart</a></span><wbr><span class="parameters">(org.bukkit.command.CommandSender requester,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> search)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
|
||||
<div class="block">Please move to the CommandIssuer version</div>
|
||||
@@ -432,14 +432,15 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="findPlayerSmart(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>findPlayerSmart</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.entity.Player</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-265">findPlayerSmart</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.bukkit.entity.Player</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-266">findPlayerSmart</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> search)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isValidName(java.lang.String)">
|
||||
<h3>isValidName</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-322">isValidName</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBukkitUtil.html#line-322">isValidName</a></span><wbr><span class="parameters">(@Nullable
|
||||
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -78,7 +78,7 @@ loadScripts(document, 'script');</script>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-67">BukkitCommandManager</a></span>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-65">BukkitCommandManager</a></span>
|
||||
<span class="extends-implements">extends co.aikar.commands.CommandManager<org.bukkit.command.CommandSender,<wbr><a href="BukkitCommandIssuer.html" title="class in co.aikar.commands">BukkitCommandIssuer</a>,<wbr>org.bukkit.ChatColor,<wbr><a href="BukkitMessageFormatter.html" title="class in co.aikar.commands">BukkitMessageFormatter</a>,<wbr><a href="BukkitCommandExecutionContext.html" title="class in co.aikar.commands">BukkitCommandExecutionContext</a>,<wbr><a href="BukkitConditionContext.html" title="class in co.aikar.commands">BukkitConditionContext</a>></span></div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
@@ -278,61 +278,61 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="plugin">
|
||||
<h3>plugin</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type">org.bukkit.plugin.Plugin</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-77">plugin</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type">org.bukkit.plugin.Plugin</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-75">plugin</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="mcMinorVersion">
|
||||
<h3>mcMinorVersion</h3>
|
||||
<div class="member-signature"><span class="modifiers">public final</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-84">mcMinorVersion</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">public final</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-82">mcMinorVersion</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="mcPatchVersion">
|
||||
<h3>mcPatchVersion</h3>
|
||||
<div class="member-signature"><span class="modifiers">public final</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-85">mcPatchVersion</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">public final</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-83">mcPatchVersion</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="knownCommands">
|
||||
<h3>knownCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>org.bukkit.command.Command></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-86">knownCommands</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>org.bukkit.command.Command></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-84">knownCommands</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="registeredCommands">
|
||||
<h3>registeredCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="BukkitRootCommand.html" title="class in co.aikar.commands">BukkitRootCommand</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-87">registeredCommands</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="BukkitRootCommand.html" title="class in co.aikar.commands">BukkitRootCommand</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-85">registeredCommands</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="contexts">
|
||||
<h3>contexts</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="BukkitCommandContexts.html" title="class in co.aikar.commands">BukkitCommandContexts</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-88">contexts</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="BukkitCommandContexts.html" title="class in co.aikar.commands">BukkitCommandContexts</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-86">contexts</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="completions">
|
||||
<h3>completions</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="BukkitCommandCompletions.html" title="class in co.aikar.commands">BukkitCommandCompletions</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-89">completions</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="BukkitCommandCompletions.html" title="class in co.aikar.commands">BukkitCommandCompletions</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-87">completions</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="locales">
|
||||
<h3>locales</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="BukkitLocales.html" title="class in co.aikar.commands">BukkitLocales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-90">locales</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="BukkitLocales.html" title="class in co.aikar.commands">BukkitLocales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-88">locales</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="issuersLocaleString">
|
||||
<h3>issuersLocaleString</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>,<wbr><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-91">issuersLocaleString</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>,<wbr><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-89">issuersLocaleString</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="autoDetectFromClient">
|
||||
<h3>autoDetectFromClient</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-93">autoDetectFromClient</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-91">autoDetectFromClient</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -346,7 +346,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="<init>(org.bukkit.plugin.Plugin)">
|
||||
<h3>BukkitCommandManager</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-95">BukkitCommandManager</a></span><wbr><span class="parameters">(org.bukkit.plugin.Plugin plugin)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BukkitCommandManager.html#line-93">BukkitCommandManager</a></span><wbr><span class="parameters">(org.bukkit.plugin.Plugin plugin)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -46,293 +46,293 @@
|
||||
<span class="source-line-no">033</span><span id="line-33">import org.bukkit.entity.Player;</span>
|
||||
<span class="source-line-no">034</span><span id="line-34">import org.bukkit.inventory.ItemStack;</span>
|
||||
<span class="source-line-no">035</span><span id="line-35">import org.jetbrains.annotations.NotNull;</span>
|
||||
<span class="source-line-no">036</span><span id="line-36"></span>
|
||||
<span class="source-line-no">037</span><span id="line-37">import java.util.ArrayList;</span>
|
||||
<span class="source-line-no">038</span><span id="line-38">import java.util.Iterator;</span>
|
||||
<span class="source-line-no">039</span><span id="line-39">import java.util.List;</span>
|
||||
<span class="source-line-no">040</span><span id="line-40">import java.util.Set;</span>
|
||||
<span class="source-line-no">041</span><span id="line-41">import java.util.regex.Pattern;</span>
|
||||
<span class="source-line-no">042</span><span id="line-42">import java.util.stream.Collectors;</span>
|
||||
<span class="source-line-no">043</span><span id="line-43"></span>
|
||||
<span class="source-line-no">044</span><span id="line-44">public class ACFBukkitUtil {</span>
|
||||
<span class="source-line-no">045</span><span id="line-45"></span>
|
||||
<span class="source-line-no">046</span><span id="line-46"> public static String formatLocation(Location loc) {</span>
|
||||
<span class="source-line-no">047</span><span id="line-47"> if (loc == null) {</span>
|
||||
<span class="source-line-no">048</span><span id="line-48"> return null;</span>
|
||||
<span class="source-line-no">049</span><span id="line-49"> }</span>
|
||||
<span class="source-line-no">050</span><span id="line-50"> return loc.getWorld().getName() +</span>
|
||||
<span class="source-line-no">051</span><span id="line-51"> ":" +</span>
|
||||
<span class="source-line-no">052</span><span id="line-52"> loc.getBlockX() +</span>
|
||||
<span class="source-line-no">053</span><span id="line-53"> "," +</span>
|
||||
<span class="source-line-no">054</span><span id="line-54"> loc.getBlockY() +</span>
|
||||
<span class="source-line-no">055</span><span id="line-55"> "," +</span>
|
||||
<span class="source-line-no">056</span><span id="line-56"> loc.getBlockZ();</span>
|
||||
<span class="source-line-no">057</span><span id="line-57"> }</span>
|
||||
<span class="source-line-no">058</span><span id="line-58"></span>
|
||||
<span class="source-line-no">059</span><span id="line-59"> public static String color(String message) {</span>
|
||||
<span class="source-line-no">060</span><span id="line-60"> return ChatColor.translateAlternateColorCodes('&', message);</span>
|
||||
<span class="source-line-no">061</span><span id="line-61"> }</span>
|
||||
<span class="source-line-no">062</span><span id="line-62"></span>
|
||||
<span class="source-line-no">063</span><span id="line-63"> /**</span>
|
||||
<span class="source-line-no">064</span><span id="line-64"> * Move to Message Keys on the CommandIssuer</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"> *</span>
|
||||
<span class="source-line-no">066</span><span id="line-66"> * @deprecated</span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> */</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> @Deprecated</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> public static void sendMsg(CommandSender player, String message) {</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> message = color(message);</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> for (String msg : ACFPatterns.NEWLINE.split(message)) {</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> player.sendMessage(msg);</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> }</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> }</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"></span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> public static Location stringToLocation(String storedLoc) {</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> return stringToLocation(storedLoc, null);</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> }</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"></span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> public static Location stringToLocation(String storedLoc, World forcedWorld) {</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> if (storedLoc == null) {</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> return null;</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> }</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> String[] args = ACFPatterns.COLON.split(storedLoc);</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> if (args.length >= 4 || (args.length == 3 && forcedWorld != null)) {</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> String world = forcedWorld != null ? forcedWorld.getName() : args[0];</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> int i = args.length == 3 ? 0 : 1;</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> double x = Double.parseDouble(args[i]);</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> double y = Double.parseDouble(args[i + 1]);</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> double z = Double.parseDouble(args[i + 2]);</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> Location loc = new Location(Bukkit.getWorld(world), x, y, z);</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> if (args.length >= 6) {</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> loc.setPitch(Float.parseFloat(args[4]));</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> loc.setYaw(Float.parseFloat(args[5]));</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"> }</span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> return loc;</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> } else if (args.length == 2) {</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> String[] args2 = ACFPatterns.COMMA.split(args[1]);</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> if (args2.length == 3) {</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> String world = forcedWorld != null ? forcedWorld.getName() : args[0];</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> double x = Double.parseDouble(args2[0]);</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> double y = Double.parseDouble(args2[1]);</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> double z = Double.parseDouble(args2[2]);</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> return new Location(Bukkit.getWorld(world), x, y, z);</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> }</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> }</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> return null;</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> }</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"></span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> public static String fullLocationToString(Location loc) {</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> if (loc == null) {</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"> return null;</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> }</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> return (new StringBuilder(64))</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> .append(loc.getWorld().getName())</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> .append(':')</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> .append(ACFUtil.precision(loc.getX(), 4))</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> .append(':')</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> .append(ACFUtil.precision(loc.getY(), 4))</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> .append(':')</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> .append(ACFUtil.precision(loc.getZ(), 4))</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> .append(':')</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> .append(ACFUtil.precision(loc.getPitch(), 4))</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> .append(':')</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> .append(ACFUtil.precision(loc.getYaw(), 4))</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> .toString();</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> }</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"></span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> public static String fullBlockLocationToString(Location loc) {</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> if (loc == null) {</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> return null;</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> }</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> return (new StringBuilder(64))</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> .append(loc.getWorld().getName())</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> .append(':')</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> .append(loc.getBlockX())</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> .append(':')</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"> .append(loc.getBlockY())</span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> .append(':')</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> .append(loc.getBlockZ())</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> .append(':')</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> .append(ACFUtil.precision(loc.getPitch(), 4))</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> .append(':')</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> .append(ACFUtil.precision(loc.getYaw(), 4))</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> .toString();</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> }</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"></span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> public static String blockLocationToString(Location loc) {</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> if (loc == null) {</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> return null;</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"> }</span>
|
||||
<span class="source-line-no">152</span><span id="line-152"></span>
|
||||
<span class="source-line-no">153</span><span id="line-153"> return (new StringBuilder(32))</span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> .append(loc.getWorld().getName())</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"> .append(':')</span>
|
||||
<span class="source-line-no">156</span><span id="line-156"> .append(loc.getBlockX())</span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> .append(':')</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> .append(loc.getBlockY())</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"> .append(':')</span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> .append(loc.getBlockZ())</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"> .toString();</span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> }</span>
|
||||
<span class="source-line-no">163</span><span id="line-163"></span>
|
||||
<span class="source-line-no">164</span><span id="line-164"> public static double distance(@NotNull Entity e1, @NotNull Entity e2) {</span>
|
||||
<span class="source-line-no">165</span><span id="line-165"> return distance(e1.getLocation(), e2.getLocation());</span>
|
||||
<span class="source-line-no">166</span><span id="line-166"> }</span>
|
||||
<span class="source-line-no">167</span><span id="line-167"></span>
|
||||
<span class="source-line-no">168</span><span id="line-168"> public static double distance2d(@NotNull Entity e1, @NotNull Entity e2) {</span>
|
||||
<span class="source-line-no">169</span><span id="line-169"> return distance2d(e1.getLocation(), e2.getLocation());</span>
|
||||
<span class="source-line-no">170</span><span id="line-170"> }</span>
|
||||
<span class="source-line-no">171</span><span id="line-171"></span>
|
||||
<span class="source-line-no">172</span><span id="line-172"> public static double distance2d(@NotNull Location loc1, @NotNull Location loc2) {</span>
|
||||
<span class="source-line-no">173</span><span id="line-173"> loc1 = loc1.clone();</span>
|
||||
<span class="source-line-no">174</span><span id="line-174"> loc1.setY(loc2.getY());</span>
|
||||
<span class="source-line-no">175</span><span id="line-175"> return distance(loc1, loc2);</span>
|
||||
<span class="source-line-no">176</span><span id="line-176"> }</span>
|
||||
<span class="source-line-no">177</span><span id="line-177"></span>
|
||||
<span class="source-line-no">178</span><span id="line-178"> public static double distance(@NotNull Location loc1, @NotNull Location loc2) {</span>
|
||||
<span class="source-line-no">179</span><span id="line-179"> if (loc1.getWorld() != loc2.getWorld()) {</span>
|
||||
<span class="source-line-no">180</span><span id="line-180"> return 0;</span>
|
||||
<span class="source-line-no">181</span><span id="line-181"> }</span>
|
||||
<span class="source-line-no">182</span><span id="line-182"> return loc1.distance(loc2);</span>
|
||||
<span class="source-line-no">183</span><span id="line-183"> }</span>
|
||||
<span class="source-line-no">184</span><span id="line-184"></span>
|
||||
<span class="source-line-no">185</span><span id="line-185"> public static Location getTargetLoc(Player player) {</span>
|
||||
<span class="source-line-no">186</span><span id="line-186"> return getTargetLoc(player, 128);</span>
|
||||
<span class="source-line-no">187</span><span id="line-187"> }</span>
|
||||
<span class="source-line-no">188</span><span id="line-188"></span>
|
||||
<span class="source-line-no">189</span><span id="line-189"> public static Location getTargetLoc(Player player, int maxDist) {</span>
|
||||
<span class="source-line-no">190</span><span id="line-190"> return getTargetLoc(player, maxDist, 1.5);</span>
|
||||
<span class="source-line-no">191</span><span id="line-191"> }</span>
|
||||
<span class="source-line-no">192</span><span id="line-192"></span>
|
||||
<span class="source-line-no">193</span><span id="line-193"> public static Location getTargetLoc(Player player, int maxDist, double addY) {</span>
|
||||
<span class="source-line-no">194</span><span id="line-194"> try {</span>
|
||||
<span class="source-line-no">195</span><span id="line-195"> Location target = player.getTargetBlock((Set<Material>) null, maxDist).getLocation();</span>
|
||||
<span class="source-line-no">196</span><span id="line-196"> target.setY(target.getY() + addY);</span>
|
||||
<span class="source-line-no">197</span><span id="line-197"> return target;</span>
|
||||
<span class="source-line-no">198</span><span id="line-198"> } catch (Exception ignored) {</span>
|
||||
<span class="source-line-no">199</span><span id="line-199"> return null;</span>
|
||||
<span class="source-line-no">200</span><span id="line-200"> }</span>
|
||||
<span class="source-line-no">201</span><span id="line-201"> }</span>
|
||||
<span class="source-line-no">202</span><span id="line-202"></span>
|
||||
<span class="source-line-no">203</span><span id="line-203"> public static Location getRandLoc(Location loc, int radius) {</span>
|
||||
<span class="source-line-no">204</span><span id="line-204"> return getRandLoc(loc, radius, radius, radius);</span>
|
||||
<span class="source-line-no">205</span><span id="line-205"> }</span>
|
||||
<span class="source-line-no">206</span><span id="line-206"></span>
|
||||
<span class="source-line-no">207</span><span id="line-207"> public static Location getRandLoc(Location loc, int xzRadius, int yRadius) {</span>
|
||||
<span class="source-line-no">208</span><span id="line-208"> return getRandLoc(loc, xzRadius, yRadius, xzRadius);</span>
|
||||
<span class="source-line-no">209</span><span id="line-209"> }</span>
|
||||
<span class="source-line-no">210</span><span id="line-210"></span>
|
||||
<span class="source-line-no">211</span><span id="line-211"> @NotNull</span>
|
||||
<span class="source-line-no">212</span><span id="line-212"> public static Location getRandLoc(Location loc, int xRadius, int yRadius, int zRadius) {</span>
|
||||
<span class="source-line-no">213</span><span id="line-213"> Location newLoc = loc.clone();</span>
|
||||
<span class="source-line-no">214</span><span id="line-214"> newLoc.setX(ACFUtil.rand(loc.getX() - xRadius, loc.getX() + xRadius));</span>
|
||||
<span class="source-line-no">215</span><span id="line-215"> newLoc.setY(ACFUtil.rand(loc.getY() - yRadius, loc.getY() + yRadius));</span>
|
||||
<span class="source-line-no">216</span><span id="line-216"> newLoc.setZ(ACFUtil.rand(loc.getZ() - zRadius, loc.getZ() + zRadius));</span>
|
||||
<span class="source-line-no">217</span><span id="line-217"> return newLoc;</span>
|
||||
<span class="source-line-no">218</span><span id="line-218"> }</span>
|
||||
<span class="source-line-no">219</span><span id="line-219"></span>
|
||||
<span class="source-line-no">036</span><span id="line-36">import org.jetbrains.annotations.Nullable;</span>
|
||||
<span class="source-line-no">037</span><span id="line-37"></span>
|
||||
<span class="source-line-no">038</span><span id="line-38">import java.util.ArrayList;</span>
|
||||
<span class="source-line-no">039</span><span id="line-39">import java.util.Iterator;</span>
|
||||
<span class="source-line-no">040</span><span id="line-40">import java.util.List;</span>
|
||||
<span class="source-line-no">041</span><span id="line-41">import java.util.Set;</span>
|
||||
<span class="source-line-no">042</span><span id="line-42">import java.util.regex.Pattern;</span>
|
||||
<span class="source-line-no">043</span><span id="line-43">import java.util.stream.Collectors;</span>
|
||||
<span class="source-line-no">044</span><span id="line-44"></span>
|
||||
<span class="source-line-no">045</span><span id="line-45">public class ACFBukkitUtil {</span>
|
||||
<span class="source-line-no">046</span><span id="line-46"></span>
|
||||
<span class="source-line-no">047</span><span id="line-47"> public static String formatLocation(Location loc) {</span>
|
||||
<span class="source-line-no">048</span><span id="line-48"> if (loc == null) {</span>
|
||||
<span class="source-line-no">049</span><span id="line-49"> return null;</span>
|
||||
<span class="source-line-no">050</span><span id="line-50"> }</span>
|
||||
<span class="source-line-no">051</span><span id="line-51"> return loc.getWorld().getName() +</span>
|
||||
<span class="source-line-no">052</span><span id="line-52"> ":" +</span>
|
||||
<span class="source-line-no">053</span><span id="line-53"> loc.getBlockX() +</span>
|
||||
<span class="source-line-no">054</span><span id="line-54"> "," +</span>
|
||||
<span class="source-line-no">055</span><span id="line-55"> loc.getBlockY() +</span>
|
||||
<span class="source-line-no">056</span><span id="line-56"> "," +</span>
|
||||
<span class="source-line-no">057</span><span id="line-57"> loc.getBlockZ();</span>
|
||||
<span class="source-line-no">058</span><span id="line-58"> }</span>
|
||||
<span class="source-line-no">059</span><span id="line-59"></span>
|
||||
<span class="source-line-no">060</span><span id="line-60"> public static String color(String message) {</span>
|
||||
<span class="source-line-no">061</span><span id="line-61"> return ChatColor.translateAlternateColorCodes('&', message);</span>
|
||||
<span class="source-line-no">062</span><span id="line-62"> }</span>
|
||||
<span class="source-line-no">063</span><span id="line-63"></span>
|
||||
<span class="source-line-no">064</span><span id="line-64"> /**</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"> * Move to Message Keys on the CommandIssuer</span>
|
||||
<span class="source-line-no">066</span><span id="line-66"> *</span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> * @deprecated</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> */</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> @Deprecated</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> public static void sendMsg(CommandSender player, String message) {</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> message = color(message);</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> for (String msg : ACFPatterns.NEWLINE.split(message)) {</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> player.sendMessage(msg);</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> }</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> }</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"></span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> public static Location stringToLocation(String storedLoc) {</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> return stringToLocation(storedLoc, null);</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> }</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"></span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> public static Location stringToLocation(String storedLoc, World forcedWorld) {</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> if (storedLoc == null) {</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> return null;</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> }</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> String[] args = ACFPatterns.COLON.split(storedLoc);</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> if (args.length >= 4 || (args.length == 3 && forcedWorld != null)) {</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> String world = forcedWorld != null ? forcedWorld.getName() : args[0];</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> int i = args.length == 3 ? 0 : 1;</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> double x = Double.parseDouble(args[i]);</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> double y = Double.parseDouble(args[i + 1]);</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> double z = Double.parseDouble(args[i + 2]);</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> Location loc = new Location(Bukkit.getWorld(world), x, y, z);</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> if (args.length >= 6) {</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> loc.setPitch(Float.parseFloat(args[4]));</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"> loc.setYaw(Float.parseFloat(args[5]));</span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> }</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> return loc;</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> } else if (args.length == 2) {</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> String[] args2 = ACFPatterns.COMMA.split(args[1]);</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> if (args2.length == 3) {</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> String world = forcedWorld != null ? forcedWorld.getName() : args[0];</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> double x = Double.parseDouble(args2[0]);</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> double y = Double.parseDouble(args2[1]);</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> double z = Double.parseDouble(args2[2]);</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> return new Location(Bukkit.getWorld(world), x, y, z);</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> }</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> }</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> return null;</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> }</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"></span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> public static String fullLocationToString(Location loc) {</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"> if (loc == null) {</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> return null;</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> }</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> return (new StringBuilder(64))</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> .append(loc.getWorld().getName())</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> .append(':')</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> .append(ACFUtil.precision(loc.getX(), 4))</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> .append(':')</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> .append(ACFUtil.precision(loc.getY(), 4))</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> .append(':')</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> .append(ACFUtil.precision(loc.getZ(), 4))</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> .append(':')</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> .append(ACFUtil.precision(loc.getPitch(), 4))</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> .append(':')</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> .append(ACFUtil.precision(loc.getYaw(), 4))</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> .toString();</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> }</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"></span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> public static String fullBlockLocationToString(Location loc) {</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> if (loc == null) {</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> return null;</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> }</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> return (new StringBuilder(64))</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> .append(loc.getWorld().getName())</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> .append(':')</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> .append(loc.getBlockX())</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"> .append(':')</span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> .append(loc.getBlockY())</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> .append(':')</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> .append(loc.getBlockZ())</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> .append(':')</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> .append(ACFUtil.precision(loc.getPitch(), 4))</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> .append(':')</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> .append(ACFUtil.precision(loc.getYaw(), 4))</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> .toString();</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> }</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"></span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> public static String blockLocationToString(Location loc) {</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> if (loc == null) {</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"> return null;</span>
|
||||
<span class="source-line-no">152</span><span id="line-152"> }</span>
|
||||
<span class="source-line-no">153</span><span id="line-153"></span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> return (new StringBuilder(32))</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"> .append(loc.getWorld().getName())</span>
|
||||
<span class="source-line-no">156</span><span id="line-156"> .append(':')</span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> .append(loc.getBlockX())</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> .append(':')</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"> .append(loc.getBlockY())</span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> .append(':')</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"> .append(loc.getBlockZ())</span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> .toString();</span>
|
||||
<span class="source-line-no">163</span><span id="line-163"> }</span>
|
||||
<span class="source-line-no">164</span><span id="line-164"></span>
|
||||
<span class="source-line-no">165</span><span id="line-165"> public static double distance(@NotNull Entity e1, @NotNull Entity e2) {</span>
|
||||
<span class="source-line-no">166</span><span id="line-166"> return distance(e1.getLocation(), e2.getLocation());</span>
|
||||
<span class="source-line-no">167</span><span id="line-167"> }</span>
|
||||
<span class="source-line-no">168</span><span id="line-168"></span>
|
||||
<span class="source-line-no">169</span><span id="line-169"> public static double distance2d(@NotNull Entity e1, @NotNull Entity e2) {</span>
|
||||
<span class="source-line-no">170</span><span id="line-170"> return distance2d(e1.getLocation(), e2.getLocation());</span>
|
||||
<span class="source-line-no">171</span><span id="line-171"> }</span>
|
||||
<span class="source-line-no">172</span><span id="line-172"></span>
|
||||
<span class="source-line-no">173</span><span id="line-173"> public static double distance2d(@NotNull Location loc1, @NotNull Location loc2) {</span>
|
||||
<span class="source-line-no">174</span><span id="line-174"> loc1 = loc1.clone();</span>
|
||||
<span class="source-line-no">175</span><span id="line-175"> loc1.setY(loc2.getY());</span>
|
||||
<span class="source-line-no">176</span><span id="line-176"> return distance(loc1, loc2);</span>
|
||||
<span class="source-line-no">177</span><span id="line-177"> }</span>
|
||||
<span class="source-line-no">178</span><span id="line-178"></span>
|
||||
<span class="source-line-no">179</span><span id="line-179"> public static double distance(@NotNull Location loc1, @NotNull Location loc2) {</span>
|
||||
<span class="source-line-no">180</span><span id="line-180"> if (loc1.getWorld() != loc2.getWorld()) {</span>
|
||||
<span class="source-line-no">181</span><span id="line-181"> return 0;</span>
|
||||
<span class="source-line-no">182</span><span id="line-182"> }</span>
|
||||
<span class="source-line-no">183</span><span id="line-183"> return loc1.distance(loc2);</span>
|
||||
<span class="source-line-no">184</span><span id="line-184"> }</span>
|
||||
<span class="source-line-no">185</span><span id="line-185"></span>
|
||||
<span class="source-line-no">186</span><span id="line-186"> public static Location getTargetLoc(Player player) {</span>
|
||||
<span class="source-line-no">187</span><span id="line-187"> return getTargetLoc(player, 128);</span>
|
||||
<span class="source-line-no">188</span><span id="line-188"> }</span>
|
||||
<span class="source-line-no">189</span><span id="line-189"></span>
|
||||
<span class="source-line-no">190</span><span id="line-190"> public static Location getTargetLoc(Player player, int maxDist) {</span>
|
||||
<span class="source-line-no">191</span><span id="line-191"> return getTargetLoc(player, maxDist, 1.5);</span>
|
||||
<span class="source-line-no">192</span><span id="line-192"> }</span>
|
||||
<span class="source-line-no">193</span><span id="line-193"></span>
|
||||
<span class="source-line-no">194</span><span id="line-194"> public static Location getTargetLoc(Player player, int maxDist, double addY) {</span>
|
||||
<span class="source-line-no">195</span><span id="line-195"> try {</span>
|
||||
<span class="source-line-no">196</span><span id="line-196"> Location target = player.getTargetBlock((Set<Material>) null, maxDist).getLocation();</span>
|
||||
<span class="source-line-no">197</span><span id="line-197"> target.setY(target.getY() + addY);</span>
|
||||
<span class="source-line-no">198</span><span id="line-198"> return target;</span>
|
||||
<span class="source-line-no">199</span><span id="line-199"> } catch (Exception ignored) {</span>
|
||||
<span class="source-line-no">200</span><span id="line-200"> return null;</span>
|
||||
<span class="source-line-no">201</span><span id="line-201"> }</span>
|
||||
<span class="source-line-no">202</span><span id="line-202"> }</span>
|
||||
<span class="source-line-no">203</span><span id="line-203"></span>
|
||||
<span class="source-line-no">204</span><span id="line-204"> public static Location getRandLoc(Location loc, int radius) {</span>
|
||||
<span class="source-line-no">205</span><span id="line-205"> return getRandLoc(loc, radius, radius, radius);</span>
|
||||
<span class="source-line-no">206</span><span id="line-206"> }</span>
|
||||
<span class="source-line-no">207</span><span id="line-207"></span>
|
||||
<span class="source-line-no">208</span><span id="line-208"> public static Location getRandLoc(Location loc, int xzRadius, int yRadius) {</span>
|
||||
<span class="source-line-no">209</span><span id="line-209"> return getRandLoc(loc, xzRadius, yRadius, xzRadius);</span>
|
||||
<span class="source-line-no">210</span><span id="line-210"> }</span>
|
||||
<span class="source-line-no">211</span><span id="line-211"></span>
|
||||
<span class="source-line-no">212</span><span id="line-212"> @NotNull</span>
|
||||
<span class="source-line-no">213</span><span id="line-213"> public static Location getRandLoc(Location loc, int xRadius, int yRadius, int zRadius) {</span>
|
||||
<span class="source-line-no">214</span><span id="line-214"> Location newLoc = loc.clone();</span>
|
||||
<span class="source-line-no">215</span><span id="line-215"> newLoc.setX(ACFUtil.rand(loc.getX() - xRadius, loc.getX() + xRadius));</span>
|
||||
<span class="source-line-no">216</span><span id="line-216"> newLoc.setY(ACFUtil.rand(loc.getY() - yRadius, loc.getY() + yRadius));</span>
|
||||
<span class="source-line-no">217</span><span id="line-217"> newLoc.setZ(ACFUtil.rand(loc.getZ() - zRadius, loc.getZ() + zRadius));</span>
|
||||
<span class="source-line-no">218</span><span id="line-218"> return newLoc;</span>
|
||||
<span class="source-line-no">219</span><span id="line-219"> }</span>
|
||||
<span class="source-line-no">220</span><span id="line-220"></span>
|
||||
<span class="source-line-no">221</span><span id="line-221"> public static String removeColors(String msg) {</span>
|
||||
<span class="source-line-no">222</span><span id="line-222"> return ChatColor.stripColor(color(msg));</span>
|
||||
<span class="source-line-no">223</span><span id="line-223"> }</span>
|
||||
<span class="source-line-no">224</span><span id="line-224"></span>
|
||||
<span class="source-line-no">225</span><span id="line-225"> public static String replaceChatString(String message, String replace, String with) {</span>
|
||||
<span class="source-line-no">226</span><span id="line-226"> return replaceChatString(message, Pattern.compile(Pattern.quote(replace), Pattern.CASE_INSENSITIVE), with);</span>
|
||||
<span class="source-line-no">227</span><span id="line-227"> }</span>
|
||||
<span class="source-line-no">228</span><span id="line-228"></span>
|
||||
<span class="source-line-no">229</span><span id="line-229"> public static String replaceChatString(String message, Pattern replace, String with) {</span>
|
||||
<span class="source-line-no">230</span><span id="line-230"> final String[] split = replace.split(message + "1");</span>
|
||||
<span class="source-line-no">231</span><span id="line-231"></span>
|
||||
<span class="source-line-no">232</span><span id="line-232"> if (split.length < 2) {</span>
|
||||
<span class="source-line-no">233</span><span id="line-233"> return replace.matcher(message).replaceAll(with);</span>
|
||||
<span class="source-line-no">234</span><span id="line-234"> }</span>
|
||||
<span class="source-line-no">235</span><span id="line-235"> message = split[0];</span>
|
||||
<span class="source-line-no">236</span><span id="line-236"></span>
|
||||
<span class="source-line-no">237</span><span id="line-237"> for (int i = 1; i < split.length; i++) {</span>
|
||||
<span class="source-line-no">238</span><span id="line-238"> final String prev = ChatColor.getLastColors(message);</span>
|
||||
<span class="source-line-no">239</span><span id="line-239"> message += with + prev + split[i];</span>
|
||||
<span class="source-line-no">240</span><span id="line-240"> }</span>
|
||||
<span class="source-line-no">241</span><span id="line-241"> return message.substring(0, message.length() - 1);</span>
|
||||
<span class="source-line-no">242</span><span id="line-242"> }</span>
|
||||
<span class="source-line-no">243</span><span id="line-243"></span>
|
||||
<span class="source-line-no">244</span><span id="line-244"> public static boolean isWithinDistance(@NotNull Player p1, @NotNull Player p2, int dist) {</span>
|
||||
<span class="source-line-no">245</span><span id="line-245"> return isWithinDistance(p1.getLocation(), p2.getLocation(), dist);</span>
|
||||
<span class="source-line-no">246</span><span id="line-246"> }</span>
|
||||
<span class="source-line-no">247</span><span id="line-247"></span>
|
||||
<span class="source-line-no">248</span><span id="line-248"> public static boolean isWithinDistance(@NotNull Location loc1, @NotNull Location loc2, int dist) {</span>
|
||||
<span class="source-line-no">249</span><span id="line-249"> return loc1.getWorld() == loc2.getWorld() && loc1.distance(loc2) <= dist;</span>
|
||||
<span class="source-line-no">250</span><span id="line-250"> }</span>
|
||||
<span class="source-line-no">251</span><span id="line-251"></span>
|
||||
<span class="source-line-no">252</span><span id="line-252"> /**</span>
|
||||
<span class="source-line-no">253</span><span id="line-253"> * Please move to the CommandIssuer version</span>
|
||||
<span class="source-line-no">254</span><span id="line-254"> *</span>
|
||||
<span class="source-line-no">255</span><span id="line-255"> * @deprecated</span>
|
||||
<span class="source-line-no">256</span><span id="line-256"> */</span>
|
||||
<span class="source-line-no">257</span><span id="line-257"> public static Player findPlayerSmart(CommandSender requester, String search) {</span>
|
||||
<span class="source-line-no">258</span><span id="line-258"> CommandManager manager = CommandManager.getCurrentCommandManager();</span>
|
||||
<span class="source-line-no">259</span><span id="line-259"> if (manager != null) {</span>
|
||||
<span class="source-line-no">260</span><span id="line-260"> return findPlayerSmart(manager.getCommandIssuer(requester), search);</span>
|
||||
<span class="source-line-no">261</span><span id="line-261"> }</span>
|
||||
<span class="source-line-no">262</span><span id="line-262"> throw new IllegalStateException("You may not use the ACFBukkitUtil#findPlayerSmart(CommandSender) async to the command execution.");</span>
|
||||
<span class="source-line-no">263</span><span id="line-263"> }</span>
|
||||
<span class="source-line-no">264</span><span id="line-264"></span>
|
||||
<span class="source-line-no">265</span><span id="line-265"> public static Player findPlayerSmart(CommandIssuer issuer, String search) {</span>
|
||||
<span class="source-line-no">266</span><span id="line-266"> CommandSender requester = issuer.getIssuer();</span>
|
||||
<span class="source-line-no">267</span><span id="line-267"> if (search == null) {</span>
|
||||
<span class="source-line-no">268</span><span id="line-268"> return null;</span>
|
||||
<span class="source-line-no">269</span><span id="line-269"> }</span>
|
||||
<span class="source-line-no">270</span><span id="line-270"> String name = ACFUtil.replace(search, ":confirm", "");</span>
|
||||
<span class="source-line-no">271</span><span id="line-271"> List<Player> matches = Bukkit.getServer().matchPlayer(name);</span>
|
||||
<span class="source-line-no">272</span><span id="line-272"> List<Player> confirmList = new ArrayList<>();</span>
|
||||
<span class="source-line-no">273</span><span id="line-273"> findMatches(search, requester, matches, confirmList);</span>
|
||||
<span class="source-line-no">274</span><span id="line-274"></span>
|
||||
<span class="source-line-no">221</span><span id="line-221"></span>
|
||||
<span class="source-line-no">222</span><span id="line-222"> public static String removeColors(String msg) {</span>
|
||||
<span class="source-line-no">223</span><span id="line-223"> return ChatColor.stripColor(color(msg));</span>
|
||||
<span class="source-line-no">224</span><span id="line-224"> }</span>
|
||||
<span class="source-line-no">225</span><span id="line-225"></span>
|
||||
<span class="source-line-no">226</span><span id="line-226"> public static String replaceChatString(String message, String replace, String with) {</span>
|
||||
<span class="source-line-no">227</span><span id="line-227"> return replaceChatString(message, Pattern.compile(Pattern.quote(replace), Pattern.CASE_INSENSITIVE), with);</span>
|
||||
<span class="source-line-no">228</span><span id="line-228"> }</span>
|
||||
<span class="source-line-no">229</span><span id="line-229"></span>
|
||||
<span class="source-line-no">230</span><span id="line-230"> public static String replaceChatString(String message, Pattern replace, String with) {</span>
|
||||
<span class="source-line-no">231</span><span id="line-231"> final String[] split = replace.split(message + "1");</span>
|
||||
<span class="source-line-no">232</span><span id="line-232"></span>
|
||||
<span class="source-line-no">233</span><span id="line-233"> if (split.length < 2) {</span>
|
||||
<span class="source-line-no">234</span><span id="line-234"> return replace.matcher(message).replaceAll(with);</span>
|
||||
<span class="source-line-no">235</span><span id="line-235"> }</span>
|
||||
<span class="source-line-no">236</span><span id="line-236"> message = split[0];</span>
|
||||
<span class="source-line-no">237</span><span id="line-237"></span>
|
||||
<span class="source-line-no">238</span><span id="line-238"> for (int i = 1; i < split.length; i++) {</span>
|
||||
<span class="source-line-no">239</span><span id="line-239"> final String prev = ChatColor.getLastColors(message);</span>
|
||||
<span class="source-line-no">240</span><span id="line-240"> message += with + prev + split[i];</span>
|
||||
<span class="source-line-no">241</span><span id="line-241"> }</span>
|
||||
<span class="source-line-no">242</span><span id="line-242"> return message.substring(0, message.length() - 1);</span>
|
||||
<span class="source-line-no">243</span><span id="line-243"> }</span>
|
||||
<span class="source-line-no">244</span><span id="line-244"></span>
|
||||
<span class="source-line-no">245</span><span id="line-245"> public static boolean isWithinDistance(@NotNull Player p1, @NotNull Player p2, int dist) {</span>
|
||||
<span class="source-line-no">246</span><span id="line-246"> return isWithinDistance(p1.getLocation(), p2.getLocation(), dist);</span>
|
||||
<span class="source-line-no">247</span><span id="line-247"> }</span>
|
||||
<span class="source-line-no">248</span><span id="line-248"></span>
|
||||
<span class="source-line-no">249</span><span id="line-249"> public static boolean isWithinDistance(@NotNull Location loc1, @NotNull Location loc2, int dist) {</span>
|
||||
<span class="source-line-no">250</span><span id="line-250"> return loc1.getWorld() == loc2.getWorld() && loc1.distance(loc2) <= dist;</span>
|
||||
<span class="source-line-no">251</span><span id="line-251"> }</span>
|
||||
<span class="source-line-no">252</span><span id="line-252"></span>
|
||||
<span class="source-line-no">253</span><span id="line-253"> /**</span>
|
||||
<span class="source-line-no">254</span><span id="line-254"> * Please move to the CommandIssuer version</span>
|
||||
<span class="source-line-no">255</span><span id="line-255"> *</span>
|
||||
<span class="source-line-no">256</span><span id="line-256"> * @deprecated</span>
|
||||
<span class="source-line-no">257</span><span id="line-257"> */</span>
|
||||
<span class="source-line-no">258</span><span id="line-258"> public static Player findPlayerSmart(CommandSender requester, String search) {</span>
|
||||
<span class="source-line-no">259</span><span id="line-259"> CommandManager manager = CommandManager.getCurrentCommandManager();</span>
|
||||
<span class="source-line-no">260</span><span id="line-260"> if (manager != null) {</span>
|
||||
<span class="source-line-no">261</span><span id="line-261"> return findPlayerSmart(manager.getCommandIssuer(requester), search);</span>
|
||||
<span class="source-line-no">262</span><span id="line-262"> }</span>
|
||||
<span class="source-line-no">263</span><span id="line-263"> throw new IllegalStateException("You may not use the ACFBukkitUtil#findPlayerSmart(CommandSender) async to the command execution.");</span>
|
||||
<span class="source-line-no">264</span><span id="line-264"> }</span>
|
||||
<span class="source-line-no">265</span><span id="line-265"></span>
|
||||
<span class="source-line-no">266</span><span id="line-266"> public static Player findPlayerSmart(CommandIssuer issuer, String search) {</span>
|
||||
<span class="source-line-no">267</span><span id="line-267"> CommandSender requester = issuer.getIssuer();</span>
|
||||
<span class="source-line-no">268</span><span id="line-268"> if (search == null) {</span>
|
||||
<span class="source-line-no">269</span><span id="line-269"> return null;</span>
|
||||
<span class="source-line-no">270</span><span id="line-270"> }</span>
|
||||
<span class="source-line-no">271</span><span id="line-271"> String name = ACFUtil.replace(search, ":confirm", "");</span>
|
||||
<span class="source-line-no">272</span><span id="line-272"> List<Player> matches = Bukkit.getServer().matchPlayer(name);</span>
|
||||
<span class="source-line-no">273</span><span id="line-273"> List<Player> confirmList = new ArrayList<>();</span>
|
||||
<span class="source-line-no">274</span><span id="line-274"> findMatches(search, requester, matches, confirmList);</span>
|
||||
<span class="source-line-no">275</span><span id="line-275"></span>
|
||||
<span class="source-line-no">276</span><span id="line-276"> if (matches.size() > 1 || confirmList.size() > 1) {</span>
|
||||
<span class="source-line-no">277</span><span id="line-277"> String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", "));</span>
|
||||
<span class="source-line-no">278</span><span id="line-278"> issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH,</span>
|
||||
<span class="source-line-no">279</span><span id="line-279"> "{search}", name, "{all}", allMatches);</span>
|
||||
<span class="source-line-no">280</span><span id="line-280"> return null;</span>
|
||||
<span class="source-line-no">281</span><span id="line-281"> }</span>
|
||||
<span class="source-line-no">282</span><span id="line-282"></span>
|
||||
<span class="source-line-no">283</span><span id="line-283"> //noinspection Duplicates</span>
|
||||
<span class="source-line-no">284</span><span id="line-284"> if (matches.isEmpty()) {</span>
|
||||
<span class="source-line-no">285</span><span id="line-285"> if (!isValidName(name)) {</span>
|
||||
<span class="source-line-no">286</span><span id="line-286"> issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">287</span><span id="line-287"> return null;</span>
|
||||
<span class="source-line-no">288</span><span id="line-288"> }</span>
|
||||
<span class="source-line-no">289</span><span id="line-289"> Player player = ACFUtil.getFirstElement(confirmList);</span>
|
||||
<span class="source-line-no">290</span><span id="line-290"> if (player == null) {</span>
|
||||
<span class="source-line-no">291</span><span id="line-291"> issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name);</span>
|
||||
<span class="source-line-no">292</span><span id="line-292"> return null;</span>
|
||||
<span class="source-line-no">293</span><span id="line-293"> } else {</span>
|
||||
<span class="source-line-no">294</span><span id="line-294"> issuer.sendInfo(MinecraftMessageKeys.PLAYER_IS_VANISHED_CONFIRM, "{vanished}", player.getName());</span>
|
||||
<span class="source-line-no">295</span><span id="line-295"> return null;</span>
|
||||
<span class="source-line-no">296</span><span id="line-296"> }</span>
|
||||
<span class="source-line-no">297</span><span id="line-297"> }</span>
|
||||
<span class="source-line-no">298</span><span id="line-298"></span>
|
||||
<span class="source-line-no">299</span><span id="line-299"> return matches.get(0);</span>
|
||||
<span class="source-line-no">300</span><span id="line-300"> }</span>
|
||||
<span class="source-line-no">301</span><span id="line-301"></span>
|
||||
<span class="source-line-no">302</span><span id="line-302"> private static void findMatches(String search, CommandSender requester, List<Player> matches, List<Player> confirmList) {</span>
|
||||
<span class="source-line-no">303</span><span id="line-303"> // Remove vanished players from smart matching.</span>
|
||||
<span class="source-line-no">304</span><span id="line-304"> Iterator<Player> iter = matches.iterator();</span>
|
||||
<span class="source-line-no">305</span><span id="line-305"> //noinspection Duplicates</span>
|
||||
<span class="source-line-no">306</span><span id="line-306"> while (iter.hasNext()) {</span>
|
||||
<span class="source-line-no">307</span><span id="line-307"> Player player = iter.next();</span>
|
||||
<span class="source-line-no">308</span><span id="line-308"> if (requester instanceof Player && !((Player) requester).canSee(player)) {</span>
|
||||
<span class="source-line-no">309</span><span id="line-309"> if (requester.hasPermission("acf.seevanish")) {</span>
|
||||
<span class="source-line-no">310</span><span id="line-310"> if (!search.endsWith(":confirm")) {</span>
|
||||
<span class="source-line-no">311</span><span id="line-311"> confirmList.add(player);</span>
|
||||
<span class="source-line-no">312</span><span id="line-312"> iter.remove();</span>
|
||||
<span class="source-line-no">313</span><span id="line-313"> }</span>
|
||||
<span class="source-line-no">314</span><span id="line-314"> } else {</span>
|
||||
<span class="source-line-no">315</span><span id="line-315"> iter.remove();</span>
|
||||
<span class="source-line-no">316</span><span id="line-316"> }</span>
|
||||
<span class="source-line-no">317</span><span id="line-317"> }</span>
|
||||
<span class="source-line-no">318</span><span id="line-318"> }</span>
|
||||
<span class="source-line-no">319</span><span id="line-319"> }</span>
|
||||
<span class="source-line-no">320</span><span id="line-320"></span>
|
||||
<span class="source-line-no">276</span><span id="line-276"></span>
|
||||
<span class="source-line-no">277</span><span id="line-277"> if (matches.size() > 1 || confirmList.size() > 1) {</span>
|
||||
<span class="source-line-no">278</span><span id="line-278"> String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", "));</span>
|
||||
<span class="source-line-no">279</span><span id="line-279"> issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH,</span>
|
||||
<span class="source-line-no">280</span><span id="line-280"> "{search}", name, "{all}", allMatches);</span>
|
||||
<span class="source-line-no">281</span><span id="line-281"> return null;</span>
|
||||
<span class="source-line-no">282</span><span id="line-282"> }</span>
|
||||
<span class="source-line-no">283</span><span id="line-283"></span>
|
||||
<span class="source-line-no">284</span><span id="line-284"> //noinspection Duplicates</span>
|
||||
<span class="source-line-no">285</span><span id="line-285"> if (matches.isEmpty()) {</span>
|
||||
<span class="source-line-no">286</span><span id="line-286"> if (!issuer.getManager().isValidName(name)) {</span>
|
||||
<span class="source-line-no">287</span><span id="line-287"> issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">288</span><span id="line-288"> return null;</span>
|
||||
<span class="source-line-no">289</span><span id="line-289"> }</span>
|
||||
<span class="source-line-no">290</span><span id="line-290"> Player player = ACFUtil.getFirstElement(confirmList);</span>
|
||||
<span class="source-line-no">291</span><span id="line-291"> if (player == null) {</span>
|
||||
<span class="source-line-no">292</span><span id="line-292"> issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name);</span>
|
||||
<span class="source-line-no">293</span><span id="line-293"> return null;</span>
|
||||
<span class="source-line-no">294</span><span id="line-294"> } else {</span>
|
||||
<span class="source-line-no">295</span><span id="line-295"> issuer.sendInfo(MinecraftMessageKeys.PLAYER_IS_VANISHED_CONFIRM, "{vanished}", player.getName());</span>
|
||||
<span class="source-line-no">296</span><span id="line-296"> return null;</span>
|
||||
<span class="source-line-no">297</span><span id="line-297"> }</span>
|
||||
<span class="source-line-no">298</span><span id="line-298"> }</span>
|
||||
<span class="source-line-no">299</span><span id="line-299"></span>
|
||||
<span class="source-line-no">300</span><span id="line-300"> return matches.get(0);</span>
|
||||
<span class="source-line-no">301</span><span id="line-301"> }</span>
|
||||
<span class="source-line-no">302</span><span id="line-302"></span>
|
||||
<span class="source-line-no">303</span><span id="line-303"> private static void findMatches(String search, CommandSender requester, List<Player> matches, List<Player> confirmList) {</span>
|
||||
<span class="source-line-no">304</span><span id="line-304"> // Remove vanished players from smart matching.</span>
|
||||
<span class="source-line-no">305</span><span id="line-305"> Iterator<Player> iter = matches.iterator();</span>
|
||||
<span class="source-line-no">306</span><span id="line-306"> //noinspection Duplicates</span>
|
||||
<span class="source-line-no">307</span><span id="line-307"> while (iter.hasNext()) {</span>
|
||||
<span class="source-line-no">308</span><span id="line-308"> Player player = iter.next();</span>
|
||||
<span class="source-line-no">309</span><span id="line-309"> if (requester instanceof Player && !((Player) requester).canSee(player)) {</span>
|
||||
<span class="source-line-no">310</span><span id="line-310"> if (requester.hasPermission("acf.seevanish")) {</span>
|
||||
<span class="source-line-no">311</span><span id="line-311"> if (!search.endsWith(":confirm")) {</span>
|
||||
<span class="source-line-no">312</span><span id="line-312"> confirmList.add(player);</span>
|
||||
<span class="source-line-no">313</span><span id="line-313"> iter.remove();</span>
|
||||
<span class="source-line-no">314</span><span id="line-314"> }</span>
|
||||
<span class="source-line-no">315</span><span id="line-315"> } else {</span>
|
||||
<span class="source-line-no">316</span><span id="line-316"> iter.remove();</span>
|
||||
<span class="source-line-no">317</span><span id="line-317"> }</span>
|
||||
<span class="source-line-no">318</span><span id="line-318"> }</span>
|
||||
<span class="source-line-no">319</span><span id="line-319"> }</span>
|
||||
<span class="source-line-no">320</span><span id="line-320"> }</span>
|
||||
<span class="source-line-no">321</span><span id="line-321"></span>
|
||||
<span class="source-line-no">322</span><span id="line-322"> public static boolean isValidName(String name) {</span>
|
||||
<span class="source-line-no">322</span><span id="line-322"> public static boolean isValidName(@Nullable String name) {</span>
|
||||
<span class="source-line-no">323</span><span id="line-323"> return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches();</span>
|
||||
<span class="source-line-no">324</span><span id="line-324"> }</span>
|
||||
<span class="source-line-no">325</span><span id="line-325"></span>
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
<span class="source-line-no">145</span><span id="line-145"> offlinePlayer = Bukkit.getOfflinePlayer(name);</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> }</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> if (offlinePlayer == null || (!offlinePlayer.hasPlayedBefore() && !offlinePlayer.isOnline())) {</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> if (!c.hasFlag("uuid") && !isValidName(name)) {</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> if (!c.hasFlag("uuid") && !manager.isValidName(name)) {</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> throw new InvalidCommandArgument(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> }</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"> throw new InvalidCommandArgument(MinecraftMessageKeys.NO_PLAYER_FOUND_OFFLINE,</span>
|
||||
|
||||
@@ -55,101 +55,101 @@
|
||||
<span class="source-line-no">042</span><span id="line-42">import org.bukkit.plugin.PluginDescriptionFile;</span>
|
||||
<span class="source-line-no">043</span><span id="line-43">import org.bukkit.plugin.PluginManager;</span>
|
||||
<span class="source-line-no">044</span><span id="line-44">import org.bukkit.plugin.java.JavaPlugin;</span>
|
||||
<span class="source-line-no">045</span><span id="line-45">import org.bukkit.scheduler.BukkitScheduler;</span>
|
||||
<span class="source-line-no">046</span><span id="line-46">import org.bukkit.scheduler.BukkitTask;</span>
|
||||
<span class="source-line-no">047</span><span id="line-47">import org.bukkit.scoreboard.ScoreboardManager;</span>
|
||||
<span class="source-line-no">048</span><span id="line-48">import org.jetbrains.annotations.NotNull;</span>
|
||||
<span class="source-line-no">049</span><span id="line-49"></span>
|
||||
<span class="source-line-no">050</span><span id="line-50">import java.lang.reflect.Field;</span>
|
||||
<span class="source-line-no">051</span><span id="line-51">import java.lang.reflect.Method;</span>
|
||||
<span class="source-line-no">052</span><span id="line-52">import java.util.Collection;</span>
|
||||
<span class="source-line-no">053</span><span id="line-53">import java.util.Collections;</span>
|
||||
<span class="source-line-no">054</span><span id="line-54">import java.util.HashMap;</span>
|
||||
<span class="source-line-no">055</span><span id="line-55">import java.util.HashSet;</span>
|
||||
<span class="source-line-no">056</span><span id="line-56">import java.util.List;</span>
|
||||
<span class="source-line-no">057</span><span id="line-57">import java.util.Locale;</span>
|
||||
<span class="source-line-no">058</span><span id="line-58">import java.util.Map;</span>
|
||||
<span class="source-line-no">059</span><span id="line-59">import java.util.Objects;</span>
|
||||
<span class="source-line-no">060</span><span id="line-60">import java.util.UUID;</span>
|
||||
<span class="source-line-no">061</span><span id="line-61">import java.util.concurrent.ConcurrentHashMap;</span>
|
||||
<span class="source-line-no">062</span><span id="line-62">import java.util.logging.Level;</span>
|
||||
<span class="source-line-no">063</span><span id="line-63">import java.util.logging.Logger;</span>
|
||||
<span class="source-line-no">064</span><span id="line-64">import java.util.regex.Matcher;</span>
|
||||
<span class="source-line-no">065</span><span id="line-65">import java.util.regex.Pattern;</span>
|
||||
<span class="source-line-no">066</span><span id="line-66"></span>
|
||||
<span class="source-line-no">067</span><span id="line-67">@SuppressWarnings("WeakerAccess")</span>
|
||||
<span class="source-line-no">068</span><span id="line-68">public class BukkitCommandManager extends CommandManager<</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> CommandSender,</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> BukkitCommandIssuer,</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> ChatColor,</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> BukkitMessageFormatter,</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> BukkitCommandExecutionContext,</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> BukkitConditionContext</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> > {</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"></span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> @SuppressWarnings("WeakerAccess")</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> protected final Plugin plugin;</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> private final CommandMap commandMap;</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> @Deprecated</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> private final TimingManager timingManager;</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> private ACFBukkitScheduler scheduler;</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> private final Logger logger;</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> public final Integer mcMinorVersion;</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> public final Integer mcPatchVersion;</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> protected Map<String, Command> knownCommands = new HashMap<>();</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> protected Map<String, BukkitRootCommand> registeredCommands = new HashMap<>();</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> protected BukkitCommandContexts contexts;</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> protected BukkitCommandCompletions completions;</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> protected BukkitLocales locales;</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> protected Map<UUID, String> issuersLocaleString = new ConcurrentHashMap<>();</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> private boolean cantReadLocale = false;</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> protected boolean autoDetectFromClient = true;</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"></span>
|
||||
<span class="source-line-no">095</span><span id="line-95"> public BukkitCommandManager(Plugin plugin) {</span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> this.plugin = plugin;</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"></span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> //See what schedule we should use, bukkit or folia</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> try {</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> Class.forName("io.papermc.paper.threadedregions.scheduler.AsyncScheduler");</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> this.scheduler = new ACFFoliaScheduler();</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> } catch (ClassNotFoundException ignored) {</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> this.scheduler = new ACFBukkitScheduler();</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> }</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"></span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> String prefix = this.plugin.getDescription().getPrefix();</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> this.logger = Logger.getLogger(prefix != null ? prefix : this.plugin.getName());</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> this.timingManager = TimingManager.of(plugin);</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> this.commandMap = hookCommandMap();</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> this.formatters.put(MessageType.ERROR, defaultFormatter = new BukkitMessageFormatter(ChatColor.RED, ChatColor.YELLOW, ChatColor.RED));</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> this.formatters.put(MessageType.SYNTAX, new BukkitMessageFormatter(ChatColor.YELLOW, ChatColor.GREEN, ChatColor.WHITE));</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"> this.formatters.put(MessageType.INFO, new BukkitMessageFormatter(ChatColor.BLUE, ChatColor.DARK_GREEN, ChatColor.GREEN));</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> this.formatters.put(MessageType.HELP, new BukkitMessageFormatter(ChatColor.AQUA, ChatColor.GREEN, ChatColor.YELLOW));</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> Pattern versionPattern = Pattern.compile("\\(MC: (\\d)\\.(\\d+)\\.?(\\d+?)?\\)");</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> Matcher matcher = versionPattern.matcher(Bukkit.getVersion());</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> if (matcher.find()) {</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> this.mcMinorVersion = ACFUtil.parseInt(matcher.toMatchResult().group(2), 0);</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> this.mcPatchVersion = ACFUtil.parseInt(matcher.toMatchResult().group(3), 0);</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> } else {</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> this.mcMinorVersion = -1;</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> this.mcPatchVersion = -1;</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> }</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> Bukkit.getHelpMap().registerHelpTopicFactory(BukkitRootCommand.class, command -> {</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> if (hasUnstableAPI("help")) {</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> return new ACFBukkitHelpTopic(this, (BukkitRootCommand) command);</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> } else {</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> return new GenericCommandHelpTopic(command);</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> }</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> });</span>
|
||||
<span class="source-line-no">045</span><span id="line-45">import org.bukkit.scoreboard.ScoreboardManager;</span>
|
||||
<span class="source-line-no">046</span><span id="line-46">import org.jetbrains.annotations.NotNull;</span>
|
||||
<span class="source-line-no">047</span><span id="line-47"></span>
|
||||
<span class="source-line-no">048</span><span id="line-48">import java.lang.reflect.Field;</span>
|
||||
<span class="source-line-no">049</span><span id="line-49">import java.lang.reflect.Method;</span>
|
||||
<span class="source-line-no">050</span><span id="line-50">import java.util.Collection;</span>
|
||||
<span class="source-line-no">051</span><span id="line-51">import java.util.Collections;</span>
|
||||
<span class="source-line-no">052</span><span id="line-52">import java.util.HashMap;</span>
|
||||
<span class="source-line-no">053</span><span id="line-53">import java.util.HashSet;</span>
|
||||
<span class="source-line-no">054</span><span id="line-54">import java.util.List;</span>
|
||||
<span class="source-line-no">055</span><span id="line-55">import java.util.Locale;</span>
|
||||
<span class="source-line-no">056</span><span id="line-56">import java.util.Map;</span>
|
||||
<span class="source-line-no">057</span><span id="line-57">import java.util.Objects;</span>
|
||||
<span class="source-line-no">058</span><span id="line-58">import java.util.UUID;</span>
|
||||
<span class="source-line-no">059</span><span id="line-59">import java.util.concurrent.ConcurrentHashMap;</span>
|
||||
<span class="source-line-no">060</span><span id="line-60">import java.util.logging.Level;</span>
|
||||
<span class="source-line-no">061</span><span id="line-61">import java.util.logging.Logger;</span>
|
||||
<span class="source-line-no">062</span><span id="line-62">import java.util.regex.Matcher;</span>
|
||||
<span class="source-line-no">063</span><span id="line-63">import java.util.regex.Pattern;</span>
|
||||
<span class="source-line-no">064</span><span id="line-64"></span>
|
||||
<span class="source-line-no">065</span><span id="line-65">@SuppressWarnings("WeakerAccess")</span>
|
||||
<span class="source-line-no">066</span><span id="line-66">public class BukkitCommandManager extends CommandManager<</span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> CommandSender,</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> BukkitCommandIssuer,</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> ChatColor,</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> BukkitMessageFormatter,</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> BukkitCommandExecutionContext,</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> BukkitConditionContext</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> > {</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"></span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> @SuppressWarnings("WeakerAccess")</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> protected final Plugin plugin;</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> private final CommandMap commandMap;</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> @Deprecated</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> private final TimingManager timingManager;</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> private ACFBukkitScheduler scheduler;</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> private final Logger logger;</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> public final Integer mcMinorVersion;</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> public final Integer mcPatchVersion;</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> protected Map<String, Command> knownCommands = new HashMap<>();</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> protected Map<String, BukkitRootCommand> registeredCommands = new HashMap<>();</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> protected BukkitCommandContexts contexts;</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> protected BukkitCommandCompletions completions;</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> protected BukkitLocales locales;</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> protected Map<UUID, String> issuersLocaleString = new ConcurrentHashMap<>();</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> private boolean cantReadLocale = false;</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> protected boolean autoDetectFromClient = true;</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"></span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> public BukkitCommandManager(Plugin plugin) {</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> this.plugin = plugin;</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"></span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> //See what schedule we should use, bukkit or folia</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> try {</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> Class.forName("io.papermc.paper.threadedregions.scheduler.AsyncScheduler");</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> this.scheduler = new ACFFoliaScheduler();</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> } catch (ClassNotFoundException ignored) {</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> this.scheduler = new ACFBukkitScheduler();</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> }</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"></span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> String prefix = this.plugin.getDescription().getPrefix();</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> this.logger = Logger.getLogger(prefix != null ? prefix : this.plugin.getName());</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> this.timingManager = TimingManager.of(plugin);</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> this.commandMap = hookCommandMap();</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> this.formatters.put(MessageType.ERROR, defaultFormatter = new BukkitMessageFormatter(ChatColor.RED, ChatColor.YELLOW, ChatColor.RED));</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> this.formatters.put(MessageType.SYNTAX, new BukkitMessageFormatter(ChatColor.YELLOW, ChatColor.GREEN, ChatColor.WHITE));</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> this.formatters.put(MessageType.INFO, new BukkitMessageFormatter(ChatColor.BLUE, ChatColor.DARK_GREEN, ChatColor.GREEN));</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> this.formatters.put(MessageType.HELP, new BukkitMessageFormatter(ChatColor.AQUA, ChatColor.GREEN, ChatColor.YELLOW));</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"> Pattern versionPattern = Pattern.compile("\\(MC: (\\d)\\.(\\d+)\\.?(\\d+?)?\\)");</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> Matcher matcher = versionPattern.matcher(Bukkit.getVersion());</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> if (matcher.find()) {</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> this.mcMinorVersion = ACFUtil.parseInt(matcher.toMatchResult().group(2), 0);</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> this.mcPatchVersion = ACFUtil.parseInt(matcher.toMatchResult().group(3), 0);</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> } else {</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> this.mcMinorVersion = -1;</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> this.mcPatchVersion = -1;</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> }</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> Bukkit.getHelpMap().registerHelpTopicFactory(BukkitRootCommand.class, command -> {</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> if (hasUnstableAPI("help")) {</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> return new ACFBukkitHelpTopic(this, (BukkitRootCommand) command);</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> } else {</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> return new GenericCommandHelpTopic(command);</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> }</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> });</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"></span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> Bukkit.getPluginManager().registerEvents(new ACFBukkitListener(this, plugin), plugin);</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"></span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> Bukkit.getPluginManager().registerEvents(new ACFBukkitListener(this, plugin), plugin);</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"></span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> getLocales(); // auto load locales</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> scheduler.createLocaleTask(plugin, () -> {</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> if (this.cantReadLocale || !this.autoDetectFromClient) {</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> return;</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> }</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"> Bukkit.getOnlinePlayers().forEach(this::readPlayerLocale);</span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> }, 30, 30);</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> getLocales(); // auto load locales</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> scheduler.createLocaleTask(plugin, () -> {</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> if (this.cantReadLocale || !this.autoDetectFromClient) {</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> return;</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> }</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> Bukkit.getOnlinePlayers().forEach(this::readPlayerLocale);</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> }, 30, 30);</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"></span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> this.validNamePredicate = ACFBukkitUtil::isValidName;</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"></span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> registerDependency(plugin.getClass(), plugin);</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> registerDependency(Logger.class, plugin.getLogger());</span>
|
||||
|
||||
@@ -76,7 +76,7 @@ loadScripts(document, 'script');</script>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-36">ACFBungeeUtil</a></span>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-37">ACFBungeeUtil</a></span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
@@ -140,7 +140,7 @@ loadScripts(document, 'script');</script>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isChatColorAColor(net.md_5.bungee.api.ChatColor)" class="member-name-link">isChatColorAColor</a><wbr>(net.md_5.bungee.api.ChatColor chatColor)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#removeColors(java.lang.String)" class="member-name-link">removeColors</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> msg)</code></div>
|
||||
@@ -186,7 +186,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="COLOR_CHAR">
|
||||
<h3>COLOR_CHAR</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">char</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-80">COLOR_CHAR</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">char</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-81">COLOR_CHAR</a></span></div>
|
||||
<dl class="notes">
|
||||
<dt>See Also:</dt>
|
||||
<dd>
|
||||
@@ -208,7 +208,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="<init>()">
|
||||
<h3>ACFBungeeUtil</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-36">ACFBungeeUtil</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-37">ACFBungeeUtil</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -222,14 +222,14 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="color(java.lang.String)">
|
||||
<h3>color</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-38">color</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-39">color</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="sendMsg(net.md_5.bungee.api.CommandSender,java.lang.String)">
|
||||
<h3>sendMsg</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public static</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-47">sendMsg</a></span><wbr><span class="parameters">(net.md_5.bungee.api.CommandSender player,
|
||||
</span><span class="modifiers">public static</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-48">sendMsg</a></span><wbr><span class="parameters">(net.md_5.bungee.api.CommandSender player,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
|
||||
<div class="block">Move to Message Keys on the CommandIssuer</div>
|
||||
@@ -238,13 +238,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="removeColors(java.lang.String)">
|
||||
<h3>removeColors</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-55">removeColors</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> msg)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-56">removeColors</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> msg)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="replaceChatString(java.lang.String,java.lang.String,java.lang.String)">
|
||||
<h3>replaceChatString</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-59">replaceChatString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-60">replaceChatString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> replace,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> with)</span></div>
|
||||
</section>
|
||||
@@ -252,7 +252,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="replaceChatString(java.lang.String,java.util.regex.Pattern,java.lang.String)">
|
||||
<h3>replaceChatString</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-63">replaceChatString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-64">replaceChatString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html" title="class or interface in java.util.regex" class="external-link">Pattern</a> replace,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> with)</span></div>
|
||||
</section>
|
||||
@@ -260,26 +260,26 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getLastColors(java.lang.String)">
|
||||
<h3>getLastColors</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-82">getLastColors</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> input)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-83">getLastColors</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> input)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isChatColorAColor(net.md_5.bungee.api.ChatColor)">
|
||||
<h3>isChatColorAColor</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-106">isChatColorAColor</a></span><wbr><span class="parameters">(net.md_5.bungee.api.ChatColor chatColor)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-107">isChatColorAColor</a></span><wbr><span class="parameters">(net.md_5.bungee.api.ChatColor chatColor)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="findPlayerSmart(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>findPlayerSmart</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">net.md_5.bungee.api.connection.ProxiedPlayer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-113">findPlayerSmart</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">net.md_5.bungee.api.connection.ProxiedPlayer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-114">findPlayerSmart</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> search)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="findPlayerSmart(net.md_5.bungee.api.CommandSender,java.lang.String)">
|
||||
<h3>findPlayerSmart</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">net.md_5.bungee.api.connection.ProxiedPlayer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-144">findPlayerSmart</a></span><wbr><span class="parameters">(net.md_5.bungee.api.CommandSender requester,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">net.md_5.bungee.api.connection.ProxiedPlayer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-145">findPlayerSmart</a></span><wbr><span class="parameters">(net.md_5.bungee.api.CommandSender requester,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> search)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
|
||||
<div class="block">Please move to the CommandIssuer version</div>
|
||||
@@ -288,13 +288,14 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="isValidName(java.lang.String)">
|
||||
<h3>isValidName</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-152">isValidName</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-153">isValidName</a></span><wbr><span class="parameters">(@Nullable
|
||||
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="validate(T,java.lang.String,java.lang.Object...)">
|
||||
<h3 id="validate(java.lang.Object,java.lang.String,java.lang.Object[])">validate</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><T></span> <span class="return-type">T</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-156">validate</a></span><wbr><span class="parameters">(T object,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><T></span> <span class="return-type">T</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFBungeeUtil.html#line-157">validate</a></span><wbr><span class="parameters">(T object,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>... values)</span></div>
|
||||
</section>
|
||||
|
||||
@@ -287,13 +287,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getPlugin()">
|
||||
<h3>getPlugin</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">net.md_5.bungee.api.plugin.Plugin</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-82">getPlugin</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">net.md_5.bungee.api.plugin.Plugin</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-84">getPlugin</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getCommandContexts()">
|
||||
<h3>getCommandContexts</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandContexts<<a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-86">getCommandContexts</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandContexts<<a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-88">getCommandContexts</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandContexts</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -303,7 +303,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandCompletions()">
|
||||
<h3>getCommandCompletions</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletions<<a href="BungeeCommandCompletionContext.html" title="class in co.aikar.commands">BungeeCommandCompletionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-94">getCommandCompletions</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletions<<a href="BungeeCommandCompletionContext.html" title="class in co.aikar.commands">BungeeCommandCompletionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-96">getCommandCompletions</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandCompletions</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -313,7 +313,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getLocales()">
|
||||
<h3>getLocales</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="BungeeLocales.html" title="class in co.aikar.commands">BungeeLocales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-102">getLocales</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="BungeeLocales.html" title="class in co.aikar.commands">BungeeLocales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-104">getLocales</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getLocales</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -323,13 +323,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="readLocale(net.md_5.bungee.api.connection.ProxiedPlayer)">
|
||||
<h3>readLocale</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-111">readLocale</a></span><wbr><span class="parameters">(net.md_5.bungee.api.connection.ProxiedPlayer player)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-113">readLocale</a></span><wbr><span class="parameters">(net.md_5.bungee.api.connection.ProxiedPlayer player)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="registerCommand(co.aikar.commands.BaseCommand)">
|
||||
<h3>registerCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-123">registerCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-125">registerCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>registerCommand</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -339,25 +339,25 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="unregisterCommand(co.aikar.commands.BaseCommand)">
|
||||
<h3>unregisterCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-137">unregisterCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-139">unregisterCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="unregisterCommand(co.aikar.commands.BungeeRootCommand)">
|
||||
<h3>unregisterCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-150">unregisterCommand</a></span><wbr><span class="parameters">(<a href="BungeeRootCommand.html" title="class in co.aikar.commands">BungeeRootCommand</a> command)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-152">unregisterCommand</a></span><wbr><span class="parameters">(<a href="BungeeRootCommand.html" title="class in co.aikar.commands">BungeeRootCommand</a> command)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="unregisterCommands()">
|
||||
<h3>unregisterCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-154">unregisterCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-156">unregisterCommands</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="hasRegisteredCommands()">
|
||||
<h3>hasRegisteredCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-160">hasRegisteredCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-162">hasRegisteredCommands</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>hasRegisteredCommands</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -367,7 +367,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="isCommandIssuer(java.lang.Class)">
|
||||
<h3>isCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-165">isCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> aClass)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-167">isCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> aClass)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>isCommandIssuer</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -377,7 +377,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandIssuer(java.lang.Object)">
|
||||
<h3>getCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-170">getCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-172">getCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> issuer)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandIssuer</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -387,7 +387,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createRootCommand(java.lang.String)">
|
||||
<h3>createRootCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RootCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-178">createRootCommand</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RootCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-180">createRootCommand</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>createRootCommand</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -397,7 +397,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getRegisteredRootCommands()">
|
||||
<h3>getRegisteredRootCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><co.aikar.commands.RootCommand></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-183">getRegisteredRootCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><co.aikar.commands.RootCommand></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-185">getRegisteredRootCommands</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getRegisteredRootCommands</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
@@ -407,7 +407,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createCommandContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandParameter,co.aikar.commands.CommandIssuer,java.util.List,int,java.util.Map)">
|
||||
<h3>createCommandContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-188">createCommandContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-190">createCommandContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
co.aikar.commands.CommandParameter parameter,
|
||||
co.aikar.commands.CommandIssuer sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> args,
|
||||
@@ -422,7 +422,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createCompletionContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.lang.String,java.lang.String,java.lang.String[])">
|
||||
<h3>createCompletionContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletionContext</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-193">createCompletionContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletionContext</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-195">createCompletionContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
co.aikar.commands.CommandIssuer sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> input,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> config,
|
||||
@@ -436,7 +436,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createRegisteredCommand(co.aikar.commands.BaseCommand,java.lang.String,java.lang.reflect.Method,java.lang.String)">
|
||||
<h3>createRegisteredCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RegisteredCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-198">createRegisteredCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RegisteredCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-200">createRegisteredCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmdName,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link">Method</a> method,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> prefSubCommand)</span></div>
|
||||
@@ -449,7 +449,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createConditionContext(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>createConditionContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-203">createConditionContext</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-205">createConditionContext</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> config)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
@@ -460,7 +460,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="log(co.aikar.commands.LogLevel,java.lang.String,java.lang.Throwable)">
|
||||
<h3>log</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-208">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-210">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a> throwable)</span></div>
|
||||
<dl class="notes">
|
||||
@@ -472,7 +472,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandPrefix(co.aikar.commands.CommandIssuer)">
|
||||
<h3>getCommandPrefix</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-221">getCommandPrefix</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/BungeeCommandManager.html#line-223">getCommandPrefix</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
<dd><code>getCommandPrefix</code> in class <code>co.aikar.commands.CommandManager<net.md_5.bungee.api.CommandSender,<wbr><a href="BungeeCommandIssuer.html" title="class in co.aikar.commands">BungeeCommandIssuer</a>,<wbr>net.md_5.bungee.api.ChatColor,<wbr><a href="BungeeMessageFormatter.html" title="class in co.aikar.commands">BungeeMessageFormatter</a>,<wbr><a href="BungeeCommandExecutionContext.html" title="class in co.aikar.commands">BungeeCommandExecutionContext</a>,<wbr><a href="BungeeConditionContext.html" title="class in co.aikar.commands">BungeeConditionContext</a>></code></dd>
|
||||
|
||||
@@ -40,141 +40,140 @@
|
||||
<span class="source-line-no">027</span><span id="line-27">import net.md_5.bungee.api.CommandSender;</span>
|
||||
<span class="source-line-no">028</span><span id="line-28">import net.md_5.bungee.api.ProxyServer;</span>
|
||||
<span class="source-line-no">029</span><span id="line-29">import net.md_5.bungee.api.connection.ProxiedPlayer;</span>
|
||||
<span class="source-line-no">030</span><span id="line-30"></span>
|
||||
<span class="source-line-no">031</span><span id="line-31">import java.util.ArrayList;</span>
|
||||
<span class="source-line-no">032</span><span id="line-32">import java.util.List;</span>
|
||||
<span class="source-line-no">033</span><span id="line-33">import java.util.regex.Pattern;</span>
|
||||
<span class="source-line-no">034</span><span id="line-34">import java.util.stream.Collectors;</span>
|
||||
<span class="source-line-no">035</span><span id="line-35"></span>
|
||||
<span class="source-line-no">036</span><span id="line-36">public class ACFBungeeUtil {</span>
|
||||
<span class="source-line-no">037</span><span id="line-37"></span>
|
||||
<span class="source-line-no">038</span><span id="line-38"> public static String color(String message) {</span>
|
||||
<span class="source-line-no">039</span><span id="line-39"> return ChatColor.translateAlternateColorCodes('&', message);</span>
|
||||
<span class="source-line-no">040</span><span id="line-40"> }</span>
|
||||
<span class="source-line-no">041</span><span id="line-41"></span>
|
||||
<span class="source-line-no">042</span><span id="line-42"> /**</span>
|
||||
<span class="source-line-no">043</span><span id="line-43"> * Move to Message Keys on the CommandIssuer</span>
|
||||
<span class="source-line-no">044</span><span id="line-44"> *</span>
|
||||
<span class="source-line-no">045</span><span id="line-45"> * @deprecated</span>
|
||||
<span class="source-line-no">046</span><span id="line-46"> */</span>
|
||||
<span class="source-line-no">047</span><span id="line-47"> @Deprecated</span>
|
||||
<span class="source-line-no">048</span><span id="line-48"> public static void sendMsg(CommandSender player, String message) {</span>
|
||||
<span class="source-line-no">049</span><span id="line-49"> message = color(message);</span>
|
||||
<span class="source-line-no">050</span><span id="line-50"> for (String msg : ACFPatterns.NEWLINE.split(message)) {</span>
|
||||
<span class="source-line-no">051</span><span id="line-51"> player.sendMessage(msg);</span>
|
||||
<span class="source-line-no">052</span><span id="line-52"> }</span>
|
||||
<span class="source-line-no">053</span><span id="line-53"> }</span>
|
||||
<span class="source-line-no">054</span><span id="line-54"></span>
|
||||
<span class="source-line-no">055</span><span id="line-55"> public static String removeColors(String msg) {</span>
|
||||
<span class="source-line-no">056</span><span id="line-56"> return ChatColor.stripColor(color(msg));</span>
|
||||
<span class="source-line-no">057</span><span id="line-57"> }</span>
|
||||
<span class="source-line-no">058</span><span id="line-58"></span>
|
||||
<span class="source-line-no">059</span><span id="line-59"> public static String replaceChatString(String message, String replace, String with) {</span>
|
||||
<span class="source-line-no">060</span><span id="line-60"> return replaceChatString(message, Pattern.compile(Pattern.quote(replace), Pattern.CASE_INSENSITIVE), with);</span>
|
||||
<span class="source-line-no">061</span><span id="line-61"> }</span>
|
||||
<span class="source-line-no">062</span><span id="line-62"></span>
|
||||
<span class="source-line-no">063</span><span id="line-63"> public static String replaceChatString(String message, Pattern replace, String with) {</span>
|
||||
<span class="source-line-no">064</span><span id="line-64"> final String[] split = replace.split(message + "1");</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"></span>
|
||||
<span class="source-line-no">066</span><span id="line-66"> if (split.length < 2) {</span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> return replace.matcher(message).replaceAll(with);</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> }</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> message = split[0];</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"></span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> for (int i = 1; i < split.length; i++) {</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> final String prev = getLastColors(message);</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> message += with + prev + split[i];</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> }</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> return message.substring(0, message.length() - 1);</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> }</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"></span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> //Imported from org.bukkit.ChatColor</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"></span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> public static final char COLOR_CHAR = '\u00A7';</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"></span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> public static String getLastColors(String input) {</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> StringBuilder result = new StringBuilder();</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> int length = input.length();</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"></span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> // Search backwards from the end as it is faster</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> for (int index = length - 1; index > -1; index--) {</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> char section = input.charAt(index);</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> if (section == COLOR_CHAR && index < length - 1) {</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> char c = input.charAt(index + 1);</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> ChatColor color = ChatColor.getByChar(c);</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"></span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> if (color != null) {</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> result.insert(0, color.toString());</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"></span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> // Once we find a color or reset we can stop searching</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> if (isChatColorAColor(color) || color.equals(ChatColor.RESET)) {</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> break;</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> }</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> }</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> }</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> }</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> return result.toString();</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> }</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"></span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> public static boolean isChatColorAColor(ChatColor chatColor) {</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> return chatColor != ChatColor.MAGIC && chatColor != ChatColor.BOLD</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> && chatColor != ChatColor.STRIKETHROUGH && chatColor != ChatColor.UNDERLINE</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> && chatColor != ChatColor.ITALIC;</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> }</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"></span>
|
||||
<span class="source-line-no">030</span><span id="line-30">import org.jetbrains.annotations.Nullable;</span>
|
||||
<span class="source-line-no">031</span><span id="line-31"></span>
|
||||
<span class="source-line-no">032</span><span id="line-32">import java.util.ArrayList;</span>
|
||||
<span class="source-line-no">033</span><span id="line-33">import java.util.List;</span>
|
||||
<span class="source-line-no">034</span><span id="line-34">import java.util.regex.Pattern;</span>
|
||||
<span class="source-line-no">035</span><span id="line-35">import java.util.stream.Collectors;</span>
|
||||
<span class="source-line-no">036</span><span id="line-36"></span>
|
||||
<span class="source-line-no">037</span><span id="line-37">public class ACFBungeeUtil {</span>
|
||||
<span class="source-line-no">038</span><span id="line-38"></span>
|
||||
<span class="source-line-no">039</span><span id="line-39"> public static String color(String message) {</span>
|
||||
<span class="source-line-no">040</span><span id="line-40"> return ChatColor.translateAlternateColorCodes('&', message);</span>
|
||||
<span class="source-line-no">041</span><span id="line-41"> }</span>
|
||||
<span class="source-line-no">042</span><span id="line-42"></span>
|
||||
<span class="source-line-no">043</span><span id="line-43"> /**</span>
|
||||
<span class="source-line-no">044</span><span id="line-44"> * Move to Message Keys on the CommandIssuer</span>
|
||||
<span class="source-line-no">045</span><span id="line-45"> *</span>
|
||||
<span class="source-line-no">046</span><span id="line-46"> * @deprecated</span>
|
||||
<span class="source-line-no">047</span><span id="line-47"> */</span>
|
||||
<span class="source-line-no">048</span><span id="line-48"> @Deprecated</span>
|
||||
<span class="source-line-no">049</span><span id="line-49"> public static void sendMsg(CommandSender player, String message) {</span>
|
||||
<span class="source-line-no">050</span><span id="line-50"> message = color(message);</span>
|
||||
<span class="source-line-no">051</span><span id="line-51"> for (String msg : ACFPatterns.NEWLINE.split(message)) {</span>
|
||||
<span class="source-line-no">052</span><span id="line-52"> player.sendMessage(msg);</span>
|
||||
<span class="source-line-no">053</span><span id="line-53"> }</span>
|
||||
<span class="source-line-no">054</span><span id="line-54"> }</span>
|
||||
<span class="source-line-no">055</span><span id="line-55"></span>
|
||||
<span class="source-line-no">056</span><span id="line-56"> public static String removeColors(String msg) {</span>
|
||||
<span class="source-line-no">057</span><span id="line-57"> return ChatColor.stripColor(color(msg));</span>
|
||||
<span class="source-line-no">058</span><span id="line-58"> }</span>
|
||||
<span class="source-line-no">059</span><span id="line-59"></span>
|
||||
<span class="source-line-no">060</span><span id="line-60"> public static String replaceChatString(String message, String replace, String with) {</span>
|
||||
<span class="source-line-no">061</span><span id="line-61"> return replaceChatString(message, Pattern.compile(Pattern.quote(replace), Pattern.CASE_INSENSITIVE), with);</span>
|
||||
<span class="source-line-no">062</span><span id="line-62"> }</span>
|
||||
<span class="source-line-no">063</span><span id="line-63"></span>
|
||||
<span class="source-line-no">064</span><span id="line-64"> public static String replaceChatString(String message, Pattern replace, String with) {</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"> final String[] split = replace.split(message + "1");</span>
|
||||
<span class="source-line-no">066</span><span id="line-66"></span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> if (split.length < 2) {</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> return replace.matcher(message).replaceAll(with);</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> }</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> message = split[0];</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"></span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> for (int i = 1; i < split.length; i++) {</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> final String prev = getLastColors(message);</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> message += with + prev + split[i];</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> }</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> return message.substring(0, message.length() - 1);</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> }</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"></span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> //Imported from org.bukkit.ChatColor</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"></span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> public static final char COLOR_CHAR = '\u00A7';</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"></span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> public static String getLastColors(String input) {</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> StringBuilder result = new StringBuilder();</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> int length = input.length();</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"></span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> // Search backwards from the end as it is faster</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> for (int index = length - 1; index > -1; index--) {</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> char section = input.charAt(index);</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> if (section == COLOR_CHAR && index < length - 1) {</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> char c = input.charAt(index + 1);</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> ChatColor color = ChatColor.getByChar(c);</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"></span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> if (color != null) {</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"> result.insert(0, color.toString());</span>
|
||||
<span class="source-line-no">096</span><span id="line-96"></span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> // Once we find a color or reset we can stop searching</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> if (isChatColorAColor(color) || color.equals(ChatColor.RESET)) {</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> break;</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> }</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> }</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> }</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> }</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> return result.toString();</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> }</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"></span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> public static boolean isChatColorAColor(ChatColor chatColor) {</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> return chatColor != ChatColor.MAGIC && chatColor != ChatColor.BOLD</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> && chatColor != ChatColor.STRIKETHROUGH && chatColor != ChatColor.UNDERLINE</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> && chatColor != ChatColor.ITALIC;</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> }</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"></span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> public static ProxiedPlayer findPlayerSmart(CommandIssuer issuer, String search) {</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> CommandSender requester = issuer.getIssuer();</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> String name = ACFUtil.replace(search, ":confirm", "");</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"></span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> List<ProxiedPlayer> matches = new ArrayList<>(ProxyServer.getInstance().matchPlayer(name));</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"></span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> if (matches.size() > 1) {</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> String allMatches = matches.stream().map(ProxiedPlayer::getName).collect(Collectors.joining(", "));</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH,</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> "{search}", name, "{all}", allMatches);</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> return null;</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> }</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"></span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> if (matches.isEmpty()) {</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> if (!isValidName(name)) {</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> return null;</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> }</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER,</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> "{search}", name);</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> return null;</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> }</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"></span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> return matches.get(0);</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> }</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"></span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> /**</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> * Please move to the CommandIssuer version</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> *</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> * @deprecated</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> */</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> public static ProxiedPlayer findPlayerSmart(CommandSender requester, String search) {</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> CommandManager manager = CommandManager.getCurrentCommandManager();</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> if (manager != null) {</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> return findPlayerSmart(manager.getCommandIssuer(requester), search);</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> }</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> throw new IllegalStateException("You may not use the ACFBungeeUtil#findPlayerSmart(CommandSender) async to the command execution.");</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> }</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"></span>
|
||||
<span class="source-line-no">152</span><span id="line-152"> public static boolean isValidName(String name) {</span>
|
||||
<span class="source-line-no">153</span><span id="line-153"> return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches();</span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> }</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"></span>
|
||||
<span class="source-line-no">156</span><span id="line-156"> public static <T> T validate(T object, String message, Object... values) {</span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> if (object == null) {</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> throw new NullPointerException(String.format(message, values));</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"> }</span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> return object;</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"> }</span>
|
||||
<span class="source-line-no">162</span><span id="line-162"></span>
|
||||
<span class="source-line-no">163</span><span id="line-163"></span>
|
||||
<span class="source-line-no">164</span><span id="line-164">}</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"></span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> public static ProxiedPlayer findPlayerSmart(CommandIssuer issuer, String search) {</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> CommandSender requester = issuer.getIssuer();</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> String name = ACFUtil.replace(search, ":confirm", "");</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"></span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> List<ProxiedPlayer> matches = new ArrayList<>(ProxyServer.getInstance().matchPlayer(name));</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"></span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> if (matches.size() > 1) {</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> String allMatches = matches.stream().map(ProxiedPlayer::getName).collect(Collectors.joining(", "));</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH,</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> "{search}", name, "{all}", allMatches);</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> return null;</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> }</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"></span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> if (matches.isEmpty()) {</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> if (!issuer.getManager().isValidName(name)) {</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> return null;</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> }</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER,</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> "{search}", name);</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> return null;</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> }</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"></span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> return matches.get(0);</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"> }</span>
|
||||
<span class="source-line-no">139</span><span id="line-139"></span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> /**</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> * Please move to the CommandIssuer version</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> *</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> * @deprecated</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> */</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> public static ProxiedPlayer findPlayerSmart(CommandSender requester, String search) {</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> CommandManager manager = CommandManager.getCurrentCommandManager();</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> if (manager != null) {</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> return findPlayerSmart(manager.getCommandIssuer(requester), search);</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> }</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> throw new IllegalStateException("You may not use the ACFBungeeUtil#findPlayerSmart(CommandSender) async to the command execution.");</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"> }</span>
|
||||
<span class="source-line-no">152</span><span id="line-152"></span>
|
||||
<span class="source-line-no">153</span><span id="line-153"> public static boolean isValidName(@Nullable String name) {</span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches();</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"> }</span>
|
||||
<span class="source-line-no">156</span><span id="line-156"></span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> public static <T> T validate(T object, String message, Object... values) {</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> if (object == null) {</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"> throw new NullPointerException(String.format(message, values));</span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> }</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"> return object;</span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> }</span>
|
||||
<span class="source-line-no">163</span><span id="line-163">}</span>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -79,163 +79,165 @@
|
||||
<span class="source-line-no">066</span><span id="line-66"></span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> getLocales(); // auto load locales</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"></span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> plugin.getProxy().getPluginManager().registerListener(plugin, new ACFBungeeListener(this, plugin));</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> this.validNamePredicate = ACFBungeeUtil::isValidName;</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"></span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> //BungeeCord has no event for listening for client setting changes</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> plugin.getProxy().getScheduler().schedule(plugin, () -> {</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> ProxyServer.getInstance().getPlayers().forEach(this::readLocale);</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> }, 5, 5, TimeUnit.SECONDS);</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"></span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> // TODO more default dependencies for bungee</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> registerDependency(plugin.getClass(), plugin);</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> registerDependency(Plugin.class, plugin);</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> registerDependency(PluginDescription.class, plugin.getDescription());</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> }</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"></span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> public Plugin getPlugin() {</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> return this.plugin;</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> }</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"></span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> @Override</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> public synchronized CommandContexts<BungeeCommandExecutionContext> getCommandContexts() {</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> if (this.contexts == null) {</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> this.contexts = new BungeeCommandContexts(this);</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> }</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> return contexts;</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> }</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"></span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> @Override</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"> public synchronized CommandCompletions<BungeeCommandCompletionContext> getCommandCompletions() {</span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> if (this.completions == null) {</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> this.completions = new BungeeCommandCompletions(this);</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> }</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> return completions;</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> }</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"></span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> @Override</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> public BungeeLocales getLocales() {</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> if (this.locales == null) {</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> this.locales = new BungeeLocales(this);</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> this.locales.loadLanguages();</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> }</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> return locales;</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> }</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"></span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> public void readLocale(ProxiedPlayer player) {</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"> if (!player.isConnected()) {</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> return;</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> }</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"></span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> //This can be null if we didn't receive a settings packet</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> Locale locale = player.getLocale();</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> if (locale != null) {</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> setIssuerLocale(player, player.getLocale());</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> }</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> }</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"></span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> @Override</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> public void registerCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> command.onRegister(this);</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> BungeeRootCommand bungeeCommand = (BungeeRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> if (!bungeeCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> this.plugin.getProxy().getPluginManager().registerCommand(this.plugin, bungeeCommand);</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> }</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> bungeeCommand.isRegistered = true;</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> registeredCommands.put(commandName, bungeeCommand);</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> }</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> }</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"></span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> public void unregisterCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> BungeeRootCommand bungeeCommand = (BungeeRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> bungeeCommand.getSubCommands().values().removeAll(command.subCommands.values());</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> if (bungeeCommand.getSubCommands().isEmpty() && bungeeCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> unregisterCommand(bungeeCommand);</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> bungeeCommand.isRegistered = false;</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> registeredCommands.remove(commandName);</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> }</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> }</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> }</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"></span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> public void unregisterCommand(BungeeRootCommand command) {</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"> this.plugin.getProxy().getPluginManager().unregisterCommand(command);</span>
|
||||
<span class="source-line-no">152</span><span id="line-152"> }</span>
|
||||
<span class="source-line-no">153</span><span id="line-153"></span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> public void unregisterCommands() {</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"> for (Map.Entry<String, BungeeRootCommand> entry : registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">156</span><span id="line-156"> unregisterCommand(entry.getValue());</span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> }</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> }</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"></span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> @Override</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"> public boolean hasRegisteredCommands() {</span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> return !registeredCommands.isEmpty();</span>
|
||||
<span class="source-line-no">163</span><span id="line-163"> }</span>
|
||||
<span class="source-line-no">164</span><span id="line-164"></span>
|
||||
<span class="source-line-no">165</span><span id="line-165"> @Override</span>
|
||||
<span class="source-line-no">166</span><span id="line-166"> public boolean isCommandIssuer(Class<?> aClass) {</span>
|
||||
<span class="source-line-no">167</span><span id="line-167"> return CommandSender.class.isAssignableFrom(aClass);</span>
|
||||
<span class="source-line-no">168</span><span id="line-168"> }</span>
|
||||
<span class="source-line-no">169</span><span id="line-169"></span>
|
||||
<span class="source-line-no">170</span><span id="line-170"> @Override</span>
|
||||
<span class="source-line-no">171</span><span id="line-171"> public BungeeCommandIssuer getCommandIssuer(Object issuer) {</span>
|
||||
<span class="source-line-no">172</span><span id="line-172"> if (!(issuer instanceof CommandSender)) {</span>
|
||||
<span class="source-line-no">173</span><span id="line-173"> throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer.");</span>
|
||||
<span class="source-line-no">174</span><span id="line-174"> }</span>
|
||||
<span class="source-line-no">175</span><span id="line-175"> return new BungeeCommandIssuer(this, (CommandSender) issuer);</span>
|
||||
<span class="source-line-no">176</span><span id="line-176"> }</span>
|
||||
<span class="source-line-no">177</span><span id="line-177"></span>
|
||||
<span class="source-line-no">178</span><span id="line-178"> @Override</span>
|
||||
<span class="source-line-no">179</span><span id="line-179"> public RootCommand createRootCommand(String cmd) {</span>
|
||||
<span class="source-line-no">180</span><span id="line-180"> return new BungeeRootCommand(this, cmd);</span>
|
||||
<span class="source-line-no">181</span><span id="line-181"> }</span>
|
||||
<span class="source-line-no">182</span><span id="line-182"></span>
|
||||
<span class="source-line-no">183</span><span id="line-183"> @Override</span>
|
||||
<span class="source-line-no">184</span><span id="line-184"> public Collection<RootCommand> getRegisteredRootCommands() {</span>
|
||||
<span class="source-line-no">185</span><span id="line-185"> return Collections.unmodifiableCollection(registeredCommands.values());</span>
|
||||
<span class="source-line-no">186</span><span id="line-186"> }</span>
|
||||
<span class="source-line-no">187</span><span id="line-187"></span>
|
||||
<span class="source-line-no">188</span><span id="line-188"> @Override</span>
|
||||
<span class="source-line-no">189</span><span id="line-189"> public BungeeCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) {</span>
|
||||
<span class="source-line-no">190</span><span id="line-190"> return new BungeeCommandExecutionContext(command, parameter, (BungeeCommandIssuer) sender, args, i, passedArgs);</span>
|
||||
<span class="source-line-no">191</span><span id="line-191"> }</span>
|
||||
<span class="source-line-no">192</span><span id="line-192"></span>
|
||||
<span class="source-line-no">193</span><span id="line-193"> @Override</span>
|
||||
<span class="source-line-no">194</span><span id="line-194"> public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) {</span>
|
||||
<span class="source-line-no">195</span><span id="line-195"> return new BungeeCommandCompletionContext(command, (BungeeCommandIssuer) sender, input, config, args);</span>
|
||||
<span class="source-line-no">196</span><span id="line-196"> }</span>
|
||||
<span class="source-line-no">197</span><span id="line-197"></span>
|
||||
<span class="source-line-no">198</span><span id="line-198"> @Override</span>
|
||||
<span class="source-line-no">199</span><span id="line-199"> public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) {</span>
|
||||
<span class="source-line-no">200</span><span id="line-200"> return new RegisteredCommand(command, cmdName, method, prefSubCommand);</span>
|
||||
<span class="source-line-no">201</span><span id="line-201"> }</span>
|
||||
<span class="source-line-no">202</span><span id="line-202"></span>
|
||||
<span class="source-line-no">203</span><span id="line-203"> @Override</span>
|
||||
<span class="source-line-no">204</span><span id="line-204"> public BungeeConditionContext createConditionContext(CommandIssuer issuer, String config) {</span>
|
||||
<span class="source-line-no">205</span><span id="line-205"> return new BungeeConditionContext((BungeeCommandIssuer) issuer, config);</span>
|
||||
<span class="source-line-no">206</span><span id="line-206"> }</span>
|
||||
<span class="source-line-no">207</span><span id="line-207"></span>
|
||||
<span class="source-line-no">208</span><span id="line-208"> @Override</span>
|
||||
<span class="source-line-no">209</span><span id="line-209"> public void log(LogLevel level, String message, Throwable throwable) {</span>
|
||||
<span class="source-line-no">210</span><span id="line-210"> Logger logger = this.plugin.getLogger();</span>
|
||||
<span class="source-line-no">211</span><span id="line-211"> Level logLevel = level == LogLevel.INFO ? Level.INFO : Level.SEVERE;</span>
|
||||
<span class="source-line-no">212</span><span id="line-212"> logger.log(logLevel, LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">213</span><span id="line-213"> if (throwable != null) {</span>
|
||||
<span class="source-line-no">214</span><span id="line-214"> for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) {</span>
|
||||
<span class="source-line-no">215</span><span id="line-215"> logger.log(logLevel, LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">216</span><span id="line-216"> }</span>
|
||||
<span class="source-line-no">217</span><span id="line-217"> }</span>
|
||||
<span class="source-line-no">218</span><span id="line-218"> }</span>
|
||||
<span class="source-line-no">219</span><span id="line-219"></span>
|
||||
<span class="source-line-no">220</span><span id="line-220"></span>
|
||||
<span class="source-line-no">221</span><span id="line-221"> @Override</span>
|
||||
<span class="source-line-no">222</span><span id="line-222"> public String getCommandPrefix(CommandIssuer issuer) {</span>
|
||||
<span class="source-line-no">223</span><span id="line-223"> return issuer.isPlayer() ? "/" : "";</span>
|
||||
<span class="source-line-no">224</span><span id="line-224"> }</span>
|
||||
<span class="source-line-no">225</span><span id="line-225">}</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> plugin.getProxy().getPluginManager().registerListener(plugin, new ACFBungeeListener(this, plugin));</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"></span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> //BungeeCord has no event for listening for client setting changes</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> plugin.getProxy().getScheduler().schedule(plugin, () -> {</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> ProxyServer.getInstance().getPlayers().forEach(this::readLocale);</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> }, 5, 5, TimeUnit.SECONDS);</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"></span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> // TODO more default dependencies for bungee</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> registerDependency(plugin.getClass(), plugin);</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> registerDependency(Plugin.class, plugin);</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> registerDependency(PluginDescription.class, plugin.getDescription());</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> }</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"></span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> public Plugin getPlugin() {</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> return this.plugin;</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> }</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"></span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> @Override</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> public synchronized CommandContexts<BungeeCommandExecutionContext> getCommandContexts() {</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> if (this.contexts == null) {</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> this.contexts = new BungeeCommandContexts(this);</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> }</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> return contexts;</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> }</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"></span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> @Override</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> public synchronized CommandCompletions<BungeeCommandCompletionContext> getCommandCompletions() {</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> if (this.completions == null) {</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> this.completions = new BungeeCommandCompletions(this);</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> }</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> return completions;</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> }</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"></span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> @Override</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> public BungeeLocales getLocales() {</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> if (this.locales == null) {</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> this.locales = new BungeeLocales(this);</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> this.locales.loadLanguages();</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> }</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> return locales;</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> }</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"></span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> public void readLocale(ProxiedPlayer player) {</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> if (!player.isConnected()) {</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> return;</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> }</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"></span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> //This can be null if we didn't receive a settings packet</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> Locale locale = player.getLocale();</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> if (locale != null) {</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> setIssuerLocale(player, player.getLocale());</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> }</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> }</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"></span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> @Override</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> public void registerCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> command.onRegister(this);</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> BungeeRootCommand bungeeCommand = (BungeeRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> if (!bungeeCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> this.plugin.getProxy().getPluginManager().registerCommand(this.plugin, bungeeCommand);</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> }</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> bungeeCommand.isRegistered = true;</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> registeredCommands.put(commandName, bungeeCommand);</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> }</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> }</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"></span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> public void unregisterCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> BungeeRootCommand bungeeCommand = (BungeeRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> bungeeCommand.getSubCommands().values().removeAll(command.subCommands.values());</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> if (bungeeCommand.getSubCommands().isEmpty() && bungeeCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> unregisterCommand(bungeeCommand);</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> bungeeCommand.isRegistered = false;</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> registeredCommands.remove(commandName);</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> }</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> }</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> }</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"></span>
|
||||
<span class="source-line-no">152</span><span id="line-152"> public void unregisterCommand(BungeeRootCommand command) {</span>
|
||||
<span class="source-line-no">153</span><span id="line-153"> this.plugin.getProxy().getPluginManager().unregisterCommand(command);</span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> }</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"></span>
|
||||
<span class="source-line-no">156</span><span id="line-156"> public void unregisterCommands() {</span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> for (Map.Entry<String, BungeeRootCommand> entry : registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> unregisterCommand(entry.getValue());</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"> }</span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> }</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"></span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> @Override</span>
|
||||
<span class="source-line-no">163</span><span id="line-163"> public boolean hasRegisteredCommands() {</span>
|
||||
<span class="source-line-no">164</span><span id="line-164"> return !registeredCommands.isEmpty();</span>
|
||||
<span class="source-line-no">165</span><span id="line-165"> }</span>
|
||||
<span class="source-line-no">166</span><span id="line-166"></span>
|
||||
<span class="source-line-no">167</span><span id="line-167"> @Override</span>
|
||||
<span class="source-line-no">168</span><span id="line-168"> public boolean isCommandIssuer(Class<?> aClass) {</span>
|
||||
<span class="source-line-no">169</span><span id="line-169"> return CommandSender.class.isAssignableFrom(aClass);</span>
|
||||
<span class="source-line-no">170</span><span id="line-170"> }</span>
|
||||
<span class="source-line-no">171</span><span id="line-171"></span>
|
||||
<span class="source-line-no">172</span><span id="line-172"> @Override</span>
|
||||
<span class="source-line-no">173</span><span id="line-173"> public BungeeCommandIssuer getCommandIssuer(Object issuer) {</span>
|
||||
<span class="source-line-no">174</span><span id="line-174"> if (!(issuer instanceof CommandSender)) {</span>
|
||||
<span class="source-line-no">175</span><span id="line-175"> throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer.");</span>
|
||||
<span class="source-line-no">176</span><span id="line-176"> }</span>
|
||||
<span class="source-line-no">177</span><span id="line-177"> return new BungeeCommandIssuer(this, (CommandSender) issuer);</span>
|
||||
<span class="source-line-no">178</span><span id="line-178"> }</span>
|
||||
<span class="source-line-no">179</span><span id="line-179"></span>
|
||||
<span class="source-line-no">180</span><span id="line-180"> @Override</span>
|
||||
<span class="source-line-no">181</span><span id="line-181"> public RootCommand createRootCommand(String cmd) {</span>
|
||||
<span class="source-line-no">182</span><span id="line-182"> return new BungeeRootCommand(this, cmd);</span>
|
||||
<span class="source-line-no">183</span><span id="line-183"> }</span>
|
||||
<span class="source-line-no">184</span><span id="line-184"></span>
|
||||
<span class="source-line-no">185</span><span id="line-185"> @Override</span>
|
||||
<span class="source-line-no">186</span><span id="line-186"> public Collection<RootCommand> getRegisteredRootCommands() {</span>
|
||||
<span class="source-line-no">187</span><span id="line-187"> return Collections.unmodifiableCollection(registeredCommands.values());</span>
|
||||
<span class="source-line-no">188</span><span id="line-188"> }</span>
|
||||
<span class="source-line-no">189</span><span id="line-189"></span>
|
||||
<span class="source-line-no">190</span><span id="line-190"> @Override</span>
|
||||
<span class="source-line-no">191</span><span id="line-191"> public BungeeCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) {</span>
|
||||
<span class="source-line-no">192</span><span id="line-192"> return new BungeeCommandExecutionContext(command, parameter, (BungeeCommandIssuer) sender, args, i, passedArgs);</span>
|
||||
<span class="source-line-no">193</span><span id="line-193"> }</span>
|
||||
<span class="source-line-no">194</span><span id="line-194"></span>
|
||||
<span class="source-line-no">195</span><span id="line-195"> @Override</span>
|
||||
<span class="source-line-no">196</span><span id="line-196"> public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) {</span>
|
||||
<span class="source-line-no">197</span><span id="line-197"> return new BungeeCommandCompletionContext(command, (BungeeCommandIssuer) sender, input, config, args);</span>
|
||||
<span class="source-line-no">198</span><span id="line-198"> }</span>
|
||||
<span class="source-line-no">199</span><span id="line-199"></span>
|
||||
<span class="source-line-no">200</span><span id="line-200"> @Override</span>
|
||||
<span class="source-line-no">201</span><span id="line-201"> public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) {</span>
|
||||
<span class="source-line-no">202</span><span id="line-202"> return new RegisteredCommand(command, cmdName, method, prefSubCommand);</span>
|
||||
<span class="source-line-no">203</span><span id="line-203"> }</span>
|
||||
<span class="source-line-no">204</span><span id="line-204"></span>
|
||||
<span class="source-line-no">205</span><span id="line-205"> @Override</span>
|
||||
<span class="source-line-no">206</span><span id="line-206"> public BungeeConditionContext createConditionContext(CommandIssuer issuer, String config) {</span>
|
||||
<span class="source-line-no">207</span><span id="line-207"> return new BungeeConditionContext((BungeeCommandIssuer) issuer, config);</span>
|
||||
<span class="source-line-no">208</span><span id="line-208"> }</span>
|
||||
<span class="source-line-no">209</span><span id="line-209"></span>
|
||||
<span class="source-line-no">210</span><span id="line-210"> @Override</span>
|
||||
<span class="source-line-no">211</span><span id="line-211"> public void log(LogLevel level, String message, Throwable throwable) {</span>
|
||||
<span class="source-line-no">212</span><span id="line-212"> Logger logger = this.plugin.getLogger();</span>
|
||||
<span class="source-line-no">213</span><span id="line-213"> Level logLevel = level == LogLevel.INFO ? Level.INFO : Level.SEVERE;</span>
|
||||
<span class="source-line-no">214</span><span id="line-214"> logger.log(logLevel, LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">215</span><span id="line-215"> if (throwable != null) {</span>
|
||||
<span class="source-line-no">216</span><span id="line-216"> for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) {</span>
|
||||
<span class="source-line-no">217</span><span id="line-217"> logger.log(logLevel, LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">218</span><span id="line-218"> }</span>
|
||||
<span class="source-line-no">219</span><span id="line-219"> }</span>
|
||||
<span class="source-line-no">220</span><span id="line-220"> }</span>
|
||||
<span class="source-line-no">221</span><span id="line-221"></span>
|
||||
<span class="source-line-no">222</span><span id="line-222"></span>
|
||||
<span class="source-line-no">223</span><span id="line-223"> @Override</span>
|
||||
<span class="source-line-no">224</span><span id="line-224"> public String getCommandPrefix(CommandIssuer issuer) {</span>
|
||||
<span class="source-line-no">225</span><span id="line-225"> return issuer.isPlayer() ? "/" : "";</span>
|
||||
<span class="source-line-no">226</span><span id="line-226"> }</span>
|
||||
<span class="source-line-no">227</span><span id="line-227">}</span>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ loadScripts(document, 'script');</script>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-50">CommandManager</a><IT,<wbr>I extends <a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>,<wbr>FT,<wbr>MF extends <a href="MessageFormatter.html" title="class in co.aikar.commands">MessageFormatter</a><FT>,<wbr>CEC extends <a href="CommandExecutionContext.html" title="class in co.aikar.commands">CommandExecutionContext</a><CEC,<wbr>I>,<wbr>CC extends <a href="ConditionContext.html" title="class in co.aikar.commands">ConditionContext</a><I>></span>
|
||||
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-51">CommandManager</a><IT,<wbr>I extends <a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>,<wbr>FT,<wbr>MF extends <a href="MessageFormatter.html" title="class in co.aikar.commands">MessageFormatter</a><FT>,<wbr>CEC extends <a href="CommandExecutionContext.html" title="class in co.aikar.commands">CommandExecutionContext</a><CEC,<wbr>I>,<wbr>CC extends <a href="ConditionContext.html" title="class in co.aikar.commands">ConditionContext</a><I>></span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
@@ -129,6 +129,9 @@ loadScripts(document, 'script');</script>
|
||||
<div class="col-first even-row-color"><code>protected boolean</code></div>
|
||||
<div class="col-second even-row-color"><code><a href="#usePerIssuerLocale" class="member-name-link">usePerIssuerLocale</a></code></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
<div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></code></div>
|
||||
<div class="col-second odd-row-color"><code><a href="#validNamePredicate" class="member-name-link">validNamePredicate</a></code></div>
|
||||
<div class="col-last odd-row-color"> </div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
@@ -311,29 +314,35 @@ loadScripts(document, 'script');</script>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">Gets a list of all currently supported languages for this manager.</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleUncaughtException(co.aikar.commands.BaseCommand,co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.util.List,java.lang.Throwable)" class="member-name-link">handleUncaughtException</a><wbr>(<a href="BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a> scope,
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getValidNamePredicate()" class="member-name-link">getValidNamePredicate</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleUncaughtException(co.aikar.commands.BaseCommand,co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.util.List,java.lang.Throwable)" class="member-name-link">handleUncaughtException</a><wbr>(<a href="BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a> scope,
|
||||
<a href="RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a> registeredCommand,
|
||||
<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> args,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a> t)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasPermission(co.aikar.commands.CommandIssuer,java.lang.String)" class="member-name-link">hasPermission</a><wbr>(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> permission)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasPermission(co.aikar.commands.CommandIssuer,java.util.Set)" class="member-name-link">hasPermission</a><wbr>(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> permissions)</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasPermission(co.aikar.commands.CommandIssuer,java.lang.String)" class="member-name-link">hasPermission</a><wbr>(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> permission)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasRegisteredCommands()" class="member-name-link">hasRegisteredCommands</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isCommandIssuer(java.lang.Class)" class="member-name-link">isCommandIssuer</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> type)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isLoggingUnhandledExceptions()" class="member-name-link">isLoggingUnhandledExceptions</a>()</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasPermission(co.aikar.commands.CommandIssuer,java.util.Set)" class="member-name-link">hasPermission</a><wbr>(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> permissions)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasRegisteredCommands()" class="member-name-link">hasRegisteredCommands</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isCommandIssuer(java.lang.Class)" class="member-name-link">isCommandIssuer</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> type)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isLoggingUnhandledExceptions()" class="member-name-link">isLoggingUnhandledExceptions</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#log(co.aikar.commands.LogLevel,java.lang.String)" class="member-name-link">log</a><wbr>(co.aikar.commands.LogLevel level,
|
||||
@@ -434,12 +443,15 @@ loadScripts(document, 'script');</script>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setIssuerLocale(IT,java.util.Locale)" class="member-name-link">setIssuerLocale</a><wbr>(<a href="CommandManager.html" title="type parameter in CommandManager">IT</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a> locale)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#usePerIssuerLocale(boolean)" class="member-name-link">usePerIssuerLocale</a><wbr>(boolean setting)</code></div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValidNamePredicate(java.util.function.Predicate)" class="member-name-link">setValidNamePredicate</a><wbr>(@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> isValidName)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#usingPerIssuerLocale()" class="member-name-link">usingPerIssuerLocale</a>()</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#usePerIssuerLocale(boolean)" class="member-name-link">usePerIssuerLocale</a><wbr>(boolean setting)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#usingPerIssuerLocale()" class="member-name-link">usingPerIssuerLocale</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -460,79 +472,85 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="rootCommands">
|
||||
<h3>rootCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-69">rootCommands</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-70">rootCommands</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="replacements">
|
||||
<h3>replacements</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="CommandReplacements.html" title="class in co.aikar.commands">CommandReplacements</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-70">replacements</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="CommandReplacements.html" title="class in co.aikar.commands">CommandReplacements</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-71">replacements</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="conditions">
|
||||
<h3>conditions</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="CommandConditions.html" title="class in co.aikar.commands">CommandConditions</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a> extends <a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">CEC</a> extends <a href="CommandExecutionContext.html" title="class in co.aikar.commands">CommandExecutionContext</a><<a href="CommandManager.html" title="type parameter in CommandManager">CEC</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">I</a>>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">CC</a> extends <a href="ConditionContext.html" title="class in co.aikar.commands">ConditionContext</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a>>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-71">conditions</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="CommandConditions.html" title="class in co.aikar.commands">CommandConditions</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a> extends <a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">CEC</a> extends <a href="CommandExecutionContext.html" title="class in co.aikar.commands">CommandExecutionContext</a><<a href="CommandManager.html" title="type parameter in CommandManager">CEC</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">I</a>>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">CC</a> extends <a href="ConditionContext.html" title="class in co.aikar.commands">ConditionContext</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a>>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-72">conditions</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="defaultExceptionHandler">
|
||||
<h3>defaultExceptionHandler</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="ExceptionHandler.html" title="interface in co.aikar.commands">ExceptionHandler</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-72">defaultExceptionHandler</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="ExceptionHandler.html" title="interface in co.aikar.commands">ExceptionHandler</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-73">defaultExceptionHandler</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="dependencies">
|
||||
<h3>dependencies</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">co.aikar.util.Table<<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?>,<wbr><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-74">dependencies</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">co.aikar.util.Table<<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?>,<wbr><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-75">dependencies</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="helpFormatter">
|
||||
<h3>helpFormatter</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="CommandHelpFormatter.html" title="class in co.aikar.commands">CommandHelpFormatter</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-75">helpFormatter</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="CommandHelpFormatter.html" title="class in co.aikar.commands">CommandHelpFormatter</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-76">helpFormatter</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="usePerIssuerLocale">
|
||||
<h3>usePerIssuerLocale</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-77">usePerIssuerLocale</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-78">usePerIssuerLocale</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="localeChangedCallbacks">
|
||||
<h3>localeChangedCallbacks</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="IssuerLocaleChangedCallback.html" title="interface in co.aikar.commands">IssuerLocaleChangedCallback</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a> extends <a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-78">localeChangedCallbacks</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="IssuerLocaleChangedCallback.html" title="interface in co.aikar.commands">IssuerLocaleChangedCallback</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a> extends <a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-79">localeChangedCallbacks</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="supportedLanguages">
|
||||
<h3>supportedLanguages</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-79">supportedLanguages</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-80">supportedLanguages</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="validNamePredicate">
|
||||
<h3>validNamePredicate</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-81">validNamePredicate</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="formatters">
|
||||
<h3>formatters</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">MF</a> extends <a href="MessageFormatter.html" title="class in co.aikar.commands">MessageFormatter</a><<a href="CommandManager.html" title="type parameter in CommandManager">FT</a>>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-80">formatters</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">MF</a> extends <a href="MessageFormatter.html" title="class in co.aikar.commands">MessageFormatter</a><<a href="CommandManager.html" title="type parameter in CommandManager">FT</a>>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-82">formatters</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="defaultFormatter">
|
||||
<h3>defaultFormatter</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">MF</a> extends <a href="MessageFormatter.html" title="class in co.aikar.commands">MessageFormatter</a><<a href="CommandManager.html" title="type parameter in CommandManager">FT</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-81">defaultFormatter</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">MF</a> extends <a href="MessageFormatter.html" title="class in co.aikar.commands">MessageFormatter</a><<a href="CommandManager.html" title="type parameter in CommandManager">FT</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-83">defaultFormatter</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="defaultHelpPerPage">
|
||||
<h3>defaultHelpPerPage</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">int</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-82">defaultHelpPerPage</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">int</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-84">defaultHelpPerPage</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="issuersLocale">
|
||||
<h3>issuersLocale</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>,<wbr><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-84">issuersLocale</a></span></div>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html" title="class or interface in java.util" class="external-link">UUID</a>,<wbr><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-86">issuersLocale</a></span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -546,7 +564,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="<init>()">
|
||||
<h3>CommandManager</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-51">CommandManager</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-52">CommandManager</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -560,45 +578,45 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCurrentCommandOperationContext()">
|
||||
<h3>getCurrentCommandOperationContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="CommandOperationContext.html" title="class in co.aikar.commands">CommandOperationContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-91">getCurrentCommandOperationContext</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="CommandOperationContext.html" title="class in co.aikar.commands">CommandOperationContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-93">getCurrentCommandOperationContext</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getCurrentCommandIssuer()">
|
||||
<h3>getCurrentCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-95">getCurrentCommandIssuer</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-97">getCurrentCommandIssuer</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getCurrentCommandManager()">
|
||||
<h3>getCurrentCommandManager</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="CommandManager.html" title="class in co.aikar.commands">CommandManager</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-100">getCurrentCommandManager</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="CommandManager.html" title="class in co.aikar.commands">CommandManager</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-102">getCurrentCommandManager</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setFormat(co.aikar.commands.MessageType,MF)">
|
||||
<h3 id="setFormat(co.aikar.commands.MessageType,co.aikar.commands.MessageFormatter)">setFormat</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">MF</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-105">setFormat</a></span><wbr><span class="parameters">(<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">MF</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-107">setFormat</a></span><wbr><span class="parameters">(<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
<a href="CommandManager.html" title="type parameter in CommandManager">MF</a> formatter)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getFormat(co.aikar.commands.MessageType)">
|
||||
<h3>getFormat</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">MF</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-109">getFormat</a></span><wbr><span class="parameters">(<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">MF</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-111">getFormat</a></span><wbr><span class="parameters">(<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setFormat(co.aikar.commands.MessageType,FT...)">
|
||||
<h3 id="setFormat(co.aikar.commands.MessageType,java.lang.Object[])">setFormat</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-113">setFormat</a></span><wbr><span class="parameters">(<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-115">setFormat</a></span><wbr><span class="parameters">(<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
<a href="CommandManager.html" title="type parameter in CommandManager">FT</a>... colors)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setFormat(co.aikar.commands.MessageType,int,FT)">
|
||||
<h3 id="setFormat(co.aikar.commands.MessageType,int,java.lang.Object)">setFormat</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-120">setFormat</a></span><wbr><span class="parameters">(<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-122">setFormat</a></span><wbr><span class="parameters">(<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
int i,
|
||||
<a href="CommandManager.html" title="type parameter in CommandManager">FT</a> color)</span></div>
|
||||
</section>
|
||||
@@ -606,25 +624,25 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getDefaultFormatter()">
|
||||
<h3>getDefaultFormatter</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">MF</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-125">getDefaultFormatter</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">MF</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-127">getDefaultFormatter</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setDefaultFormatter(MF)">
|
||||
<h3 id="setDefaultFormatter(co.aikar.commands.MessageFormatter)">setDefaultFormatter</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-129">setDefaultFormatter</a></span><wbr><span class="parameters">(<a href="CommandManager.html" title="type parameter in CommandManager">MF</a> defaultFormatter)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-131">setDefaultFormatter</a></span><wbr><span class="parameters">(<a href="CommandManager.html" title="type parameter in CommandManager">MF</a> defaultFormatter)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getCommandConditions()">
|
||||
<h3>getCommandConditions</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandConditions.html" title="class in co.aikar.commands">CommandConditions</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">CEC</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">CC</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-133">getCommandConditions</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandConditions.html" title="class in co.aikar.commands">CommandConditions</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">CEC</a>,<wbr><a href="CommandManager.html" title="type parameter in CommandManager">CC</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-135">getCommandConditions</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getCommandContexts()">
|
||||
<h3>getCommandContexts</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandContexts.html" title="class in co.aikar.commands">CommandContexts</a><?></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-142">getCommandContexts</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandContexts.html" title="class in co.aikar.commands">CommandContexts</a><?></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-144">getCommandContexts</a></span>()</div>
|
||||
<div class="block">Gets the command contexts manager</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
@@ -635,7 +653,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandCompletions()">
|
||||
<h3>getCommandCompletions</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandCompletions.html" title="class in co.aikar.commands">CommandCompletions</a><?></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-149">getCommandCompletions</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandCompletions.html" title="class in co.aikar.commands">CommandCompletions</a><?></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-151">getCommandCompletions</a></span>()</div>
|
||||
<div class="block">Gets the command completions manager</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
@@ -647,7 +665,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="generateCommandHelp(java.lang.String)">
|
||||
<h3>generateCommandHelp</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelp.html" title="class in co.aikar.commands">CommandHelp</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-154">generateCommandHelp</a></span><wbr><span class="parameters">(@NotNull
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelp.html" title="class in co.aikar.commands">CommandHelp</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-156">generateCommandHelp</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> command)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
<div class="deprecation-comment">Unstable API</div>
|
||||
@@ -658,7 +676,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="generateCommandHelp(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>generateCommandHelp</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelp.html" title="class in co.aikar.commands">CommandHelp</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-168">generateCommandHelp</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelp.html" title="class in co.aikar.commands">CommandHelp</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-170">generateCommandHelp</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
@NotNull
|
||||
@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> command)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
@@ -670,7 +688,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="generateCommandHelp()">
|
||||
<h3>generateCommandHelp</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelp.html" title="class in co.aikar.commands">CommandHelp</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-178">generateCommandHelp</a></span>()</div>
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelp.html" title="class in co.aikar.commands">CommandHelp</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-180">generateCommandHelp</a></span>()</div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
<div class="deprecation-comment">Unstable API</div>
|
||||
</div>
|
||||
@@ -680,7 +698,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="generateCommandHelp(co.aikar.commands.CommandIssuer,co.aikar.commands.RootCommand)">
|
||||
<h3>generateCommandHelp</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelp.html" title="class in co.aikar.commands">CommandHelp</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-193">generateCommandHelp</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelp.html" title="class in co.aikar.commands">CommandHelp</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-195">generateCommandHelp</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a> rootCommand)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
<div class="deprecation-comment">Unstable API</div>
|
||||
@@ -691,7 +709,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="getDefaultHelpPerPage()">
|
||||
<h3>getDefaultHelpPerPage</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-203">getDefaultHelpPerPage</a></span>()</div>
|
||||
</span><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-205">getDefaultHelpPerPage</a></span>()</div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
<div class="deprecation-comment">Unstable API</div>
|
||||
</div>
|
||||
@@ -701,7 +719,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="setDefaultHelpPerPage(int)">
|
||||
<h3>setDefaultHelpPerPage</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-213">setDefaultHelpPerPage</a></span><wbr><span class="parameters">(int defaultHelpPerPage)</span></div>
|
||||
</span><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-215">setDefaultHelpPerPage</a></span><wbr><span class="parameters">(int defaultHelpPerPage)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
<div class="deprecation-comment">Unstable API</div>
|
||||
</div>
|
||||
@@ -711,7 +729,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="setHelpFormatter(co.aikar.commands.CommandHelpFormatter)">
|
||||
<h3>setHelpFormatter</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-223">setHelpFormatter</a></span><wbr><span class="parameters">(<a href="CommandHelpFormatter.html" title="class in co.aikar.commands">CommandHelpFormatter</a> helpFormatter)</span></div>
|
||||
</span><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-225">setHelpFormatter</a></span><wbr><span class="parameters">(<a href="CommandHelpFormatter.html" title="class in co.aikar.commands">CommandHelpFormatter</a> helpFormatter)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
<div class="deprecation-comment">Unstable API</div>
|
||||
</div>
|
||||
@@ -721,7 +739,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="getHelpFormatter()">
|
||||
<h3>getHelpFormatter</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelpFormatter.html" title="class in co.aikar.commands">CommandHelpFormatter</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-232">getHelpFormatter</a></span>()</div>
|
||||
</span><span class="modifiers">public</span> <span class="return-type"><a href="CommandHelpFormatter.html" title="class in co.aikar.commands">CommandHelpFormatter</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-234">getHelpFormatter</a></span>()</div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
<div class="deprecation-comment">Unstable API</div>
|
||||
</div>
|
||||
@@ -730,7 +748,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="registerCommand(co.aikar.commands.BaseCommand)">
|
||||
<h3>registerCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-248">registerCommand</a></span><wbr><span class="parameters">(<a href="BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a> command)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-250">registerCommand</a></span><wbr><span class="parameters">(<a href="BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a> command)</span></div>
|
||||
<div class="block">Registers a command with ACF</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
@@ -741,31 +759,31 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="hasRegisteredCommands()">
|
||||
<h3>hasRegisteredCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-250">hasRegisteredCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-252">hasRegisteredCommands</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isCommandIssuer(java.lang.Class)">
|
||||
<h3>isCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-252">isCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> type)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-254">isCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> type)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getCommandIssuer(java.lang.Object)">
|
||||
<h3>getCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">I</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-255">getCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandManager.html" title="type parameter in CommandManager">I</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-257">getCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> issuer)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="createRootCommand(java.lang.String)">
|
||||
<h3>createRootCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-257">createRootCommand</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-259">createRootCommand</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getLocales()">
|
||||
<h3>getLocales</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="Locales.html" title="class in co.aikar.commands">Locales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-264">getLocales</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="Locales.html" title="class in co.aikar.commands">Locales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-266">getLocales</a></span>()</div>
|
||||
<div class="block">Returns a Locales Manager to add and modify language tables for your commands.</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
@@ -775,26 +793,47 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="usingPerIssuerLocale()">
|
||||
<h3>usingPerIssuerLocale</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-266">usingPerIssuerLocale</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-268">usingPerIssuerLocale</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="usePerIssuerLocale(boolean)">
|
||||
<h3>usePerIssuerLocale</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-270">usePerIssuerLocale</a></span><wbr><span class="parameters">(boolean setting)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-272">usePerIssuerLocale</a></span><wbr><span class="parameters">(boolean setting)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isValidName(java.lang.String)">
|
||||
<h3>isValidName</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-278">isValidName</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getValidNamePredicate()">
|
||||
<h3>getValidNamePredicate</h3>
|
||||
<div class="member-signature"><span class="annotations">@NotNull
|
||||
</span><span class="modifiers">public</span> <span class="return-type">@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-282">getValidNamePredicate</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setValidNamePredicate(java.util.function.Predicate)">
|
||||
<h3>setValidNamePredicate</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-286">setValidNamePredicate</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> isValidName)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="createConditionContext(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>createConditionContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="ConditionContext.html" title="class in co.aikar.commands">ConditionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-276">createConditionContext</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="ConditionContext.html" title="class in co.aikar.commands">ConditionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-290">createConditionContext</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> config)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="createCommandContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandParameter,co.aikar.commands.CommandIssuer,java.util.List,int,java.util.Map)">
|
||||
<h3>createCommandContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandExecutionContext.html" title="class in co.aikar.commands">CommandExecutionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-281">createCommandContext</a></span><wbr><span class="parameters">(<a href="RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a> command,
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandExecutionContext.html" title="class in co.aikar.commands">CommandExecutionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-295">createCommandContext</a></span><wbr><span class="parameters">(<a href="RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a> command,
|
||||
<a href="CommandParameter.html" title="class in co.aikar.commands">CommandParameter</a> parameter,
|
||||
<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> args,
|
||||
@@ -805,7 +844,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createCompletionContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.lang.String,java.lang.String,java.lang.String[])">
|
||||
<h3>createCompletionContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandCompletionContext.html" title="class in co.aikar.commands">CommandCompletionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-283">createCompletionContext</a></span><wbr><span class="parameters">(<a href="RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a> command,
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="CommandCompletionContext.html" title="class in co.aikar.commands">CommandCompletionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-297">createCompletionContext</a></span><wbr><span class="parameters">(<a href="RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a> command,
|
||||
<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> input,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> config,
|
||||
@@ -815,7 +854,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="log(co.aikar.commands.LogLevel,java.lang.String,java.lang.Throwable)">
|
||||
<h3>log</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-285">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-299">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a> throwable)</span></div>
|
||||
</section>
|
||||
@@ -823,14 +862,14 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="log(co.aikar.commands.LogLevel,java.lang.String)">
|
||||
<h3>log</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-287">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-301">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getCommandReplacements()">
|
||||
<h3>getCommandReplacements</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandReplacements.html" title="class in co.aikar.commands">CommandReplacements</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-301">getCommandReplacements</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="CommandReplacements.html" title="class in co.aikar.commands">CommandReplacements</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-315">getCommandReplacements</a></span>()</div>
|
||||
<div class="block">Lets you add custom string replacements that can be applied to annotation values,
|
||||
to reduce duplication/repetition of common values such as permission nodes and command prefixes.
|
||||
<p>
|
||||
@@ -846,41 +885,41 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="hasPermission(co.aikar.commands.CommandIssuer,java.util.Set)">
|
||||
<h3>hasPermission</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-305">hasPermission</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-319">hasPermission</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> permissions)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="hasPermission(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>hasPermission</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-314">hasPermission</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-328">hasPermission</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> permission)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getRootCommand(java.lang.String)">
|
||||
<h3>getRootCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-326">getRootCommand</a></span><wbr><span class="parameters">(@NotNull
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-340">getRootCommand</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="obtainRootCommand(java.lang.String)">
|
||||
<h3>obtainRootCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-330">obtainRootCommand</a></span><wbr><span class="parameters">(@NotNull
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-344">obtainRootCommand</a></span><wbr><span class="parameters">(@NotNull
|
||||
@NotNull <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getRegisteredRootCommands()">
|
||||
<h3>getRegisteredRootCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-334">getRegisteredRootCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="RootCommand.html" title="interface in co.aikar.commands">RootCommand</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-348">getRegisteredRootCommands</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="createRegisteredCommand(co.aikar.commands.BaseCommand,java.lang.String,java.lang.reflect.Method,java.lang.String)">
|
||||
<h3>createRegisteredCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-336">createRegisteredCommand</a></span><wbr><span class="parameters">(<a href="BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a> command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-350">createRegisteredCommand</a></span><wbr><span class="parameters">(<a href="BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a> command,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmdName,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link">Method</a> method,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> prefSubCommand)</span></div>
|
||||
@@ -889,7 +928,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="setDefaultExceptionHandler(co.aikar.commands.ExceptionHandler)">
|
||||
<h3>setDefaultExceptionHandler</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-345">setDefaultExceptionHandler</a></span><wbr><span class="parameters">(<a href="ExceptionHandler.html" title="interface in co.aikar.commands">ExceptionHandler</a> exceptionHandler)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-359">setDefaultExceptionHandler</a></span><wbr><span class="parameters">(<a href="ExceptionHandler.html" title="interface in co.aikar.commands">ExceptionHandler</a> exceptionHandler)</span></div>
|
||||
<div class="block">Sets the default <a href="ExceptionHandler.html" title="interface in co.aikar.commands"><code>ExceptionHandler</code></a> that is called when an exception occurs while executing a command, if the command doesn't have its own exception handler registered.</div>
|
||||
<dl class="notes">
|
||||
<dt>Parameters:</dt>
|
||||
@@ -900,7 +939,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="setDefaultExceptionHandler(co.aikar.commands.ExceptionHandler,boolean)">
|
||||
<h3>setDefaultExceptionHandler</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-360">setDefaultExceptionHandler</a></span><wbr><span class="parameters">(<a href="ExceptionHandler.html" title="interface in co.aikar.commands">ExceptionHandler</a> exceptionHandler,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-374">setDefaultExceptionHandler</a></span><wbr><span class="parameters">(<a href="ExceptionHandler.html" title="interface in co.aikar.commands">ExceptionHandler</a> exceptionHandler,
|
||||
boolean logExceptions)</span></div>
|
||||
<div class="block">Sets the default <a href="ExceptionHandler.html" title="interface in co.aikar.commands"><code>ExceptionHandler</code></a> that is called when an exception occurs while executing a command, if the command doesn't have its own exception handler registered, and lets you control if ACF should also log the exception still.
|
||||
<p>
|
||||
@@ -915,13 +954,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="isLoggingUnhandledExceptions()">
|
||||
<h3>isLoggingUnhandledExceptions</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-368">isLoggingUnhandledExceptions</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-382">isLoggingUnhandledExceptions</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getDefaultExceptionHandler()">
|
||||
<h3>getDefaultExceptionHandler</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="ExceptionHandler.html" title="interface in co.aikar.commands">ExceptionHandler</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-377">getDefaultExceptionHandler</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="ExceptionHandler.html" title="interface in co.aikar.commands">ExceptionHandler</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-391">getDefaultExceptionHandler</a></span>()</div>
|
||||
<div class="block">Gets the current default exception handler, might be null.</div>
|
||||
<dl class="notes">
|
||||
<dt>Returns:</dt>
|
||||
@@ -932,7 +971,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="handleUncaughtException(co.aikar.commands.BaseCommand,co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.util.List,java.lang.Throwable)">
|
||||
<h3>handleUncaughtException</h3>
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-381">handleUncaughtException</a></span><wbr><span class="parameters">(<a href="BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a> scope,
|
||||
<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-395">handleUncaughtException</a></span><wbr><span class="parameters">(<a href="BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a> scope,
|
||||
<a href="RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a> registeredCommand,
|
||||
<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> args,
|
||||
@@ -942,7 +981,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="sendMessage(IT,co.aikar.commands.MessageType,co.aikar.locales.MessageKeyProvider,java.lang.String...)">
|
||||
<h3 id="sendMessage(java.lang.Object,co.aikar.commands.MessageType,co.aikar.locales.MessageKeyProvider,java.lang.String[])">sendMessage</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-394">sendMessage</a></span><wbr><span class="parameters">(<a href="CommandManager.html" title="type parameter in CommandManager">IT</a> issuerArg,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-408">sendMessage</a></span><wbr><span class="parameters">(<a href="CommandManager.html" title="type parameter in CommandManager">IT</a> issuerArg,
|
||||
<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
co.aikar.locales.MessageKeyProvider key,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>... replacements)</span></div>
|
||||
@@ -951,7 +990,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="sendMessage(co.aikar.commands.CommandIssuer,co.aikar.commands.MessageType,co.aikar.locales.MessageKeyProvider,java.lang.String...)">
|
||||
<h3>sendMessage</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-398">sendMessage</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-412">sendMessage</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
co.aikar.locales.MessageKeyProvider key,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>... replacements)</span></div>
|
||||
@@ -960,7 +999,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="formatMessage(co.aikar.commands.CommandIssuer,co.aikar.commands.MessageType,co.aikar.locales.MessageKeyProvider,java.lang.String...)">
|
||||
<h3>formatMessage</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-406">formatMessage</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-420">formatMessage</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer,
|
||||
<a href="MessageType.html" title="class in co.aikar.commands">MessageType</a> type,
|
||||
co.aikar.locales.MessageKeyProvider key,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>... replacements)</span></div>
|
||||
@@ -969,13 +1008,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="onLocaleChange(co.aikar.commands.IssuerLocaleChangedCallback)">
|
||||
<h3>onLocaleChange</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-422">onLocaleChange</a></span><wbr><span class="parameters">(<a href="IssuerLocaleChangedCallback.html" title="interface in co.aikar.commands">IssuerLocaleChangedCallback</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a>> onChange)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-436">onLocaleChange</a></span><wbr><span class="parameters">(<a href="IssuerLocaleChangedCallback.html" title="interface in co.aikar.commands">IssuerLocaleChangedCallback</a><<a href="CommandManager.html" title="type parameter in CommandManager">I</a>> onChange)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="notifyLocaleChange(I,java.util.Locale,java.util.Locale)">
|
||||
<h3 id="notifyLocaleChange(co.aikar.commands.CommandIssuer,java.util.Locale,java.util.Locale)">notifyLocaleChange</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-426">notifyLocaleChange</a></span><wbr><span class="parameters">(<a href="CommandManager.html" title="type parameter in CommandManager">I</a> issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-440">notifyLocaleChange</a></span><wbr><span class="parameters">(<a href="CommandManager.html" title="type parameter in CommandManager">I</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a> oldLocale,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a> newLocale)</span></div>
|
||||
</section>
|
||||
@@ -983,20 +1022,20 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="setIssuerLocale(IT,java.util.Locale)">
|
||||
<h3 id="setIssuerLocale(java.lang.Object,java.util.Locale)">setIssuerLocale</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-436">setIssuerLocale</a></span><wbr><span class="parameters">(<a href="CommandManager.html" title="type parameter in CommandManager">IT</a> issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-450">setIssuerLocale</a></span><wbr><span class="parameters">(<a href="CommandManager.html" title="type parameter in CommandManager">IT</a> issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a> locale)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getIssuerLocale(co.aikar.commands.CommandIssuer)">
|
||||
<h3>getIssuerLocale</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-447">getIssuerLocale</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-461">getIssuerLocale</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getSupportedLanguages()">
|
||||
<h3>getSupportedLanguages</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-476">getSupportedLanguages</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-490">getSupportedLanguages</a></span>()</div>
|
||||
<div class="block">Gets a list of all currently supported languages for this manager.
|
||||
These locales will be automatically loaded from</div>
|
||||
<dl class="notes">
|
||||
@@ -1007,7 +1046,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="addSupportedLanguage(java.util.Locale)">
|
||||
<h3>addSupportedLanguage</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-486">addSupportedLanguage</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a> locale)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-500">addSupportedLanguage</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a> locale)</span></div>
|
||||
<div class="block">Adds a new locale to the list of automatic Locales to load Message Bundles for.
|
||||
All bundles loaded under the previous supported languages will now automatically load for this new locale too.</div>
|
||||
<dl class="notes">
|
||||
@@ -1019,7 +1058,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="registerDependency(java.lang.Class,T)">
|
||||
<h3 id="registerDependency(java.lang.Class,java.lang.Object)">registerDependency</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="type-parameters"><T></span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-500">registerDependency</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends T> clazz,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="type-parameters"><T></span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-514">registerDependency</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends T> clazz,
|
||||
T instance)</span></div>
|
||||
<div class="block">Registers an instance of a class to be registered as an injectable dependency.<br>
|
||||
The command manager will attempt to inject all fields in a command class that are annotated with
|
||||
@@ -1036,7 +1075,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="registerDependency(java.lang.Class,java.lang.String,T)">
|
||||
<h3 id="registerDependency(java.lang.Class,java.lang.String,java.lang.Object)">registerDependency</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="type-parameters"><T></span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-514">registerDependency</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends T> clazz,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="type-parameters"><T></span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-528">registerDependency</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends T> clazz,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> key,
|
||||
T instance)</span></div>
|
||||
<div class="block">Registers an instance of a class to be registered as an injectable dependency.<br>
|
||||
@@ -1056,7 +1095,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="detail" id="enableUnstableAPI(java.lang.String)">
|
||||
<h3>enableUnstableAPI</h3>
|
||||
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
|
||||
</span><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-562">enableUnstableAPI</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> api)</span></div>
|
||||
</span><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-576">enableUnstableAPI</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> api)</span></div>
|
||||
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
|
||||
<div class="deprecation-comment">Use this with caution! If you enable and use Unstable API's, your next compile using ACF
|
||||
may require you to update your implementation to those unstable API's</div>
|
||||
@@ -1066,7 +1105,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandPrefix(co.aikar.commands.CommandIssuer)">
|
||||
<h3>getCommandPrefix</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-581">getCommandPrefix</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/CommandManager.html#line-595">getCommandPrefix</a></span><wbr><span class="parameters">(<a href="CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a> issuer)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -908,6 +908,8 @@ loadScripts(document, 'script');</script>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/RootCommand.html#getUsage()" class="member-name-link">getUsage()</a> - Method in interface co.aikar.commands.<a href="co/aikar/commands/RootCommand.html" title="interface in co.aikar.commands">RootCommand</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/CommandManager.html#getValidNamePredicate()" class="member-name-link">getValidNamePredicate()</a> - Method in class co.aikar.commands.<a href="co/aikar/commands/CommandManager.html" title="class in co.aikar.commands">CommandManager</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/CommandParameter.html#getValues()" class="member-name-link">getValues()</a> - Method in class co.aikar.commands.<a href="co/aikar/commands/CommandParameter.html" title="class in co.aikar.commands">CommandParameter</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/Locales.html#GREEK" class="member-name-link">GREEK</a> - Static variable in class co.aikar.commands.<a href="co/aikar/commands/Locales.html" title="class in co.aikar.commands">Locales</a></dt>
|
||||
@@ -1152,6 +1154,8 @@ loadScripts(document, 'script');</script>
|
||||
</dd>
|
||||
<dt><a href="co/aikar/commands/ACFUtil.html#isTruthy(java.lang.String)" class="member-name-link">isTruthy(String)</a> - Static method in class co.aikar.commands.<a href="co/aikar/commands/ACFUtil.html" title="class in co.aikar.commands">ACFUtil</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/CommandManager.html#isValidName(java.lang.String)" class="member-name-link">isValidName(String)</a> - Method in class co.aikar.commands.<a href="co/aikar/commands/CommandManager.html" title="class in co.aikar.commands">CommandManager</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/Locales.html#ITALIAN" class="member-name-link">ITALIAN</a> - Static variable in class co.aikar.commands.<a href="co/aikar/commands/Locales.html" title="class in co.aikar.commands">Locales</a></dt>
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
@@ -1792,6 +1796,8 @@ loadScripts(document, 'script');</script>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/CommandParameter.html#setSyntax(java.lang.String)" class="member-name-link">setSyntax(String)</a> - Method in class co.aikar.commands.<a href="co/aikar/commands/CommandParameter.html" title="class in co.aikar.commands">CommandParameter</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/CommandManager.html#setValidNamePredicate(java.util.function.Predicate)" class="member-name-link">setValidNamePredicate(Predicate<String>)</a> - Method in class co.aikar.commands.<a href="co/aikar/commands/CommandManager.html" title="class in co.aikar.commands">CommandManager</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/CommandParameter.html#setValues(java.lang.String%5B%5D)" class="member-name-link">setValues(String[])</a> - Method in class co.aikar.commands.<a href="co/aikar/commands/CommandParameter.html" title="class in co.aikar.commands">CommandParameter</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/HelpEntry.html#shouldShow()" class="member-name-link">shouldShow()</a> - Method in class co.aikar.commands.<a href="co/aikar/commands/HelpEntry.html" title="class in co.aikar.commands">HelpEntry</a></dt>
|
||||
@@ -1924,6 +1930,8 @@ loadScripts(document, 'script');</script>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/CommandConditions.ParameterCondition.html#validateCondition(co.aikar.commands.ConditionContext,CEC,P)" class="member-name-link">validateCondition(ConditionContext<I>, CEC, P)</a> - Method in interface co.aikar.commands.<a href="co/aikar/commands/CommandConditions.ParameterCondition.html" title="interface in co.aikar.commands">CommandConditions.ParameterCondition</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/CommandManager.html#validNamePredicate" class="member-name-link">validNamePredicate</a> - Variable in class co.aikar.commands.<a href="co/aikar/commands/CommandManager.html" title="class in co.aikar.commands">CommandManager</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/annotation/CommandAlias.html#value()" class="member-name-link">value()</a> - Element in annotation type co.aikar.commands.annotation.<a href="co/aikar/commands/annotation/CommandAlias.html" title="annotation in co.aikar.commands.annotation">CommandAlias</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="co/aikar/commands/annotation/CommandCompletion.html#value()" class="member-name-link">value()</a> - Element in annotation type co.aikar.commands.annotation.<a href="co/aikar/commands/annotation/CommandCompletion.html" title="annotation in co.aikar.commands.annotation">CommandCompletion</a></dt>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -134,7 +134,7 @@ loadScripts(document, 'script');</script>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-co.aikar.commands.BukkitCommandManager">Methods inherited from class co.aikar.commands.BukkitCommandManager</h3>
|
||||
<code>createCommandContext, createCompletionContext, createConditionContext, createRegisteredCommand, createRootCommand, getCommandIssuer, getCommandPrefix, getLocales, getPlugin, getRegisteredRootCommands, getTimings, handleUncaughtException, hasRegisteredCommands, isCommandIssuer, log, registerCommand, registerCommand, setPlayerLocale, unregisterCommand, unregisterCommand, unregisterCommands, usePerIssuerLocale</code></div>
|
||||
<code>createCommandContext, createCompletionContext, createConditionContext, createRegisteredCommand, createRootCommand, getCommandIssuer, getCommandPrefix, getLocales, getPlugin, getRegisteredRootCommands, getScheduler, getTimings, handleUncaughtException, hasRegisteredCommands, isCommandIssuer, log, registerCommand, registerCommand, setPlayerLocale, unregisterCommand, unregisterCommand, unregisterCommands, usePerIssuerLocale</code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-co.aikar.commands.CommandManager">Methods inherited from class co.aikar.commands.CommandManager</h3>
|
||||
<code>addSupportedLanguage, formatMessage, generateCommandHelp, generateCommandHelp, generateCommandHelp, generateCommandHelp, getCommandConditions, getCommandReplacements, getCurrentCommandIssuer, getCurrentCommandManager, getCurrentCommandOperationContext, getDefaultExceptionHandler, getDefaultFormatter, getDefaultHelpPerPage, getFormat, getHelpFormatter, getIssuerLocale, getRootCommand, getSupportedLanguages, hasPermission, hasPermission, isLoggingUnhandledExceptions, log, notifyLocaleChange, obtainRootCommand, onLocaleChange, registerDependency, registerDependency, sendMessage, sendMessage, setDefaultExceptionHandler, setDefaultExceptionHandler, setDefaultFormatter, setDefaultHelpPerPage, setFormat, setFormat, setFormat, setHelpFormatter, setIssuerLocale, usePerIssuerLocale, usingPerIssuerLocale</code></div>
|
||||
|
||||
@@ -76,7 +76,7 @@ loadScripts(document, 'script');</script>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-12">ACFSpongeUtil</a></span>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-13">ACFSpongeUtil</a></span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
@@ -110,7 +110,7 @@ loadScripts(document, 'script');</script>
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> search)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><org.spongepowered.api.entity.living.player.Player></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#matchPlayer(java.lang.String)" class="member-name-link">matchPlayer</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> partialName)</code></div>
|
||||
@@ -135,7 +135,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="<init>()">
|
||||
<h3>ACFSpongeUtil</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-13">ACFSpongeUtil</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-14">ACFSpongeUtil</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -149,20 +149,21 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="findPlayerSmart(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>findPlayerSmart</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.spongepowered.api.entity.living.player.Player</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-14">findPlayerSmart</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">org.spongepowered.api.entity.living.player.Player</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-15">findPlayerSmart</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> search)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="matchPlayer(java.lang.String)">
|
||||
<h3>matchPlayer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><org.spongepowered.api.entity.living.player.Player></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-71">matchPlayer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> partialName)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><org.spongepowered.api.entity.living.player.Player></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-72">matchPlayer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> partialName)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isValidName(java.lang.String)">
|
||||
<h3>isValidName</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-92">isValidName</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFSpongeUtil.html#line-93">isValidName</a></span><wbr><span class="parameters">(@Nullable
|
||||
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -278,13 +278,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getPlugin()">
|
||||
<h3>getPlugin</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">org.spongepowered.api.plugin.PluginContainer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-79">getPlugin</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">org.spongepowered.api.plugin.PluginContainer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-81">getPlugin</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isCommandIssuer(java.lang.Class)">
|
||||
<h3>isCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-83">isCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> type)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-85">isCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> type)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>isCommandIssuer</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -294,7 +294,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandContexts()">
|
||||
<h3>getCommandContexts</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandContexts<<a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-88">getCommandContexts</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandContexts<<a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-90">getCommandContexts</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandContexts</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -304,7 +304,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandCompletions()">
|
||||
<h3>getCommandCompletions</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletions<<a href="SpongeCommandCompletionContext.html" title="class in co.aikar.commands">SpongeCommandCompletionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-96">getCommandCompletions</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletions<<a href="SpongeCommandCompletionContext.html" title="class in co.aikar.commands">SpongeCommandCompletionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-98">getCommandCompletions</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandCompletions</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -314,7 +314,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getLocales()">
|
||||
<h3>getLocales</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SpongeLocales.html" title="class in co.aikar.commands">SpongeLocales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-104">getLocales</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SpongeLocales.html" title="class in co.aikar.commands">SpongeLocales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-106">getLocales</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getLocales</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -324,7 +324,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="hasRegisteredCommands()">
|
||||
<h3>hasRegisteredCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-113">hasRegisteredCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-115">hasRegisteredCommands</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>hasRegisteredCommands</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -334,7 +334,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="registerCommand(co.aikar.commands.BaseCommand)">
|
||||
<h3>registerCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-118">registerCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-120">registerCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>registerCommand</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -344,13 +344,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createTiming(java.lang.String)">
|
||||
<h3>createTiming</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.timings.Timing</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-133">createTiming</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.timings.Timing</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-135">createTiming</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="createRootCommand(java.lang.String)">
|
||||
<h3>createRootCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RootCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-137">createRootCommand</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RootCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-139">createRootCommand</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>createRootCommand</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -360,7 +360,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getRegisteredRootCommands()">
|
||||
<h3>getRegisteredRootCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><co.aikar.commands.RootCommand></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-142">getRegisteredRootCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><co.aikar.commands.RootCommand></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-144">getRegisteredRootCommands</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getRegisteredRootCommands</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -370,7 +370,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandIssuer(java.lang.Object)">
|
||||
<h3>getCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-147">getCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-149">getCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> issuer)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandIssuer</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
@@ -380,7 +380,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createCommandContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandParameter,co.aikar.commands.CommandIssuer,java.util.List,int,java.util.Map)">
|
||||
<h3>createCommandContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-155">createCommandContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-157">createCommandContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
co.aikar.commands.CommandParameter parameter,
|
||||
co.aikar.commands.CommandIssuer sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> args,
|
||||
@@ -395,7 +395,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createCompletionContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.lang.String,java.lang.String,java.lang.String[])">
|
||||
<h3>createCompletionContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletionContext</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-160">createCompletionContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletionContext</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-162">createCompletionContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
co.aikar.commands.CommandIssuer sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> input,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> config,
|
||||
@@ -409,7 +409,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createRegisteredCommand(co.aikar.commands.BaseCommand,java.lang.String,java.lang.reflect.Method,java.lang.String)">
|
||||
<h3>createRegisteredCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RegisteredCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-165">createRegisteredCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RegisteredCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-167">createRegisteredCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmdName,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link">Method</a> method,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> prefSubCommand)</span></div>
|
||||
@@ -422,7 +422,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="log(co.aikar.commands.LogLevel,java.lang.String,java.lang.Throwable)">
|
||||
<h3>log</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-170">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-172">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a> throwable)</span></div>
|
||||
<dl class="notes">
|
||||
@@ -434,7 +434,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createConditionContext(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>createConditionContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-204">createConditionContext</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-206">createConditionContext</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> config)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
@@ -445,7 +445,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandPrefix(co.aikar.commands.CommandIssuer)">
|
||||
<h3>getCommandPrefix</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-209">getCommandPrefix</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/SpongeCommandManager.html#line-211">getCommandPrefix</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
<dd><code>getCommandPrefix</code> in class <code>co.aikar.commands.CommandManager<org.spongepowered.api.command.CommandSource,<wbr><a href="SpongeCommandIssuer.html" title="class in co.aikar.commands">SpongeCommandIssuer</a>,<wbr>org.spongepowered.api.text.format.TextColor,<wbr><a href="SpongeMessageFormatter.html" title="class in co.aikar.commands">SpongeMessageFormatter</a>,<wbr><a href="SpongeCommandExecutionContext.html" title="class in co.aikar.commands">SpongeCommandExecutionContext</a>,<wbr><a href="SpongeConditionContext.html" title="class in co.aikar.commands">SpongeConditionContext</a>></code></dd>
|
||||
|
||||
@@ -13,100 +13,101 @@
|
||||
<div class="source-container">
|
||||
<pre><span class="source-line-no">001</span><span id="line-1">package co.aikar.commands;</span>
|
||||
<span class="source-line-no">002</span><span id="line-2"></span>
|
||||
<span class="source-line-no">003</span><span id="line-3">import org.spongepowered.api.Sponge;</span>
|
||||
<span class="source-line-no">004</span><span id="line-4">import org.spongepowered.api.command.CommandSource;</span>
|
||||
<span class="source-line-no">005</span><span id="line-5">import org.spongepowered.api.entity.living.player.Player;</span>
|
||||
<span class="source-line-no">006</span><span id="line-6"></span>
|
||||
<span class="source-line-no">007</span><span id="line-7">import java.util.ArrayList;</span>
|
||||
<span class="source-line-no">008</span><span id="line-8">import java.util.Iterator;</span>
|
||||
<span class="source-line-no">009</span><span id="line-9">import java.util.List;</span>
|
||||
<span class="source-line-no">010</span><span id="line-10">import java.util.stream.Collectors;</span>
|
||||
<span class="source-line-no">011</span><span id="line-11"></span>
|
||||
<span class="source-line-no">012</span><span id="line-12">@SuppressWarnings("WeakerAccess")</span>
|
||||
<span class="source-line-no">013</span><span id="line-13">public class ACFSpongeUtil {</span>
|
||||
<span class="source-line-no">014</span><span id="line-14"> public static Player findPlayerSmart(CommandIssuer issuer, String search) {</span>
|
||||
<span class="source-line-no">015</span><span id="line-15"> CommandSource requester = issuer.getIssuer();</span>
|
||||
<span class="source-line-no">016</span><span id="line-16"> if (search == null) {</span>
|
||||
<span class="source-line-no">017</span><span id="line-17"> return null;</span>
|
||||
<span class="source-line-no">018</span><span id="line-18"> }</span>
|
||||
<span class="source-line-no">019</span><span id="line-19"> String name = ACFUtil.replace(search, ":confirm", "");</span>
|
||||
<span class="source-line-no">020</span><span id="line-20"></span>
|
||||
<span class="source-line-no">021</span><span id="line-21"> List<Player> matches = matchPlayer(name);</span>
|
||||
<span class="source-line-no">022</span><span id="line-22"> List<Player> confirmList = new ArrayList<>();</span>
|
||||
<span class="source-line-no">023</span><span id="line-23"> findMatches(search, requester, matches, confirmList);</span>
|
||||
<span class="source-line-no">024</span><span id="line-24"></span>
|
||||
<span class="source-line-no">003</span><span id="line-3">import org.jetbrains.annotations.Nullable;</span>
|
||||
<span class="source-line-no">004</span><span id="line-4">import org.spongepowered.api.Sponge;</span>
|
||||
<span class="source-line-no">005</span><span id="line-5">import org.spongepowered.api.command.CommandSource;</span>
|
||||
<span class="source-line-no">006</span><span id="line-6">import org.spongepowered.api.entity.living.player.Player;</span>
|
||||
<span class="source-line-no">007</span><span id="line-7"></span>
|
||||
<span class="source-line-no">008</span><span id="line-8">import java.util.ArrayList;</span>
|
||||
<span class="source-line-no">009</span><span id="line-9">import java.util.Iterator;</span>
|
||||
<span class="source-line-no">010</span><span id="line-10">import java.util.List;</span>
|
||||
<span class="source-line-no">011</span><span id="line-11">import java.util.stream.Collectors;</span>
|
||||
<span class="source-line-no">012</span><span id="line-12"></span>
|
||||
<span class="source-line-no">013</span><span id="line-13">@SuppressWarnings("WeakerAccess")</span>
|
||||
<span class="source-line-no">014</span><span id="line-14">public class ACFSpongeUtil {</span>
|
||||
<span class="source-line-no">015</span><span id="line-15"> public static Player findPlayerSmart(CommandIssuer issuer, String search) {</span>
|
||||
<span class="source-line-no">016</span><span id="line-16"> CommandSource requester = issuer.getIssuer();</span>
|
||||
<span class="source-line-no">017</span><span id="line-17"> if (search == null) {</span>
|
||||
<span class="source-line-no">018</span><span id="line-18"> return null;</span>
|
||||
<span class="source-line-no">019</span><span id="line-19"> }</span>
|
||||
<span class="source-line-no">020</span><span id="line-20"> String name = ACFUtil.replace(search, ":confirm", "");</span>
|
||||
<span class="source-line-no">021</span><span id="line-21"></span>
|
||||
<span class="source-line-no">022</span><span id="line-22"> List<Player> matches = matchPlayer(name);</span>
|
||||
<span class="source-line-no">023</span><span id="line-23"> List<Player> confirmList = new ArrayList<>();</span>
|
||||
<span class="source-line-no">024</span><span id="line-24"> findMatches(search, requester, matches, confirmList);</span>
|
||||
<span class="source-line-no">025</span><span id="line-25"></span>
|
||||
<span class="source-line-no">026</span><span id="line-26"> if (matches.size() > 1 || confirmList.size() > 1) {</span>
|
||||
<span class="source-line-no">027</span><span id="line-27"> String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", "));</span>
|
||||
<span class="source-line-no">028</span><span id="line-28"> issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH,</span>
|
||||
<span class="source-line-no">029</span><span id="line-29"> "{search}", name, "{all}", allMatches);</span>
|
||||
<span class="source-line-no">030</span><span id="line-30"> return null;</span>
|
||||
<span class="source-line-no">031</span><span id="line-31"> }</span>
|
||||
<span class="source-line-no">032</span><span id="line-32"></span>
|
||||
<span class="source-line-no">033</span><span id="line-33"> if (matches.isEmpty()) {</span>
|
||||
<span class="source-line-no">034</span><span id="line-34"> if (!isValidName(name)) {</span>
|
||||
<span class="source-line-no">035</span><span id="line-35"> issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">036</span><span id="line-36"> return null;</span>
|
||||
<span class="source-line-no">037</span><span id="line-37"> }</span>
|
||||
<span class="source-line-no">038</span><span id="line-38"> Player player = ACFUtil.getFirstElement(confirmList);</span>
|
||||
<span class="source-line-no">039</span><span id="line-39"> if (player == null) {</span>
|
||||
<span class="source-line-no">040</span><span id="line-40"> issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name);</span>
|
||||
<span class="source-line-no">041</span><span id="line-41"> return null;</span>
|
||||
<span class="source-line-no">042</span><span id="line-42"> } else {</span>
|
||||
<span class="source-line-no">043</span><span id="line-43"></span>
|
||||
<span class="source-line-no">044</span><span id="line-44"> issuer.sendInfo(MinecraftMessageKeys.PLAYER_IS_VANISHED_CONFIRM, "{vanished}", player.getName());</span>
|
||||
<span class="source-line-no">045</span><span id="line-45"> return null;</span>
|
||||
<span class="source-line-no">046</span><span id="line-46"> }</span>
|
||||
<span class="source-line-no">047</span><span id="line-47"> }</span>
|
||||
<span class="source-line-no">048</span><span id="line-48"></span>
|
||||
<span class="source-line-no">049</span><span id="line-49"> return matches.get(0);</span>
|
||||
<span class="source-line-no">050</span><span id="line-50"> }</span>
|
||||
<span class="source-line-no">051</span><span id="line-51"></span>
|
||||
<span class="source-line-no">052</span><span id="line-52"> private static void findMatches(String search, CommandSource requester, List<Player> matches, List<Player> confirmList) {</span>
|
||||
<span class="source-line-no">053</span><span id="line-53"> // Remove vanished players from smart matching.</span>
|
||||
<span class="source-line-no">054</span><span id="line-54"> Iterator<Player> iter = matches.iterator();</span>
|
||||
<span class="source-line-no">055</span><span id="line-55"> //noinspection Duplicates</span>
|
||||
<span class="source-line-no">056</span><span id="line-56"> while (iter.hasNext()) {</span>
|
||||
<span class="source-line-no">057</span><span id="line-57"> Player player = iter.next();</span>
|
||||
<span class="source-line-no">058</span><span id="line-58"> if (requester instanceof Player && !((Player) requester).canSee(player)) {</span>
|
||||
<span class="source-line-no">059</span><span id="line-59"> if (requester.hasPermission("acf.seevanish")) {</span>
|
||||
<span class="source-line-no">060</span><span id="line-60"> if (!search.endsWith(":confirm")) {</span>
|
||||
<span class="source-line-no">061</span><span id="line-61"> confirmList.add(player);</span>
|
||||
<span class="source-line-no">062</span><span id="line-62"> iter.remove();</span>
|
||||
<span class="source-line-no">063</span><span id="line-63"> }</span>
|
||||
<span class="source-line-no">064</span><span id="line-64"> } else {</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"> iter.remove();</span>
|
||||
<span class="source-line-no">066</span><span id="line-66"> }</span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> }</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> }</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> }</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"></span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> public static List<Player> matchPlayer(String partialName) {</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> List<Player> matchedPlayers = new ArrayList<>();</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"></span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> for (Player iterPlayer : Sponge.getServer().getOnlinePlayers()) {</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> String iterPlayerName = iterPlayer.getName();</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"></span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> if (partialName.equalsIgnoreCase(iterPlayerName)) {</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> // Exact match</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> matchedPlayers.clear();</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> matchedPlayers.add(iterPlayer);</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> break;</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> }</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> if (iterPlayerName.toLowerCase(java.util.Locale.ENGLISH).contains(partialName.toLowerCase(java.util.Locale.ENGLISH))) {</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> // Partial match</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> matchedPlayers.add(iterPlayer);</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> }</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> }</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"></span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> return matchedPlayers;</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> }</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"></span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> public static boolean isValidName(String name) {</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches();</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> }</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"></span>
|
||||
<span class="source-line-no">096</span><span id="line-96">}</span>
|
||||
<span class="source-line-no">026</span><span id="line-26"></span>
|
||||
<span class="source-line-no">027</span><span id="line-27"> if (matches.size() > 1 || confirmList.size() > 1) {</span>
|
||||
<span class="source-line-no">028</span><span id="line-28"> String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", "));</span>
|
||||
<span class="source-line-no">029</span><span id="line-29"> issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH,</span>
|
||||
<span class="source-line-no">030</span><span id="line-30"> "{search}", name, "{all}", allMatches);</span>
|
||||
<span class="source-line-no">031</span><span id="line-31"> return null;</span>
|
||||
<span class="source-line-no">032</span><span id="line-32"> }</span>
|
||||
<span class="source-line-no">033</span><span id="line-33"></span>
|
||||
<span class="source-line-no">034</span><span id="line-34"> if (matches.isEmpty()) {</span>
|
||||
<span class="source-line-no">035</span><span id="line-35"> if (!issuer.getManager().isValidName(name)) {</span>
|
||||
<span class="source-line-no">036</span><span id="line-36"> issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">037</span><span id="line-37"> return null;</span>
|
||||
<span class="source-line-no">038</span><span id="line-38"> }</span>
|
||||
<span class="source-line-no">039</span><span id="line-39"> Player player = ACFUtil.getFirstElement(confirmList);</span>
|
||||
<span class="source-line-no">040</span><span id="line-40"> if (player == null) {</span>
|
||||
<span class="source-line-no">041</span><span id="line-41"> issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name);</span>
|
||||
<span class="source-line-no">042</span><span id="line-42"> return null;</span>
|
||||
<span class="source-line-no">043</span><span id="line-43"> } else {</span>
|
||||
<span class="source-line-no">044</span><span id="line-44"></span>
|
||||
<span class="source-line-no">045</span><span id="line-45"> issuer.sendInfo(MinecraftMessageKeys.PLAYER_IS_VANISHED_CONFIRM, "{vanished}", player.getName());</span>
|
||||
<span class="source-line-no">046</span><span id="line-46"> return null;</span>
|
||||
<span class="source-line-no">047</span><span id="line-47"> }</span>
|
||||
<span class="source-line-no">048</span><span id="line-48"> }</span>
|
||||
<span class="source-line-no">049</span><span id="line-49"></span>
|
||||
<span class="source-line-no">050</span><span id="line-50"> return matches.get(0);</span>
|
||||
<span class="source-line-no">051</span><span id="line-51"> }</span>
|
||||
<span class="source-line-no">052</span><span id="line-52"></span>
|
||||
<span class="source-line-no">053</span><span id="line-53"> private static void findMatches(String search, CommandSource requester, List<Player> matches, List<Player> confirmList) {</span>
|
||||
<span class="source-line-no">054</span><span id="line-54"> // Remove vanished players from smart matching.</span>
|
||||
<span class="source-line-no">055</span><span id="line-55"> Iterator<Player> iter = matches.iterator();</span>
|
||||
<span class="source-line-no">056</span><span id="line-56"> //noinspection Duplicates</span>
|
||||
<span class="source-line-no">057</span><span id="line-57"> while (iter.hasNext()) {</span>
|
||||
<span class="source-line-no">058</span><span id="line-58"> Player player = iter.next();</span>
|
||||
<span class="source-line-no">059</span><span id="line-59"> if (requester instanceof Player && !((Player) requester).canSee(player)) {</span>
|
||||
<span class="source-line-no">060</span><span id="line-60"> if (requester.hasPermission("acf.seevanish")) {</span>
|
||||
<span class="source-line-no">061</span><span id="line-61"> if (!search.endsWith(":confirm")) {</span>
|
||||
<span class="source-line-no">062</span><span id="line-62"> confirmList.add(player);</span>
|
||||
<span class="source-line-no">063</span><span id="line-63"> iter.remove();</span>
|
||||
<span class="source-line-no">064</span><span id="line-64"> }</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"> } else {</span>
|
||||
<span class="source-line-no">066</span><span id="line-66"> iter.remove();</span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> }</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> }</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> }</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> }</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"></span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> public static List<Player> matchPlayer(String partialName) {</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> List<Player> matchedPlayers = new ArrayList<>();</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"></span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> for (Player iterPlayer : Sponge.getServer().getOnlinePlayers()) {</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> String iterPlayerName = iterPlayer.getName();</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"></span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> if (partialName.equalsIgnoreCase(iterPlayerName)) {</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> // Exact match</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> matchedPlayers.clear();</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> matchedPlayers.add(iterPlayer);</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> break;</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> }</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> if (iterPlayerName.toLowerCase(java.util.Locale.ENGLISH).contains(partialName.toLowerCase(java.util.Locale.ENGLISH))) {</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> // Partial match</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> matchedPlayers.add(iterPlayer);</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> }</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> }</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"></span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> return matchedPlayers;</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> }</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"></span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> public static boolean isValidName(@Nullable String name) {</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches();</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"> }</span>
|
||||
<span class="source-line-no">096</span><span id="line-96"></span>
|
||||
<span class="source-line-no">097</span><span id="line-97">}</span>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -83,147 +83,149 @@
|
||||
<span class="source-line-no">070</span><span id="line-70"> this.formatters.put(MessageType.HELP, new SpongeMessageFormatter(TextColors.AQUA, TextColors.GREEN, TextColors.YELLOW));</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> getLocales(); // auto load locales</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"></span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> Sponge.getEventManager().registerListeners(plugin, new ACFSpongeListener(this));</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> this.validNamePredicate = ACFSpongeUtil::isValidName;</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"></span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> //TODO more default dependencies for sponge</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> registerDependency(plugin.getClass(), plugin);</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> }</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"></span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> public PluginContainer getPlugin() {</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> return plugin;</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> }</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"></span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> @Override</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> public boolean isCommandIssuer(Class<?> type) {</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> return CommandSource.class.isAssignableFrom(type);</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> }</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"></span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> @Override</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> public synchronized CommandContexts<SpongeCommandExecutionContext> getCommandContexts() {</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> if (this.contexts == null) {</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> this.contexts = new SpongeCommandContexts(this);</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> }</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> return contexts;</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> }</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"></span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> @Override</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> public synchronized CommandCompletions<SpongeCommandCompletionContext> getCommandCompletions() {</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> if (this.completions == null) {</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> this.completions = new SpongeCommandCompletions(this);</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> }</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> return completions;</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> }</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"></span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> @Override</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> public SpongeLocales getLocales() {</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> if (this.locales == null) {</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> this.locales = new SpongeLocales(this);</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> this.locales.loadLanguages();</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> }</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> return locales;</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> }</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"></span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> @Override</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> public boolean hasRegisteredCommands() {</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> return !registeredCommands.isEmpty();</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> }</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"></span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> @Override</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> public void registerCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> command.onRegister(this);</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"></span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> SpongeRootCommand spongeCommand = (SpongeRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> if (!spongeCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> Sponge.getCommandManager().register(this.plugin, spongeCommand, commandName);</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> }</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> spongeCommand.isRegistered = true;</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> registeredCommands.put(commandName, spongeCommand);</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> }</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> }</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"></span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> public Timing createTiming(final String name) {</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> return Timings.of(this.plugin, name, this.commandTiming);</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> }</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"></span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> @Override</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"> public RootCommand createRootCommand(String cmd) {</span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> return new SpongeRootCommand(this, cmd);</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> }</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> </span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> @Override</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> public Collection<RootCommand> getRegisteredRootCommands() {</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> return Collections.unmodifiableCollection(registeredCommands.values());</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> }</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"></span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> @Override</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> public SpongeCommandIssuer getCommandIssuer(Object issuer) {</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> if (!(issuer instanceof CommandSource)) {</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer.");</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"> }</span>
|
||||
<span class="source-line-no">152</span><span id="line-152"> return new SpongeCommandIssuer(this, (CommandSource) issuer);</span>
|
||||
<span class="source-line-no">153</span><span id="line-153"> }</span>
|
||||
<span class="source-line-no">154</span><span id="line-154"></span>
|
||||
<span class="source-line-no">155</span><span id="line-155"> @Override</span>
|
||||
<span class="source-line-no">156</span><span id="line-156"> public SpongeCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) {</span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> return new SpongeCommandExecutionContext(command, parameter, (SpongeCommandIssuer) sender, args, i, passedArgs);</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> }</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"></span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> @Override</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"> public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) {</span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> return new SpongeCommandCompletionContext(command, (SpongeCommandIssuer) sender, input, config, args);</span>
|
||||
<span class="source-line-no">163</span><span id="line-163"> }</span>
|
||||
<span class="source-line-no">164</span><span id="line-164"></span>
|
||||
<span class="source-line-no">165</span><span id="line-165"> @Override</span>
|
||||
<span class="source-line-no">166</span><span id="line-166"> public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) {</span>
|
||||
<span class="source-line-no">167</span><span id="line-167"> return new SpongeRegisteredCommand(command, cmdName, method, prefSubCommand);</span>
|
||||
<span class="source-line-no">168</span><span id="line-168"> }</span>
|
||||
<span class="source-line-no">169</span><span id="line-169"></span>
|
||||
<span class="source-line-no">170</span><span id="line-170"> @Override</span>
|
||||
<span class="source-line-no">171</span><span id="line-171"> public void log(final LogLevel level, final String message, final Throwable throwable) {</span>
|
||||
<span class="source-line-no">172</span><span id="line-172"> Logger logger = this.plugin.getLogger();</span>
|
||||
<span class="source-line-no">173</span><span id="line-173"> switch(level) {</span>
|
||||
<span class="source-line-no">174</span><span id="line-174"> case INFO:</span>
|
||||
<span class="source-line-no">175</span><span id="line-175"> logger.info(LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">176</span><span id="line-176"> if (throwable != null) {</span>
|
||||
<span class="source-line-no">177</span><span id="line-177"> for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) {</span>
|
||||
<span class="source-line-no">178</span><span id="line-178"> logger.info(LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">179</span><span id="line-179"> }</span>
|
||||
<span class="source-line-no">180</span><span id="line-180"> }</span>
|
||||
<span class="source-line-no">181</span><span id="line-181"> return;</span>
|
||||
<span class="source-line-no">182</span><span id="line-182"> case ERROR:</span>
|
||||
<span class="source-line-no">183</span><span id="line-183"> logger.error(LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">184</span><span id="line-184"> if (throwable != null) {</span>
|
||||
<span class="source-line-no">185</span><span id="line-185"> for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) {</span>
|
||||
<span class="source-line-no">186</span><span id="line-186"> logger.error(LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">187</span><span id="line-187"> }</span>
|
||||
<span class="source-line-no">188</span><span id="line-188"> }</span>
|
||||
<span class="source-line-no">189</span><span id="line-189"> }</span>
|
||||
<span class="source-line-no">190</span><span id="line-190"> }</span>
|
||||
<span class="source-line-no">191</span><span id="line-191"></span>
|
||||
<span class="source-line-no">192</span><span id="line-192"> @Override</span>
|
||||
<span class="source-line-no">193</span><span id="line-193"> CommandOperationContext createCommandOperationContext(BaseCommand command, CommandIssuer issuer, String commandLabel, String[] args, boolean isAsync) {</span>
|
||||
<span class="source-line-no">194</span><span id="line-194"> return new SpongeCommandOperationContext(</span>
|
||||
<span class="source-line-no">195</span><span id="line-195"> this,</span>
|
||||
<span class="source-line-no">196</span><span id="line-196"> issuer,</span>
|
||||
<span class="source-line-no">197</span><span id="line-197"> command,</span>
|
||||
<span class="source-line-no">198</span><span id="line-198"> commandLabel,</span>
|
||||
<span class="source-line-no">199</span><span id="line-199"> args,</span>
|
||||
<span class="source-line-no">200</span><span id="line-200"> isAsync</span>
|
||||
<span class="source-line-no">201</span><span id="line-201"> );</span>
|
||||
<span class="source-line-no">202</span><span id="line-202"> }</span>
|
||||
<span class="source-line-no">203</span><span id="line-203"></span>
|
||||
<span class="source-line-no">204</span><span id="line-204"> @Override</span>
|
||||
<span class="source-line-no">205</span><span id="line-205"> public SpongeConditionContext createConditionContext(CommandIssuer issuer, String config) {</span>
|
||||
<span class="source-line-no">206</span><span id="line-206"> return new SpongeConditionContext((SpongeCommandIssuer) issuer, config);</span>
|
||||
<span class="source-line-no">207</span><span id="line-207"> }</span>
|
||||
<span class="source-line-no">208</span><span id="line-208"></span>
|
||||
<span class="source-line-no">209</span><span id="line-209"> @Override</span>
|
||||
<span class="source-line-no">210</span><span id="line-210"> public String getCommandPrefix(CommandIssuer issuer) {</span>
|
||||
<span class="source-line-no">211</span><span id="line-211"> return issuer.isPlayer() ? "/" : "";</span>
|
||||
<span class="source-line-no">212</span><span id="line-212"> }</span>
|
||||
<span class="source-line-no">213</span><span id="line-213">}</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> Sponge.getEventManager().registerListeners(plugin, new ACFSpongeListener(this));</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"></span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> //TODO more default dependencies for sponge</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> registerDependency(plugin.getClass(), plugin);</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> }</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"></span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> public PluginContainer getPlugin() {</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> return plugin;</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> }</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"></span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> @Override</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> public boolean isCommandIssuer(Class<?> type) {</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> return CommandSource.class.isAssignableFrom(type);</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> }</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"></span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> @Override</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> public synchronized CommandContexts<SpongeCommandExecutionContext> getCommandContexts() {</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> if (this.contexts == null) {</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> this.contexts = new SpongeCommandContexts(this);</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> }</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"> return contexts;</span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> }</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"></span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> @Override</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> public synchronized CommandCompletions<SpongeCommandCompletionContext> getCommandCompletions() {</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> if (this.completions == null) {</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> this.completions = new SpongeCommandCompletions(this);</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> }</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> return completions;</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> }</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"></span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> @Override</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> public SpongeLocales getLocales() {</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> if (this.locales == null) {</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> this.locales = new SpongeLocales(this);</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> this.locales.loadLanguages();</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> }</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"> return locales;</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> }</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"></span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> @Override</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> public boolean hasRegisteredCommands() {</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> return !registeredCommands.isEmpty();</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> }</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"></span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> @Override</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> public void registerCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> command.onRegister(this);</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"></span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> SpongeRootCommand spongeCommand = (SpongeRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> if (!spongeCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> Sponge.getCommandManager().register(this.plugin, spongeCommand, commandName);</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> }</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> spongeCommand.isRegistered = true;</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> registeredCommands.put(commandName, spongeCommand);</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> }</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> }</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"></span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> public Timing createTiming(final String name) {</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> return Timings.of(this.plugin, name, this.commandTiming);</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> }</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"></span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> @Override</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> public RootCommand createRootCommand(String cmd) {</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> return new SpongeRootCommand(this, cmd);</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> }</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> </span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> @Override</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> public Collection<RootCommand> getRegisteredRootCommands() {</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> return Collections.unmodifiableCollection(registeredCommands.values());</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> }</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"></span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> @Override</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> public SpongeCommandIssuer getCommandIssuer(Object issuer) {</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"> if (!(issuer instanceof CommandSource)) {</span>
|
||||
<span class="source-line-no">152</span><span id="line-152"> throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer.");</span>
|
||||
<span class="source-line-no">153</span><span id="line-153"> }</span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> return new SpongeCommandIssuer(this, (CommandSource) issuer);</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"> }</span>
|
||||
<span class="source-line-no">156</span><span id="line-156"></span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> @Override</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> public SpongeCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) {</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"> return new SpongeCommandExecutionContext(command, parameter, (SpongeCommandIssuer) sender, args, i, passedArgs);</span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> }</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"></span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> @Override</span>
|
||||
<span class="source-line-no">163</span><span id="line-163"> public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) {</span>
|
||||
<span class="source-line-no">164</span><span id="line-164"> return new SpongeCommandCompletionContext(command, (SpongeCommandIssuer) sender, input, config, args);</span>
|
||||
<span class="source-line-no">165</span><span id="line-165"> }</span>
|
||||
<span class="source-line-no">166</span><span id="line-166"></span>
|
||||
<span class="source-line-no">167</span><span id="line-167"> @Override</span>
|
||||
<span class="source-line-no">168</span><span id="line-168"> public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) {</span>
|
||||
<span class="source-line-no">169</span><span id="line-169"> return new SpongeRegisteredCommand(command, cmdName, method, prefSubCommand);</span>
|
||||
<span class="source-line-no">170</span><span id="line-170"> }</span>
|
||||
<span class="source-line-no">171</span><span id="line-171"></span>
|
||||
<span class="source-line-no">172</span><span id="line-172"> @Override</span>
|
||||
<span class="source-line-no">173</span><span id="line-173"> public void log(final LogLevel level, final String message, final Throwable throwable) {</span>
|
||||
<span class="source-line-no">174</span><span id="line-174"> Logger logger = this.plugin.getLogger();</span>
|
||||
<span class="source-line-no">175</span><span id="line-175"> switch(level) {</span>
|
||||
<span class="source-line-no">176</span><span id="line-176"> case INFO:</span>
|
||||
<span class="source-line-no">177</span><span id="line-177"> logger.info(LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">178</span><span id="line-178"> if (throwable != null) {</span>
|
||||
<span class="source-line-no">179</span><span id="line-179"> for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) {</span>
|
||||
<span class="source-line-no">180</span><span id="line-180"> logger.info(LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">181</span><span id="line-181"> }</span>
|
||||
<span class="source-line-no">182</span><span id="line-182"> }</span>
|
||||
<span class="source-line-no">183</span><span id="line-183"> return;</span>
|
||||
<span class="source-line-no">184</span><span id="line-184"> case ERROR:</span>
|
||||
<span class="source-line-no">185</span><span id="line-185"> logger.error(LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">186</span><span id="line-186"> if (throwable != null) {</span>
|
||||
<span class="source-line-no">187</span><span id="line-187"> for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) {</span>
|
||||
<span class="source-line-no">188</span><span id="line-188"> logger.error(LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">189</span><span id="line-189"> }</span>
|
||||
<span class="source-line-no">190</span><span id="line-190"> }</span>
|
||||
<span class="source-line-no">191</span><span id="line-191"> }</span>
|
||||
<span class="source-line-no">192</span><span id="line-192"> }</span>
|
||||
<span class="source-line-no">193</span><span id="line-193"></span>
|
||||
<span class="source-line-no">194</span><span id="line-194"> @Override</span>
|
||||
<span class="source-line-no">195</span><span id="line-195"> CommandOperationContext createCommandOperationContext(BaseCommand command, CommandIssuer issuer, String commandLabel, String[] args, boolean isAsync) {</span>
|
||||
<span class="source-line-no">196</span><span id="line-196"> return new SpongeCommandOperationContext(</span>
|
||||
<span class="source-line-no">197</span><span id="line-197"> this,</span>
|
||||
<span class="source-line-no">198</span><span id="line-198"> issuer,</span>
|
||||
<span class="source-line-no">199</span><span id="line-199"> command,</span>
|
||||
<span class="source-line-no">200</span><span id="line-200"> commandLabel,</span>
|
||||
<span class="source-line-no">201</span><span id="line-201"> args,</span>
|
||||
<span class="source-line-no">202</span><span id="line-202"> isAsync</span>
|
||||
<span class="source-line-no">203</span><span id="line-203"> );</span>
|
||||
<span class="source-line-no">204</span><span id="line-204"> }</span>
|
||||
<span class="source-line-no">205</span><span id="line-205"></span>
|
||||
<span class="source-line-no">206</span><span id="line-206"> @Override</span>
|
||||
<span class="source-line-no">207</span><span id="line-207"> public SpongeConditionContext createConditionContext(CommandIssuer issuer, String config) {</span>
|
||||
<span class="source-line-no">208</span><span id="line-208"> return new SpongeConditionContext((SpongeCommandIssuer) issuer, config);</span>
|
||||
<span class="source-line-no">209</span><span id="line-209"> }</span>
|
||||
<span class="source-line-no">210</span><span id="line-210"></span>
|
||||
<span class="source-line-no">211</span><span id="line-211"> @Override</span>
|
||||
<span class="source-line-no">212</span><span id="line-212"> public String getCommandPrefix(CommandIssuer issuer) {</span>
|
||||
<span class="source-line-no">213</span><span id="line-213"> return issuer.isPlayer() ? "/" : "";</span>
|
||||
<span class="source-line-no">214</span><span id="line-214"> }</span>
|
||||
<span class="source-line-no">215</span><span id="line-215">}</span>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ loadScripts(document, 'script');</script>
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> search)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isValidName(java.lang.String)" class="member-name-link">isValidName</a><wbr>(@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <T> T</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#validate(T,java.lang.String,java.lang.Object...)" class="member-name-link">validate</a><wbr>(T object,
|
||||
@@ -169,13 +169,14 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="isValidName(java.lang.String)">
|
||||
<h3>isValidName</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFVelocityUtil.html#line-67">isValidName</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFVelocityUtil.html#line-66">isValidName</a></span><wbr><span class="parameters">(@Nullable
|
||||
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="validate(T,java.lang.String,java.lang.Object...)">
|
||||
<h3 id="validate(java.lang.Object,java.lang.String,java.lang.Object[])">validate</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><T></span> <span class="return-type">T</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFVelocityUtil.html#line-71">validate</a></span><wbr><span class="parameters">(T object,
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><T></span> <span class="return-type">T</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/ACFVelocityUtil.html#line-70">validate</a></span><wbr><span class="parameters">(T object,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>... values)</span></div>
|
||||
</section>
|
||||
|
||||
@@ -305,19 +305,19 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getProxy()">
|
||||
<h3>getProxy</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">com.velocitypowered.api.proxy.ProxyServer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-72">getProxy</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">com.velocitypowered.api.proxy.ProxyServer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-74">getProxy</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getPlugin()">
|
||||
<h3>getPlugin</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">com.velocitypowered.api.plugin.PluginContainer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-76">getPlugin</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">com.velocitypowered.api.plugin.PluginContainer</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-78">getPlugin</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getCommandContexts()">
|
||||
<h3>getCommandContexts</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandContexts<<a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-80">getCommandContexts</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandContexts<<a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-82">getCommandContexts</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandContexts</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -327,7 +327,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandCompletions()">
|
||||
<h3>getCommandCompletions</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletions<<a href="VelocityCommandCompletionContext.html" title="class in co.aikar.commands">VelocityCommandCompletionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-88">getCommandCompletions</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletions<<a href="VelocityCommandCompletionContext.html" title="class in co.aikar.commands">VelocityCommandCompletionContext</a>></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-90">getCommandCompletions</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandCompletions</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -337,7 +337,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getLocales()">
|
||||
<h3>getLocales</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="VelocityLocales.html" title="class in co.aikar.commands">VelocityLocales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-96">getLocales</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="VelocityLocales.html" title="class in co.aikar.commands">VelocityLocales</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-98">getLocales</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getLocales</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -347,13 +347,13 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="readLocale(com.velocitypowered.api.proxy.Player)">
|
||||
<h3>readLocale</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-105">readLocale</a></span><wbr><span class="parameters">(com.velocitypowered.api.proxy.Player player)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-107">readLocale</a></span><wbr><span class="parameters">(com.velocitypowered.api.proxy.Player player)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="registerCommand(co.aikar.commands.BaseCommand)">
|
||||
<h3>registerCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-117">registerCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-119">registerCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>registerCommand</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -363,32 +363,32 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="registerCommand(co.aikar.commands.BaseCommand,boolean)">
|
||||
<h3>registerCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-122">registerCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-124">registerCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command,
|
||||
boolean force)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="unregisterCommand(co.aikar.commands.BaseCommand)">
|
||||
<h3>unregisterCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-139">unregisterCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-141">unregisterCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="unregisterCommand(co.aikar.commands.VelocityRootCommand)">
|
||||
<h3>unregisterCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-152">unregisterCommand</a></span><wbr><span class="parameters">(<a href="VelocityRootCommand.html" title="class in co.aikar.commands">VelocityRootCommand</a> command)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-154">unregisterCommand</a></span><wbr><span class="parameters">(<a href="VelocityRootCommand.html" title="class in co.aikar.commands">VelocityRootCommand</a> command)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="unregisterCommands()">
|
||||
<h3>unregisterCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-156">unregisterCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-158">unregisterCommands</a></span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="hasRegisteredCommands()">
|
||||
<h3>hasRegisteredCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-162">hasRegisteredCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-164">hasRegisteredCommands</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>hasRegisteredCommands</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -398,7 +398,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="isCommandIssuer(java.lang.Class)">
|
||||
<h3>isCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-167">isCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> aClass)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-169">isCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?> aClass)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>isCommandIssuer</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -408,7 +408,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandIssuer(java.lang.Object)">
|
||||
<h3>getCommandIssuer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-172">getCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-174">getCommandIssuer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> issuer)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getCommandIssuer</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -418,7 +418,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createRootCommand(java.lang.String)">
|
||||
<h3>createRootCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RootCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-180">createRootCommand</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RootCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-182">createRootCommand</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmd)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>createRootCommand</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -428,7 +428,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getRegisteredRootCommands()">
|
||||
<h3>getRegisteredRootCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><co.aikar.commands.RootCommand></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-185">getRegisteredRootCommands</a></span>()</div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><co.aikar.commands.RootCommand></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-187">getRegisteredRootCommands</a></span>()</div>
|
||||
<dl class="notes">
|
||||
<dt>Specified by:</dt>
|
||||
<dd><code>getRegisteredRootCommands</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
@@ -438,7 +438,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createCommandContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandParameter,co.aikar.commands.CommandIssuer,java.util.List,int,java.util.Map)">
|
||||
<h3>createCommandContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-190">createCommandContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-192">createCommandContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
co.aikar.commands.CommandParameter parameter,
|
||||
co.aikar.commands.CommandIssuer sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> args,
|
||||
@@ -453,7 +453,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createCompletionContext(co.aikar.commands.RegisteredCommand,co.aikar.commands.CommandIssuer,java.lang.String,java.lang.String,java.lang.String[])">
|
||||
<h3>createCompletionContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletionContext</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-195">createCompletionContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.CommandCompletionContext</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-197">createCompletionContext</a></span><wbr><span class="parameters">(co.aikar.commands.RegisteredCommand command,
|
||||
co.aikar.commands.CommandIssuer sender,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> input,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> config,
|
||||
@@ -467,7 +467,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createRegisteredCommand(co.aikar.commands.BaseCommand,java.lang.String,java.lang.reflect.Method,java.lang.String)">
|
||||
<h3>createRegisteredCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RegisteredCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-200">createRegisteredCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">co.aikar.commands.RegisteredCommand</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-202">createRegisteredCommand</a></span><wbr><span class="parameters">(co.aikar.commands.BaseCommand command,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> cmdName,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link">Method</a> method,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> prefSubCommand)</span></div>
|
||||
@@ -480,7 +480,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="createConditionContext(co.aikar.commands.CommandIssuer,java.lang.String)">
|
||||
<h3>createConditionContext</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-205">createConditionContext</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-207">createConditionContext</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> config)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
@@ -491,7 +491,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="log(co.aikar.commands.LogLevel,java.lang.String,java.lang.Throwable)">
|
||||
<h3>log</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-210">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-212">log</a></span><wbr><span class="parameters">(co.aikar.commands.LogLevel level,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> message,
|
||||
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a> throwable)</span></div>
|
||||
<dl class="notes">
|
||||
@@ -503,7 +503,7 @@ loadScripts(document, 'script');</script>
|
||||
<li>
|
||||
<section class="detail" id="getCommandPrefix(co.aikar.commands.CommandIssuer)">
|
||||
<h3>getCommandPrefix</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-232">getCommandPrefix</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer)</span></div>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../src-html/co/aikar/commands/VelocityCommandManager.html#line-234">getCommandPrefix</a></span><wbr><span class="parameters">(co.aikar.commands.CommandIssuer issuer)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>Overrides:</dt>
|
||||
<dd><code>getCommandPrefix</code> in class <code>co.aikar.commands.CommandManager<com.velocitypowered.api.command.CommandSource,<wbr><a href="VelocityCommandIssuer.html" title="class in co.aikar.commands">VelocityCommandIssuer</a>,<wbr>net.kyori.adventure.text.format.NamedTextColor,<wbr><a href="VelocityMessageFormatter.html" title="class in co.aikar.commands">VelocityMessageFormatter</a>,<wbr><a href="VelocityCommandExecutionContext.html" title="class in co.aikar.commands">VelocityCommandExecutionContext</a>,<wbr><a href="VelocityConditionContext.html" title="class in co.aikar.commands">VelocityConditionContext</a>></code></dd>
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
<div class="source-container">
|
||||
<pre><span class="source-line-no">001</span><span id="line-1">package co.aikar.commands;</span>
|
||||
<span class="source-line-no">002</span><span id="line-2"></span>
|
||||
<span class="source-line-no">003</span><span id="line-3">import com.velocitypowered.api.command.CommandSource;</span>
|
||||
<span class="source-line-no">004</span><span id="line-4">import com.velocitypowered.api.proxy.Player;</span>
|
||||
<span class="source-line-no">005</span><span id="line-5">import com.velocitypowered.api.proxy.ProxyServer;</span>
|
||||
<span class="source-line-no">006</span><span id="line-6">import net.kyori.adventure.text.TextComponent;</span>
|
||||
<span class="source-line-no">007</span><span id="line-7">import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;</span>
|
||||
<span class="source-line-no">003</span><span id="line-3">import com.velocitypowered.api.proxy.Player;</span>
|
||||
<span class="source-line-no">004</span><span id="line-4">import com.velocitypowered.api.proxy.ProxyServer;</span>
|
||||
<span class="source-line-no">005</span><span id="line-5">import net.kyori.adventure.text.TextComponent;</span>
|
||||
<span class="source-line-no">006</span><span id="line-6">import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;</span>
|
||||
<span class="source-line-no">007</span><span id="line-7">import org.jetbrains.annotations.Nullable;</span>
|
||||
<span class="source-line-no">008</span><span id="line-8"></span>
|
||||
<span class="source-line-no">009</span><span id="line-9">import java.util.ArrayList;</span>
|
||||
<span class="source-line-no">010</span><span id="line-10">import java.util.Collection;</span>
|
||||
@@ -33,61 +33,60 @@
|
||||
<span class="source-line-no">020</span><span id="line-20"> }</span>
|
||||
<span class="source-line-no">021</span><span id="line-21"></span>
|
||||
<span class="source-line-no">022</span><span id="line-22"> public static Player findPlayerSmart(ProxyServer server, CommandIssuer issuer, String search) {</span>
|
||||
<span class="source-line-no">023</span><span id="line-23"> CommandSource requester = issuer.getIssuer();</span>
|
||||
<span class="source-line-no">024</span><span id="line-24"> String name = ACFUtil.replace(search, ":confirm", "");</span>
|
||||
<span class="source-line-no">025</span><span id="line-25"></span>
|
||||
<span class="source-line-no">026</span><span id="line-26"> List<Player> matches = new ArrayList<>(matchPlayer(server, name));</span>
|
||||
<span class="source-line-no">027</span><span id="line-27"></span>
|
||||
<span class="source-line-no">028</span><span id="line-28"> if (matches.size() > 1) {</span>
|
||||
<span class="source-line-no">029</span><span id="line-29"> String allMatches = matches.stream().map(Player::getUsername).collect(Collectors.joining(", "));</span>
|
||||
<span class="source-line-no">030</span><span id="line-30"> issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, "{search}", name, "{all}", allMatches);</span>
|
||||
<span class="source-line-no">031</span><span id="line-31"> return null;</span>
|
||||
<span class="source-line-no">032</span><span id="line-32"> }</span>
|
||||
<span class="source-line-no">033</span><span id="line-33"></span>
|
||||
<span class="source-line-no">034</span><span id="line-34"> if (matches.isEmpty()) {</span>
|
||||
<span class="source-line-no">035</span><span id="line-35"> if (!isValidName(name)) {</span>
|
||||
<span class="source-line-no">036</span><span id="line-36"> issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">037</span><span id="line-37"> return null;</span>
|
||||
<span class="source-line-no">038</span><span id="line-38"> }</span>
|
||||
<span class="source-line-no">039</span><span id="line-39"> issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name);</span>
|
||||
<span class="source-line-no">040</span><span id="line-40"> return null;</span>
|
||||
<span class="source-line-no">041</span><span id="line-41"> }</span>
|
||||
<span class="source-line-no">042</span><span id="line-42"></span>
|
||||
<span class="source-line-no">043</span><span id="line-43"> return matches.get(0);</span>
|
||||
<span class="source-line-no">044</span><span id="line-44"> }</span>
|
||||
<span class="source-line-no">045</span><span id="line-45"></span>
|
||||
<span class="source-line-no">046</span><span id="line-46"> /*</span>
|
||||
<span class="source-line-no">047</span><span id="line-47"> * Original code written by md_5</span>
|
||||
<span class="source-line-no">048</span><span id="line-48"> *</span>
|
||||
<span class="source-line-no">049</span><span id="line-49"> * Modified to work with Velocity by Crypnotic</span>
|
||||
<span class="source-line-no">050</span><span id="line-50"> */</span>
|
||||
<span class="source-line-no">051</span><span id="line-51"> private static Collection<Player> matchPlayer(ProxyServer server, final String partialName) {</span>
|
||||
<span class="source-line-no">052</span><span id="line-52"> // A better error message might be nice. This just mimics the previous output</span>
|
||||
<span class="source-line-no">053</span><span id="line-53"> if (partialName == null) {</span>
|
||||
<span class="source-line-no">054</span><span id="line-54"> throw new NullPointerException("partialName");</span>
|
||||
<span class="source-line-no">055</span><span id="line-55"> }</span>
|
||||
<span class="source-line-no">056</span><span id="line-56"></span>
|
||||
<span class="source-line-no">057</span><span id="line-57"> Optional<Player> exactMatch = server.getPlayer(partialName);</span>
|
||||
<span class="source-line-no">058</span><span id="line-58"> if (exactMatch.isPresent()) {</span>
|
||||
<span class="source-line-no">059</span><span id="line-59"> return Collections.singleton(exactMatch.get());</span>
|
||||
<span class="source-line-no">060</span><span id="line-60"> }</span>
|
||||
<span class="source-line-no">061</span><span id="line-61"></span>
|
||||
<span class="source-line-no">062</span><span id="line-62"> return server.getAllPlayers().stream()</span>
|
||||
<span class="source-line-no">063</span><span id="line-63"> .filter(player -> player.getUsername().regionMatches(true, 0, partialName, 0, partialName.length()))</span>
|
||||
<span class="source-line-no">064</span><span id="line-64"> .collect(Collectors.toList());</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"> }</span>
|
||||
<span class="source-line-no">066</span><span id="line-66"></span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> public static boolean isValidName(String name) {</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches();</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> }</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"></span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> public static <T> T validate(T object, String message, Object... values) {</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> if (object == null) {</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> throw new NullPointerException(String.format(message, values));</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> }</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> return object;</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> }</span>
|
||||
<span class="source-line-no">077</span><span id="line-77">}</span>
|
||||
<span class="source-line-no">023</span><span id="line-23"> String name = ACFUtil.replace(search, ":confirm", "");</span>
|
||||
<span class="source-line-no">024</span><span id="line-24"></span>
|
||||
<span class="source-line-no">025</span><span id="line-25"> List<Player> matches = new ArrayList<>(matchPlayer(server, name));</span>
|
||||
<span class="source-line-no">026</span><span id="line-26"></span>
|
||||
<span class="source-line-no">027</span><span id="line-27"> if (matches.size() > 1) {</span>
|
||||
<span class="source-line-no">028</span><span id="line-28"> String allMatches = matches.stream().map(Player::getUsername).collect(Collectors.joining(", "));</span>
|
||||
<span class="source-line-no">029</span><span id="line-29"> issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, "{search}", name, "{all}", allMatches);</span>
|
||||
<span class="source-line-no">030</span><span id="line-30"> return null;</span>
|
||||
<span class="source-line-no">031</span><span id="line-31"> }</span>
|
||||
<span class="source-line-no">032</span><span id="line-32"></span>
|
||||
<span class="source-line-no">033</span><span id="line-33"> if (matches.isEmpty()) {</span>
|
||||
<span class="source-line-no">034</span><span id="line-34"> if (!issuer.getManager().isValidName(name)) {</span>
|
||||
<span class="source-line-no">035</span><span id="line-35"> issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name);</span>
|
||||
<span class="source-line-no">036</span><span id="line-36"> return null;</span>
|
||||
<span class="source-line-no">037</span><span id="line-37"> }</span>
|
||||
<span class="source-line-no">038</span><span id="line-38"> issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name);</span>
|
||||
<span class="source-line-no">039</span><span id="line-39"> return null;</span>
|
||||
<span class="source-line-no">040</span><span id="line-40"> }</span>
|
||||
<span class="source-line-no">041</span><span id="line-41"></span>
|
||||
<span class="source-line-no">042</span><span id="line-42"> return matches.get(0);</span>
|
||||
<span class="source-line-no">043</span><span id="line-43"> }</span>
|
||||
<span class="source-line-no">044</span><span id="line-44"></span>
|
||||
<span class="source-line-no">045</span><span id="line-45"> /*</span>
|
||||
<span class="source-line-no">046</span><span id="line-46"> * Original code written by md_5</span>
|
||||
<span class="source-line-no">047</span><span id="line-47"> *</span>
|
||||
<span class="source-line-no">048</span><span id="line-48"> * Modified to work with Velocity by Crypnotic</span>
|
||||
<span class="source-line-no">049</span><span id="line-49"> */</span>
|
||||
<span class="source-line-no">050</span><span id="line-50"> private static Collection<Player> matchPlayer(ProxyServer server, final String partialName) {</span>
|
||||
<span class="source-line-no">051</span><span id="line-51"> // A better error message might be nice. This just mimics the previous output</span>
|
||||
<span class="source-line-no">052</span><span id="line-52"> if (partialName == null) {</span>
|
||||
<span class="source-line-no">053</span><span id="line-53"> throw new NullPointerException("partialName");</span>
|
||||
<span class="source-line-no">054</span><span id="line-54"> }</span>
|
||||
<span class="source-line-no">055</span><span id="line-55"></span>
|
||||
<span class="source-line-no">056</span><span id="line-56"> Optional<Player> exactMatch = server.getPlayer(partialName);</span>
|
||||
<span class="source-line-no">057</span><span id="line-57"> if (exactMatch.isPresent()) {</span>
|
||||
<span class="source-line-no">058</span><span id="line-58"> return Collections.singleton(exactMatch.get());</span>
|
||||
<span class="source-line-no">059</span><span id="line-59"> }</span>
|
||||
<span class="source-line-no">060</span><span id="line-60"></span>
|
||||
<span class="source-line-no">061</span><span id="line-61"> return server.getAllPlayers().stream()</span>
|
||||
<span class="source-line-no">062</span><span id="line-62"> .filter(player -> player.getUsername().regionMatches(true, 0, partialName, 0, partialName.length()))</span>
|
||||
<span class="source-line-no">063</span><span id="line-63"> .collect(Collectors.toList());</span>
|
||||
<span class="source-line-no">064</span><span id="line-64"> }</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"></span>
|
||||
<span class="source-line-no">066</span><span id="line-66"> public static boolean isValidName(@Nullable String name) {</span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches();</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> }</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"></span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> public static <T> T validate(T object, String message, Object... values) {</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> if (object == null) {</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> throw new NullPointerException(String.format(message, values));</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> }</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> return object;</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> }</span>
|
||||
<span class="source-line-no">076</span><span id="line-76">}</span>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -75,178 +75,180 @@
|
||||
<span class="source-line-no">062</span><span id="line-62"></span>
|
||||
<span class="source-line-no">063</span><span id="line-63"> getLocales();</span>
|
||||
<span class="source-line-no">064</span><span id="line-64"></span>
|
||||
<span class="source-line-no">065</span><span id="line-65"> proxy.getEventManager().register(plugin, new ACFVelocityListener(this, this.plugin, proxy));</span>
|
||||
<span class="source-line-no">065</span><span id="line-65"> this.validNamePredicate = ACFVelocityUtil::isValidName;</span>
|
||||
<span class="source-line-no">066</span><span id="line-66"></span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> registerDependency(plugin.getClass(), plugin);</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"> registerDependency(Plugin.class, plugin);</span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> registerDependency(ProxyServer.class, proxy);</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> }</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"></span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> public ProxyServer getProxy() {</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"> return this.proxy;</span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> }</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"></span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> public PluginContainer getPlugin() {</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"> return this.plugin;</span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> }</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"></span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> @Override</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"> public synchronized CommandContexts<VelocityCommandExecutionContext> getCommandContexts() {</span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> if (this.contexts == null) {</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> this.contexts = new VelocityCommandContexts(proxy, this);</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> }</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> return contexts;</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> }</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"></span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> @Override</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"> public synchronized CommandCompletions<VelocityCommandCompletionContext> getCommandCompletions() {</span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> if (this.completions == null) {</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> this.completions = new VelocityCommandCompletions(proxy, this);</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> }</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> return completions;</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> }</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"></span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> @Override</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"> public VelocityLocales getLocales() {</span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> if (this.locales == null) {</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> this.locales = new VelocityLocales(this);</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> this.locales.loadLanguages();</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> }</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> return locales;</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> }</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"></span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> public void readLocale(Player player) {</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"> if (!player.isActive()) {</span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> return;</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> }</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"></span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> //This can be null if we didn't receive a settings packet</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"> Locale locale = player.getPlayerSettings().getLocale();</span>
|
||||
<span class="source-line-no">112</span><span id="line-112"> if (locale != null) {</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> setIssuerLocale(player, player.getPlayerSettings().getLocale());</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> }</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> }</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"></span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> @Override</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"> public void registerCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> registerCommand(command, false);</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> }</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"></span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> public void registerCommand(BaseCommand command, boolean force) {</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"> command.onRegister(this);</span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> VelocityRootCommand velocityCommand = (VelocityRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> if (!velocityCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> if (force) {</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> proxy.getCommandManager().unregister(commandName);</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> }</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> CommandMeta meta = proxy.getCommandManager().metaBuilder(commandName).build();</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> proxy.getCommandManager().register(meta, velocityCommand);</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> }</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> velocityCommand.isRegistered = true;</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> registeredCommands.put(commandName, velocityCommand);</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> }</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> }</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"></span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> public void unregisterCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> VelocityRootCommand velocityCommand = (VelocityRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> velocityCommand.getSubCommands().values().removeAll(command.subCommands.values());</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> if (velocityCommand.getSubCommands().isEmpty() && velocityCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> unregisterCommand(velocityCommand);</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> velocityCommand.isRegistered = false;</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> registeredCommands.remove(commandName);</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> }</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> }</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> }</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"></span>
|
||||
<span class="source-line-no">152</span><span id="line-152"> public void unregisterCommand(VelocityRootCommand command) {</span>
|
||||
<span class="source-line-no">153</span><span id="line-153"> proxy.getCommandManager().unregister(command.getCommandName());</span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> }</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"></span>
|
||||
<span class="source-line-no">156</span><span id="line-156"> public void unregisterCommands() {</span>
|
||||
<span class="source-line-no">157</span><span id="line-157"> for (Map.Entry<String, VelocityRootCommand> entry : registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> unregisterCommand(entry.getValue());</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"> }</span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> }</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"></span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> @Override</span>
|
||||
<span class="source-line-no">163</span><span id="line-163"> public boolean hasRegisteredCommands() {</span>
|
||||
<span class="source-line-no">164</span><span id="line-164"> return !registeredCommands.isEmpty();</span>
|
||||
<span class="source-line-no">165</span><span id="line-165"> }</span>
|
||||
<span class="source-line-no">166</span><span id="line-166"></span>
|
||||
<span class="source-line-no">167</span><span id="line-167"> @Override</span>
|
||||
<span class="source-line-no">168</span><span id="line-168"> public boolean isCommandIssuer(Class<?> aClass) {</span>
|
||||
<span class="source-line-no">169</span><span id="line-169"> return CommandSource.class.isAssignableFrom(aClass);</span>
|
||||
<span class="source-line-no">170</span><span id="line-170"> }</span>
|
||||
<span class="source-line-no">171</span><span id="line-171"></span>
|
||||
<span class="source-line-no">172</span><span id="line-172"> @Override</span>
|
||||
<span class="source-line-no">173</span><span id="line-173"> public VelocityCommandIssuer getCommandIssuer(Object issuer) {</span>
|
||||
<span class="source-line-no">174</span><span id="line-174"> if (!(issuer instanceof CommandSource)) {</span>
|
||||
<span class="source-line-no">175</span><span id="line-175"> throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer.");</span>
|
||||
<span class="source-line-no">176</span><span id="line-176"> }</span>
|
||||
<span class="source-line-no">177</span><span id="line-177"> return new VelocityCommandIssuer(this, (CommandSource) issuer);</span>
|
||||
<span class="source-line-no">178</span><span id="line-178"> }</span>
|
||||
<span class="source-line-no">179</span><span id="line-179"></span>
|
||||
<span class="source-line-no">180</span><span id="line-180"> @Override</span>
|
||||
<span class="source-line-no">181</span><span id="line-181"> public RootCommand createRootCommand(String cmd) {</span>
|
||||
<span class="source-line-no">182</span><span id="line-182"> return new VelocityRootCommand(this, cmd);</span>
|
||||
<span class="source-line-no">183</span><span id="line-183"> }</span>
|
||||
<span class="source-line-no">184</span><span id="line-184"></span>
|
||||
<span class="source-line-no">185</span><span id="line-185"> @Override</span>
|
||||
<span class="source-line-no">186</span><span id="line-186"> public Collection<RootCommand> getRegisteredRootCommands() {</span>
|
||||
<span class="source-line-no">187</span><span id="line-187"> return Collections.unmodifiableCollection(registeredCommands.values());</span>
|
||||
<span class="source-line-no">188</span><span id="line-188"> }</span>
|
||||
<span class="source-line-no">189</span><span id="line-189"></span>
|
||||
<span class="source-line-no">190</span><span id="line-190"> @Override</span>
|
||||
<span class="source-line-no">191</span><span id="line-191"> public VelocityCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) {</span>
|
||||
<span class="source-line-no">192</span><span id="line-192"> return new VelocityCommandExecutionContext(command, parameter, (VelocityCommandIssuer) sender, args, i, passedArgs);</span>
|
||||
<span class="source-line-no">193</span><span id="line-193"> }</span>
|
||||
<span class="source-line-no">194</span><span id="line-194"></span>
|
||||
<span class="source-line-no">195</span><span id="line-195"> @Override</span>
|
||||
<span class="source-line-no">196</span><span id="line-196"> public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) {</span>
|
||||
<span class="source-line-no">197</span><span id="line-197"> return new VelocityCommandCompletionContext(command, (VelocityCommandIssuer) sender, input, config, args);</span>
|
||||
<span class="source-line-no">198</span><span id="line-198"> }</span>
|
||||
<span class="source-line-no">199</span><span id="line-199"></span>
|
||||
<span class="source-line-no">200</span><span id="line-200"> @Override</span>
|
||||
<span class="source-line-no">201</span><span id="line-201"> public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) {</span>
|
||||
<span class="source-line-no">202</span><span id="line-202"> return new RegisteredCommand(command, cmdName, method, prefSubCommand);</span>
|
||||
<span class="source-line-no">203</span><span id="line-203"> }</span>
|
||||
<span class="source-line-no">204</span><span id="line-204"></span>
|
||||
<span class="source-line-no">205</span><span id="line-205"> @Override</span>
|
||||
<span class="source-line-no">206</span><span id="line-206"> public VelocityConditionContext createConditionContext(CommandIssuer issuer, String config) {</span>
|
||||
<span class="source-line-no">207</span><span id="line-207"> return new VelocityConditionContext((VelocityCommandIssuer) issuer, config);</span>
|
||||
<span class="source-line-no">208</span><span id="line-208"> }</span>
|
||||
<span class="source-line-no">209</span><span id="line-209"></span>
|
||||
<span class="source-line-no">210</span><span id="line-210"> @Override</span>
|
||||
<span class="source-line-no">211</span><span id="line-211"> public void log(LogLevel level, String message, Throwable throwable) {</span>
|
||||
<span class="source-line-no">212</span><span id="line-212"> // TODO: Find better solution</span>
|
||||
<span class="source-line-no">213</span><span id="line-213"> Logger logger = LoggerFactory.getLogger(plugin.getClass());</span>
|
||||
<span class="source-line-no">214</span><span id="line-214"> if (level == LogLevel.INFO) {</span>
|
||||
<span class="source-line-no">215</span><span id="line-215"> logger.info(LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">216</span><span id="line-216"> } else {</span>
|
||||
<span class="source-line-no">217</span><span id="line-217"> logger.warn(LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">218</span><span id="line-218"> }</span>
|
||||
<span class="source-line-no">219</span><span id="line-219"></span>
|
||||
<span class="source-line-no">220</span><span id="line-220"> if (throwable != null) {</span>
|
||||
<span class="source-line-no">221</span><span id="line-221"> for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) {</span>
|
||||
<span class="source-line-no">222</span><span id="line-222"> if (level == LogLevel.INFO) {</span>
|
||||
<span class="source-line-no">223</span><span id="line-223"> logger.info(LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">224</span><span id="line-224"> } else {</span>
|
||||
<span class="source-line-no">225</span><span id="line-225"> logger.warn(LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">226</span><span id="line-226"> }</span>
|
||||
<span class="source-line-no">227</span><span id="line-227"> }</span>
|
||||
<span class="source-line-no">228</span><span id="line-228"> }</span>
|
||||
<span class="source-line-no">229</span><span id="line-229"> }</span>
|
||||
<span class="source-line-no">230</span><span id="line-230"></span>
|
||||
<span class="source-line-no">231</span><span id="line-231"></span>
|
||||
<span class="source-line-no">232</span><span id="line-232"> @Override</span>
|
||||
<span class="source-line-no">233</span><span id="line-233"> public String getCommandPrefix(CommandIssuer issuer) {</span>
|
||||
<span class="source-line-no">234</span><span id="line-234"> return issuer.isPlayer() ? "/" : "";</span>
|
||||
<span class="source-line-no">235</span><span id="line-235"> }</span>
|
||||
<span class="source-line-no">236</span><span id="line-236">}</span>
|
||||
<span class="source-line-no">067</span><span id="line-67"> proxy.getEventManager().register(plugin, new ACFVelocityListener(this, this.plugin, proxy));</span>
|
||||
<span class="source-line-no">068</span><span id="line-68"></span>
|
||||
<span class="source-line-no">069</span><span id="line-69"> registerDependency(plugin.getClass(), plugin);</span>
|
||||
<span class="source-line-no">070</span><span id="line-70"> registerDependency(Plugin.class, plugin);</span>
|
||||
<span class="source-line-no">071</span><span id="line-71"> registerDependency(ProxyServer.class, proxy);</span>
|
||||
<span class="source-line-no">072</span><span id="line-72"> }</span>
|
||||
<span class="source-line-no">073</span><span id="line-73"></span>
|
||||
<span class="source-line-no">074</span><span id="line-74"> public ProxyServer getProxy() {</span>
|
||||
<span class="source-line-no">075</span><span id="line-75"> return this.proxy;</span>
|
||||
<span class="source-line-no">076</span><span id="line-76"> }</span>
|
||||
<span class="source-line-no">077</span><span id="line-77"></span>
|
||||
<span class="source-line-no">078</span><span id="line-78"> public PluginContainer getPlugin() {</span>
|
||||
<span class="source-line-no">079</span><span id="line-79"> return this.plugin;</span>
|
||||
<span class="source-line-no">080</span><span id="line-80"> }</span>
|
||||
<span class="source-line-no">081</span><span id="line-81"></span>
|
||||
<span class="source-line-no">082</span><span id="line-82"> @Override</span>
|
||||
<span class="source-line-no">083</span><span id="line-83"> public synchronized CommandContexts<VelocityCommandExecutionContext> getCommandContexts() {</span>
|
||||
<span class="source-line-no">084</span><span id="line-84"> if (this.contexts == null) {</span>
|
||||
<span class="source-line-no">085</span><span id="line-85"> this.contexts = new VelocityCommandContexts(proxy, this);</span>
|
||||
<span class="source-line-no">086</span><span id="line-86"> }</span>
|
||||
<span class="source-line-no">087</span><span id="line-87"> return contexts;</span>
|
||||
<span class="source-line-no">088</span><span id="line-88"> }</span>
|
||||
<span class="source-line-no">089</span><span id="line-89"></span>
|
||||
<span class="source-line-no">090</span><span id="line-90"> @Override</span>
|
||||
<span class="source-line-no">091</span><span id="line-91"> public synchronized CommandCompletions<VelocityCommandCompletionContext> getCommandCompletions() {</span>
|
||||
<span class="source-line-no">092</span><span id="line-92"> if (this.completions == null) {</span>
|
||||
<span class="source-line-no">093</span><span id="line-93"> this.completions = new VelocityCommandCompletions(proxy, this);</span>
|
||||
<span class="source-line-no">094</span><span id="line-94"> }</span>
|
||||
<span class="source-line-no">095</span><span id="line-95"> return completions;</span>
|
||||
<span class="source-line-no">096</span><span id="line-96"> }</span>
|
||||
<span class="source-line-no">097</span><span id="line-97"></span>
|
||||
<span class="source-line-no">098</span><span id="line-98"> @Override</span>
|
||||
<span class="source-line-no">099</span><span id="line-99"> public VelocityLocales getLocales() {</span>
|
||||
<span class="source-line-no">100</span><span id="line-100"> if (this.locales == null) {</span>
|
||||
<span class="source-line-no">101</span><span id="line-101"> this.locales = new VelocityLocales(this);</span>
|
||||
<span class="source-line-no">102</span><span id="line-102"> this.locales.loadLanguages();</span>
|
||||
<span class="source-line-no">103</span><span id="line-103"> }</span>
|
||||
<span class="source-line-no">104</span><span id="line-104"> return locales;</span>
|
||||
<span class="source-line-no">105</span><span id="line-105"> }</span>
|
||||
<span class="source-line-no">106</span><span id="line-106"></span>
|
||||
<span class="source-line-no">107</span><span id="line-107"> public void readLocale(Player player) {</span>
|
||||
<span class="source-line-no">108</span><span id="line-108"> if (!player.isActive()) {</span>
|
||||
<span class="source-line-no">109</span><span id="line-109"> return;</span>
|
||||
<span class="source-line-no">110</span><span id="line-110"> }</span>
|
||||
<span class="source-line-no">111</span><span id="line-111"></span>
|
||||
<span class="source-line-no">112</span><span id="line-112"> //This can be null if we didn't receive a settings packet</span>
|
||||
<span class="source-line-no">113</span><span id="line-113"> Locale locale = player.getPlayerSettings().getLocale();</span>
|
||||
<span class="source-line-no">114</span><span id="line-114"> if (locale != null) {</span>
|
||||
<span class="source-line-no">115</span><span id="line-115"> setIssuerLocale(player, player.getPlayerSettings().getLocale());</span>
|
||||
<span class="source-line-no">116</span><span id="line-116"> }</span>
|
||||
<span class="source-line-no">117</span><span id="line-117"> }</span>
|
||||
<span class="source-line-no">118</span><span id="line-118"></span>
|
||||
<span class="source-line-no">119</span><span id="line-119"> @Override</span>
|
||||
<span class="source-line-no">120</span><span id="line-120"> public void registerCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">121</span><span id="line-121"> registerCommand(command, false);</span>
|
||||
<span class="source-line-no">122</span><span id="line-122"> }</span>
|
||||
<span class="source-line-no">123</span><span id="line-123"></span>
|
||||
<span class="source-line-no">124</span><span id="line-124"> public void registerCommand(BaseCommand command, boolean force) {</span>
|
||||
<span class="source-line-no">125</span><span id="line-125"> command.onRegister(this);</span>
|
||||
<span class="source-line-no">126</span><span id="line-126"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">127</span><span id="line-127"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">128</span><span id="line-128"> VelocityRootCommand velocityCommand = (VelocityRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">129</span><span id="line-129"> if (!velocityCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">130</span><span id="line-130"> if (force) {</span>
|
||||
<span class="source-line-no">131</span><span id="line-131"> proxy.getCommandManager().unregister(commandName);</span>
|
||||
<span class="source-line-no">132</span><span id="line-132"> }</span>
|
||||
<span class="source-line-no">133</span><span id="line-133"> CommandMeta meta = proxy.getCommandManager().metaBuilder(commandName).build();</span>
|
||||
<span class="source-line-no">134</span><span id="line-134"> proxy.getCommandManager().register(meta, velocityCommand);</span>
|
||||
<span class="source-line-no">135</span><span id="line-135"> }</span>
|
||||
<span class="source-line-no">136</span><span id="line-136"> velocityCommand.isRegistered = true;</span>
|
||||
<span class="source-line-no">137</span><span id="line-137"> registeredCommands.put(commandName, velocityCommand);</span>
|
||||
<span class="source-line-no">138</span><span id="line-138"> }</span>
|
||||
<span class="source-line-no">139</span><span id="line-139"> }</span>
|
||||
<span class="source-line-no">140</span><span id="line-140"></span>
|
||||
<span class="source-line-no">141</span><span id="line-141"> public void unregisterCommand(BaseCommand command) {</span>
|
||||
<span class="source-line-no">142</span><span id="line-142"> for (Map.Entry<String, RootCommand> entry : command.registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">143</span><span id="line-143"> String commandName = entry.getKey().toLowerCase(Locale.ENGLISH);</span>
|
||||
<span class="source-line-no">144</span><span id="line-144"> VelocityRootCommand velocityCommand = (VelocityRootCommand) entry.getValue();</span>
|
||||
<span class="source-line-no">145</span><span id="line-145"> velocityCommand.getSubCommands().values().removeAll(command.subCommands.values());</span>
|
||||
<span class="source-line-no">146</span><span id="line-146"> if (velocityCommand.getSubCommands().isEmpty() && velocityCommand.isRegistered) {</span>
|
||||
<span class="source-line-no">147</span><span id="line-147"> unregisterCommand(velocityCommand);</span>
|
||||
<span class="source-line-no">148</span><span id="line-148"> velocityCommand.isRegistered = false;</span>
|
||||
<span class="source-line-no">149</span><span id="line-149"> registeredCommands.remove(commandName);</span>
|
||||
<span class="source-line-no">150</span><span id="line-150"> }</span>
|
||||
<span class="source-line-no">151</span><span id="line-151"> }</span>
|
||||
<span class="source-line-no">152</span><span id="line-152"> }</span>
|
||||
<span class="source-line-no">153</span><span id="line-153"></span>
|
||||
<span class="source-line-no">154</span><span id="line-154"> public void unregisterCommand(VelocityRootCommand command) {</span>
|
||||
<span class="source-line-no">155</span><span id="line-155"> proxy.getCommandManager().unregister(command.getCommandName());</span>
|
||||
<span class="source-line-no">156</span><span id="line-156"> }</span>
|
||||
<span class="source-line-no">157</span><span id="line-157"></span>
|
||||
<span class="source-line-no">158</span><span id="line-158"> public void unregisterCommands() {</span>
|
||||
<span class="source-line-no">159</span><span id="line-159"> for (Map.Entry<String, VelocityRootCommand> entry : registeredCommands.entrySet()) {</span>
|
||||
<span class="source-line-no">160</span><span id="line-160"> unregisterCommand(entry.getValue());</span>
|
||||
<span class="source-line-no">161</span><span id="line-161"> }</span>
|
||||
<span class="source-line-no">162</span><span id="line-162"> }</span>
|
||||
<span class="source-line-no">163</span><span id="line-163"></span>
|
||||
<span class="source-line-no">164</span><span id="line-164"> @Override</span>
|
||||
<span class="source-line-no">165</span><span id="line-165"> public boolean hasRegisteredCommands() {</span>
|
||||
<span class="source-line-no">166</span><span id="line-166"> return !registeredCommands.isEmpty();</span>
|
||||
<span class="source-line-no">167</span><span id="line-167"> }</span>
|
||||
<span class="source-line-no">168</span><span id="line-168"></span>
|
||||
<span class="source-line-no">169</span><span id="line-169"> @Override</span>
|
||||
<span class="source-line-no">170</span><span id="line-170"> public boolean isCommandIssuer(Class<?> aClass) {</span>
|
||||
<span class="source-line-no">171</span><span id="line-171"> return CommandSource.class.isAssignableFrom(aClass);</span>
|
||||
<span class="source-line-no">172</span><span id="line-172"> }</span>
|
||||
<span class="source-line-no">173</span><span id="line-173"></span>
|
||||
<span class="source-line-no">174</span><span id="line-174"> @Override</span>
|
||||
<span class="source-line-no">175</span><span id="line-175"> public VelocityCommandIssuer getCommandIssuer(Object issuer) {</span>
|
||||
<span class="source-line-no">176</span><span id="line-176"> if (!(issuer instanceof CommandSource)) {</span>
|
||||
<span class="source-line-no">177</span><span id="line-177"> throw new IllegalArgumentException(issuer.getClass().getName() + " is not a Command Issuer.");</span>
|
||||
<span class="source-line-no">178</span><span id="line-178"> }</span>
|
||||
<span class="source-line-no">179</span><span id="line-179"> return new VelocityCommandIssuer(this, (CommandSource) issuer);</span>
|
||||
<span class="source-line-no">180</span><span id="line-180"> }</span>
|
||||
<span class="source-line-no">181</span><span id="line-181"></span>
|
||||
<span class="source-line-no">182</span><span id="line-182"> @Override</span>
|
||||
<span class="source-line-no">183</span><span id="line-183"> public RootCommand createRootCommand(String cmd) {</span>
|
||||
<span class="source-line-no">184</span><span id="line-184"> return new VelocityRootCommand(this, cmd);</span>
|
||||
<span class="source-line-no">185</span><span id="line-185"> }</span>
|
||||
<span class="source-line-no">186</span><span id="line-186"></span>
|
||||
<span class="source-line-no">187</span><span id="line-187"> @Override</span>
|
||||
<span class="source-line-no">188</span><span id="line-188"> public Collection<RootCommand> getRegisteredRootCommands() {</span>
|
||||
<span class="source-line-no">189</span><span id="line-189"> return Collections.unmodifiableCollection(registeredCommands.values());</span>
|
||||
<span class="source-line-no">190</span><span id="line-190"> }</span>
|
||||
<span class="source-line-no">191</span><span id="line-191"></span>
|
||||
<span class="source-line-no">192</span><span id="line-192"> @Override</span>
|
||||
<span class="source-line-no">193</span><span id="line-193"> public VelocityCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) {</span>
|
||||
<span class="source-line-no">194</span><span id="line-194"> return new VelocityCommandExecutionContext(command, parameter, (VelocityCommandIssuer) sender, args, i, passedArgs);</span>
|
||||
<span class="source-line-no">195</span><span id="line-195"> }</span>
|
||||
<span class="source-line-no">196</span><span id="line-196"></span>
|
||||
<span class="source-line-no">197</span><span id="line-197"> @Override</span>
|
||||
<span class="source-line-no">198</span><span id="line-198"> public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) {</span>
|
||||
<span class="source-line-no">199</span><span id="line-199"> return new VelocityCommandCompletionContext(command, (VelocityCommandIssuer) sender, input, config, args);</span>
|
||||
<span class="source-line-no">200</span><span id="line-200"> }</span>
|
||||
<span class="source-line-no">201</span><span id="line-201"></span>
|
||||
<span class="source-line-no">202</span><span id="line-202"> @Override</span>
|
||||
<span class="source-line-no">203</span><span id="line-203"> public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) {</span>
|
||||
<span class="source-line-no">204</span><span id="line-204"> return new RegisteredCommand(command, cmdName, method, prefSubCommand);</span>
|
||||
<span class="source-line-no">205</span><span id="line-205"> }</span>
|
||||
<span class="source-line-no">206</span><span id="line-206"></span>
|
||||
<span class="source-line-no">207</span><span id="line-207"> @Override</span>
|
||||
<span class="source-line-no">208</span><span id="line-208"> public VelocityConditionContext createConditionContext(CommandIssuer issuer, String config) {</span>
|
||||
<span class="source-line-no">209</span><span id="line-209"> return new VelocityConditionContext((VelocityCommandIssuer) issuer, config);</span>
|
||||
<span class="source-line-no">210</span><span id="line-210"> }</span>
|
||||
<span class="source-line-no">211</span><span id="line-211"></span>
|
||||
<span class="source-line-no">212</span><span id="line-212"> @Override</span>
|
||||
<span class="source-line-no">213</span><span id="line-213"> public void log(LogLevel level, String message, Throwable throwable) {</span>
|
||||
<span class="source-line-no">214</span><span id="line-214"> // TODO: Find better solution</span>
|
||||
<span class="source-line-no">215</span><span id="line-215"> Logger logger = LoggerFactory.getLogger(plugin.getClass());</span>
|
||||
<span class="source-line-no">216</span><span id="line-216"> if (level == LogLevel.INFO) {</span>
|
||||
<span class="source-line-no">217</span><span id="line-217"> logger.info(LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">218</span><span id="line-218"> } else {</span>
|
||||
<span class="source-line-no">219</span><span id="line-219"> logger.warn(LogLevel.LOG_PREFIX + message);</span>
|
||||
<span class="source-line-no">220</span><span id="line-220"> }</span>
|
||||
<span class="source-line-no">221</span><span id="line-221"></span>
|
||||
<span class="source-line-no">222</span><span id="line-222"> if (throwable != null) {</span>
|
||||
<span class="source-line-no">223</span><span id="line-223"> for (String line : ACFPatterns.NEWLINE.split(ApacheCommonsExceptionUtil.getFullStackTrace(throwable))) {</span>
|
||||
<span class="source-line-no">224</span><span id="line-224"> if (level == LogLevel.INFO) {</span>
|
||||
<span class="source-line-no">225</span><span id="line-225"> logger.info(LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">226</span><span id="line-226"> } else {</span>
|
||||
<span class="source-line-no">227</span><span id="line-227"> logger.warn(LogLevel.LOG_PREFIX + line);</span>
|
||||
<span class="source-line-no">228</span><span id="line-228"> }</span>
|
||||
<span class="source-line-no">229</span><span id="line-229"> }</span>
|
||||
<span class="source-line-no">230</span><span id="line-230"> }</span>
|
||||
<span class="source-line-no">231</span><span id="line-231"> }</span>
|
||||
<span class="source-line-no">232</span><span id="line-232"></span>
|
||||
<span class="source-line-no">233</span><span id="line-233"></span>
|
||||
<span class="source-line-no">234</span><span id="line-234"> @Override</span>
|
||||
<span class="source-line-no">235</span><span id="line-235"> public String getCommandPrefix(CommandIssuer issuer) {</span>
|
||||
<span class="source-line-no">236</span><span id="line-236"> return issuer.isPlayer() ? "/" : "";</span>
|
||||
<span class="source-line-no">237</span><span id="line-237"> }</span>
|
||||
<span class="source-line-no">238</span><span id="line-238">}</span>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user