Files
ForestryMC/src/main/java/forestry/plugins/PluginArboriculture.java
T

430 lines
18 KiB
Java
Raw Normal View History

2014-05-02 21:31:20 +02:00
/*******************************************************************************
2014-08-07 08:29:25 +02:00
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
2014-08-07 02:56:58 -07:00
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
2014-08-07 08:29:25 +02:00
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
2014-05-02 21:31:20 +02:00
******************************************************************************/
package forestry.plugins;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraftforge.common.ChestGenHooks;
import net.minecraftforge.oredict.OreDictionary;
import cpw.mods.fml.common.IFuelHandler;
2014-05-02 21:31:20 +02:00
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInterModComms.IMCMessage;
import cpw.mods.fml.common.registry.GameData;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.VillagerRegistry;
2014-05-02 21:31:20 +02:00
import forestry.api.arboriculture.EnumGermlingType;
import forestry.api.arboriculture.EnumWoodType;
import forestry.api.arboriculture.TreeManager;
import forestry.api.core.ForestryAPI;
2014-05-02 21:31:20 +02:00
import forestry.api.genetics.AlleleManager;
import forestry.api.recipes.RecipeManagers;
import forestry.api.storage.ICrateRegistry;
import forestry.api.storage.StorageManager;
2014-05-02 21:31:20 +02:00
import forestry.arboriculture.GuiHandlerArboriculture;
import forestry.arboriculture.VillageHandlerArboriculture;
import forestry.arboriculture.WoodItemAccess;
import forestry.arboriculture.blocks.BlockArboriculture;
import forestry.arboriculture.blocks.BlockRegistryArboriculture;
import forestry.arboriculture.commands.CommandTree;
import forestry.arboriculture.genetics.TreeBranchDefinition;
import forestry.arboriculture.genetics.TreeDefinition;
import forestry.arboriculture.genetics.TreeFactory;
2014-05-02 21:31:20 +02:00
import forestry.arboriculture.genetics.TreeHelper;
import forestry.arboriculture.genetics.TreeMutationFactory;
2014-05-02 21:31:20 +02:00
import forestry.arboriculture.genetics.TreekeepingMode;
import forestry.arboriculture.genetics.alleles.AlleleFruit;
import forestry.arboriculture.genetics.alleles.AlleleGrowth;
import forestry.arboriculture.genetics.alleles.AlleleLeafEffect;
import forestry.arboriculture.items.ItemRegistryArboriculture;
2015-11-17 19:34:11 -08:00
import forestry.arboriculture.network.PacketRegistryArboriculture;
2014-05-02 21:31:20 +02:00
import forestry.arboriculture.proxy.ProxyArboriculture;
import forestry.arboriculture.tiles.TileArboristChest;
import forestry.arboriculture.tiles.TileFruitPod;
import forestry.arboriculture.tiles.TileLeaves;
import forestry.arboriculture.tiles.TileSapling;
import forestry.arboriculture.tiles.TileWood;
2015-11-08 19:24:46 -08:00
import forestry.core.GuiHandlerBase;
import forestry.core.blocks.BlockCore;
import forestry.core.config.Config;
import forestry.core.config.Constants;
2014-12-13 18:58:49 -08:00
import forestry.core.fluids.Fluids;
import forestry.core.genetics.alleles.AllelePlantType;
2014-05-02 21:31:20 +02:00
import forestry.core.items.ItemFruit.EnumFruit;
2015-11-17 19:34:11 -08:00
import forestry.core.network.IPacketRegistry;
2014-05-02 21:31:20 +02:00
import forestry.core.proxy.Proxies;
import forestry.core.recipes.RecipeUtil;
import forestry.core.recipes.ShapedRecipeCustom;
import forestry.core.recipes.ShapelessRecipeCustom;
import forestry.core.tiles.MachineDefinition;
import forestry.factory.recipes.FabricatorRecipe;
2014-05-02 21:31:20 +02:00
@Plugin(pluginID = "Arboriculture", name = "Arboriculture", author = "Binnie & SirSengir", url = Constants.URL, unlocalizedDescription = "for.plugin.arboriculture.description")
public class PluginArboriculture extends ForestryPlugin {
2014-05-02 21:31:20 +02:00
@SidedProxy(clientSide = "forestry.arboriculture.proxy.ProxyArboricultureClient", serverSide = "forestry.arboriculture.proxy.ProxyArboriculture")
2014-05-02 21:31:20 +02:00
public static ProxyArboriculture proxy;
public static String treekeepingMode = "NORMAL";
2014-05-02 21:31:20 +02:00
public static int modelIdSaplings;
public static int modelIdLeaves;
public static int modelIdPods;
2015-08-02 01:15:41 -07:00
private static MachineDefinition definitionChest;
2015-10-10 04:16:52 -07:00
public static final List<Block> validFences = new ArrayList<>();
2014-05-02 21:31:20 +02:00
public static ItemRegistryArboriculture items;
public static BlockRegistryArboriculture blocks;
2015-04-05 14:16:41 -07:00
@Override
protected void setupAPI() {
super.setupAPI();
TreeManager.treeFactory = new TreeFactory();
TreeManager.treeMutationFactory = new TreeMutationFactory();
TreeManager.woodItemAccess = new WoodItemAccess();
2015-04-05 14:16:41 -07:00
// Init tree interface
TreeManager.treeRoot = new TreeHelper();
AlleleManager.alleleRegistry.registerSpeciesRoot(TreeManager.treeRoot);
2015-04-05 14:16:41 -07:00
// Modes
TreeManager.treeRoot.registerTreekeepingMode(TreekeepingMode.easy);
TreeManager.treeRoot.registerTreekeepingMode(TreekeepingMode.normal);
TreeManager.treeRoot.registerTreekeepingMode(TreekeepingMode.hard);
TreeManager.treeRoot.registerTreekeepingMode(TreekeepingMode.hardcore);
TreeManager.treeRoot.registerTreekeepingMode(TreekeepingMode.insane);
2015-04-05 14:16:41 -07:00
}
2014-05-02 21:31:20 +02:00
@Override
protected void registerItemsAndBlocks() {
items = new ItemRegistryArboriculture();
blocks = new BlockRegistryArboriculture();
}
@Override
public void preInit() {
super.preInit();
for (EnumWoodType woodType : EnumWoodType.VALUES) {
WoodItemAccess.registerLog(blocks.logs, woodType, false);
WoodItemAccess.registerPlanks(blocks.planks, woodType, false);
WoodItemAccess.registerSlab(blocks.slabs, woodType, false);
WoodItemAccess.registerFence(blocks.fences, woodType, false);
WoodItemAccess.registerStairs(blocks.stairs, woodType, false);
WoodItemAccess.registerLog(blocks.logsFireproof, woodType, true);
WoodItemAccess.registerPlanks(blocks.planksFireproof, woodType, true);
WoodItemAccess.registerSlab(blocks.slabsFireproof, woodType, true);
WoodItemAccess.registerFence(blocks.fencesFireproof, woodType, true);
WoodItemAccess.registerStairs(blocks.stairsFireproof, woodType, true);
}
2014-05-02 21:31:20 +02:00
definitionChest = new MachineDefinition(BlockArboriculture.Type.ARBCHEST.ordinal(),
"forestry.ArbChest", TileArboristChest.class, Proxies.render.getRenderChest("arbchest"))
.setBoundingBox(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F);
blocks.arboriculture.addDefinition(definitionChest);
2014-05-02 21:31:20 +02:00
// Init rendering
proxy.initializeRendering();
// Register vanilla and forestry fence ids
validFences.add(blocks.fences);
validFences.add(blocks.fencesFireproof);
2014-05-02 21:31:20 +02:00
validFences.add(Blocks.fence);
validFences.add(Blocks.fence_gate);
validFences.add(Blocks.nether_brick_fence);
// Commands
PluginCore.rootCommand.addChildCommand(new CommandTree());
}
@Override
public void doInit() {
super.doInit();
2015-04-05 14:16:41 -07:00
// Create alleles
createAlleles();
TreeDefinition.initTrees();
2015-04-05 14:16:41 -07:00
registerErsatzGenomes();
2014-05-02 21:31:20 +02:00
GameRegistry.registerTileEntity(TileSapling.class, "forestry.Sapling");
GameRegistry.registerTileEntity(TileLeaves.class, "forestry.Leaves");
GameRegistry.registerTileEntity(TileWood.class, "forestry.Wood");
2014-05-02 21:31:20 +02:00
GameRegistry.registerTileEntity(TileFruitPod.class, "forestry.Pods");
definitionChest.register();
2015-06-21 22:34:42 -07:00
if (Config.enableVillagers) {
VillagerRegistry.instance().registerVillagerId(Constants.ID_VILLAGER_LUMBERJACK);
Proxies.render.registerVillagerSkin(Constants.ID_VILLAGER_LUMBERJACK, Constants.TEXTURE_SKIN_LUMBERJACK);
VillagerRegistry.instance().registerVillageTradeHandler(Constants.ID_VILLAGER_LUMBERJACK, new VillageHandlerArboriculture());
}
2014-05-02 21:31:20 +02:00
}
@Override
public void postInit() {
super.postInit();
registerDungeonLoot();
}
@Override
protected void registerCrates() {
ICrateRegistry crateRegistry = StorageManager.crateRegistry;
crateRegistry.registerCrate(EnumFruit.CHERRY.getStack(), "cratedCherry");
crateRegistry.registerCrate(EnumFruit.WALNUT.getStack(), "cratedWalnut");
crateRegistry.registerCrate(EnumFruit.CHESTNUT.getStack(), "cratedChestnut");
crateRegistry.registerCrate(EnumFruit.LEMON.getStack(), "cratedLemon");
crateRegistry.registerCrate(EnumFruit.PLUM.getStack(), "cratedPlum");
crateRegistry.registerCrate(EnumFruit.PAPAYA.getStack(), "cratedPapaya");
crateRegistry.registerCrate(EnumFruit.DATES.getStack(), "cratedDates");
2014-05-02 21:31:20 +02:00
}
@Override
protected void registerRecipes() {
RecipeUtil.addSmelting(new ItemStack(blocks.logs, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.coal, 1, 1), 0.15F);
for (EnumWoodType woodType : EnumWoodType.VALUES) {
ItemStack planks = TreeManager.woodItemAccess.getPlanks(woodType, false);
ItemStack logs = TreeManager.woodItemAccess.getLog(woodType, false);
ItemStack slabs = TreeManager.woodItemAccess.getSlab(woodType, false);
ItemStack fences = TreeManager.woodItemAccess.getFence(woodType, false);
ItemStack stairs = TreeManager.woodItemAccess.getStairs(woodType, false);
ItemStack fireproofPlanks = TreeManager.woodItemAccess.getPlanks(woodType, true);
ItemStack fireproofLogs = TreeManager.woodItemAccess.getLog(woodType, true);
ItemStack fireproofSlabs = TreeManager.woodItemAccess.getSlab(woodType, true);
ItemStack fireproofFences = TreeManager.woodItemAccess.getFence(woodType, true);
ItemStack fireproofStairs = TreeManager.woodItemAccess.getStairs(woodType, true);
planks.stackSize = 4;
logs.stackSize = 1;
ShapelessRecipeCustom.buildRecipe(planks.copy(), logs.copy());
fireproofPlanks.stackSize = 4;
fireproofLogs.stackSize = 1;
ShapelessRecipeCustom.buildRecipe(fireproofPlanks.copy(), fireproofLogs.copy());
slabs.stackSize = 6;
planks.stackSize = 1;
ShapedRecipeCustom.buildPriorityRecipe(slabs.copy(),
"###",
'#', planks.copy());
fireproofSlabs.stackSize = 6;
fireproofPlanks.stackSize = 1;
ShapedRecipeCustom.buildPriorityRecipe(fireproofSlabs.copy(),
"###",
'#', fireproofPlanks.copy());
fences.stackSize = 3;
planks.stackSize = 1;
ShapedRecipeCustom.buildRecipe(fences.copy(),
"#X#",
"#X#",
'#', planks.copy(), 'X', "stickWood");
fireproofFences.stackSize = 3;
fireproofPlanks.stackSize = 1;
ShapedRecipeCustom.buildRecipe(fireproofFences.copy(),
"#X#",
"#X#",
'#', fireproofPlanks.copy(), 'X', "stickWood");
stairs.stackSize = 4;
planks.stackSize = 1;
ShapedRecipeCustom.buildPriorityRecipe(stairs.copy(),
"# ",
"## ",
"###",
'#', planks.copy());
fireproofStairs.stackSize = 4;
fireproofPlanks.stackSize = 1;
ShapedRecipeCustom.buildPriorityRecipe(fireproofStairs.copy(),
"# ",
"## ",
"###",
'#', fireproofPlanks.copy());
// Fabricator recipes
if (PluginManager.Module.FACTORY.isEnabled() && PluginManager.Module.APICULTURE.isEnabled()) {
logs.stackSize = 1;
fireproofLogs.stackSize = 1;
RecipeManagers.fabricatorManager.addRecipe(new FabricatorRecipe(null, Fluids.GLASS.getFluid(500), fireproofLogs.copy(), new Object[]{
" # ",
"#X#",
" # ",
'#', PluginCore.items.refractoryWax,
'X', logs.copy()}));
planks.stackSize = 1;
fireproofPlanks.stackSize = 5;
RecipeManagers.fabricatorManager.addRecipe(new FabricatorRecipe(null, Fluids.GLASS.getFluid(500), fireproofPlanks.copy(), new Object[]{
"X#X",
"#X#",
"X#X",
'#', PluginCore.items.refractoryWax,
'X', planks.copy()}));
}
}
2015-01-07 07:07:45 -08:00
if (PluginManager.Module.FACTORY.isEnabled()) {
// Treealyzer
RecipeManagers.carpenterManager.addRecipe(100, Fluids.WATER.getFluid(2000), null, items.treealyzer.getItemStack(), "X#X", "X#X", "RDR",
2015-08-21 01:45:09 -05:00
'#', "paneGlass",
2015-01-07 07:07:45 -08:00
'X', "ingotCopper",
2015-08-21 01:45:09 -05:00
'R', "dustRedstone",
'D', "gemDiamond");
2015-01-07 07:07:45 -08:00
// SQUEEZER RECIPES
int seedOilMultiplier = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.seed");
int juiceMultiplier = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.apple");
int mulchMultiplier = ForestryAPI.activeMode.getIntegerSetting("squeezer.mulch.apple");
ItemStack mulch = new ItemStack(PluginCore.items.mulch);
RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[]{EnumFruit.CHERRY.getStack()}, Fluids.SEEDOIL.getFluid(5 * seedOilMultiplier), mulch, 5);
RecipeManagers.squeezerManager.addRecipe(60, new ItemStack[]{EnumFruit.WALNUT.getStack()}, Fluids.SEEDOIL.getFluid(18 * seedOilMultiplier), mulch, 5);
RecipeManagers.squeezerManager.addRecipe(70, new ItemStack[]{EnumFruit.CHESTNUT.getStack()}, Fluids.SEEDOIL.getFluid(22 * seedOilMultiplier), mulch, 2);
RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.LEMON.getStack()}, Fluids.JUICE.getFluid(juiceMultiplier * 2), mulch, (int) Math.floor(mulchMultiplier * 0.5f));
RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.PLUM.getStack()}, Fluids.JUICE.getFluid((int) Math.floor(juiceMultiplier * 0.5f)), mulch, mulchMultiplier * 3);
RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.PAPAYA.getStack()}, Fluids.JUICE.getFluid(juiceMultiplier * 3), mulch, (int) Math.floor(mulchMultiplier * 0.5f));
RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.DATES.getStack()}, Fluids.JUICE.getFluid((int) Math.floor(juiceMultiplier * 0.25)), mulch, mulchMultiplier);
2015-01-07 07:07:45 -08:00
RecipeUtil.addFermenterRecipes(items.sapling.getItemStack(), ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.sapling"), Fluids.BIOMASS);
2015-01-07 07:07:45 -08:00
}
2014-05-02 21:31:20 +02:00
// Grafter
RecipeUtil.addRecipe(items.grafter.getItemStack(),
" B",
" # ",
"# ",
'B', "ingotBronze",
'#', "stickWood");
// ANALYZER
RecipeUtil.addRecipe(PluginCore.blocks.core.get(BlockCore.Type.ANALYZER, 1),
"XTX",
" Y ",
"X X",
'Y', PluginCore.items.sturdyCasing,
'T', items.treealyzer,
'X', "ingotBronze");
RecipeUtil.addRecipe(blocks.arboriculture.get(BlockArboriculture.Type.ARBCHEST, 1),
" # ",
"XYX",
"XXX",
'#', "blockGlass",
'X', "treeSapling",
'Y', "chestWood");
2014-05-02 21:31:20 +02:00
}
2015-04-05 14:16:41 -07:00
private static void createAlleles() {
2014-05-02 21:31:20 +02:00
TreeBranchDefinition.createAlleles();
2014-05-02 21:31:20 +02:00
AlleleFruit.createAlleles();
AlleleGrowth.createAlleles();
AlleleLeafEffect.createAlleles();
AllelePlantType.createAlleles();
2014-05-02 21:31:20 +02:00
}
2015-04-05 14:16:41 -07:00
private static void registerErsatzGenomes() {
AlleleManager.ersatzSpecimen.put(new ItemStack(Blocks.leaves, 1, 0), TreeDefinition.Oak.getIndividual());
AlleleManager.ersatzSpecimen.put(new ItemStack(Blocks.leaves, 1, 1), TreeDefinition.Spruce.getIndividual());
AlleleManager.ersatzSpecimen.put(new ItemStack(Blocks.leaves, 1, 2), TreeDefinition.Birch.getIndividual());
AlleleManager.ersatzSpecimen.put(new ItemStack(Blocks.leaves, 1, 3), TreeDefinition.Jungle.getIndividual());
AlleleManager.ersatzSpecimen.put(new ItemStack(Blocks.leaves2, 1, 0), TreeDefinition.Acacia.getIndividual());
AlleleManager.ersatzSpecimen.put(new ItemStack(Blocks.leaves2, 1, 1), TreeDefinition.DarkOak.getIndividual());
AlleleManager.ersatzSaplings.put(new ItemStack(Blocks.sapling, 1, 0), TreeDefinition.Oak.getIndividual());
AlleleManager.ersatzSaplings.put(new ItemStack(Blocks.sapling, 1, 1), TreeDefinition.Spruce.getIndividual());
AlleleManager.ersatzSaplings.put(new ItemStack(Blocks.sapling, 1, 2), TreeDefinition.Birch.getIndividual());
AlleleManager.ersatzSaplings.put(new ItemStack(Blocks.sapling, 1, 3), TreeDefinition.Jungle.getIndividual());
AlleleManager.ersatzSaplings.put(new ItemStack(Blocks.sapling, 1, 4), TreeDefinition.Acacia.getIndividual());
AlleleManager.ersatzSaplings.put(new ItemStack(Blocks.sapling, 1, 5), TreeDefinition.DarkOak.getIndividual());
2014-05-02 21:31:20 +02:00
}
@Override
2015-11-08 19:24:46 -08:00
public GuiHandlerBase getGuiHandler() {
2014-05-02 21:31:20 +02:00
return new GuiHandlerArboriculture();
}
@Override
public IFuelHandler getFuelHandler() {
2015-04-05 14:16:41 -07:00
return new FuelHandler();
2014-05-02 21:31:20 +02:00
}
@Override
2015-11-17 19:34:11 -08:00
public IPacketRegistry getPacketRegistry() {
return new PacketRegistryArboriculture();
2014-05-02 21:31:20 +02:00
}
@Override
public boolean processIMCMessage(IMCMessage message) {
if (message.key.equals("add-fence-block") && message.isStringMessage()) {
2014-07-12 07:55:59 +02:00
Block block = GameData.getBlockRegistry().getRaw(message.getStringValue());
2014-05-02 21:31:20 +02:00
if (block != null && block != Blocks.air) {
2014-05-02 21:31:20 +02:00
validFences.add(block);
} else {
logInvalidIMCMessage(message);
}
return true;
2014-05-02 21:31:20 +02:00
}
return super.processIMCMessage(message);
}
2015-04-05 14:16:41 -07:00
private static void registerDungeonLoot() {
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(items.grafter.getItemStack(), 1, 1, 8));
2014-05-02 21:31:20 +02:00
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Oak.getMemberStack(EnumGermlingType.SAPLING), 2, 3, 6));
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Spruce.getMemberStack(EnumGermlingType.SAPLING), 2, 3, 6));
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Birch.getMemberStack(EnumGermlingType.SAPLING), 2, 3, 6));
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Larch.getMemberStack(EnumGermlingType.SAPLING), 1, 2, 4));
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Lime.getMemberStack(EnumGermlingType.SAPLING), 1, 2, 4));
2014-05-02 21:31:20 +02:00
if (PluginManager.Module.APICULTURE.isEnabled()) {
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Oak.getMemberStack(EnumGermlingType.POLLEN), 2, 3, 4));
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Spruce.getMemberStack(EnumGermlingType.POLLEN), 2, 3, 4));
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Birch.getMemberStack(EnumGermlingType.POLLEN), 2, 3, 4));
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Larch.getMemberStack(EnumGermlingType.POLLEN), 1, 2, 3));
ChestGenHooks.addItem(Constants.CHEST_GEN_HOOK_NATURALIST_CHEST, new WeightedRandomChestContent(TreeDefinition.Lime.getMemberStack(EnumGermlingType.POLLEN), 1, 2, 3));
2014-05-02 21:31:20 +02:00
}
}
2015-04-05 14:16:41 -07:00
private static class FuelHandler implements IFuelHandler {
@Override
public int getBurnTime(ItemStack fuel) {
Item item = fuel.getItem();
if (items.sapling == item) {
2015-04-05 14:16:41 -07:00
return 100;
}
if (blocks.slabs == Block.getBlockFromItem(item)) {
return 150;
2015-04-05 14:16:41 -07:00
}
return 0;
}
}
2014-05-02 21:31:20 +02:00
}