Testing the creation of hell
This commit is contained in:
parent
796e75b1f9
commit
a2b006105e
2587 changed files with 0 additions and 129617 deletions
|
@ -0,0 +1,129 @@
|
|||
package WayofTime.alchemicalWizardry.common.harvest;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.IPlantable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BloodMagicHarvestHandler implements IHarvestHandler
|
||||
{
|
||||
public boolean canHandleBlock(Block block)
|
||||
{
|
||||
return block == Blocks.wheat || block == Blocks.carrots || block == Blocks.potatoes || block == Blocks.nether_wart;
|
||||
}
|
||||
|
||||
public int getHarvestMeta(Block block)
|
||||
{
|
||||
if (block == Blocks.wheat)
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
if (block == Blocks.carrots)
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
if (block == Blocks.potatoes)
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
if (block == Blocks.nether_wart)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
return 7;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta)
|
||||
{
|
||||
if (!this.canHandleBlock(block) || meta != this.getHarvestMeta(block))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
IPlantable seed = this.getSeedItem(block);
|
||||
|
||||
if (seed == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int fortune = 0;
|
||||
|
||||
List<ItemStack> list = block.getDrops(world, xCoord, yCoord, zCoord, meta, fortune);
|
||||
boolean foundAndRemovedSeed = false;
|
||||
|
||||
for (ItemStack stack : list)
|
||||
{
|
||||
if (stack == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Item item = stack.getItem();
|
||||
if (item == seed)
|
||||
{
|
||||
int itemSize = stack.stackSize;
|
||||
if (itemSize > 1)
|
||||
{
|
||||
stack.stackSize--;
|
||||
foundAndRemovedSeed = true;
|
||||
break;
|
||||
} else if (itemSize == 1)
|
||||
{
|
||||
list.remove(stack);
|
||||
foundAndRemovedSeed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (foundAndRemovedSeed)
|
||||
{
|
||||
int plantMeta = seed.getPlantMetadata(world, xCoord, yCoord, zCoord);
|
||||
Block plantBlock = seed.getPlant(world, xCoord, yCoord, zCoord);
|
||||
|
||||
world.func_147480_a(xCoord, yCoord, zCoord, false);
|
||||
|
||||
world.setBlock(xCoord, yCoord, zCoord, plantBlock, plantMeta, 3);
|
||||
|
||||
for (ItemStack stack : list)
|
||||
{
|
||||
EntityItem itemEnt = new EntityItem(world, xCoord, yCoord, zCoord, stack);
|
||||
|
||||
world.spawnEntityInWorld(itemEnt);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public IPlantable getSeedItem(Block block)
|
||||
{
|
||||
if (block == Blocks.wheat)
|
||||
{
|
||||
return (IPlantable) Items.wheat_seeds;
|
||||
}
|
||||
if (block == Blocks.carrots)
|
||||
{
|
||||
return (IPlantable) Items.carrot;
|
||||
}
|
||||
if (block == Blocks.potatoes)
|
||||
{
|
||||
return (IPlantable) Items.potato;
|
||||
}
|
||||
if (block == Blocks.nether_wart)
|
||||
{
|
||||
return (IPlantable) Items.nether_wart;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package WayofTime.alchemicalWizardry.common.harvest;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CactusReedHarvestHandler implements IHarvestHandler
|
||||
{
|
||||
public boolean canHandleBlock(Block block)
|
||||
{
|
||||
return block == Blocks.reeds || block == Blocks.cactus;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta)
|
||||
{
|
||||
if (!this.canHandleBlock(block))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (world.getBlock(xCoord, yCoord - 1, zCoord) != block || world.getBlock(xCoord, yCoord - 2, zCoord) != block)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
world.func_147480_a(xCoord, yCoord, zCoord, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
package WayofTime.alchemicalWizardry.common.harvest;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class GenericPamSeedlessFruitHarvestHandler implements IHarvestHandler
|
||||
{
|
||||
public Block harvestBlock;
|
||||
public int harvestMeta;
|
||||
public int resetMeta;
|
||||
|
||||
public GenericPamSeedlessFruitHarvestHandler(String block, int harvestMeta, int resetMeta)
|
||||
{
|
||||
this.harvestBlock = getBlockForString(block);
|
||||
this.harvestMeta = harvestMeta;
|
||||
this.resetMeta = resetMeta;
|
||||
}
|
||||
|
||||
public boolean isHarvesterValid()
|
||||
{
|
||||
return harvestBlock != null;
|
||||
}
|
||||
|
||||
public static Block getBlockForString(String str)
|
||||
{
|
||||
String[] parts = str.split(":");
|
||||
String modId = parts[0];
|
||||
String name = parts[1];
|
||||
return GameRegistry.findBlock(modId, name);
|
||||
}
|
||||
|
||||
public static Item getItemForString(String str)
|
||||
{
|
||||
String[] parts = str.split(":");
|
||||
String modId = parts[0];
|
||||
String name = parts[1];
|
||||
return GameRegistry.findItem(modId, name);
|
||||
}
|
||||
|
||||
public boolean canHandleBlock(Block block)
|
||||
{
|
||||
return block == harvestBlock;
|
||||
}
|
||||
|
||||
public int getHarvestMeta(Block block)
|
||||
{
|
||||
return harvestMeta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta)
|
||||
{
|
||||
if (!this.canHandleBlock(block) || meta != this.getHarvestMeta(block))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
world.func_147480_a(xCoord, yCoord, zCoord, true);
|
||||
|
||||
world.setBlock(xCoord, yCoord, zCoord, harvestBlock, resetMeta, 3);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,137 @@
|
|||
package WayofTime.alchemicalWizardry.common.harvest;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.IPlantable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GenericSeededHarvestHandler implements IHarvestHandler
|
||||
{
|
||||
public Block harvestBlock;
|
||||
public int harvestMeta;
|
||||
public IPlantable harvestSeed;
|
||||
|
||||
public GenericSeededHarvestHandler(String block, int meta, String seed)
|
||||
{
|
||||
harvestBlock = getBlockForString(block);
|
||||
harvestMeta = meta;
|
||||
Item testSeed = getItemForString(seed);
|
||||
if (testSeed instanceof IPlantable)
|
||||
{
|
||||
harvestSeed = (IPlantable) testSeed;
|
||||
} else
|
||||
{
|
||||
harvestSeed = null;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isHarvesterValid()
|
||||
{
|
||||
return harvestBlock != null && harvestSeed != null;
|
||||
}
|
||||
|
||||
public static Block getBlockForString(String str)
|
||||
{
|
||||
String[] parts = str.split(":");
|
||||
String modId = parts[0];
|
||||
String name = parts[1];
|
||||
return GameRegistry.findBlock(modId, name);
|
||||
}
|
||||
|
||||
public static Item getItemForString(String str)
|
||||
{
|
||||
String[] parts = str.split(":");
|
||||
String modId = parts[0];
|
||||
String name = parts[1];
|
||||
return GameRegistry.findItem(modId, name);
|
||||
}
|
||||
|
||||
public boolean canHandleBlock(Block block)
|
||||
{
|
||||
return block == harvestBlock;
|
||||
}
|
||||
|
||||
public int getHarvestMeta(Block block)
|
||||
{
|
||||
return harvestMeta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta)
|
||||
{
|
||||
if (!this.canHandleBlock(block) || meta != this.getHarvestMeta(block))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
IPlantable seed = this.getSeedItem(block);
|
||||
|
||||
if (seed == null)
|
||||
{
|
||||
world.func_147480_a(xCoord, yCoord, zCoord, true);
|
||||
|
||||
return true;
|
||||
} else
|
||||
{
|
||||
int fortune = 0;
|
||||
|
||||
List<ItemStack> list = block.getDrops(world, xCoord, yCoord, zCoord, meta, fortune);
|
||||
boolean foundAndRemovedSeed = false;
|
||||
|
||||
for (ItemStack stack : list)
|
||||
{
|
||||
if (stack == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Item item = stack.getItem();
|
||||
if (item == seed)
|
||||
{
|
||||
int itemSize = stack.stackSize;
|
||||
if (itemSize > 1)
|
||||
{
|
||||
stack.stackSize--;
|
||||
foundAndRemovedSeed = true;
|
||||
break;
|
||||
} else if (itemSize == 1)
|
||||
{
|
||||
list.remove(stack);
|
||||
foundAndRemovedSeed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (foundAndRemovedSeed)
|
||||
{
|
||||
int plantMeta = seed.getPlantMetadata(world, xCoord, yCoord, zCoord);
|
||||
Block plantBlock = seed.getPlant(world, xCoord, yCoord, zCoord);
|
||||
|
||||
world.func_147480_a(xCoord, yCoord, zCoord, false);
|
||||
|
||||
world.setBlock(xCoord, yCoord, zCoord, plantBlock, plantMeta, 3);
|
||||
|
||||
for (ItemStack stack : list)
|
||||
{
|
||||
EntityItem itemEnt = new EntityItem(world, xCoord, yCoord, zCoord, stack);
|
||||
|
||||
world.spawnEntityInWorld(itemEnt);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public IPlantable getSeedItem(Block block)
|
||||
{
|
||||
return harvestSeed;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package WayofTime.alchemicalWizardry.common.harvest;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.harvest.IHarvestHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class GourdHarvestHandler implements IHarvestHandler
|
||||
{
|
||||
public boolean canHandleBlock(Block block)
|
||||
{
|
||||
return block == Blocks.melon_block || block == Blocks.pumpkin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean harvestAndPlant(World world, int xCoord, int yCoord, int zCoord, Block block, int meta)
|
||||
{
|
||||
if (!this.canHandleBlock(block))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
world.func_147480_a(xCoord, yCoord, zCoord, true);
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
package WayofTime.alchemicalWizardry.common.harvest;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.harvest.HarvestRegistry;
|
||||
|
||||
public class PamHarvestCompatRegistry
|
||||
{
|
||||
public static void registerPamHandlers()
|
||||
{
|
||||
registerSeededHandler("blackberry", 7);
|
||||
registerSeededHandler("blueberry", 7);
|
||||
registerSeededHandler("candleberry", 7);
|
||||
registerSeededHandler("raspberry", 7);
|
||||
registerSeededHandler("strawberry", 7);
|
||||
registerSeededHandler("cactusfruit", 7);
|
||||
registerSeededHandler("asparagus", 7);
|
||||
registerSeededHandler("barley", 7);
|
||||
registerSeededHandler("oats", 7);
|
||||
registerSeededHandler("rye", 7);
|
||||
registerSeededHandler("corn", 7);
|
||||
registerSeededHandler("bambooshoot", 7);
|
||||
registerSeededHandler("cantaloupe", 7);
|
||||
registerSeededHandler("cucumber", 7);
|
||||
registerSeededHandler("windersquash", 7);
|
||||
registerSeededHandler("zucchini", 7);
|
||||
registerSeededHandler("beat", 7);
|
||||
registerSeededHandler("onion", 7);
|
||||
registerSeededHandler("parsnip", 7);
|
||||
registerSeededHandler("peanut", 7);
|
||||
registerSeededHandler("radish", 7);
|
||||
registerSeededHandler("rutabaga", 7);
|
||||
registerSeededHandler("sweetpotato", 7);
|
||||
registerSeededHandler("turnip", 7);
|
||||
registerSeededHandler("rhubarb", 7);
|
||||
registerSeededHandler("celery", 7);
|
||||
registerSeededHandler("garlic", 7);
|
||||
registerSeededHandler("ginger", 7);
|
||||
registerSeededHandler("spiceleaf", 7);
|
||||
registerSeededHandler("tealeaf", 7);
|
||||
registerSeededHandler("coffeebean", 7);
|
||||
registerSeededHandler("mustardseeds", 7);
|
||||
registerSeededHandler("brocolli", 7);
|
||||
registerSeededHandler("cauliflower", 7);
|
||||
registerSeededHandler("leek", 7);
|
||||
registerSeededHandler("lettuce", 7);
|
||||
registerSeededHandler("scallion", 7);
|
||||
registerSeededHandler("artichoke", 7);
|
||||
registerSeededHandler("brusselsprout", 7);
|
||||
registerSeededHandler("cabbage", 7);
|
||||
registerSeededHandler("whitemushroom", 7);
|
||||
registerSeededHandler("bean", 7);
|
||||
registerSeededHandler("soybean", 7);
|
||||
registerSeededHandler("bellpepper", 7);
|
||||
registerSeededHandler("chili", 7);
|
||||
registerSeededHandler("eggplant", 7);
|
||||
registerSeededHandler("pamokra", 7);
|
||||
registerSeededHandler("peas", 7);
|
||||
registerSeededHandler("tomato", 7);
|
||||
registerSeededHandler("cotton", 7);
|
||||
registerSeededHandler("pineapple", 7);
|
||||
registerSeededHandler("grape", 7);
|
||||
registerSeededHandler("kiwi", 7);
|
||||
registerSeededHandler("cranberry", 7);
|
||||
registerSeededHandler("rice", 7);
|
||||
registerSeededHandler("seaweed", 7);
|
||||
|
||||
registerFruitHandler("apple", 7, 0);
|
||||
registerFruitHandler("Almond", 7, 0);
|
||||
registerFruitHandler("Apricot", 7, 0);
|
||||
registerFruitHandler("Avocado", 7, 0);
|
||||
registerFruitHandler("Banana", 7, 0);
|
||||
registerFruitHandler("Cashew", 7, 0);
|
||||
registerFruitHandler("Cherry", 7, 0);
|
||||
registerFruitHandler("Chestnut", 7, 0);
|
||||
registerFruitHandler("Cinnamon", 7, 0);
|
||||
registerFruitHandler("Coconut", 7, 0);
|
||||
registerFruitHandler("Date", 7, 0);
|
||||
registerFruitHandler("Dragonfruit", 7, 0);
|
||||
registerFruitHandler("Durian", 7, 0);
|
||||
registerFruitHandler("Fig", 7, 0);
|
||||
registerFruitHandler("Grapefruit", 7, 0);
|
||||
registerFruitHandler("Lemon", 7, 0);
|
||||
registerFruitHandler("Lime", 7, 0);
|
||||
registerFruitHandler("Maple", 7, 0);
|
||||
registerFruitHandler("Mango", 7, 0);
|
||||
registerFruitHandler("Nutmeg", 7, 0);
|
||||
registerFruitHandler("Olive", 7, 0);
|
||||
registerFruitHandler("Orange", 7, 0);
|
||||
registerFruitHandler("Papaya", 7, 0);
|
||||
registerFruitHandler("Paperbark", 7, 0);
|
||||
registerFruitHandler("Peach", 7, 0);
|
||||
registerFruitHandler("Pear", 7, 0);
|
||||
registerFruitHandler("Pecan", 7, 0);
|
||||
registerFruitHandler("Peppercorn", 7, 0);
|
||||
registerFruitHandler("Persimmon", 7, 0);
|
||||
registerFruitHandler("Pistachio", 7, 0);
|
||||
registerFruitHandler("Plum", 7, 0);
|
||||
registerFruitHandler("Pomegranate", 7, 0);
|
||||
registerFruitHandler("Starfruit", 7, 0);
|
||||
registerFruitHandler("Vanillabean", 7, 0);
|
||||
registerFruitHandler("Walnut", 7, 0);
|
||||
}
|
||||
|
||||
public static void registerSeededHandler(String name, int meta)
|
||||
{
|
||||
String block = "harvestcraft:pam" + name + "Crop";
|
||||
String seed = "harvestcraft:" + name + "Item";
|
||||
|
||||
GenericSeededHarvestHandler handler = new GenericSeededHarvestHandler(block, meta, seed);
|
||||
if (handler.isHarvesterValid())
|
||||
{
|
||||
HarvestRegistry.registerHarvestHandler(handler);
|
||||
}
|
||||
}
|
||||
|
||||
public static void registerFruitHandler(String name, int harvestMeta, int resetMeta)
|
||||
{
|
||||
String block = "harvestcraft:pam" + name;
|
||||
|
||||
GenericPamSeedlessFruitHarvestHandler handler = new GenericPamSeedlessFruitHarvestHandler(block, harvestMeta, resetMeta);
|
||||
if (handler.isHarvesterValid())
|
||||
{
|
||||
HarvestRegistry.registerHarvestHandler(handler);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue