HitboxCollisionConfig class
Пакет: com.hypixel.hytale.server.core.modules.entity.hitboxcollision
Файл: com/hypixel/hytale/server/core/modules/entity/hitboxcollision/HitboxCollisionConfig.java
implements: JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, HitboxCollisionConfig>>,
NetworkSerializable<com.hypixel.hytale.protocol.HitboxCollisionConfig>
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
ASSET_STORE |
final |
AssetBuilderCodec<String, HitboxCollisionConfig> |
CODEC |
|
com.hypixel.hytale.protocol.HitboxCollisionConfig |
var1 |
Методы (8)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
boolean |
getAllowEntityAnchoringboolean getAllowEntityAnchoring() |
static |
IndexedLookupTableAssetMap<String, HitboxCollisionConfig> |
getAssetMapIndexedLookupTableAssetMap<String, HitboxCollisionConfig> getAssetMap() |
static |
AssetStore<String, HitboxCollisionConfig, IndexedLookupTableAssetMap<String, HitboxCollisionConfig>> |
getAssetStoreAssetStore<String, HitboxCollisionConfig, IndexedLookupTableAssetMap<String, HitboxCollisionConfig>> getAssetStore() |
public |
CollisionType |
getCollisionTypeCollisionType getCollisionType() |
public |
String |
getIdString getId() |
public |
boolean |
getRotateHitboxboolean getRotateHitbox() |
public |
float |
getSoftOffsetRatiofloat getSoftOffsetRatio() |
|
|
if if(ASSET_STORE == null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.entity.hitboxcollision;
class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.AssetKeyValidator;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.AssetStore;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.codec.validation.ValidatorCache;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.protocol.CollisionType;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">import javax.annotation.Nonnull;
class="kw">public class HitboxCollisionConfig
class="kw">implements JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, HitboxCollisionConfig>>,
NetworkSerializable<com.hypixel.hytale.protocol.HitboxCollisionConfig> {
class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, HitboxCollisionConfig> CODEC = AssetBuilderCodec.builder(
HitboxCollisionConfig.class,
HitboxCollisionConfig::new,
Codec.STRING,
(var0, var1) -> var0.id = var1,
var0 -> var0.id,
(var0, var1) -> var0.data = var1,
var0 -> var0.data
)
.appendInherited(
new KeyedCodec<>("CollisionType", new EnumCodec<>(CollisionType.class)),
(var0, var1) -> var0.collisionType = var1,
var0 -> var0.collisionType,
(var0, var1) -> var0.collisionType = var1.collisionType
)
.addValidator(Validators.nonNull())
.documentation("The type of collision, possible values are: Hard, Soft")
.add()
.<Float>appendInherited(
new KeyedCodec<>("SoftCollisionOffsetRatio", Codec.FLOAT),
(var0, var1) -> var0.softOffsetRatio = var1,
var0 -> var0.softOffsetRatio,
(var0, var1) -> var0.softOffsetRatio = var1.softOffsetRatio
)
.documentation("The ratio for how much of the client move offset should be applied when going through a Soft HitboxCollision")
.add()
.<Boolean>appendInherited(
new KeyedCodec<>("RotateHitbox", Codec.BOOLEAN),
(var0, var1) -> var0.rotateHitbox = var1,
var0 -> var0.rotateHitbox,
(var0, var1) -> var0.rotateHitbox = var1.rotateHitbox
)
.documentation("If the hitbox of the entity should be rotated by the body orientation around the entity position for Hard collision.")
.add()
.<Boolean>appendInherited(
new KeyedCodec<>("AllowEntityAnchoring", Codec.BOOLEAN),
(var0, var1) -> var0.allowEntityAnchoring = var1,
var0 -> var0.allowEntityAnchoring,
(var0, var1) -> var0.allowEntityAnchoring = var1.allowEntityAnchoring
)
.documentation("If other entities should be allowed to anchor themselves to the entity when standing on it with Hard collision.")
.add()
.<Boolean>appendInherited(
new KeyedCodec<>("RotateAnchoredEntities", Codec.BOOLEAN),
(var0, var1) -> var0.rotateAnchoredEntities = var1,
var0 -> var0.rotateAnchoredEntities,
(var0, var1) -> var0.rotateAnchoredEntities = var1.rotateAnchoredEntities
)
.documentation("If anchored entities should have their yaw track with the entity.")
.add()
.build();
class="kw">public class="kw">static class="kw">final ValidatorCache<String> VALIDATOR_CACHE = new ValidatorCache<>(new AssetKeyValidator<>(HitboxCollisionConfig::getAssetStore));
class="kw">private class="kw">static AssetStore<String, HitboxCollisionConfig, IndexedLookupTableAssetMap<String, HitboxCollisionConfig>> ASSET_STORE;
class="kw">public class="kw">static class="kw">final int NO_HITBOX = -1;
class="kw">protected AssetExtraInfo.Data data;
class="kw">protected String id;
class="kw">protected CollisionType collisionType;
class="kw">protected float softOffsetRatio = 1.0F;
class="kw">protected boolean rotateHitbox;
class="kw">private boolean allowEntityAnchoring = true;
class="kw">private boolean rotateAnchoredEntities;
class="kw">public class="kw">static AssetStore<String, HitboxCollisionConfig, IndexedLookupTableAssetMap<String, HitboxCollisionConfig>> getAssetStore() {
if (ASSET_STORE == null) {
ASSET_STORE = AssetRegistry.getAssetStore(HitboxCollisionConfig.class);
}
class="kw">return ASSET_STORE;
}
class="kw">public class="kw">static IndexedLookupTableAssetMap<String, HitboxCollisionConfig> getAssetMap() {
class="kw">return (IndexedLookupTableAssetMap<String, HitboxCollisionConfig>)getAssetStore().getAssetMap();
}
class="kw">public HitboxCollisionConfig(String var1) {
this.id = var1;
}
class="kw">public HitboxCollisionConfig() {
}
class="kw">public String getId() {
class="kw">return this.id;
}
class="kw">public CollisionType getCollisionType() {
class="kw">return this.collisionType;
}
class="kw">public float getSoftOffsetRatio() {
class="kw">return this.softOffsetRatio;
}
class="kw">public boolean getRotateHitbox() {
class="kw">return this.rotateHitbox;
}
class="kw">public boolean getAllowEntityAnchoring() {
class="kw">return this.allowEntityAnchoring;
}
@Nonnull
class="kw">public com.hypixel.hytale.protocol.HitboxCollisionConfig toPacket() {
com.hypixel.hytale.protocol.HitboxCollisionConfig var1 = new com.hypixel.hytale.protocol.HitboxCollisionConfig();
var1.collisionType = this.collisionType;
var1.softCollisionOffsetRatio = this.softOffsetRatio;
var1.rotateHitbox = this.rotateHitbox;
var1.allowEntityAnchoring = this.allowEntityAnchoring;
var1.rotateAnchoredEntities = this.rotateAnchoredEntities;
class="kw">return var1;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "HitboxCollisionConfig{data="
+ this.data
+ ", id='"
+ this.id
+ "', collisionType="
+ this.collisionType
+ ", softOffsetRatio="
+ this.softOffsetRatio
+ "}";
}
}