HyCodeYourTale
classpublicPriority 3

SpherePositionProvider

com.hypixel.hytale.builtin.hytalegenerator.positionproviders.SpherePositionProvider

extends PositionProvider

1

Methods

1

Public Methods

2

Fields

1

Constructors

Constructors

public
SpherePositionProvider(PositionProvider positionProvider, double range)

Methods

Public Methods (1)

public
void positionsIn(PositionProvider.Context context)
@Override

Fields

Private/Package Fields (2)

privatePositionProvider positionProvider
privatedouble range

Inheritance

Parent
Current
Interface
Child

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

Related Classes

Used By

Source Code

package com.hypixel.hytale.builtin.hytalegenerator.positionproviders;

import com.hypixel.hytale.builtin.hytalegenerator.VectorUtil;
import javax.annotation.Nonnull;

public class SpherePositionProvider extends PositionProvider {
   @Nonnull
   private final PositionProvider positionProvider;
   private final double range;

   public SpherePositionProvider(@Nonnull PositionProvider positionProvider, double range) {
      this.positionProvider = positionProvider;
      this.range = range;
   }

   @Override
   public void positionsIn(@Nonnull PositionProvider.Context context) {
      PositionProvider.Context childContext = new PositionProvider.Context(context);
      childContext.consumer = position -> {
         double distance = position.length();
         if (VectorUtil.isInside(position, context.minInclusive, context.maxExclusive) && distance <= this.range) {
            context.consumer.accept(position);
         }
      };
      this.positionProvider.positionsIn(childContext);
   }
}