soiz1's picture
Upload folder using huggingface_hub
d46f4a3 verified
package net.minecraft.data.info;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.nio.file.Path;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import net.minecraft.data.CachedOutput;
import net.minecraft.data.DataProvider;
import net.minecraft.data.PackOutput;
import net.minecraft.network.ConnectionProtocol;
import net.minecraft.network.ProtocolInfo;
import net.minecraft.network.protocol.PacketType;
import net.minecraft.network.protocol.configuration.ConfigurationProtocols;
import net.minecraft.network.protocol.game.GameProtocols;
import net.minecraft.network.protocol.handshake.HandshakeProtocols;
import net.minecraft.network.protocol.login.LoginProtocols;
import net.minecraft.network.protocol.status.StatusProtocols;
public class PacketReport implements DataProvider {
private final PackOutput output;
public PacketReport(PackOutput p_343965_) {
this.output = p_343965_;
}
@Override
public CompletableFuture<?> run(CachedOutput p_344127_) {
Path path = this.output.getOutputFolder(PackOutput.Target.REPORTS).resolve("packets.json");
return DataProvider.saveStable(p_344127_, this.serializePackets(), path);
}
private JsonElement serializePackets() {
JsonObject jsonobject = new JsonObject();
Stream.of(
HandshakeProtocols.SERVERBOUND_TEMPLATE,
StatusProtocols.CLIENTBOUND_TEMPLATE,
StatusProtocols.SERVERBOUND_TEMPLATE,
LoginProtocols.CLIENTBOUND_TEMPLATE,
LoginProtocols.SERVERBOUND_TEMPLATE,
ConfigurationProtocols.CLIENTBOUND_TEMPLATE,
ConfigurationProtocols.SERVERBOUND_TEMPLATE,
GameProtocols.CLIENTBOUND_TEMPLATE,
GameProtocols.SERVERBOUND_TEMPLATE
)
.collect(Collectors.groupingBy(ProtocolInfo.Unbound::id))
.forEach((p_345445_, p_343440_) -> {
JsonObject jsonobject1 = new JsonObject();
jsonobject.add(p_345445_.id(), jsonobject1);
p_343440_.forEach(p_342835_ -> {
JsonObject jsonobject2 = new JsonObject();
jsonobject1.add(p_342835_.flow().id(), jsonobject2);
p_342835_.listPackets((p_342767_, p_343941_) -> {
JsonObject jsonobject3 = new JsonObject();
jsonobject3.addProperty("protocol_id", p_343941_);
jsonobject2.add(p_342767_.id().toString(), jsonobject3);
});
});
});
return jsonobject;
}
@Override
public String getName() {
return "Packet Report";
}
}