Minecraft-Console-Client/MinecraftClient/Protocol/Handlers/StructuredComponents/Components/1_21_11/RegistryEitherHolderComponent.cs
copilot-swe-agent[bot] 640a4e39b7 Fix CS9107 warnings: use base class properties instead of captured primary constructor parameters
Replace lowercase primary constructor parameter references (dataTypes.,
subComponentRegistry., itemPalette.) with PascalCase base class property
references (DataTypes., SubComponentRegistry., ItemPalette.) in method
bodies of all StructuredComponent and SubComponent subclasses.

This eliminates CS9107 warnings where subclass primary constructor
parameters shadow the base class properties they are assigned to.

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

38 lines
1.4 KiB
C#

using System.Collections.Generic;
using MinecraftClient.Inventory.ItemPalettes;
using MinecraftClient.Protocol.Handlers.StructuredComponents.Core;
namespace MinecraftClient.Protocol.Handlers.StructuredComponents.Components._1_21_11;
/// <summary>
/// EitherHolder backed by holderRegistry (VarInt = raw registry ID, 0 is valid).
/// Used for DamageType and ZombieNautilusVariant where the holder codec is holderRegistry(),
/// unlike the holder() codec used in SoundEvent (where 0 means inline).
/// </summary>
public class RegistryEitherHolderComponent(DataTypes dataTypes, ItemPalette itemPalette, SubComponentRegistry subComponentRegistry)
: StructuredComponent(dataTypes, itemPalette, subComponentRegistry)
{
public bool IsHolder { get; set; }
public int HolderId { get; set; }
public string? ResourceKey { get; set; }
public override void Parse(Queue<byte> data)
{
IsHolder = DataTypes.ReadNextBool(data);
if (IsHolder)
HolderId = DataTypes.ReadNextVarInt(data);
else
ResourceKey = DataTypes.ReadNextString(data);
}
public override Queue<byte> Serialize()
{
var bytes = new List<byte>();
bytes.AddRange(DataTypes.GetBool(IsHolder));
if (IsHolder)
bytes.AddRange(DataTypes.GetVarInt(HolderId));
else
bytes.AddRange(DataTypes.GetString(ResourceKey ?? ""));
return new Queue<byte>(bytes);
}
}