basic Feature API

This commit is contained in:
dfsek
2021-07-17 19:30:07 -07:00
parent 3c4c8c62b2
commit fc2ce229ed
17 changed files with 34 additions and 16 deletions

View File

@@ -9,11 +9,8 @@ import com.dfsek.terra.api.command.annotation.Argument;
import com.dfsek.terra.api.command.annotation.Command;
import com.dfsek.terra.api.command.annotation.inject.ArgumentTarget;
import com.dfsek.terra.api.entity.CommandSender;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.world.biome.TerraBiome;
import java.util.List;
@Command(
arguments = {
@Argument(

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.addons.structure;
import com.dfsek.terra.api.properties.Properties;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import java.util.Set;

View File

@@ -3,7 +3,7 @@ package com.dfsek.terra.addons.structure;
import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import java.util.Collections;
import java.util.Set;

View File

@@ -8,7 +8,7 @@ import com.dfsek.terra.api.addon.annotations.Version;
import com.dfsek.terra.api.event.EventListener;
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
@Addon("config-structure")
@Version("1.0.0")

View File

@@ -2,7 +2,7 @@ package com.dfsek.terra.addons.structure;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.config.ConfigFactory;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
public class StructureFactory implements ConfigFactory<StructureTemplate, ConfiguredStructure> {
@Override

View File

@@ -3,7 +3,7 @@ package com.dfsek.terra.addons.structure;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.structure.rotation.Rotation;
import com.dfsek.terra.api.util.PopulationUtil;
import com.dfsek.terra.api.vector.Vector3;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.addons.structure;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.structure.Structure;
import com.dfsek.terra.api.structure.StructureSpawn;
import com.dfsek.terra.api.util.Range;

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.addons.structure.command;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;

View File

@@ -16,7 +16,7 @@ import com.dfsek.terra.api.command.arg.IntegerArgumentParser;
import com.dfsek.terra.api.entity.CommandSender;
import com.dfsek.terra.api.entity.Player;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.vector.Vector3;
import java.util.Locale;

View File

@@ -5,7 +5,7 @@ import com.dfsek.terra.api.command.arg.ArgumentParser;
import com.dfsek.terra.api.entity.CommandSender;
import com.dfsek.terra.api.entity.Player;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
public class StructureArgumentParser implements ArgumentParser<ConfiguredStructure> {
@Inject

View File

@@ -5,7 +5,7 @@ import com.dfsek.terra.api.command.tab.TabCompleter;
import com.dfsek.terra.api.entity.CommandSender;
import com.dfsek.terra.api.entity.Player;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import java.util.ArrayList;
import java.util.List;

View File

@@ -1,5 +1,7 @@
package com.dfsek.terra.api.structure;
package com.dfsek.terra.api.structure.configured;
import com.dfsek.terra.api.structure.Structure;
import com.dfsek.terra.api.structure.StructureSpawn;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;

View File

@@ -0,0 +1,4 @@
package com.dfsek.terra.api.structure.feature;
public interface Distributor {
}

View File

@@ -0,0 +1,11 @@
package com.dfsek.terra.api.structure.feature;
import com.dfsek.terra.api.structure.Structure;
public interface Feature {
Structure getStructure(double x, double y, double z);
Distributor getDistributor();
Locator getLocator();
}

View File

@@ -0,0 +1,4 @@
package com.dfsek.terra.api.structure.feature;
public interface Locator {
}

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.bukkit.listeners;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.world.TerraWorld;
import com.dfsek.terra.api.world.locate.AsyncStructureFinder;
import com.dfsek.terra.bukkit.world.BukkitAdapter;

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.bukkit.listeners;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structure.ConfiguredStructure;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.world.TerraWorld;
import com.dfsek.terra.api.world.locate.AsyncStructureFinder;
import com.dfsek.terra.bukkit.world.BukkitAdapter;