diff --git a/src/main/java/com/dfsek/terra/TerraTree.java b/src/main/java/com/dfsek/terra/TerraTree.java deleted file mode 100644 index 6db1874be..000000000 --- a/src/main/java/com/dfsek/terra/TerraTree.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.dfsek.terra; - -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.plugin.java.JavaPlugin; -import org.polydev.gaea.structures.NMSStructure; -import org.polydev.gaea.tree.Tree; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; - -public enum TerraTree implements Tree { - SPRUCE_SMALL("/trees/spruce_small/s_spruce_", 4, Arrays.asList(Material.PODZOL, Material.GRASS_BLOCK, Material.DIRT)), - SPRUCE_MEDIUM("/trees/spruce_medium/m_spruce_", 5, Arrays.asList(Material.PODZOL, Material.GRASS_BLOCK, Material.DIRT)), - SPRUCE_LARGE("/trees/spruce_large/l_spruce_", 2, Arrays.asList(Material.PODZOL, Material.GRASS_BLOCK, Material.DIRT)), - OAK_SMALL("/trees/oak_small/s_oak_", 1, Arrays.asList(Material.GRASS_BLOCK, Material.DIRT)), - OAK_MEDIUM("/trees/oak_medium/m_oak_", 5, Arrays.asList(Material.GRASS_BLOCK, Material.DIRT)), - OAK_LARGE("/trees/oak_large/l_oak_", 2, Arrays.asList(Material.GRASS_BLOCK, Material.DIRT)), - JUNGLE_MEDIUM("/trees/jungle_medium/m_jungle_", 2, Arrays.asList(Material.GRASS_BLOCK, Material.DIRT)), - JUNGLE_LARGE("/trees/jungle_large/l_jungle_", 1, Arrays.asList(Material.GRASS_BLOCK, Material.DIRT)), - DEAD("/trees/dead/dead_", 4, Arrays.asList(Material.PODZOL, Material.GRASS_BLOCK, Material.DIRT, Material.COARSE_DIRT, Material.SAND, Material.RED_SAND)), - DARK_OAK_LARGE("/trees/dark_oak_large/l_darkoak_", 5, Arrays.asList(Material.PODZOL, Material.GRASS_BLOCK, Material.DIRT, Material.COARSE_DIRT, Material.SAND, Material.RED_SAND)); - - private final String filePath; - private final int permutations; - private final List validSpawns; - - private final Map loadedStructures = new HashMap<>(); - TerraTree(String directory, int number, List validSpawns) { - this.filePath = directory; - this.permutations = number; - this.validSpawns = validSpawns; - for(int i = 0; i < number; i++) { - Debug.info("[Terra] Loading tree " + directory + i + " to memory."); - loadedStructures.put(directory+i, NMSStructure.getAsTag(TerraTree.class.getResourceAsStream(directory + i + ".nbt"))); - } - } - - private NMSStructure getInstance(Location origin, Random random) { - return new NMSStructure(origin, loadedStructures.get(filePath + random.nextInt(permutations))); - } - - @Override - public boolean plant(Location location, Random random, boolean b, JavaPlugin javaPlugin) { - if(!validSpawns.contains(location.clone().subtract(0, 1, 0).getBlock().getType())) return false; - NMSStructure temp = getInstance(location, random); - int[] size = temp.getDimensions(); - switch(random.nextInt(4)) { - case 0: - temp.setOrigin(new Location(location.getWorld(), (int) (location.getBlockX()- (size[0]/2f)), location.getBlockY()-1, (int) (location.getBlockZ()- (size[2]/2f)))); - break; - case 1: - temp.setRotation(90); - temp.setOrigin(new Location(location.getWorld(), (int) (location.getBlockX()+ (size[0]/2f)), location.getBlockY()-1, (int) (location.getBlockZ()- (size[2]/2f)))); - break; - case 2: - temp.setRotation(180); - temp.setOrigin(new Location(location.getWorld(), (int) (location.getBlockX()+ (size[0]/2f)), location.getBlockY()-1, (int) (location.getBlockZ()+ (size[2]/2f)))); - break; - case 3: - temp.setRotation(270); - temp.setOrigin(new Location(location.getWorld(), (int) (location.getBlockX()- (size[0]/2f)), location.getBlockY()-1, (int) (location.getBlockZ()+ (size[2]/2f)))); - break; - } - temp.paste(); - return true; - } -} diff --git a/src/main/java/com/dfsek/terra/config/genconfig/BiomeConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/BiomeConfig.java index f45f18f64..f77bdb48d 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/BiomeConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/BiomeConfig.java @@ -4,9 +4,7 @@ import com.dfsek.terra.Debug; import com.dfsek.terra.config.TerraConfig; import com.dfsek.terra.config.exception.ConfigException; import com.dfsek.terra.config.exception.NotFoundException; -import com.dfsek.terra.population.OrePopulator; import org.polydev.gaea.math.Range; -import com.dfsek.terra.TerraTree; import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.generation.UserDefinedDecorator; import com.dfsek.terra.generation.UserDefinedGenerator; @@ -238,11 +236,7 @@ public class BiomeConfig extends TerraConfigObject { } if(treeData != null) { for(Map.Entry e : treeData.entrySet()) { - if(e.getKey().startsWith("TERRA:")) { - trees.add(TerraTree.valueOf(e.getKey().substring(6)), (Integer) e.getValue()); - } else { - trees.add(TreeType.valueOf(e.getKey()), (Integer) e.getValue()); - } + trees.add(TreeType.valueOf(e.getKey()), (Integer) e.getValue()); } } else trees = new ProbabilityCollection<>();