package com.jaquadro.minecraft.gardentrees.integration;
import com.jaquadro.minecraft.gardencore.api.SaplingRegistry;
import com.jaquadro.minecraft.gardencore.util.UniqueMetaIdentifier;
import com.jaquadro.minecraft.gardentrees.world.gen.OrnamentalTreeFactory;
import com.jaquadro.minecraft.gardentrees.world.gen.OrnamentalTreeRegistry;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.Item;
import java.util.HashMap;
import java.util.Map;
public class NaturaIntegration
{
public static final String MOD_ID = "Natura";
public static void init () {
if (!Loader.isModLoaded(MOD_ID))
return;
Map<String, int[]> saplingBank1 = new HashMap<String, int[]>();
saplingBank1.put("small_oak", new int[] { 1, 3, 4, 6, 7 });
saplingBank1.put("large_spruce", new int[] { 0 });
saplingBank1.put("small_shrub", new int[] { 2 });
Map<String, int[]> saplingBank2 = new HashMap<String, int[]>();
saplingBank2.put("small_oak", new int[] { 0, 1, 3 });
saplingBank2.put("tall_small_oak", new int[] { 2 });
saplingBank2.put("small_willow", new int[] { 4 });
Map<Item, Map<String, int[]>> banks = new HashMap<Item, Map<String, int[]>>();
banks.put(GameRegistry.findItem(MOD_ID, "florasapling"), saplingBank1);
banks.put(GameRegistry.findItem(MOD_ID, "Rare Sapling"), saplingBank2);
SaplingRegistry saplingReg = SaplingRegistry.instance();
for (Map.Entry<Item, Map<String, int[]>> entry : banks.entrySet()) {
Item sapling = entry.getKey();
for (Map.Entry<String, int[]> bankEntry : entry.getValue().entrySet()) {
OrnamentalTreeFactory factory = OrnamentalTreeRegistry.getTree(bankEntry.getKey());
if (factory == null)
continue;
for (int i : bankEntry.getValue()) {
UniqueMetaIdentifier woodBlock = saplingReg.getWoodForSapling(sapling, i);
UniqueMetaIdentifier leafBlock = saplingReg.getLeavesForSapling(sapling, i);
if (woodBlock == null && leafBlock == null)
continue;
saplingReg.putExtendedData(sapling, i, "sm_generator",
factory.create(woodBlock.getBlock(), woodBlock.meta, leafBlock.getBlock(), leafBlock.meta));
}
}
}
}
}