syntax = "proto3"; package net.deliciousreya.minecraftportal; option java_package = "net.deliciousreya.minecraftportal.proto"; option java_outer_classname = "PortalSaveDataProtos"; message Location { string world_uuid = 1; int32 x = 2; int32 y = 3; int32 z = 4; } message Portal { enum Direction { UNKNOWN_DIRECTION = 0; NORTH = 1; EAST = 2; WEST = 3; SOUTH = 4; } enum Mineral { UNKNOWN_MINERAL = 0; COAL = 1; REDSTONE = 2; LAPIS = 3; GOLD = 4; DIAMOND = 5; EMERALD = 6; IRON = 7; QUARTZ = 8; TERRACOTTA = 9; RED_SANDSTONE = 10; END_STONE = 11; PRISMARINE = 12; BRICKS = 13; PURPUR = 14; GRANITE = 15; ANDESITE = 16; } enum Color { UNKNOWN_COLOR = 0; WHITE = 1; RED = 2; ORANGE = 3; PINK = 4; YELLOW = 5; LIME = 6; GREEN = 7; LIGHT_BLUE = 8; CYAN = 9; BLUE = 10; MAGENTA = 11; PURPLE = 12; BROWN = 13; GRAY = 14; LIGHT_GRAY = 15; BLACK = 16; } Location lower_left_front_corner = 1; Direction exit_direction = 2; Mineral mineral = 3; Color color = 4; } message PortalPair { Portal older = 1; Portal newer = 2; } message UserData { string name = 1; Portal.Color color = 2; } message PortalSaveData { repeated PortalPair paired_portals = 1; repeated Portal unpaired_portals = 2; repeated UserData user_data = 3; }