33import java .util .List ;
44import java .util .Random ;
55
6+ import com .ferreusveritas .dynamictrees .blocks .BlockBranch ;
7+ import com .ferreusveritas .dynamictrees .blocks .BlockDynamicLeaves ;
8+ import com .ferreusveritas .dynamictrees .trees .DynamicTree ;
69import com .ferreusveritas .dynamictrees .trees .Species ;
710
811import net .minecraft .item .ItemStack ;
@@ -15,12 +18,61 @@ public interface IDropCreator {
1518
1619 ResourceLocation getName ();
1720
21+ /**
22+ * Gets a list of drops for a {@link BlockDynamicLeaves} when the entire tree is harvested.
23+ * NOT used for individual {@link BlockDynamicLeaves} being directly harvested by hand or tool.
24+ *
25+ * @param world
26+ * @param species
27+ * @param leafPos
28+ * @param random
29+ * @param dropList
30+ * @param soilLife
31+ * @param fortune
32+ * @return
33+ */
1834 List <ItemStack > getHarvestDrop (World world , Species species , BlockPos leafPos , Random random , List <ItemStack > dropList , int soilLife , int fortune );
1935
36+ /**
37+ * Gets a {@link List} of voluntary drops. Voluntary drops are {@link ItemStack}s that fall from the {@link DynamicTree} at
38+ * random with no player interaction.
39+ *
40+ * @param world
41+ * @param species
42+ * @param rootPos
43+ * @param random
44+ * @param dropList
45+ * @param soilLife
46+ * @return
47+ */
2048 List <ItemStack > getVoluntaryDrop (World world , Species species , BlockPos rootPos , Random random , List <ItemStack > dropList , int soilLife );
2149
50+ /**
51+ * Gets a {@link List} of Leaves drops. Leaves drops are {@link ItemStack}s that result from the breaking of
52+ * a {@link BlockDynamicLeaves} directly by hand or with a tool.
53+ *
54+ * @param access
55+ * @param species
56+ * @param breakPos
57+ * @param random
58+ * @param dropList
59+ * @param fortune
60+ * @return
61+ */
2262 List <ItemStack > getLeavesDrop (IBlockAccess access , Species species , BlockPos breakPos , Random random , List <ItemStack > dropList , int fortune );
2363
64+ /**
65+ * Gets a {@link List} of Logs drops. Logs drops are {@link ItemStack}s that result from the breaking of
66+ * a {@link BlockBranch} directly by hand or with a tool.
67+ *
68+ * @param world
69+ * @param species
70+ * @param breakPos
71+ * @param random
72+ * @param dropList
73+ * @param volume
74+ * @return
75+ */
2476 List <ItemStack > getLogsDrop (World world , Species species , BlockPos breakPos , Random random , List <ItemStack > dropList , int volume );
2577
2678}
0 commit comments