HyCodeYourTale
classpublicPriority 3

InitialBeaconDelay

com.hypixel.hytale.server.spawning.beacons.InitialBeaconDelay

implements Component

5

Methods

5

Public Methods

1

Fields

1

Constructors

Constructors

public
InitialBeaconDelay()

Methods

Public Methods (5)

public
Component<EntityStore> clone()
@Nonnull@Override
publicstatic
ComponentType<EntityStore, InitialBeaconDelay> getComponentType()
public
void setLoadTimeSpawnDelay(double loadTimeSpawnDelay)
public
void setupInitialSpawnDelay(double[] initialSpawnDelay)
public
boolean tickLoadTimeSpawnDelay(float dt)

Fields

Private/Package Fields (1)

privatedouble loadTimeSpawnDelay

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.spawning.beacons;

import com.hypixel.hytale.component.Component;
import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.math.random.RandomExtra;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.server.spawning.SpawningPlugin;
import javax.annotation.Nonnull;

public class InitialBeaconDelay implements Component<EntityStore> {
   private double loadTimeSpawnDelay;

   public InitialBeaconDelay() {
   }

   public static ComponentType<EntityStore, InitialBeaconDelay> getComponentType() {
      return SpawningPlugin.get().getInitialBeaconDelayComponentType();
   }

   public void setLoadTimeSpawnDelay(double loadTimeSpawnDelay) {
      this.loadTimeSpawnDelay = loadTimeSpawnDelay;
   }

   public boolean tickLoadTimeSpawnDelay(float dt) {
      return this.loadTimeSpawnDelay <= 0.0 ? true : (this.loadTimeSpawnDelay -= (double)dt) <= 0.0;
   }

   public void setupInitialSpawnDelay(@Nonnull double[] initialSpawnDelay) {
      this.loadTimeSpawnDelay = RandomExtra.randomRange(initialSpawnDelay[0], initialSpawnDelay[1]);
   }

   @Nonnull
   @Override
   public Component<EntityStore> clone() {
      InitialBeaconDelay delay = new InitialBeaconDelay();
      delay.setLoadTimeSpawnDelay(this.loadTimeSpawnDelay);
      return delay;
   }
}