PrismarineJS / minecraft-data

Language independent module providing minecraft data for minecraft clients, servers and libraries.
https://prismarinejs.github.io/minecraft-data
641 stars 217 forks source link

Add Minecraft Classic ProtoDefc file #197

Open ghost opened 6 years ago

ghost commented 6 years ago

A quick start:

@type integer("i8") def_native("i8");
@type integer("u8") def_native("u8");
@type integer("i16") def_native("i16");
def_native("byte_array");
def_native("string");

namespace("to_server") {
  def("packet_player_identification") => container {
    field("protocol_version") => ::u8;
    field("username") => ::string;
    field("verification_key") => ::string;
    field("unused") => ::i8;
  };

  @export "to_server_packet"
  def("packet") => container {
    virtual_field("tag", value: "data/@tag") => ::u8;
    field("data") => union("to_server", tag: "../tag") {
      variant("player_identification", match: "0") => packet_player_identification;
    };
  };
};
rom1504 commented 6 years ago

Maybe you can run hansihe json -> pds converter to bootstrap this ?