CameraPlugin class

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

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

extends: JavaPlugin

Поля (3)

МодификаторыТипИмя
AssetRegistry var1
ComponentType var2
ComponentType var3

Методы (1)

МодификаторыВозвратСигнатура
abstract super super(var1)

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.IndexedAssetMap;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.asset.cameraeffect.CameraShakeEffect;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.asset.camerashake.CameraShake;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.asset.camerashake.CameraShakePacketGenerator;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.asset.viewbobbing.ViewBobbing;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.asset.viewbobbing.ViewBobbingPacketGenerator;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.command.CameraEffectCommand;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.command.TpCinematicCommand;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.interaction.CameraShakeInteraction;
class="kw">import com.hypixel.hytale.builtin.adventure.camera.system.CameraEffectSystem;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.protocol.MovementType;
class="kw">import com.hypixel.hytale.server.core.asset.HytaleAssetStore;
class="kw">import com.hypixel.hytale.server.core.asset.type.camera.CameraEffect;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatMap;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.Interaction;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPlugin;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
class="kw">import com.hypixel.hytale.server.core.plugin.registry.AssetRegistry;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;

class="kw">public class CameraPlugin class="kw">extends JavaPlugin {
   @Nonnull
   class="kw">private class="kw">static class="kw">final String CODEC_CAMERA_SHAKE = "CameraShake";

   class="kw">public CameraPlugin(@Nonnull JavaPluginInit var1) {
      super(var1);
   }

   @Override
   class="kw">protected void setup() {
      AssetRegistry var1 = this.getAssetRegistry();
      this.getCodecRegistry(CameraEffect.CODEC).register("CameraShake", CameraShakeEffect.class, CameraShakeEffect.CODEC);
      this.getCodecRegistry(Interaction.CODEC).register("CameraShake", CameraShakeInteraction.class, CameraShakeInteraction.CODEC);
      var1.register(
         ((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)HytaleAssetStore.builder(
                              String.class, CameraShake.class, new IndexedAssetMap()
                           )
                           .loadsBefore(CameraEffect.class))
                        .setCodec(CameraShake.CODEC))
                     .setPath("Camera/CameraShake"))
                  .setKeyFunction(CameraShake::getId))
               .setReplaceOnRemove(CameraShake::new))
            .setPacketGenerator(new CameraShakePacketGenerator())
            .build()
      );
      var1.register(
         ((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)HytaleAssetStore.builder(
                        MovementType.class, ViewBobbing.class, new DefaultAssetMap()
                     )
                     .setCodec(ViewBobbing.CODEC))
                  .setPath("Camera/ViewBobbing"))
               .setKeyFunction(ViewBobbing::getId))
            .setPacketGenerator(new ViewBobbingPacketGenerator())
            .build()
      );
      this.getCommandRegistry().registerCommand(new CameraEffectCommand());
      this.getCommandRegistry().registerCommand(new TpCinematicCommand());
      ComponentType var2 = PlayerRef.getComponentType();
      ComponentType var3 = EntityStatMap.getComponentType();
      this.getEntityStoreRegistry().registerSystem(new CameraEffectSystem(var2, var3));
   }
}