public static BlockDescription CreateUnsafe( BlockState[] states, IStateProperty[]?properties, Utf8Identifier identifier, Identifier identifierUtf16, uint id, int defaultStateIndex) { if (identifier != identifierUtf16) { throw new ArgumentException($"The identifiers do not match. \"{identifier}\" != \"{identifierUtf16}\""); } return(new(states, properties, identifier, identifierUtf16, id, defaultStateIndex)); }
private BlockDescription( BlockState[] states, IStateProperty[]?properties, Utf8Identifier identifier, Identifier identifierUtf16, uint id, int defaultStateIndex) { if (!identifier.IsValid) { throw new ArgumentException("The identifier is not valid.", nameof(identifier)); } _states = states ?? throw new ArgumentNullException(nameof(states)); _properties = properties ?? Array.Empty <IStateProperty>(); _defaultStateIndex = defaultStateIndex; Identifier = identifier; IdentifierUtf16 = identifierUtf16; BlockId = id; }
public static OperationStatus Read(this NetBinaryReader reader, out Utf8Identifier identifier) { var status = reader.Read(out Utf8String identifierString); if (status != OperationStatus.Done) { identifier = default; return(status); } if (!Utf8Identifier.TryParse(identifierString, out identifier)) { return(OperationStatus.InvalidData); } return(OperationStatus.Done); }
public Tag(Utf8Identifier identifier, VarInt[] entries) { Identifier = identifier; Entries = entries ?? throw new ArgumentNullException(nameof(entries)); }
public BlockDescription( BlockState[] states, IStateProperty[]?properties, Utf8Identifier identifier, uint id, int defaultStateIndex) : this( states, properties, identifier, identifier.ToUtf16Identifier(), id, defaultStateIndex) { }
public BlockDescription this[Utf8Memory identifier] => _blockLookup[Utf8Identifier.CreateUnsafe(identifier)];
public BlockDescription this[Utf8Identifier identifier] => _blockLookup[identifier];
public ServerPluginMessage(Utf8Identifier channel, Utf8String data) { Channel = channel; Data = data; }
public static void Write(this NetBinaryWriter writer, Utf8Identifier identifier) { writer.Write(identifier.Value); }
} // TODO: wrap in Recyclable public ClientPluginMessage(Utf8Identifier channel, byte[] data) { Data = data ?? throw new ArgumentNullException(nameof(data)); Channel = channel; }
public ClientSetDisplayedRecipe(Utf8Identifier recipeId) { RecipeId = recipeId; }