create AirMatchPatternTemplate

This commit is contained in:
dfsek 2021-07-27 19:56:11 -07:00
parent 649273db01
commit ca02187b0c
2 changed files with 26 additions and 1 deletions

View File

@ -0,0 +1,25 @@
package com.dfsek.terra.addons.feature.locator.config.pattern;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.addons.feature.locator.patterns.Pattern;
import com.dfsek.terra.addons.feature.locator.patterns.match.MatchPattern;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.util.Range;
public class AirMatchPatternTemplate implements ObjectTemplate<Pattern> {
@Value("offset")
private Range offset;
private final BlockState air;
public AirMatchPatternTemplate(TerraPlugin main) {
this.air = main.getWorldHandle().air();
}
@Override
public Pattern get() {
return new MatchPattern(offset, air::matches);
}
}

View File

@ -11,7 +11,7 @@ public class MatchPattern implements Pattern {
private final Range range; private final Range range;
private final Predicate<BlockState> matches; private final Predicate<BlockState> matches;
protected MatchPattern(Range range, Predicate<BlockState> matches) { public MatchPattern(Range range, Predicate<BlockState> matches) {
this.range = range; this.range = range;
this.matches = matches; this.matches = matches;
} }