HyCodeYourTale
classpublicPriority 3

TimeModule

com.hypixel.hytale.server.core.modules.time.TimeModule

extends JavaPlugin

2

Methods

2

Public Methods

3

Fields

1

Constructors

Constants

PluginManifestMANIFEST= PluginManifest.corePlugin(TimeModule.class).build()

Constructors

public
TimeModule(JavaPluginInit init)

Methods

Public Methods (2)

public
ResourceType<EntityStore, TimeResource> getTimeResourceType()
@Nonnull
public
ResourceType<EntityStore, WorldTimeResource> getWorldTimeResourceType()
@Nonnull

Fields

Private/Package Fields (3)

privateTimeModule instance
privateResourceType<EntityStore, TimeResource> timeResourceType
privateResourceType<EntityStore, WorldTimeResource> worldTimeResourceType

Inheritance

Parent
Current
Interface
Child

Use mouse wheel to zoom, drag to pan. Click nodes to navigate.

Related Classes

Source Code

package com.hypixel.hytale.server.core.modules.time;

import com.hypixel.hytale.common.plugin.PluginManifest;
import com.hypixel.hytale.component.ComponentRegistryProxy;
import com.hypixel.hytale.component.ResourceType;
import com.hypixel.hytale.server.core.modules.time.commands.TimeCommand;
import com.hypixel.hytale.server.core.plugin.JavaPlugin;
import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import javax.annotation.Nonnull;

public class TimeModule extends JavaPlugin {
   @Nonnull
   public static final PluginManifest MANIFEST = PluginManifest.corePlugin(TimeModule.class).build();
   private static TimeModule instance;
   private ResourceType<EntityStore, WorldTimeResource> worldTimeResourceType;
   private ResourceType<EntityStore, TimeResource> timeResourceType;

   public static TimeModule get() {
      return instance;
   }

   public TimeModule(@Nonnull JavaPluginInit init) {
      super(init);
      instance = this;
   }

   @Override
   protected void setup() {
      ComponentRegistryProxy<EntityStore> entityStoreRegistry = this.getEntityStoreRegistry();
      this.getCommandRegistry().registerCommand(new TimeCommand());
      this.worldTimeResourceType = entityStoreRegistry.registerResource(WorldTimeResource.class, WorldTimeResource::new);
      entityStoreRegistry.registerSystem(new WorldTimeSystems.Init(this.worldTimeResourceType));
      entityStoreRegistry.registerSystem(new WorldTimeSystems.Ticking(this.worldTimeResourceType));
      this.timeResourceType = entityStoreRegistry.registerResource(TimeResource.class, "Time", TimeResource.CODEC);
      entityStoreRegistry.registerSystem(new TimeSystem(this.timeResourceType));
      entityStoreRegistry.registerSystem(new TimePacketSystem(this.worldTimeResourceType));
   }

   @Nonnull
   public ResourceType<EntityStore, WorldTimeResource> getWorldTimeResourceType() {
      return this.worldTimeResourceType;
   }

   @Nonnull
   public ResourceType<EntityStore, TimeResource> getTimeResourceType() {
      return this.timeResourceType;
   }
}