BlockType class
Пакет: com.hypixel.hytale.protocol
Файл: com/hypixel/hytale/protocol/BlockType.java
Поля (366)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
int |
NULLABLE_BIT_FIELD_SIZE |
|
int |
var1 |
|
BlockType |
var1 |
|
int |
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
long |
var10 |
|
long |
var10 |
|
String |
var10 |
|
long |
var10 |
|
int |
var10 |
|
int |
var100 |
|
String |
var102 |
|
|
var102 |
|
int |
var103 |
|
long |
var105 |
|
int |
var106 |
|
BlockGathering |
var107 |
|
|
var107 |
|
BlockFaceSupport[] |
var108 |
|
long |
var109 |
|
int |
var11 |
|
long |
var11 |
|
int |
var11 |
|
ModelDisplay |
var110 |
|
|
var110 |
|
int |
var111 |
|
RailConfig |
var112 |
|
|
var112 |
|
Map |
var113 |
|
|
var113 |
|
Map |
var116 |
|
|
var116 |
|
int |
var117 |
|
int |
var12 |
|
int |
var12 |
|
int |
var12 |
|
int[] |
var120 |
|
|
var120 |
|
int |
var121 |
|
Bench |
var123 |
|
|
var123 |
|
long |
var124 |
|
ConnectedBlockRuleSet |
var125 |
|
|
var125 |
|
int |
var126 |
|
BlockType |
var127 |
|
int |
var129 |
|
int |
var13 |
|
int |
var13 |
|
int |
var13 |
|
long |
var130 |
|
int |
var131 |
|
RequiredBlockFaceSupport[] |
var14 |
|
BlockFaceSupport[] |
var14 |
|
int |
var15 |
|
BlockNeighbor |
var18 |
|
long |
var19 |
|
long |
var2 |
|
int |
var2 |
|
ReadCursor |
var2 |
|
ReadCursor |
var2 |
|
ReadCursor |
var2 |
|
ReadCursor |
var2 |
|
int |
var2 |
|
ReadCursor |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
int |
var2 |
|
Map |
var2 |
|
long |
var20 |
|
int |
var21 |
|
int |
var22 |
|
RequiredBlockFaceSupport[] |
var23 |
|
int |
var25 |
|
int |
var26 |
|
int |
var27 |
|
long |
var28 |
|
int |
var28 |
|
long |
var29 |
|
int |
var29 |
|
long |
var3 |
|
int |
var3 |
|
|
var3 |
|
int |
var3 |
|
|
var3 |
|
int |
var3 |
|
|
var3 |
|
int |
var3 |
|
|
var3 |
|
long |
var3 |
|
int |
var3 |
|
|
var3 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
int |
var3 |
|
byte |
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
int |
var30 |
|
int |
var30 |
|
InteractionType |
var32 |
|
int |
var33 |
|
String |
var35 |
|
int |
var36 |
|
String |
var37 |
|
|
var37 |
|
int |
var38 |
|
ShaderType[] |
var39 |
|
|
var39 |
|
long |
var4 |
|
long |
var4 |
|
long |
var4 |
|
long |
var4 |
|
long |
var4 |
|
int |
var4 |
|
int |
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
int |
var4 |
|
|
var4 |
|
|
var4 |
|
int |
var40 |
|
String |
var42 |
|
|
var42 |
|
int |
var43 |
|
ModelTexture[] |
var44 |
|
|
var44 |
|
int |
var45 |
|
|
var45 |
|
String |
var47 |
|
|
var47 |
|
long |
var48 |
|
int |
var49 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
ReadCursor |
var5 |
|
Map |
var5 |
|
Map |
var50 |
|
|
var50 |
|
long |
var51 |
|
int |
var52 |
|
|
var52 |
|
Map |
var55 |
|
|
var55 |
|
int |
var56 |
|
long |
var57 |
|
int |
var58 |
|
|
var58 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
Map |
var6 |
|
Map |
var6 |
|
int |
var6 |
|
String |
var6 |
|
|
var6 |
|
BlockTextures[] |
var61 |
|
|
var61 |
|
long |
var62 |
|
int |
var63 |
|
|
var63 |
|
String |
var65 |
|
|
var65 |
|
int |
var66 |
|
long |
var67 |
|
int |
var68 |
|
ConditionalBlockSound[] |
var69 |
|
|
var69 |
|
ShaderType[] |
var7 |
|
int |
var7 |
|
Map |
var7 |
|
Map |
var7 |
|
int |
var7 |
|
ConditionalBlockSound[] |
var7 |
|
int |
var7 |
|
int[] |
var7 |
|
int[] |
var7 |
|
int |
var7 |
|
int |
var7 |
|
int |
var70 |
|
long |
var71 |
|
int |
var72 |
|
ModelParticle[] |
var74 |
|
|
var74 |
|
int |
var76 |
|
long |
var77 |
|
int |
var78 |
|
|
var78 |
|
ModelTexture[] |
var8 |
|
BlockTextures[] |
var8 |
|
ModelParticle[] |
var8 |
|
InteractionType |
var8 |
|
long |
var8 |
|
long |
var8 |
|
int |
var8 |
|
String |
var80 |
|
|
var80 |
|
BlockNeighbor |
var81 |
|
int |
var82 |
|
long |
var83 |
|
int |
var84 |
|
String |
var85 |
|
|
var85 |
|
int |
var87 |
|
long |
var88 |
|
int |
var89 |
|
BlockNeighbor |
var9 |
|
BlockNeighbor |
var9 |
|
int |
var9 |
|
long |
var9 |
|
int |
var9 |
|
String |
var90 |
|
|
var90 |
|
int |
var91 |
|
int |
var92 |
|
long |
var93 |
|
int |
var94 |
|
int[] |
var95 |
|
|
var95 |
|
int |
var96 |
|
int |
var98 |
|
long |
var99 |
Методы (378)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
BlockType |
cloneBlockType clone() |
public |
int |
computeSizeint computeSize() |
|
|
for for(int var8 = 0; var8 < var5; var8++) |
|
|
for for(int var9 = 0; var9 < var6; var9++) |
|
|
for for(int var8 = 0; var8 < var6; var8++) |
|
|
for for(int var15 = 0; var15 < var12; var15++) |
|
|
for for(int var8 = 0; var8 < var6; var8++) |
|
|
for for(int var15 = 0; var15 < var12; var15++) |
|
|
for for(int var9 = 0; var9 < var6; var9++) |
|
|
for for(int var8 = 0; var8 < var5; var8++) |
|
|
for for(int var9 = 0; var9 < var6; var9++) |
|
|
for for(int var7 = 0; var7 < var5; var7++) |
|
|
for for(int var7 = 0; var7 < var5; var7++) |
|
|
for for(int var14 = 0; var14 < var12; var14++) |
|
|
for for(int var16 = 0; var16 < var56; var16++) |
|
|
for for(int var17 = 0; var17 < var66; var17++) |
|
|
for for(int var24 = 0; var24 < var21; var24++) |
|
|
for for(int var75 = 0; var75 < var70; var75++) |
|
|
for for(int var25 = 0; var25 < var96; var25++) |
|
|
for for(int var86 = 0; var86 < var76; var86++) |
|
|
for for(int var97 = 0; var97 < var87; var97++) |
|
|
for for(int var104 = 0; var104 < var92; var104++) |
|
|
for for(int var31 = 0; var31 < var30; var31++) |
|
|
for for(int var128 = 0; var128 < var126; var128++) |
|
|
for for(int var5 = 0; var5 < this.shaderEffect.length; var5++) |
|
|
for for(int var6 = 0; var6 < this.modelTexture.length; var6++) |
|
|
for for(int var35 = 0; var35 < this.cubeTextures.length; var35++) |
|
|
for for(int var36 = 0; var36 < this.conditionalSounds.length; var36++) |
|
|
for for(int var37 = 0; var37 < this.particles.length; var37++) |
|
|
for for(ModelTexture var6 : this.modelTexture) |
|
|
for for(BlockTextures var24 : this.cubeTextures) |
|
|
for for(ModelParticle var25 : this.particles) |
static |
int |
getAmbientSoundEventIndexint getAmbientSoundEventIndex(MemorySegment var0) |
static |
int |
getAmbientSoundEventIndexint getAmbientSoundEventIndex(MemorySegment var0, int var1) |
abstract |
return |
getAmbientSoundEventIndexreturn getAmbientSoundEventIndex(var0, 0) |
abstract |
return |
getBenchreturn getBench(var0, 0) |
abstract |
return |
getBiomeTintreturn getBiomeTint(var0, 0) |
abstract |
return |
getBlockBreakingDecalIdreturn getBlockBreakingDecalId(var0, 0) |
abstract |
return |
getBlockParticleSetIdreturn getBlockParticleSetId(var0, 0) |
static |
int |
getBlockSoundSetIndexint getBlockSoundSetIndex(MemorySegment var0) |
static |
int |
getBlockSoundSetIndexint getBlockSoundSetIndex(MemorySegment var0, int var1) |
abstract |
return |
getBlockSoundSetIndexreturn getBlockSoundSetIndex(var0, 0) |
static |
BlockSupportsRequiredForType |
getBlockSupportsRequiredForBlockSupportsRequiredForType getBlockSupportsRequiredFor(MemorySegment var0) |
static |
BlockSupportsRequiredForType |
getBlockSupportsRequiredForBlockSupportsRequiredForType getBlockSupportsRequiredFor(MemorySegment var0, int var1) |
abstract |
return |
getBlockSupportsRequiredForreturn getBlockSupportsRequiredFor(var0, 0) |
abstract |
return |
getConditionalSoundsreturn getConditionalSounds(var0, 0) |
abstract |
return |
getConnectedBlockRuleSetreturn getConnectedBlockRuleSet(var0, 0) |
static |
ShadingMode |
getCubeShadingModeShadingMode getCubeShadingMode(MemorySegment var0) |
static |
ShadingMode |
getCubeShadingModeShadingMode getCubeShadingMode(MemorySegment var0, int var1) |
abstract |
return |
getCubeShadingModereturn getCubeShadingMode(var0, 0) |
abstract |
return |
getCubeSideMaskTexturereturn getCubeSideMaskTexture(var0, 0) |
abstract |
return |
getCubeTexturesreturn getCubeTextures(var0, 0) |
abstract |
return |
getDisplayreturn getDisplay(var0, 0) |
static |
DrawType |
getDrawTypeDrawType getDrawType(MemorySegment var0) |
static |
DrawType |
getDrawTypeDrawType getDrawType(MemorySegment var0, int var1) |
abstract |
return |
getDrawTypereturn getDrawType(var0, 0) |
abstract |
return |
getGatheringreturn getGathering(var0, 0) |
static |
int |
getGroupint getGroup(MemorySegment var0) |
static |
int |
getGroupint getGroup(MemorySegment var0, int var1) |
abstract |
return |
getGroupreturn getGroup(var0, 0) |
static |
int |
getHitboxint getHitbox(MemorySegment var0) |
static |
int |
getHitboxint getHitbox(MemorySegment var0, int var1) |
abstract |
return |
getHitboxreturn getHitbox(var0, 0) |
static |
boolean |
getIgnoreSupportWhenPlacedboolean getIgnoreSupportWhenPlaced(MemorySegment var0) |
static |
boolean |
getIgnoreSupportWhenPlacedboolean getIgnoreSupportWhenPlaced(MemorySegment var0, int var1) |
abstract |
return |
getIgnoreSupportWhenPlacedreturn getIgnoreSupportWhenPlaced(var0, 0) |
abstract |
return |
getInteractionHintreturn getInteractionHint(var0, 0) |
static |
int |
getInteractionHitboxint getInteractionHitbox(MemorySegment var0) |
static |
int |
getInteractionHitboxint getInteractionHitbox(MemorySegment var0, int var1) |
abstract |
return |
getInteractionHitboxreturn getInteractionHitbox(var0, 0) |
abstract |
return |
getInteractionsreturn getInteractions(var0, 0) |
abstract |
return |
getItemreturn getItem(var0, 0) |
abstract |
return |
getLightreturn getLight(var0, 0) |
static |
boolean |
getLoopingboolean getLooping(MemorySegment var0) |
static |
boolean |
getLoopingboolean getLooping(MemorySegment var0, int var1) |
abstract |
return |
getLoopingreturn getLooping(var0, 0) |
static |
BlockMaterial |
getMaterialBlockMaterial getMaterial(MemorySegment var0) |
static |
BlockMaterial |
getMaterialBlockMaterial getMaterial(MemorySegment var0, int var1) |
abstract |
return |
getMaterialreturn getMaterial(var0, 0) |
static |
int |
getMaxSupportDistanceint getMaxSupportDistance(MemorySegment var0) |
static |
int |
getMaxSupportDistanceint getMaxSupportDistance(MemorySegment var0, int var1) |
abstract |
return |
getMaxSupportDistancereturn getMaxSupportDistance(var0, 0) |
abstract |
return |
getModelreturn getModel(var0, 0) |
abstract |
return |
getModelAnimationreturn getModelAnimation(var0, 0) |
static |
float |
getModelAnimationSpeedfloat getModelAnimationSpeed(MemorySegment var0) |
static |
float |
getModelAnimationSpeedfloat getModelAnimationSpeed(MemorySegment var0, int var1) |
abstract |
return |
getModelAnimationSpeedreturn getModelAnimationSpeed(var0, 0) |
static |
float |
getModelScalefloat getModelScale(MemorySegment var0) |
static |
float |
getModelScalefloat getModelScale(MemorySegment var0, int var1) |
abstract |
return |
getModelScalereturn getModelScale(var0, 0) |
abstract |
return |
getModelTexturereturn getModelTexture(var0, 0) |
static |
BlockMovementSettings |
getMovementSettingsBlockMovementSettings getMovementSettings(MemorySegment var0) |
static |
BlockMovementSettings |
getMovementSettingsBlockMovementSettings getMovementSettings(MemorySegment var0, int var1) |
abstract |
return |
getMovementSettingsreturn getMovementSettings(var0, 0) |
abstract |
return |
getNamereturn getName(var0, 0) |
static |
Opacity |
getOpacityOpacity getOpacity(MemorySegment var0) |
static |
Opacity |
getOpacityOpacity getOpacity(MemorySegment var0, int var1) |
abstract |
return |
getOpacityreturn getOpacity(var0, 0) |
abstract |
return |
getParticleColorreturn getParticleColor(var0, 0) |
abstract |
return |
getParticlesreturn getParticles(var0, 0) |
static |
int |
getPhysicalMaterialIndexint getPhysicalMaterialIndex(MemorySegment var0) |
static |
int |
getPhysicalMaterialIndexint getPhysicalMaterialIndex(MemorySegment var0, int var1) |
abstract |
return |
getPhysicalMaterialIndexreturn getPhysicalMaterialIndex(var0, 0) |
abstract |
return |
getPlacementSettingsreturn getPlacementSettings(var0, 0) |
abstract |
return |
getRailreturn getRail(var0, 0) |
static |
RandomRotation |
getRandomRotationRandomRotation getRandomRotation(MemorySegment var0) |
static |
RandomRotation |
getRandomRotationRandomRotation getRandomRotation(MemorySegment var0, int var1) |
abstract |
return |
getRandomRotationreturn getRandomRotation(var0, 0) |
static |
boolean |
getRequiresAlphaBlendingboolean getRequiresAlphaBlending(MemorySegment var0) |
static |
boolean |
getRequiresAlphaBlendingboolean getRequiresAlphaBlending(MemorySegment var0, int var1) |
abstract |
return |
getRequiresAlphaBlendingreturn getRequiresAlphaBlending(var0, 0) |
static |
Rotation |
getRotationYawPlacementOffsetRotation getRotationYawPlacementOffset(MemorySegment var0) |
static |
Rotation |
getRotationYawPlacementOffsetRotation getRotationYawPlacementOffset(MemorySegment var0, int var1) |
abstract |
return |
getRotationYawPlacementOffsetreturn getRotationYawPlacementOffset(var0, 0) |
abstract |
return |
getShaderEffectreturn getShaderEffect(var0, 0) |
static |
float |
getSoundOcclusionOpacityfloat getSoundOcclusionOpacity(MemorySegment var0) |
static |
float |
getSoundOcclusionOpacityfloat getSoundOcclusionOpacity(MemorySegment var0, int var1) |
abstract |
return |
getSoundOcclusionOpacityreturn getSoundOcclusionOpacity(var0, 0) |
abstract |
return |
getStatesreturn getStates(var0, 0) |
abstract |
return |
getSupportreturn getSupport(var0, 0) |
abstract |
return |
getSupportingreturn getSupporting(var0, 0) |
abstract |
return |
getTagIndexesreturn getTagIndexes(var0, 0) |
abstract |
return |
getTextureComputedColorreturn getTextureComputedColor(var0, 0) |
abstract |
return |
getTintreturn getTint(var0, 0) |
abstract |
return |
getTransitionTexturereturn getTransitionTexture(var0, 0) |
abstract |
return |
getTransitionToGroupsreturn getTransitionToGroups(var0, 0) |
static |
int |
getTransitionToTagint getTransitionToTag(MemorySegment var0) |
static |
int |
getTransitionToTagint getTransitionToTag(MemorySegment var0, int var1) |
abstract |
return |
getTransitionToTagreturn getTransitionToTag(var0, 0) |
static |
boolean |
getUnknownboolean getUnknown(MemorySegment var0) |
static |
boolean |
getUnknownboolean getUnknown(MemorySegment var0, int var1) |
abstract |
return |
getUnknownreturn getUnknown(var0, 0) |
static |
int |
getValidatedOffsetint getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4) |
static |
VariantRotation |
getVariantRotationVariantRotation getVariantRotation(MemorySegment var0) |
static |
VariantRotation |
getVariantRotationVariantRotation getVariantRotation(MemorySegment var0, int var1) |
abstract |
return |
getVariantRotationreturn getVariantRotation(var0, 0) |
static |
boolean |
hasBenchboolean hasBench(MemorySegment var0, int var1) |
static |
boolean |
hasBiomeTintboolean hasBiomeTint(MemorySegment var0, int var1) |
static |
boolean |
hasBlockBreakingDecalIdboolean hasBlockBreakingDecalId(MemorySegment var0, int var1) |
static |
boolean |
hasBlockParticleSetIdboolean hasBlockParticleSetId(MemorySegment var0, int var1) |
static |
boolean |
hasConditionalSoundsboolean hasConditionalSounds(MemorySegment var0, int var1) |
static |
boolean |
hasConnectedBlockRuleSetboolean hasConnectedBlockRuleSet(MemorySegment var0, int var1) |
static |
boolean |
hasCubeSideMaskTextureboolean hasCubeSideMaskTexture(MemorySegment var0, int var1) |
static |
boolean |
hasCubeTexturesboolean hasCubeTextures(MemorySegment var0, int var1) |
static |
boolean |
hasDisplayboolean hasDisplay(MemorySegment var0, int var1) |
static |
boolean |
hasGatheringboolean hasGathering(MemorySegment var0, int var1) |
static |
boolean |
hasInteractionHintboolean hasInteractionHint(MemorySegment var0, int var1) |
static |
boolean |
hasInteractionsboolean hasInteractions(MemorySegment var0, int var1) |
static |
boolean |
hasItemboolean hasItem(MemorySegment var0, int var1) |
static |
boolean |
hasLightboolean hasLight(MemorySegment var0, int var1) |
static |
boolean |
hasModelboolean hasModel(MemorySegment var0, int var1) |
static |
boolean |
hasModelAnimationboolean hasModelAnimation(MemorySegment var0, int var1) |
static |
boolean |
hasModelTextureboolean hasModelTexture(MemorySegment var0, int var1) |
static |
boolean |
hasNameboolean hasName(MemorySegment var0, int var1) |
static |
boolean |
hasParticleColorboolean hasParticleColor(MemorySegment var0, int var1) |
static |
boolean |
hasParticlesboolean hasParticles(MemorySegment var0, int var1) |
static |
boolean |
hasPlacementSettingsboolean hasPlacementSettings(MemorySegment var0, int var1) |
static |
boolean |
hasRailboolean hasRail(MemorySegment var0, int var1) |
static |
boolean |
hasShaderEffectboolean hasShaderEffect(MemorySegment var0, int var1) |
static |
boolean |
hasStatesboolean hasStates(MemorySegment var0, int var1) |
static |
boolean |
hasSupportboolean hasSupport(MemorySegment var0, int var1) |
static |
boolean |
hasSupportingboolean hasSupporting(MemorySegment var0, int var1) |
static |
boolean |
hasTagIndexesboolean hasTagIndexes(MemorySegment var0, int var1) |
static |
boolean |
hasTextureComputedColorboolean hasTextureComputedColor(MemorySegment var0, int var1) |
static |
boolean |
hasTintboolean hasTint(MemorySegment var0, int var1) |
static |
boolean |
hasTransitionTextureboolean hasTransitionTexture(MemorySegment var0, int var1) |
static |
boolean |
hasTransitionToGroupsboolean hasTransitionToGroups(MemorySegment var0, int var1) |
|
|
if if(var1 < 0) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var4 == -1L) |
|
|
if if(var6 > 4096000) |
|
|
if if(var4 == -1L) |
|
|
if if(var6 > 4096000) |
|
|
if if(var10 == -1L) |
|
|
if if(var12 > 4096000) |
|
|
if if(var4 == -1L) |
|
|
if if(var6 > 4096000) |
|
|
if if(var10 == -1L) |
|
|
if if(var12 > 4096000) |
|
|
if if(var4 == -1L) |
|
|
if if(var6 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var4 == -1L) |
|
|
if if(var6 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var4 != var2) |
|
|
if if(var10 == -1L) |
|
|
if if(var12 > 4096000) |
|
|
if if(var48 == -1L) |
|
|
if if(var56 > 4096000) |
|
|
if if(var57 == -1L) |
|
|
if if(var66 > 4096000) |
|
|
if if(var19 == -1L) |
|
|
if if(var21 > 4096000) |
|
|
if if(var62 == -1L) |
|
|
if if(var70 > 4096000) |
|
|
if if(var20 == -1L) |
|
|
if if(var96 > 4096000) |
|
|
if if(var67 == -1L) |
|
|
if if(var76 > 4096000) |
|
|
if if(var77 == -1L) |
|
|
if if(var87 > 4096000) |
|
|
if if(var83 == -1L) |
|
|
if if(var92 > 4096000) |
|
|
if if(var105 == -1L) |
|
|
if if(var111 > 4096000) |
|
|
if if(var28 == -1L) |
|
|
if if(var30 > 4096000) |
|
|
if if(var29 == -1L) |
|
|
if if(var126 > 4096000) |
|
|
if if(var124 == -1L) |
|
|
if if(var129 > 4096000) |
|
|
if if(var2 != null) |
|
|
if if(this.particleColor != null) |
|
|
if if(this.textureComputedColor != null) |
|
|
if if(this.light != null) |
|
|
if if(this.tint != null) |
|
|
if if(this.biomeTint != null) |
|
|
if if(this.placementSettings != null) |
|
|
if if(this.item != null) |
|
|
if if(this.name != null) |
|
|
if if(this.shaderEffect != null) |
|
|
if if(this.model != null) |
|
|
if if(this.modelTexture != null) |
|
|
if if(this.modelAnimation != null) |
|
|
if if(this.support != null) |
|
|
if if(this.supporting != null) |
|
|
if if(this.cubeTextures != null) |
|
|
if if(this.cubeSideMaskTexture != null) |
|
|
if if(this.conditionalSounds != null) |
|
|
if if(this.particles != null) |
|
|
if if(this.blockParticleSetId != null) |
|
|
if if(this.blockBreakingDecalId != null) |
|
|
if if(this.transitionTexture != null) |
|
|
if if(this.transitionToGroups != null) |
|
|
if if(this.interactionHint != null) |
|
|
if if(this.gathering != null) |
|
|
if if(this.display != null) |
|
|
if if(this.rail != null) |
|
|
if if(this.interactions != null) |
|
|
if if(this.states != null) |
|
|
if if(this.tagIndexes != null) |
|
|
if if(this.bench != null) |
|
|
if if(this.connectedBlockRuleSet != null) |
|
|
if if(this.particleColor != null) |
|
|
if if(this.textureComputedColor != null) |
|
|
if if(this.light != null) |
|
|
if if(this.tint != null) |
|
|
if if(this.biomeTint != null) |
|
|
if if(this.placementSettings != null) |
|
|
if if(this.item != null) |
|
|
if if(this.name != null) |
|
|
if if(this.shaderEffect != null) |
|
|
if if(this.shaderEffect.length > 4096000) |
|
|
if if(this.model != null) |
|
|
if if(this.modelTexture != null) |
|
|
if if(this.modelTexture.length > 4096000) |
|
|
if if(this.modelAnimation != null) |
|
|
if if(this.support != null) |
|
|
if if(this.supporting != null) |
|
|
if if(this.cubeTextures != null) |
|
|
if if(this.cubeTextures.length > 4096000) |
|
|
if if(this.cubeSideMaskTexture != null) |
|
|
if if(this.conditionalSounds != null) |
|
|
if if(this.conditionalSounds.length > 4096000) |
|
|
if if(this.particles != null) |
|
|
if if(this.particles.length > 4096000) |
|
|
if if(this.blockParticleSetId != null) |
|
|
if if(this.blockBreakingDecalId != null) |
|
|
if if(this.transitionTexture != null) |
|
|
if if(this.transitionToGroups != null) |
|
|
if if(this.transitionToGroups.length > 4096000) |
|
|
if if(this.interactionHint != null) |
|
|
if if(this.gathering != null) |
|
|
if if(this.display != null) |
|
|
if if(this.rail != null) |
|
|
if if(this.interactions != null) |
|
|
if if(this.states != null) |
|
|
if if(this.tagIndexes != null) |
|
|
if if(this.tagIndexes.length > 4096000) |
|
|
if if(this.bench != null) |
|
|
if if(this.connectedBlockRuleSet != null) |
|
|
if if(this.item != null) |
|
|
if if(this.name != null) |
|
|
if if(this.shaderEffect != null) |
|
|
if if(this.model != null) |
|
|
if if(this.modelTexture != null) |
|
|
if if(this.modelAnimation != null) |
|
|
if if(this.support != null) |
|
|
if if(this.supporting != null) |
|
|
if if(this.cubeTextures != null) |
|
|
if if(this.cubeSideMaskTexture != null) |
|
|
if if(this.conditionalSounds != null) |
|
|
if if(this.particles != null) |
|
|
if if(this.blockParticleSetId != null) |
|
|
if if(this.blockBreakingDecalId != null) |
|
|
if if(this.transitionTexture != null) |
|
|
if if(this.transitionToGroups != null) |
|
|
if if(this.interactionHint != null) |
|
|
if if(this.gathering != null) |
|
|
if if(this.display != null) |
|
|
if if(this.rail != null) |
|
|
if if(this.interactions != null) |
|
|
if if(this.states != null) |
|
|
if if(this.tagIndexes != null) |
|
|
if if(this.bench != null) |
|
|
if if(this.connectedBlockRuleSet != null) |
|
|
if if(this.support != null) |
|
|
if if(this.supporting != null) |
|
|
if if(this == var1) |
static |
void |
requireBoundsvoid requireBounds(MemorySegment var0, int var1) |
abstract |
|
requireBounds requireBounds(var0, var1) |
static |
void |
requireSlotvoid requireSlot(MemorySegment var0, int var1, int var2, String var3) |
abstract |
|
requireSlot requireSlot(var0, var1 + 177, var4, "Item") |
abstract |
|
requireSlot requireSlot(var0, var1 + 177, -1, "Item") |
abstract |
|
requireSlot requireSlot(var0, var1 + 181, var4, "Name") |
abstract |
|
requireSlot requireSlot(var0, var1 + 181, -1, "Name") |
abstract |
|
requireSlot requireSlot(var0, var1 + 185, var4, "ShaderEffect") |
abstract |
|
requireSlot requireSlot(var0, var1 + 185, -1, "ShaderEffect") |
abstract |
|
requireSlot requireSlot(var0, var1 + 189, var4, "Model") |
abstract |
|
requireSlot requireSlot(var0, var1 + 189, -1, "Model") |
abstract |
|
requireSlot requireSlot(var0, var1 + 193, var4, "ModelTexture") |
abstract |
|
requireSlot requireSlot(var0, var1 + 193, -1, "ModelTexture") |
abstract |
|
requireSlot requireSlot(var0, var1 + 197, var4, "ModelAnimation") |
abstract |
|
requireSlot requireSlot(var0, var1 + 197, -1, "ModelAnimation") |
abstract |
|
requireSlot requireSlot(var0, var1 + 201, var4, "Support") |
abstract |
|
requireSlot requireSlot(var0, var1 + 201, -1, "Support") |
abstract |
|
requireSlot requireSlot(var0, var1 + 205, var4, "Supporting") |
abstract |
|
requireSlot requireSlot(var0, var1 + 205, -1, "Supporting") |
abstract |
|
requireSlot requireSlot(var0, var1 + 209, var4, "CubeTextures") |
abstract |
|
requireSlot requireSlot(var0, var1 + 209, -1, "CubeTextures") |
abstract |
|
requireSlot requireSlot(var0, var1 + 213, var4, "CubeSideMaskTexture") |
abstract |
|
requireSlot requireSlot(var0, var1 + 213, -1, "CubeSideMaskTexture") |
abstract |
|
requireSlot requireSlot(var0, var1 + 217, var4, "ConditionalSounds") |
abstract |
|
requireSlot requireSlot(var0, var1 + 217, -1, "ConditionalSounds") |
abstract |
|
requireSlot requireSlot(var0, var1 + 221, var4, "Particles") |
abstract |
|
requireSlot requireSlot(var0, var1 + 221, -1, "Particles") |
abstract |
|
requireSlot requireSlot(var0, var1 + 225, var4, "BlockParticleSetId") |
abstract |
|
requireSlot requireSlot(var0, var1 + 225, -1, "BlockParticleSetId") |
abstract |
|
requireSlot requireSlot(var0, var1 + 229, var4, "BlockBreakingDecalId") |
abstract |
|
requireSlot requireSlot(var0, var1 + 229, -1, "BlockBreakingDecalId") |
abstract |
|
requireSlot requireSlot(var0, var1 + 233, var4, "TransitionTexture") |
abstract |
|
requireSlot requireSlot(var0, var1 + 233, -1, "TransitionTexture") |
abstract |
|
requireSlot requireSlot(var0, var1 + 237, var4, "TransitionToGroups") |
abstract |
|
requireSlot requireSlot(var0, var1 + 237, -1, "TransitionToGroups") |
abstract |
|
requireSlot requireSlot(var0, var1 + 241, var4, "InteractionHint") |
abstract |
|
requireSlot requireSlot(var0, var1 + 241, -1, "InteractionHint") |
abstract |
|
requireSlot requireSlot(var0, var1 + 245, var4, "Gathering") |
abstract |
|
requireSlot requireSlot(var0, var1 + 245, -1, "Gathering") |
abstract |
|
requireSlot requireSlot(var0, var1 + 249, var4, "Display") |
abstract |
|
requireSlot requireSlot(var0, var1 + 249, -1, "Display") |
abstract |
|
requireSlot requireSlot(var0, var1 + 253, var4, "Rail") |
abstract |
|
requireSlot requireSlot(var0, var1 + 253, -1, "Rail") |
abstract |
|
requireSlot requireSlot(var0, var1 + 257, var4, "Interactions") |
abstract |
|
requireSlot requireSlot(var0, var1 + 257, -1, "Interactions") |
abstract |
|
requireSlot requireSlot(var0, var1 + 261, var4, "States") |
abstract |
|
requireSlot requireSlot(var0, var1 + 261, -1, "States") |
abstract |
|
requireSlot requireSlot(var0, var1 + 265, var4, "TagIndexes") |
abstract |
|
requireSlot requireSlot(var0, var1 + 265, -1, "TagIndexes") |
abstract |
|
requireSlot requireSlot(var0, var1 + 269, var4, "Bench") |
abstract |
|
requireSlot requireSlot(var0, var1 + 269, -1, "Bench") |
abstract |
|
requireSlot requireSlot(var0, var1 + 273, var4, "ConnectedBlockRuleSet") |
abstract |
|
requireSlot requireSlot(var0, var1 + 273, -1, "ConnectedBlockRuleSet") |
public |
int |
serializeint serialize(@Nonnull MemorySegment var1, int var2) |
static |
BlockType |
toObjectBlockType toObject(MemorySegment var0) |
static |
BlockType |
toObjectBlockType toObject(MemorySegment var0, int var1) |
static |
BlockType |
toObjectBlockType toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) |
abstract |
return |
toObjectreturn toObject(var0, 0, null) |
abstract |
return |
toObjectreturn toObject(var0, var1, null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.protocol;
class="kw">import com.hypixel.hytale.protocol.io.PacketIO;
class="kw">import com.hypixel.hytale.protocol.io.ProtocolException;
class="kw">import com.hypixel.hytale.protocol.io.ReadCursor;
class="kw">import com.hypixel.hytale.protocol.io.VarInt;
class="kw">import java.lang.foreign.MemorySegment;
class="kw">import java.util.Arrays;
class="kw">import java.util.HashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Objects;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class BlockType {
class="kw">public class="kw">static class="kw">final int NULLABLE_BIT_FIELD_SIZE = 4;
class="kw">public class="kw">static class="kw">final int FIXED_BLOCK_SIZE = 177;
class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 25;
class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 277;
class="kw">public class="kw">static class="kw">final int MAX_SIZE = 1677721600;
@Nullable
class="kw">public String item;
@Nullable
class="kw">public String name;
class="kw">public boolean unknown;
@Nonnull
class="kw">public DrawType drawType = DrawType.Empty;
@Nonnull
class="kw">public BlockMaterial material = BlockMaterial.Empty;
@Nonnull
class="kw">public Opacity opacity = Opacity.Solid;
@Nullable
class="kw">public ShaderType[] shaderEffect;
class="kw">public int hitbox;
class="kw">public int interactionHitbox;
@Nullable
class="kw">public String model;
@Nullable
class="kw">public ModelTexture[] modelTexture;
class="kw">public float modelScale;
@Nullable
class="kw">public String modelAnimation;
class="kw">public float modelAnimationSpeed = 1.0F;
class="kw">public boolean looping;
class="kw">public int maxSupportDistance;
@Nonnull
class="kw">public BlockSupportsRequiredForType blockSupportsRequiredFor = BlockSupportsRequiredForType.Any;
@Nullable
class="kw">public Map<BlockNeighbor, RequiredBlockFaceSupport[]> support;
@Nullable
class="kw">public Map<BlockNeighbor, BlockFaceSupport[]> supporting;
class="kw">public boolean requiresAlphaBlending;
@Nullable
class="kw">public BlockTextures[] cubeTextures;
@Nullable
class="kw">public String cubeSideMaskTexture;
@Nonnull
class="kw">public ShadingMode cubeShadingMode = ShadingMode.Standard;
@Nonnull
class="kw">public RandomRotation randomRotation = RandomRotation.None;
@Nonnull
class="kw">public VariantRotation variantRotation = VariantRotation.None;
@Nonnull
class="kw">public Rotation rotationYawPlacementOffset = Rotation.None;
class="kw">public int blockSoundSetIndex;
class="kw">public int physicalMaterialIndex;
class="kw">public float soundOcclusionOpacity;
class="kw">public int ambientSoundEventIndex;
@Nullable
class="kw">public ConditionalBlockSound[] conditionalSounds;
@Nullable
class="kw">public ModelParticle[] particles;
@Nullable
class="kw">public String blockParticleSetId;
@Nullable
class="kw">public String blockBreakingDecalId;
@Nullable
class="kw">public Color particleColor;
@Nullable
class="kw">public Color textureComputedColor;
@Nullable
class="kw">public ColorLight light;
@Nullable
class="kw">public Tint tint;
@Nullable
class="kw">public Tint biomeTint;
class="kw">public int group;
@Nullable
class="kw">public String transitionTexture;
@Nullable
class="kw">public int[] transitionToGroups;
@Nonnull
class="kw">public BlockMovementSettings movementSettings = new BlockMovementSettings();
@Nullable
class="kw">public String interactionHint;
@Nullable
class="kw">public BlockGathering gathering;
@Nullable
class="kw">public BlockPlacementSettings placementSettings;
@Nullable
class="kw">public ModelDisplay display;
@Nullable
class="kw">public RailConfig rail;
class="kw">public boolean ignoreSupportWhenPlaced;
@Nullable
class="kw">public Map<InteractionType, Integer> interactions;
@Nullable
class="kw">public Map<String, Integer> states;
class="kw">public int transitionToTag;
@Nullable
class="kw">public int[] tagIndexes;
@Nullable
class="kw">public Bench bench;
@Nullable
class="kw">public ConnectedBlockRuleSet connectedBlockRuleSet;
class="kw">public BlockType() {
}
class="kw">public BlockType(
@Nullable String var1,
@Nullable String var2,
boolean var3,
@Nonnull DrawType var4,
@Nonnull BlockMaterial var5,
@Nonnull Opacity var6,
@Nullable ShaderType[] var7,
int var8,
int var9,
@Nullable String var10,
@Nullable ModelTexture[] var11,
float var12,
@Nullable String var13,
float var14,
boolean var15,
int var16,
@Nonnull BlockSupportsRequiredForType var17,
@Nullable Map<BlockNeighbor, RequiredBlockFaceSupport[]> var18,
@Nullable Map<BlockNeighbor, BlockFaceSupport[]> var19,
boolean var20,
@Nullable BlockTextures[] var21,
@Nullable String var22,
@Nonnull ShadingMode var23,
@Nonnull RandomRotation var24,
@Nonnull VariantRotation var25,
@Nonnull Rotation var26,
int var27,
int var28,
float var29,
int var30,
@Nullable ConditionalBlockSound[] var31,
@Nullable ModelParticle[] var32,
@Nullable String var33,
@Nullable String var34,
@Nullable Color var35,
@Nullable Color var36,
@Nullable ColorLight var37,
@Nullable Tint var38,
@Nullable Tint var39,
int var40,
@Nullable String var41,
@Nullable int[] var42,
@Nonnull BlockMovementSettings var43,
@Nullable String var44,
@Nullable BlockGathering var45,
@Nullable BlockPlacementSettings var46,
@Nullable ModelDisplay var47,
@Nullable RailConfig var48,
boolean var49,
@Nullable Map<InteractionType, Integer> var50,
@Nullable Map<String, Integer> var51,
int var52,
@Nullable int[] var53,
@Nullable Bench var54,
@Nullable ConnectedBlockRuleSet var55
) {
this.item = var1;
this.name = var2;
this.unknown = var3;
this.drawType = var4;
this.material = var5;
this.opacity = var6;
this.shaderEffect = var7;
this.hitbox = var8;
this.interactionHitbox = var9;
this.model = var10;
this.modelTexture = var11;
this.modelScale = var12;
this.modelAnimation = var13;
this.modelAnimationSpeed = var14;
this.looping = var15;
this.maxSupportDistance = var16;
this.blockSupportsRequiredFor = var17;
this.support = var18;
this.supporting = var19;
this.requiresAlphaBlending = var20;
this.cubeTextures = var21;
this.cubeSideMaskTexture = var22;
this.cubeShadingMode = var23;
this.randomRotation = var24;
this.variantRotation = var25;
this.rotationYawPlacementOffset = var26;
this.blockSoundSetIndex = var27;
this.physicalMaterialIndex = var28;
this.soundOcclusionOpacity = var29;
this.ambientSoundEventIndex = var30;
this.conditionalSounds = var31;
this.particles = var32;
this.blockParticleSetId = var33;
this.blockBreakingDecalId = var34;
this.particleColor = var35;
this.textureComputedColor = var36;
this.light = var37;
this.tint = var38;
this.biomeTint = var39;
this.group = var40;
this.transitionTexture = var41;
this.transitionToGroups = var42;
this.movementSettings = var43;
this.interactionHint = var44;
this.gathering = var45;
this.placementSettings = var46;
this.display = var47;
this.rail = var48;
this.ignoreSupportWhenPlaced = var49;
this.interactions = var50;
this.states = var51;
this.transitionToTag = var52;
this.tagIndexes = var53;
this.bench = var54;
this.connectedBlockRuleSet = var55;
}
class="kw">public BlockType(@Nonnull BlockType var1) {
this.item = var1.item;
this.name = var1.name;
this.unknown = var1.unknown;
this.drawType = var1.drawType;
this.material = var1.material;
this.opacity = var1.opacity;
this.shaderEffect = var1.shaderEffect;
this.hitbox = var1.hitbox;
this.interactionHitbox = var1.interactionHitbox;
this.model = var1.model;
this.modelTexture = var1.modelTexture;
this.modelScale = var1.modelScale;
this.modelAnimation = var1.modelAnimation;
this.modelAnimationSpeed = var1.modelAnimationSpeed;
this.looping = var1.looping;
this.maxSupportDistance = var1.maxSupportDistance;
this.blockSupportsRequiredFor = var1.blockSupportsRequiredFor;
this.support = var1.support;
this.supporting = var1.supporting;
this.requiresAlphaBlending = var1.requiresAlphaBlending;
this.cubeTextures = var1.cubeTextures;
this.cubeSideMaskTexture = var1.cubeSideMaskTexture;
this.cubeShadingMode = var1.cubeShadingMode;
this.randomRotation = var1.randomRotation;
this.variantRotation = var1.variantRotation;
this.rotationYawPlacementOffset = var1.rotationYawPlacementOffset;
this.blockSoundSetIndex = var1.blockSoundSetIndex;
this.physicalMaterialIndex = var1.physicalMaterialIndex;
this.soundOcclusionOpacity = var1.soundOcclusionOpacity;
this.ambientSoundEventIndex = var1.ambientSoundEventIndex;
this.conditionalSounds = var1.conditionalSounds;
this.particles = var1.particles;
this.blockParticleSetId = var1.blockParticleSetId;
this.blockBreakingDecalId = var1.blockBreakingDecalId;
this.particleColor = var1.particleColor;
this.textureComputedColor = var1.textureComputedColor;
this.light = var1.light;
this.tint = var1.tint;
this.biomeTint = var1.biomeTint;
this.group = var1.group;
this.transitionTexture = var1.transitionTexture;
this.transitionToGroups = var1.transitionToGroups;
this.movementSettings = var1.movementSettings;
this.interactionHint = var1.interactionHint;
this.gathering = var1.gathering;
this.placementSettings = var1.placementSettings;
this.display = var1.display;
this.rail = var1.rail;
this.ignoreSupportWhenPlaced = var1.ignoreSupportWhenPlaced;
this.interactions = var1.interactions;
this.states = var1.states;
this.transitionToTag = var1.transitionToTag;
this.tagIndexes = var1.tagIndexes;
this.bench = var1.bench;
this.connectedBlockRuleSet = var1.connectedBlockRuleSet;
}
class="kw">public class="kw">static void requireBounds(MemorySegment var0, int var1) {
if (var1 < 0) {
throw ProtocolException.invalidOffset("BlockType", var1, (int)var0.byteSize());
}
long var2 = var1 + 277L;
if (var2 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("BlockType", (int)Math.min(var2, 2147483647L), (int)var0.byteSize());
}
}
@Nullable
class="kw">public class="kw">static String getItem(MemorySegment var0) {
class="kw">return getItem(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getItem(MemorySegment var0, int var1) {
class="kw">return hasItem(var0, var1) ? PacketIO.readVarString("Item", var0, var1 + getValidatedOffset(var0, var1, 177, 277, "Item"), 4096000) : null;
}
@Nullable
class="kw">public class="kw">static String getName(MemorySegment var0) {
class="kw">return getName(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getName(MemorySegment var0, int var1) {
class="kw">return hasName(var0, var1) ? PacketIO.readVarString("Name", var0, var1 + getValidatedOffset(var0, var1, 181, 277, "Name"), 4096000) : null;
}
class="kw">public class="kw">static boolean getUnknown(MemorySegment var0) {
class="kw">return getUnknown(var0, 0);
}
class="kw">public class="kw">static boolean getUnknown(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 4);
}
class="kw">public class="kw">static DrawType getDrawType(MemorySegment var0) {
class="kw">return getDrawType(var0, 0);
}
class="kw">public class="kw">static DrawType getDrawType(MemorySegment var0, int var1) {
class="kw">return DrawType.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 5));
}
class="kw">public class="kw">static BlockMaterial getMaterial(MemorySegment var0) {
class="kw">return getMaterial(var0, 0);
}
class="kw">public class="kw">static BlockMaterial getMaterial(MemorySegment var0, int var1) {
class="kw">return BlockMaterial.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 6));
}
class="kw">public class="kw">static Opacity getOpacity(MemorySegment var0) {
class="kw">return getOpacity(var0, 0);
}
class="kw">public class="kw">static Opacity getOpacity(MemorySegment var0, int var1) {
class="kw">return Opacity.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 7));
}
@Nullable
class="kw">public class="kw">static ShaderType[] getShaderEffect(MemorySegment var0) {
class="kw">return getShaderEffect(var0, 0);
}
@Nullable
class="kw">public class="kw">static ShaderType[] getShaderEffect(MemorySegment var0, int var1) {
if (!hasShaderEffect(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 185, 277, "ShaderEffect");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("ShaderEffect");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("ShaderEffect", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ShaderEffect", Math.min(var2 + var6 + var5, Integer.MAX_VALUE), (int)var0.byteSize());
}
var2 += var6;
ShaderType[] var7 = new ShaderType[var5];
for (int var8 = 0; var8 < var5; var8++) {
var7[var8] = ShaderType.fromValue(var0.get(PacketIO.PROTO_BYTE, var2 + var8 * 1));
}
class="kw">return var7;
}
class="kw">public class="kw">static int getHitbox(MemorySegment var0) {
class="kw">return getHitbox(var0, 0);
}
class="kw">public class="kw">static int getHitbox(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 8);
}
class="kw">public class="kw">static int getInteractionHitbox(MemorySegment var0) {
class="kw">return getInteractionHitbox(var0, 0);
}
class="kw">public class="kw">static int getInteractionHitbox(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 12);
}
@Nullable
class="kw">public class="kw">static String getModel(MemorySegment var0) {
class="kw">return getModel(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getModel(MemorySegment var0, int var1) {
class="kw">return hasModel(var0, var1) ? PacketIO.readVarString("Model", var0, var1 + getValidatedOffset(var0, var1, 189, 277, "Model"), 4096000) : null;
}
@Nullable
class="kw">public class="kw">static ModelTexture[] getModelTexture(MemorySegment var0) {
class="kw">return getModelTexture(var0, 0);
}
@Nullable
class="kw">public class="kw">static ModelTexture[] getModelTexture(MemorySegment var0, int var1) {
if (!hasModelTexture(var0, var1)) {
class="kw">return null;
}
ReadCursor var2 = new ReadCursor();
int var3 = var1 + getValidatedOffset(var0, var1, 193, 277, "ModelTexture");
long var4 = VarInt.getWithLength(var0, var3);
if (var4 == -1L) {
throw ProtocolException.invalidVarInt("ModelTexture");
}
int var6 = (int)var4;
if (var6 > 4096000) {
throw ProtocolException.arrayTooLong("ModelTexture", var6, 4096000);
}
int var7 = (int)(var4 >>> 32);
if (var3 + var7 + var6 * 5L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ModelTexture", (int)Math.min(var3 + var7 + var6 * 5L, 2147483647L), (int)var0.byteSize());
}
var3 += var7;
ModelTexture[] var8 = new ModelTexture[var6];
for (int var9 = 0; var9 < var6; var9++) {
var8[var9] = ModelTexture.toObject(var0, var3, var2);
var3 = var2.position;
}
class="kw">return var8;
}
class="kw">public class="kw">static float getModelScale(MemorySegment var0) {
class="kw">return getModelScale(var0, 0);
}
class="kw">public class="kw">static float getModelScale(MemorySegment var0, int var1) {
class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 16), "ModelScale");
}
@Nullable
class="kw">public class="kw">static String getModelAnimation(MemorySegment var0) {
class="kw">return getModelAnimation(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getModelAnimation(MemorySegment var0, int var1) {
class="kw">return hasModelAnimation(var0, var1)
? PacketIO.readVarString("ModelAnimation", var0, var1 + getValidatedOffset(var0, var1, 197, 277, "ModelAnimation"), 4096000)
: null;
}
class="kw">public class="kw">static float getModelAnimationSpeed(MemorySegment var0) {
class="kw">return getModelAnimationSpeed(var0, 0);
}
class="kw">public class="kw">static float getModelAnimationSpeed(MemorySegment var0, int var1) {
class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 20), "ModelAnimationSpeed");
}
class="kw">public class="kw">static boolean getLooping(MemorySegment var0) {
class="kw">return getLooping(var0, 0);
}
class="kw">public class="kw">static boolean getLooping(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 24);
}
class="kw">public class="kw">static int getMaxSupportDistance(MemorySegment var0) {
class="kw">return getMaxSupportDistance(var0, 0);
}
class="kw">public class="kw">static int getMaxSupportDistance(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 25);
}
class="kw">public class="kw">static BlockSupportsRequiredForType getBlockSupportsRequiredFor(MemorySegment var0) {
class="kw">return getBlockSupportsRequiredFor(var0, 0);
}
class="kw">public class="kw">static BlockSupportsRequiredForType getBlockSupportsRequiredFor(MemorySegment var0, int var1) {
class="kw">return BlockSupportsRequiredForType.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 29));
}
@Nullable
class="kw">public class="kw">static Map<BlockNeighbor, RequiredBlockFaceSupport[]> getSupport(MemorySegment var0) {
class="kw">return getSupport(var0, 0);
}
@Nullable
class="kw">public class="kw">static Map<BlockNeighbor, RequiredBlockFaceSupport[]> getSupport(MemorySegment var0, int var1) {
if (!hasSupport(var0, var1)) {
class="kw">return null;
}
ReadCursor var2 = new ReadCursor();
int var3 = var1 + getValidatedOffset(var0, var1, 201, 277, "Support");
long var4 = VarInt.getWithLength(var0, var3);
if (var4 == -1L) {
throw ProtocolException.invalidVarInt("Support");
}
int var6 = (int)var4;
if (var6 > 4096000) {
throw ProtocolException.dictionaryTooLarge("Support", var6, 4096000);
}
var3 += (int)(var4 >>> 32);
if (var3 + var6 * 2L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Support", (int)Math.min(var3 + var6 * 2L, 2147483647L), (int)var0.byteSize());
}
Map var7 = new HashMap<>(var6);
for (int var8 = 0; var8 < var6; var8++) {
BlockNeighbor var9 = BlockNeighbor.fromValue(var0.get(PacketIO.PROTO_BYTE, var3));
long var10 = VarInt.getWithLength(var0, ++var3);
if (var10 == -1L) {
throw ProtocolException.invalidVarInt("value");
}
int var12 = (int)var10;
int var13 = (int)(var10 >>> 32);
if (var12 > 4096000) {
throw ProtocolException.arrayTooLong("value", var12, 4096000);
}
if (var3 + var13 + var12 * 32L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("value", var3 + var13 + var12 * 32, (int)var0.byteSize());
}
var3 += var13;
RequiredBlockFaceSupport[] var14 = new RequiredBlockFaceSupport[var12];
for (int var15 = 0; var15 < var12; var15++) {
var14[var15] = RequiredBlockFaceSupport.toObject(var0, var3, var2);
var3 = var2.position;
}
if (var7.put(var9, var14) != null) {
throw ProtocolException.duplicateKey("Support", var9);
}
}
class="kw">return var7;
}
@Nullable
class="kw">public class="kw">static Map<BlockNeighbor, BlockFaceSupport[]> getSupporting(MemorySegment var0) {
class="kw">return getSupporting(var0, 0);
}
@Nullable
class="kw">public class="kw">static Map<BlockNeighbor, BlockFaceSupport[]> getSupporting(MemorySegment var0, int var1) {
if (!hasSupporting(var0, var1)) {
class="kw">return null;
}
ReadCursor var2 = new ReadCursor();
int var3 = var1 + getValidatedOffset(var0, var1, 205, 277, "Supporting");
long var4 = VarInt.getWithLength(var0, var3);
if (var4 == -1L) {
throw ProtocolException.invalidVarInt("Supporting");
}
int var6 = (int)var4;
if (var6 > 4096000) {
throw ProtocolException.dictionaryTooLarge("Supporting", var6, 4096000);
}
var3 += (int)(var4 >>> 32);
if (var3 + var6 * 2L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Supporting", (int)Math.min(var3 + var6 * 2L, 2147483647L), (int)var0.byteSize());
}
Map var7 = new HashMap<>(var6);
for (int var8 = 0; var8 < var6; var8++) {
BlockNeighbor var9 = BlockNeighbor.fromValue(var0.get(PacketIO.PROTO_BYTE, var3));
long var10 = VarInt.getWithLength(var0, ++var3);
if (var10 == -1L) {
throw ProtocolException.invalidVarInt("value");
}
int var12 = (int)var10;
int var13 = (int)(var10 >>> 32);
if (var12 > 4096000) {
throw ProtocolException.arrayTooLong("value", var12, 4096000);
}
if (var3 + var13 + var12 * 9L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("value", var3 + var13 + var12 * 9, (int)var0.byteSize());
}
var3 += var13;
BlockFaceSupport[] var14 = new BlockFaceSupport[var12];
for (int var15 = 0; var15 < var12; var15++) {
var14[var15] = BlockFaceSupport.toObject(var0, var3, var2);
var3 = var2.position;
}
if (var7.put(var9, var14) != null) {
throw ProtocolException.duplicateKey("Supporting", var9);
}
}
class="kw">return var7;
}
class="kw">public class="kw">static boolean getRequiresAlphaBlending(MemorySegment var0) {
class="kw">return getRequiresAlphaBlending(var0, 0);
}
class="kw">public class="kw">static boolean getRequiresAlphaBlending(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 30);
}
@Nullable
class="kw">public class="kw">static BlockTextures[] getCubeTextures(MemorySegment var0) {
class="kw">return getCubeTextures(var0, 0);
}
@Nullable
class="kw">public class="kw">static BlockTextures[] getCubeTextures(MemorySegment var0, int var1) {
if (!hasCubeTextures(var0, var1)) {
class="kw">return null;
}
ReadCursor var2 = new ReadCursor();
int var3 = var1 + getValidatedOffset(var0, var1, 209, 277, "CubeTextures");
long var4 = VarInt.getWithLength(var0, var3);
if (var4 == -1L) {
throw ProtocolException.invalidVarInt("CubeTextures");
}
int var6 = (int)var4;
if (var6 > 4096000) {
throw ProtocolException.arrayTooLong("CubeTextures", var6, 4096000);
}
int var7 = (int)(var4 >>> 32);
if (var3 + var7 + var6 * 29L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("CubeTextures", (int)Math.min(var3 + var7 + var6 * 29L, 2147483647L), (int)var0.byteSize());
}
var3 += var7;
BlockTextures[] var8 = new BlockTextures[var6];
for (int var9 = 0; var9 < var6; var9++) {
var8[var9] = BlockTextures.toObject(var0, var3, var2);
var3 = var2.position;
}
class="kw">return var8;
}
@Nullable
class="kw">public class="kw">static String getCubeSideMaskTexture(MemorySegment var0) {
class="kw">return getCubeSideMaskTexture(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getCubeSideMaskTexture(MemorySegment var0, int var1) {
class="kw">return hasCubeSideMaskTexture(var0, var1)
? PacketIO.readVarString("CubeSideMaskTexture", var0, var1 + getValidatedOffset(var0, var1, 213, 277, "CubeSideMaskTexture"), 4096000)
: null;
}
class="kw">public class="kw">static ShadingMode getCubeShadingMode(MemorySegment var0) {
class="kw">return getCubeShadingMode(var0, 0);
}
class="kw">public class="kw">static ShadingMode getCubeShadingMode(MemorySegment var0, int var1) {
class="kw">return ShadingMode.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 31));
}
class="kw">public class="kw">static RandomRotation getRandomRotation(MemorySegment var0) {
class="kw">return getRandomRotation(var0, 0);
}
class="kw">public class="kw">static RandomRotation getRandomRotation(MemorySegment var0, int var1) {
class="kw">return RandomRotation.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 32));
}
class="kw">public class="kw">static VariantRotation getVariantRotation(MemorySegment var0) {
class="kw">return getVariantRotation(var0, 0);
}
class="kw">public class="kw">static VariantRotation getVariantRotation(MemorySegment var0, int var1) {
class="kw">return VariantRotation.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 33));
}
class="kw">public class="kw">static Rotation getRotationYawPlacementOffset(MemorySegment var0) {
class="kw">return getRotationYawPlacementOffset(var0, 0);
}
class="kw">public class="kw">static Rotation getRotationYawPlacementOffset(MemorySegment var0, int var1) {
class="kw">return Rotation.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 34));
}
class="kw">public class="kw">static int getBlockSoundSetIndex(MemorySegment var0) {
class="kw">return getBlockSoundSetIndex(var0, 0);
}
class="kw">public class="kw">static int getBlockSoundSetIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 35);
}
class="kw">public class="kw">static int getPhysicalMaterialIndex(MemorySegment var0) {
class="kw">return getPhysicalMaterialIndex(var0, 0);
}
class="kw">public class="kw">static int getPhysicalMaterialIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 39);
}
class="kw">public class="kw">static float getSoundOcclusionOpacity(MemorySegment var0) {
class="kw">return getSoundOcclusionOpacity(var0, 0);
}
class="kw">public class="kw">static float getSoundOcclusionOpacity(MemorySegment var0, int var1) {
class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 43), "SoundOcclusionOpacity");
}
class="kw">public class="kw">static int getAmbientSoundEventIndex(MemorySegment var0) {
class="kw">return getAmbientSoundEventIndex(var0, 0);
}
class="kw">public class="kw">static int getAmbientSoundEventIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 47);
}
@Nullable
class="kw">public class="kw">static ConditionalBlockSound[] getConditionalSounds(MemorySegment var0) {
class="kw">return getConditionalSounds(var0, 0);
}
@Nullable
class="kw">public class="kw">static ConditionalBlockSound[] getConditionalSounds(MemorySegment var0, int var1) {
if (!hasConditionalSounds(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 217, 277, "ConditionalSounds");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("ConditionalSounds");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("ConditionalSounds", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 8L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ConditionalSounds", (int)Math.min(var2 + var6 + var5 * 8L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
ConditionalBlockSound[] var7 = new ConditionalBlockSound[var5];
for (int var8 = 0; var8 < var5; var8++) {
var7[var8] = ConditionalBlockSound.toObject(var0, var2 + var8 * 8);
}
class="kw">return var7;
}
@Nullable
class="kw">public class="kw">static ModelParticle[] getParticles(MemorySegment var0) {
class="kw">return getParticles(var0, 0);
}
@Nullable
class="kw">public class="kw">static ModelParticle[] getParticles(MemorySegment var0, int var1) {
if (!hasParticles(var0, var1)) {
class="kw">return null;
}
ReadCursor var2 = new ReadCursor();
int var3 = var1 + getValidatedOffset(var0, var1, 221, 277, "Particles");
long var4 = VarInt.getWithLength(var0, var3);
if (var4 == -1L) {
throw ProtocolException.invalidVarInt("Particles");
}
int var6 = (int)var4;
if (var6 > 4096000) {
throw ProtocolException.arrayTooLong("Particles", var6, 4096000);
}
int var7 = (int)(var4 >>> 32);
if (var3 + var7 + var6 * 42L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Particles", (int)Math.min(var3 + var7 + var6 * 42L, 2147483647L), (int)var0.byteSize());
}
var3 += var7;
ModelParticle[] var8 = new ModelParticle[var6];
for (int var9 = 0; var9 < var6; var9++) {
var8[var9] = ModelParticle.toObject(var0, var3, var2);
var3 = var2.position;
}
class="kw">return var8;
}
@Nullable
class="kw">public class="kw">static String getBlockParticleSetId(MemorySegment var0) {
class="kw">return getBlockParticleSetId(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getBlockParticleSetId(MemorySegment var0, int var1) {
class="kw">return hasBlockParticleSetId(var0, var1)
? PacketIO.readVarString("BlockParticleSetId", var0, var1 + getValidatedOffset(var0, var1, 225, 277, "BlockParticleSetId"), 4096000)
: null;
}
@Nullable
class="kw">public class="kw">static String getBlockBreakingDecalId(MemorySegment var0) {
class="kw">return getBlockBreakingDecalId(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getBlockBreakingDecalId(MemorySegment var0, int var1) {
class="kw">return hasBlockBreakingDecalId(var0, var1)
? PacketIO.readVarString("BlockBreakingDecalId", var0, var1 + getValidatedOffset(var0, var1, 229, 277, "BlockBreakingDecalId"), 4096000)
: null;
}
@Nullable
class="kw">public class="kw">static Color getParticleColor(MemorySegment var0) {
class="kw">return getParticleColor(var0, 0);
}
@Nullable
class="kw">public class="kw">static Color getParticleColor(MemorySegment var0, int var1) {
class="kw">return hasParticleColor(var0, var1) ? Color.toObject(var0, var1 + 51) : null;
}
@Nullable
class="kw">public class="kw">static Color getTextureComputedColor(MemorySegment var0) {
class="kw">return getTextureComputedColor(var0, 0);
}
@Nullable
class="kw">public class="kw">static Color getTextureComputedColor(MemorySegment var0, int var1) {
class="kw">return hasTextureComputedColor(var0, var1) ? Color.toObject(var0, var1 + 54) : null;
}
@Nullable
class="kw">public class="kw">static ColorLight getLight(MemorySegment var0) {
class="kw">return getLight(var0, 0);
}
@Nullable
class="kw">public class="kw">static ColorLight getLight(MemorySegment var0, int var1) {
class="kw">return hasLight(var0, var1) ? ColorLight.toObject(var0, var1 + 57) : null;
}
@Nullable
class="kw">public class="kw">static Tint getTint(MemorySegment var0) {
class="kw">return getTint(var0, 0);
}
@Nullable
class="kw">public class="kw">static Tint getTint(MemorySegment var0, int var1) {
class="kw">return hasTint(var0, var1) ? Tint.toObject(var0, var1 + 61) : null;
}
@Nullable
class="kw">public class="kw">static Tint getBiomeTint(MemorySegment var0) {
class="kw">return getBiomeTint(var0, 0);
}
@Nullable
class="kw">public class="kw">static Tint getBiomeTint(MemorySegment var0, int var1) {
class="kw">return hasBiomeTint(var0, var1) ? Tint.toObject(var0, var1 + 85) : null;
}
class="kw">public class="kw">static int getGroup(MemorySegment var0) {
class="kw">return getGroup(var0, 0);
}
class="kw">public class="kw">static int getGroup(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 109);
}
@Nullable
class="kw">public class="kw">static String getTransitionTexture(MemorySegment var0) {
class="kw">return getTransitionTexture(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getTransitionTexture(MemorySegment var0, int var1) {
class="kw">return hasTransitionTexture(var0, var1)
? PacketIO.readVarString("TransitionTexture", var0, var1 + getValidatedOffset(var0, var1, 233, 277, "TransitionTexture"), 4096000)
: null;
}
@Nullable
class="kw">public class="kw">static int[] getTransitionToGroups(MemorySegment var0) {
class="kw">return getTransitionToGroups(var0, 0);
}
@Nullable
class="kw">public class="kw">static int[] getTransitionToGroups(MemorySegment var0, int var1) {
if (!hasTransitionToGroups(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 237, 277, "TransitionToGroups");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("TransitionToGroups");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("TransitionToGroups", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("TransitionToGroups", (int)Math.min(var2 + var6 + var5 * 4L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
int[] var7 = new int[var5];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var2, var7, 0, var5);
class="kw">return var7;
}
class="kw">public class="kw">static BlockMovementSettings getMovementSettings(MemorySegment var0) {
class="kw">return getMovementSettings(var0, 0);
}
class="kw">public class="kw">static BlockMovementSettings getMovementSettings(MemorySegment var0, int var1) {
class="kw">return BlockMovementSettings.toObject(var0, var1 + 113);
}
@Nullable
class="kw">public class="kw">static String getInteractionHint(MemorySegment var0) {
class="kw">return getInteractionHint(var0, 0);
}
@Nullable
class="kw">public class="kw">static String getInteractionHint(MemorySegment var0, int var1) {
class="kw">return hasInteractionHint(var0, var1)
? PacketIO.readVarString("InteractionHint", var0, var1 + getValidatedOffset(var0, var1, 241, 277, "InteractionHint"), 4096000)
: null;
}
@Nullable
class="kw">public class="kw">static BlockGathering getGathering(MemorySegment var0) {
class="kw">return getGathering(var0, 0);
}
@Nullable
class="kw">public class="kw">static BlockGathering getGathering(MemorySegment var0, int var1) {
class="kw">return hasGathering(var0, var1) ? BlockGathering.toObject(var0, var1 + getValidatedOffset(var0, var1, 245, 277, "Gathering")) : null;
}
@Nullable
class="kw">public class="kw">static BlockPlacementSettings getPlacementSettings(MemorySegment var0) {
class="kw">return getPlacementSettings(var0, 0);
}
@Nullable
class="kw">public class="kw">static BlockPlacementSettings getPlacementSettings(MemorySegment var0, int var1) {
class="kw">return hasPlacementSettings(var0, var1) ? BlockPlacementSettings.toObject(var0, var1 + 156) : null;
}
@Nullable
class="kw">public class="kw">static ModelDisplay getDisplay(MemorySegment var0) {
class="kw">return getDisplay(var0, 0);
}
@Nullable
class="kw">public class="kw">static ModelDisplay getDisplay(MemorySegment var0, int var1) {
class="kw">return hasDisplay(var0, var1) ? ModelDisplay.toObject(var0, var1 + getValidatedOffset(var0, var1, 249, 277, "Display")) : null;
}
@Nullable
class="kw">public class="kw">static RailConfig getRail(MemorySegment var0) {
class="kw">return getRail(var0, 0);
}
@Nullable
class="kw">public class="kw">static RailConfig getRail(MemorySegment var0, int var1) {
class="kw">return hasRail(var0, var1) ? RailConfig.toObject(var0, var1 + getValidatedOffset(var0, var1, 253, 277, "Rail")) : null;
}
class="kw">public class="kw">static boolean getIgnoreSupportWhenPlaced(MemorySegment var0) {
class="kw">return getIgnoreSupportWhenPlaced(var0, 0);
}
class="kw">public class="kw">static boolean getIgnoreSupportWhenPlaced(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 172);
}
@Nullable
class="kw">public class="kw">static Map<InteractionType, Integer> getInteractions(MemorySegment var0) {
class="kw">return getInteractions(var0, 0);
}
@Nullable
class="kw">public class="kw">static Map<InteractionType, Integer> getInteractions(MemorySegment var0, int var1) {
if (!hasInteractions(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 257, 277, "Interactions");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("Interactions");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.dictionaryTooLarge("Interactions", var5, 4096000);
}
var2 += (int)(var3 >>> 32);
if (var2 + var5 * 5L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Interactions", (int)Math.min(var2 + var5 * 5L, 2147483647L), (int)var0.byteSize());
}
Map var6 = new HashMap<>(var5);
for (int var7 = 0; var7 < var5; var7++) {
InteractionType var8 = InteractionType.fromValue(var0.get(PacketIO.PROTO_BYTE, var2));
int var9 = var0.get(PacketIO.PROTO_INT, ++var2);
var2 += 4;
if (var6.put(var8, var9) != null) {
throw ProtocolException.duplicateKey("Interactions", var8);
}
}
class="kw">return var6;
}
@Nullable
class="kw">public class="kw">static Map<String, Integer> getStates(MemorySegment var0) {
class="kw">return getStates(var0, 0);
}
@Nullable
class="kw">public class="kw">static Map<String, Integer> getStates(MemorySegment var0, int var1) {
if (!hasStates(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 261, 277, "States");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("States");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.dictionaryTooLarge("States", var5, 4096000);
}
var2 += (int)(var3 >>> 32);
if (var2 + var5 * 5L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("States", (int)Math.min(var2 + var5 * 5L, 2147483647L), (int)var0.byteSize());
}
Map var6 = new HashMap<>(var5);
for (int var7 = 0; var7 < var5; var7++) {
long var8 = VarInt.getWithLength(var0, var2);
String var10 = PacketIO.readVarString("key", var0, var2, 0, 4096000, var8);
var2 += (int)var8 + (int)(var8 >>> 32);
int var11 = var0.get(PacketIO.PROTO_INT, var2);
var2 += 4;
if (var6.put(var10, var11) != null) {
throw ProtocolException.duplicateKey("States", var10);
}
}
class="kw">return var6;
}
class="kw">public class="kw">static int getTransitionToTag(MemorySegment var0) {
class="kw">return getTransitionToTag(var0, 0);
}
class="kw">public class="kw">static int getTransitionToTag(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 173);
}
@Nullable
class="kw">public class="kw">static int[] getTagIndexes(MemorySegment var0) {
class="kw">return getTagIndexes(var0, 0);
}
@Nullable
class="kw">public class="kw">static int[] getTagIndexes(MemorySegment var0, int var1) {
if (!hasTagIndexes(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 265, 277, "TagIndexes");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("TagIndexes");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("TagIndexes", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("TagIndexes", (int)Math.min(var2 + var6 + var5 * 4L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
int[] var7 = new int[var5];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var2, var7, 0, var5);
class="kw">return var7;
}
@Nullable
class="kw">public class="kw">static Bench getBench(MemorySegment var0) {
class="kw">return getBench(var0, 0);
}
@Nullable
class="kw">public class="kw">static Bench getBench(MemorySegment var0, int var1) {
class="kw">return hasBench(var0, var1) ? Bench.toObject(var0, var1 + getValidatedOffset(var0, var1, 269, 277, "Bench")) : null;
}
@Nullable
class="kw">public class="kw">static ConnectedBlockRuleSet getConnectedBlockRuleSet(MemorySegment var0) {
class="kw">return getConnectedBlockRuleSet(var0, 0);
}
@Nullable
class="kw">public class="kw">static ConnectedBlockRuleSet getConnectedBlockRuleSet(MemorySegment var0, int var1) {
class="kw">return hasConnectedBlockRuleSet(var0, var1)
? ConnectedBlockRuleSet.toObject(var0, var1 + getValidatedOffset(var0, var1, 273, 277, "ConnectedBlockRuleSet"))
: null;
}
class="kw">public class="kw">static boolean hasParticleColor(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 1) != 0;
}
class="kw">public class="kw">static boolean hasTextureComputedColor(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 2) != 0;
}
class="kw">public class="kw">static boolean hasLight(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 4) != 0;
}
class="kw">public class="kw">static boolean hasTint(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 8) != 0;
}
class="kw">public class="kw">static boolean hasBiomeTint(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 16) != 0;
}
class="kw">public class="kw">static boolean hasPlacementSettings(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 32) != 0;
}
class="kw">public class="kw">static boolean hasItem(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 64) != 0;
}
class="kw">public class="kw">static boolean hasName(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 128) != 0;
}
class="kw">public class="kw">static boolean hasShaderEffect(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 1) != 0;
}
class="kw">public class="kw">static boolean hasModel(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 2) != 0;
}
class="kw">public class="kw">static boolean hasModelTexture(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 4) != 0;
}
class="kw">public class="kw">static boolean hasModelAnimation(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 8) != 0;
}
class="kw">public class="kw">static boolean hasSupport(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 16) != 0;
}
class="kw">public class="kw">static boolean hasSupporting(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 32) != 0;
}
class="kw">public class="kw">static boolean hasCubeTextures(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 64) != 0;
}
class="kw">public class="kw">static boolean hasCubeSideMaskTexture(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 128) != 0;
}
class="kw">public class="kw">static boolean hasConditionalSounds(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 2);
class="kw">return (var2 & 1) != 0;
}
class="kw">public class="kw">static boolean hasParticles(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 2);
class="kw">return (var2 & 2) != 0;
}
class="kw">public class="kw">static boolean hasBlockParticleSetId(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 2);
class="kw">return (var2 & 4) != 0;
}
class="kw">public class="kw">static boolean hasBlockBreakingDecalId(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 2);
class="kw">return (var2 & 8) != 0;
}
class="kw">public class="kw">static boolean hasTransitionTexture(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 2);
class="kw">return (var2 & 16) != 0;
}
class="kw">public class="kw">static boolean hasTransitionToGroups(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 2);
class="kw">return (var2 & 32) != 0;
}
class="kw">public class="kw">static boolean hasInteractionHint(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 2);
class="kw">return (var2 & 64) != 0;
}
class="kw">public class="kw">static boolean hasGathering(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 2);
class="kw">return (var2 & 128) != 0;
}
class="kw">public class="kw">static boolean hasDisplay(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 3);
class="kw">return (var2 & 1) != 0;
}
class="kw">public class="kw">static boolean hasRail(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 3);
class="kw">return (var2 & 2) != 0;
}
class="kw">public class="kw">static boolean hasInteractions(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 3);
class="kw">return (var2 & 4) != 0;
}
class="kw">public class="kw">static boolean hasStates(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 3);
class="kw">return (var2 & 8) != 0;
}
class="kw">public class="kw">static boolean hasTagIndexes(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 3);
class="kw">return (var2 & 16) != 0;
}
class="kw">public class="kw">static boolean hasBench(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 3);
class="kw">return (var2 & 32) != 0;
}
class="kw">public class="kw">static boolean hasConnectedBlockRuleSet(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 3);
class="kw">return (var2 & 64) != 0;
}
class="kw">private class="kw">static int getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4) {
int var5 = var0.get(PacketIO.PROTO_INT, var1 + var2);
if (var5 >= 0 && var5 <= var0.byteSize() - var1 - var3) {
class="kw">return var3 + var5;
} else {
throw ProtocolException.invalidOffset(var4, var5, (int)var0.byteSize());
}
}
class="kw">private class="kw">static void requireSlot(MemorySegment var0, int var1, int var2, String var3) {
int var4 = var0.get(PacketIO.PROTO_INT, var1);
if (var4 != var2) {
throw ProtocolException.nonCanonicalLayout(var3, var4, var2);
}
}
class="kw">public class="kw">static BlockType toObject(MemorySegment var0) {
class="kw">return toObject(var0, 0, null);
}
class="kw">public class="kw">static BlockType toObject(MemorySegment var0, int var1) {
class="kw">return toObject(var0, var1, null);
}
class="kw">public class="kw">static BlockType toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
requireBounds(var0, var1);
int var3 = var1 + 277;
int var4 = 0;
ReadCursor var5 = var2 != null ? var2 : new ReadCursor();
String var6 = null;
if (hasItem(var0, var1)) {
requireSlot(var0, var1 + 177, var4, "Item");
int var7 = var3 + var4;
long var8 = VarInt.getWithLength(var0, var7);
var6 = PacketIO.readVarString("Item", var0, var7, 0, 4096000, var8);
var4 += (int)var8 + (int)(var8 >>> 32);
} else {
requireSlot(var0, var1 + 177, -1, "Item");
}
String var37 = null;
if (hasName(var0, var1)) {
requireSlot(var0, var1 + 181, var4, "Name");
int var38 = var3 + var4;
long var9 = VarInt.getWithLength(var0, var38);
var37 = PacketIO.readVarString("Name", var0, var38, 0, 4096000, var9);
var4 += (int)var9 + (int)(var9 >>> 32);
} else {
requireSlot(var0, var1 + 181, -1, "Name");
}
ShaderType[] var39 = null;
if (hasShaderEffect(var0, var1)) {
requireSlot(var0, var1 + 185, var4, "ShaderEffect");
int var40 = var3 + var4;
long var10 = VarInt.getWithLength(var0, var40);
if (var10 == -1L) {
throw ProtocolException.invalidVarInt("ShaderEffect");
}
int var12 = (int)var10;
if (var12 > 4096000) {
throw ProtocolException.arrayTooLong("ShaderEffect", var12, 4096000);
}
int var13 = (int)(var10 >>> 32);
if (var40 + var13 + var12 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ShaderEffect", Math.min(var40 + var13 + var12, Integer.MAX_VALUE), (int)var0.byteSize());
}
var40 += var13;
var39 = new ShaderType[var12];
for (int var14 = 0; var14 < var12; var14++) {
var39[var14] = ShaderType.fromValue(var0.get(PacketIO.PROTO_BYTE, var40 + var14 * 1));
}
var4 = var40 + var12 - var3;
} else {
requireSlot(var0, var1 + 185, -1, "ShaderEffect");
}
String var42 = null;
if (hasModel(var0, var1)) {
requireSlot(var0, var1 + 189, var4, "Model");
int var43 = var3 + var4;
long var11 = VarInt.getWithLength(var0, var43);
var42 = PacketIO.readVarString("Model", var0, var43, 0, 4096000, var11);
var4 += (int)var11 + (int)(var11 >>> 32);
} else {
requireSlot(var0, var1 + 189, -1, "Model");
}
ModelTexture[] var44 = null;
if (hasModelTexture(var0, var1)) {
requireSlot(var0, var1 + 193, var4, "ModelTexture");
int var45 = var3 + var4;
long var48 = VarInt.getWithLength(var0, var45);
if (var48 == -1L) {
throw ProtocolException.invalidVarInt("ModelTexture");
}
int var56 = (int)var48;
if (var56 > 4096000) {
throw ProtocolException.arrayTooLong("ModelTexture", var56, 4096000);
}
int var15 = (int)(var48 >>> 32);
if (var45 + var15 + var56 * 5L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ModelTexture", (int)Math.min(var45 + var15 + var56 * 5L, 2147483647L), (int)var0.byteSize());
}
var45 += var15;
var44 = new ModelTexture[var56];
for (int var16 = 0; var16 < var56; var16++) {
var44[var16] = ModelTexture.toObject(var0, var45, var5);
var45 = var5.position;
}
var4 = var45 - var3;
} else {
requireSlot(var0, var1 + 193, -1, "ModelTexture");
}
String var47 = null;
if (hasModelAnimation(var0, var1)) {
requireSlot(var0, var1 + 197, var4, "ModelAnimation");
int var49 = var3 + var4;
long var51 = VarInt.getWithLength(var0, var49);
var47 = PacketIO.readVarString("ModelAnimation", var0, var49, 0, 4096000, var51);
var4 += (int)var51 + (int)(var51 >>> 32);
} else {
requireSlot(var0, var1 + 197, -1, "ModelAnimation");
}
Map var50 = null;
if (hasSupport(var0, var1)) {
requireSlot(var0, var1 + 201, var4, "Support");
int var52 = var3 + var4;
long var57 = VarInt.getWithLength(var0, var52);
if (var57 == -1L) {
throw ProtocolException.invalidVarInt("Support");
}
int var66 = (int)var57;
if (var66 > 4096000) {
throw ProtocolException.dictionaryTooLarge("Support", var66, 4096000);
}
var52 += (int)(var57 >>> 32);
if (var52 + var66 * 2L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Support", (int)Math.min(var52 + var66 * 2L, 2147483647L), (int)var0.byteSize());
}
var50 = new HashMap<>(var66);
for (int var17 = 0; var17 < var66; var17++) {
BlockNeighbor var18 = BlockNeighbor.fromValue(var0.get(PacketIO.PROTO_BYTE, var52));
long var19 = VarInt.getWithLength(var0, ++var52);
if (var19 == -1L) {
throw ProtocolException.invalidVarInt("value");
}
int var21 = (int)var19;
int var22 = (int)(var19 >>> 32);
if (var21 > 4096000) {
throw ProtocolException.arrayTooLong("value", var21, 4096000);
}
if (var52 + var22 + var21 * 32L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("value", var52 + var22 + var21 * 32, (int)var0.byteSize());
}
var52 += var22;
RequiredBlockFaceSupport[] var23 = new RequiredBlockFaceSupport[var21];
for (int var24 = 0; var24 < var21; var24++) {
var23[var24] = RequiredBlockFaceSupport.toObject(var0, var52, var5);
var52 = var5.position;
}
if (var50.put(var18, var23) != null) {
throw ProtocolException.duplicateKey("Support", var18);
}
}
var4 = var52 - var3;
} else {
requireSlot(var0, var1 + 201, -1, "Support");
}
Map var55 = null;
if (hasSupporting(var0, var1)) {
requireSlot(var0, var1 + 205, var4, "Supporting");
int var58 = var3 + var4;
long var62 = VarInt.getWithLength(var0, var58);
if (var62 == -1L) {
throw ProtocolException.invalidVarInt("Supporting");
}
int var70 = (int)var62;
if (var70 > 4096000) {
throw ProtocolException.dictionaryTooLarge("Supporting", var70, 4096000);
}
var58 += (int)(var62 >>> 32);
if (var58 + var70 * 2L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Supporting", (int)Math.min(var58 + var70 * 2L, 2147483647L), (int)var0.byteSize());
}
var55 = new HashMap<>(var70);
for (int var75 = 0; var75 < var70; var75++) {
BlockNeighbor var81 = BlockNeighbor.fromValue(var0.get(PacketIO.PROTO_BYTE, var58));
long var20 = VarInt.getWithLength(var0, ++var58);
if (var20 == -1L) {
throw ProtocolException.invalidVarInt("value");
}
int var96 = (int)var20;
int var103 = (int)(var20 >>> 32);
if (var96 > 4096000) {
throw ProtocolException.arrayTooLong("value", var96, 4096000);
}
if (var58 + var103 + var96 * 9L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("value", var58 + var103 + var96 * 9, (int)var0.byteSize());
}
var58 += var103;
BlockFaceSupport[] var108 = new BlockFaceSupport[var96];
for (int var25 = 0; var25 < var96; var25++) {
var108[var25] = BlockFaceSupport.toObject(var0, var58, var5);
var58 = var5.position;
}
if (var55.put(var81, var108) != null) {
throw ProtocolException.duplicateKey("Supporting", var81);
}
}
var4 = var58 - var3;
} else {
requireSlot(var0, var1 + 205, -1, "Supporting");
}
BlockTextures[] var61 = null;
if (hasCubeTextures(var0, var1)) {
requireSlot(var0, var1 + 209, var4, "CubeTextures");
int var63 = var3 + var4;
long var67 = VarInt.getWithLength(var0, var63);
if (var67 == -1L) {
throw ProtocolException.invalidVarInt("CubeTextures");
}
int var76 = (int)var67;
if (var76 > 4096000) {
throw ProtocolException.arrayTooLong("CubeTextures", var76, 4096000);
}
int var82 = (int)(var67 >>> 32);
if (var63 + var82 + var76 * 29L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("CubeTextures", (int)Math.min(var63 + var82 + var76 * 29L, 2147483647L), (int)var0.byteSize());
}
var63 += var82;
var61 = new BlockTextures[var76];
for (int var86 = 0; var86 < var76; var86++) {
var61[var86] = BlockTextures.toObject(var0, var63, var5);
var63 = var5.position;
}
var4 = var63 - var3;
} else {
requireSlot(var0, var1 + 209, -1, "CubeTextures");
}
String var65 = null;
if (hasCubeSideMaskTexture(var0, var1)) {
requireSlot(var0, var1 + 213, var4, "CubeSideMaskTexture");
int var68 = var3 + var4;
long var71 = VarInt.getWithLength(var0, var68);
var65 = PacketIO.readVarString("CubeSideMaskTexture", var0, var68, 0, 4096000, var71);
var4 += (int)var71 + (int)(var71 >>> 32);
} else {
requireSlot(var0, var1 + 213, -1, "CubeSideMaskTexture");
}
ConditionalBlockSound[] var69 = null;
if (hasConditionalSounds(var0, var1)) {
requireSlot(var0, var1 + 217, var4, "ConditionalSounds");
int var72 = var3 + var4;
long var77 = VarInt.getWithLength(var0, var72);
if (var77 == -1L) {
throw ProtocolException.invalidVarInt("ConditionalSounds");
}
int var87 = (int)var77;
if (var87 > 4096000) {
throw ProtocolException.arrayTooLong("ConditionalSounds", var87, 4096000);
}
int var91 = (int)(var77 >>> 32);
if (var72 + var91 + var87 * 8L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ConditionalSounds", (int)Math.min(var72 + var91 + var87 * 8L, 2147483647L), (int)var0.byteSize());
}
var72 += var91;
var69 = new ConditionalBlockSound[var87];
for (int var97 = 0; var97 < var87; var97++) {
var69[var97] = ConditionalBlockSound.toObject(var0, var72 + var97 * 8);
}
var4 = var72 + var87 * 8 - var3;
} else {
requireSlot(var0, var1 + 217, -1, "ConditionalSounds");
}
ModelParticle[] var74 = null;
if (hasParticles(var0, var1)) {
requireSlot(var0, var1 + 221, var4, "Particles");
int var78 = var3 + var4;
long var83 = VarInt.getWithLength(var0, var78);
if (var83 == -1L) {
throw ProtocolException.invalidVarInt("Particles");
}
int var92 = (int)var83;
if (var92 > 4096000) {
throw ProtocolException.arrayTooLong("Particles", var92, 4096000);
}
int var98 = (int)(var83 >>> 32);
if (var78 + var98 + var92 * 42L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Particles", (int)Math.min(var78 + var98 + var92 * 42L, 2147483647L), (int)var0.byteSize());
}
var78 += var98;
var74 = new ModelParticle[var92];
for (int var104 = 0; var104 < var92; var104++) {
var74[var104] = ModelParticle.toObject(var0, var78, var5);
var78 = var5.position;
}
var4 = var78 - var3;
} else {
requireSlot(var0, var1 + 221, -1, "Particles");
}
String var80 = null;
if (hasBlockParticleSetId(var0, var1)) {
requireSlot(var0, var1 + 225, var4, "BlockParticleSetId");
int var84 = var3 + var4;
long var88 = VarInt.getWithLength(var0, var84);
var80 = PacketIO.readVarString("BlockParticleSetId", var0, var84, 0, 4096000, var88);
var4 += (int)var88 + (int)(var88 >>> 32);
} else {
requireSlot(var0, var1 + 225, -1, "BlockParticleSetId");
}
String var85 = null;
if (hasBlockBreakingDecalId(var0, var1)) {
requireSlot(var0, var1 + 229, var4, "BlockBreakingDecalId");
int var89 = var3 + var4;
long var93 = VarInt.getWithLength(var0, var89);
var85 = PacketIO.readVarString("BlockBreakingDecalId", var0, var89, 0, 4096000, var93);
var4 += (int)var93 + (int)(var93 >>> 32);
} else {
requireSlot(var0, var1 + 229, -1, "BlockBreakingDecalId");
}
String var90 = null;
if (hasTransitionTexture(var0, var1)) {
requireSlot(var0, var1 + 233, var4, "TransitionTexture");
int var94 = var3 + var4;
long var99 = VarInt.getWithLength(var0, var94);
var90 = PacketIO.readVarString("TransitionTexture", var0, var94, 0, 4096000, var99);
var4 += (int)var99 + (int)(var99 >>> 32);
} else {
requireSlot(var0, var1 + 233, -1, "TransitionTexture");
}
int[] var95 = null;
if (hasTransitionToGroups(var0, var1)) {
requireSlot(var0, var1 + 237, var4, "TransitionToGroups");
int var100 = var3 + var4;
long var105 = VarInt.getWithLength(var0, var100);
if (var105 == -1L) {
throw ProtocolException.invalidVarInt("TransitionToGroups");
}
int var111 = (int)var105;
if (var111 > 4096000) {
throw ProtocolException.arrayTooLong("TransitionToGroups", var111, 4096000);
}
int var26 = (int)(var105 >>> 32);
if (var100 + var26 + var111 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("TransitionToGroups", (int)Math.min(var100 + var26 + var111 * 4L, 2147483647L), (int)var0.byteSize());
}
var100 += var26;
var95 = new int[var111];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var100, var95, 0, var111);
var4 = var100 + var111 * 4 - var3;
} else {
requireSlot(var0, var1 + 237, -1, "TransitionToGroups");
}
String var102 = null;
if (hasInteractionHint(var0, var1)) {
requireSlot(var0, var1 + 241, var4, "InteractionHint");
int var106 = var3 + var4;
long var109 = VarInt.getWithLength(var0, var106);
var102 = PacketIO.readVarString("InteractionHint", var0, var106, 0, 4096000, var109);
var4 += (int)var109 + (int)(var109 >>> 32);
} else {
requireSlot(var0, var1 + 241, -1, "InteractionHint");
}
BlockGathering var107 = null;
if (hasGathering(var0, var1)) {
requireSlot(var0, var1 + 245, var4, "Gathering");
var107 = BlockGathering.toObject(var0, var3 + var4, var5);
var4 = var5.position - var3;
} else {
requireSlot(var0, var1 + 245, -1, "Gathering");
}
ModelDisplay var110 = null;
if (hasDisplay(var0, var1)) {
requireSlot(var0, var1 + 249, var4, "Display");
var110 = ModelDisplay.toObject(var0, var3 + var4, var5);
var4 = var5.position - var3;
} else {
requireSlot(var0, var1 + 249, -1, "Display");
}
RailConfig var112 = null;
if (hasRail(var0, var1)) {
requireSlot(var0, var1 + 253, var4, "Rail");
var112 = RailConfig.toObject(var0, var3 + var4, var5);
var4 = var5.position - var3;
} else {
requireSlot(var0, var1 + 253, -1, "Rail");
}
Map var113 = null;
if (hasInteractions(var0, var1)) {
requireSlot(var0, var1 + 257, var4, "Interactions");
int var27 = var3 + var4;
long var28 = VarInt.getWithLength(var0, var27);
if (var28 == -1L) {
throw ProtocolException.invalidVarInt("Interactions");
}
int var30 = (int)var28;
if (var30 > 4096000) {
throw ProtocolException.dictionaryTooLarge("Interactions", var30, 4096000);
}
var27 += (int)(var28 >>> 32);
if (var27 + var30 * 5L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Interactions", (int)Math.min(var27 + var30 * 5L, 2147483647L), (int)var0.byteSize());
}
var113 = new HashMap<>(var30);
for (int var31 = 0; var31 < var30; var31++) {
InteractionType var32 = InteractionType.fromValue(var0.get(PacketIO.PROTO_BYTE, var27));
int var33 = var0.get(PacketIO.PROTO_INT, ++var27);
var27 += 4;
if (var113.put(var32, var33) != null) {
throw ProtocolException.duplicateKey("Interactions", var32);
}
}
var4 = var27 - var3;
} else {
requireSlot(var0, var1 + 257, -1, "Interactions");
}
Map var116 = null;
if (hasStates(var0, var1)) {
requireSlot(var0, var1 + 261, var4, "States");
int var117 = var3 + var4;
long var29 = VarInt.getWithLength(var0, var117);
if (var29 == -1L) {
throw ProtocolException.invalidVarInt("States");
}
int var126 = (int)var29;
if (var126 > 4096000) {
throw ProtocolException.dictionaryTooLarge("States", var126, 4096000);
}
var117 += (int)(var29 >>> 32);
if (var117 + var126 * 5L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("States", (int)Math.min(var117 + var126 * 5L, 2147483647L), (int)var0.byteSize());
}
var116 = new HashMap<>(var126);
for (int var128 = 0; var128 < var126; var128++) {
long var130 = VarInt.getWithLength(var0, var117);
String var35 = PacketIO.readVarString("key", var0, var117, 0, 4096000, var130);
var117 += (int)var130 + (int)(var130 >>> 32);
int var36 = var0.get(PacketIO.PROTO_INT, var117);
var117 += 4;
if (var116.put(var35, var36) != null) {
throw ProtocolException.duplicateKey("States", var35);
}
}
var4 = var117 - var3;
} else {
requireSlot(var0, var1 + 261, -1, "States");
}
int[] var120 = null;
if (hasTagIndexes(var0, var1)) {
requireSlot(var0, var1 + 265, var4, "TagIndexes");
int var121 = var3 + var4;
long var124 = VarInt.getWithLength(var0, var121);
if (var124 == -1L) {
throw ProtocolException.invalidVarInt("TagIndexes");
}
int var129 = (int)var124;
if (var129 > 4096000) {
throw ProtocolException.arrayTooLong("TagIndexes", var129, 4096000);
}
int var131 = (int)(var124 >>> 32);
if (var121 + var131 + var129 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("TagIndexes", (int)Math.min(var121 + var131 + var129 * 4L, 2147483647L), (int)var0.byteSize());
}
var121 += var131;
var120 = new int[var129];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var121, var120, 0, var129);
var4 = var121 + var129 * 4 - var3;
} else {
requireSlot(var0, var1 + 265, -1, "TagIndexes");
}
Bench var123 = null;
if (hasBench(var0, var1)) {
requireSlot(var0, var1 + 269, var4, "Bench");
var123 = Bench.toObject(var0, var3 + var4, var5);
var4 = var5.position - var3;
} else {
requireSlot(var0, var1 + 269, -1, "Bench");
}
ConnectedBlockRuleSet var125 = null;
if (hasConnectedBlockRuleSet(var0, var1)) {
requireSlot(var0, var1 + 273, var4, "ConnectedBlockRuleSet");
var125 = ConnectedBlockRuleSet.toObject(var0, var3 + var4, var5);
var4 = var5.position - var3;
} else {
requireSlot(var0, var1 + 273, -1, "ConnectedBlockRuleSet");
}
BlockType var127 = new BlockType(
var6,
var37,
var0.get(PacketIO.PROTO_BOOL, var1 + 4),
DrawType.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 5)),
BlockMaterial.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 6)),
Opacity.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 7)),
var39,
var0.get(PacketIO.PROTO_INT, var1 + 8),
var0.get(PacketIO.PROTO_INT, var1 + 12),
var42,
var44,
PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 16), "ModelScale"),
var47,
PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 20), "ModelAnimationSpeed"),
var0.get(PacketIO.PROTO_BOOL, var1 + 24),
var0.get(PacketIO.PROTO_INT, var1 + 25),
BlockSupportsRequiredForType.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 29)),
var50,
var55,
var0.get(PacketIO.PROTO_BOOL, var1 + 30),
var61,
var65,
ShadingMode.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 31)),
RandomRotation.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 32)),
VariantRotation.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 33)),
Rotation.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 34)),
var0.get(PacketIO.PROTO_INT, var1 + 35),
var0.get(PacketIO.PROTO_INT, var1 + 39),
PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 43), "SoundOcclusionOpacity"),
var0.get(PacketIO.PROTO_INT, var1 + 47),
var69,
var74,
var80,
var85,
hasParticleColor(var0, var1) ? Color.toObject(var0, var1 + 51) : null,
hasTextureComputedColor(var0, var1) ? Color.toObject(var0, var1 + 54) : null,
hasLight(var0, var1) ? ColorLight.toObject(var0, var1 + 57) : null,
hasTint(var0, var1) ? Tint.toObject(var0, var1 + 61) : null,
hasBiomeTint(var0, var1) ? Tint.toObject(var0, var1 + 85) : null,
var0.get(PacketIO.PROTO_INT, var1 + 109),
var90,
var95,
BlockMovementSettings.toObject(var0, var1 + 113),
var102,
var107,
hasPlacementSettings(var0, var1) ? BlockPlacementSettings.toObject(var0, var1 + 156) : null,
var110,
var112,
var0.get(PacketIO.PROTO_BOOL, var1 + 172),
var113,
var116,
var0.get(PacketIO.PROTO_INT, var1 + 173),
var120,
var123,
var125
);
if (var2 != null) {
var2.position = var3 + var4;
}
class="kw">return var127;
}
class="kw">public int serialize(@Nonnull MemorySegment var1, int var2) {
byte var3 = 0;
if (this.particleColor != null) {
var3 = (byte)(var3 | 1);
}
if (this.textureComputedColor != null) {
var3 = (byte)(var3 | 2);
}
if (this.light != null) {
var3 = (byte)(var3 | 4);
}
if (this.tint != null) {
var3 = (byte)(var3 | 8);
}
if (this.biomeTint != null) {
var3 = (byte)(var3 | 16);
}
if (this.placementSettings != null) {
var3 = (byte)(var3 | 32);
}
if (this.item != null) {
var3 = (byte)(var3 | 64);
}
if (this.name != null) {
var3 = (byte)(var3 | 128);
}
var1.set(PacketIO.PROTO_BYTE, var2 + 0, var3);
var3 = 0;
if (this.shaderEffect != null) {
var3 = (byte)(var3 | 1);
}
if (this.model != null) {
var3 = (byte)(var3 | 2);
}
if (this.modelTexture != null) {
var3 = (byte)(var3 | 4);
}
if (this.modelAnimation != null) {
var3 = (byte)(var3 | 8);
}
if (this.support != null) {
var3 = (byte)(var3 | 16);
}
if (this.supporting != null) {
var3 = (byte)(var3 | 32);
}
if (this.cubeTextures != null) {
var3 = (byte)(var3 | 64);
}
if (this.cubeSideMaskTexture != null) {
var3 = (byte)(var3 | 128);
}
var1.set(PacketIO.PROTO_BYTE, var2 + 1, var3);
var3 = 0;
if (this.conditionalSounds != null) {
var3 = (byte)(var3 | 1);
}
if (this.particles != null) {
var3 = (byte)(var3 | 2);
}
if (this.blockParticleSetId != null) {
var3 = (byte)(var3 | 4);
}
if (this.blockBreakingDecalId != null) {
var3 = (byte)(var3 | 8);
}
if (this.transitionTexture != null) {
var3 = (byte)(var3 | 16);
}
if (this.transitionToGroups != null) {
var3 = (byte)(var3 | 32);
}
if (this.interactionHint != null) {
var3 = (byte)(var3 | 64);
}
if (this.gathering != null) {
var3 = (byte)(var3 | 128);
}
var1.set(PacketIO.PROTO_BYTE, var2 + 2, var3);
var3 = 0;
if (this.display != null) {
var3 = (byte)(var3 | 1);
}
if (this.rail != null) {
var3 = (byte)(var3 | 2);
}
if (this.interactions != null) {
var3 = (byte)(var3 | 4);
}
if (this.states != null) {
var3 = (byte)(var3 | 8);
}
if (this.tagIndexes != null) {
var3 = (byte)(var3 | 16);
}
if (this.bench != null) {
var3 = (byte)(var3 | 32);
}
if (this.connectedBlockRuleSet != null) {
var3 = (byte)(var3 | 64);
}
var1.set(PacketIO.PROTO_BYTE, var2 + 3, var3);
var1.set(PacketIO.PROTO_BOOL, var2 + 4, this.unknown);
var1.set(PacketIO.PROTO_BYTE, var2 + 5, (byte)this.drawType.getValue());
var1.set(PacketIO.PROTO_BYTE, var2 + 6, (byte)this.material.getValue());
var1.set(PacketIO.PROTO_BYTE, var2 + 7, (byte)this.opacity.getValue());
var1.set(PacketIO.PROTO_INT, var2 + 8, this.hitbox);
var1.set(PacketIO.PROTO_INT, var2 + 12, this.interactionHitbox);
PacketIO.requireFinite(this.modelScale, "ModelScale");
var1.set(PacketIO.PROTO_FLOAT, var2 + 16, this.modelScale);
PacketIO.requireFinite(this.modelAnimationSpeed, "ModelAnimationSpeed");
var1.set(PacketIO.PROTO_FLOAT, var2 + 20, this.modelAnimationSpeed);
var1.set(PacketIO.PROTO_BOOL, var2 + 24, this.looping);
var1.set(PacketIO.PROTO_INT, var2 + 25, this.maxSupportDistance);
var1.set(PacketIO.PROTO_BYTE, var2 + 29, (byte)this.blockSupportsRequiredFor.getValue());
var1.set(PacketIO.PROTO_BOOL, var2 + 30, this.requiresAlphaBlending);
var1.set(PacketIO.PROTO_BYTE, var2 + 31, (byte)this.cubeShadingMode.getValue());
var1.set(PacketIO.PROTO_BYTE, var2 + 32, (byte)this.randomRotation.getValue());
var1.set(PacketIO.PROTO_BYTE, var2 + 33, (byte)this.variantRotation.getValue());
var1.set(PacketIO.PROTO_BYTE, var2 + 34, (byte)this.rotationYawPlacementOffset.getValue());
var1.set(PacketIO.PROTO_INT, var2 + 35, this.blockSoundSetIndex);
var1.set(PacketIO.PROTO_INT, var2 + 39, this.physicalMaterialIndex);
PacketIO.requireFinite(this.soundOcclusionOpacity, "SoundOcclusionOpacity");
var1.set(PacketIO.PROTO_FLOAT, var2 + 43, this.soundOcclusionOpacity);
var1.set(PacketIO.PROTO_INT, var2 + 47, this.ambientSoundEventIndex);
if (this.particleColor != null) {
this.particleColor.serialize(var1, var2 + 51);
} else {
var1.asSlice(var2 + 51, 3L).fill((byte)0);
}
if (this.textureComputedColor != null) {
this.textureComputedColor.serialize(var1, var2 + 54);
} else {
var1.asSlice(var2 + 54, 3L).fill((byte)0);
}
if (this.light != null) {
this.light.serialize(var1, var2 + 57);
} else {
var1.asSlice(var2 + 57, 4L).fill((byte)0);
}
if (this.tint != null) {
this.tint.serialize(var1, var2 + 61);
} else {
var1.asSlice(var2 + 61, 24L).fill((byte)0);
}
if (this.biomeTint != null) {
this.biomeTint.serialize(var1, var2 + 85);
} else {
var1.asSlice(var2 + 85, 24L).fill((byte)0);
}
var1.set(PacketIO.PROTO_INT, var2 + 109, this.group);
this.movementSettings.serialize(var1, var2 + 113);
if (this.placementSettings != null) {
this.placementSettings.serialize(var1, var2 + 156);
} else {
var1.asSlice(var2 + 156, 16L).fill((byte)0);
}
var1.set(PacketIO.PROTO_BOOL, var2 + 172, this.ignoreSupportWhenPlaced);
var1.set(PacketIO.PROTO_INT, var2 + 173, this.transitionToTag);
int var4 = var2 + 277;
if (this.item != null) {
var1.set(PacketIO.PROTO_INT, var2 + 177, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.item, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 177, -1);
}
if (this.name != null) {
var1.set(PacketIO.PROTO_INT, var2 + 181, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.name, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 181, -1);
}
if (this.shaderEffect != null) {
var1.set(PacketIO.PROTO_INT, var2 + 185, var4 - var2 - 277);
if (this.shaderEffect.length > 4096000) {
throw ProtocolException.arrayTooLong("ShaderEffect", this.shaderEffect.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.shaderEffect.length);
for (int var5 = 0; var5 < this.shaderEffect.length; var5++) {
var1.set(PacketIO.PROTO_BYTE, var4 + var5 * 1, (byte)this.shaderEffect[var5].getValue());
}
var4 += this.shaderEffect.length * 1;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 185, -1);
}
if (this.model != null) {
var1.set(PacketIO.PROTO_INT, var2 + 189, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.model, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 189, -1);
}
if (this.modelTexture != null) {
var1.set(PacketIO.PROTO_INT, var2 + 193, var4 - var2 - 277);
if (this.modelTexture.length > 4096000) {
throw ProtocolException.arrayTooLong("ModelTexture", this.modelTexture.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.modelTexture.length);
int var25 = 0;
for (int var6 = 0; var6 < this.modelTexture.length; var6++) {
var25 += this.modelTexture[var6].serialize(var1, var4 + var25);
}
var4 += var25;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 193, -1);
}
if (this.modelAnimation != null) {
var1.set(PacketIO.PROTO_INT, var2 + 197, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.modelAnimation, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 197, -1);
}
if (this.support != null) {
var1.set(PacketIO.PROTO_INT, var2 + 201, var4 - var2 - 277);
if (this.support.size() > 4096000) {
throw ProtocolException.dictionaryTooLarge("Support", this.support.size(), 4096000);
}
var4 += VarInt.set(var1, var4, this.support.size());
for (Entry var33 : this.support.entrySet()) {
var1.set(PacketIO.PROTO_BYTE, var4, (byte)var33.getKey().getValue());
var4 = ++var4 + VarInt.set(var1, var4, var33.getValue().length);
for (RequiredBlockFaceSupport var10 : var33.getValue()) {
var4 += var10.serialize(var1, var4);
}
}
} else {
var1.set(PacketIO.PROTO_INT, var2 + 201, -1);
}
if (this.supporting != null) {
var1.set(PacketIO.PROTO_INT, var2 + 205, var4 - var2 - 277);
if (this.supporting.size() > 4096000) {
throw ProtocolException.dictionaryTooLarge("Supporting", this.supporting.size(), 4096000);
}
var4 += VarInt.set(var1, var4, this.supporting.size());
for (Entry var34 : this.supporting.entrySet()) {
var1.set(PacketIO.PROTO_BYTE, var4, (byte)var34.getKey().getValue());
var4 = ++var4 + VarInt.set(var1, var4, var34.getValue().length);
for (BlockFaceSupport var43 : var34.getValue()) {
var4 += var43.serialize(var1, var4);
}
}
} else {
var1.set(PacketIO.PROTO_INT, var2 + 205, -1);
}
if (this.cubeTextures != null) {
var1.set(PacketIO.PROTO_INT, var2 + 209, var4 - var2 - 277);
if (this.cubeTextures.length > 4096000) {
throw ProtocolException.arrayTooLong("CubeTextures", this.cubeTextures.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.cubeTextures.length);
int var28 = 0;
for (int var35 = 0; var35 < this.cubeTextures.length; var35++) {
var28 += this.cubeTextures[var35].serialize(var1, var4 + var28);
}
var4 += var28;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 209, -1);
}
if (this.cubeSideMaskTexture != null) {
var1.set(PacketIO.PROTO_INT, var2 + 213, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.cubeSideMaskTexture, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 213, -1);
}
if (this.conditionalSounds != null) {
var1.set(PacketIO.PROTO_INT, var2 + 217, var4 - var2 - 277);
if (this.conditionalSounds.length > 4096000) {
throw ProtocolException.arrayTooLong("ConditionalSounds", this.conditionalSounds.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.conditionalSounds.length);
int var29 = 0;
for (int var36 = 0; var36 < this.conditionalSounds.length; var36++) {
var29 += this.conditionalSounds[var36].serialize(var1, var4 + var29);
}
var4 += var29;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 217, -1);
}
if (this.particles != null) {
var1.set(PacketIO.PROTO_INT, var2 + 221, var4 - var2 - 277);
if (this.particles.length > 4096000) {
throw ProtocolException.arrayTooLong("Particles", this.particles.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.particles.length);
int var30 = 0;
for (int var37 = 0; var37 < this.particles.length; var37++) {
var30 += this.particles[var37].serialize(var1, var4 + var30);
}
var4 += var30;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 221, -1);
}
if (this.blockParticleSetId != null) {
var1.set(PacketIO.PROTO_INT, var2 + 225, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.blockParticleSetId, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 225, -1);
}
if (this.blockBreakingDecalId != null) {
var1.set(PacketIO.PROTO_INT, var2 + 229, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.blockBreakingDecalId, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 229, -1);
}
if (this.transitionTexture != null) {
var1.set(PacketIO.PROTO_INT, var2 + 233, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.transitionTexture, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 233, -1);
}
if (this.transitionToGroups != null) {
var1.set(PacketIO.PROTO_INT, var2 + 237, var4 - var2 - 277);
if (this.transitionToGroups.length > 4096000) {
throw ProtocolException.arrayTooLong("TransitionToGroups", this.transitionToGroups.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.transitionToGroups.length);
MemorySegment.copy(this.transitionToGroups, 0, var1, PacketIO.PROTO_INT, var4, this.transitionToGroups.length);
var4 += this.transitionToGroups.length * 4;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 237, -1);
}
if (this.interactionHint != null) {
var1.set(PacketIO.PROTO_INT, var2 + 241, var4 - var2 - 277);
var4 += PacketIO.writeVarString(var1, var4, this.interactionHint, 4096000);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 241, -1);
}
if (this.gathering != null) {
var1.set(PacketIO.PROTO_INT, var2 + 245, var4 - var2 - 277);
var4 += this.gathering.serialize(var1, var4);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 245, -1);
}
if (this.display != null) {
var1.set(PacketIO.PROTO_INT, var2 + 249, var4 - var2 - 277);
var4 += this.display.serialize(var1, var4);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 249, -1);
}
if (this.rail != null) {
var1.set(PacketIO.PROTO_INT, var2 + 253, var4 - var2 - 277);
var4 += this.rail.serialize(var1, var4);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 253, -1);
}
if (this.interactions != null) {
var1.set(PacketIO.PROTO_INT, var2 + 257, var4 - var2 - 277);
if (this.interactions.size() > 4096000) {
throw ProtocolException.dictionaryTooLarge("Interactions", this.interactions.size(), 4096000);
}
var4 += VarInt.set(var1, var4, this.interactions.size());
for (Entry var38 : this.interactions.entrySet()) {
var1.set(PacketIO.PROTO_BYTE, var4, (byte)var38.getKey().getValue());
var1.set(PacketIO.PROTO_INT, ++var4, var38.getValue());
var4 += 4;
}
} else {
var1.set(PacketIO.PROTO_INT, var2 + 257, -1);
}
if (this.states != null) {
var1.set(PacketIO.PROTO_INT, var2 + 261, var4 - var2 - 277);
if (this.states.size() > 4096000) {
throw ProtocolException.dictionaryTooLarge("States", this.states.size(), 4096000);
}
var4 += VarInt.set(var1, var4, this.states.size());
for (Entry var39 : this.states.entrySet()) {
var4 += PacketIO.writeVarString(var1, var4, var39.getKey(), 4096000);
var1.set(PacketIO.PROTO_INT, var4, var39.getValue());
var4 += 4;
}
} else {
var1.set(PacketIO.PROTO_INT, var2 + 261, -1);
}
if (this.tagIndexes != null) {
var1.set(PacketIO.PROTO_INT, var2 + 265, var4 - var2 - 277);
if (this.tagIndexes.length > 4096000) {
throw ProtocolException.arrayTooLong("TagIndexes", this.tagIndexes.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.tagIndexes.length);
MemorySegment.copy(this.tagIndexes, 0, var1, PacketIO.PROTO_INT, var4, this.tagIndexes.length);
var4 += this.tagIndexes.length * 4;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 265, -1);
}
if (this.bench != null) {
var1.set(PacketIO.PROTO_INT, var2 + 269, var4 - var2 - 277);
var4 += this.bench.serialize(var1, var4);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 269, -1);
}
if (this.connectedBlockRuleSet != null) {
var1.set(PacketIO.PROTO_INT, var2 + 273, var4 - var2 - 277);
var4 += this.connectedBlockRuleSet.serializeWithTypeId(var1, var4);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 273, -1);
}
class="kw">return var4 - var2;
}
class="kw">public int computeSize() {
int var1 = 277;
if (this.item != null) {
var1 += PacketIO.stringSize(this.item);
}
if (this.name != null) {
var1 += PacketIO.stringSize(this.name);
}
if (this.shaderEffect != null) {
var1 += VarInt.size(this.shaderEffect.length) + this.shaderEffect.length * 1;
}
if (this.model != null) {
var1 += PacketIO.stringSize(this.model);
}
if (this.modelTexture != null) {
int var2 = 0;
for (ModelTexture var6 : this.modelTexture) {
var2 += var6.computeSize();
}
var1 += VarInt.size(this.modelTexture.length) + var2;
}
if (this.modelAnimation != null) {
var1 += PacketIO.stringSize(this.modelAnimation);
}
if (this.support != null) {
int var7 = 0;
for (Entry var17 : this.support.entrySet()) {
var7 += 1 + VarInt.size(var17.getValue().length) + Arrays.stream(var17.getValue()).mapToInt(var0 -> var0.computeSize()).sum();
}
var1 += VarInt.size(this.support.size()) + var7;
}
if (this.supporting != null) {
int var8 = 0;
for (Entry var18 : this.supporting.entrySet()) {
var8 += 1 + VarInt.size(var18.getValue().length) + Arrays.stream(var18.getValue()).mapToInt(var0 -> var0.computeSize()).sum();
}
var1 += VarInt.size(this.supporting.size()) + var8;
}
if (this.cubeTextures != null) {
int var9 = 0;
for (BlockTextures var24 : this.cubeTextures) {
var9 += var24.computeSize();
}
var1 += VarInt.size(this.cubeTextures.length) + var9;
}
if (this.cubeSideMaskTexture != null) {
var1 += PacketIO.stringSize(this.cubeSideMaskTexture);
}
if (this.conditionalSounds != null) {
var1 += VarInt.size(this.conditionalSounds.length) + this.conditionalSounds.length * 8;
}
if (this.particles != null) {
int var10 = 0;
for (ModelParticle var25 : this.particles) {
var10 += var25.computeSize();
}
var1 += VarInt.size(this.particles.length) + var10;
}
if (this.blockParticleSetId != null) {
var1 += PacketIO.stringSize(this.blockParticleSetId);
}
if (this.blockBreakingDecalId != null) {
var1 += PacketIO.stringSize(this.blockBreakingDecalId);
}
if (this.transitionTexture != null) {
var1 += PacketIO.stringSize(this.transitionTexture);
}
if (this.transitionToGroups != null) {
var1 += VarInt.size(this.transitionToGroups.length) + this.transitionToGroups.length * 4;
}
if (this.interactionHint != null) {
var1 += PacketIO.stringSize(this.interactionHint);
}
if (this.gathering != null) {
var1 += this.gathering.computeSize();
}
if (this.display != null) {
var1 += this.display.computeSize();
}
if (this.rail != null) {
var1 += this.rail.computeSize();
}
if (this.interactions != null) {
var1 += VarInt.size(this.interactions.size()) + this.interactions.size() * 5;
}
if (this.states != null) {
int var11 = 0;
for (Entry var21 : this.states.entrySet()) {
var11 += PacketIO.stringSize(var21.getKey()) + 4;
}
var1 += VarInt.size(this.states.size()) + var11;
}
if (this.tagIndexes != null) {
var1 += VarInt.size(this.tagIndexes.length) + this.tagIndexes.length * 4;
}
if (this.bench != null) {
var1 += this.bench.computeSize();
}
if (this.connectedBlockRuleSet != null) {
var1 += this.connectedBlockRuleSet.computeSizeWithTypeId();
}
class="kw">return var1;
}
class="kw">public BlockType clone() {
BlockType var1 = new BlockType();
var1.item = this.item;
var1.name = this.name;
var1.unknown = this.unknown;
var1.drawType = this.drawType;
var1.material = this.material;
var1.opacity = this.opacity;
var1.shaderEffect = this.shaderEffect != null ? Arrays.copyOf(this.shaderEffect, this.shaderEffect.length) : null;
var1.hitbox = this.hitbox;
var1.interactionHitbox = this.interactionHitbox;
var1.model = this.model;
var1.modelTexture = this.modelTexture != null ? Arrays.stream(this.modelTexture).map(var0 -> var0.clone()).toArray(ModelTexture[]::new) : null;
var1.modelScale = this.modelScale;
var1.modelAnimation = this.modelAnimation;
var1.modelAnimationSpeed = this.modelAnimationSpeed;
var1.looping = this.looping;
var1.maxSupportDistance = this.maxSupportDistance;
var1.blockSupportsRequiredFor = this.blockSupportsRequiredFor;
if (this.support != null) {
Map var2 = new HashMap<>();
for (Entry var4 : this.support.entrySet()) {
var2.put(var4.getKey(), Arrays.stream(var4.getValue()).map(var0 -> var0.clone()).toArray(RequiredBlockFaceSupport[]::new));
}
var1.support = var2;
}
if (this.supporting != null) {
Map var5 = new HashMap<>();
for (Entry var7 : this.supporting.entrySet()) {
var5.put(var7.getKey(), Arrays.stream(var7.getValue()).map(var0 -> var0.clone()).toArray(BlockFaceSupport[]::new));
}
var1.supporting = var5;
}
var1.requiresAlphaBlending = this.requiresAlphaBlending;
var1.cubeTextures = this.cubeTextures != null ? Arrays.stream(this.cubeTextures).map(var0 -> var0.clone()).toArray(BlockTextures[]::new) : null;
var1.cubeSideMaskTexture = this.cubeSideMaskTexture;
var1.cubeShadingMode = this.cubeShadingMode;
var1.randomRotation = this.randomRotation;
var1.variantRotation = this.variantRotation;
var1.rotationYawPlacementOffset = this.rotationYawPlacementOffset;
var1.blockSoundSetIndex = this.blockSoundSetIndex;
var1.physicalMaterialIndex = this.physicalMaterialIndex;
var1.soundOcclusionOpacity = this.soundOcclusionOpacity;
var1.ambientSoundEventIndex = this.ambientSoundEventIndex;
var1.conditionalSounds = this.conditionalSounds != null
? Arrays.stream(this.conditionalSounds).map(var0 -> var0.clone()).toArray(ConditionalBlockSound[]::new)
: null;
var1.particles = this.particles != null ? Arrays.stream(this.particles).map(var0 -> var0.clone()).toArray(ModelParticle[]::new) : null;
var1.blockParticleSetId = this.blockParticleSetId;
var1.blockBreakingDecalId = this.blockBreakingDecalId;
var1.particleColor = this.particleColor != null ? this.particleColor.clone() : null;
var1.textureComputedColor = this.textureComputedColor != null ? this.textureComputedColor.clone() : null;
var1.light = this.light != null ? this.light.clone() : null;
var1.tint = this.tint != null ? this.tint.clone() : null;
var1.biomeTint = this.biomeTint != null ? this.biomeTint.clone() : null;
var1.group = this.group;
var1.transitionTexture = this.transitionTexture;
var1.transitionToGroups = this.transitionToGroups != null ? Arrays.copyOf(this.transitionToGroups, this.transitionToGroups.length) : null;
var1.movementSettings = this.movementSettings.clone();
var1.interactionHint = this.interactionHint;
var1.gathering = this.gathering != null ? this.gathering.clone() : null;
var1.placementSettings = this.placementSettings != null ? this.placementSettings.clone() : null;
var1.display = this.display != null ? this.display.clone() : null;
var1.rail = this.rail != null ? this.rail.clone() : null;
var1.ignoreSupportWhenPlaced = this.ignoreSupportWhenPlaced;
var1.interactions = this.interactions != null ? new HashMap<>(this.interactions) : null;
var1.states = this.states != null ? new HashMap<>(this.states) : null;
var1.transitionToTag = this.transitionToTag;
var1.tagIndexes = this.tagIndexes != null ? Arrays.copyOf(this.tagIndexes, this.tagIndexes.length) : null;
var1.bench = this.bench != null ? this.bench.clone() : null;
var1.connectedBlockRuleSet = this.connectedBlockRuleSet;
class="kw">return var1;
}
@Override
class="kw">public boolean equals(Object var1) {
if (this == var1) {
class="kw">return true;
} else {
class="kw">return !(var1 class="kw">instanceof BlockType var2)
? false
: Objects.equals(this.item, var2.item)
&& Objects.equals(this.name, var2.name)
&& this.unknown == var2.unknown
&& Objects.equals(this.drawType, var2.drawType)
&& Objects.equals(this.material, var2.material)
&& Objects.equals(this.opacity, var2.opacity)
&& Arrays.equals(this.shaderEffect, var2.shaderEffect)
&& this.hitbox == var2.hitbox
&& this.interactionHitbox == var2.interactionHitbox
&& Objects.equals(this.model, var2.model)
&& Arrays.equals(this.modelTexture, var2.modelTexture)
&& this.modelScale == var2.modelScale
&& Objects.equals(this.modelAnimation, var2.modelAnimation)
&& this.modelAnimationSpeed == var2.modelAnimationSpeed
&& this.looping == var2.looping
&& this.maxSupportDistance == var2.maxSupportDistance
&& Objects.equals(this.blockSupportsRequiredFor, var2.blockSupportsRequiredFor)
&& Objects.equals(this.support, var2.support)
&& Objects.equals(this.supporting, var2.supporting)
&& this.requiresAlphaBlending == var2.requiresAlphaBlending
&& Arrays.equals(this.cubeTextures, var2.cubeTextures)
&& Objects.equals(this.cubeSideMaskTexture, var2.cubeSideMaskTexture)
&& Objects.equals(this.cubeShadingMode, var2.cubeShadingMode)
&& Objects.equals(this.randomRotation, var2.randomRotation)
&& Objects.equals(this.variantRotation, var2.variantRotation)
&& Objects.equals(this.rotationYawPlacementOffset, var2.rotationYawPlacementOffset)
&& this.blockSoundSetIndex == var2.blockSoundSetIndex
&& this.physicalMaterialIndex == var2.physicalMaterialIndex
&& this.soundOcclusionOpacity == var2.soundOcclusionOpacity
&& this.ambientSoundEventIndex == var2.ambientSoundEventIndex
&& Arrays.equals(this.conditionalSounds, var2.conditionalSounds)
&& Arrays.equals(this.particles, var2.particles)
&& Objects.equals(this.blockParticleSetId, var2.blockParticleSetId)
&& Objects.equals(this.blockBreakingDecalId, var2.blockBreakingDecalId)
&& Objects.equals(this.particleColor, var2.particleColor)
&& Objects.equals(this.textureComputedColor, var2.textureComputedColor)
&& Objects.equals(this.light, var2.light)
&& Objects.equals(this.tint, var2.tint)
&& Objects.equals(this.biomeTint, var2.biomeTint)
&& this.group == var2.group
&& Objects.equals(this.transitionTexture, var2.transitionTexture)
&& Arrays.equals(this.transitionToGroups, var2.transitionToGroups)
&& Objects.equals(this.movementSettings, var2.movementSettings)
&& Objects.equals(this.interactionHint, var2.interactionHint)
&& Objects.equals(this.gathering, var2.gathering)
&& Objects.equals(this.placementSettings, var2.placementSettings)
&& Objects.equals(this.display, var2.display)
&& Objects.equals(this.rail, var2.rail)
&& this.ignoreSupportWhenPlaced == var2.ignoreSupportWhenPlaced
&& Objects.equals(this.interactions, var2.interactions)
&& Objects.equals(this.states, var2.states)
&& this.transitionToTag == var2.transitionToTag
&& Arrays.equals(this.tagIndexes, var2.tagIndexes)
&& Objects.equals(this.bench, var2.bench)
&& Objects.equals(this.connectedBlockRuleSet, var2.connectedBlockRuleSet);
}
}
@Override
class="kw">public int hashCode() {
int var1 = 1;
var1 = 31 * var1 + Objects.hashCode(this.item);
var1 = 31 * var1 + Objects.hashCode(this.name);
var1 = 31 * var1 + Boolean.hashCode(this.unknown);
var1 = 31 * var1 + Objects.hashCode(this.drawType);
var1 = 31 * var1 + Objects.hashCode(this.material);
var1 = 31 * var1 + Objects.hashCode(this.opacity);
var1 = 31 * var1 + Arrays.hashCode(this.shaderEffect);
var1 = 31 * var1 + Integer.hashCode(this.hitbox);
var1 = 31 * var1 + Integer.hashCode(this.interactionHitbox);
var1 = 31 * var1 + Objects.hashCode(this.model);
var1 = 31 * var1 + Arrays.hashCode(this.modelTexture);
var1 = 31 * var1 + Float.hashCode(this.modelScale);
var1 = 31 * var1 + Objects.hashCode(this.modelAnimation);
var1 = 31 * var1 + Float.hashCode(this.modelAnimationSpeed);
var1 = 31 * var1 + Boolean.hashCode(this.looping);
var1 = 31 * var1 + Integer.hashCode(this.maxSupportDistance);
var1 = 31 * var1 + Objects.hashCode(this.blockSupportsRequiredFor);
var1 = 31 * var1 + Objects.hashCode(this.support);
var1 = 31 * var1 + Objects.hashCode(this.supporting);
var1 = 31 * var1 + Boolean.hashCode(this.requiresAlphaBlending);
var1 = 31 * var1 + Arrays.hashCode(this.cubeTextures);
var1 = 31 * var1 + Objects.hashCode(this.cubeSideMaskTexture);
var1 = 31 * var1 + Objects.hashCode(this.cubeShadingMode);
var1 = 31 * var1 + Objects.hashCode(this.randomRotation);
var1 = 31 * var1 + Objects.hashCode(this.variantRotation);
var1 = 31 * var1 + Objects.hashCode(this.rotationYawPlacementOffset);
var1 = 31 * var1 + Integer.hashCode(this.blockSoundSetIndex);
var1 = 31 * var1 + Integer.hashCode(this.physicalMaterialIndex);
var1 = 31 * var1 + Float.hashCode(this.soundOcclusionOpacity);
var1 = 31 * var1 + Integer.hashCode(this.ambientSoundEventIndex);
var1 = 31 * var1 + Arrays.hashCode(this.conditionalSounds);
var1 = 31 * var1 + Arrays.hashCode(this.particles);
var1 = 31 * var1 + Objects.hashCode(this.blockParticleSetId);
var1 = 31 * var1 + Objects.hashCode(this.blockBreakingDecalId);
var1 = 31 * var1 + Objects.hashCode(this.particleColor);
var1 = 31 * var1 + Objects.hashCode(this.textureComputedColor);
var1 = 31 * var1 + Objects.hashCode(this.light);
var1 = 31 * var1 + Objects.hashCode(this.tint);
var1 = 31 * var1 + Objects.hashCode(this.biomeTint);
var1 = 31 * var1 + Integer.hashCode(this.group);
var1 = 31 * var1 + Objects.hashCode(this.transitionTexture);
var1 = 31 * var1 + Arrays.hashCode(this.transitionToGroups);
var1 = 31 * var1 + Objects.hashCode(this.movementSettings);
var1 = 31 * var1 + Objects.hashCode(this.interactionHint);
var1 = 31 * var1 + Objects.hashCode(this.gathering);
var1 = 31 * var1 + Objects.hashCode(this.placementSettings);
var1 = 31 * var1 + Objects.hashCode(this.display);
var1 = 31 * var1 + Objects.hashCode(this.rail);
var1 = 31 * var1 + Boolean.hashCode(this.ignoreSupportWhenPlaced);
var1 = 31 * var1 + Objects.hashCode(this.interactions);
var1 = 31 * var1 + Objects.hashCode(this.states);
var1 = 31 * var1 + Integer.hashCode(this.transitionToTag);
var1 = 31 * var1 + Arrays.hashCode(this.tagIndexes);
var1 = 31 * var1 + Objects.hashCode(this.bench);
class="kw">return 31 * var1 + Objects.hashCode(this.connectedBlockRuleSet);
}
}