BedsPlugin class

Пакет: com.hypixel.hytale.builtin.beds

Файл: com/hypixel/hytale/builtin/beds/BedsPlugin.java

extends: JavaPlugin

Поля (6)

МодификаторыТипИмя
static BedsPlugin instance
instance
ComponentRegistryProxy var1
ComponentType var2
ComponentType var3
ResourceType var4

Методы (5)

МодификаторыВозвратСигнатура
static BedsPlugin getBedsPlugin get()
public ComponentType<EntityStore, PlayerSomnolence> getPlayerSomnolenceComponentTypeComponentType<EntityStore, PlayerSomnolence> getPlayerSomnolenceComponentType()
public ComponentType<EntityStore, SleepTracker> getSleepTrackerComponentTypeComponentType<EntityStore, SleepTracker> getSleepTrackerComponentType()
public ResourceType<EntityStore, WorldSomnolence> getWorldSomnolenceResourceTypeResourceType<EntityStore, WorldSomnolence> getWorldSomnolenceResourceType()
abstract super super(var1)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.beds.interactions.BedInteraction;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.components.PlayerSomnolence;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.components.SleepTracker;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.resources.WorldSomnolence;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.systems.player.EnterBedSystem;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.systems.player.RegisterTrackerSystem;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.systems.player.SleepNotificationSystem;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.systems.player.UpdateSleepPacketSystem;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.systems.player.WakeUpOnDismountSystem;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.systems.world.StartSlumberSystem;
class="kw">import com.hypixel.hytale.builtin.beds.sleep.systems.world.UpdateWorldSlumberSystem;
class="kw">import com.hypixel.hytale.builtin.mounts.MountedComponent;
class="kw">import com.hypixel.hytale.component.ComponentRegistryProxy;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.Interaction;
class="kw">import com.hypixel.hytale.server.core.modules.time.WorldTimeResource;
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.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BedsPlugin class="kw">extends JavaPlugin {
   class="kw">private class="kw">static BedsPlugin instance;
   class="kw">private ComponentType<EntityStore, PlayerSomnolence> playerSomnolenceComponentType;
   class="kw">private ComponentType<EntityStore, SleepTracker> sleepTrackerComponentType;
   class="kw">private ResourceType<EntityStore, WorldSomnolence> worldSomnolenceResourceType;

   class="kw">public class="kw">static BedsPlugin get() {
      class="kw">return instance;
   }

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

   @Override
   class="kw">protected void setup() {
      instance = this;
      ComponentRegistryProxy var1 = this.getEntityStoreRegistry();
      this.playerSomnolenceComponentType = var1.registerComponent(PlayerSomnolence.class, PlayerSomnolence::new);
      this.sleepTrackerComponentType = var1.registerComponent(SleepTracker.class, SleepTracker::new);
      this.worldSomnolenceResourceType = var1.registerResource(WorldSomnolence.class, WorldSomnolence::new);
      ComponentType var2 = PlayerRef.getComponentType();
      ComponentType var3 = MountedComponent.getComponentType();
      ResourceType var4 = WorldTimeResource.getResourceType();
      var1.registerSystem(new RegisterTrackerSystem(var2, this.sleepTrackerComponentType));
      var1.registerSystem(new WakeUpOnDismountSystem(var3, this.playerSomnolenceComponentType));
      var1.registerSystem(new EnterBedSystem(var3, var2));
      var1.registerSystem(
         new UpdateSleepPacketSystem(var2, this.playerSomnolenceComponentType, this.sleepTrackerComponentType, this.worldSomnolenceResourceType, var4)
      );
      var1.registerSystem(new StartSlumberSystem(this.playerSomnolenceComponentType, this.worldSomnolenceResourceType, var4));
      var1.registerSystem(new UpdateWorldSlumberSystem(this.playerSomnolenceComponentType, this.worldSomnolenceResourceType, var4, var3));
      var1.registerSystem(new SleepNotificationSystem());
      Interaction.CODEC.register("Bed", BedInteraction.class, BedInteraction.CODEC);
   }

   class="kw">public ComponentType<EntityStore, PlayerSomnolence> getPlayerSomnolenceComponentType() {
      class="kw">return this.playerSomnolenceComponentType;
   }

   class="kw">public ComponentType<EntityStore, SleepTracker> getSleepTrackerComponentType() {
      class="kw">return this.sleepTrackerComponentType;
   }

   class="kw">public ResourceType<EntityStore, WorldSomnolence> getWorldSomnolenceResourceType() {
      class="kw">return this.worldSomnolenceResourceType;
   }
}