package com.intellectualcrafters.plot.generator; import com.intellectualcrafters.plot.object.PlotArea; import com.intellectualcrafters.plot.object.PlotId; import com.intellectualcrafters.plot.object.PlotManager; import com.intellectualcrafters.plot.object.SetupObject; public abstract class PlotGenerator<T> { public final T generator; public PlotGenerator(T generator) { this.generator = generator; } public abstract void initialize(PlotArea plotArea); /** * TYPE = 2; * new AugmentedPopulator(world, generator, cluster, plotWorld.TERRAIN == 2, plotWorld.TERRAIN != 2); * TYPE = 1 * new AugmentedPopulator(world, gen_class, null, plotWorld.TERRAIN == 2, plotWorld.TERRAIN != 2); * @param area */ public abstract void augment(PlotArea area); public abstract PlotArea getNewPlotArea(String world, String id, PlotId min, PlotId max); public abstract PlotManager getPlotManager(); public abstract boolean isFull(); public abstract String getName(); public abstract void processSetup(SetupObject object); }