classpublicPriority 3
OrPattern
com.hypixel.hytale.builtin.hytalegenerator.patterns.OrPattern
extends Pattern
2
Methods
2
Public Methods
2
Fields
1
Constructors
Constructors
public
OrPattern(List<Pattern> patterns)Methods
Public Methods (2)
public
boolean matches(Pattern.Context context)@Override
public
SpaceSize readSpace()@Nonnull@Override
Fields
Private/Package Fields (2)
private
Pattern[] patternsprivate
SpaceSize readSpaceSizeInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Used By
Source Code
package com.hypixel.hytale.builtin.hytalegenerator.patterns;
import com.hypixel.hytale.builtin.hytalegenerator.bounds.SpaceSize;
import java.util.List;
import javax.annotation.Nonnull;
public class OrPattern extends Pattern {
@Nonnull
private final Pattern[] patterns;
private final SpaceSize readSpaceSize;
public OrPattern(@Nonnull List<Pattern> patterns) {
if (patterns.isEmpty()) {
this.patterns = new Pattern[0];
this.readSpaceSize = SpaceSize.empty();
} else {
this.patterns = new Pattern[patterns.size()];
SpaceSize spaceAcc = patterns.getFirst().readSpace();
for (int i = 0; i < patterns.size(); i++) {
Pattern pattern = patterns.get(i);
this.patterns[i] = pattern;
spaceAcc = SpaceSize.merge(spaceAcc, pattern.readSpace());
}
this.readSpaceSize = spaceAcc;
}
}
@Override
public boolean matches(@Nonnull Pattern.Context context) {
for (Pattern pattern : this.patterns) {
if (pattern.matches(context)) {
return true;
}
}
return false;
}
@Nonnull
@Override
public SpaceSize readSpace() {
return this.readSpaceSize.clone();
}
}