HitboxCollision class
Пакет: com.hypixel.hytale.server.core.modules.entity.hitboxcollision
Файл: com/hypixel/hytale/server/core/modules/entity/hitboxcollision/HitboxCollision.java
implements: Component<EntityStore>
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
int |
VERSION |
|
yield |
null |
|
boolean |
var1 |
|
HitboxCollision |
var1 |
|
String |
var2 |
|
int |
var2 |
|
int |
var3 |
Методы (10)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
boolean |
consumeNetworkOutdatedboolean consumeNetworkOutdated() |
static |
ComponentType<EntityStore, HitboxCollision> |
getComponentTypeComponentType<EntityStore, HitboxCollision> getComponentType() |
public |
int |
getHitboxCollisionConfigIndexint getHitboxCollisionConfigIndex() |
|
|
if if(var2 == null) |
|
|
if if(var3 == -1) |
|
|
if if(this.hitboxCollisionConfigIndex != -1) |
|
|
if if(var2 != this.hitboxCollisionConfigIndex) |
public |
boolean |
isMigratedboolean isMigrated() |
public |
void |
setHitboxCollisionConfigvoid setHitboxCollisionConfig(@Nonnull HitboxCollisionConfig var1) |
|
return |
switchreturn switch(var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.entity.hitboxcollision;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class HitboxCollision class="kw">implements Component<EntityStore> {
class="kw">public class="kw">static class="kw">final int VERSION = 1;
@Nonnull
class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
class="kw">public class="kw">static class="kw">final BuilderCodec<HitboxCollision> CODEC = BuilderCodec.<HitboxCollision>builder(HitboxCollision.class, HitboxCollision::new)
.codecVersion(1)
.versioned()
.<Integer>append(new KeyedCodec<>("HitboxCollisionConfigIndex", Codec.INTEGER), (var0, var1) -> var0.indexToMigrate = var1, var0 -> var0.indexToMigrate)
.setVersionRange(0, 0)
.add()
.<String>append(
new KeyedCodec<>("HitboxCollisionConfigId", Codec.STRING), (var0, var1) -> var0.hitboxCollisionConfigId = var1, var0 -> var0.hitboxCollisionConfigId
)
.setVersionRange(1, 1)
.add()
.afterDecode((var0, var1) -> {
if (var1.getVersion() == 0) {
var0.hitboxCollisionConfigId = legacyIndexToId(var0.indexToMigrate);
var0.migrated = true;
var0.indexToMigrate = -1;
}
String var2 = var0.hitboxCollisionConfigId;
if (var2 == null) {
var0.hitboxCollisionConfigIndex = -1;
} else {
int var3 = HitboxCollisionConfig.getAssetMap().getIndexOrDefault(var2, -1);
if (var3 == -1) {
LOGGER.at(Level.WARNING).log("HitboxCollisionConfig '%s' does not exist; clearing the reference", var2);
var0.hitboxCollisionConfigId = null;
}
var0.hitboxCollisionConfigIndex = var3;
}
})
.build();
class="kw">private int indexToMigrate = -1;
@Nullable
class="kw">private String hitboxCollisionConfigId;
class="kw">private int hitboxCollisionConfigIndex = -1;
class="kw">private boolean migrated;
class="kw">private boolean isNetworkOutdated = true;
class="kw">public class="kw">static ComponentType<EntityStore, HitboxCollision> getComponentType() {
class="kw">return EntityModule.get().getHitboxCollisionComponentType();
}
@Nullable
class="kw">private class="kw">static String legacyIndexToId(int var0) {
class="kw">return class="kw">switch (var0) {
case -1 -> null;
case 0 -> "HardCollision";
case 1 -> "SoftCollision";
class="kw">default -> {
LOGGER.at(Level.WARNING).log("Unknown legacy HitboxCollisionConfigIndex %d; dropping the reference", var0);
yield null;
}
};
}
class="kw">public HitboxCollision(@Nonnull HitboxCollisionConfig var1) {
this.hitboxCollisionConfigIndex = HitboxCollisionConfig.getAssetMap().getIndexOrDefault(var1.getId(), -1);
if (this.hitboxCollisionConfigIndex != -1) {
this.hitboxCollisionConfigId = var1.getId();
}
}
class="kw">protected HitboxCollision() {
}
class="kw">public int getHitboxCollisionConfigIndex() {
class="kw">return this.hitboxCollisionConfigIndex;
}
@Nullable
class="kw">public String getHitboxCollisionConfigId() {
class="kw">return this.hitboxCollisionConfigId;
}
class="kw">public boolean isMigrated() {
class="kw">return this.migrated;
}
class="kw">public void setHitboxCollisionConfig(@Nonnull HitboxCollisionConfig var1) {
int var2 = HitboxCollisionConfig.getAssetMap().getIndexOrDefault(var1.getId(), -1);
if (var2 != this.hitboxCollisionConfigIndex) {
this.hitboxCollisionConfigIndex = var2;
this.hitboxCollisionConfigId = var2 != -1 ? var1.getId() : null;
this.isNetworkOutdated = true;
}
}
class="kw">public boolean consumeNetworkOutdated() {
boolean var1 = this.isNetworkOutdated;
this.isNetworkOutdated = false;
class="kw">return var1;
}
@Nonnull
@Override
class="kw">public Component<EntityStore> clone() {
HitboxCollision var1 = new HitboxCollision();
var1.hitboxCollisionConfigId = this.hitboxCollisionConfigId;
var1.hitboxCollisionConfigIndex = this.hitboxCollisionConfigIndex;
var1.migrated = this.migrated;
class="kw">return var1;
}
}