CameraEffectSystem class

Пакет: com.hypixel.hytale.builtin.adventure.camera.system

Файл: com/hypixel/hytale/builtin/adventure/camera/system/CameraEffectSystem.java

extends: DamageEventSystem

Поля (10)

МодификаторыТипИмя
World var10
CameraEffectsConfig var11
Damage.CameraEffect var12
int var13
CameraEffect var14
float var15
EntityStatMap var6
EntityStatValue var7
float var8
PlayerRef var9

Методы (4)

МодификаторыВозвратСигнатура
public void handlevoid handle(int var1, @Nonnull ArchetypeChunk<EntityStore> var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4, @Nonnull Damage var5)
if if(var7 != null)
if if(var13 != Integer.MIN_VALUE)
if if(var14 != null)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.camera.system;

class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.SystemGroup;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.asset.type.camera.CameraEffect;
class="kw">import com.hypixel.hytale.server.core.asset.type.gameplay.CameraEffectsConfig;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.Damage;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DamageEventSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DamageModule;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatMap;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatValue;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.asset.DefaultEntityStatTypes;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class CameraEffectSystem class="kw">extends DamageEventSystem {
   @Nonnull
   class="kw">private class="kw">final ComponentType<EntityStore, PlayerRef> playerRefComponentType;
   @Nonnull
   class="kw">private class="kw">final ComponentType<EntityStore, EntityStatMap> entityStatMapComponentType;
   @Nonnull
   class="kw">private class="kw">final Query<EntityStore> query;

   class="kw">public CameraEffectSystem(@Nonnull ComponentType<EntityStore, PlayerRef> var1, @Nonnull ComponentType<EntityStore, EntityStatMap> var2) {
      this.playerRefComponentType = var1;
      this.entityStatMapComponentType = var2;
      this.query = Query.and(var1, var2);
   }

   @Nullable
   @Override
   class="kw">public SystemGroup<EntityStore> getGroup() {
      class="kw">return DamageModule.get().getInspectDamageGroup();
   }

   @Nonnull
   @Override
   class="kw">public Query<EntityStore> getQuery() {
      class="kw">return this.query;
   }

   class="kw">public void handle(
      int var1, @Nonnull ArchetypeChunk<EntityStore> var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4, @Nonnull Damage var5
   ) {
      EntityStatMap var6 = var2.getComponent(var1, this.entityStatMapComponentType);
      assert var6 != null;
      EntityStatValue var7 = var6.get(DefaultEntityStatTypes.getHealth());
      if (var7 != null) {
         float var8 = var7.getMax() - var7.getMin();
         if (!(var8 <= 0.0F)) {
            PlayerRef var9 = var2.getComponent(var1, this.playerRefComponentType);
            assert var9 != null;
            World var10 = var4.getExternalData().getWorld();
            CameraEffectsConfig var11 = var10.getGameplayConfig().getCameraEffectsConfig();
            Damage.CameraEffect var12 = var5.getIfPresentMetaObject(Damage.CAMERA_EFFECT);
            int var13 = var12 != null ? var12.getEffectIndex() : var11.getCameraEffectIndex(var5.getDamageCauseIndex());
            if (var13 != Integer.MIN_VALUE) {
               CameraEffect var14 = CameraEffect.getAssetMap().getAsset(var13);
               if (var14 != null) {
                  float var15 = MathUtil.clamp(var5.getAmount() / var8, 0.0F, 1.0F);
                  var9.getPacketHandler().writeNoCache(var14.createCameraShakePacket(var15));
               }
            }
         }
      }
   }
}