refactor API

This commit is contained in:
dfsek
2021-01-24 01:46:01 -07:00
parent 3318161c44
commit da5d3fe0ce
77 changed files with 142 additions and 970 deletions

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.bukkit;
import com.dfsek.terra.api.platform.world.entity.Entity;
import com.dfsek.terra.api.platform.entity.Entity;
public class BukkitEntity implements Entity {
private final org.bukkit.entity.Entity entity;

View File

@@ -10,10 +10,7 @@ import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.handle.ItemHandle;
import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.platform.world.Biome;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.transform.MapTransform;
import com.dfsek.terra.api.transform.Transformer;
import com.dfsek.terra.bukkit.command.command.TerraCommand;
import com.dfsek.terra.bukkit.command.command.structure.LocateCommand;
import com.dfsek.terra.bukkit.generator.BukkitChunkGeneratorWrapper;
@@ -23,6 +20,7 @@ import com.dfsek.terra.bukkit.listeners.CommonListener;
import com.dfsek.terra.bukkit.listeners.PaperListener;
import com.dfsek.terra.bukkit.listeners.SpigotListener;
import com.dfsek.terra.bukkit.util.PaperUtil;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.bukkit.world.BukkitBiome;
import com.dfsek.terra.bukkit.world.BukkitTree;
import com.dfsek.terra.config.base.ConfigPack;
@@ -54,7 +52,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
private final ConfigRegistry registry = new ConfigRegistry();
private final PluginConfig config = new PluginConfig();
private final ItemHandle itemHandle = new BukkitItemHandle();
private WorldHandle handle = new BukkitWorldHandle(this);
private WorldHandle handle = new BukkitWorldHandle();
private final GenericLoaders genericLoaders = new GenericLoaders(this);
public static final Version BUKKIT_VERSION;
@@ -100,6 +98,13 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
this.handle = handle;
}
@Override
public void packPreLoadCallback(ConfigPack pack) {
for(TreeType value : TreeType.values()) {
pack.getTreeRegistry().add(BukkitAdapter.TREE_TRANSFORMER.translate(value), new BukkitTree(value, this));
}
}
@Override
public void onDisable() {
BukkitChunkGeneratorWrapper.saveAll();
@@ -114,19 +119,6 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
getLogger().warning("Terra is running on an unknown Bukkit version. Proceed with caution.");
}
((BukkitWorldHandle) handle).setTreeTransformer(new Transformer.Builder<String, Tree>()
.addTransform(id -> new BukkitTree(TreeType.valueOf(id), this)) // First try getting directly from enum
.addTransform(new MapTransform<String, Tree>() // Then try map of less stupid names
.add("JUNGLE_COCOA", new BukkitTree(TreeType.COCOA_TREE, this))
.add("LARGE_OAK", new BukkitTree(TreeType.BIG_TREE, this))
.add("LARGE_SPRUCE", new BukkitTree(TreeType.TALL_REDWOOD, this))
.add("SPRUCE", new BukkitTree(TreeType.REDWOOD, this))
.add("OAK", new BukkitTree(TreeType.TREE, this))
.add("MEGA_SPRUCE", new BukkitTree(TreeType.MEGA_REDWOOD, this))
.add("SWAMP_OAK", new BukkitTree(TreeType.SWAMP, this)))
.addTransform(id -> new BukkitTree(TreeType.valueOf(id), this)) // Finally, try stripping minecraft namespace.
.build());
saveDefaultConfig();
Metrics metrics = new Metrics(this, 9017); // Set up bStats.

View File

@@ -5,7 +5,6 @@ import com.dfsek.terra.biome.UserDefinedBiome;
import com.dfsek.terra.bukkit.BukkitCommandSender;
import com.dfsek.terra.bukkit.command.WorldCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.carving.UserDefinedCarver;
import com.dfsek.terra.config.base.ConfigPack;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.config.templates.BiomeTemplate;
@@ -18,7 +17,6 @@ import org.jetbrains.annotations.NotNull;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class BiomeInfoCommand extends WorldCommand {
@@ -54,16 +52,6 @@ public class BiomeInfoCommand extends WorldCommand {
}
}
Map<UserDefinedCarver, Integer> carverConfigs = bio.getCarvers();
if(structureConfigs.size() == 0) sender.sendMessage("No Carvers");
else {
sender.sendMessage("---------Carvers--------");
for(Map.Entry<UserDefinedCarver, Integer> entry : carverConfigs.entrySet()) {
sender.sendMessage(" - " + entry.getKey().getConfig().getID() + ": " + entry.getValue() + "%");
}
}
return true;
}

View File

@@ -1,8 +1,8 @@
package com.dfsek.terra.bukkit.command.command.profile;
import com.dfsek.terra.api.profiler.WorldProfiler;
import com.dfsek.terra.bukkit.command.WorldCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.profiler.WorldProfiler;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;

View File

@@ -1,10 +1,10 @@
package com.dfsek.terra.bukkit.command.command.profile;
import com.dfsek.terra.api.profiler.WorldProfiler;
import com.dfsek.terra.bukkit.BukkitCommandSender;
import com.dfsek.terra.bukkit.command.WorldCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.profiler.WorldProfiler;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;

View File

@@ -1,10 +1,10 @@
package com.dfsek.terra.bukkit.command.command.profile;
import com.dfsek.terra.api.profiler.WorldProfiler;
import com.dfsek.terra.bukkit.BukkitCommandSender;
import com.dfsek.terra.bukkit.command.WorldCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.profiler.WorldProfiler;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;

View File

@@ -1,10 +1,10 @@
package com.dfsek.terra.bukkit.command.command.profile;
import com.dfsek.terra.api.profiler.WorldProfiler;
import com.dfsek.terra.bukkit.BukkitCommandSender;
import com.dfsek.terra.bukkit.command.WorldCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.profiler.WorldProfiler;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;

View File

@@ -1,9 +1,9 @@
package com.dfsek.terra.bukkit.generator;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.generator.BlockPopulator;
import com.dfsek.terra.api.platform.world.BiomeGrid;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.BlockPopulator;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.bukkit.world.BukkitBiomeGrid;
import com.dfsek.terra.bukkit.world.BukkitWorld;
@@ -16,7 +16,7 @@ import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
public class BukkitChunkGenerator implements com.dfsek.terra.api.platform.generator.ChunkGenerator {
public class BukkitChunkGenerator implements com.dfsek.terra.api.platform.world.generator.ChunkGenerator {
private final ChunkGenerator delegate;
public BukkitChunkGenerator(ChunkGenerator delegate) {

View File

@@ -2,8 +2,8 @@ package com.dfsek.terra.bukkit.generator;
import com.dfsek.terra.TerraWorld;
import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.generator.GeneratorWrapper;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.api.world.generation.population.PopulationManager;
import com.dfsek.terra.bukkit.world.BukkitAdapter;

View File

@@ -1,8 +1,8 @@
package com.dfsek.terra.bukkit.generator;
import com.dfsek.terra.api.platform.generator.BlockPopulator;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.BlockPopulator;
import com.dfsek.terra.bukkit.world.BukkitChunk;
import com.dfsek.terra.bukkit.world.BukkitWorld;

View File

@@ -1,13 +1,10 @@
package com.dfsek.terra.bukkit.handles;
import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.transform.Transformer;
import com.dfsek.terra.bukkit.world.block.BukkitMaterialData;
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
@@ -15,15 +12,6 @@ import org.bukkit.Bukkit;
import org.bukkit.Material;
public class BukkitWorldHandle implements WorldHandle {
private Transformer<String, Tree> treeTransformer;
public BukkitWorldHandle(TerraPlugin main) {
}
public void setTreeTransformer(Transformer<String, Tree> treeTransformer) {
this.treeTransformer = treeTransformer;
}
@Override
public void setBlockData(Block block, BlockData data, boolean physics) {
block.setBlockData(data, physics);
@@ -50,11 +38,6 @@ public class BukkitWorldHandle implements WorldHandle {
return new BukkitMaterialData(Material.matchMaterial(data));
}
@Override
public Tree getTree(String id) {
return treeTransformer.translate(id);
}
@Override
public EntityType getEntity(String id) {
return new BukkitEntityType(org.bukkit.entity.EntityType.valueOf(id));

View File

@@ -13,15 +13,31 @@ import com.dfsek.terra.api.platform.block.data.Stairs;
import com.dfsek.terra.api.platform.inventory.item.Enchantment;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.transform.MapTransform;
import com.dfsek.terra.api.transform.Transformer;
import com.dfsek.terra.bukkit.BukkitCommandSender;
import com.dfsek.terra.bukkit.world.inventory.meta.BukkitEnchantment;
import org.bukkit.Location;
import org.bukkit.TreeType;
import org.bukkit.util.Vector;
/**
* Utility class to adapt Bukkit enums to Terra enums.
*/
public final class BukkitAdapter {
public static Transformer<TreeType, String> TREE_TRANSFORMER = new Transformer.Builder<TreeType, String>()
.addTransform(new MapTransform<TreeType, String>()
.add(TreeType.COCOA_TREE, "JUNGLE_COCOA")
.add(TreeType.BIG_TREE, "LARGE_OAK")
.add(TreeType.TALL_REDWOOD, "LARGE_SPRUCE")
.add(TreeType.REDWOOD, "SPRUCE")
.add(TreeType.TREE, "OAK")
.add(TreeType.MEGA_REDWOOD, "MEGA_SPRUCE")
.add(TreeType.SWAMP, "SWAMP_OAK"))
.addTransform(TreeType::toString)
.build();
public static Stairs.Shape adapt(org.bukkit.block.data.type.Stairs.Shape shape) {
switch(shape) {
case STRAIGHT:

View File

@@ -4,7 +4,7 @@ import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.world.tree.Tree;
import com.dfsek.terra.util.MaterialSet;
import org.bukkit.TreeType;
@@ -41,11 +41,6 @@ public class BukkitTree implements Tree {
}
}
@Override
public TreeType getHandle() {
return delegate;
}
@Override
public boolean plant(Location l, Random r) {
return ((BukkitWorld) l.getWorld()).getHandle().generateTree(BukkitAdapter.adapt(l), delegate);

View File

@@ -2,12 +2,11 @@ package com.dfsek.terra.bukkit.world;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.entity.Entity;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.entity.Entity;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.bukkit.BukkitEntity;
import com.dfsek.terra.bukkit.generator.BukkitChunkGenerator;
import com.dfsek.terra.bukkit.world.block.BukkitBlock;
@@ -73,11 +72,6 @@ public class BukkitWorld implements World {
return new BukkitBlock(delegate.getBlockAt(l.getBlockX(), l.getBlockY(), l.getBlockZ()));
}
@Override
public boolean generateTree(Location l, Tree vanillaTreeType) {
return delegate.generateTree(new org.bukkit.Location(delegate, l.getX(), l.getY(), l.getZ()), ((BukkitTree) vanillaTreeType).getHandle());
}
@Override
public Entity spawnEntity(Location location, EntityType entityType) {
return new BukkitEntity(delegate.spawnEntity(BukkitAdapter.adapt(location), ((BukkitEntityType) entityType).getHandle()));

View File

@@ -2,7 +2,7 @@ package com.dfsek.terra.bukkit.world.block.state;
import com.dfsek.terra.api.platform.block.state.MobSpawner;
import com.dfsek.terra.api.platform.block.state.SerialState;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
import org.bukkit.block.CreatureSpawner;
import org.jetbrains.annotations.NotNull;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.bukkit.world.entity;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.platform.entity.EntityType;
public class BukkitEntityType implements EntityType {
private final org.bukkit.entity.EntityType delegate;

View File

@@ -251,8 +251,6 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
logger.setLevel(Level.INFO);
instance = this;
((FabricWorldHandle) worldHandle).setTreeTransformer(TREE_TRANSFORMER);
config = new File(FabricLoader.getInstance().getConfigDir().toFile(), "Terra");
saveDefaultConfig();
plugin.load(this);

View File

@@ -2,7 +2,7 @@ package com.dfsek.terra.fabric.world;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.world.tree.Tree;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
import com.dfsek.terra.fabric.world.handles.world.FabricWorldAccess;
@@ -34,9 +34,4 @@ public class FabricTree implements Tree {
return MaterialSet.get(TerraFabricPlugin.getInstance().getWorldHandle().createMaterialData("minecraft:grass_block"),
TerraFabricPlugin.getInstance().getWorldHandle().createMaterialData("minecraft:podzol"));
}
@Override
public ConfiguredFeature<?, ?> getHandle() {
return delegate;
}
}

View File

@@ -3,10 +3,8 @@ package com.dfsek.terra.fabric.world;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.transform.Transformer;
import com.dfsek.terra.fabric.world.block.FabricBlockData;
import com.dfsek.terra.fabric.world.block.FabricMaterialData;
import com.dfsek.terra.fabric.world.block.data.FabricMultipleFacing;
@@ -19,17 +17,10 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException;
import net.minecraft.block.BlockState;
import net.minecraft.command.argument.BlockArgumentParser;
import net.minecraft.state.property.Properties;
import net.minecraft.world.gen.feature.ConfiguredFeature;
import java.util.Arrays;
public class FabricWorldHandle implements WorldHandle {
private Transformer<String, ConfiguredFeature<?, ?>> treeTransformer;
public void setTreeTransformer(Transformer<String, ConfiguredFeature<?, ?>> treeTransformer) {
this.treeTransformer = treeTransformer;
}
@Override
public void setBlockData(Block block, BlockData data, boolean physics) {
block.setBlockData(data, physics);
@@ -72,11 +63,6 @@ public class FabricWorldHandle implements WorldHandle {
return new FabricMaterialData(createBlockData(data).getHandle().getBlock());
}
@Override
public Tree getTree(String id) {
return new FabricTree(treeTransformer.translate(id));
}
@Override
public EntityType getEntity(String id) {
return null;

View File

@@ -27,7 +27,6 @@ public class PopulatorFeature extends Feature<DefaultFeatureConfig> {
FabricChunkGeneratorWrapper gen = (FabricChunkGeneratorWrapper) chunkGenerator;
FabricChunkWorldAccess chunk = new FabricChunkWorldAccess(world, pos.getX() >> 4, pos.getZ() >> 4);
FabricWorld world1 = new FabricWorld(world.toServerWorld(), new FabricChunkGenerator(chunkGenerator));
gen.getCavePopulator().populate(world1, chunk);
gen.getStructurePopulator().populate(new FabricSeededWorldAccess(world, world.getSeed(), chunkGenerator), chunk);
gen.getOrePopulator().populate(world1, chunk);
gen.getTreePopulator().populate(world1, chunk);

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.fabric.world.generator;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.fabric.world.block.FabricBlockData;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.chunk.Chunk;

View File

@@ -1,9 +1,9 @@
package com.dfsek.terra.fabric.world.generator;
import com.dfsek.terra.api.platform.generator.BlockPopulator;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.world.BiomeGrid;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.BlockPopulator;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

View File

@@ -1,13 +1,12 @@
package com.dfsek.terra.fabric.world.generator;
import com.dfsek.terra.api.platform.generator.GeneratorWrapper;
import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.config.base.ConfigPack;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.world.TerraBiomeSource;
import com.dfsek.terra.fabric.world.handles.world.FabricSeededWorldAccess;
import com.dfsek.terra.generation.MasterChunkGenerator;
import com.dfsek.terra.population.CavePopulator;
import com.dfsek.terra.population.FloraPopulator;
import com.dfsek.terra.population.OrePopulator;
import com.dfsek.terra.population.StructurePopulator;
@@ -46,7 +45,6 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
private final ConfigPack pack;
private final CavePopulator cavePopulator = new CavePopulator(TerraFabricPlugin.getInstance());
private final FloraPopulator floraPopulator = new FloraPopulator(TerraFabricPlugin.getInstance());
private final OrePopulator orePopulator = new OrePopulator(TerraFabricPlugin.getInstance());
private final TreePopulator treePopulator = new TreePopulator(TerraFabricPlugin.getInstance());
@@ -56,10 +54,6 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
return treePopulator;
}
public CavePopulator getCavePopulator() {
return cavePopulator;
}
public OrePopulator getOrePopulator() {
return orePopulator;
}

View File

@@ -2,12 +2,11 @@ package com.dfsek.terra.fabric.world.handles;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.entity.Entity;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.entity.Entity;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.fabric.world.block.FabricBlock;
import com.dfsek.terra.fabric.world.handles.chunk.FabricChunk;
import net.minecraft.server.world.ServerWorld;
@@ -86,11 +85,6 @@ public class FabricWorld implements World {
return getBlockAt(l.getBlockX(), l.getBlockY(), l.getBlockZ());
}
@Override
public boolean generateTree(Location l, Tree vanillaTreeType) {
return false;
}
@Override
public Entity spawnEntity(Location location, EntityType entityType) {
return null;

View File

@@ -2,12 +2,11 @@ package com.dfsek.terra.fabric.world.handles.world;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.entity.Entity;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.entity.Entity;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.fabric.world.block.FabricBlock;
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
import net.minecraft.util.math.BlockPos;
@@ -75,11 +74,6 @@ public class FabricSeededWorldAccess implements World {
return getBlockAt(l.getBlockX(), l.getBlockY(), l.getBlockZ());
}
@Override
public boolean generateTree(Location l, Tree vanillaTreeType) {
return false;
}
@Override
public Entity spawnEntity(Location location, EntityType entityType) {
return null;

View File

@@ -2,12 +2,11 @@ package com.dfsek.terra.fabric.world.handles.world;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.entity.Entity;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.entity.Entity;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.fabric.world.block.FabricBlock;
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
import net.minecraft.util.math.BlockPos;
@@ -76,11 +75,6 @@ public class FabricWorldAccess implements World {
return getBlockAt(l.getBlockX(), l.getBlockY(), l.getBlockZ());
}
@Override
public boolean generateTree(Location l, Tree vanillaTreeType) {
return false;
}
@Override
public Entity spawnEntity(Location location, EntityType entityType) {
return null;

View File

@@ -2,12 +2,11 @@ package com.dfsek.terra.fabric.world.handles.world;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.entity.Entity;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.entity.Entity;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.fabric.world.block.FabricBlock;
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
import net.minecraft.util.math.BlockPos;
@@ -85,11 +84,6 @@ public class FabricWorldChunkRegion implements World {
return getBlockAt(l.getBlockX(), l.getBlockY(), l.getBlockZ());
}
@Override
public boolean generateTree(Location l, Tree vanillaTreeType) {
return false;
}
@Override
public Entity spawnEntity(Location location, EntityType entityType) {
return null;

View File

@@ -3,8 +3,8 @@ package com.dfsek.terra.platform;
import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import net.querz.mca.Chunk;
import net.querz.nbt.tag.CompoundTag;
import org.jetbrains.annotations.NotNull;

View File

@@ -4,12 +4,11 @@ import com.dfsek.terra.DirectUtils;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.entity.Entity;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.entity.Entity;
import com.dfsek.terra.api.platform.world.entity.EntityType;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import net.jafama.FastMath;
import net.querz.mca.MCAFile;
import net.querz.mca.MCAUtil;
@@ -88,11 +87,6 @@ public class DirectWorld implements World {
return getBlockAt(l.getBlockX(), l.getBlockY(), l.getBlockZ());
}
@Override
public boolean generateTree(Location l, Tree vanillaTreeType) {
return false;
}
@Override
public Entity spawnEntity(Location location, EntityType entityType) {
return null;

View File

@@ -1,9 +1,9 @@
package com.dfsek.terra.platform;
import com.dfsek.terra.api.platform.generator.BlockPopulator;
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.world.BiomeGrid;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.BlockPopulator;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.generation.MasterChunkGenerator;
import org.jetbrains.annotations.NotNull;

View File

@@ -2,18 +2,13 @@ package com.dfsek.terra.platform;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.world.tree.Tree;
import java.util.Collections;
import java.util.Random;
import java.util.Set;
public class RawTree implements Tree { // TODO: implement
@Override
public Object getHandle() {
return null;
}
@Override
public boolean plant(Location l, Random r) {
return false;

View File

@@ -3,9 +3,8 @@ package com.dfsek.terra.platform;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.platform.world.Tree;
import com.dfsek.terra.api.platform.world.entity.EntityType;
public class RawWorldHandle implements WorldHandle {
@Override
@@ -33,11 +32,6 @@ public class RawWorldHandle implements WorldHandle {
return new Data(data);
}
@Override
public Tree getTree(String id) {
return new RawTree();
}
@Override
public EntityType getEntity(String id) {
return null;

View File

@@ -6,7 +6,6 @@ import com.dfsek.terra.generation.math.SamplerCache;
import com.dfsek.terra.platform.DirectChunkData;
import com.dfsek.terra.platform.DirectWorld;
import com.dfsek.terra.platform.GenWrapper;
import com.dfsek.terra.population.CavePopulator;
import com.dfsek.terra.population.FloraPopulator;
import com.dfsek.terra.population.OrePopulator;
import com.dfsek.terra.population.StructurePopulator;
@@ -24,7 +23,6 @@ public class Generator {
StructurePopulator structurePopulator;
TreePopulator treePopulator;
OrePopulator orePopulator;
CavePopulator cavePopulator;
MasterChunkGenerator generator;
public Generator(long seed, StandalonePlugin plugin) {
@@ -33,7 +31,6 @@ public class Generator {
structurePopulator = new StructurePopulator(plugin);
treePopulator = new TreePopulator(plugin);
orePopulator = new OrePopulator(plugin);
cavePopulator = new CavePopulator(plugin);
generator = new MasterChunkGenerator(plugin.getRegistry().get("DEFAULT"), plugin, new SamplerCache(plugin));
this.seed = seed;
}
@@ -55,7 +52,6 @@ public class Generator {
DirectChunkData chunkData = (DirectChunkData) world.getChunkAt(cx, cz);
generator.generateChunkData(world, null, cx, cz, chunkData);
cavePopulator.populate(world, chunkData);
structurePopulator.populate(world, chunkData);
orePopulator.populate(world, chunkData);
floraPopulator.populate(world, chunkData);