classpublicPriority 3
OffsetPositionProvider
com.hypixel.hytale.builtin.hytalegenerator.positionproviders.OffsetPositionProvider
extends PositionProvider
1
Methods
1
Public Methods
3
Fields
2
Constructors
Constructors
public
OffsetPositionProvider(Vector3i offset, PositionProvider positionProvider)public
OffsetPositionProvider(Vector3d offset, PositionProvider positionProvider)Methods
Public Methods (1)
public
void positionsIn(PositionProvider.Context context)@Override
Fields
Private/Package Fields (3)
private
Vector3d offset3dprivate
Vector3i offset3iprivate
PositionProvider positionProviderInheritance
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.math.vector.Vector3d;
import com.hypixel.hytale.math.vector.Vector3i;
import javax.annotation.Nonnull;
public class OffsetPositionProvider extends PositionProvider {
@Nonnull
private final Vector3i offset3i;
@Nonnull
private final Vector3d offset3d;
@Nonnull
private final PositionProvider positionProvider;
public OffsetPositionProvider(@Nonnull Vector3i offset, @Nonnull PositionProvider positionProvider) {
this.offset3i = offset.clone();
this.positionProvider = positionProvider;
this.offset3d = this.offset3i.toVector3d();
}
public OffsetPositionProvider(@Nonnull Vector3d offset, @Nonnull PositionProvider positionProvider) {
this.offset3d = offset.clone();
this.positionProvider = positionProvider;
this.offset3i = this.offset3d.toVector3i();
}
@Override
public void positionsIn(@Nonnull PositionProvider.Context context) {
Vector3d windowMin = context.minInclusive.clone();
Vector3d windowMax = context.maxExclusive.clone();
windowMin.subtract(this.offset3d);
windowMax.subtract(this.offset3d);
PositionProvider.Context childContext = new PositionProvider.Context();
childContext.minInclusive = windowMin;
childContext.maxExclusive = windowMax;
childContext.consumer = p -> {
Vector3d offsetP = p.clone();
offsetP.add(this.offset3d);
context.consumer.accept(offsetP);
};
childContext.workerId = context.workerId;
this.positionProvider.positionsIn(childContext);
}
}