1- package org .lime .velocircon ;
1+ package org .lime .velocircon . sources ;
22
33import com .velocitypowered .api .command .CommandSource ;
4- import com .velocitypowered .api .permission .Tristate ;
54import com .velocitypowered .api .scheduler .Scheduler ;
65import net .kyori .adventure .audience .MessageType ;
76import net .kyori .adventure .identity .Identity ;
8- import net .kyori .adventure .platform .facet .FacetPointers ;
97import net .kyori .adventure .permission .PermissionChecker ;
8+ import net .kyori .adventure .platform .facet .FacetPointers ;
109import net .kyori .adventure .pointer .Pointers ;
1110import net .kyori .adventure .text .Component ;
1211import net .kyori .adventure .text .logger .slf4j .ComponentLogger ;
1312import org .jetbrains .annotations .NotNull ;
14- import org .lime .velocircon .permissions .PermissionFactory ;
15- import org .slf4j .Logger ;
1613
1714import java .util .ArrayList ;
18- import java .util .Collection ;
1915import java .util .List ;
2016import java .util .concurrent .CompletableFuture ;
2117import java .util .concurrent .ConcurrentLinkedQueue ;
2218import java .util .concurrent .TimeUnit ;
2319
24- public class RconCommandSource
20+ public abstract class BaseRconCommandSource
2521 implements CommandSource {
2622 private final Pointers pointers = CommandSource .super .pointers ().toBuilder ()
2723 .withDynamic (PermissionChecker .POINTER , this ::getPermissionChecker )
@@ -33,25 +29,22 @@ public class RconCommandSource
3329 private final String command ;
3430 private final Object plugin ;
3531 private final Scheduler scheduler ;
36- private final Collection <PermissionFactory > permissionFactories ;
3732 private final long flushMs ;
3833 private final int flushWaitCount ;
3934 private final boolean consoleOutput ;
4035 private final ComponentLogger componentLogger ;
4136
42- public RconCommandSource (
37+ public BaseRconCommandSource (
4338 String command ,
4439 Object plugin ,
4540 Scheduler scheduler ,
46- Collection <PermissionFactory > permissionFactories ,
4741 long flushMs ,
4842 int flushWaitCount ,
4943 boolean consoleOutput ,
5044 ComponentLogger componentLogger ) {
5145 this .command = command ;
5246 this .plugin = plugin ;
5347 this .scheduler = scheduler ;
54- this .permissionFactories = permissionFactories ;
5548 this .flushMs = flushMs ;
5649 this .flushWaitCount = flushWaitCount ;
5750 this .consoleOutput = consoleOutput ;
@@ -67,23 +60,6 @@ public void sendMessage(@NotNull Identity identity, @NotNull Component message,
6760 .append (message ));
6861 }
6962
70- @ Override
71- public @ NotNull Tristate getPermissionValue (@ NotNull String permission ) {
72- if (permissionFactories .isEmpty ())
73- return Tristate .TRUE ;
74- Tristate current = Tristate .UNDEFINED ;
75- for (var permissionFactory : permissionFactories ) {
76- var value = permissionFactory .check (permission );
77- switch (value ) {
78- case FALSE -> {
79- return Tristate .FALSE ;
80- }
81- case TRUE -> current = Tristate .TRUE ;
82- }
83- }
84- return current ;
85- }
86-
8763 @ Override
8864 public @ NotNull Pointers pointers () {
8965 return pointers ;
0 commit comments