HyCodeYourTale
classpublicPriority 3

OffsetPattern

com.hypixel.hytale.builtin.hytalegenerator.patterns.OffsetPattern

extends Pattern

2

Methods

2

Public Methods

3

Fields

1

Constructors

Constructors

public
OffsetPattern(Pattern pattern, Vector3i offset)

Methods

Public Methods (2)

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

Fields

Private/Package Fields (3)

privateVector3i offset
privatePattern pattern
privateSpaceSize readSpaceSize

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.bounds.SpaceSize;
import com.hypixel.hytale.math.vector.Vector3i;
import javax.annotation.Nonnull;

public class OffsetPattern extends Pattern {
   @Nonnull
   private final Pattern pattern;
   @Nonnull
   private final Vector3i offset;
   @Nonnull
   private final SpaceSize readSpaceSize;

   public OffsetPattern(@Nonnull Pattern pattern, @Nonnull Vector3i offset) {
      this.pattern = pattern;
      this.offset = offset;
      this.readSpaceSize = pattern.readSpace().moveBy(offset);
   }

   @Override
   public boolean matches(@Nonnull Pattern.Context context) {
      Pattern.Context childContext = new Pattern.Context(context);
      childContext.position = context.position.clone().add(this.offset);
      return this.pattern.matches(childContext);
   }

   @Nonnull
   @Override
   public SpaceSize readSpace() {
      return this.readSpaceSize.clone();
   }
}