package com.vanhal.progressiveautomation.compat.mods;
import java.util.List;
import com.vanhal.progressiveautomation.ProgressiveAutomation;
import com.vanhal.progressiveautomation.util.OreHelper;
import com.vanhal.progressiveautomation.util.Point3I;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.oredict.OreDictionary;
public class BetterWithMods extends Vanilla {
public BetterWithMods() {
modID = "betterwithmods";
}
@Override
public boolean shouldLoad() {
return checkModLoad();
}
@Override
public boolean isPlantible(ItemStack item) {
if (Item.REGISTRY.getNameForObject(item.getItem()).getResourceDomain().equals(modID)) {
if (item.getItem() instanceof IPlantable) return true;
if (item != null) {
if (item.getItem() != null) {
if (item.getItem().toString().contains("HempSeed")) {
return true;
}
}
}
}
return false;
}
@Override
public boolean isPlant(Block plantBlock, IBlockState state) {
if (super.isPlant(plantBlock, state)) {
if (Block.REGISTRY.getNameForObject(plantBlock).getResourceDomain().equals(modID)) {
return true;
}
}
return false;
}
@Override
public boolean shouldHoe(ItemStack item) {
if (this.isPlantible(item)) return true;
return false;
}
@Override
protected IBlockState getPlantBlock(World worldObj, ItemStack itemStack, Point3I point) {
if ( (itemStack != null) && (itemStack.getItem()!=null) ) {
if (itemStack.getItem() instanceof ItemBlock) {
return ((ItemBlock)itemStack.getItem()).block.getDefaultState();
}
}
return null;
}
@Override
public boolean isGrown(Point3I plantPoint, Block plantBlock, IBlockState state, World worldObj) {
if (plantBlock.getUnlocalizedName().contains("hemp")) {
return (worldObj.getBlockState(plantPoint.toPosition().up()).getBlock().getUnlocalizedName().contains("hemp"));
}
return false;
}
@Override
public List<ItemStack> harvestPlant(Point3I plantPoint, Block plantBlock, IBlockState state, World worldObj) {
IBlockState oneUpState = worldObj.getBlockState(plantPoint.toPosition());
Block oneUp = oneUpState.getBlock();
List<ItemStack> items = oneUp.getDrops(worldObj, plantPoint.toPosition().up(), state, 0);
worldObj.setBlockToAir(plantPoint.toPosition().up());
return items;
}
}