HyCodeYourTale
classpublicPriority 3

MaterialSetPattern

com.hypixel.hytale.builtin.hytalegenerator.patterns.MaterialSetPattern

extends Pattern

2

Methods

2

Public Methods

1

Fields

1

Constructors

Constants

SpaceSizeREAD_SPACE_SIZE= new SpaceSize(new Vector3i(0, 0, 0), new Vector3i(1, 0, 1))

Constructors

public
MaterialSetPattern(MaterialSet materialSet)

Methods

Public Methods (2)

public
boolean matches(Pattern.Context context)
@Override
public
SpaceSize readSpace()
@Override

Fields

Private/Package Fields (1)

privateMaterialSet materialSet

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.patterns;

import com.hypixel.hytale.builtin.hytalegenerator.MaterialSet;
import com.hypixel.hytale.builtin.hytalegenerator.bounds.SpaceSize;
import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
import com.hypixel.hytale.math.vector.Vector3i;
import javax.annotation.Nonnull;

public class MaterialSetPattern extends Pattern {
   private static final SpaceSize READ_SPACE_SIZE = new SpaceSize(new Vector3i(0, 0, 0), new Vector3i(1, 0, 1));
   private final MaterialSet materialSet;

   public MaterialSetPattern(@Nonnull MaterialSet materialSet) {
      this.materialSet = materialSet;
   }

   @Override
   public boolean matches(@Nonnull Pattern.Context context) {
      if (!context.materialSpace.isInsideSpace(context.position)) {
         return false;
      } else {
         Material material = context.materialSpace.getContent(context.position);
         int hash = material.hashMaterialIds();
         return this.materialSet.test(hash);
      }
   }

   @Override
   public SpaceSize readSpace() {
      return READ_SPACE_SIZE.clone();
   }
}