mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-04 23:06:05 +00:00
add repeat script options
This commit is contained in:
@@ -4,16 +4,20 @@ import com.dfsek.tectonic.annotations.Abstractable;
|
||||
import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.tectonic.config.ConfigTemplate;
|
||||
import com.dfsek.tectonic.config.ValidatedConfigTemplate;
|
||||
import com.dfsek.tectonic.exception.ValidationException;
|
||||
import com.dfsek.terra.api.math.GridSpawn;
|
||||
import com.dfsek.terra.api.math.Range;
|
||||
import com.dfsek.terra.api.structures.script.StructureScript;
|
||||
import com.dfsek.terra.api.util.GlueList;
|
||||
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings({"unused", "FieldMayBeFinal"})
|
||||
public class StructureTemplate extends AbstractableTemplate implements ConfigTemplate {
|
||||
public class StructureTemplate extends AbstractableTemplate implements ValidatedConfigTemplate {
|
||||
@Value("id")
|
||||
private String id;
|
||||
|
||||
@@ -34,6 +38,21 @@ public class StructureTemplate extends AbstractableTemplate implements ConfigTem
|
||||
@Default
|
||||
private List<Void> features = new GlueList<>();
|
||||
|
||||
@Value("repeat.scripts")
|
||||
@Default
|
||||
@Abstractable
|
||||
private ProbabilityCollection<StructureScript> repeatScripts = new ProbabilityCollection<>();
|
||||
|
||||
@Value("repeat.ticks.min")
|
||||
@Default
|
||||
@Abstractable
|
||||
private long minRepeat = 20;
|
||||
|
||||
@Value("repeat.ticks.max")
|
||||
@Default
|
||||
@Abstractable
|
||||
private long maxRepeat = 20;
|
||||
|
||||
public String getID() {
|
||||
return id;
|
||||
}
|
||||
@@ -53,4 +72,10 @@ public class StructureTemplate extends AbstractableTemplate implements ConfigTem
|
||||
public GridSpawn getSpawn() {
|
||||
return spawn;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean validate() throws ValidationException {
|
||||
if(maxRepeat < minRepeat) throw new ValidationException("repeat.ticks.max must be greater than repeat.ticks.min");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user