mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2026-08-15 13:04:36 +00:00
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>
38 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|