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>
45 lines
No EOL
1.5 KiB
C#
45 lines
No EOL
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using MinecraftClient.Protocol.Handlers.StructuredComponents.Core;
|
|
|
|
namespace MinecraftClient.Protocol.Handlers.StructuredComponents.Components.Subcomponents._1_21;
|
|
|
|
public class SoundEventSubComponent(DataTypes dataTypes, SubComponentRegistry subComponentRegistry) : SubComponent(dataTypes, subComponentRegistry)
|
|
{
|
|
public int Type { get; set; }
|
|
public string? SoundName { get; set; }
|
|
public bool HasFixedRange { get; set; }
|
|
public float FixedRange { get; set; }
|
|
|
|
protected override void Parse(Queue<byte> data)
|
|
{
|
|
Type = DataTypes.ReadNextVarInt(data);
|
|
|
|
if (Type != 0) return;
|
|
|
|
SoundName = DataTypes.ReadNextString(data);
|
|
HasFixedRange = DataTypes.ReadNextBool(data);
|
|
|
|
if (HasFixedRange)
|
|
FixedRange = DataTypes.ReadNextFloat(data);
|
|
}
|
|
|
|
public override Queue<byte> Serialize()
|
|
{
|
|
var data = new List<byte>();
|
|
data.AddRange(DataTypes.GetVarInt(Type));
|
|
|
|
if (Type != 0) return new Queue<byte>(data);
|
|
|
|
if (string.IsNullOrEmpty(SoundName?.Trim()))
|
|
throw new ArgumentNullException($"Can not serialize SoundEventSubComponent due to SoundName being null or empty!");
|
|
|
|
data.AddRange(DataTypes.GetString(SoundName));
|
|
data.AddRange(DataTypes.GetBool(HasFixedRange));
|
|
|
|
if(HasFixedRange)
|
|
data.AddRange(DataTypes.GetFloat(FixedRange));
|
|
|
|
return new Queue<byte>(data);
|
|
}
|
|
} |