functional events in FloraGenerationAddon

This commit is contained in:
dfsek 2021-07-21 20:19:12 -07:00
parent 185df6e8a4
commit d8a5951f6e

View File

@ -5,7 +5,6 @@ import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Addon;
import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Author;
import com.dfsek.terra.api.addon.annotations.Version; 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.ConfigurationLoadEvent;
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.injection.annotations.Inject;
@ -15,24 +14,26 @@ import com.dfsek.terra.api.world.generator.GenerationStageProvider;
@Addon("generation-stage-flora") @Addon("generation-stage-flora")
@Version("1.0.0") @Version("1.0.0")
@Author("Terra") @Author("Terra")
public class FloraGenerationAddon extends TerraAddon implements EventListener { public class FloraGenerationAddon extends TerraAddon {
@Inject @Inject
private TerraPlugin main; private TerraPlugin main;
@Override @Override
public void initialize() { public void initialize() {
main.getEventManager().registerListener(this, this); main.getEventManager()
} .register(ConfigPackPreLoadEvent.class)
.then(event -> {
event.getPack().applyLoader(FloraLayer.class, FloraLayerLoader::new);
event.getPack().getOrCreateRegistry(GenerationStageProvider.class).register("FLORA", pack -> new FloraGenerationStage(main));
});
public void onPackLoad(ConfigPackPreLoadEvent event) { main.getEventManager()
event.getPack().applyLoader(FloraLayer.class, FloraLayerLoader::new); .register(ConfigurationLoadEvent.class)
event.getPack().getOrCreateRegistry(GenerationStageProvider.class).register("FLORA", pack -> new FloraGenerationStage(main)); .then(event -> {
} if(event.is(TerraBiome.class)) {
event.getLoadedObject(TerraBiome.class).getContext().put(event.load(new BiomeFloraTemplate()).get());
public void onBiomeLoad(ConfigurationLoadEvent event) { }
if(event.is(TerraBiome.class)) { });
event.getLoadedObject(TerraBiome.class).getContext().put(event.load(new BiomeFloraTemplate()).get());
}
} }
} }