functional events in FeatureGenerationAddon

This commit is contained in:
dfsek 2021-07-21 20:15:40 -07:00
parent 7363a305af
commit ec26e7b1b0

View File

@ -6,7 +6,6 @@ import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.addon.annotations.Addon;
import com.dfsek.terra.api.addon.annotations.Author;
import com.dfsek.terra.api.addon.annotations.Version;
import com.dfsek.terra.api.event.EventListener;
import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent;
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.injection.annotations.Inject;
@ -16,22 +15,22 @@ import com.dfsek.terra.api.world.generator.GenerationStageProvider;
@Addon("generation-stage-feature")
@Version("1.0.0")
@Author("Terra")
public class FeatureGenerationAddon extends TerraAddon implements EventListener {
public class FeatureGenerationAddon extends TerraAddon {
@Inject
private TerraPlugin main;
@Override
public void initialize() {
main.getEventManager().registerListener(this, this);
}
main.getEventManager()
.register(ConfigPackPreLoadEvent.class)
.then(event -> event.getPack().getOrCreateRegistry(GenerationStageProvider.class).register("FEATURE", pack -> new FeatureGenerationStage(main)));
public void onPackLoad(ConfigPackPreLoadEvent event) {
event.getPack().getOrCreateRegistry(GenerationStageProvider.class).register("FEATURE", pack -> new FeatureGenerationStage(main));
}
public void onBiomeLoad(ConfigurationLoadEvent event) {
if(event.is(TerraBiome.class)) {
event.getLoadedObject(TerraBiome.class).getContext().put(event.load(new BiomeFeaturesTemplate()).get());
}
main.getEventManager()
.register(ConfigurationLoadEvent.class)
.then(event -> {
if(event.is(TerraBiome.class)) {
event.getLoadedObject(TerraBiome.class).getContext().put(event.load(new BiomeFeaturesTemplate()).get());
}
});
}
}