ProjectileConfig class
Пакет: com.hypixel.hytale.protocol
Файл: com/hypixel/hytale/protocol/ProjectileConfig.java
Поля (42)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
int |
NULLABLE_BIT_FIELD_SIZE |
|
int |
var1 |
|
ProjectileConfig |
var1 |
|
int |
var11 |
|
InteractionType |
var13 |
|
int |
var14 |
|
ProjectileConfig |
var17 |
|
long |
var2 |
|
int |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
long |
var3 |
|
int |
var3 |
|
byte |
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
int |
var4 |
|
int |
var4 |
|
|
var4 |
|
|
var4 |
|
byte |
var4 |
|
|
var4 |
|
|
var4 |
|
int |
var5 |
|
int |
var5 |
|
ReadCursor |
var5 |
|
int |
var5 |
|
Map |
var6 |
|
Model |
var6 |
|
|
var6 |
|
Map |
var7 |
|
|
var7 |
|
InteractionType |
var8 |
|
int |
var8 |
|
int |
var9 |
|
long |
var9 |
Методы (74)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
ProjectileConfig |
cloneProjectileConfig clone() |
public |
int |
computeSizeint computeSize() |
|
|
for for(int var7 = 0; var7 < var5; var7++) |
|
|
for for(int var12 = 0; var12 < var11; var12++) |
abstract |
return |
getInteractionsreturn getInteractions(var0, 0) |
static |
double |
getLaunchForcedouble getLaunchForce(MemorySegment var0) |
static |
double |
getLaunchForcedouble getLaunchForce(MemorySegment var0, int var1) |
abstract |
return |
getLaunchForcereturn getLaunchForce(var0, 0) |
static |
int |
getLaunchLocalSoundEventIndexint getLaunchLocalSoundEventIndex(MemorySegment var0) |
static |
int |
getLaunchLocalSoundEventIndexint getLaunchLocalSoundEventIndex(MemorySegment var0, int var1) |
abstract |
return |
getLaunchLocalSoundEventIndexreturn getLaunchLocalSoundEventIndex(var0, 0) |
static |
int |
getLaunchWorldSoundEventIndexint getLaunchWorldSoundEventIndex(MemorySegment var0) |
static |
int |
getLaunchWorldSoundEventIndexint getLaunchWorldSoundEventIndex(MemorySegment var0, int var1) |
abstract |
return |
getLaunchWorldSoundEventIndexreturn getLaunchWorldSoundEventIndex(var0, 0) |
static |
float |
getMaxScalefloat getMaxScale(MemorySegment var0) |
static |
float |
getMaxScalefloat getMaxScale(MemorySegment var0, int var1) |
abstract |
return |
getMaxScalereturn getMaxScale(var0, 0) |
static |
float |
getMinScalefloat getMinScale(MemorySegment var0) |
static |
float |
getMinScalefloat getMinScale(MemorySegment var0, int var1) |
abstract |
return |
getMinScalereturn getMinScale(var0, 0) |
abstract |
return |
getModelreturn getModel(var0, 0) |
abstract |
return |
getPhysicsConfigreturn getPhysicsConfig(var0, 0) |
static |
int |
getProjectileSoundEventIndexint getProjectileSoundEventIndex(MemorySegment var0) |
static |
int |
getProjectileSoundEventIndexint getProjectileSoundEventIndex(MemorySegment var0, int var1) |
abstract |
return |
getProjectileSoundEventIndexreturn getProjectileSoundEventIndex(var0, 0) |
static |
boolean |
getRotateSpawnOffsetByPitchboolean getRotateSpawnOffsetByPitch(MemorySegment var0) |
static |
boolean |
getRotateSpawnOffsetByPitchboolean getRotateSpawnOffsetByPitch(MemorySegment var0, int var1) |
abstract |
return |
getRotateSpawnOffsetByPitchreturn getRotateSpawnOffsetByPitch(var0, 0) |
static |
boolean |
getRotateSpawnOffsetByYawboolean getRotateSpawnOffsetByYaw(MemorySegment var0) |
static |
boolean |
getRotateSpawnOffsetByYawboolean getRotateSpawnOffsetByYaw(MemorySegment var0, int var1) |
abstract |
return |
getRotateSpawnOffsetByYawreturn getRotateSpawnOffsetByYaw(var0, 0) |
abstract |
return |
getRotationOffsetreturn getRotationOffset(var0, 0) |
abstract |
return |
getSpawnOffsetreturn getSpawnOffset(var0, 0) |
static |
int |
getValidatedOffsetint getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4) |
static |
boolean |
hasInteractionsboolean hasInteractions(MemorySegment var0, int var1) |
static |
boolean |
hasModelboolean hasModel(MemorySegment var0, int var1) |
static |
boolean |
hasPhysicsConfigboolean hasPhysicsConfig(MemorySegment var0, int var1) |
static |
boolean |
hasRotationOffsetboolean hasRotationOffset(MemorySegment var0, int var1) |
static |
boolean |
hasSpawnOffsetboolean hasSpawnOffset(MemorySegment var0, int var1) |
|
|
if if(var1 < 0) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var4 != var2) |
|
|
if if(var9 == -1L) |
|
|
if if(var11 > 4096000) |
|
|
if if(var2 != null) |
|
|
if if(this.physicsConfig != null) |
|
|
if if(this.spawnOffset != null) |
|
|
if if(this.rotationOffset != null) |
|
|
if if(this.model != null) |
|
|
if if(this.interactions != null) |
|
|
if if(this.physicsConfig != null) |
|
|
if if(this.spawnOffset != null) |
|
|
if if(this.rotationOffset != null) |
|
|
if if(this.rotateSpawnOffsetByPitch) |
|
|
if if(this.rotateSpawnOffsetByYaw) |
|
|
if if(this.model != null) |
|
|
if if(this.interactions != null) |
|
|
if if(this.model != null) |
|
|
if if(this.interactions != 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 + 174, var4, "Model") |
abstract |
|
requireSlot requireSlot(var0, var1 + 174, -1, "Model") |
abstract |
|
requireSlot requireSlot(var0, var1 + 178, var4, "Interactions") |
abstract |
|
requireSlot requireSlot(var0, var1 + 178, -1, "Interactions") |
public |
int |
serializeint serialize(@Nonnull MemorySegment var1, int var2) |
static |
ProjectileConfig |
toObjectProjectileConfig toObject(MemorySegment var0) |
static |
ProjectileConfig |
toObjectProjectileConfig toObject(MemorySegment var0, int var1) |
static |
ProjectileConfig |
toObjectProjectileConfig 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.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">import org.joml.Vector3fc;
class="kw">public class ProjectileConfig {
class="kw">public class="kw">static class="kw">final int NULLABLE_BIT_FIELD_SIZE = 1;
class="kw">public class="kw">static class="kw">final int FIXED_BLOCK_SIZE = 174;
class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 2;
class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 182;
class="kw">public class="kw">static class="kw">final int MAX_SIZE = 1677721600;
@Nullable
class="kw">public PhysicsConfig physicsConfig;
@Nullable
class="kw">public Model model;
class="kw">public double launchForce;
@Nullable
class="kw">public Vector3fc spawnOffset;
@Nullable
class="kw">public Direction rotationOffset;
class="kw">public boolean rotateSpawnOffsetByPitch;
class="kw">public boolean rotateSpawnOffsetByYaw;
@Nullable
class="kw">public Map<InteractionType, Integer> interactions;
class="kw">public int launchLocalSoundEventIndex;
class="kw">public int launchWorldSoundEventIndex;
class="kw">public int projectileSoundEventIndex;
class="kw">public float minScale;
class="kw">public float maxScale;
class="kw">public ProjectileConfig() {
}
class="kw">public ProjectileConfig(
@Nullable PhysicsConfig var1,
@Nullable Model var2,
double var3,
@Nullable Vector3fc var5,
@Nullable Direction var6,
boolean var7,
boolean var8,
@Nullable Map<InteractionType, Integer> var9,
int var10,
int var11,
int var12,
float var13,
float var14
) {
this.physicsConfig = var1;
this.model = var2;
this.launchForce = var3;
this.spawnOffset = var5;
this.rotationOffset = var6;
this.rotateSpawnOffsetByPitch = var7;
this.rotateSpawnOffsetByYaw = var8;
this.interactions = var9;
this.launchLocalSoundEventIndex = var10;
this.launchWorldSoundEventIndex = var11;
this.projectileSoundEventIndex = var12;
this.minScale = var13;
this.maxScale = var14;
}
class="kw">public ProjectileConfig(@Nonnull ProjectileConfig var1) {
this.physicsConfig = var1.physicsConfig;
this.model = var1.model;
this.launchForce = var1.launchForce;
this.spawnOffset = var1.spawnOffset;
this.rotationOffset = var1.rotationOffset;
this.rotateSpawnOffsetByPitch = var1.rotateSpawnOffsetByPitch;
this.rotateSpawnOffsetByYaw = var1.rotateSpawnOffsetByYaw;
this.interactions = var1.interactions;
this.launchLocalSoundEventIndex = var1.launchLocalSoundEventIndex;
this.launchWorldSoundEventIndex = var1.launchWorldSoundEventIndex;
this.projectileSoundEventIndex = var1.projectileSoundEventIndex;
this.minScale = var1.minScale;
this.maxScale = var1.maxScale;
}
class="kw">public class="kw">static void requireBounds(MemorySegment var0, int var1) {
if (var1 < 0) {
throw ProtocolException.invalidOffset("ProjectileConfig", var1, (int)var0.byteSize());
}
long var2 = var1 + 182L;
if (var2 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ProjectileConfig", (int)Math.min(var2, 2147483647L), (int)var0.byteSize());
}
}
@Nullable
class="kw">public class="kw">static PhysicsConfig getPhysicsConfig(MemorySegment var0) {
class="kw">return getPhysicsConfig(var0, 0);
}
@Nullable
class="kw">public class="kw">static PhysicsConfig getPhysicsConfig(MemorySegment var0, int var1) {
class="kw">return hasPhysicsConfig(var0, var1) ? PhysicsConfig.toObject(var0, var1 + 1) : null;
}
@Nullable
class="kw">public class="kw">static Model getModel(MemorySegment var0) {
class="kw">return getModel(var0, 0);
}
@Nullable
class="kw">public class="kw">static Model getModel(MemorySegment var0, int var1) {
class="kw">return hasModel(var0, var1) ? Model.toObject(var0, var1 + getValidatedOffset(var0, var1, 174, 182, "Model")) : null;
}
class="kw">public class="kw">static double getLaunchForce(MemorySegment var0) {
class="kw">return getLaunchForce(var0, 0);
}
class="kw">public class="kw">static double getLaunchForce(MemorySegment var0, int var1) {
class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_DOUBLE, var1 + 121), "LaunchForce");
}
@Nullable
class="kw">public class="kw">static Vector3fc getSpawnOffset(MemorySegment var0) {
class="kw">return getSpawnOffset(var0, 0);
}
@Nullable
class="kw">public class="kw">static Vector3fc getSpawnOffset(MemorySegment var0, int var1) {
class="kw">return hasSpawnOffset(var0, var1) ? PacketIO.requireFinite(PacketIO.readVector3f(var0, var1 + 129), "SpawnOffset") : null;
}
@Nullable
class="kw">public class="kw">static Direction getRotationOffset(MemorySegment var0) {
class="kw">return getRotationOffset(var0, 0);
}
@Nullable
class="kw">public class="kw">static Direction getRotationOffset(MemorySegment var0, int var1) {
class="kw">return hasRotationOffset(var0, var1) ? Direction.toObject(var0, var1 + 141) : null;
}
class="kw">public class="kw">static boolean getRotateSpawnOffsetByPitch(MemorySegment var0) {
class="kw">return getRotateSpawnOffsetByPitch(var0, 0);
}
class="kw">public class="kw">static boolean getRotateSpawnOffsetByPitch(MemorySegment var0, int var1) {
class="kw">return (var0.get(PacketIO.PROTO_BYTE, var1 + 153) & 1) != 0;
}
class="kw">public class="kw">static boolean getRotateSpawnOffsetByYaw(MemorySegment var0) {
class="kw">return getRotateSpawnOffsetByYaw(var0, 0);
}
class="kw">public class="kw">static boolean getRotateSpawnOffsetByYaw(MemorySegment var0, int var1) {
class="kw">return (var0.get(PacketIO.PROTO_BYTE, var1 + 153) & 2) != 0;
}
@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, 178, 182, "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;
}
class="kw">public class="kw">static int getLaunchLocalSoundEventIndex(MemorySegment var0) {
class="kw">return getLaunchLocalSoundEventIndex(var0, 0);
}
class="kw">public class="kw">static int getLaunchLocalSoundEventIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 154);
}
class="kw">public class="kw">static int getLaunchWorldSoundEventIndex(MemorySegment var0) {
class="kw">return getLaunchWorldSoundEventIndex(var0, 0);
}
class="kw">public class="kw">static int getLaunchWorldSoundEventIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 158);
}
class="kw">public class="kw">static int getProjectileSoundEventIndex(MemorySegment var0) {
class="kw">return getProjectileSoundEventIndex(var0, 0);
}
class="kw">public class="kw">static int getProjectileSoundEventIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 162);
}
class="kw">public class="kw">static float getMinScale(MemorySegment var0) {
class="kw">return getMinScale(var0, 0);
}
class="kw">public class="kw">static float getMinScale(MemorySegment var0, int var1) {
class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 166), "MinScale");
}
class="kw">public class="kw">static float getMaxScale(MemorySegment var0) {
class="kw">return getMaxScale(var0, 0);
}
class="kw">public class="kw">static float getMaxScale(MemorySegment var0, int var1) {
class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 170), "MaxScale");
}
class="kw">public class="kw">static boolean hasPhysicsConfig(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 hasSpawnOffset(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 hasRotationOffset(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 hasModel(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 hasInteractions(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 16) != 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 ProjectileConfig toObject(MemorySegment var0) {
class="kw">return toObject(var0, 0, null);
}
class="kw">public class="kw">static ProjectileConfig toObject(MemorySegment var0, int var1) {
class="kw">return toObject(var0, var1, null);
}
class="kw">public class="kw">static ProjectileConfig toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
requireBounds(var0, var1);
int var3 = var1 + 182;
int var4 = 0;
ReadCursor var5 = var2 != null ? var2 : new ReadCursor();
Model var6 = null;
if (hasModel(var0, var1)) {
requireSlot(var0, var1 + 174, var4, "Model");
var6 = Model.toObject(var0, var3 + var4, var5);
var4 = var5.position - var3;
} else {
requireSlot(var0, var1 + 174, -1, "Model");
}
Map var7 = null;
if (hasInteractions(var0, var1)) {
requireSlot(var0, var1 + 178, var4, "Interactions");
int var8 = var3 + var4;
long var9 = VarInt.getWithLength(var0, var8);
if (var9 == -1L) {
throw ProtocolException.invalidVarInt("Interactions");
}
int var11 = (int)var9;
if (var11 > 4096000) {
throw ProtocolException.dictionaryTooLarge("Interactions", var11, 4096000);
}
var8 += (int)(var9 >>> 32);
if (var8 + var11 * 5L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Interactions", (int)Math.min(var8 + var11 * 5L, 2147483647L), (int)var0.byteSize());
}
var7 = new HashMap<>(var11);
for (int var12 = 0; var12 < var11; var12++) {
InteractionType var13 = InteractionType.fromValue(var0.get(PacketIO.PROTO_BYTE, var8));
int var14 = var0.get(PacketIO.PROTO_INT, ++var8);
var8 += 4;
if (var7.put(var13, var14) != null) {
throw ProtocolException.duplicateKey("Interactions", var13);
}
}
var4 = var8 - var3;
} else {
requireSlot(var0, var1 + 178, -1, "Interactions");
}
ProjectileConfig var17 = new ProjectileConfig(
hasPhysicsConfig(var0, var1) ? PhysicsConfig.toObject(var0, var1 + 1) : null,
var6,
PacketIO.requireFinite(var0.get(PacketIO.PROTO_DOUBLE, var1 + 121), "LaunchForce"),
hasSpawnOffset(var0, var1) ? PacketIO.requireFinite(PacketIO.readVector3f(var0, var1 + 129), "SpawnOffset") : null,
hasRotationOffset(var0, var1) ? Direction.toObject(var0, var1 + 141) : null,
(var0.get(PacketIO.PROTO_BYTE, var1 + 153) & 1) != 0,
(var0.get(PacketIO.PROTO_BYTE, var1 + 153) & 2) != 0,
var7,
var0.get(PacketIO.PROTO_INT, var1 + 154),
var0.get(PacketIO.PROTO_INT, var1 + 158),
var0.get(PacketIO.PROTO_INT, var1 + 162),
PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 166), "MinScale"),
PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 170), "MaxScale")
);
if (var2 != null) {
var2.position = var3 + var4;
}
class="kw">return var17;
}
class="kw">public int serialize(@Nonnull MemorySegment var1, int var2) {
byte var3 = 0;
if (this.physicsConfig != null) {
var3 = (byte)(var3 | 1);
}
if (this.spawnOffset != null) {
var3 = (byte)(var3 | 2);
}
if (this.rotationOffset != null) {
var3 = (byte)(var3 | 4);
}
if (this.model != null) {
var3 = (byte)(var3 | 8);
}
if (this.interactions != null) {
var3 = (byte)(var3 | 16);
}
var1.set(PacketIO.PROTO_BYTE, var2 + 0, var3);
if (this.physicsConfig != null) {
this.physicsConfig.serialize(var1, var2 + 1);
} else {
var1.asSlice(var2 + 1, 120L).fill((byte)0);
}
PacketIO.requireFinite(this.launchForce, "LaunchForce");
var1.set(PacketIO.PROTO_DOUBLE, var2 + 121, this.launchForce);
if (this.spawnOffset != null) {
PacketIO.requireFinite(this.spawnOffset, "SpawnOffset");
PacketIO.writeVector3f(var1, var2 + 129, this.spawnOffset);
} else {
var1.asSlice(var2 + 129, 12L).fill((byte)0);
}
if (this.rotationOffset != null) {
this.rotationOffset.serialize(var1, var2 + 141);
} else {
var1.asSlice(var2 + 141, 12L).fill((byte)0);
}
byte var4 = 0;
if (this.rotateSpawnOffsetByPitch) {
var4 = (byte)(var4 | 1);
}
if (this.rotateSpawnOffsetByYaw) {
var4 = (byte)(var4 | 2);
}
var1.set(PacketIO.PROTO_BYTE, var2 + 153 + 0, var4);
var1.set(PacketIO.PROTO_INT, var2 + 154, this.launchLocalSoundEventIndex);
var1.set(PacketIO.PROTO_INT, var2 + 158, this.launchWorldSoundEventIndex);
var1.set(PacketIO.PROTO_INT, var2 + 162, this.projectileSoundEventIndex);
PacketIO.requireFinite(this.minScale, "MinScale");
var1.set(PacketIO.PROTO_FLOAT, var2 + 166, this.minScale);
PacketIO.requireFinite(this.maxScale, "MaxScale");
var1.set(PacketIO.PROTO_FLOAT, var2 + 170, this.maxScale);
int var5 = var2 + 182;
if (this.model != null) {
var1.set(PacketIO.PROTO_INT, var2 + 174, var5 - var2 - 182);
var5 += this.model.serialize(var1, var5);
} else {
var1.set(PacketIO.PROTO_INT, var2 + 174, -1);
}
if (this.interactions != null) {
var1.set(PacketIO.PROTO_INT, var2 + 178, var5 - var2 - 182);
if (this.interactions.size() > 4096000) {
throw ProtocolException.dictionaryTooLarge("Interactions", this.interactions.size(), 4096000);
}
var5 += VarInt.set(var1, var5, this.interactions.size());
for (Entry var7 : this.interactions.entrySet()) {
var1.set(PacketIO.PROTO_BYTE, var5, (byte)var7.getKey().getValue());
var1.set(PacketIO.PROTO_INT, ++var5, var7.getValue());
var5 += 4;
}
} else {
var1.set(PacketIO.PROTO_INT, var2 + 178, -1);
}
class="kw">return var5 - var2;
}
class="kw">public int computeSize() {
int var1 = 182;
if (this.model != null) {
var1 += this.model.computeSize();
}
if (this.interactions != null) {
var1 += VarInt.size(this.interactions.size()) + this.interactions.size() * 5;
}
class="kw">return var1;
}
class="kw">public ProjectileConfig clone() {
ProjectileConfig var1 = new ProjectileConfig();
var1.physicsConfig = this.physicsConfig != null ? this.physicsConfig.clone() : null;
var1.model = this.model != null ? this.model.clone() : null;
var1.launchForce = this.launchForce;
var1.spawnOffset = this.spawnOffset;
var1.rotationOffset = this.rotationOffset != null ? this.rotationOffset.clone() : null;
var1.rotateSpawnOffsetByPitch = this.rotateSpawnOffsetByPitch;
var1.rotateSpawnOffsetByYaw = this.rotateSpawnOffsetByYaw;
var1.interactions = this.interactions != null ? new HashMap<>(this.interactions) : null;
var1.launchLocalSoundEventIndex = this.launchLocalSoundEventIndex;
var1.launchWorldSoundEventIndex = this.launchWorldSoundEventIndex;
var1.projectileSoundEventIndex = this.projectileSoundEventIndex;
var1.minScale = this.minScale;
var1.maxScale = this.maxScale;
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 ProjectileConfig var2)
? false
: Objects.equals(this.physicsConfig, var2.physicsConfig)
&& Objects.equals(this.model, var2.model)
&& this.launchForce == var2.launchForce
&& Objects.equals(this.spawnOffset, var2.spawnOffset)
&& Objects.equals(this.rotationOffset, var2.rotationOffset)
&& this.rotateSpawnOffsetByPitch == var2.rotateSpawnOffsetByPitch
&& this.rotateSpawnOffsetByYaw == var2.rotateSpawnOffsetByYaw
&& Objects.equals(this.interactions, var2.interactions)
&& this.launchLocalSoundEventIndex == var2.launchLocalSoundEventIndex
&& this.launchWorldSoundEventIndex == var2.launchWorldSoundEventIndex
&& this.projectileSoundEventIndex == var2.projectileSoundEventIndex
&& this.minScale == var2.minScale
&& this.maxScale == var2.maxScale;
}
}
@Override
class="kw">public int hashCode() {
class="kw">return Objects.hash(
this.physicsConfig,
this.model,
this.launchForce,
this.spawnOffset,
this.rotationOffset,
this.rotateSpawnOffsetByPitch,
this.rotateSpawnOffsetByYaw,
this.interactions,
this.launchLocalSoundEventIndex,
this.launchWorldSoundEventIndex,
this.projectileSoundEventIndex,
this.minScale,
this.maxScale
);
}
}