1515import com .mojang .serialization .codecs .RecordCodecBuilder ;
1616
1717import net .fabricmc .loader .api .FabricLoader ;
18+ import net .minecraft .server .permissions .PermissionLevel ;
1819
19- public record Config (boolean printBlockStateReport , int diagnosticsPermissionLevel ,
20+ public record Config (boolean printBlockStateReport , PermissionLevel diagnosticsPermissionLevel ,
2021 List <String > trackedDataWhitelist , List <String > stateBuilderWhitelist ) {
2122
2223 public static final Path PATH = FabricLoader .getInstance ().getConfigDir ().resolve ("canary.json" );
2324 private static final Gson gson = new GsonBuilder ().setPrettyPrinting ().create ();
2425
2526 public static final Codec <Config > CODEC = RecordCodecBuilder .create (instance -> instance .group (
2627 Codec .BOOL .optionalFieldOf ("print_blockstate_report" , false ).forGetter (Config ::printBlockStateReport ),
27- Codec . INT .optionalFieldOf ("desync_diagnostics_permission_level" , 4 ).forGetter (Config ::diagnosticsPermissionLevel ),
28+ PermissionLevel . CODEC .optionalFieldOf ("desync_diagnostics_permission_level" , PermissionLevel . OWNERS ).forGetter (Config ::diagnosticsPermissionLevel ),
2829 Codec .STRING .listOf ().optionalFieldOf ("tracked_data_whitelist" , List .of ()).forGetter (Config ::trackedDataWhitelist ),
2930 Codec .STRING .listOf ().optionalFieldOf ("state_builder_whitelist" , List .of ()).forGetter (Config ::stateBuilderWhitelist )
3031 ).apply (instance , Config ::new ));
@@ -37,7 +38,7 @@ public static Config load() {
3738
3839 private static Config makeDefault () {
3940 return new Config (
40- false , 4 ,
41+ false , PermissionLevel . OWNERS ,
4142 List .of ("com.example.mymod.Utilities" ),
4243 List .of ("net.example.examplemod.Utils" )
4344 );
0 commit comments