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>
68 lines
2.4 KiB
C#
68 lines
2.4 KiB
C#
using System.Collections.Generic;
|
|
using MinecraftClient.Inventory.ItemPalettes;
|
|
using MinecraftClient.Protocol.Handlers.StructuredComponents.Core;
|
|
|
|
namespace MinecraftClient.Protocol.Handlers.StructuredComponents.Components._1_20_6;
|
|
|
|
public class InstrumentComponent(DataTypes dataTypes, ItemPalette itemPalette, SubComponentRegistry subComponentRegistry)
|
|
: StructuredComponent(dataTypes, itemPalette, subComponentRegistry)
|
|
{
|
|
// holder ID: 0 = inline instrument data, N>0 = registry reference (id = N-1)
|
|
public int InstrumentHolderId { get; set; }
|
|
|
|
// Inline instrument fields (only when InstrumentHolderId == 0):
|
|
// holder ID for SoundEvent: 0 = inline sound, N>0 = registry reference (id = N-1)
|
|
public int SoundEventHolderId { get; set; }
|
|
// Inline SoundEvent fields (only when SoundEventHolderId == 0):
|
|
public string? SoundLocation { get; set; }
|
|
public bool HasFixedRange { get; set; }
|
|
public float FixedRange { get; set; }
|
|
|
|
public int UseDuration { get; set; }
|
|
public float Range { get; set; }
|
|
|
|
public override void Parse(Queue<byte> data)
|
|
{
|
|
InstrumentHolderId = DataTypes.ReadNextVarInt(data);
|
|
|
|
if (InstrumentHolderId == 0)
|
|
{
|
|
SoundEventHolderId = DataTypes.ReadNextVarInt(data);
|
|
|
|
if (SoundEventHolderId == 0)
|
|
{
|
|
SoundLocation = DataTypes.ReadNextString(data);
|
|
HasFixedRange = DataTypes.ReadNextBool(data);
|
|
if (HasFixedRange)
|
|
FixedRange = DataTypes.ReadNextFloat(data);
|
|
}
|
|
|
|
UseDuration = DataTypes.ReadNextVarInt(data);
|
|
Range = DataTypes.ReadNextFloat(data);
|
|
}
|
|
}
|
|
|
|
public override Queue<byte> Serialize()
|
|
{
|
|
var data = new List<byte>();
|
|
data.AddRange(DataTypes.GetVarInt(InstrumentHolderId));
|
|
|
|
if (InstrumentHolderId == 0)
|
|
{
|
|
data.AddRange(DataTypes.GetVarInt(SoundEventHolderId));
|
|
|
|
if (SoundEventHolderId == 0)
|
|
{
|
|
data.AddRange(DataTypes.GetString(SoundLocation ?? ""));
|
|
data.AddRange(DataTypes.GetBool(HasFixedRange));
|
|
if (HasFixedRange)
|
|
data.AddRange(DataTypes.GetFloat(FixedRange));
|
|
}
|
|
|
|
data.AddRange(DataTypes.GetVarInt(UseDuration));
|
|
data.AddRange(DataTypes.GetFloat(Range));
|
|
}
|
|
|
|
return new Queue<byte>(data);
|
|
}
|
|
}
|