HyCodeYourTale
classpublicPriority 3

Mesh2DPositionProvider

com.hypixel.hytale.builtin.hytalegenerator.positionproviders.Mesh2DPositionProvider

extends PositionProvider

1

Methods

1

Public Methods

2

Fields

1

Constructors

Constructors

public
Mesh2DPositionProvider(PointProvider positionProvider, int y)

Methods

Public Methods (1)

public
void positionsIn(PositionProvider.Context context)
@Override

Fields

Private/Package Fields (2)

privatePointProvider pointGenerator
privateint y

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.builtin.hytalegenerator.positionproviders;

import com.hypixel.hytale.builtin.hytalegenerator.fields.points.PointProvider;
import com.hypixel.hytale.math.vector.Vector2d;
import com.hypixel.hytale.math.vector.Vector3d;
import javax.annotation.Nonnull;

public class Mesh2DPositionProvider extends PositionProvider {
   @Nonnull
   private final PointProvider pointGenerator;
   private final int y;

   public Mesh2DPositionProvider(@Nonnull PointProvider positionProvider, int y) {
      this.pointGenerator = positionProvider;
      this.y = y;
   }

   @Override
   public void positionsIn(@Nonnull PositionProvider.Context context) {
      if (!(context.minInclusive.y > (double)this.y) && !(context.maxExclusive.y <= (double)this.y)) {
         Vector2d min2d = new Vector2d(context.minInclusive.x, context.minInclusive.z);
         Vector2d max2d = new Vector2d(context.maxExclusive.x, context.maxExclusive.z);
         this.pointGenerator.points2d(min2d, max2d, point -> context.consumer.accept(new Vector3d(point.x, (double)this.y, point.y)));
      }
   }
}