Minecraft-Console-Client/MinecraftClient/Protocol/Handlers/StructuredComponents/Components/1_21_2/UseCooldownComponent.cs
copilot-swe-agent[bot] 94bf42710a refactor: use pattern matching for null checks (is null / is not null)
Convert remaining == null to is null and != null to is not null
across 17 files in CommandHandler/ArgumentType, StructuredComponents,
and DeclareCommands for idiomatic C# style.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-24 00:47:03 +00:00

31 lines
1.2 KiB
C#

using System.Collections.Generic;
using MinecraftClient.Inventory.ItemPalettes;
using MinecraftClient.Protocol.Handlers.StructuredComponents.Core;
namespace MinecraftClient.Protocol.Handlers.StructuredComponents.Components._1_21_2;
public class UseCooldownComponent(DataTypes dataTypes, ItemPalette itemPalette, SubComponentRegistry subComponentRegistry)
: StructuredComponent(dataTypes, itemPalette, subComponentRegistry)
{
public float Seconds { get; set; }
public bool HasCooldownGroup { get; set; }
public string? CooldownGroup { get; set; }
public override void Parse(Queue<byte> data)
{
Seconds = dataTypes.ReadNextFloat(data);
HasCooldownGroup = dataTypes.ReadNextBool(data);
if (HasCooldownGroup)
CooldownGroup = dataTypes.ReadNextString(data);
}
public override Queue<byte> Serialize()
{
var data = new List<byte>();
data.AddRange(DataTypes.GetFloat(Seconds));
data.AddRange(DataTypes.GetBool(HasCooldownGroup));
if (HasCooldownGroup && CooldownGroup is not null)
data.AddRange(DataTypes.GetString(CooldownGroup));
return new Queue<byte>(data);
}
}