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>
This commit is contained in:
copilot-swe-agent[bot] 2026-03-24 01:16:05 +00:00
parent 94bf42710a
commit 640a4e39b7
90 changed files with 366 additions and 366 deletions

View file

@ -15,12 +15,12 @@ public class AttributeModifiersComponent(DataTypes dataTypes, ItemPalette itemPa
public override void Parse(Queue<byte> data)
{
NumberOfAttributes = dataTypes.ReadNextVarInt(data);
NumberOfAttributes = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfAttributes; i++)
Attributes.Add(subComponentRegistry.ParseSubComponent(SubComponents.Attribute, data));
Attributes.Add(SubComponentRegistry.ParseSubComponent(SubComponents.Attribute, data));
ShowInTooltip = dataTypes.ReadNextBool(data);
ShowInTooltip = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -13,17 +13,17 @@ public class BannerPatternsComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
NumberOfLayers = dataTypes.ReadNextVarInt(data);
NumberOfLayers = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfLayers; i++)
{
var patternType = dataTypes.ReadNextVarInt(data);
var patternType = DataTypes.ReadNextVarInt(data);
Layers.Add(new BannerLayer
{
PatternType = patternType,
AssetId = patternType == 0 ? dataTypes.ReadNextString(data) : null,
TranslationKey = patternType == 0 ? dataTypes.ReadNextString(data) : null,
DyeColor = dataTypes.ReadNextVarInt(data)
AssetId = patternType == 0 ? DataTypes.ReadNextString(data) : null,
TranslationKey = patternType == 0 ? DataTypes.ReadNextString(data) : null,
DyeColor = DataTypes.ReadNextVarInt(data)
});
}
}

View file

@ -11,7 +11,7 @@ public class BaseColorComponent(DataTypes dataTypes, ItemPalette itemPalette, Su
public override void Parse(Queue<byte> data)
{
DyeColor = dataTypes.ReadNextVarInt(data);
DyeColor = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -14,10 +14,10 @@ public class BeesComponent(DataTypes dataTypes, ItemPalette itemPalette, SubComp
public override void Parse(Queue<byte> data)
{
NumberOfBees = dataTypes.ReadNextVarInt(data);
NumberOfBees = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfBees; i++)
{
Bees.Add(new Bee(dataTypes.ReadNextNbt(data), dataTypes.ReadNextVarInt(data), dataTypes.ReadNextVarInt(data)));
Bees.Add(new Bee(DataTypes.ReadNextNbt(data), DataTypes.ReadNextVarInt(data), DataTypes.ReadNextVarInt(data)));
}
}

View file

@ -11,9 +11,9 @@ public class BlockStateComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
var count = dataTypes.ReadNextVarInt(data);
var count = DataTypes.ReadNextVarInt(data);
for(var i = 0; i < count; i++)
Properties.Add((dataTypes.ReadNextString(data), dataTypes.ReadNextString(data)));
Properties.Add((DataTypes.ReadNextString(data), DataTypes.ReadNextString(data)));
}
public override Queue<byte> Serialize()

View file

@ -12,11 +12,11 @@ public class BundleContentsComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
var count = dataTypes.ReadNextVarInt(data);
var count = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < count; i++)
{
var item = dataTypes.ReadNextItemSlot(data, itemPalette);
var item = DataTypes.ReadNextItemSlot(data, itemPalette);
if (item is not null)
Items.Add(item);
}

View file

@ -16,12 +16,12 @@ public class CanBreakComponent(DataTypes dataTypes, ItemPalette itemPalette, Sub
public override void Parse(Queue<byte> data)
{
NumberOfPredicates = dataTypes.ReadNextVarInt(data);
NumberOfPredicates = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfPredicates; i++)
BlockPredicates.Add((BlockPredicateSubcomponent)subComponentRegistry.ParseSubComponent(SubComponents.BlockPredicate, data));
BlockPredicates.Add((BlockPredicateSubcomponent)SubComponentRegistry.ParseSubComponent(SubComponents.BlockPredicate, data));
ShowInTooltip = dataTypes.ReadNextBool(data);
ShowInTooltip = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -16,12 +16,12 @@ public class CanPlaceOnComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
NumberOfPredicates = dataTypes.ReadNextVarInt(data);
NumberOfPredicates = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfPredicates; i++)
BlockPredicates.Add((BlockPredicateSubcomponent)subComponentRegistry.ParseSubComponent(SubComponents.BlockPredicate, data));
BlockPredicates.Add((BlockPredicateSubcomponent)SubComponentRegistry.ParseSubComponent(SubComponents.BlockPredicate, data));
ShowInTooltip = dataTypes.ReadNextBool(data);
ShowInTooltip = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -12,11 +12,11 @@ public class ChargedProjectilesComponent(DataTypes dataTypes, ItemPalette itemPa
public override void Parse(Queue<byte> data)
{
var count = dataTypes.ReadNextVarInt(data);
var count = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < count; i++)
{
var item = dataTypes.ReadNextItemSlot(data, itemPalette);
var item = DataTypes.ReadNextItemSlot(data, itemPalette);
if (item is not null)
Items.Add(item);
}

View file

@ -12,9 +12,9 @@ public class ContainerComponent(DataTypes dataTypes, ItemPalette itemPalette, Su
public override void Parse(Queue<byte> data)
{
var count = dataTypes.ReadNextVarInt(data);
var count = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < count; i++)
Items.Add(dataTypes.ReadNextItemSlot(data, ItemPalette));
Items.Add(DataTypes.ReadNextItemSlot(data, ItemPalette));
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class ContainerLootComponent(DataTypes dataTypes, ItemPalette itemPalette
public override void Parse(Queue<byte> data)
{
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class CustomDataComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -10,7 +10,7 @@ public class CustomModelDataComponent(DataTypes dataTypes, ItemPalette itemPalet
public override void Parse(Queue<byte> data)
{
Value = dataTypes.ReadNextVarInt(data);
Value = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -13,7 +13,7 @@ public class CustomNameComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
CustomNameNbt = dataTypes.ReadNextNbt(data);
CustomNameNbt = DataTypes.ReadNextNbt(data);
CustomName = ChatParser.ParseText(CustomNameNbt);
}

View file

@ -11,7 +11,7 @@ public class DamageComponent(DataTypes dataTypes, ItemPalette itemPalette, SubCo
public override void Parse(Queue<byte> data)
{
Damage = dataTypes.ReadNextVarInt(data);
Damage = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class DebugStickStateComponent(DataTypes dataTypes, ItemPalette itemPalet
public override void Parse(Queue<byte> data)
{
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -12,8 +12,8 @@ public class DyeColorComponent(DataTypes dataTypes, ItemPalette itemPalette, Sub
public override void Parse(Queue<byte> data)
{
Color = dataTypes.ReadNextInt(data);
ShowInTooltip = dataTypes.ReadNextBool(data);
Color = DataTypes.ReadNextInt(data);
ShowInTooltip = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class EnchantmentGlintOverrideComponent(DataTypes dataTypes, ItemPalette
public override void Parse(Queue<byte> data)
{
HasGlint = dataTypes.ReadNextBool(data);
HasGlint = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -14,16 +14,16 @@ public class EnchantmentsComponent(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
NumberOfEnchantments = dataTypes.ReadNextVarInt(data);
NumberOfEnchantments = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfEnchantments; i++)
{
var registryId = dataTypes.ReadNextVarInt(data);
var level = dataTypes.ReadNextVarInt(data);
var registryId = DataTypes.ReadNextVarInt(data);
var level = DataTypes.ReadNextVarInt(data);
Enchantments.Add(new Enchantment(EnchantmentMapping.GetEnchantmentByRegistryId1206(registryId), level));
}
ShowTooltip = dataTypes.ReadNextBool(data);
ShowTooltip = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class EntityDataComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -15,7 +15,7 @@ public class FireworkExplosionComponent(DataTypes dataTypes, ItemPalette itemPal
public override void Parse(Queue<byte> data)
{
FireworkExplosionSubComponent = (FireworkExplosionSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.FireworkExplosion, data);
FireworkExplosionSubComponent = (FireworkExplosionSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.FireworkExplosion, data);
}
public override Queue<byte> Serialize()

View file

@ -19,14 +19,14 @@ public class FireworksComponent(DataTypes dataTypes, ItemPalette itemPalette, Su
public override void Parse(Queue<byte> data)
{
FlightDuration = dataTypes.ReadNextVarInt(data);
NumberOfExplosions = dataTypes.ReadNextVarInt(data);
FlightDuration = DataTypes.ReadNextVarInt(data);
NumberOfExplosions = DataTypes.ReadNextVarInt(data);
if (NumberOfExplosions > 0)
{
for(var i = 0; i < NumberOfExplosions; i++)
Explosions.Add(
(FireworkExplosionSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.FireworkExplosion,
(FireworkExplosionSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.FireworkExplosion,
data));
}
}

View file

@ -18,14 +18,14 @@ public class FoodComponentComponent(DataTypes dataTypes, ItemPalette itemPalette
public override void Parse(Queue<byte> data)
{
Nutrition = dataTypes.ReadNextVarInt(data);
Saturation = dataTypes.ReadNextFloat(data);
CanAlwaysEat = dataTypes.ReadNextBool(data);
SecondsToEat = dataTypes.ReadNextFloat(data);
var numberOfEffects = dataTypes.ReadNextVarInt(data);
Nutrition = DataTypes.ReadNextVarInt(data);
Saturation = DataTypes.ReadNextFloat(data);
CanAlwaysEat = DataTypes.ReadNextBool(data);
SecondsToEat = DataTypes.ReadNextFloat(data);
var numberOfEffects = DataTypes.ReadNextVarInt(data);
for(var i = 0; i < numberOfEffects; i++)
Effects.Add((EffectSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.Effect, data));
Effects.Add((EffectSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.Effect, data));
}
public override Queue<byte> Serialize()

View file

@ -23,22 +23,22 @@ public class InstrumentComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
InstrumentHolderId = dataTypes.ReadNextVarInt(data);
InstrumentHolderId = DataTypes.ReadNextVarInt(data);
if (InstrumentHolderId == 0)
{
SoundEventHolderId = dataTypes.ReadNextVarInt(data);
SoundEventHolderId = DataTypes.ReadNextVarInt(data);
if (SoundEventHolderId == 0)
{
SoundLocation = dataTypes.ReadNextString(data);
HasFixedRange = dataTypes.ReadNextBool(data);
SoundLocation = DataTypes.ReadNextString(data);
HasFixedRange = DataTypes.ReadNextBool(data);
if (HasFixedRange)
FixedRange = dataTypes.ReadNextFloat(data);
FixedRange = DataTypes.ReadNextFloat(data);
}
UseDuration = dataTypes.ReadNextVarInt(data);
Range = dataTypes.ReadNextFloat(data);
UseDuration = DataTypes.ReadNextVarInt(data);
Range = DataTypes.ReadNextFloat(data);
}
}

View file

@ -11,7 +11,7 @@ public class IntangibleProjectileComponent(DataTypes dataTypes, ItemPalette item
public override void Parse(Queue<byte> data)
{
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -13,7 +13,7 @@ public class ItemNameComponent(DataTypes dataTypes, ItemPalette itemPalette, Sub
public override void Parse(Queue<byte> data)
{
ItemNameNbt = dataTypes.ReadNextNbt(data);
ItemNameNbt = DataTypes.ReadNextNbt(data);
ItemName = ChatParser.ParseText(ItemNameNbt);
}

View file

@ -11,7 +11,7 @@ public class LockComponent(DataTypes dataTypes, ItemPalette itemPalette, SubComp
public override void Parse(Queue<byte> data)
{
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -15,15 +15,15 @@ public class LodestoneTrackerComponent(DataTypes dataTypes, ItemPalette itemPale
public override void Parse(Queue<byte> data)
{
HasGlobalPosition = dataTypes.ReadNextBool(data);
HasGlobalPosition = DataTypes.ReadNextBool(data);
if (HasGlobalPosition)
{
Dimension = dataTypes.ReadNextString(data);
Position = dataTypes.ReadNextLocation(data);
Dimension = DataTypes.ReadNextString(data);
Position = DataTypes.ReadNextLocation(data);
}
Tracked = dataTypes.ReadNextBool(data);
Tracked = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -14,13 +14,13 @@ public class LoreNameComponent1206(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
NumberOfLines = dataTypes.ReadNextVarInt(data);
NumberOfLines = DataTypes.ReadNextVarInt(data);
if (NumberOfLines <= 0) return;
for (var i = 0; i < NumberOfLines; i++)
{
var lineNbt = dataTypes.ReadNextNbt(data);
var lineNbt = DataTypes.ReadNextNbt(data);
LinesNbt.Add(lineNbt);
Lines.Add(ChatParser.ParseText(lineNbt));
}

View file

@ -11,7 +11,7 @@ public class MapColorComponent(DataTypes dataTypes, ItemPalette itemPalette, Sub
public override void Parse(Queue<byte> data)
{
Id = dataTypes.ReadNextInt(data);
Id = DataTypes.ReadNextInt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class MapDecorationsComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class MapIdComponent(DataTypes dataTypes, ItemPalette itemPalette, SubCom
public override void Parse(Queue<byte> data)
{
Id = dataTypes.ReadNextVarInt(data);
Id = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class MapPostProcessingComponent(DataTypes dataTypes, ItemPalette itemPal
public override void Parse(Queue<byte> data)
{
Type = dataTypes.ReadNextVarInt(data);
Type = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class MaxDamageComponent(DataTypes dataTypes, ItemPalette itemPalette, Su
public override void Parse(Queue<byte> data)
{
MaxDamage = dataTypes.ReadNextVarInt(data);
MaxDamage = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class MaxStackSizeComponent(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
MaxStackSize = dataTypes.ReadNextVarInt(data);
MaxStackSize = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class NoteBlockSoundComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
Identifier = dataTypes.ReadNextString(data);
Identifier = DataTypes.ReadNextString(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class OmniousBottleAmplifierComponent(DataTypes dataTypes, ItemPalette it
public override void Parse(Queue<byte> data)
{
Amplifier = dataTypes.ReadNextVarInt(data);
Amplifier = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,9 +11,9 @@ public class PotDecorationsComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
var count = dataTypes.ReadNextVarInt(data);
var count = DataTypes.ReadNextVarInt(data);
for(var i = 0; i < count; i++)
Items.Add(dataTypes.ReadNextVarInt(data));
Items.Add(DataTypes.ReadNextVarInt(data));
}
public override Queue<byte> Serialize()

View file

@ -17,17 +17,17 @@ public class PotionContentsComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
HasPotionId = dataTypes.ReadNextBool(data);
HasPotionId = DataTypes.ReadNextBool(data);
if (HasPotionId)
PotionId = dataTypes.ReadNextVarInt(data);
PotionId = DataTypes.ReadNextVarInt(data);
HasCustomColor = dataTypes.ReadNextBool(data);
HasCustomColor = DataTypes.ReadNextBool(data);
if (HasCustomColor)
CustomColor = dataTypes.ReadNextInt(data);
CustomColor = DataTypes.ReadNextInt(data);
var numberOfEffects = dataTypes.ReadNextVarInt(data);
var numberOfEffects = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < numberOfEffects; i++)
Effects.Add((PotionEffectSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.PotionEffect, data));
Effects.Add((PotionEffectSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.PotionEffect, data));
}
public override Queue<byte> Serialize()

View file

@ -23,7 +23,7 @@ public class ProfileComponent(DataTypes dataTypes, ItemPalette itemPalette, SubC
{
ResetState();
if (dataTypes.ProtocolVersion >= Protocol18Handler.MC_1_21_9_Version)
if (DataTypes.ProtocolVersion >= Protocol18Handler.MC_1_21_9_Version)
{
ParseResolvableProfile(data);
return;
@ -34,7 +34,7 @@ public class ProfileComponent(DataTypes dataTypes, ItemPalette itemPalette, SubC
public override Queue<byte> Serialize()
{
return dataTypes.ProtocolVersion >= Protocol18Handler.MC_1_21_9_Version
return DataTypes.ProtocolVersion >= Protocol18Handler.MC_1_21_9_Version
? SerializeResolvableProfile()
: SerializeLegacyProfile();
}
@ -56,44 +56,44 @@ public class ProfileComponent(DataTypes dataTypes, ItemPalette itemPalette, SubC
private void ParseLegacyProfile(Queue<byte> data)
{
HasName = dataTypes.ReadNextBool(data);
HasName = DataTypes.ReadNextBool(data);
if (HasName)
Name = dataTypes.ReadNextString(data);
Name = DataTypes.ReadNextString(data);
HasUniqueId = dataTypes.ReadNextBool(data);
HasUniqueId = DataTypes.ReadNextBool(data);
if (HasUniqueId)
Uuid = dataTypes.ReadNextUUID(data);
Uuid = DataTypes.ReadNextUUID(data);
NumberOfProperties = dataTypes.ReadNextVarInt(data);
NumberOfProperties = DataTypes.ReadNextVarInt(data);
ProfileProperties = ReadProfileProperties(data, NumberOfProperties);
}
private void ParseResolvableProfile(Queue<byte> data)
{
IsFullProfile = dataTypes.ReadNextBool(data);
IsFullProfile = DataTypes.ReadNextBool(data);
if (IsFullProfile)
{
HasUniqueId = true;
Uuid = dataTypes.ReadNextUUID(data);
Uuid = DataTypes.ReadNextUUID(data);
HasName = true;
Name = dataTypes.ReadNextString(data);
NumberOfProperties = dataTypes.ReadNextVarInt(data);
Name = DataTypes.ReadNextString(data);
NumberOfProperties = DataTypes.ReadNextVarInt(data);
ProfileProperties = ReadProfileProperties(data, NumberOfProperties);
}
else
{
HasName = dataTypes.ReadNextBool(data);
HasName = DataTypes.ReadNextBool(data);
if (HasName)
Name = dataTypes.ReadNextString(data);
Name = DataTypes.ReadNextString(data);
HasUniqueId = dataTypes.ReadNextBool(data);
HasUniqueId = DataTypes.ReadNextBool(data);
if (HasUniqueId)
Uuid = dataTypes.ReadNextUUID(data);
Uuid = DataTypes.ReadNextUUID(data);
NumberOfProperties = dataTypes.ReadNextVarInt(data);
NumberOfProperties = DataTypes.ReadNextVarInt(data);
ProfileProperties = ReadProfileProperties(data, NumberOfProperties);
}
@ -101,8 +101,8 @@ public class ProfileComponent(DataTypes dataTypes, ItemPalette itemPalette, SubC
CapeAssetId = ReadOptionalResourceLocation(data);
ElytraAssetId = ReadOptionalResourceLocation(data);
if (dataTypes.ReadNextBool(data))
Model = dataTypes.ReadNextBool(data) ? ProfileSkinModel.Slim : ProfileSkinModel.Wide;
if (DataTypes.ReadNextBool(data))
Model = DataTypes.ReadNextBool(data) ? ProfileSkinModel.Slim : ProfileSkinModel.Wide;
}
private Queue<byte> SerializeLegacyProfile()
@ -171,7 +171,7 @@ public class ProfileComponent(DataTypes dataTypes, ItemPalette itemPalette, SubC
data.AddRange(DataTypes.GetBool(Model.HasValue));
if (Model.HasValue)
data.AddRange(dataTypes.GetBool(Model.Value == ProfileSkinModel.Slim));
data.AddRange(DataTypes.GetBool(Model.Value == ProfileSkinModel.Slim));
return new Queue<byte>(data);
}
@ -181,10 +181,10 @@ public class ProfileComponent(DataTypes dataTypes, ItemPalette itemPalette, SubC
var properties = new List<ProfileProperty>(count);
for (var i = 0; i < count; i++)
{
var propertyName = dataTypes.ReadNextString(data);
var propertyValue = dataTypes.ReadNextString(data);
var hasSignature = dataTypes.ReadNextBool(data);
var signature = hasSignature ? dataTypes.ReadNextString(data) : null;
var propertyName = DataTypes.ReadNextString(data);
var propertyValue = DataTypes.ReadNextString(data);
var hasSignature = DataTypes.ReadNextBool(data);
var signature = hasSignature ? DataTypes.ReadNextString(data) : null;
properties.Add(new ProfileProperty(propertyName, propertyValue, hasSignature, signature));
}
@ -211,7 +211,7 @@ public class ProfileComponent(DataTypes dataTypes, ItemPalette itemPalette, SubC
private string? ReadOptionalResourceLocation(Queue<byte> data)
{
return dataTypes.ReadNextBool(data) ? dataTypes.ReadNextString(data) : null;
return DataTypes.ReadNextBool(data) ? DataTypes.ReadNextString(data) : null;
}
private void SerializeOptionalResourceLocation(List<byte> data, string? resourceLocation)

View file

@ -12,7 +12,7 @@ public class RarityComponent(DataTypes dataTypes, ItemPalette itemPalette, SubCo
public override void Parse(Queue<byte> data)
{
Rarity = (ItemRarity)dataTypes.ReadNextVarInt(data);
Rarity = (ItemRarity)DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class RecipesComponent(DataTypes dataTypes, ItemPalette itemPalette, SubC
public override void Parse(Queue<byte> data)
{
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class RepairCostComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
Cost = dataTypes.ReadNextVarInt(data);
Cost = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -15,10 +15,10 @@ public class SuspiciousStewEffectsComponent(DataTypes dataTypes, ItemPalette ite
public override void Parse(Queue<byte> data)
{
NumberOfEffects = dataTypes.ReadNextVarInt(data);
NumberOfEffects = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfEffects; i++)
Effects.Add(new SuspiciousStewEffect(dataTypes.ReadNextVarInt(data), dataTypes.ReadNextVarInt(data)));
Effects.Add(new SuspiciousStewEffect(DataTypes.ReadNextVarInt(data), DataTypes.ReadNextVarInt(data)));
}
public override Queue<byte> Serialize()

View file

@ -17,13 +17,13 @@ public class ToolComponent(DataTypes dataTypes, ItemPalette itemPalette, SubComp
public override void Parse(Queue<byte> data)
{
NumberOfRules = dataTypes.ReadNextVarInt(data);
NumberOfRules = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfRules; i++)
Rules.Add((RuleSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.Rule, data));
Rules.Add((RuleSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.Rule, data));
DefaultMiningSpeed = dataTypes.ReadNextFloat(data);
DamagePerBlock = dataTypes.ReadNextVarInt(data);
DefaultMiningSpeed = DataTypes.ReadNextFloat(data);
DamagePerBlock = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -27,40 +27,40 @@ public class TrimComponent(DataTypes dataTypes, ItemPalette itemPalette, SubComp
public override void Parse(Queue<byte> data)
{
TrimMaterialType = dataTypes.ReadNextVarInt(data);
TrimMaterialType = DataTypes.ReadNextVarInt(data);
if (TrimMaterialType == 0)
{
AssetName = dataTypes.ReadNextString(data);
Ingredient = dataTypes.ReadNextVarInt(data);
ItemModelIndex = dataTypes.ReadNextFloat(data);
NumberOfOverrides = dataTypes.ReadNextVarInt(data);
AssetName = DataTypes.ReadNextString(data);
Ingredient = DataTypes.ReadNextVarInt(data);
ItemModelIndex = DataTypes.ReadNextFloat(data);
NumberOfOverrides = DataTypes.ReadNextVarInt(data);
if (NumberOfOverrides > 0)
{
Overrides = [];
for (var i = 0; i < NumberOfOverrides; i++)
Overrides.Add(new TrimAssetOverride(dataTypes.ReadNextVarInt(data),
dataTypes.ReadNextString(data)));
Overrides.Add(new TrimAssetOverride(DataTypes.ReadNextVarInt(data),
DataTypes.ReadNextString(data)));
}
DescriptionNbt = dataTypes.ReadNextNbt(data);
DescriptionNbt = DataTypes.ReadNextNbt(data);
Description = ChatParser.ParseText(DescriptionNbt);
}
TrimPatternType = dataTypes.ReadNextVarInt(data);
TrimPatternType = DataTypes.ReadNextVarInt(data);
if (TrimPatternType == 0)
{
TrimPatternTypeAssetName = dataTypes.ReadNextString(data);
TemplateItem = dataTypes.ReadNextVarInt(data);
TrimPatternTypeDescriptionNbt = dataTypes.ReadNextNbt(data);
TrimPatternTypeAssetName = DataTypes.ReadNextString(data);
TemplateItem = DataTypes.ReadNextVarInt(data);
TrimPatternTypeDescriptionNbt = DataTypes.ReadNextNbt(data);
TrimPatternTypeDescription = ChatParser.ParseText(TrimPatternTypeDescriptionNbt);
Decal = dataTypes.ReadNextBool(data);
Decal = DataTypes.ReadNextBool(data);
}
ShowInTooltip = dataTypes.ReadNextBool(data);
ShowInTooltip = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class UnbrekableComponent1206(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
Unbrekable = dataTypes.ReadNextBool(data);
Unbrekable = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -12,16 +12,16 @@ public class WritableBlookContentComponent(DataTypes dataTypes, ItemPalette item
public override void Parse(Queue<byte> data)
{
var count = dataTypes.ReadNextVarInt(data);
var count = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < count; i++)
{
var rawContent = dataTypes.ReadNextString(data);
var hasFilteredContent = dataTypes.ReadNextBool(data);
var rawContent = DataTypes.ReadNextString(data);
var hasFilteredContent = DataTypes.ReadNextBool(data);
var filteredContent = null as string;
if(hasFilteredContent)
filteredContent = dataTypes.ReadNextString(data);
filteredContent = DataTypes.ReadNextString(data);
Pages.Add(new BookPage(rawContent, hasFilteredContent, filteredContent));
}

View file

@ -20,34 +20,34 @@ public class WrittenBlookContentComponent(DataTypes dataTypes, ItemPalette itemP
public override void Parse(Queue<byte> data)
{
RawTitle = dataTypes.ReadNextString(data);
HasFilteredTitle = dataTypes.ReadNextBool(data);
RawTitle = DataTypes.ReadNextString(data);
HasFilteredTitle = DataTypes.ReadNextBool(data);
if (HasFilteredTitle)
FilteredTitle = dataTypes.ReadNextString(data);
FilteredTitle = DataTypes.ReadNextString(data);
Author = dataTypes.ReadNextString(data);
Generation = dataTypes.ReadNextVarInt(data);
NumberOfPages = dataTypes.ReadNextVarInt(data);
Author = DataTypes.ReadNextString(data);
Generation = DataTypes.ReadNextVarInt(data);
NumberOfPages = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfPages; i++)
{
var rawContentNbt = dataTypes.ReadNextNbt(data);
var rawContentNbt = DataTypes.ReadNextNbt(data);
var rawContent = ChatParser.ParseText(rawContentNbt);
var hasFilteredContent = dataTypes.ReadNextBool(data);
var hasFilteredContent = DataTypes.ReadNextBool(data);
Dictionary<string, object>? filteredContentNbt = null;
string? filteredContent = null;
if (hasFilteredContent)
{
filteredContentNbt = dataTypes.ReadNextNbt(data);
filteredContentNbt = DataTypes.ReadNextNbt(data);
filteredContent = ChatParser.ParseText(filteredContentNbt);
}
Pages.Add(new BookPage(rawContent, hasFilteredContent, filteredContent, rawContentNbt, filteredContentNbt));
}
Resolved = dataTypes.ReadNextBool(data);
Resolved = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -21,26 +21,26 @@ public class JukeBoxPlayableComponent(DataTypes dataTypes, ItemPalette itemPalet
public override void Parse(Queue<byte> data)
{
DirectMode = dataTypes.ReadNextBool(data);
DirectMode = DataTypes.ReadNextBool(data);
if (!DirectMode)
SongName = dataTypes.ReadNextString(data);
SongName = DataTypes.ReadNextString(data);
if (DirectMode)
{
SongType = dataTypes.ReadNextVarInt(data);
SongType = DataTypes.ReadNextVarInt(data);
if (SongType == 0)
{
SoundEvent =
(SoundEventSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
Description = dataTypes.ReadNextString(data);
Duration = dataTypes.ReadNextFloat(data);
Output = dataTypes.ReadNextVarInt(data);
(SoundEventSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
Description = DataTypes.ReadNextString(data);
Duration = DataTypes.ReadNextFloat(data);
Output = DataTypes.ReadNextVarInt(data);
}
}
ShowTooltip = dataTypes.ReadNextBool(data);
ShowTooltip = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -16,12 +16,12 @@ public class AttackRangeComponent(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
MinRange = dataTypes.ReadNextFloat(data);
MaxRange = dataTypes.ReadNextFloat(data);
MinCreativeRange = dataTypes.ReadNextFloat(data);
MaxCreativeRange = dataTypes.ReadNextFloat(data);
HitboxMargin = dataTypes.ReadNextFloat(data);
MobFactor = dataTypes.ReadNextFloat(data);
MinRange = DataTypes.ReadNextFloat(data);
MaxRange = DataTypes.ReadNextFloat(data);
MinCreativeRange = DataTypes.ReadNextFloat(data);
MaxCreativeRange = DataTypes.ReadNextFloat(data);
HitboxMargin = DataTypes.ReadNextFloat(data);
MobFactor = DataTypes.ReadNextFloat(data);
}
public override Queue<byte> Serialize()

View file

@ -9,34 +9,34 @@ public class KineticWeaponComponent(DataTypes dataTypes, ItemPalette itemPalette
{
public override void Parse(Queue<byte> data)
{
dataTypes.ReadNextVarInt(data); // contactCooldownTicks
dataTypes.ReadNextVarInt(data); // delayTicks
DataTypes.ReadNextVarInt(data); // contactCooldownTicks
DataTypes.ReadNextVarInt(data); // delayTicks
ReadOptionalCondition(data); // dismountConditions
ReadOptionalCondition(data); // knockbackConditions
ReadOptionalCondition(data); // damageConditions
dataTypes.ReadNextFloat(data); // forwardMovement
dataTypes.ReadNextFloat(data); // damageMultiplier
DataTypes.ReadNextFloat(data); // forwardMovement
DataTypes.ReadNextFloat(data); // damageMultiplier
ReadOptionalSoundEventHolder(data); // sound
ReadOptionalSoundEventHolder(data); // hitSound
}
private void ReadOptionalCondition(Queue<byte> data)
{
if (!dataTypes.ReadNextBool(data)) return;
dataTypes.ReadNextVarInt(data); // maxDurationTicks
dataTypes.ReadNextFloat(data); // minSpeed
dataTypes.ReadNextFloat(data); // minRelativeSpeed
if (!DataTypes.ReadNextBool(data)) return;
DataTypes.ReadNextVarInt(data); // maxDurationTicks
DataTypes.ReadNextFloat(data); // minSpeed
DataTypes.ReadNextFloat(data); // minRelativeSpeed
}
private void ReadOptionalSoundEventHolder(Queue<byte> data)
{
if (!dataTypes.ReadNextBool(data)) return;
var holderId = dataTypes.ReadNextVarInt(data);
if (!DataTypes.ReadNextBool(data)) return;
var holderId = DataTypes.ReadNextVarInt(data);
if (holderId == 0)
{
dataTypes.ReadNextString(data);
if (dataTypes.ReadNextBool(data))
dataTypes.ReadNextFloat(data);
DataTypes.ReadNextString(data);
if (DataTypes.ReadNextBool(data))
DataTypes.ReadNextFloat(data);
}
}

View file

@ -12,21 +12,21 @@ public class PiercingWeaponComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
DealsKnockback = dataTypes.ReadNextBool(data);
Dismounts = dataTypes.ReadNextBool(data);
DealsKnockback = DataTypes.ReadNextBool(data);
Dismounts = DataTypes.ReadNextBool(data);
ReadOptionalSoundEventHolder(data);
ReadOptionalSoundEventHolder(data);
}
private void ReadOptionalSoundEventHolder(Queue<byte> data)
{
if (!dataTypes.ReadNextBool(data)) return;
var holderId = dataTypes.ReadNextVarInt(data);
if (!DataTypes.ReadNextBool(data)) return;
var holderId = DataTypes.ReadNextVarInt(data);
if (holderId == 0)
{
dataTypes.ReadNextString(data);
if (dataTypes.ReadNextBool(data))
dataTypes.ReadNextFloat(data);
DataTypes.ReadNextString(data);
if (DataTypes.ReadNextBool(data))
DataTypes.ReadNextFloat(data);
}
}

View file

@ -18,11 +18,11 @@ public class RegistryEitherHolderComponent(DataTypes dataTypes, ItemPalette item
public override void Parse(Queue<byte> data)
{
IsHolder = dataTypes.ReadNextBool(data);
IsHolder = DataTypes.ReadNextBool(data);
if (IsHolder)
HolderId = dataTypes.ReadNextVarInt(data);
HolderId = DataTypes.ReadNextVarInt(data);
else
ResourceKey = dataTypes.ReadNextString(data);
ResourceKey = DataTypes.ReadNextString(data);
}
public override Queue<byte> Serialize()

View file

@ -12,8 +12,8 @@ public class SwingAnimationComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
AnimationType = dataTypes.ReadNextVarInt(data);
Duration = dataTypes.ReadNextVarInt(data);
AnimationType = DataTypes.ReadNextVarInt(data);
Duration = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -13,9 +13,9 @@ public class UseEffectsComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
CanSprint = dataTypes.ReadNextBool(data);
InteractVibrations = dataTypes.ReadNextBool(data);
SpeedMultiplier = dataTypes.ReadNextFloat(data);
CanSprint = DataTypes.ReadNextBool(data);
InteractVibrations = DataTypes.ReadNextBool(data);
SpeedMultiplier = DataTypes.ReadNextFloat(data);
}
public override Queue<byte> Serialize()

View file

@ -17,15 +17,15 @@ public class ConsumableComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
ConsumeSeconds = dataTypes.ReadNextFloat(data);
Animation = dataTypes.ReadNextVarInt(data);
Sound = (SoundEventSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
HasConsumeParticles = dataTypes.ReadNextBool(data);
ConsumeSeconds = DataTypes.ReadNextFloat(data);
Animation = DataTypes.ReadNextVarInt(data);
Sound = (SoundEventSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
HasConsumeParticles = DataTypes.ReadNextBool(data);
var effectCount = dataTypes.ReadNextVarInt(data);
var effectCount = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < effectCount; i++)
{
var effectTypeId = dataTypes.ReadNextVarInt(data);
var effectTypeId = DataTypes.ReadNextVarInt(data);
var effectData = ReadConsumeEffectPayload(effectTypeId, data);
Effects.Add(new ConsumeEffectData(effectTypeId, effectData));
}
@ -37,11 +37,11 @@ public class ConsumableComponent(DataTypes dataTypes, ItemPalette itemPalette, S
switch (effectTypeId)
{
case 0: // apply_effects: List<MobEffectInstance> + probability(float)
var effectCount = dataTypes.ReadNextVarInt(data);
var effectCount = DataTypes.ReadNextVarInt(data);
payload.AddRange(DataTypes.GetVarInt(effectCount));
for (var i = 0; i < effectCount; i++)
payload.AddRange(ReadMobEffectInstance(data));
payload.AddRange(DataTypes.GetFloat(dataTypes.ReadNextFloat(data)));
payload.AddRange(DataTypes.GetFloat(DataTypes.ReadNextFloat(data)));
break;
case 1: // remove_effects: HolderSet<MobEffect>
payload.AddRange(ReadHolderSet(data));
@ -49,10 +49,10 @@ public class ConsumableComponent(DataTypes dataTypes, ItemPalette itemPalette, S
case 2: // clear_all_effects: empty
break;
case 3: // teleport_randomly: float diameter
payload.AddRange(DataTypes.GetFloat(dataTypes.ReadNextFloat(data)));
payload.AddRange(DataTypes.GetFloat(DataTypes.ReadNextFloat(data)));
break;
case 4: // play_sound: Holder<SoundEvent>
var sound = (SoundEventSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
var sound = (SoundEventSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
payload.AddRange(sound.Serialize());
break;
}
@ -62,7 +62,7 @@ public class ConsumableComponent(DataTypes dataTypes, ItemPalette itemPalette, S
private byte[] ReadMobEffectInstance(Queue<byte> data)
{
var result = new List<byte>();
var effectId = dataTypes.ReadNextVarInt(data);
var effectId = DataTypes.ReadNextVarInt(data);
result.AddRange(DataTypes.GetVarInt(effectId));
result.AddRange(ReadMobEffectDetails(data));
return result.ToArray();
@ -71,17 +71,17 @@ public class ConsumableComponent(DataTypes dataTypes, ItemPalette itemPalette, S
private byte[] ReadMobEffectDetails(Queue<byte> data)
{
var result = new List<byte>();
var amplifier = dataTypes.ReadNextVarInt(data);
var amplifier = DataTypes.ReadNextVarInt(data);
result.AddRange(DataTypes.GetVarInt(amplifier));
var duration = dataTypes.ReadNextVarInt(data);
var duration = DataTypes.ReadNextVarInt(data);
result.AddRange(DataTypes.GetVarInt(duration));
var ambient = dataTypes.ReadNextBool(data);
var ambient = DataTypes.ReadNextBool(data);
result.AddRange(DataTypes.GetBool(ambient));
var showParticles = dataTypes.ReadNextBool(data);
var showParticles = DataTypes.ReadNextBool(data);
result.AddRange(DataTypes.GetBool(showParticles));
var showIcon = dataTypes.ReadNextBool(data);
var showIcon = DataTypes.ReadNextBool(data);
result.AddRange(DataTypes.GetBool(showIcon));
var hasHiddenEffect = dataTypes.ReadNextBool(data);
var hasHiddenEffect = DataTypes.ReadNextBool(data);
result.AddRange(DataTypes.GetBool(hasHiddenEffect));
if (hasHiddenEffect)
result.AddRange(ReadMobEffectDetails(data));
@ -91,18 +91,18 @@ public class ConsumableComponent(DataTypes dataTypes, ItemPalette itemPalette, S
private byte[] ReadHolderSet(Queue<byte> data)
{
var result = new List<byte>();
var type = dataTypes.ReadNextVarInt(data);
var type = DataTypes.ReadNextVarInt(data);
result.AddRange(DataTypes.GetVarInt(type));
if (type == 0)
{
var tagName = dataTypes.ReadNextString(data);
var tagName = DataTypes.ReadNextString(data);
result.AddRange(DataTypes.GetString(tagName));
}
else
{
for (var i = 0; i < type - 1; i++)
{
var id = dataTypes.ReadNextVarInt(data);
var id = DataTypes.ReadNextVarInt(data);
result.AddRange(DataTypes.GetVarInt(id));
}
}

View file

@ -11,7 +11,7 @@ public class DamageResistantComponent(DataTypes dataTypes, ItemPalette itemPalet
public override void Parse(Queue<byte> data)
{
Types = dataTypes.ReadNextString(data);
Types = DataTypes.ReadNextString(data);
}
public override Queue<byte> Serialize()

View file

@ -13,10 +13,10 @@ public class DeathProtectionComponent(DataTypes dataTypes, ItemPalette itemPalet
public override void Parse(Queue<byte> data)
{
var effectCount = dataTypes.ReadNextVarInt(data);
var effectCount = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < effectCount; i++)
{
var effectTypeId = dataTypes.ReadNextVarInt(data);
var effectTypeId = DataTypes.ReadNextVarInt(data);
var effectData = ReadConsumeEffectPayload(effectTypeId, data);
DeathEffects.Add(new ConsumeEffectData(effectTypeId, effectData));
}
@ -28,11 +28,11 @@ public class DeathProtectionComponent(DataTypes dataTypes, ItemPalette itemPalet
switch (effectTypeId)
{
case 0: // apply_effects
var effectCount = dataTypes.ReadNextVarInt(data);
var effectCount = DataTypes.ReadNextVarInt(data);
payload.AddRange(DataTypes.GetVarInt(effectCount));
for (var i = 0; i < effectCount; i++)
payload.AddRange(ReadMobEffectInstance(data));
payload.AddRange(DataTypes.GetFloat(dataTypes.ReadNextFloat(data)));
payload.AddRange(DataTypes.GetFloat(DataTypes.ReadNextFloat(data)));
break;
case 1: // remove_effects
payload.AddRange(ReadHolderSet(data));
@ -40,10 +40,10 @@ public class DeathProtectionComponent(DataTypes dataTypes, ItemPalette itemPalet
case 2: // clear_all_effects
break;
case 3: // teleport_randomly
payload.AddRange(DataTypes.GetFloat(dataTypes.ReadNextFloat(data)));
payload.AddRange(DataTypes.GetFloat(DataTypes.ReadNextFloat(data)));
break;
case 4: // play_sound
var sound = (SoundEventSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
var sound = (SoundEventSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
payload.AddRange(sound.Serialize());
break;
}
@ -53,7 +53,7 @@ public class DeathProtectionComponent(DataTypes dataTypes, ItemPalette itemPalet
private byte[] ReadMobEffectInstance(Queue<byte> data)
{
var result = new List<byte>();
result.AddRange(DataTypes.GetVarInt(dataTypes.ReadNextVarInt(data)));
result.AddRange(DataTypes.GetVarInt(DataTypes.ReadNextVarInt(data)));
result.AddRange(ReadMobEffectDetails(data));
return result.ToArray();
}
@ -61,12 +61,12 @@ public class DeathProtectionComponent(DataTypes dataTypes, ItemPalette itemPalet
private byte[] ReadMobEffectDetails(Queue<byte> data)
{
var result = new List<byte>();
result.AddRange(DataTypes.GetVarInt(dataTypes.ReadNextVarInt(data)));
result.AddRange(DataTypes.GetVarInt(dataTypes.ReadNextVarInt(data)));
result.AddRange(DataTypes.GetBool(dataTypes.ReadNextBool(data)));
result.AddRange(DataTypes.GetBool(dataTypes.ReadNextBool(data)));
result.AddRange(DataTypes.GetBool(dataTypes.ReadNextBool(data)));
var hasHidden = dataTypes.ReadNextBool(data);
result.AddRange(DataTypes.GetVarInt(DataTypes.ReadNextVarInt(data)));
result.AddRange(DataTypes.GetVarInt(DataTypes.ReadNextVarInt(data)));
result.AddRange(DataTypes.GetBool(DataTypes.ReadNextBool(data)));
result.AddRange(DataTypes.GetBool(DataTypes.ReadNextBool(data)));
result.AddRange(DataTypes.GetBool(DataTypes.ReadNextBool(data)));
var hasHidden = DataTypes.ReadNextBool(data);
result.AddRange(DataTypes.GetBool(hasHidden));
if (hasHidden)
result.AddRange(ReadMobEffectDetails(data));
@ -76,16 +76,16 @@ public class DeathProtectionComponent(DataTypes dataTypes, ItemPalette itemPalet
private byte[] ReadHolderSet(Queue<byte> data)
{
var result = new List<byte>();
var type = dataTypes.ReadNextVarInt(data);
var type = DataTypes.ReadNextVarInt(data);
result.AddRange(DataTypes.GetVarInt(type));
if (type == 0)
{
result.AddRange(DataTypes.GetString(dataTypes.ReadNextString(data)));
result.AddRange(DataTypes.GetString(DataTypes.ReadNextString(data)));
}
else
{
for (var i = 0; i < type - 1; i++)
result.AddRange(DataTypes.GetVarInt(dataTypes.ReadNextVarInt(data)));
result.AddRange(DataTypes.GetVarInt(DataTypes.ReadNextVarInt(data)));
}
return result.ToArray();
}

View file

@ -11,7 +11,7 @@ public class EnchantableComponent(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
Value = dataTypes.ReadNextVarInt(data);
Value = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -25,36 +25,36 @@ public class EquippableComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
Slot = dataTypes.ReadNextVarInt(data);
EquipSound = (SoundEventSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
Slot = DataTypes.ReadNextVarInt(data);
EquipSound = (SoundEventSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.SoundEvent, data);
HasModel = dataTypes.ReadNextBool(data);
HasModel = DataTypes.ReadNextBool(data);
if (HasModel)
Model = dataTypes.ReadNextString(data);
Model = DataTypes.ReadNextString(data);
HasCameraOverlay = dataTypes.ReadNextBool(data);
HasCameraOverlay = DataTypes.ReadNextBool(data);
if (HasCameraOverlay)
CameraOverlay = dataTypes.ReadNextString(data);
CameraOverlay = DataTypes.ReadNextString(data);
HasAllowedEntities = dataTypes.ReadNextBool(data);
HasAllowedEntities = DataTypes.ReadNextBool(data);
if (HasAllowedEntities)
{
AllowedEntitiesType = dataTypes.ReadNextVarInt(data);
AllowedEntitiesType = DataTypes.ReadNextVarInt(data);
if (AllowedEntitiesType == 0)
{
AllowedEntitiesTag = dataTypes.ReadNextString(data);
AllowedEntitiesTag = DataTypes.ReadNextString(data);
}
else
{
AllowedEntitiesIds = new List<int>();
for (var i = 0; i < AllowedEntitiesType - 1; i++)
AllowedEntitiesIds.Add(dataTypes.ReadNextVarInt(data));
AllowedEntitiesIds.Add(DataTypes.ReadNextVarInt(data));
}
}
Dispensable = dataTypes.ReadNextBool(data);
Swappable = dataTypes.ReadNextBool(data);
DamageOnHurt = dataTypes.ReadNextBool(data);
Dispensable = DataTypes.ReadNextBool(data);
Swappable = DataTypes.ReadNextBool(data);
DamageOnHurt = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -13,9 +13,9 @@ public class FoodComponent1212(DataTypes dataTypes, ItemPalette itemPalette, Sub
public override void Parse(Queue<byte> data)
{
Nutrition = dataTypes.ReadNextVarInt(data);
Saturation = dataTypes.ReadNextFloat(data);
CanAlwaysEat = dataTypes.ReadNextBool(data);
Nutrition = DataTypes.ReadNextVarInt(data);
Saturation = DataTypes.ReadNextFloat(data);
CanAlwaysEat = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class ItemModelComponent(DataTypes dataTypes, ItemPalette itemPalette, Su
public override void Parse(Queue<byte> data)
{
Identifier = dataTypes.ReadNextString(data);
Identifier = DataTypes.ReadNextString(data);
}
public override Queue<byte> Serialize()

View file

@ -13,16 +13,16 @@ public class RepairableComponent(DataTypes dataTypes, ItemPalette itemPalette, S
public override void Parse(Queue<byte> data)
{
Type = dataTypes.ReadNextVarInt(data);
Type = DataTypes.ReadNextVarInt(data);
if (Type == 0)
{
TagName = dataTypes.ReadNextString(data);
TagName = DataTypes.ReadNextString(data);
}
else
{
ItemIds = new List<int>();
for (var i = 0; i < Type - 1; i++)
ItemIds.Add(dataTypes.ReadNextVarInt(data));
ItemIds.Add(DataTypes.ReadNextVarInt(data));
}
}

View file

@ -11,7 +11,7 @@ public class TooltipStyleComponent(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
Identifier = dataTypes.ReadNextString(data);
Identifier = DataTypes.ReadNextString(data);
}
public override Queue<byte> Serialize()

View file

@ -13,10 +13,10 @@ public class UseCooldownComponent(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
Seconds = dataTypes.ReadNextFloat(data);
HasCooldownGroup = dataTypes.ReadNextBool(data);
Seconds = DataTypes.ReadNextFloat(data);
HasCooldownGroup = DataTypes.ReadNextBool(data);
if (HasCooldownGroup)
CooldownGroup = dataTypes.ReadNextString(data);
CooldownGroup = DataTypes.ReadNextString(data);
}
public override Queue<byte> Serialize()

View file

@ -12,13 +12,13 @@ public class UseRemainderComponent(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
ConvertInto = dataTypes.ReadNextItemSlot(data, ItemPalette);
ConvertInto = DataTypes.ReadNextItemSlot(data, ItemPalette);
}
public override Queue<byte> Serialize()
{
var data = new List<byte>();
data.AddRange(dataTypes.GetItemSlot(ConvertInto, ItemPalette));
data.AddRange(DataTypes.GetItemSlot(ConvertInto, ItemPalette));
return new Queue<byte>(data);
}
}

View file

@ -16,63 +16,63 @@ public class BlocksAttacksComponent(DataTypes dataTypes, ItemPalette itemPalette
public override void Parse(Queue<byte> data)
{
BlockDelaySeconds = dataTypes.ReadNextFloat(data);
DisableCooldownScale = dataTypes.ReadNextFloat(data);
BlockDelaySeconds = DataTypes.ReadNextFloat(data);
DisableCooldownScale = DataTypes.ReadNextFloat(data);
var reductionCount = dataTypes.ReadNextVarInt(data);
var reductionCount = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < reductionCount; i++)
{
var horizontalBlockingAngle = dataTypes.ReadNextFloat(data);
var horizontalBlockingAngle = DataTypes.ReadNextFloat(data);
var hasTypeFilter = dataTypes.ReadNextBool(data);
var hasTypeFilter = DataTypes.ReadNextBool(data);
if (hasTypeFilter)
ReadHolderSet(data);
var baseDmg = dataTypes.ReadNextFloat(data);
var factor = dataTypes.ReadNextFloat(data);
var baseDmg = DataTypes.ReadNextFloat(data);
var factor = DataTypes.ReadNextFloat(data);
}
ItemDamageThreshold = dataTypes.ReadNextFloat(data);
ItemDamageBase = dataTypes.ReadNextFloat(data);
ItemDamageFactor = dataTypes.ReadNextFloat(data);
ItemDamageThreshold = DataTypes.ReadNextFloat(data);
ItemDamageBase = DataTypes.ReadNextFloat(data);
ItemDamageFactor = DataTypes.ReadNextFloat(data);
var hasBypassedBy = dataTypes.ReadNextBool(data);
var hasBypassedBy = DataTypes.ReadNextBool(data);
if (hasBypassedBy)
dataTypes.ReadNextString(data); // TagKey<DamageType> as ResourceLocation
DataTypes.ReadNextString(data); // TagKey<DamageType> as ResourceLocation
var hasBlockSound = dataTypes.ReadNextBool(data);
var hasBlockSound = DataTypes.ReadNextBool(data);
if (hasBlockSound)
ReadSoundEventHolder(data);
var hasDisableSound = dataTypes.ReadNextBool(data);
var hasDisableSound = DataTypes.ReadNextBool(data);
if (hasDisableSound)
ReadSoundEventHolder(data);
}
private void ReadHolderSet(Queue<byte> data)
{
var sizeOrTag = dataTypes.ReadNextVarInt(data);
var sizeOrTag = DataTypes.ReadNextVarInt(data);
if (sizeOrTag == 0)
{
dataTypes.ReadNextString(data); // Tag ResourceLocation
DataTypes.ReadNextString(data); // Tag ResourceLocation
}
else
{
var count = sizeOrTag - 1;
for (var i = 0; i < count; i++)
dataTypes.ReadNextVarInt(data); // Holder<DamageType> registry ids
DataTypes.ReadNextVarInt(data); // Holder<DamageType> registry ids
}
}
private void ReadSoundEventHolder(Queue<byte> data)
{
var holderId = dataTypes.ReadNextVarInt(data);
var holderId = DataTypes.ReadNextVarInt(data);
if (holderId == 0)
{
dataTypes.ReadNextString(data); // ResourceLocation
var hasFixedRange = dataTypes.ReadNextBool(data);
DataTypes.ReadNextString(data); // ResourceLocation
var hasFixedRange = DataTypes.ReadNextBool(data);
if (hasFixedRange)
dataTypes.ReadNextFloat(data);
DataTypes.ReadNextFloat(data);
}
}

View file

@ -13,10 +13,10 @@ public class EitherHolderComponent(DataTypes dataTypes, ItemPalette itemPalette,
public override void Parse(Queue<byte> data)
{
IsHolder = dataTypes.ReadNextBool(data);
IsHolder = DataTypes.ReadNextBool(data);
if (IsHolder)
{
HolderId = dataTypes.ReadNextVarInt(data);
HolderId = DataTypes.ReadNextVarInt(data);
// For simple entity variants, holderId > 0 means registry ref (id = holderId - 1)
// holderId == 0 means inline data; for most variants the inline is just the variant fields
// We skip inline data since MCC doesn't use variant details
@ -30,7 +30,7 @@ public class EitherHolderComponent(DataTypes dataTypes, ItemPalette itemPalette,
}
else
{
ResourceKey = dataTypes.ReadNextString(data);
ResourceKey = DataTypes.ReadNextString(data);
}
}

View file

@ -15,12 +15,12 @@ public class EnchantmentsComponent1215(DataTypes dataTypes, ItemPalette itemPale
{
public override void Parse(Queue<byte> data)
{
NumberOfEnchantments = dataTypes.ReadNextVarInt(data);
NumberOfEnchantments = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfEnchantments; i++)
{
var registryId = dataTypes.ReadNextVarInt(data);
var level = dataTypes.ReadNextVarInt(data);
var registryId = DataTypes.ReadNextVarInt(data);
var level = DataTypes.ReadNextVarInt(data);
Enchantments.Add(new Enchantment(EnchantmentMapping.GetEnchantmentByRegistryId1206(registryId), level));
}
}

View file

@ -10,29 +10,29 @@ public class InstrumentComponent1215(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
// EitherHolder<Instrument>: Bool + (Holder<Instrument> OR ResourceLocation)
var isHolder = dataTypes.ReadNextBool(data);
var isHolder = DataTypes.ReadNextBool(data);
if (isHolder)
{
var holderId = dataTypes.ReadNextVarInt(data);
var holderId = DataTypes.ReadNextVarInt(data);
if (holderId == 0)
{
// Inline Instrument: SoundEvent holder + VarInt useDuration + Float range + Component description
var soundHolderId = dataTypes.ReadNextVarInt(data);
var soundHolderId = DataTypes.ReadNextVarInt(data);
if (soundHolderId == 0)
{
dataTypes.ReadNextString(data); // ResourceLocation
var hasFixedRange = dataTypes.ReadNextBool(data);
DataTypes.ReadNextString(data); // ResourceLocation
var hasFixedRange = DataTypes.ReadNextBool(data);
if (hasFixedRange)
dataTypes.ReadNextFloat(data);
DataTypes.ReadNextFloat(data);
}
dataTypes.ReadNextVarInt(data); // useDuration
dataTypes.ReadNextFloat(data); // range
dataTypes.ReadNextString(data); // description (Component as JSON string)
DataTypes.ReadNextVarInt(data); // useDuration
DataTypes.ReadNextFloat(data); // range
DataTypes.ReadNextString(data); // description (Component as JSON string)
}
}
else
{
dataTypes.ReadNextString(data); // ResourceLocation key
DataTypes.ReadNextString(data); // ResourceLocation key
}
}

View file

@ -10,21 +10,21 @@ public class PaintingVariantHolderComponent(DataTypes dataTypes, ItemPalette ite
public override void Parse(Queue<byte> data)
{
// Holder<PaintingVariant>: VarInt discriminator
var holderId = dataTypes.ReadNextVarInt(data);
var holderId = DataTypes.ReadNextVarInt(data);
if (holderId == 0)
{
// Inline PaintingVariant: VarInt width + VarInt height + ResourceLocation assetId
dataTypes.ReadNextVarInt(data); // width
dataTypes.ReadNextVarInt(data); // height
dataTypes.ReadNextString(data); // assetId
DataTypes.ReadNextVarInt(data); // width
DataTypes.ReadNextVarInt(data); // height
DataTypes.ReadNextString(data); // assetId
// Optional<Component> title
if (dataTypes.ReadNextBool(data))
dataTypes.ReadNextString(data);
if (DataTypes.ReadNextBool(data))
DataTypes.ReadNextString(data);
// Optional<Component> author
if (dataTypes.ReadNextBool(data))
dataTypes.ReadNextString(data);
if (DataTypes.ReadNextBool(data))
DataTypes.ReadNextString(data);
}
}

View file

@ -11,7 +11,7 @@ public class PotionDurationScaleComponent(DataTypes dataTypes, ItemPalette itemP
public override void Parse(Queue<byte> data)
{
Scale = dataTypes.ReadNextFloat(data);
Scale = DataTypes.ReadNextFloat(data);
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class ProvidesBannerPatternsComponent(DataTypes dataTypes, ItemPalette it
public override void Parse(Queue<byte> data)
{
TagKey = dataTypes.ReadNextString(data); // ResourceLocation
TagKey = DataTypes.ReadNextString(data); // ResourceLocation
}
public override Queue<byte> Serialize()

View file

@ -10,28 +10,28 @@ public class ProvidesTrimMaterialComponent(DataTypes dataTypes, ItemPalette item
public override void Parse(Queue<byte> data)
{
// EitherHolder<TrimMaterial>: Bool + (Holder<TrimMaterial> OR ResourceLocation)
var isHolder = dataTypes.ReadNextBool(data);
var isHolder = DataTypes.ReadNextBool(data);
if (isHolder)
{
var holderId = dataTypes.ReadNextVarInt(data);
var holderId = DataTypes.ReadNextVarInt(data);
if (holderId == 0)
{
// Inline TrimMaterial: MaterialAssetGroup + Component description
// MaterialAssetGroup: string + map<ResourceLocation, string>
dataTypes.ReadNextString(data); // base asset suffix
var overrideCount = dataTypes.ReadNextVarInt(data);
DataTypes.ReadNextString(data); // base asset suffix
var overrideCount = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < overrideCount; i++)
{
dataTypes.ReadNextString(data); // ResourceKey<EquipmentAsset>
dataTypes.ReadNextString(data); // override suffix
DataTypes.ReadNextString(data); // ResourceKey<EquipmentAsset>
DataTypes.ReadNextString(data); // override suffix
}
// description Component
dataTypes.ReadNextString(data);
DataTypes.ReadNextString(data);
}
}
else
{
dataTypes.ReadNextString(data); // ResourceLocation key
DataTypes.ReadNextString(data); // ResourceLocation key
}
}

View file

@ -14,13 +14,13 @@ public class SoundEventHolderComponent(DataTypes dataTypes, ItemPalette itemPale
public override void Parse(Queue<byte> data)
{
HolderId = dataTypes.ReadNextVarInt(data);
HolderId = DataTypes.ReadNextVarInt(data);
if (HolderId == 0)
{
SoundLocation = dataTypes.ReadNextString(data);
HasFixedRange = dataTypes.ReadNextBool(data);
SoundLocation = DataTypes.ReadNextString(data);
HasFixedRange = DataTypes.ReadNextBool(data);
if (HasFixedRange)
FixedRange = dataTypes.ReadNextFloat(data);
FixedRange = DataTypes.ReadNextFloat(data);
}
}

View file

@ -12,10 +12,10 @@ public class TooltipDisplayComponent(DataTypes dataTypes, ItemPalette itemPalett
public override void Parse(Queue<byte> data)
{
HideTooltip = dataTypes.ReadNextBool(data);
var count = dataTypes.ReadNextVarInt(data);
HideTooltip = DataTypes.ReadNextBool(data);
var count = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < count; i++)
HiddenComponentIds.Add(dataTypes.ReadNextVarInt(data));
HiddenComponentIds.Add(DataTypes.ReadNextVarInt(data));
}
public override Queue<byte> Serialize()

View file

@ -11,7 +11,7 @@ public class VarIntComponent(DataTypes dataTypes, ItemPalette itemPalette, SubCo
public override void Parse(Queue<byte> data)
{
Value = dataTypes.ReadNextVarInt(data);
Value = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -12,8 +12,8 @@ public class WeaponComponent(DataTypes dataTypes, ItemPalette itemPalette, SubCo
public override void Parse(Queue<byte> data)
{
ItemDamagePerAttack = dataTypes.ReadNextVarInt(data);
DisableBlockingForSeconds = dataTypes.ReadNextFloat(data);
ItemDamagePerAttack = DataTypes.ReadNextVarInt(data);
DisableBlockingForSeconds = DataTypes.ReadNextFloat(data);
}
public override Queue<byte> Serialize()

View file

@ -15,12 +15,12 @@ public class AttributeSubComponent(DataTypes dataTypes, SubComponentRegistry sub
protected override void Parse(Queue<byte> data)
{
TypeId = dataTypes.ReadNextVarInt(data);
Uuid = dataTypes.ReadNextUUID(data);
Name = dataTypes.ReadNextString(data);
Value = dataTypes.ReadNextDouble(data);
Operation = dataTypes.ReadNextVarInt(data);
Slot = dataTypes.ReadNextVarInt(data);
TypeId = DataTypes.ReadNextVarInt(data);
Uuid = DataTypes.ReadNextUUID(data);
Name = DataTypes.ReadNextString(data);
Value = DataTypes.ReadNextDouble(data);
Operation = DataTypes.ReadNextVarInt(data);
Slot = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -15,25 +15,25 @@ public class BlockPredicateSubcomponent(DataTypes dataTypes, SubComponentRegistr
protected override void Parse(Queue<byte> data)
{
HasBlocks = dataTypes.ReadNextBool(data);
HasBlocks = DataTypes.ReadNextBool(data);
if (HasBlocks)
BlockSet = (BlockSetSubcomponent)subComponentRegistry.ParseSubComponent(SubComponents.BlockSet, data);
BlockSet = (BlockSetSubcomponent)SubComponentRegistry.ParseSubComponent(SubComponents.BlockSet, data);
HasProperities = dataTypes.ReadNextBool(data);
HasProperities = DataTypes.ReadNextBool(data);
if (HasProperities)
{
Properties = new();
var numberOfProperties = dataTypes.ReadNextVarInt(data);
var numberOfProperties = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < numberOfProperties; i++)
Properties.Add((PropertySubComponent)subComponentRegistry.ParseSubComponent(SubComponents.Property, data));
Properties.Add((PropertySubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.Property, data));
}
HasNbt = dataTypes.ReadNextBool(data);
HasNbt = DataTypes.ReadNextBool(data);
if (HasNbt)
Nbt = dataTypes.ReadNextNbt(data);
Nbt = DataTypes.ReadNextNbt(data);
}
public override Queue<byte> Serialize()

View file

@ -15,14 +15,14 @@ public class BlockSetSubcomponent(DataTypes dataTypes, SubComponentRegistry subC
Type = DataTypes.ReadNextVarInt(data);
if (Type == 0)
TagName = dataTypes.ReadNextString(data);
TagName = DataTypes.ReadNextString(data);
if (Type == 0) return;
BlockIds = [];
for (var i = 0; i < Type - 1; i++)
BlockIds.Add(dataTypes.ReadNextVarInt(data));
BlockIds.Add(DataTypes.ReadNextVarInt(data));
}
public override Queue<byte> Serialize()

View file

@ -16,15 +16,15 @@ public class DetailsSubComponent(DataTypes dataTypes, SubComponentRegistry subCo
protected override void Parse(Queue<byte> data)
{
Amplifier = dataTypes.ReadNextVarInt(data);
Duration = dataTypes.ReadNextVarInt(data);
Ambient = dataTypes.ReadNextBool(data);
ShowParticles = dataTypes.ReadNextBool(data);
ShowIcon = dataTypes.ReadNextBool(data);
HasHiddenEffects = dataTypes.ReadNextBool(data);
Amplifier = DataTypes.ReadNextVarInt(data);
Duration = DataTypes.ReadNextVarInt(data);
Ambient = DataTypes.ReadNextBool(data);
ShowParticles = DataTypes.ReadNextBool(data);
ShowIcon = DataTypes.ReadNextBool(data);
HasHiddenEffects = DataTypes.ReadNextBool(data);
if(HasHiddenEffects)
Detail = (DetailsSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.Details, data);
Detail = (DetailsSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.Details, data);
}
public override Queue<byte> Serialize()

View file

@ -11,8 +11,8 @@ public class EffectSubComponent(DataTypes dataTypes, SubComponentRegistry subCom
protected override void Parse(Queue<byte> data)
{
TypeId = (PotionEffectSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.PotionEffect, data);
Probability = dataTypes.ReadNextFloat(data);
TypeId = (PotionEffectSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.PotionEffect, data);
Probability = DataTypes.ReadNextFloat(data);
}
public override Queue<byte> Serialize()

View file

@ -16,19 +16,19 @@ public class FireworkExplosionSubComponent(DataTypes dataTypes, SubComponentRegi
protected override void Parse(Queue<byte> data)
{
Shape = dataTypes.ReadNextVarInt(data);
NumberOfColors = dataTypes.ReadNextVarInt(data);
Shape = DataTypes.ReadNextVarInt(data);
NumberOfColors = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfColors; i++)
Colors.Add(dataTypes.ReadNextInt(data));
Colors.Add(DataTypes.ReadNextInt(data));
NumberOfFadeColors = dataTypes.ReadNextVarInt(data);
NumberOfFadeColors = DataTypes.ReadNextVarInt(data);
for (var i = 0; i < NumberOfFadeColors; i++)
FadeColors.Add(dataTypes.ReadNextInt(data));
FadeColors.Add(DataTypes.ReadNextInt(data));
HasTrail = dataTypes.ReadNextBool(data);
HasTwinkle = dataTypes.ReadNextBool(data);
HasTrail = DataTypes.ReadNextBool(data);
HasTwinkle = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -11,8 +11,8 @@ public class PotionEffectSubComponent(DataTypes dataTypes, SubComponentRegistry
protected override void Parse(Queue<byte> data)
{
TypeId = dataTypes.ReadNextVarInt(data);
Details = (DetailsSubComponent)subComponentRegistry.ParseSubComponent(SubComponents.Details, data);
TypeId = DataTypes.ReadNextVarInt(data);
Details = (DetailsSubComponent)SubComponentRegistry.ParseSubComponent(SubComponents.Details, data);
}
public override Queue<byte> Serialize()

View file

@ -14,17 +14,17 @@ public class PropertySubComponent(DataTypes dataTypes, SubComponentRegistry subC
protected override void Parse(Queue<byte> data)
{
Name = dataTypes.ReadNextString(data);
IsExactMatch = dataTypes.ReadNextBool(data);
Name = DataTypes.ReadNextString(data);
IsExactMatch = DataTypes.ReadNextBool(data);
if (IsExactMatch)
{
ExactValue = dataTypes.ReadNextString(data);
ExactValue = DataTypes.ReadNextString(data);
}
else
{
MinValue = dataTypes.ReadNextBool(data) ? dataTypes.ReadNextString(data) : null;
MaxValue = dataTypes.ReadNextBool(data) ? dataTypes.ReadNextString(data) : null;
MinValue = DataTypes.ReadNextBool(data) ? DataTypes.ReadNextString(data) : null;
MaxValue = DataTypes.ReadNextBool(data) ? DataTypes.ReadNextString(data) : null;
}
}

View file

@ -14,16 +14,16 @@ public class RuleSubComponent(DataTypes dataTypes, SubComponentRegistry subCompo
protected override void Parse(Queue<byte> data)
{
Blocks = (BlockSetSubcomponent)subComponentRegistry.ParseSubComponent(SubComponents.BlockSet, data);
HasSpeed = dataTypes.ReadNextBool(data);
Blocks = (BlockSetSubcomponent)SubComponentRegistry.ParseSubComponent(SubComponents.BlockSet, data);
HasSpeed = DataTypes.ReadNextBool(data);
if(HasSpeed)
Speed = dataTypes.ReadNextFloat(data);
Speed = DataTypes.ReadNextFloat(data);
HasCorrectDropForBlocks = dataTypes.ReadNextBool(data);
HasCorrectDropForBlocks = DataTypes.ReadNextBool(data);
if(HasCorrectDropForBlocks)
CorrectDropForBlocks = dataTypes.ReadNextBool(data);
CorrectDropForBlocks = DataTypes.ReadNextBool(data);
}
public override Queue<byte> Serialize()

View file

@ -14,11 +14,11 @@ public class AttributeSubComponent121(DataTypes dataTypes, SubComponentRegistry
protected override void Parse(Queue<byte> data)
{
TypeId = dataTypes.ReadNextVarInt(data);
ResourceLocation = dataTypes.ReadNextString(data);
Value = dataTypes.ReadNextDouble(data);
Operation = dataTypes.ReadNextVarInt(data);
Slot = dataTypes.ReadNextVarInt(data);
TypeId = DataTypes.ReadNextVarInt(data);
ResourceLocation = DataTypes.ReadNextString(data);
Value = DataTypes.ReadNextDouble(data);
Operation = DataTypes.ReadNextVarInt(data);
Slot = DataTypes.ReadNextVarInt(data);
}
public override Queue<byte> Serialize()

View file

@ -13,15 +13,15 @@ public class SoundEventSubComponent(DataTypes dataTypes, SubComponentRegistry su
protected override void Parse(Queue<byte> data)
{
Type = dataTypes.ReadNextVarInt(data);
Type = DataTypes.ReadNextVarInt(data);
if (Type != 0) return;
SoundName = dataTypes.ReadNextString(data);
HasFixedRange = dataTypes.ReadNextBool(data);
SoundName = DataTypes.ReadNextString(data);
HasFixedRange = DataTypes.ReadNextBool(data);
if (HasFixedRange)
FixedRange = dataTypes.ReadNextFloat(data);
FixedRange = DataTypes.ReadNextFloat(data);
}
public override Queue<byte> Serialize()