classpublicPriority 3
StripedMaterialProvider
com.hypixel.hytale.builtin.hytalegenerator.materialproviders.StripedMaterialProvider
extends MaterialProvider
2
Methods
2
Public Methods
2
Fields
1
Constructors
Constructors
public
StripedMaterialProvider(MaterialProvider<V> materialProvider, List<StripedMaterialProvider.Stripe> stripes)Methods
Public Methods (2)
public
boolean contains(int y)public
V getVoxelTypeAt(MaterialProvider.Context context)@Nullable@Override
Fields
Private/Package Fields (2)
private
MaterialProvider<V> materialProviderprivate
StripedMaterialProvider.Stripe[] stripesInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Source Code
package com.hypixel.hytale.builtin.hytalegenerator.materialproviders;
import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class StripedMaterialProvider<V> extends MaterialProvider<V> {
@Nonnull
private final MaterialProvider<V> materialProvider;
@Nonnull
private final StripedMaterialProvider.Stripe[] stripes;
public StripedMaterialProvider(@Nonnull MaterialProvider<V> materialProvider, @Nonnull List<StripedMaterialProvider.Stripe> stripes) {
this.materialProvider = materialProvider;
this.stripes = new StripedMaterialProvider.Stripe[stripes.size()];
for (int i = 0; i < stripes.size(); i++) {
StripedMaterialProvider.Stripe s = stripes.get(i);
this.stripes[i] = s;
}
}
@Nullable
@Override
public V getVoxelTypeAt(@Nonnull MaterialProvider.Context context) {
for (StripedMaterialProvider.Stripe s : this.stripes) {
if (s.contains(context.position.y)) {
return this.materialProvider.getVoxelTypeAt(context);
}
}
return null;
}
public static class Stripe {
private final int topY;
private final int bottomY;
public Stripe(int topY, int bottomY) {
this.topY = topY;
this.bottomY = bottomY;
}
public boolean contains(int y) {
return y >= this.bottomY && y <= this.topY;
}
}
}