JsonRPCUtils.java

net.minecraft.server.jsonrpc.JsonRPCUtils

信息

  • 全限定名:net.minecraft.server.jsonrpc.JsonRPCUtils
  • 类型:public class
  • 包:net.minecraft.server.jsonrpc
  • 源码路径:src/main/java/net/minecraft/server/jsonrpc/JsonRPCUtils.java
  • 起始行号:L11
  • 职责:

    TODO

字段/常量

  • JSON_RPC_VERSION

    • 类型: String
    • 修饰符: public static final
    • 源码定位: L12
    • 说明:

      TODO

  • OPEN_RPC_VERSION

    • 类型: String
    • 修饰符: public static final
    • 源码定位: L13
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

public static JsonObject createSuccessResult(JsonElement id, JsonElement result) @ L15

  • 方法名:createSuccessResult
  • 源码定位:L15
  • 返回类型:JsonObject
  • 修饰符:public static

参数:

  • id: JsonElement
  • result: JsonElement

说明:

TODO

public static JsonObject createRequest(Integer id, Identifier method, List<JsonElement> params) @ L23

  • 方法名:createRequest
  • 源码定位:L23
  • 返回类型:JsonObject
  • 修饰符:public static

参数:

  • id: Integer
  • method: Identifier
  • params: List

说明:

TODO

public static JsonObject createError(JsonElement id, String message, int errorCode, String data) @ L44

  • 方法名:createError
  • 源码定位:L44
  • 返回类型:JsonObject
  • 修饰符:public static

参数:

  • id: JsonElement
  • message: String
  • errorCode: int
  • data: String

说明:

TODO

public static JsonElement getRequestId(JsonObject jsonObject) @ L59

  • 方法名:getRequestId
  • 源码定位:L59
  • 返回类型:JsonElement
  • 修饰符:public static

参数:

  • jsonObject: JsonObject

说明:

TODO

public static String getMethodName(JsonObject jsonObject) @ L63

  • 方法名:getMethodName
  • 源码定位:L63
  • 返回类型:String
  • 修饰符:public static

参数:

  • jsonObject: JsonObject

说明:

TODO

public static JsonElement getParams(JsonObject jsonObject) @ L67

  • 方法名:getParams
  • 源码定位:L67
  • 返回类型:JsonElement
  • 修饰符:public static

参数:

  • jsonObject: JsonObject

说明:

TODO

public static JsonElement getResult(JsonObject jsonObject) @ L71

  • 方法名:getResult
  • 源码定位:L71
  • 返回类型:JsonElement
  • 修饰符:public static

参数:

  • jsonObject: JsonObject

说明:

TODO

public static JsonObject getError(JsonObject jsonObject) @ L75

  • 方法名:getError
  • 源码定位:L75
  • 返回类型:JsonObject
  • 修饰符:public static

参数:

  • jsonObject: JsonObject

说明:

TODO

代码

public class JsonRPCUtils {
    public static final String JSON_RPC_VERSION = "2.0";
    public static final String OPEN_RPC_VERSION = "1.3.2";
 
    public static JsonObject createSuccessResult(JsonElement id, JsonElement result) {
        JsonObject response = new JsonObject();
        response.addProperty("jsonrpc", "2.0");
        response.add("id", id);
        response.add("result", result);
        return response;
    }
 
    public static JsonObject createRequest(@Nullable Integer id, Identifier method, List<JsonElement> params) {
        JsonObject request = new JsonObject();
        request.addProperty("jsonrpc", "2.0");
        if (id != null) {
            request.addProperty("id", id);
        }
 
        request.addProperty("method", method.toString());
        if (!params.isEmpty()) {
            JsonArray jsonArray = new JsonArray(params.size());
 
            for (JsonElement param : params) {
                jsonArray.add(param);
            }
 
            request.add("params", jsonArray);
        }
 
        return request;
    }
 
    public static JsonObject createError(JsonElement id, String message, int errorCode, @Nullable String data) {
        JsonObject errorResponse = new JsonObject();
        errorResponse.addProperty("jsonrpc", "2.0");
        errorResponse.add("id", id);
        JsonObject error = new JsonObject();
        error.addProperty("code", errorCode);
        error.addProperty("message", message);
        if (data != null && !data.isBlank()) {
            error.addProperty("data", data);
        }
 
        errorResponse.add("error", error);
        return errorResponse;
    }
 
    public static @Nullable JsonElement getRequestId(JsonObject jsonObject) {
        return jsonObject.get("id");
    }
 
    public static @Nullable String getMethodName(JsonObject jsonObject) {
        return GsonHelper.getAsString(jsonObject, "method", null);
    }
 
    public static @Nullable JsonElement getParams(JsonObject jsonObject) {
        return jsonObject.get("params");
    }
 
    public static @Nullable JsonElement getResult(JsonObject jsonObject) {
        return jsonObject.get("result");
    }
 
    public static @Nullable JsonObject getError(JsonObject jsonObject) {
        return GsonHelper.getAsJsonObject(jsonObject, "error", null);
    }
}

引用的其他类

  • Identifier

    • 引用位置: 参数
  • GsonHelper

    • 引用位置: 方法调用
    • 关联成员: GsonHelper.getAsJsonObject(), GsonHelper.getAsString()