add info on resource packs
This commit is contained in:
parent
22fd7a0a8e
commit
0aa1b38e93
|
@ -9,10 +9,11 @@ import io.gitlab.jfronny.muscript.data.dynamic.additional.DFinal;
|
||||||
import net.fabricmc.api.*;
|
import net.fabricmc.api.*;
|
||||||
import net.fabricmc.fabric.api.client.networking.v1.ClientLoginNetworking;
|
import net.fabricmc.fabric.api.client.networking.v1.ClientLoginNetworking;
|
||||||
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
|
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.network.PacketByteBuf;
|
import net.minecraft.network.PacketByteBuf;
|
||||||
|
import net.minecraft.text.TextContent;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
|
@ -21,6 +22,16 @@ public class BetterWhitelistClient implements ClientModInitializer {
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
ClientLoginNetworking.registerGlobalReceiver(BetterWhitelist.LOGIN_CHANNEL, (client, handler, buf, listenerAdder) -> {
|
ClientLoginNetworking.registerGlobalReceiver(BetterWhitelist.LOGIN_CHANNEL, (client, handler, buf, listenerAdder) -> {
|
||||||
Scope fork = BetterWhitelist.SCOPE.fork();
|
Scope fork = BetterWhitelist.SCOPE.fork();
|
||||||
|
fork.set("resourcePacks", MinecraftClient.getInstance()
|
||||||
|
.getResourcePackManager()
|
||||||
|
.getEnabledProfiles()
|
||||||
|
.stream()
|
||||||
|
.map(s -> DFinal.of(Map.of(
|
||||||
|
"name", DFinal.of(s.getName()),
|
||||||
|
"displayName", DFinal.of(toString(s.getDisplayName().getContent())),
|
||||||
|
"description", DFinal.of(toString(s.getDescription().getContent()))
|
||||||
|
)))
|
||||||
|
.toList());
|
||||||
String scriptSource = buf.readString();
|
String scriptSource = buf.readString();
|
||||||
BetterWhitelist.LOG.info("Received challenge: " + scriptSource);
|
BetterWhitelist.LOG.info("Received challenge: " + scriptSource);
|
||||||
DCallable script = Parser.parse(scriptSource).asDynamicExpr().get(fork).asCallable();
|
DCallable script = Parser.parse(scriptSource).asDynamicExpr().get(fork).asCallable();
|
||||||
|
@ -36,4 +47,13 @@ public class BetterWhitelistClient implements ClientModInitializer {
|
||||||
return CompletableFuture.completedFuture(resultBuf);
|
return CompletableFuture.completedFuture(resultBuf);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String toString(TextContent text) {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
text.visit(asString -> {
|
||||||
|
sb.append(asString);
|
||||||
|
return Optional.empty();
|
||||||
|
});
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue