package com.scottkillen.mod.dendrology.world.gen.feature;

import com.google.common.base.Objects;
import com.scottkillen.mod.dendrology.world.gen.feature.porffor.LargePorfforTree;
import com.scottkillen.mod.dendrology.world.gen.feature.vanilla.VanillaTree;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
import java.util.Random;

public class PorfforTree extends AbstractTree
{
    private final WorldGenAbstractTree treeGen;
    private final WorldGenAbstractTree largeTreeGen;

    public PorfforTree()
    {
        treeGen = new VanillaTree();
        largeTreeGen = new LargePorfforTree();
    }

    @Override
    public boolean generate(World world, Random rand, int x, int y, int z)
    {
        if (rand.nextInt(10) < 9) return treeGen.generate(world, rand, x, y, z);

        return largeTreeGen.generate(world, rand, x, y, z);
    }

    @Override
    public String toString()
    {
        return Objects.toStringHelper(this).add("treeGen", treeGen).add("largeTreeGen", largeTreeGen).toString();
    }
}

@@ -91,16 +91,70 @@
 bjects;%0A
+import com.scottkillen.mod.dendrology.reference.Tree;%0A
 import c
@@ -487,32 +487,24 @@
 ivate final 
-WorldGen
 AbstractTree
@@ -531,24 +531,16 @@
 e final 
-WorldGen
 Abstract
@@ -673,32 +673,161 @@
 rTree();%0A    %7D%0A%0A
+    @Override%0A    public void setTree(Tree tree)%0A    %7B%0A        treeGen.setTree(tree);%0A        largeTreeGen.setTree(tree);%0A    %7D%0A%0A
     @Override%0A  

Fix npe