funny flowers

This commit is contained in:
Bob 2023-03-18 22:09:14 +01:00
parent b762d23a2a
commit 9145ac6e6d
55 changed files with 987 additions and 117 deletions

View File

@ -444,7 +444,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl
z = pos[2]; z = pos[2];
for(AxisAlignedBB aabb :this.bounding) { for(AxisAlignedBB aabb :this.bounding) {
AxisAlignedBB boxlet = getAABBRotationOffset(aabb, x, y, z, ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z) - this.offset).getRotation(ForgeDirection.UP)); AxisAlignedBB boxlet = getAABBRotationOffset(aabb, x + 0.5, y, z + 0.5, ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z) - this.offset).getRotation(ForgeDirection.UP));
if(entityBounding.intersectsWith(boxlet)) { if(entityBounding.intersectsWith(boxlet)) {
list.add(boxlet); list.add(boxlet);
@ -452,7 +452,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl
} }
} }
public static AxisAlignedBB getAABBRotationOffset(AxisAlignedBB aabb, int x, int y, int z, ForgeDirection dir) { public static AxisAlignedBB getAABBRotationOffset(AxisAlignedBB aabb, double x, double y, double z, ForgeDirection dir) {
AxisAlignedBB newBox = null; AxisAlignedBB newBox = null;
@ -462,7 +462,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl
if(dir == ForgeDirection.WEST) newBox = AxisAlignedBB.getBoundingBox(aabb.minZ, aabb.minY, -aabb.maxX, aabb.maxZ, aabb.maxY, -aabb.minX); if(dir == ForgeDirection.WEST) newBox = AxisAlignedBB.getBoundingBox(aabb.minZ, aabb.minY, -aabb.maxX, aabb.maxZ, aabb.maxY, -aabb.minX);
if(newBox != null) { if(newBox != null) {
newBox.offset(x + 0.5, y, z + 0.5); newBox.offset(x, y, z);
return newBox; return newBox;
} }
@ -505,7 +505,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl
float exp = 0.002F; float exp = 0.002F;
ICustomBlockHighlight.setup(); ICustomBlockHighlight.setup();
for(AxisAlignedBB aabb : this.bounding) event.context.drawOutlinedBoundingBox(aabb.expand(exp, exp, exp).getOffsetBoundingBox(x - dX + 0.5, y - dY, z - dZ + 0.5), -1); for(AxisAlignedBB aabb : this.bounding) event.context.drawOutlinedBoundingBox(getAABBRotationOffset(aabb.expand(exp, exp, exp), 0, 0, 0, ForgeDirection.getOrientation(tile.getBlockMetadata() - offset).getRotation(ForgeDirection.UP)).getOffsetBoundingBox(x - dX + 0.5, y - dY, z - dZ + 0.5), -1);
ICustomBlockHighlight.cleanup(); ICustomBlockHighlight.cleanup();
} }
} }

View File

@ -19,7 +19,7 @@ public class BlockEnumMulti extends BlockMulti {
this.multiTexture = multiTexture; this.multiTexture = multiTexture;
} }
private IIcon[] icons; protected IIcon[] icons;
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)

View File

@ -485,6 +485,7 @@ public class ModBlocks {
public static Block mush_block_stem; public static Block mush_block_stem;
public static Block plant_flower; public static Block plant_flower;
public static Block plant_tall;
public static Block plant_dead; public static Block plant_dead;
public static Block reeds; public static Block reeds;
@ -1656,6 +1657,7 @@ public class ModBlocks {
mush_block_stem = new BlockMushHuge(Material.plants).setBlockName("mush_block_stem").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_stem"); mush_block_stem = new BlockMushHuge(Material.plants).setBlockName("mush_block_stem").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_stem");
plant_flower = new BlockNTMFlower().setBlockName("plant_flower").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); plant_flower = new BlockNTMFlower().setBlockName("plant_flower").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F);
plant_tall = new BlockTallPlant().setBlockName("plant_tall").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F);
plant_dead = new BlockDeadPlant().setBlockName("plant_dead").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); plant_dead = new BlockDeadPlant().setBlockName("plant_dead").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F);
reeds = new BlockReeds().setBlockName("plant_reeds").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); reeds = new BlockReeds().setBlockName("plant_reeds").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F);
@ -2764,6 +2766,7 @@ public class ModBlocks {
GameRegistry.registerBlock(deco_pipe_quad_red, ItemBlockBase.class, deco_pipe_quad_red.getUnlocalizedName()); GameRegistry.registerBlock(deco_pipe_quad_red, ItemBlockBase.class, deco_pipe_quad_red.getUnlocalizedName());
GameRegistry.registerBlock(deco_pipe_quad_marked, ItemBlockBase.class, deco_pipe_quad_marked.getUnlocalizedName()); GameRegistry.registerBlock(deco_pipe_quad_marked, ItemBlockBase.class, deco_pipe_quad_marked.getUnlocalizedName());
register(plant_flower); register(plant_flower);
register(plant_tall);
register(plant_dead); register(plant_dead);
register(reeds); register(reeds);
GameRegistry.registerBlock(mush, mush.getUnlocalizedName()); GameRegistry.registerBlock(mush, mush.getUnlocalizedName());

View File

@ -103,7 +103,9 @@ public class BlockGrate extends Block implements ITooltipProvider {
return; return;
} }
if((entity instanceof EntityItem || entity instanceof EntityXPOrb) && entity.posY < y + 1.5) { int meta = world.getBlockMetadata(x, y, z);
if((entity instanceof EntityItem || entity instanceof EntityXPOrb) && entity.posY < y + meta * 0.125D + 0.375) {
entity.motionX = 0; entity.motionX = 0;
entity.motionY = -0.25; entity.motionY = -0.25;
entity.motionZ = 0; entity.motionZ = 0;

View File

@ -5,6 +5,9 @@ import java.util.Random;
import com.hbm.blocks.BlockEnumMulti; import com.hbm.blocks.BlockEnumMulti;
import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ITooltipProvider;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockDeadPlant.EnumDeadPlantType;
import com.hbm.blocks.generic.BlockTallPlant.EnumTallFlower;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.IGrowable; import net.minecraft.block.IGrowable;
@ -17,19 +20,26 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.EnumPlantType;
import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.IPlantable;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockNTMFlower extends BlockEnumMulti implements IPlantable, IGrowable, ITooltipProvider { public class BlockNTMFlower extends BlockEnumMulti implements IPlantable, IGrowable, ITooltipProvider {
public BlockNTMFlower() { public BlockNTMFlower() {
super(Material.plants, EnumFlowerType.class, true, true); super(Material.plants, EnumFlowerType.class, true, true);
this.setTickRandomly(true);
} }
public static enum EnumFlowerType { public static enum EnumFlowerType {
FOXGLOVE, FOXGLOVE(false),
TOBACCO, TOBACCO(false),
NIGHTSHADE, NIGHTSHADE(false),
WEED WEED(false),
CD0(true),
CD1(true);
public boolean needsOil;
private EnumFlowerType(boolean needsOil) {
this.needsOil = needsOil;
}
} }
@Override @Override
@ -53,7 +63,7 @@ public class BlockNTMFlower extends BlockEnumMulti implements IPlantable, IGrowa
} }
protected boolean canPlaceBlockOn(Block block) { protected boolean canPlaceBlockOn(Block block) {
return block == Blocks.grass || block == Blocks.dirt || block == Blocks.farmland; return block == Blocks.grass || block == Blocks.dirt || block == Blocks.farmland || block == ModBlocks.dirt_dead || block == ModBlocks.dirt_oily;
} }
@Override @Override
@ -65,13 +75,13 @@ public class BlockNTMFlower extends BlockEnumMulti implements IPlantable, IGrowa
protected void checkAndDropBlock(World world, int x, int y, int z) { protected void checkAndDropBlock(World world, int x, int y, int z) {
if(!this.canBlockStay(world, x, y, z)) { if(!this.canBlockStay(world, x, y, z)) {
this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0);
world.setBlock(x, y, z, getBlockById(0), 0, 2); world.setBlock(x, y, z, Blocks.air, 0, 2);
} }
} }
@Override @Override
public boolean canBlockStay(World world, int x, int y, int z) { public boolean canBlockStay(World world, int x, int y, int z) {
return world.getBlock(x, y - 1, z).canSustainPlant(world, x, y - 1, z, ForgeDirection.UP, this); return canPlaceBlockOn(world.getBlock(x, y - 1, z));
} }
@Override @Override
@ -96,24 +106,96 @@ public class BlockNTMFlower extends BlockEnumMulti implements IPlantable, IGrowa
@Override @Override
public int damageDropped(int meta) { public int damageDropped(int meta) {
if(meta == EnumFlowerType.CD1.ordinal()) {
return EnumFlowerType.CD0.ordinal();
}
return meta; return meta;
} }
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(world.isRemote) return; //not possible i believe, but better safe than sorry
int meta = world.getBlockMetadata(x, y, z);
EnumFlowerType type = EnumFlowerType.values()[rectify(meta)];
if(!(type == EnumFlowerType.WEED || type == EnumFlowerType.CD0 || type == EnumFlowerType.CD1)) return;
if(func_149851_a(world, x, y, z, false) && func_149852_a(world, rand, x, y, z) && rand.nextInt(3) == 0) {
func_149853_b(world, rand, x, y, z);
}
}
/* grow condition */ /* grow condition */
@Override @Override
public boolean func_149851_a(World world, int x, int y, int z, boolean b) { public boolean func_149851_a(World world, int x, int y, int z, boolean b) {
int meta = world.getBlockMetadata(x, y, z);
//cadmium willows can only grow with water
if(meta == EnumFlowerType.CD0.ordinal() || meta == EnumFlowerType.CD1.ordinal()) {
if(world.getBlock(x + 1, y - 1, z).getMaterial() != Material.water &&
world.getBlock(x - 1, y - 1, z).getMaterial() != Material.water &&
world.getBlock(x, y - 1, z + 1).getMaterial() != Material.water &&
world.getBlock(x, y - 1, z - 1).getMaterial() != Material.water) {
return false;
}
}
if(meta == EnumFlowerType.WEED.ordinal() || meta == EnumFlowerType.CD1.ordinal()) {
return world.isAirBlock(x, y + 1, z);
}
return true; return true;
} }
/* chance */ /* chance */
@Override @Override
public boolean func_149852_a(World p_149852_1_, Random p_149852_2_, int p_149852_3_, int p_149852_4_, int p_149852_5_) { public boolean func_149852_a(World world, Random rand, int x, int y, int z) {
int meta = world.getBlockMetadata(x, y, z);
if(meta == EnumFlowerType.WEED.ordinal() || meta == EnumFlowerType.CD0.ordinal() || meta == EnumFlowerType.CD1.ordinal()) {
return rand.nextFloat() < 0.33F;
}
return true; return true;
} }
/* grow */ /* grow */
@Override @Override
public void func_149853_b(World world, Random rand, int x, int y, int z) { public void func_149853_b(World world, Random rand, int x, int y, int z) {
int meta = world.getBlockMetadata(x, y, z);
Block onTop = world.getBlock(x, y - 1, z);
if(meta == EnumFlowerType.WEED.ordinal()) {
if(onTop == ModBlocks.dirt_dead || onTop == ModBlocks.dirt_oily) {
world.setBlock(x, y, z, ModBlocks.plant_dead, EnumDeadPlantType.GENERIC.ordinal(), 3);
return;
}
}
if(meta == EnumFlowerType.WEED.ordinal()) {
world.setBlock(x, y, z, ModBlocks.plant_tall, EnumTallFlower.WEED.ordinal(), 3);
world.setBlock(x, y + 1, z, ModBlocks.plant_tall, EnumTallFlower.WEED.ordinal() + 8, 3);
return;
}
if(meta == EnumFlowerType.CD0.ordinal()) {
world.setBlock(x, y, z, ModBlocks.plant_flower, EnumFlowerType.CD1.ordinal(), 3);
return;
}
if(meta == EnumFlowerType.CD1.ordinal()) {
world.setBlock(x, y, z, ModBlocks.plant_tall, EnumTallFlower.CD2.ordinal(), 3);
world.setBlock(x, y + 1, z, ModBlocks.plant_tall, EnumTallFlower.CD2.ordinal() + 8, 3);
return;
}
this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0);
} }

View File

@ -0,0 +1,318 @@
package com.hbm.blocks.generic;
import java.util.ArrayList;
import java.util.Random;
import com.hbm.blocks.BlockEnumMulti;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockDeadPlant.EnumDeadPlantType;
import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.items.ModItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.IGrowable;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.EnumPlantType;
import net.minecraftforge.common.IPlantable;
public class BlockTallPlant extends BlockEnumMulti implements IPlantable, IGrowable {
public BlockTallPlant() {
super(Material.plants, EnumTallFlower.class, true, true);
this.setTickRandomly(true);
}
public static enum EnumTallFlower {
WEED(false),
CD2(true),
CD3(true),
CD4(true);
public boolean needsOil;
private EnumTallFlower(boolean needsOil) {
this.needsOil = needsOil;
}
}
@Override
public Item getItemDropped(int meta, Random rand, int fortune) {
/*if(meta == EnumTallFlower.WEED.ordinal()) {
return Item.getItemFromBlock(ModBlocks.plant_flower);
}
return Item.getItemFromBlock(this);*/
return Item.getItemFromBlock(ModBlocks.plant_flower);
}
@Override
public int quantityDropped(int meta, int fortune, Random random) {
return 1;
}
@Override
public int damageDropped(int meta) {
meta = rectify(meta);
if(meta == EnumTallFlower.WEED.ordinal()) {
return EnumFlowerType.WEED.ordinal();
}
return EnumFlowerType.CD0.ordinal();
}
protected IIcon[] bottomIcons;
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister reg) {
Enum[] enums = theEnum.getEnumConstants();
this.icons = new IIcon[enums.length];
this.bottomIcons = new IIcon[enums.length];
for(int i = 0; i < icons.length; i++) {
Enum num = enums[i];
this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase() + ".upper");
this.bottomIcons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase() + ".lower");
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
return meta > 7 ? this.icons[meta % this.icons.length] : this.bottomIcons[meta % this.icons.length];
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
return null;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public int getRenderType() {
return 1;
}
@Override
public boolean canPlaceBlockAt(World world, int x, int y, int z) {
return super.canPlaceBlockAt(world, x, y, z) && this.canBlockStay(world, x, y, z) && world.isAirBlock(x, y + 1, z);
}
protected boolean canPlaceBlockOn(Block block) {
return block == Blocks.grass || block == Blocks.dirt || block == Blocks.farmland || block == ModBlocks.dirt_dead || block == ModBlocks.dirt_oily;
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
super.onNeighborBlockChange(world, x, y, z, block);
this.checkAndDropBlock(world, x, y, z);
}
public static boolean detectCut = true;
protected void checkAndDropBlock(World world, int x, int y, int z) {
if(!this.canBlockStay(world, x, y, z)) {
if(world.getBlockMetadata(x, y, z) < 8) {
this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0);
}
world.setBlock(x, y, z, Blocks.air, 0, 3);
}
if(!detectCut) return;
Block block = world.getBlock(x, y + 1, z);
int meta = world.getBlockMetadata(x, y + 1, z);
int ownMeta = world.getBlockMetadata(x, y, z);
if(ownMeta < 8 && (meta != ownMeta + 8 || block != this) && ModBlocks.plant_flower.canBlockStay(world, x, y, z)) {
if(ownMeta == EnumTallFlower.WEED.ordinal())
world.setBlock(x, y, z, ModBlocks.plant_flower, EnumFlowerType.WEED.ordinal(), 3);
else
world.setBlock(x, y, z, ModBlocks.plant_flower, EnumFlowerType.CD0.ordinal(), 3);
}
}
@Override
public boolean canBlockStay(World world, int x, int y, int z) {
int meta = world.getBlockMetadata(x, y, z);
if(meta > 7) {
return world.getBlock(x, y - 1, z) == this && world.getBlockMetadata(x, y - 1, z) == meta - 8;
}
return canPlaceBlockOn(world.getBlock(x, y - 1, z));
}
@Override
public int getDamageValue(World world, int x, int y, int z) {
return world.getBlockMetadata(x, y, z) % 8;
}
@Override
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) {
if(meta > 7) {
if(world.getBlock(x, y - 1, z) == this) {
if(!player.capabilities.isCreativeMode) {
this.dropBlockAsItem(world, x, y - 1, z, world.getBlockMetadata(x, y - 1, z), 0);
}
}
} else if(world.getBlock(x, y + 1, z) == this) {
if(player.capabilities.isCreativeMode) {
world.setBlock(x, y + 1, z, Blocks.air, 0, 2);
} else {
this.dropBlockAsItem(world, x, y + 1, z, world.getBlockMetadata(x, y + 1, z), 0);
}
}
super.onBlockHarvested(world, x, y, z, meta, player);
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack) {
world.setBlock(x, y + 1, z, this, stack.getItemDamage() + 8, 2);
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(world.isRemote) return; //not possible i believe, but better safe than sorry
int meta = world.getBlockMetadata(x, y, z);
if(meta > 7) return;
EnumTallFlower type = EnumTallFlower.values()[rectify(meta)];
Block onTop = world.getBlock(x, y - 1, z);
if(!type.needsOil) {
if(onTop == ModBlocks.dirt_dead || onTop == ModBlocks.dirt_oily) {
world.setBlock(x, y, z, ModBlocks.plant_dead, EnumDeadPlantType.BIGFLOWER.ordinal(), 3);
return;
}
}
if(func_149851_a(world, x, y, z, false) && func_149852_a(world, rand, x, y, z) && rand.nextInt(3) == 0) {
func_149853_b(world, rand, x, y, z);
}
}
/* grow condition */
@Override
public boolean func_149851_a(World world, int x, int y, int z, boolean b) {
int meta = world.getBlockMetadata(x, y, z);
int rec = rectify(meta);
if(rec == EnumTallFlower.CD2.ordinal() || rec == EnumTallFlower.CD3.ordinal()) {
int y0 = rec == meta ? y : y - 1;
if(world.getBlock(x + 1, y0 - 1, z).getMaterial() != Material.water &&
world.getBlock(x - 1, y0 - 1, z).getMaterial() != Material.water &&
world.getBlock(x, y0 - 1, z + 1).getMaterial() != Material.water &&
world.getBlock(x, y0 - 1, z - 1).getMaterial() != Material.water) {
return false;
}
}
if(rec == EnumTallFlower.CD3.ordinal()) {
Block onTop = world.getBlock(x, y - (rec == meta ? 1 : 2), z);
return onTop == ModBlocks.dirt_dead || onTop == ModBlocks.dirt_oily;
}
return rec != EnumTallFlower.CD4.ordinal() && rec != EnumTallFlower.WEED.ordinal();
}
/* chance */
@Override
public boolean func_149852_a(World world, Random rand, int x, int y, int z) {
int meta = rectify(world.getBlockMetadata(x, y, z));
if(meta == EnumTallFlower.CD3.ordinal()) {
return true;
}
return rand.nextFloat() < 0.33F;
}
/* grow */
@Override
public void func_149853_b(World world, Random rand, int x, int y, int z) {
int meta = world.getBlockMetadata(x, y, z);
int rec = rectify(meta);
detectCut = false;
if(rec == EnumTallFlower.CD2.ordinal() || rec == EnumTallFlower.CD3.ordinal()) {
if(meta == rec) {
world.setBlockMetadataWithNotify(x, y + 1, z, meta + 9, 3);
world.setBlockMetadataWithNotify(x, y, z, meta + 1, 3);
if(rec == EnumTallFlower.CD3.ordinal()) {
world.setBlock(x, y - 1, z, Blocks.dirt);
}
} else {
world.setBlockMetadataWithNotify(x, y, z, meta + 1, 3);
world.setBlockMetadataWithNotify(x, y - 1, z, rec + 1, 3);
if(rec == EnumTallFlower.CD3.ordinal()) {
world.setBlock(x, y - 2, z, Blocks.dirt);
}
}
}
detectCut = true;
}
@Override
public EnumPlantType getPlantType(IBlockAccess world, int x, int y, int z) {
return EnumPlantType.Plains;
}
@Override
public Block getPlant(IBlockAccess world, int x, int y, int z) {
return this;
}
@Override
public int getPlantMetadata(IBlockAccess world, int x, int y, int z) {
return world.getBlockMetadata(x, y, z);
}
@Override
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
ArrayList<ItemStack> ret = super.getDrops(world, x, y, z, metadata, fortune);
if(rectify(world.getBlockMetadata(x, y, z)) == EnumTallFlower.CD4.ordinal()) {
ret.add(DictFrame.fromOne(ModItems.plant_item, com.hbm.items.ItemEnums.EnumPlantType.MUSTARDWILLOW, 3 + world.rand.nextInt(4)));
}
return ret;
}
}

View File

@ -11,6 +11,7 @@ import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@ -19,6 +20,11 @@ public class MachineGasFlare extends BlockDummyable implements ITooltipProvider
public MachineGasFlare(Material mat) { public MachineGasFlare(Material mat) {
super(mat); super(mat);
this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 0D, -1.5D, 1.5D, 3.875D, 1.5D));
this.bounding.add(AxisAlignedBB.getBoundingBox(-0.75D, 3.875D, -0.75D, 0.75D, 9, 0.75D));
this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 9D, -1.5D, 1.5D, 9.375D, 1.5D));
this.bounding.add(AxisAlignedBB.getBoundingBox(-0.75D, 9.375D, -0.75D, 0.75D, 12, 0.75D));
} }
@Override @Override

View File

@ -171,7 +171,9 @@ public class MachineSawmill extends BlockDummyable implements ILookOverlay, IToo
} }
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
this.addStandardInfo(stack, player, list, ext);
}
@Override @Override
public void printHook(Pre event, World world, int x, int y, int z) { public void printHook(Pre event, World world, int x, int y, int z) {

View File

@ -49,6 +49,7 @@ public class WorldConfig {
public static int alexandriteSpawn = 100; public static int alexandriteSpawn = 100;
public static int malachiteSpawn = 1; public static int malachiteSpawn = 1;
public static int limestoneSpawn = 1;
public static int netherUraniumuSpawn = 8; public static int netherUraniumuSpawn = 8;
public static int netherTungstenSpawn = 10; public static int netherTungstenSpawn = 10;
@ -147,6 +148,7 @@ public class WorldConfig {
copperClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C03_copperClusterSpawn", "Amount of copper cluster veins per chunk", 4); copperClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C03_copperClusterSpawn", "Amount of copper cluster veins per chunk", 4);
malachiteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.L01_malachiteSpawn", "Amount of malachite block veins per chunk", 1); malachiteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.L01_malachiteSpawn", "Amount of malachite block veins per chunk", 1);
limestoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.L02_limestoneSpawn", "Amount of limestone block veins per chunk", 1);
netherUraniumuSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N00_uraniumSpawnrate", "Amount of nether uranium per chunk", 8); netherUraniumuSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N00_uraniumSpawnrate", "Amount of nether uranium per chunk", 8);
netherTungstenSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N01_tungstenSpawnrate", "Amount of nether tungsten per chunk", 10); netherTungstenSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N01_tungstenSpawnrate", "Amount of nether tungsten per chunk", 10);

View File

@ -2,6 +2,7 @@ package com.hbm.crafting;
import static com.hbm.inventory.OreDictManager.*; import static com.hbm.inventory.OreDictManager.*;
import com.hbm.config.GeneralConfig;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemChemicalDye.EnumChemDye; import com.hbm.items.machine.ItemChemicalDye.EnumChemDye;
@ -52,18 +53,9 @@ public class PowderRecipes {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_desh_ready, 1), new Object[] { ModItems.powder_desh_mix, ModItems.ingot_mercury, ModItems.ingot_mercury, COAL.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_desh_ready, 1), new Object[] { ModItems.powder_desh_mix, ModItems.ingot_mercury, ModItems.ingot_mercury, COAL.dust() });
//Metal powders //Metal powders
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_advanced_alloy, 4), new Object[] { REDSTONE.dust(), IRON.dust(), COAL.dust(), CU.dust() });
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_advanced_alloy, 4), new Object[] { IRON.dust(), COAL.dust(), MINGRADE.dust(), MINGRADE.dust() });
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_advanced_alloy, 4), new Object[] { REDSTONE.dust(), CU.dust(), STEEL.dust(), STEEL.dust() });
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_advanced_alloy, 2), new Object[] { MINGRADE.dust(), STEEL.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_magnetized_tungsten, 1), new Object[] { W.dust(), SA326.nugget() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_magnetized_tungsten, 1), new Object[] { W.dust(), SA326.nugget() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_tcalloy, 1), new Object[] { STEEL.dust(), TC99.nugget() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_tcalloy, 1), new Object[] { STEEL.dust(), TC99.nugget() });
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_red_copper, 2), new Object[] { REDSTONE.dust(), CU.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_steel, 1), new Object[] { IRON.dust(), COAL.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_steel, 1), new Object[] { IRON.dust(), COAL.dust() });
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 2), new Object[] { STEEL.dust(), W.dust() });
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 2), new Object[] { STEEL.dust(), CO.dust() });
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 4), new Object[] { IRON.dust(), COAL.dust(), W.dust(), W.dust() });
//CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 4), new Object[] { IRON.dust(), COAL.dust(), CO.dust(), CO.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 1), new Object[] { new ItemStack(Items.coal, 1, 1), KEY_SAND }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 1), new Object[] { new ItemStack(Items.coal, 1, 1), KEY_SAND });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 2), new Object[] { COAL.dust(), KEY_SAND }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 2), new Object[] { COAL.dust(), KEY_SAND });
@ -72,6 +64,20 @@ public class PowderRecipes {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 12), new Object[] { CA.dust(), KEY_SAND }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 12), new Object[] { CA.dust(), KEY_SAND });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 16), new Object[] { BORAX.dust(), KEY_SAND }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 16), new Object[] { BORAX.dust(), KEY_SAND });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_fertilizer, 4), new Object[] { CA.dust(), P_RED.dust(), KNO.dust(), S.dust() });
if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleCrafting) {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_advanced_alloy, 4), new Object[] { REDSTONE.dust(), IRON.dust(), COAL.dust(), CU.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_advanced_alloy, 4), new Object[] { IRON.dust(), COAL.dust(), MINGRADE.dust(), MINGRADE.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_advanced_alloy, 4), new Object[] { REDSTONE.dust(), CU.dust(), STEEL.dust(), STEEL.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_advanced_alloy, 2), new Object[] { MINGRADE.dust(), STEEL.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_red_copper, 2), new Object[] { REDSTONE.dust(), CU.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 2), new Object[] { STEEL.dust(), W.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 2), new Object[] { STEEL.dust(), CO.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 4), new Object[] { IRON.dust(), COAL.dust(), W.dust(), W.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 4), new Object[] { IRON.dust(), COAL.dust(), CO.dust(), CO.dust() });
}
//Unleash the colores //Unleash the colores
CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GRAY, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE) }); CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GRAY, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE) });
CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.SILVER, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GRAY), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE) }); CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.SILVER, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GRAY), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE) });

View File

@ -105,6 +105,7 @@ public class SmeltingRecipes {
GameRegistry.addSmelting(ModItems.powder_niobium, new ItemStack(ModItems.ingot_niobium), 1.0F); GameRegistry.addSmelting(ModItems.powder_niobium, new ItemStack(ModItems.ingot_niobium), 1.0F);
GameRegistry.addSmelting(ModItems.powder_bismuth, new ItemStack(ModItems.ingot_bismuth), 1.0F); GameRegistry.addSmelting(ModItems.powder_bismuth, new ItemStack(ModItems.ingot_bismuth), 1.0F);
GameRegistry.addSmelting(ModItems.powder_calcium, new ItemStack(ModItems.ingot_calcium), 1.0F); GameRegistry.addSmelting(ModItems.powder_calcium, new ItemStack(ModItems.ingot_calcium), 1.0F);
GameRegistry.addSmelting(ModItems.powder_cadmium, new ItemStack(ModItems.ingot_cadmium), 1.0F);
GameRegistry.addSmelting(ModItems.combine_scrap, new ItemStack(ModItems.ingot_combine_steel), 1.0F); GameRegistry.addSmelting(ModItems.combine_scrap, new ItemStack(ModItems.ingot_combine_steel), 1.0F);
GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0.0F); GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0.0F);

View File

@ -120,7 +120,7 @@ public class ToolRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', POLYMER.ingot(), 'S', STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', POLYMER.ingot(), 'S', STEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ALLOY.ingot(), 'C', CINNABAR.crystal(), 'X', Items.compass }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ALLOY.ingot(), 'C', CINNABAR.crystal(), 'X', Items.compass });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.reacher, 1), new Object[] { "BIB", "P P", "B B", 'B', ModItems.bolt_tungsten, 'I', W.ingot(), 'P', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.reacher, 1), new Object[] { "BIB", "P P", "B B", 'B', ModItems.bolt_tungsten, 'I', W.ingot(), 'P', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_tool, 1), new Object[] { "TBT", "SRS", "SCS", 'T', TA.nugget(), 'B', ModItems.nugget_bismuth, 'S', TCALLOY.ingot(), 'R', ModItems.reacher, 'C', ModItems.circuit_aluminium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_tool, 1), new Object[] { "TBT", "SRS", "SCS", 'T', TA.nugget(), 'B', ModItems.nugget_bismuth, 'S', ANY_RESISTANTALLOY.ingot(), 'R', ModItems.reacher, 'C', ModItems.circuit_aluminium });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.sat_designator, 1), new Object[] { "RRD", "PIC", " P", 'P', GOLD.plate(), 'R', Items.redstone, 'C', ModItems.circuit_gold, 'D', ModItems.sat_chip, 'I', GOLD.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.sat_designator, 1), new Object[] { "RRD", "PIC", " P", 'P', GOLD.plate(), 'R', Items.redstone, 'C', ModItems.circuit_gold, 'D', ModItems.sat_chip, 'I', GOLD.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.mirror_tool), new Object[] { " A ", " IA", "I ", 'A', AL.ingot(), 'I', IRON.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.mirror_tool), new Object[] { " A ", " IA", "I ", 'A', AL.ingot(), 'I', IRON.ingot() });

View File

@ -29,6 +29,7 @@ public class BulletConfigSyncingUtil {
public static int IRON_HS = i++; public static int IRON_HS = i++;
public static int STEEL_HS = i++; public static int STEEL_HS = i++;
public static int GOLD_HS = i++; public static int GOLD_HS = i++;
public static int LEAD_HS = i++;
public static int DESH_HS = i++; public static int DESH_HS = i++;
public static int G20_NORMAL = i++; public static int G20_NORMAL = i++;
@ -305,6 +306,7 @@ public class BulletConfigSyncingUtil {
configSet.put(IRON_HS, Gun357MagnumFactory.getRevIronConfig().setHeadshot(3F)); configSet.put(IRON_HS, Gun357MagnumFactory.getRevIronConfig().setHeadshot(3F));
configSet.put(STEEL_HS, Gun357MagnumFactory.getRevCursedConfig().setHeadshot(3F)); configSet.put(STEEL_HS, Gun357MagnumFactory.getRevCursedConfig().setHeadshot(3F));
configSet.put(GOLD_HS, Gun357MagnumFactory.getRevGoldConfig().setHeadshot(3F)); configSet.put(GOLD_HS, Gun357MagnumFactory.getRevGoldConfig().setHeadshot(3F));
configSet.put(LEAD_HS, Gun357MagnumFactory.getRevLeadConfig().setHeadshot(3F));
configSet.put(DESH_HS, Gun357MagnumFactory.getRevDeshConfig().setHeadshot(3F)); configSet.put(DESH_HS, Gun357MagnumFactory.getRevDeshConfig().setHeadshot(3F));
configSet.put(G20_NORMAL, Gun20GaugeFactory.get20GaugeConfig()); configSet.put(G20_NORMAL, Gun20GaugeFactory.get20GaugeConfig());

View File

@ -193,11 +193,11 @@ public class Gun357MagnumFactory {
config.name = "bio"; config.name = "bio";
config.manufacturer = EnumGunManufacturer.RYAN; config.manufacturer = EnumGunManufacturer.RYAN;
config.config.add(BulletConfigSyncingUtil.STEEL_REVOLVER); config.config.add(BulletConfigSyncingUtil.STEEL_HS);
config.config.add(BulletConfigSyncingUtil.GOLD_REVOLVER); config.config.add(BulletConfigSyncingUtil.GOLD_HS);
config.config.add(BulletConfigSyncingUtil.IRON_REVOLVER); config.config.add(BulletConfigSyncingUtil.IRON_HS);
config.config.add(BulletConfigSyncingUtil.LEAD_REVOLVER); config.config.add(BulletConfigSyncingUtil.LEAD_HS);
config.config.add(BulletConfigSyncingUtil.DESH_REVOLVER); config.config.add(BulletConfigSyncingUtil.DESH_HS);
return config; return config;
} }

View File

@ -74,7 +74,7 @@ public class CrucibleCastingHandler extends TemplateRecipeHandler {
if(outputId.equals("ntmCrucibleFoundry")) { if(outputId.equals("ntmCrucibleFoundry")) {
for(ItemStack[] recipe : CrucibleRecipes.moldRecipes) { for(ItemStack[] recipe : CrucibleRecipes.getMoldRecipes()) {
this.arecipes.add(new RecipeSet(recipe)); this.arecipes.add(new RecipeSet(recipe));
} }
} else { } else {
@ -85,7 +85,7 @@ public class CrucibleCastingHandler extends TemplateRecipeHandler {
@Override @Override
public void loadCraftingRecipes(ItemStack result) { public void loadCraftingRecipes(ItemStack result) {
for(ItemStack[] recipe : CrucibleRecipes.moldRecipes) { for(ItemStack[] recipe : CrucibleRecipes.getMoldRecipes()) {
if(NEIServerUtils.areStacksSameTypeCrafting(recipe[3], result)) { if(NEIServerUtils.areStacksSameTypeCrafting(recipe[3], result)) {
this.arecipes.add(new RecipeSet(recipe)); this.arecipes.add(new RecipeSet(recipe));
} }
@ -105,7 +105,7 @@ public class CrucibleCastingHandler extends TemplateRecipeHandler {
@Override @Override
public void loadUsageRecipes(ItemStack ingredient) { public void loadUsageRecipes(ItemStack ingredient) {
for(ItemStack[] recipe : CrucibleRecipes.moldRecipes) { for(ItemStack[] recipe : CrucibleRecipes.getMoldRecipes()) {
for(int i = 0; i < 3; i++) { for(int i = 0; i < 3; i++) {
if(NEIServerUtils.areStacksSameTypeCrafting(recipe[i], ingredient)) { if(NEIServerUtils.areStacksSameTypeCrafting(recipe[i], ingredient)) {

View File

@ -153,11 +153,14 @@ public class OreDictManager {
public static final DictFrame STEEL = new DictFrame("Steel"); public static final DictFrame STEEL = new DictFrame("Steel");
/** TECHNETIUM STEEL */ /** TECHNETIUM STEEL */
public static final DictFrame TCALLOY = new DictFrame("TcAlloy"); public static final DictFrame TCALLOY = new DictFrame("TcAlloy");
/** CADMIUM STEEL */
public static final DictFrame CDALLOY = new DictFrame("CdAlloy");
/** LEAD */ /** LEAD */
public static final DictFrame PB = new DictFrame("Lead"); public static final DictFrame PB = new DictFrame("Lead");
public static final DictFrame BI = new DictFrame("Bismuth"); public static final DictFrame BI = new DictFrame("Bismuth");
public static final DictFrame AS = new DictFrame("Arsenic"); public static final DictFrame AS = new DictFrame("Arsenic");
public static final DictFrame CA = new DictFrame("Calcium"); public static final DictFrame CA = new DictFrame("Calcium");
public static final DictFrame CD = new DictFrame("Cadmium");
/** TANTALUM */ /** TANTALUM */
public static final DictFrame TA = new DictFrame("Tantalum"); public static final DictFrame TA = new DictFrame("Tantalum");
public static final DictFrame COLTAN = new DictFrame("Coltan"); public static final DictFrame COLTAN = new DictFrame("Coltan");
@ -268,6 +271,8 @@ public class OreDictManager {
public static final DictGroup ANY_PLASTIC = new DictGroup("AnyPlastic", POLYMER, BAKELITE); //using the Any prefix means that it's just the secondary prefix, and that shape prefixes are applicable public static final DictGroup ANY_PLASTIC = new DictGroup("AnyPlastic", POLYMER, BAKELITE); //using the Any prefix means that it's just the secondary prefix, and that shape prefixes are applicable
/** Any post vacuum polymer like PET or PVC */ /** Any post vacuum polymer like PET or PVC */
public static final DictGroup ANY_HARDPLASTIC = new DictGroup("AnyHardPlastic", PC, PVC); public static final DictGroup ANY_HARDPLASTIC = new DictGroup("AnyHardPlastic", PC, PVC);
/** Any post nuclear steel like TCA or CDA */
public static final DictGroup ANY_RESISTANTALLOY = new DictGroup("AnyResistantAlloy", TCALLOY, CDALLOY);
/** Any "powder" propellant like gunpowder, ballistite and cordite */ /** Any "powder" propellant like gunpowder, ballistite and cordite */
public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant"); public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant");
/** Any smokeless powder like ballistite and cordite */ /** Any smokeless powder like ballistite and cordite */
@ -337,10 +342,12 @@ public class OreDictManager {
AL .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium, ore_meteor_aluminium); AL .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium, ore_meteor_aluminium);
STEEL .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel); STEEL .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel);
TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy); TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy);
CDALLOY .ingot(ingot_cdalloy);
PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead); PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead);
BI .nugget(nugget_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth); BI .nugget(nugget_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth);
AS .nugget(nugget_arsenic) .ingot(ingot_arsenic); AS .nugget(nugget_arsenic) .ingot(ingot_arsenic);
CA .ingot(ingot_calcium) .dust(powder_calcium); CA .ingot(ingot_calcium) .dust(powder_calcium);
CD .ingot(ingot_cadmium) .dust(powder_cadmium);
TA .nugget(nugget_tantalium) .gem(gem_tantalium) .ingot(ingot_tantalium) .dust(powder_tantalium) .block(block_tantalium); TA .nugget(nugget_tantalium) .gem(gem_tantalium) .ingot(ingot_tantalium) .dust(powder_tantalium) .block(block_tantalium);
COLTAN .ingot(fragment_coltan) .dust(powder_coltan_ore) .block(block_coltan) .ore(ore_coltan); COLTAN .ingot(fragment_coltan) .dust(powder_coltan_ore) .block(block_coltan) .ore(ore_coltan);
NB .nugget(fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium); NB .nugget(fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium);
@ -565,6 +572,7 @@ public class OreDictManager {
public static void registerGroups() { public static void registerGroups() {
ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true); ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true);
ANY_HARDPLASTIC.addPrefix(INGOT, true); ANY_HARDPLASTIC.addPrefix(INGOT, true);
ANY_RESISTANTALLOY.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(PLATECAST, true).addPrefix(BLOCK, true);
ANY_TAR.addPrefix(ANY, false); ANY_TAR.addPrefix(ANY, false);
} }

View File

@ -1,7 +1,8 @@
package com.hbm.inventory.container; package com.hbm.inventory.container;
import com.hbm.inventory.FluidContainerRegistry;
import com.hbm.inventory.SlotMachineOutput; import com.hbm.inventory.SlotMachineOutput;
import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier;
import com.hbm.tileentity.machine.TileEntitySILEX; import com.hbm.tileentity.machine.TileEntitySILEX;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -57,17 +58,25 @@ public class ContainerSILEX extends Container {
ItemStack var5 = var4.getStack(); ItemStack var5 = var4.getStack();
var3 = var5.copy(); var3 = var5.copy();
if(par2 <= silex.getSizeInventory() - 1) { if(par2 <= 10) {
if(!this.mergeItemStack(var5, silex.getSizeInventory(), this.inventorySlots.size(), true)) { if(!this.mergeItemStack(var5, 11, this.inventorySlots.size(), true)) {
return null; return null;
} }
} else if(var5.getItem() == ModItems.turret_chip) { //did i copy this from turrets? tf is happening lol } else {
if(!this.mergeItemStack(var5, 0, 1, false)) if(var3.getItem() instanceof IItemFluidIdentifier) {
return null; if(!this.mergeItemStack(var5, 1, 2, false)) {
return null;
} else if(!this.mergeItemStack(var5, 1, silex.getSizeInventory(), false)) { }
return null; } else if(FluidContainerRegistry.getFluidContent(var3, silex.tank.getTankType()) > 0) {
if(!this.mergeItemStack(var5, 2, 3, false)) {
return null;
}
} else {
if(!this.mergeItemStack(var5, 0, 1, false)) {
return null;
}
}
} }
if(var5.stackSize == 0) { if(var5.stackSize == 0) {

View File

@ -12,7 +12,10 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.BlockEnums.EnumStoneType;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.OreDictManager; import com.hbm.inventory.OreDictManager;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.RecipesCommon.OreDictStack;
@ -78,8 +81,7 @@ public class MatDistribution extends SerializableRecipe {
registerOre(OreDictManager.HEMATITE.ore(), MAT_HEMATITE, INGOT.q(4)); registerOre(OreDictManager.HEMATITE.ore(), MAT_HEMATITE, INGOT.q(4));
registerOre(OreDictManager.MALACHITE.ore(), MAT_MALACHITE, INGOT.q(4)); registerOre(OreDictManager.MALACHITE.ore(), MAT_MALACHITE, INGOT.q(4));
registerEntry(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.LIMESTONE), MAT_FLUX, DUST.q(10));
registerEntry(ModItems.powder_flux, MAT_FLUX, DUST.q(1));
} }
public static void registerEntry(Object key, Object... matDef) { public static void registerEntry(Object key, Object... matDef) {

View File

@ -106,6 +106,7 @@ public class Mats {
public static final NTMMaterial MAT_BERYLLIUM = makeSmeltable(400, BE, 0xB2B2A6, 0x0F0F03, 0xAE9572).setShapes(NUGGET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_BERYLLIUM = makeSmeltable(400, BE, 0xB2B2A6, 0x0F0F03, 0xAE9572).setShapes(NUGGET, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0xC2D1EE, 0x353554, 0x8F72AE).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0xC2D1EE, 0x353554, 0x8F72AE).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xBDC8D2, 0x29343E, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xBDC8D2, 0x29343E, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_CADMIUM = makeSmeltable(4800, CD, 0xFFFADE, 0x350000, 0xA85600).setShapes(INGOT, DUST);
//Alloys //Alloys
public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setShapes(DUSTTINY, INGOT, DUST, PLATE, CASTPLATE, BLOCK); public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setShapes(DUSTTINY, INGOT, DUST, PLATE, CASTPLATE, BLOCK);
@ -114,13 +115,14 @@ public class Mats {
public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setShapes(INGOT, DUST, BLOCK); public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setShapes(INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x4DA3AF, 0x00000C, 0x4DA3AF).setShapes(INGOT, DUST, BLOCK); public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x4DA3AF, 0x00000C, 0x4DA3AF).setShapes(INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setShapes(INGOT, DUST, BLOCK); public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setShapes(INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setShapes(INGOT, DUST); public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setShapes(INGOT, DUST, CASTPLATE);
public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setShapes(INGOT); public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setShapes(INGOT);
public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(INGOT, DUST, BLOCK); public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, BLOCK); public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, BLOCK);
public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0x404242, 0x404242, 0xDECCAD).setShapes(DUST); public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xF1E0BB, 0x6F6256, 0xDECCAD).setShapes(DUST);
public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setShapes(BLOCK); public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setShapes(BLOCK);
public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setShapes(INGOT, DUST, CASTPLATE, BLOCK); public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setShapes(INGOT, DUST, CASTPLATE, BLOCK);
public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE);
@Deprecated public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { return makeSmeltable(id, dict, color, color, color); } @Deprecated public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { return makeSmeltable(id, dict, color, color, color); }
@Deprecated public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) { return makeAdditive(id, dict, color, color, color); } @Deprecated public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) { return makeAdditive(id, dict, color, color, color); }

View File

@ -291,8 +291,8 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200); makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200);
makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.pipes_steel, 1), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack(STEEL.ingot(), 16), new OreDictStack(TI.plate(), 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400); makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.pipes_steel, 1), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack(STEEL.ingot(), 16), new OreDictStack(TI.plate(), 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400);
makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.hull_big_steel, 4), new OreDictStack(ANY_TAR.any(), 4), },150); makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.hull_big_steel, 4), new OreDictStack(ANY_TAR.any(), 4), },150);
makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(TCALLOY.ingot(), 16), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150); makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 16), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150);
makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(TCALLOY.ingot(), 12), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 12), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200);
makeRecipe(new ComparableStack(ModBlocks.machine_drill, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 6), new OreDictStack(STEEL.ingot(), 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.motor, 1), new OreDictStack(DURA.ingot(), 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new ComparableStack(ModItems.drill_titanium, 1), },200); makeRecipe(new ComparableStack(ModBlocks.machine_drill, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 6), new OreDictStack(STEEL.ingot(), 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.motor, 1), new OreDictStack(DURA.ingot(), 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new ComparableStack(ModItems.drill_titanium, 1), },200);
makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), new OreDictStack(STEEL.plate528(), 16), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new ComparableStack(ModItems.motor, 3), new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.bolt_dura_steel, 6), new ComparableStack(ModBlocks.machine_battery, 3), },400); makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), new OreDictStack(STEEL.plate528(), 16), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new ComparableStack(ModItems.motor, 3), new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.bolt_dura_steel, 6), new ComparableStack(ModBlocks.machine_battery, 3), },400);
makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.turbine_tungsten, 1), new ComparableStack(ModItems.turbine_titanium, 7), new ComparableStack(ModItems.bolt_compound, 8), new OreDictStack(MINGRADE.ingot(), 12), new ComparableStack(ModItems.wire_red_copper, 24), },500); makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.turbine_tungsten, 1), new ComparableStack(ModItems.turbine_titanium, 7), new ComparableStack(ModItems.bolt_compound, 8), new OreDictStack(MINGRADE.ingot(), 12), new ComparableStack(ModItems.wire_red_copper, 24), },500);
@ -553,7 +553,7 @@ public class AssemblerRecipes {
new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.hull_big_steel, 6),
new OreDictStack(STEEL.plate528(), 32), new OreDictStack(STEEL.plate528(), 32),
new OreDictStack(TI.plate528(), 12), new OreDictStack(TI.plate528(), 12),
new OreDictStack(TCALLOY.ingot(), 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 16),
new ComparableStack(ModItems.turbine_tungsten, 5), new ComparableStack(ModItems.turbine_tungsten, 5),
new ComparableStack(ModItems.turbine_titanium, 3), new ComparableStack(ModItems.turbine_titanium, 3),
new ComparableStack(ModItems.flywheel_beryllium, 1), new ComparableStack(ModItems.flywheel_beryllium, 1),
@ -779,7 +779,7 @@ public class AssemblerRecipes {
new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.pipes_steel, 1),
new ComparableStack(ModItems.mechanism_special, 3), new ComparableStack(ModItems.mechanism_special, 3),
new ComparableStack(ModItems.magnetron, 16), new ComparableStack(ModItems.magnetron, 16),
new OreDictStack(TCALLOY.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8),
new ComparableStack(ModItems.crt_display, 1) new ComparableStack(ModItems.crt_display, 1)
}, 200); }, 200);
makeRecipe(new ComparableStack(ModBlocks.turret_fritz, 1), new AStack[] { makeRecipe(new ComparableStack(ModBlocks.turret_fritz, 1), new AStack[] {
@ -904,7 +904,7 @@ public class AssemblerRecipes {
}, 100); }, 100);
makeRecipe(new ComparableStack(ModItems.multitool_hit, 1), new AStack[] { makeRecipe(new ComparableStack(ModItems.multitool_hit, 1), new AStack[] {
new OreDictStack(TCALLOY.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4),
new OreDictStack(STEEL.plate(), 4), new OreDictStack(STEEL.plate(), 4),
new ComparableStack(ModItems.wire_gold, 12), new ComparableStack(ModItems.wire_gold, 12),
new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.motor, 4),
@ -913,7 +913,7 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.machine_assemfac, 1), new AStack[] { makeRecipe(new ComparableStack(ModBlocks.machine_assemfac, 1), new AStack[] {
new OreDictStack(STEEL.ingot(), 48), new OreDictStack(STEEL.ingot(), 48),
new OreDictStack(TCALLOY.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8),
new OreDictStack(B.ingot(), 4), new OreDictStack(B.ingot(), 4),
new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16),
new OreDictStack(KEY_ANYPANE, 64), new OreDictStack(KEY_ANYPANE, 64),
@ -925,7 +925,7 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.machine_chemfac, 1), new AStack[] { makeRecipe(new ComparableStack(ModBlocks.machine_chemfac, 1), new AStack[] {
new OreDictStack(STEEL.ingot(), 48), new OreDictStack(STEEL.ingot(), 48),
new OreDictStack(TCALLOY.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8),
new OreDictStack(NB.ingot(), 4), new OreDictStack(NB.ingot(), 4),
new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16),
new ComparableStack(ModItems.hull_big_steel, 12), new ComparableStack(ModItems.hull_big_steel, 12),
@ -960,7 +960,7 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.machine_vacuum_distill, 1), new AStack[] { makeRecipe(new ComparableStack(ModBlocks.machine_vacuum_distill, 1), new AStack[] {
new OreDictStack(STEEL.plateCast(), 16), new OreDictStack(STEEL.plateCast(), 16),
new OreDictStack(CU.plate528(), 16), new OreDictStack(CU.plate528(), 16),
new OreDictStack(TCALLOY.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4),
new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.sphere_steel, 1),
new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.pipes_steel, 1),
new ComparableStack(ModItems.motor_desh, 3), new ComparableStack(ModItems.motor_desh, 3),
@ -970,7 +970,7 @@ public class AssemblerRecipes {
new OreDictStack(STEEL.plateCast(), 12), new OreDictStack(STEEL.plateCast(), 12),
new OreDictStack(CU.plate528(), 8), new OreDictStack(CU.plate528(), 8),
new OreDictStack(NB.ingot(), 8), new OreDictStack(NB.ingot(), 8),
new OreDictStack(TCALLOY.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4),
new ComparableStack(ModItems.hull_big_steel, 3), new ComparableStack(ModItems.hull_big_steel, 3),
new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.pipes_steel, 1),
new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.motor, 1),
@ -994,8 +994,8 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.reactor_conductor, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(CU.plate(), 12), new ComparableStack(ModItems.wire_tungsten, 4), },130); makeRecipe(new ComparableStack(ModBlocks.reactor_conductor, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(CU.plate(), 12), new ComparableStack(ModItems.wire_tungsten, 4), },130);
makeRecipe(new ComparableStack(ModBlocks.reactor_computer, 1), new AStack[] {new ComparableStack(ModBlocks.reactor_conductor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.circuit_gold, 1), },250); makeRecipe(new ComparableStack(ModBlocks.reactor_computer, 1), new AStack[] {new ComparableStack(ModBlocks.reactor_conductor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.circuit_gold, 1), },250);
makeRecipe(new ComparableStack(ModBlocks.machine_radgen, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.reactor_core, 3), new OreDictStack(STAR.ingot(), 1), new OreDictStack("dyeRed", 1), },400); makeRecipe(new ComparableStack(ModBlocks.machine_radgen, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.reactor_core, 3), new OreDictStack(STAR.ingot(), 1), new OreDictStack("dyeRed", 1), },400);
makeRecipe(new ComparableStack(ModBlocks.machine_reactor_breeding, 1), new AStack[] {new ComparableStack(ModItems.reactor_core, 1), new OreDictStack(STEEL.ingot(), 12), new OreDictStack(PB.plate(), 16), new ComparableStack(ModBlocks.reinforced_glass, 4), new OreDictStack(ASBESTOS.ingot(), 4), new OreDictStack(TCALLOY.ingot(), 4), new ComparableStack(ModItems.crt_display, 1)},150); makeRecipe(new ComparableStack(ModBlocks.machine_reactor_breeding, 1), new AStack[] {new ComparableStack(ModItems.reactor_core, 1), new OreDictStack(STEEL.ingot(), 12), new OreDictStack(PB.plate(), 16), new ComparableStack(ModBlocks.reinforced_glass, 4), new OreDictStack(ASBESTOS.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.crt_display, 1)},150);
makeRecipe(new ComparableStack(ModBlocks.reactor_research, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(TCALLOY.ingot(), 4), new ComparableStack(ModItems.motor_desh, 2), new OreDictStack(B.ingot(), 5), new OreDictStack(PB.plate(), 8), new ComparableStack(ModItems.crt_display, 3), new ComparableStack(ModItems.circuit_copper, 2), },300); makeRecipe(new ComparableStack(ModBlocks.reactor_research, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.motor_desh, 2), new OreDictStack(B.ingot(), 5), new OreDictStack(PB.plate(), 8), new ComparableStack(ModItems.crt_display, 3), new ComparableStack(ModItems.circuit_copper, 2), },300);
} else { } else {
addTantalium(new ComparableStack(ModBlocks.machine_centrifuge, 1), 5); addTantalium(new ComparableStack(ModBlocks.machine_centrifuge, 1), 5);
@ -1056,7 +1056,7 @@ public class AssemblerRecipes {
new ComparableStack(ModBlocks.hadron_coil_alloy, 24), new ComparableStack(ModBlocks.hadron_coil_alloy, 24),
new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.ingot(), 8),
new OreDictStack(ANY_PLASTIC.ingot(), 16), new OreDictStack(ANY_PLASTIC.ingot(), 16),
new OreDictStack(TCALLOY.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8),
new ComparableStack(ModItems.circuit_gold, 5), new ComparableStack(ModItems.circuit_gold, 5),
new ComparableStack(ModItems.circuit_schrabidium, 5), new ComparableStack(ModItems.circuit_schrabidium, 5),
new ComparableStack(ModItems.circuit_tantalium, 192), new ComparableStack(ModItems.circuit_tantalium, 192),
@ -1136,7 +1136,7 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.machine_radiolysis), new AStack[] { makeRecipe(new ComparableStack(ModBlocks.machine_radiolysis), new AStack[] {
new OreDictStack(STEEL.ingot(), 12), new OreDictStack(STEEL.ingot(), 12),
new OreDictStack(TCALLOY.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4),
new OreDictStack(DURA.ingot(), 10), new OreDictStack(DURA.ingot(), 10),
new OreDictStack(RUBBER.ingot(), 4), new OreDictStack(RUBBER.ingot(), 4),
new OreDictStack(PB.plate528(), 12), new OreDictStack(PB.plate528(), 12),

View File

@ -120,11 +120,11 @@ public class ChemplantRecipes extends SerializableRecipe {
new FluidStack(Fluids.PHOSGENE, 500)) new FluidStack(Fluids.PHOSGENE, 500))
.outputItems(new ItemStack(ModItems.ingot_pc))); .outputItems(new ItemStack(ModItems.ingot_pc)));
recipes.add(new ChemRecipe(96, "PVC", 100) recipes.add(new ChemRecipe(96, "PVC", 100)
.inputItems(new OreDictStack(CA.dust())) //placeholder! .inputItems(new OreDictStack(CD.dust()))
.inputFluids( .inputFluids(
new FluidStack(Fluids.UNSATURATEDS, 250), new FluidStack(Fluids.UNSATURATEDS, 250),
new FluidStack(Fluids.CHLORINE, 250)) new FluidStack(Fluids.CHLORINE, 250))
.outputItems(new ItemStack(ModItems.ingot_pvc))); .outputItems(new ItemStack(ModItems.ingot_pvc, 2)));
recipes.add(new ChemRecipe(89, "DYNAMITE", 50) recipes.add(new ChemRecipe(89, "DYNAMITE", 50)
.inputItems( .inputItems(
new ComparableStack(Items.sugar), new ComparableStack(Items.sugar),

View File

@ -92,6 +92,10 @@ public class CrucibleRecipes extends SerializableRecipe {
.inputs(new MaterialStack(Mats.MAT_STEEL, n * 8), new MaterialStack(Mats.MAT_TECHNIETIUM, n)) .inputs(new MaterialStack(Mats.MAT_STEEL, n * 8), new MaterialStack(Mats.MAT_TECHNIETIUM, n))
.outputs(new MaterialStack(Mats.MAT_TCALLOY, i))); .outputs(new MaterialStack(Mats.MAT_TCALLOY, i)));
recipes.add(new CrucibleRecipe(12, "crucible.cdalloy", 9, new ItemStack(ModItems.ingot_cdalloy))
.inputs(new MaterialStack(Mats.MAT_STEEL, n * 8), new MaterialStack(Mats.MAT_CADMIUM, n))
.outputs(new MaterialStack(Mats.MAT_CDALLOY, i)));
registerMoldsForNEI(); registerMoldsForNEI();
} }
@ -221,6 +225,7 @@ public class CrucibleRecipes extends SerializableRecipe {
public void deleteRecipes() { public void deleteRecipes() {
this.indexMapping.clear(); this.indexMapping.clear();
this.recipes.clear(); this.recipes.clear();
this.moldRecipes.clear();
} }
/** Returns a map containing all recipes where an item becomes a liquid material in the crucible. */ /** Returns a map containing all recipes where an item becomes a liquid material in the crucible. */
@ -264,9 +269,17 @@ public class CrucibleRecipes extends SerializableRecipe {
return map; return map;
} }
public static List<ItemStack[]> moldRecipes = new ArrayList(); private static List<ItemStack[]> moldRecipes = new ArrayList();
public static void registerMoldsForNEI() { public static List<ItemStack[]> getMoldRecipes() {
if(moldRecipes.isEmpty()) {
registerMoldsForNEI();
}
return moldRecipes;
}
private static void registerMoldsForNEI() {
for(NTMMaterial material : Mats.orderedList) { for(NTMMaterial material : Mats.orderedList) {

View File

@ -19,6 +19,7 @@ import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ItemEnums.EnumPlantType;
import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.items.ItemEnums.EnumTarType;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemChemicalDye.EnumChemDye; import com.hbm.items.machine.ItemChemicalDye.EnumChemDye;
@ -91,6 +92,9 @@ public class CrystallizerRecipes extends SerializableRecipe {
registerRecipe(new ComparableStack(Items.rotten_flesh), new CrystallizerRecipe(Items.leather, utilityTime)); registerRecipe(new ComparableStack(Items.rotten_flesh), new CrystallizerRecipe(Items.leather, utilityTime));
registerRecipe(new ComparableStack(ModItems.coal_infernal), new CrystallizerRecipe(ModItems.solid_fuel, utilityTime)); registerRecipe(new ComparableStack(ModItems.coal_infernal), new CrystallizerRecipe(ModItems.solid_fuel, utilityTime));
registerRecipe(new ComparableStack(ModBlocks.stone_gneiss), new CrystallizerRecipe(ModItems.powder_lithium, utilityTime)); registerRecipe(new ComparableStack(ModBlocks.stone_gneiss), new CrystallizerRecipe(ModItems.powder_lithium, utilityTime));
registerRecipe(new ComparableStack(Items.dye, 1, 15), new CrystallizerRecipe(new ItemStack(Items.slime_ball, 4), 20), new FluidStack(Fluids.SULFURIC_ACID, 250));
registerRecipe(new ComparableStack(Items.bone), new CrystallizerRecipe(new ItemStack(Items.slime_ball, 16), 20), new FluidStack(Fluids.SULFURIC_ACID, 1_000));
registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.MUSTARDWILLOW)), new CrystallizerRecipe(new ItemStack(ModItems.powder_cadmium), 100).setReq(10), new FluidStack(Fluids.RADIOSOLVENT, 250));
registerRecipe(DIAMOND.dust(), new CrystallizerRecipe(Items.diamond, utilityTime)); registerRecipe(DIAMOND.dust(), new CrystallizerRecipe(Items.diamond, utilityTime));
registerRecipe(EMERALD.dust(), new CrystallizerRecipe(Items.emerald, utilityTime)); registerRecipe(EMERALD.dust(), new CrystallizerRecipe(Items.emerald, utilityTime));
@ -187,10 +191,12 @@ public class CrystallizerRecipes extends SerializableRecipe {
FluidType acid = key.getValue(); FluidType acid = key.getValue();
if(input instanceof String) { if(input instanceof String) {
OreDictStack stack = new OreDictStack((String) input); OreDictStack stack = new OreDictStack((String) input, recipe.itemAmount);
recipes.put(new Object[] {ItemFluidIcon.make(acid, recipe.acidAmount), stack}, recipe.output); recipes.put(new Object[] {ItemFluidIcon.make(acid, recipe.acidAmount), stack}, recipe.output);
} else { } else {
ComparableStack stack = (ComparableStack) input; ComparableStack stack = ((ComparableStack) input);
stack = (ComparableStack) stack.copy();
stack.stacksize = recipe.itemAmount;
if(stack.item == ModItems.scrap_plastic) continue; if(stack.item == ModItems.scrap_plastic) continue;
recipes.put(new Object[] {ItemFluidIcon.make(acid, recipe.acidAmount), stack}, recipe.output); recipes.put(new Object[] {ItemFluidIcon.make(acid, recipe.acidAmount), stack}, recipe.output);
} }
@ -210,12 +216,18 @@ public class CrystallizerRecipes extends SerializableRecipe {
public static class CrystallizerRecipe { public static class CrystallizerRecipe {
public int acidAmount; public int acidAmount;
public int itemAmount = 1;
public int duration; public int duration;
public ItemStack output; public ItemStack output;
public CrystallizerRecipe(Block output, int duration) { this(new ItemStack(output), duration); } public CrystallizerRecipe(Block output, int duration) { this(new ItemStack(output), duration); }
public CrystallizerRecipe(Item output, int duration) { this(new ItemStack(output), duration); } public CrystallizerRecipe(Item output, int duration) { this(new ItemStack(output), duration); }
public CrystallizerRecipe setReq(int amount) {
this.itemAmount = amount;
return this;
}
public CrystallizerRecipe(ItemStack output, int duration) { public CrystallizerRecipe(ItemStack output, int duration) {
this.output = output; this.output = output;
this.duration = duration; this.duration = duration;
@ -242,10 +254,11 @@ public class CrystallizerRecipes extends SerializableRecipe {
FluidStack fluid = this.readFluidStack(obj.get("fluid").getAsJsonArray()); FluidStack fluid = this.readFluidStack(obj.get("fluid").getAsJsonArray());
int duration = obj.get("duration").getAsInt(); int duration = obj.get("duration").getAsInt();
CrystallizerRecipe cRecipe = new CrystallizerRecipe(output, duration); CrystallizerRecipe cRecipe = new CrystallizerRecipe(output, duration).setReq(input.stacksize);
input.stacksize = 1;
cRecipe.acidAmount = fluid.fill; cRecipe.acidAmount = fluid.fill;
if(input instanceof ComparableStack) { if(input instanceof ComparableStack) {
recipes.put(new Pair(((ComparableStack) input).makeSingular(), fluid.type), cRecipe); recipes.put(new Pair(((ComparableStack) input), fluid.type), cRecipe);
} else if(input instanceof OreDictStack) { } else if(input instanceof OreDictStack) {
recipes.put(new Pair(((OreDictStack) input).name, fluid.type), cRecipe); recipes.put(new Pair(((OreDictStack) input).name, fluid.type), cRecipe);
} }
@ -256,7 +269,8 @@ public class CrystallizerRecipes extends SerializableRecipe {
Entry<Pair, CrystallizerRecipe> rec = (Entry<Pair, CrystallizerRecipe>) recipe; Entry<Pair, CrystallizerRecipe> rec = (Entry<Pair, CrystallizerRecipe>) recipe;
CrystallizerRecipe cRecipe = rec.getValue(); CrystallizerRecipe cRecipe = rec.getValue();
Pair<Object, FluidType> pair = rec.getKey(); Pair<Object, FluidType> pair = rec.getKey();
AStack input = pair.getKey() instanceof String ? new OreDictStack((String )pair.getKey()) : (ComparableStack) pair.getKey(); AStack input = pair.getKey() instanceof String ? new OreDictStack((String )pair.getKey()) : ((ComparableStack) pair.getKey()).copy();
input.stacksize = cRecipe.itemAmount;
FluidStack fluid = new FluidStack(pair.value, cRecipe.acidAmount); FluidStack fluid = new FluidStack(pair.value, cRecipe.acidAmount);
writer.name("duration").value(cRecipe.duration); writer.name("duration").value(cRecipe.duration);
@ -272,4 +286,9 @@ public class CrystallizerRecipes extends SerializableRecipe {
public void deleteRecipes() { public void deleteRecipes() {
recipes.clear(); recipes.clear();
} }
@Override
public String getComment() {
return "The acidizer also supports stack size requirements for input items, eg. the cadmium recipe requires 10 willow leaves.";
}
} }

View File

@ -9,6 +9,7 @@ import java.util.Map.Entry;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.FluidStack; import com.hbm.inventory.FluidStack;
import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.ComparableStack;
@ -52,6 +53,8 @@ public class LiquefactionRecipes extends SerializableRecipe {
recipes.put(new ComparableStack(Items.ender_pearl), new FluidStack(100, Fluids.ENDERJUICE)); recipes.put(new ComparableStack(Items.ender_pearl), new FluidStack(100, Fluids.ENDERJUICE));
recipes.put(new ComparableStack(Items.sugar), new FluidStack(100, Fluids.ETHANOL)); recipes.put(new ComparableStack(Items.sugar), new FluidStack(100, Fluids.ETHANOL));
recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 3), new FluidStack(150, Fluids.ETHANOL));
recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 4), new FluidStack(50, Fluids.ETHANOL));
recipes.put(new ComparableStack(ModItems.biomass), new FluidStack(125, Fluids.BIOGAS)); recipes.put(new ComparableStack(ModItems.biomass), new FluidStack(125, Fluids.BIOGAS));
recipes.put(new ComparableStack(Items.wheat_seeds), new FluidStack(50, Fluids.SEEDSLURRY)); recipes.put(new ComparableStack(Items.wheat_seeds), new FluidStack(50, Fluids.SEEDSLURRY));

View File

@ -40,6 +40,7 @@ public class MixerRecipes extends SerializableRecipe {
recipes.put(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); recipes.put(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500)));
recipes.put(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(S.dust()))); recipes.put(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(S.dust())));
recipes.put(Fluids.NITRIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new OreDictStack(KNO.dust()))); recipes.put(Fluids.NITRIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new OreDictStack(KNO.dust())));
recipes.put(Fluids.RADIOSOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250)));
recipes.put(Fluids.SCHRABIDIC, new MixerRecipe(16_000, 100).setStack1(new FluidStack(Fluids.SAS3, 8_000)).setStack2(new FluidStack(Fluids.ACID, 6_000)).setSolid(new ComparableStack(ModItems.pellet_charged))); recipes.put(Fluids.SCHRABIDIC, new MixerRecipe(16_000, 100).setStack1(new FluidStack(Fluids.SAS3, 8_000)).setStack2(new FluidStack(Fluids.ACID, 6_000)).setSolid(new ComparableStack(ModItems.pellet_charged)));
recipes.put(Fluids.LUBRICANT, new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.HEATINGOIL, 500)).setStack2(new FluidStack(Fluids.UNSATURATEDS, 500))); recipes.put(Fluids.LUBRICANT, new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.HEATINGOIL, 500)).setStack2(new FluidStack(Fluids.UNSATURATEDS, 500)));

View File

@ -167,6 +167,7 @@ public class ShredderRecipes extends SerializableRecipe {
ShredderRecipes.setRecipe(Blocks.clay, new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(Blocks.clay, new ItemStack(Items.clay_ball, 4));
ShredderRecipes.setRecipe(Blocks.hardened_clay, new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(Blocks.hardened_clay, new ItemStack(Items.clay_ball, 4));
ShredderRecipes.setRecipe(Blocks.tnt, new ItemStack(Items.gunpowder, Compat.isModLoaded(Compat.MOD_GT6) ? 4 : 5)); ShredderRecipes.setRecipe(Blocks.tnt, new ItemStack(Items.gunpowder, Compat.isModLoaded(Compat.MOD_GT6) ? 4 : 5));
ShredderRecipes.setRecipe(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.LIMESTONE), new ItemStack(ModItems.powder_calcium));
ShredderRecipes.setRecipe(ModBlocks.stone_gneiss, new ItemStack(ModItems.powder_lithium_tiny, 1)); ShredderRecipes.setRecipe(ModBlocks.stone_gneiss, new ItemStack(ModItems.powder_lithium_tiny, 1));
ShredderRecipes.setRecipe(ModItems.powder_lapis, new ItemStack(ModItems.powder_cobalt_tiny, 1)); ShredderRecipes.setRecipe(ModItems.powder_lapis, new ItemStack(ModItems.powder_cobalt_tiny, 1));
ShredderRecipes.setRecipe(ModItems.fragment_neodymium, new ItemStack(ModItems.powder_neodymium_tiny, 1)); ShredderRecipes.setRecipe(ModItems.fragment_neodymium, new ItemStack(ModItems.powder_neodymium_tiny, 1));

View File

@ -36,6 +36,7 @@ public class ItemEnums {
public static enum EnumPlantType { public static enum EnumPlantType {
TOBACCO, TOBACCO,
ROPE ROPE,
MUSTARDWILLOW
} }
} }

View File

@ -137,6 +137,7 @@ public class ModItems {
public static Item nugget_schrabidium_fuel; public static Item nugget_schrabidium_fuel;
public static Item ingot_advanced_alloy; public static Item ingot_advanced_alloy;
public static Item ingot_tcalloy; public static Item ingot_tcalloy;
public static Item ingot_cdalloy;
public static Item lithium; public static Item lithium;
public static Item ingot_zirconium; public static Item ingot_zirconium;
public static Item ingot_hes; public static Item ingot_hes;
@ -355,6 +356,8 @@ public class ModItems {
public static Item powder_asbestos; public static Item powder_asbestos;
public static Item ingot_calcium; public static Item ingot_calcium;
public static Item powder_calcium; public static Item powder_calcium;
public static Item ingot_cadmium;
public static Item powder_cadmium;
public static Item powder_bismuth; public static Item powder_bismuth;
public static Item ingot_lanthanium; public static Item ingot_lanthanium;
@ -525,6 +528,7 @@ public class ModItems {
public static Item powder_balefire; public static Item powder_balefire;
public static Item powder_sawdust; public static Item powder_sawdust;
public static Item powder_flux; public static Item powder_flux;
public static Item powder_fertilizer;
public static Item fragment_neodymium; public static Item fragment_neodymium;
public static Item fragment_cobalt; public static Item fragment_cobalt;
@ -2681,6 +2685,7 @@ public class ModItems {
nugget_schrabidium_fuel = new Item().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel"); nugget_schrabidium_fuel = new Item().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel");
ingot_advanced_alloy = new Item().setUnlocalizedName("ingot_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_advanced_alloy"); ingot_advanced_alloy = new Item().setUnlocalizedName("ingot_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_advanced_alloy");
ingot_tcalloy = new Item().setUnlocalizedName("ingot_tcalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tcalloy"); ingot_tcalloy = new Item().setUnlocalizedName("ingot_tcalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tcalloy");
ingot_cdalloy = new Item().setUnlocalizedName("ingot_cdalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cdalloy");
niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":salpeter"); niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":salpeter");
ingot_copper = new Item().setUnlocalizedName("ingot_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_copper"); ingot_copper = new Item().setUnlocalizedName("ingot_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_copper");
@ -2817,6 +2822,8 @@ public class ModItems {
bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury"); bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury");
ingot_calcium = new Item().setUnlocalizedName("ingot_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_calcium"); ingot_calcium = new Item().setUnlocalizedName("ingot_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_calcium");
powder_calcium = new Item().setUnlocalizedName("powder_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_calcium"); powder_calcium = new Item().setUnlocalizedName("powder_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_calcium");
ingot_cadmium = new Item().setUnlocalizedName("ingot_cadmium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cadmium");
powder_cadmium = new Item().setUnlocalizedName("powder_cadmium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cadmium");
powder_bismuth = new Item().setUnlocalizedName("powder_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bismuth"); powder_bismuth = new Item().setUnlocalizedName("powder_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bismuth");
ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct"); ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct");
@ -3063,6 +3070,7 @@ public class ModItems {
powder_balefire = new Item().setUnlocalizedName("powder_balefire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_balefire"); powder_balefire = new Item().setUnlocalizedName("powder_balefire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_balefire");
powder_sawdust = new Item().setUnlocalizedName("powder_sawdust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sawdust"); powder_sawdust = new Item().setUnlocalizedName("powder_sawdust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sawdust");
powder_flux = new Item().setUnlocalizedName("powder_flux").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_flux"); powder_flux = new Item().setUnlocalizedName("powder_flux").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_flux");
powder_fertilizer = new ItemFertilizer().setUnlocalizedName("powder_fertilizer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_fertilizer");
powder_coltan_ore = new Item().setUnlocalizedName("powder_coltan_ore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan_ore"); powder_coltan_ore = new Item().setUnlocalizedName("powder_coltan_ore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan_ore");
powder_coltan = new Item().setUnlocalizedName("powder_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan"); powder_coltan = new Item().setUnlocalizedName("powder_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan");
powder_tektite = new Item().setUnlocalizedName("powder_tektite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tektite"); powder_tektite = new Item().setUnlocalizedName("powder_tektite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tektite");
@ -4280,30 +4288,17 @@ public class ModItems {
gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl"); gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl");
gun_panzerschreck = new ItemGunBase(GunRocketFactory.getPanzConfig()).setUnlocalizedName("gun_panzerschreck").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_panzerschreck"); gun_panzerschreck = new ItemGunBase(GunRocketFactory.getPanzConfig()).setUnlocalizedName("gun_panzerschreck").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_panzerschreck");
gun_quadro = new ItemGunBase(GunRocketFactory.getQuadroConfig()).setUnlocalizedName("gun_quadro").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_quadro"); gun_quadro = new ItemGunBase(GunRocketFactory.getQuadroConfig()).setUnlocalizedName("gun_quadro").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_quadro");
//gun_rpg_ammo = new Item().setUnlocalizedName("gun_rpg_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_rpg_ammo_alt");
gun_hk69 = new ItemGunBase(GunGrenadeFactory.getHK69Config()).setUnlocalizedName("gun_hk69").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_hk69"); gun_hk69 = new ItemGunBase(GunGrenadeFactory.getHK69Config()).setUnlocalizedName("gun_hk69").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_hk69");
gun_stinger = new ItemGunBase(GunRocketHomingFactory.getStingerConfig()).setUnlocalizedName("gun_stinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger"); gun_stinger = new ItemGunBase(GunRocketHomingFactory.getStingerConfig()).setUnlocalizedName("gun_stinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger");
gun_skystinger = new ItemGunBase(GunRocketHomingFactory.getSkyStingerConfig()).setUnlocalizedName("gun_skystinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_skystinger"); gun_skystinger = new ItemGunBase(GunRocketHomingFactory.getSkyStingerConfig()).setUnlocalizedName("gun_skystinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_skystinger");
//gun_stinger_ammo = new Item().setUnlocalizedName("gun_stinger_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_stinger_ammo");
//gun_revolver_ammo = new Item().setUnlocalizedName("gun_revolver_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_ammo");
gun_revolver = new ItemGunBase(Gun357MagnumFactory.getRevolverConfig()).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver"); gun_revolver = new ItemGunBase(Gun357MagnumFactory.getRevolverConfig()).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver");
gun_revolver_saturnite = new ItemGunBase(Gun357MagnumFactory.getRevolverSaturniteConfig()).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite"); gun_revolver_saturnite = new ItemGunBase(Gun357MagnumFactory.getRevolverSaturniteConfig()).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite");
//gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo");
//gun_revolver_iron = new ItemGunBase(Gun357MagnumFactory.getRevolverIronConfig()).setUnlocalizedName("gun_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron");
//gun_revolver_gold_ammo = new Item().setUnlocalizedName("gun_revolver_gold_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold_ammo");
gun_revolver_gold = new ItemGunBase(Gun357MagnumFactory.getRevolverGoldConfig()).setUnlocalizedName("gun_revolver_gold").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold"); gun_revolver_gold = new ItemGunBase(Gun357MagnumFactory.getRevolverGoldConfig()).setUnlocalizedName("gun_revolver_gold").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold");
//gun_revolver_lead_ammo = new Item().setUnlocalizedName("gun_revolver_lead_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_lead_ammo");
//gun_revolver_schrabidium_ammo = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("gun_revolver_schrabidium_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium_ammo");
gun_revolver_schrabidium = new ItemGunBase(Gun357MagnumFactory.getRevolverSchrabidiumConfig()).setUnlocalizedName("gun_revolver_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium"); gun_revolver_schrabidium = new ItemGunBase(Gun357MagnumFactory.getRevolverSchrabidiumConfig()).setUnlocalizedName("gun_revolver_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium");
//gun_revolver_cursed_ammo = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gun_revolver_cursed_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed_ammo");
gun_revolver_cursed = new ItemGunBase(Gun357MagnumFactory.getRevolverCursedConfig()).setUnlocalizedName("gun_revolver_cursed").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed"); gun_revolver_cursed = new ItemGunBase(Gun357MagnumFactory.getRevolverCursedConfig()).setUnlocalizedName("gun_revolver_cursed").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed");
//gun_revolver_nightmare_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_nightmare_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare_ammo");
gun_revolver_nightmare = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmareConfig()).setUnlocalizedName("gun_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare"); gun_revolver_nightmare = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmareConfig()).setUnlocalizedName("gun_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare");
//gun_revolver_nightmare2_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_nightmare2_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2_ammo");
gun_revolver_nightmare2 = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmare2Config()).setUnlocalizedName("gun_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2"); gun_revolver_nightmare2 = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmare2Config()).setUnlocalizedName("gun_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2");
//gun_revolver_pip_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_pip_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_revolver_pip_ammo");
gun_revolver_pip = new ItemGunBase(Gun44MagnumFactory.getMacintoshConfig()).setUnlocalizedName("gun_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_pip"); gun_revolver_pip = new ItemGunBase(Gun44MagnumFactory.getMacintoshConfig()).setUnlocalizedName("gun_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_pip");
//gun_revolver_nopip_ammo = new Item().setUnlocalizedName("gun_revolver_nopip_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_revolver_nopip_ammo");
gun_revolver_nopip = new ItemGunBase(Gun44MagnumFactory.getNovacConfig()).setUnlocalizedName("gun_revolver_nopip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nopip"); gun_revolver_nopip = new ItemGunBase(Gun44MagnumFactory.getNovacConfig()).setUnlocalizedName("gun_revolver_nopip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nopip");
gun_revolver_blackjack = new ItemGunBase(Gun44MagnumFactory.getBlackjackConfig()).setUnlocalizedName("gun_revolver_blackjack").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_blackjack"); gun_revolver_blackjack = new ItemGunBase(Gun44MagnumFactory.getBlackjackConfig()).setUnlocalizedName("gun_revolver_blackjack").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_blackjack");
gun_revolver_silver = new ItemGunBase(Gun44MagnumFactory.getSilverConfig()).setUnlocalizedName("gun_revolver_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_silver"); gun_revolver_silver = new ItemGunBase(Gun44MagnumFactory.getSilverConfig()).setUnlocalizedName("gun_revolver_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_silver");
@ -4312,40 +4307,31 @@ public class ModItems {
gun_bio_revolver = new ItemGunBio(Gun357MagnumFactory.getRevolverBioConfig()).setUnlocalizedName("gun_bio_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bio_revolver"); gun_bio_revolver = new ItemGunBio(Gun357MagnumFactory.getRevolverBioConfig()).setUnlocalizedName("gun_bio_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bio_revolver");
gun_flechette = new ItemGunBase(Gun556mmFactory.getSPIWConfig(), Gun556mmFactory.getGLauncherConfig()).setUnlocalizedName("gun_flechette").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_flechette"); gun_flechette = new ItemGunBase(Gun556mmFactory.getSPIWConfig(), Gun556mmFactory.getGLauncherConfig()).setUnlocalizedName("gun_flechette").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_flechette");
gun_ar15 = new ItemGunBase(Gun50BMGFactory.getAR15Config()).setUnlocalizedName("gun_ar15").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_ar15"); gun_ar15 = new ItemGunBase(Gun50BMGFactory.getAR15Config()).setUnlocalizedName("gun_ar15").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_ar15");
//gun_calamity_ammo = new ItemCustomLore().setUnlocalizedName("gun_calamity_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_calamity_ammo");
gun_calamity = new ItemGunBase(Gun762mmFactory.getCalamityConfig()).setUnlocalizedName("gun_calamity").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity"); gun_calamity = new ItemGunBase(Gun762mmFactory.getCalamityConfig()).setUnlocalizedName("gun_calamity").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity");
//gun_lacunae_ammo = new ItemCustomLore().setUnlocalizedName("gun_lacunae_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_lacunae_ammo");
gun_minigun = new ItemGunLacunae(Gun5mmFactory.get53Config()).setUnlocalizedName("gun_minigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_minigun"); gun_minigun = new ItemGunLacunae(Gun5mmFactory.get53Config()).setUnlocalizedName("gun_minigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_minigun");
gun_avenger = new ItemGunLacunae(Gun5mmFactory.get57Config()).setUnlocalizedName("gun_avenger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_avenger"); gun_avenger = new ItemGunLacunae(Gun5mmFactory.get57Config()).setUnlocalizedName("gun_avenger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_avenger");
gun_lacunae = new ItemGunLacunae(Gun5mmFactory.getLacunaeConfig()).setUnlocalizedName("gun_lacunae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lacunae"); gun_lacunae = new ItemGunLacunae(Gun5mmFactory.getLacunaeConfig()).setUnlocalizedName("gun_lacunae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lacunae");
gun_folly = new GunFolly().setUnlocalizedName("gun_folly").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_folly"); gun_folly = new GunFolly().setUnlocalizedName("gun_folly").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_folly");
//gun_fatman_ammo = new Item().setUnlocalizedName("gun_fatman_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_fatman_ammo");
gun_fatman = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); gun_fatman = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
gun_proto = new ItemGunBase(GunFatmanFactory.getProtoConfig()).setUnlocalizedName("gun_proto").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); gun_proto = new ItemGunBase(GunFatmanFactory.getProtoConfig()).setUnlocalizedName("gun_proto").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
//gun_mirv_ammo = new Item().setUnlocalizedName("gun_mirv_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_mirv_ammo");
gun_mirv = new ItemGunBase(GunFatmanFactory.getMIRVConfig()).setUnlocalizedName("gun_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mirv"); gun_mirv = new ItemGunBase(GunFatmanFactory.getMIRVConfig()).setUnlocalizedName("gun_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mirv");
gun_bf_ammo = new Item().setUnlocalizedName("gun_bf_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf_ammo"); gun_bf_ammo = new Item().setUnlocalizedName("gun_bf_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf_ammo");
gun_bf = new ItemGunBase(GunFatmanFactory.getBELConfig()).setUnlocalizedName("gun_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf"); gun_bf = new ItemGunBase(GunFatmanFactory.getBELConfig()).setUnlocalizedName("gun_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf");
gun_chemthrower = new ItemGunChemthrower().setUnlocalizedName("gun_chemthrower").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); gun_chemthrower = new ItemGunChemthrower().setUnlocalizedName("gun_chemthrower").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
//gun_mp40_ammo = new Item().setUnlocalizedName("gun_mp40_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_mp40_ammo");
gun_mp40 = new ItemGunBase(Gun9mmFactory.getMP40Config()).setUnlocalizedName("gun_mp40").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mp40"); gun_mp40 = new ItemGunBase(Gun9mmFactory.getMP40Config()).setUnlocalizedName("gun_mp40").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mp40");
gun_thompson = new ItemGunBase(Gun45ACPFactory.getThompsonConfig()).setUnlocalizedName("gun_thompson").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_thompson"); gun_thompson = new ItemGunBase(Gun45ACPFactory.getThompsonConfig()).setUnlocalizedName("gun_thompson").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_thompson");
//gun_uzi_ammo = new Item().setUnlocalizedName("gun_uzi_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_uzi_ammo");
gun_uzi = new ItemGunBase(Gun22LRFactory.getUziConfig()).setUnlocalizedName("gun_uzi").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi"); gun_uzi = new ItemGunBase(Gun22LRFactory.getUziConfig()).setUnlocalizedName("gun_uzi").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi");
gun_uzi_silencer = new ItemGunBase(Gun22LRFactory.getUziConfig().silenced()).setUnlocalizedName("gun_uzi_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_silencer"); gun_uzi_silencer = new ItemGunBase(Gun22LRFactory.getUziConfig().silenced()).setUnlocalizedName("gun_uzi_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_silencer");
gun_uzi_saturnite = new ItemGunBase(Gun22LRFactory.getSaturniteConfig()).setUnlocalizedName("gun_uzi_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite"); gun_uzi_saturnite = new ItemGunBase(Gun22LRFactory.getSaturniteConfig()).setUnlocalizedName("gun_uzi_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite");
gun_uzi_saturnite_silencer = new ItemGunBase(Gun22LRFactory.getSaturniteConfig().silenced()).setUnlocalizedName("gun_uzi_saturnite_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite_silencer"); gun_uzi_saturnite_silencer = new ItemGunBase(Gun22LRFactory.getSaturniteConfig().silenced()).setUnlocalizedName("gun_uzi_saturnite_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite_silencer");
//gun_uboinik_ammo = new Item().setUnlocalizedName("gun_uboinik_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_uboinik_ammo");
gun_uboinik = new ItemGunBase(Gun12GaugeFactory.getUboinikConfig()).setUnlocalizedName("gun_uboinik").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); gun_uboinik = new ItemGunBase(Gun12GaugeFactory.getUboinikConfig()).setUnlocalizedName("gun_uboinik").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
gun_spas12 = new ItemGunBase(Gun12GaugeFactory.getSpas12Config(), Gun12GaugeFactory.getSpas12AltConfig()).setUnlocalizedName("gun_spas12").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spas12"); gun_spas12 = new ItemGunBase(Gun12GaugeFactory.getSpas12Config(), Gun12GaugeFactory.getSpas12AltConfig()).setUnlocalizedName("gun_spas12").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spas12");
gun_supershotgun = new ItemGunShotty(Gun12GaugeFactory.getShottyConfig()).setUnlocalizedName("gun_supershotgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); gun_supershotgun = new ItemGunShotty(Gun12GaugeFactory.getShottyConfig()).setUnlocalizedName("gun_supershotgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
gun_ks23 = new ItemGunBase(Gun4GaugeFactory.getKS23Config()).setUnlocalizedName("gun_ks23").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); gun_ks23 = new ItemGunBase(Gun4GaugeFactory.getKS23Config()).setUnlocalizedName("gun_ks23").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
gun_sauer = new ItemGunBase(Gun4GaugeFactory.getSauerConfig()).setUnlocalizedName("gun_sauer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); gun_sauer = new ItemGunBase(Gun4GaugeFactory.getSauerConfig()).setUnlocalizedName("gun_sauer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
//gun_lever_action_ammo = new Item().setUnlocalizedName("gun_lever_action_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_lever_action_ammo");
gun_lever_action = new ItemGunBase(Gun20GaugeFactory.getMareConfig()).setUnlocalizedName("gun_lever_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action"); gun_lever_action = new ItemGunBase(Gun20GaugeFactory.getMareConfig()).setUnlocalizedName("gun_lever_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action");
gun_lever_action_dark = new ItemGunBase(Gun20GaugeFactory.getMareDarkConfig()).setUnlocalizedName("gun_lever_action_dark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_dark"); gun_lever_action_dark = new ItemGunBase(Gun20GaugeFactory.getMareDarkConfig()).setUnlocalizedName("gun_lever_action_dark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_dark");
gun_lever_action_sonata = new GunLeverActionS().setUnlocalizedName("gun_lever_action_sonata").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_sonata"); gun_lever_action_sonata = new GunLeverActionS().setUnlocalizedName("gun_lever_action_sonata").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_sonata");
//gun_bolt_action_ammo = new Item().setUnlocalizedName("gun_bolt_action_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bolt_action_ammo");
gun_bolt_action = new ItemGunBase(Gun20GaugeFactory.getBoltConfig()).setUnlocalizedName("gun_bolt_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action"); gun_bolt_action = new ItemGunBase(Gun20GaugeFactory.getBoltConfig()).setUnlocalizedName("gun_bolt_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action");
gun_bolt_action_green = new ItemGunBase(Gun20GaugeFactory.getBoltGreenConfig()).setUnlocalizedName("gun_bolt_action_green").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action_green"); gun_bolt_action_green = new ItemGunBase(Gun20GaugeFactory.getBoltGreenConfig()).setUnlocalizedName("gun_bolt_action_green").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action_green");
gun_bolt_action_saturnite = new ItemGunBase(Gun20GaugeFactory.getBoltSaturniteConfig()).setUnlocalizedName("gun_bolt_action_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action_saturnite"); gun_bolt_action_saturnite = new ItemGunBase(Gun20GaugeFactory.getBoltSaturniteConfig()).setUnlocalizedName("gun_bolt_action_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action_saturnite");
@ -4364,7 +4350,6 @@ public class ModItems {
gun_cryolator_ammo = new Item().setUnlocalizedName("gun_cryolator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator_ammo"); gun_cryolator_ammo = new Item().setUnlocalizedName("gun_cryolator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator_ammo");
gun_cryolator = new GunCryolator().setUnlocalizedName("gun_cryolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator"); gun_cryolator = new GunCryolator().setUnlocalizedName("gun_cryolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator");
gun_fireext = new ItemGunBase(GunEnergyFactory.getExtConfig()).setUnlocalizedName("gun_fireext").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fireext"); gun_fireext = new ItemGunBase(GunEnergyFactory.getExtConfig()).setUnlocalizedName("gun_fireext").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fireext");
//ammo_566_gold = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gun_mp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm_ammo");
gun_mp = new ItemGunBase(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_mp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm"); gun_mp = new ItemGunBase(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_mp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm");
gun_bolter = new ItemGunBase(Gun75BoltFactory.getBolterConfig()).setUnlocalizedName("gun_bolter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolter"); gun_bolter = new ItemGunBase(Gun75BoltFactory.getBolterConfig()).setUnlocalizedName("gun_bolter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolter");
gun_bolter_digamma = new ItemGunBase(Gun75BoltFactory.getBolterConfig()).setUnlocalizedName("gun_bolter_digamma").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolter_digamma"); gun_bolter_digamma = new ItemGunBase(Gun75BoltFactory.getBolterConfig()).setUnlocalizedName("gun_bolter_digamma").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolter_digamma");
@ -5705,10 +5690,12 @@ public class ModItems {
GameRegistry.registerItem(ingot_aluminium, ingot_aluminium.getUnlocalizedName()); GameRegistry.registerItem(ingot_aluminium, ingot_aluminium.getUnlocalizedName());
GameRegistry.registerItem(ingot_steel, ingot_steel.getUnlocalizedName()); GameRegistry.registerItem(ingot_steel, ingot_steel.getUnlocalizedName());
GameRegistry.registerItem(ingot_tcalloy, ingot_tcalloy.getUnlocalizedName()); GameRegistry.registerItem(ingot_tcalloy, ingot_tcalloy.getUnlocalizedName());
GameRegistry.registerItem(ingot_cdalloy, ingot_cdalloy.getUnlocalizedName());
GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName()); GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName());
GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName()); GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName());
GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName()); GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName());
GameRegistry.registerItem(ingot_calcium, ingot_calcium.getUnlocalizedName()); GameRegistry.registerItem(ingot_calcium, ingot_calcium.getUnlocalizedName());
GameRegistry.registerItem(ingot_cadmium, ingot_cadmium.getUnlocalizedName());
GameRegistry.registerItem(ingot_tantalium, ingot_tantalium.getUnlocalizedName()); GameRegistry.registerItem(ingot_tantalium, ingot_tantalium.getUnlocalizedName());
GameRegistry.registerItem(ingot_niobium, ingot_niobium.getUnlocalizedName()); GameRegistry.registerItem(ingot_niobium, ingot_niobium.getUnlocalizedName());
GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName()); GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName());
@ -5883,6 +5870,7 @@ public class ModItems {
GameRegistry.registerItem(powder_lead, powder_lead.getUnlocalizedName()); GameRegistry.registerItem(powder_lead, powder_lead.getUnlocalizedName());
GameRegistry.registerItem(powder_bismuth, powder_bismuth.getUnlocalizedName()); GameRegistry.registerItem(powder_bismuth, powder_bismuth.getUnlocalizedName());
GameRegistry.registerItem(powder_calcium, powder_calcium.getUnlocalizedName()); GameRegistry.registerItem(powder_calcium, powder_calcium.getUnlocalizedName());
GameRegistry.registerItem(powder_cadmium, powder_cadmium.getUnlocalizedName());
GameRegistry.registerItem(powder_coltan_ore, powder_coltan_ore.getUnlocalizedName()); GameRegistry.registerItem(powder_coltan_ore, powder_coltan_ore.getUnlocalizedName());
GameRegistry.registerItem(powder_coltan, powder_coltan.getUnlocalizedName()); GameRegistry.registerItem(powder_coltan, powder_coltan.getUnlocalizedName());
GameRegistry.registerItem(powder_tantalium, powder_tantalium.getUnlocalizedName()); GameRegistry.registerItem(powder_tantalium, powder_tantalium.getUnlocalizedName());
@ -5937,6 +5925,7 @@ public class ModItems {
GameRegistry.registerItem(powder_cloud, powder_cloud.getUnlocalizedName()); GameRegistry.registerItem(powder_cloud, powder_cloud.getUnlocalizedName());
GameRegistry.registerItem(powder_sawdust, powder_sawdust.getUnlocalizedName()); GameRegistry.registerItem(powder_sawdust, powder_sawdust.getUnlocalizedName());
GameRegistry.registerItem(powder_flux, powder_flux.getUnlocalizedName()); GameRegistry.registerItem(powder_flux, powder_flux.getUnlocalizedName());
GameRegistry.registerItem(powder_fertilizer, powder_fertilizer.getUnlocalizedName());
GameRegistry.registerItem(powder_balefire, powder_balefire.getUnlocalizedName()); GameRegistry.registerItem(powder_balefire, powder_balefire.getUnlocalizedName());
GameRegistry.registerItem(powder_semtex_mix, powder_semtex_mix.getUnlocalizedName()); GameRegistry.registerItem(powder_semtex_mix, powder_semtex_mix.getUnlocalizedName());
GameRegistry.registerItem(powder_desh_mix, powder_desh_mix.getUnlocalizedName()); GameRegistry.registerItem(powder_desh_mix, powder_desh_mix.getUnlocalizedName());

View File

@ -0,0 +1,101 @@
package com.hbm.items.tool;
import cpw.mods.fml.common.eventhandler.Event.Result;
import net.minecraft.block.Block;
import net.minecraft.block.IGrowable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.FakePlayerFactory;
import net.minecraftforge.event.entity.player.BonemealEvent;
public class ItemFertilizer extends Item {
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fX, float fY, float fZ) {
if(!player.canPlayerEdit(x, y, z, side, stack)) {
return false;
}
world.captureBlockSnapshots = false; //what the fuck is the point of this?!
boolean didSomething = false;
for(int i = x - 1; i <= x + 1; i++) {
for(int j = y - 1; j <= y + 1; j++) {
for(int k = z - 1; k <= z + 1; k++) {
boolean success = fertilize(world, i, j, k, player, i == x && j == y && k == z);
didSomething = didSomething || success;
if(success && !world.isRemote) {
world.playAuxSFX(2005, i, j, k, 0);
}
}
}
}
if(didSomething && !player.capabilities.isCreativeMode) {
stack.stackSize--;
}
return false;
}
public static boolean useFertillizer(ItemStack stack, World world, int x, int y, int z) {
if(!(world instanceof WorldServer)) return false;
EntityPlayer player = FakePlayerFactory.getMinecraft((WorldServer)world);
boolean didSomething = false;
for(int i = x - 1; i <= x + 1; i++) {
for(int j = y - 1; j <= y + 1; j++) {
for(int k = z - 1; k <= z + 1; k++) {
boolean success = fertilize(world, i, j, k, player, i == x && j == y && k == z);
didSomething = didSomething || success;
if(success && !world.isRemote) {
world.playAuxSFX(2005, i, j, k, 0);
}
}
}
}
if(didSomething) stack.stackSize--;
return didSomething;
}
public static boolean fertilize(World world, int x, int y, int z, EntityPlayer player, boolean force) {
Block b = world.getBlock(x, y, z);
BonemealEvent event = new BonemealEvent(player, world, b, x, y, z);
if(MinecraftForge.EVENT_BUS.post(event)) {
return false;
}
if(event.getResult() == Result.ALLOW) {
return true;
}
if(b instanceof IGrowable) {
IGrowable growable = (IGrowable) b;
if(growable.func_149851_a(world, x, y, z, world.isRemote)) {
if(!world.isRemote) {
if(force || growable.func_149852_a(world, world.rand, x, y, z)) {
growable.func_149853_b(world, world.rand, x, y, z);
}
}
return true;
}
}
return false;
}
}

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.saveddata.TomSaveData; import com.hbm.saveddata.TomSaveData;
import com.hbm.util.TimeAnalyzer; import com.hbm.util.TimeAnalyzer;
import com.hbm.world.feature.OilSpot;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
@ -25,12 +26,12 @@ public class ItemWandD extends Item {
if(pos != null) { if(pos != null) {
TimeAnalyzer.startCount("setBlock"); /*TimeAnalyzer.startCount("setBlock");
world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt);
TimeAnalyzer.startEndCount("getBlock"); TimeAnalyzer.startEndCount("getBlock");
world.getBlock(pos.blockX, pos.blockY, pos.blockZ); world.getBlock(pos.blockX, pos.blockY, pos.blockZ);
TimeAnalyzer.endCount(); TimeAnalyzer.endCount();
TimeAnalyzer.dump(); TimeAnalyzer.dump();*/
/*TomSaveData data = TomSaveData.forWorld(world); /*TomSaveData data = TomSaveData.forWorld(world);
data.impact = false; data.impact = false;
@ -60,7 +61,7 @@ public class ItemWandD extends Item {
//MapGenStronghold.Start startS = new MapGenStronghold.Start(world, world.rand, pos.blockX >> 4, pos.blockZ >> 4); //MapGenStronghold.Start startS = new MapGenStronghold.Start(world, world.rand, pos.blockX >> 4, pos.blockZ >> 4);
//startS.generateStructure(world, world.rand, new StructureBoundingBox(k - 124, l - 124, k + 15 + 124, l + 15 + 124)); //startS.generateStructure(world, world.rand, new StructureBoundingBox(k - 124, l - 124, k + 15 + 124, l + 15 + 124));
/*OilSpot.generateOilSpot(world, pos.blockX, pos.blockZ, 20, 500);*/ OilSpot.generateOilSpot(world, pos.blockX, pos.blockZ, 3, 50, true);
/*EntityNukeTorex torex = new EntityNukeTorex(world); /*EntityNukeTorex torex = new EntityNukeTorex(world);
torex.setPositionAndRotation(pos.blockX, pos.blockY + 1, pos.blockZ, 0, 0); torex.setPositionAndRotation(pos.blockX, pos.blockY + 1, pos.blockZ, 0, 0);

View File

@ -156,6 +156,7 @@ public class HbmWorldGen implements IWorldGenerator {
//DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.hematiteSpawn, 10, 4, 80, ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal()); //DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.hematiteSpawn, 10, 4, 80, ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal());
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.malachiteSpawn, 10, 6, 40, ModBlocks.stone_resource, EnumStoneType.MALACHITE.ordinal()); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.malachiteSpawn, 10, 6, 40, ModBlocks.stone_resource, EnumStoneType.MALACHITE.ordinal());
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.limestoneSpawn, 12, 25, 30, ModBlocks.stone_resource, EnumStoneType.LIMESTONE.ordinal());
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.IRON, 1, WorldConfig.bedrockIronSpawn); DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.IRON, 1, WorldConfig.bedrockIronSpawn);
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.COPPER, 1, WorldConfig.bedrockCopperSpawn); DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.COPPER, 1, WorldConfig.bedrockCopperSpawn);
@ -613,7 +614,7 @@ public class HbmWorldGen implements IWorldGenerator {
} }
DungeonToolbox.generateOre(world, rand, i, j, 16, 8, 10, 50, ModBlocks.stone_porous); DungeonToolbox.generateOre(world, rand, i, j, 16, 8, 10, 50, ModBlocks.stone_porous);
OilSpot.generateOilSpot(world, randPosX, randPosZ, 5, 50); OilSpot.generateOilSpot(world, randPosX, randPosZ, 5, 50, true);
} }
if(WorldConfig.meteoriteSpawn > 0 && rand.nextInt(WorldConfig.meteoriteSpawn) == 0) { if(WorldConfig.meteoriteSpawn > 0 && rand.nextInt(WorldConfig.meteoriteSpawn) == 0) {

View File

@ -13,6 +13,7 @@ import com.hbm.crafting.*;
import com.hbm.crafting.handlers.*; import com.hbm.crafting.handlers.*;
import com.hbm.inventory.OreDictManager; import com.hbm.inventory.OreDictManager;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.material.Mats;
import static com.hbm.inventory.OreDictManager.*; import static com.hbm.inventory.OreDictManager.*;
@ -86,6 +87,7 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.big_sword, 1), new Object[] { "QIQ", "QIQ", "GSG", 'G', Items.gold_ingot, 'S', KEY_STICK, 'I', Items.iron_ingot, 'Q', Items.quartz}); addRecipeAuto(new ItemStack(ModItems.big_sword, 1), new Object[] { "QIQ", "QIQ", "GSG", 'G', Items.gold_ingot, 'S', KEY_STICK, 'I', Items.iron_ingot, 'Q', Items.quartz});
addRecipeAuto(new ItemStack(ModItems.board_copper, 1), new Object[] { "TTT", "TTT", 'T', CU.plate() }); addRecipeAuto(new ItemStack(ModItems.board_copper, 1), new Object[] { "TTT", "TTT", 'T', CU.plate() });
addRecipeAuto(Mats.MAT_IRON.make(ModItems.plate_cast), new Object[] { "BPB", "BPB", "BPB", 'B', ModItems.bolt_tungsten, 'P', IRON.plate() });
addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_red, 1), new Object[] { "C", "R", "C", 'C', ModItems.hazmat_cloth, 'R', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_red, 1), new Object[] { "C", "R", "C", 'C', ModItems.hazmat_cloth, 'R', REDSTONE.dust() });
addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_grey, 1), new Object[] { " P ", "ICI", " L ", 'C', ModItems.hazmat_cloth_red, 'P', IRON.plate(), 'L', PB.plate(), 'I', ModItems.plate_polymer }); addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_grey, 1), new Object[] { " P ", "ICI", " L ", 'C', ModItems.hazmat_cloth_red, 'P', IRON.plate(), 'L', PB.plate(), 'I', ModItems.plate_polymer });
addRecipeAuto(new ItemStack(ModItems.asbestos_cloth, 8), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', BR.dust(), 'C', Blocks.wool }); addRecipeAuto(new ItemStack(ModItems.asbestos_cloth, 8), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', BR.dust(), 'C', Blocks.wool });
@ -151,6 +153,7 @@ public class CraftingManager {
addShapelessAuto(new ItemStack(ModItems.biomass, 4), new Object[] { Items.sugar, ModItems.powder_sawdust, ModItems.powder_sawdust, Blocks.pumpkin }); addShapelessAuto(new ItemStack(ModItems.biomass, 4), new Object[] { Items.sugar, ModItems.powder_sawdust, ModItems.powder_sawdust, Blocks.pumpkin });
addShapelessAuto(new ItemStack(ModItems.biomass, 4), new Object[] { Items.sugar, ModItems.powder_sawdust, ModItems.powder_sawdust, Blocks.melon_block }); addShapelessAuto(new ItemStack(ModItems.biomass, 4), new Object[] { Items.sugar, ModItems.powder_sawdust, ModItems.powder_sawdust, Blocks.melon_block });
addShapelessAuto(new ItemStack(ModItems.biomass, 4), new Object[] { Items.sugar, ModItems.powder_sawdust, ModItems.powder_sawdust, Items.wheat, Items.wheat, Items.wheat, Items.wheat, Items.wheat, Items.wheat }); addShapelessAuto(new ItemStack(ModItems.biomass, 4), new Object[] { Items.sugar, ModItems.powder_sawdust, ModItems.powder_sawdust, Items.wheat, Items.wheat, Items.wheat, Items.wheat, Items.wheat, Items.wheat });
addShapelessAuto(new ItemStack(ModItems.biomass, 4), new Object[] { DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED) });
//addRecipeAuto(new ItemStack(ModItems.part_lithium), new Object[] { "P", "D", "P", 'P', STEEL.plate(), 'D', LI.dust() }); //addRecipeAuto(new ItemStack(ModItems.part_lithium), new Object[] { "P", "D", "P", 'P', STEEL.plate(), 'D', LI.dust() });
//addRecipeAuto(new ItemStack(ModItems.part_beryllium), new Object[] { "P", "D", "P", 'P', STEEL.plate(), 'D', BE.dust() }); //addRecipeAuto(new ItemStack(ModItems.part_beryllium), new Object[] { "P", "D", "P", 'P', STEEL.plate(), 'D', BE.dust() });
@ -192,7 +195,7 @@ public class CraftingManager {
//addRecipeAuto(new ItemStack(ModItems.rtg_unit, 1), new Object[] { "TIT", "PCP", "TIT", 'T', ModItems.thermo_element, 'I', PB.ingot(), 'P', ModItems.board_copper, 'C', ModItems.circuit_copper }); //addRecipeAuto(new ItemStack(ModItems.rtg_unit, 1), new Object[] { "TIT", "PCP", "TIT", 'T', ModItems.thermo_element, 'I', PB.ingot(), 'P', ModItems.board_copper, 'C', ModItems.circuit_copper });
//addRecipeAuto(new ItemStack(ModItems.thermo_unit_empty, 1), new Object[] { "TTT", " S ", "P P", 'S', STEEL.ingot(), 'P', TI.plate(), 'T', ModItems.coil_copper_torus }); //addRecipeAuto(new ItemStack(ModItems.thermo_unit_empty, 1), new Object[] { "TTT", " S ", "P P", 'S', STEEL.ingot(), 'P', TI.plate(), 'T', ModItems.coil_copper_torus });
//addRecipeAuto(new ItemStack(ModItems.levitation_unit, 1), new Object[] { "CSC", "TAT", "PSP", 'C', ModItems.coil_copper, 'S', ModItems.nugget_schrabidium, 'T', ModItems.coil_tungsten, 'P', TI.plate(), 'A', STEEL.ingot() }); //addRecipeAuto(new ItemStack(ModItems.levitation_unit, 1), new Object[] { "CSC", "TAT", "PSP", 'C', ModItems.coil_copper, 'S', ModItems.nugget_schrabidium, 'T', ModItems.coil_tungsten, 'P', TI.plate(), 'A', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.deuterium_filter, 1), new Object[] { "TST", "SCS", "TST", 'T', TCALLOY.ingot(), 'S', S.dust(), 'C', ModItems.catalyst_clay }); addRecipeAuto(new ItemStack(ModItems.deuterium_filter, 1), new Object[] { "TST", "SCS", "TST", 'T', ANY_RESISTANTALLOY.ingot(), 'S', S.dust(), 'C', ModItems.catalyst_clay });
addRecipeAuto(new ItemStack(ModItems.hull_small_steel, 3), new Object[] { "PPP", " ", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.hull_small_steel, 3), new Object[] { "PPP", " ", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.hull_small_aluminium, 3), new Object[] { "PPP", " ", "PPP", 'P', AL.plate(), 'I', AL.ingot() }); addRecipeAuto(new ItemStack(ModItems.hull_small_aluminium, 3), new Object[] { "PPP", " ", "PPP", 'P', AL.plate(), 'I', AL.ingot() });
@ -293,7 +296,7 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', PB.plate(), 'A', ALLOY.plate(), 'C', ModBlocks.crate_steel }); addRecipeAuto(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', PB.plate(), 'A', ALLOY.plate(), 'C', ModBlocks.crate_steel });
addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { "ICI", "CLC", "ICI", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', ModItems.circuit_copper }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { "ICI", "CLC", "ICI", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', ModItems.circuit_copper });
addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { "PCP", "PMP", "PPP", 'P', DESH.ingot(), 'C', ModItems.circuit_red_copper, 'M', new ItemStack(ModBlocks.mass_storage, 1, 0) }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { "PCP", "PMP", "PPP", 'P', DESH.ingot(), 'C', ModItems.circuit_red_copper, 'M', new ItemStack(ModBlocks.mass_storage, 1, 0) });
addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 2), new Object[] { "PCP", "PMP", "PPP", 'P', TCALLOY.ingot(), 'C', ModItems.circuit_gold, 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 2), new Object[] { "PCP", "PMP", "PPP", 'P', ANY_RESISTANTALLOY.ingot(), 'C', ModItems.circuit_gold, 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) });
addRecipeAuto(new ItemStack(ModBlocks.machine_autocrafter, 1), new Object[] { "SCS", "MWM", "SCS", 'S', STEEL.plate(), 'C', ModItems.circuit_copper, 'M', ModItems.motor, 'W', Blocks.crafting_table }); addRecipeAuto(new ItemStack(ModBlocks.machine_autocrafter, 1), new Object[] { "SCS", "MWM", "SCS", 'S', STEEL.plate(), 'C', ModItems.circuit_copper, 'M', ModItems.motor, 'W', Blocks.crafting_table });
addRecipeAuto(new ItemStack(ModBlocks.machine_waste_drum, 1), new Object[] { "LRL", "BRB", "LRL", 'L', PB.ingot(), 'B', Blocks.iron_bars, 'R', ModItems.rod_quad_empty }); addRecipeAuto(new ItemStack(ModBlocks.machine_waste_drum, 1), new Object[] { "LRL", "BRB", "LRL", 'L', PB.ingot(), 'B', Blocks.iron_bars, 'R', ModItems.rod_quad_empty });
addRecipeAuto(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', IRON.ingot(), 'R', Blocks.furnace, 'B', IRON.block(), 'P', Blocks.piston }); addRecipeAuto(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', IRON.ingot(), 'R', Blocks.furnace, 'B', IRON.block(), 'P', Blocks.piston });
@ -396,7 +399,7 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.tile_lab_broken, 6), new Object[] { " C " , "C C", " C ", 'C', ModBlocks.tile_lab_cracked }); addRecipeAuto(new ItemStack(ModBlocks.tile_lab_broken, 6), new Object[] { " C " , "C C", " C ", 'C', ModBlocks.tile_lab_cracked });
addShapelessAuto(new ItemStack(ModBlocks.asphalt_light, 1), new Object[] { ModBlocks.asphalt, Items.glowstone_dust }); addShapelessAuto(new ItemStack(ModBlocks.asphalt_light, 1), new Object[] { ModBlocks.asphalt, Items.glowstone_dust });
addShapelessAuto(new ItemStack(ModBlocks.asphalt, 1), new Object[] { ModBlocks.asphalt_light }); addShapelessAuto(new ItemStack(ModBlocks.asphalt, 1), new Object[] { ModBlocks.asphalt_light });
addRecipeAuto(new ItemStack(ModBlocks.block_niter_reinforced, 1), new Object[] { "TCT", "CNC", "TCT", 'T', TCALLOY.ingot(), 'C', ModBlocks.concrete, 'N', KNO.block() }); addRecipeAuto(new ItemStack(ModBlocks.block_niter_reinforced, 1), new Object[] { "TCT", "CNC", "TCT", 'T', ANY_RESISTANTALLOY.ingot(), 'C', ModBlocks.concrete, 'N', KNO.block() });
String[] dyes = { "Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White" }; String[] dyes = { "Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White" };
@ -657,7 +660,7 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.vent_pink_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', IRON.plate(), 'G', Blocks.iron_bars, 'C', ModItems.grenade_pink_cloud, 'D', Blocks.dispenser }); addRecipeAuto(new ItemStack(ModBlocks.vent_pink_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', IRON.plate(), 'G', Blocks.iron_bars, 'C', ModItems.grenade_pink_cloud, 'D', Blocks.dispenser });
addRecipeAuto(new ItemStack(ModBlocks.spikes, 4), new Object[] { "FFF", "BBB", "TTT", 'F', Items.flint, 'B', ModItems.bolt_tungsten, 'T', W.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.spikes, 4), new Object[] { "FFF", "BBB", "TTT", 'F', Items.flint, 'B', ModItems.bolt_tungsten, 'T', W.ingot() });
addRecipeAuto(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ModItems.plate_polymer, 'P', BIGMT.plate(), 'C', ModItems.circuit_red_copper, 'H', ModItems.hull_small_steel, 'W', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ModItems.plate_polymer, 'P', BIGMT.plate(), 'C', ModItems.circuit_red_copper, 'H', ModItems.hull_small_steel, 'W', ModItems.coil_copper });
addRecipeAuto(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "TDT", "DCD", "TDT", 'T', TCALLOY.ingot(), 'D', ModItems.crt_display, 'C', ModItems.circuit_targeting_tier3 }); addRecipeAuto(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "TDT", "DCD", "TDT", 'T', ANY_RESISTANTALLOY.ingot(), 'D', ModItems.crt_display, 'C', ModItems.circuit_targeting_tier3 });
addRecipeAuto(new ItemStack(ModItems.containment_box, 1), new Object[] { "LUL", "UCU", "LUL", 'L', PB.plate(), 'U', U238.billet(), 'C', ModBlocks.crate_steel }); addRecipeAuto(new ItemStack(ModItems.containment_box, 1), new Object[] { "LUL", "UCU", "LUL", 'L', PB.plate(), 'U', U238.billet(), 'C', ModBlocks.crate_steel });
addRecipeAuto(new ItemStack(ModBlocks.absorber, 1), new Object[] { "ICI", "CPC", "ICI", 'I', CU.ingot(), 'C', COAL.dust(), 'P', PB.dust() }); addRecipeAuto(new ItemStack(ModBlocks.absorber, 1), new Object[] { "ICI", "CPC", "ICI", 'I', CU.ingot(), 'C', COAL.dust(), 'P', PB.dust() });
@ -826,11 +829,15 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.rbmk_moderator, 1), new Object[] { " G ", "GRG", " G ", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_moderator, 1), new Object[] { " G ", "GRG", " G ", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_blank });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_absorber, 1), new Object[] { "GGG", "GRG", "GGG", 'G', B.ingot(), 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_absorber, 1), new Object[] { "GGG", "GRG", "GGG", 'G', B.ingot(), 'R', ModBlocks.rbmk_blank });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_reflector, 1), new Object[] { "GGG", "GRG", "GGG", 'G', OreDictManager.getReflector(), 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_reflector, 1), new Object[] { "GGG", "GRG", "GGG", 'G', OreDictManager.getReflector(), 'R', ModBlocks.rbmk_blank });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_control, 1), new Object[] { " B ", "GRG", " B ", 'G', GRAPHITE.ingot(), 'B', ModItems.motor, 'R', ModBlocks.rbmk_absorber }); if(!GeneralConfig.enable528) {
addRecipeAuto(new ItemStack(ModBlocks.rbmk_control, 1), new Object[] { " B ", "GRG", " B ", 'G', GRAPHITE.ingot(), 'B', ModItems.motor, 'R', ModBlocks.rbmk_absorber });
} else {
addRecipeAuto(new ItemStack(ModBlocks.rbmk_control, 1), new Object[] { "CBC", "GRG", "CBC", 'G', GRAPHITE.ingot(), 'B', ModItems.motor, 'R', ModBlocks.rbmk_absorber, 'C', CD.ingot() });
}
addRecipeAuto(new ItemStack(ModBlocks.rbmk_control_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_control, 'B', ModItems.nugget_bismuth }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_control_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_control, 'B', ModItems.nugget_bismuth });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_control_auto, 1), new Object[] { "C", "R", "D", 'C', ModItems.circuit_targeting_tier1, 'R', ModBlocks.rbmk_control, 'D', ModItems.crt_display }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_control_auto, 1), new Object[] { "C", "R", "D", 'C', ModItems.circuit_targeting_tier1, 'R', ModBlocks.rbmk_control, 'D', ModItems.crt_display });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank, 'Z', ZR.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank, 'Z', ZR.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_reasim_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_rod_reasim, 'B', TCALLOY.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_reasim_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_rod_reasim, 'B', ANY_RESISTANTALLOY.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_storage, 1), new Object[] { "C", "R", "C", 'C', ModBlocks.crate_steel, 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_storage, 1), new Object[] { "C", "R", "C", 'C', ModBlocks.crate_steel, 'R', ModBlocks.rbmk_blank });
addRecipeAuto(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', STEEL.plate(), 'C', CU.ingot(), 'B', ModItems.tank_steel }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', STEEL.plate(), 'C', CU.ingot(), 'B', ModItems.tank_steel });
@ -918,7 +925,7 @@ public class CraftingManager {
addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC, 4), new Object[] { " I ", "CPC", " I ", 'I', IRON.ingot(), 'C', CU.ingot(), 'P', IRON.plate() }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC, 4), new Object[] { " I ", "CPC", " I ", 'I', IRON.ingot(), 'C', CU.ingot(), 'P', IRON.plate() });
addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_HYDRAULIC, 4), new Object[] { " I ", "CPC", " I ", 'I', STEEL.ingot(), 'C', TI.ingot(), 'P', Fluids.LUBRICANT.getDict(1000) }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_HYDRAULIC, 4), new Object[] { " I ", "CPC", " I ", 'I', STEEL.ingot(), 'C', TI.ingot(), 'P', Fluids.LUBRICANT.getDict(1000) });
addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_ELECTRIC, 4), new Object[] { " I ", "CPC", " I ", 'I', TCALLOY.ingot(), 'C', ANY_PLASTIC.ingot(), 'P', ModItems.motor }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_ELECTRIC, 4), new Object[] { " I ", "CPC", " I ", 'I', ANY_RESISTANTALLOY.ingot(), 'C', ANY_PLASTIC.ingot(), 'P', ModItems.motor });
Object[] craneCasing = new Object[] { Object[] craneCasing = new Object[] {
Blocks.stonebrick, 1, Blocks.stonebrick, 1,

View File

@ -2,7 +2,9 @@ package com.hbm.main;
import net.minecraft.block.BlockDispenser; import net.minecraft.block.BlockDispenser;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
import net.minecraft.dispenser.BehaviorProjectileDispense; import net.minecraft.dispenser.BehaviorProjectileDispense;
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.dispenser.IPosition; import net.minecraft.dispenser.IPosition;
import net.minecraft.entity.IProjectile; import net.minecraft.entity.IProjectile;
import net.minecraft.init.Items; import net.minecraft.init.Items;
@ -12,6 +14,7 @@ import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.stats.Achievement; import net.minecraft.stats.Achievement;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.util.WeightedRandomChestContent;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.AchievementPage; import net.minecraftforge.common.AchievementPage;
@ -60,6 +63,7 @@ import com.hbm.inventory.recipes.*;
import com.hbm.inventory.recipes.anvil.AnvilRecipes; import com.hbm.inventory.recipes.anvil.AnvilRecipes;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.tool.ItemFertilizer;
import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; import com.hbm.items.ItemAmmoEnums.Ammo4Gauge;
import com.hbm.lib.HbmWorld; import com.hbm.lib.HbmWorld;
import com.hbm.lib.Library; import com.hbm.lib.Library;
@ -602,6 +606,27 @@ public class MainRegistry {
return new EntityGrenadeDynamite(world, position.getX(), position.getY(), position.getZ()); return new EntityGrenadeDynamite(world, position.getX(), position.getY(), position.getZ());
} }
}); });
BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.powder_fertilizer, new BehaviorDefaultDispenseItem() {
private boolean dispenseSound = true;
@Override protected ItemStack dispenseStack(IBlockSource source, ItemStack stack) {
EnumFacing facing = BlockDispenser.func_149937_b(source.getBlockMetadata());
World world = source.getWorld();
int x = source.getXInt() + facing.getFrontOffsetX();
int y = source.getYInt() + facing.getFrontOffsetY();
int z = source.getZInt() + facing.getFrontOffsetZ();
this.dispenseSound = ItemFertilizer.useFertillizer(stack, world, x, y, z);
return stack;
}
@Override protected void playDispenseSound(IBlockSource source) {
if(this.dispenseSound) {
source.getWorld().playAuxSFX(1000, source.getXInt(), source.getYInt(), source.getZInt(), 0);
} else {
source.getWorld().playAuxSFX(1001, source.getXInt(), source.getYInt(), source.getZInt(), 0);
}
}
});
} }
@EventHandler @EventHandler

View File

@ -2,13 +2,18 @@ package com.hbm.tileentity.machine;
import java.util.List; import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockTallPlant.EnumTallFlower;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.lib.ModDamageSource; import com.hbm.lib.ModDamageSource;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.INBTPacketReceiver;
import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.TileEntityLoadedBase;
import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.fluid.IFluidStandardReceiver;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -80,7 +85,17 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN
List<EntityLivingBase> affected = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(cX - 1, cY - 0.25, cZ - 1, cX + 1, cY + 0.25, cZ + 1)); List<EntityLivingBase> affected = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(cX - 1, cY - 0.25, cZ - 1, cX + 1, cY + 0.25, cZ + 1));
for(EntityLivingBase e : affected) { for(EntityLivingBase e : affected) {
e.attackEntityFrom(ModDamageSource.turbofan, 100); if(e.isEntityAlive() && e.attackEntityFrom(ModDamageSource.turbofan, 100)) {
worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F);
int count = Math.min((int)Math.ceil(e.getMaxHealth() / 4), 250);
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "vanillaburst");
data.setInteger("count", count * 4);
data.setDouble("motion", 0.1D);
data.setString("mode", "blockdust");
data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block));
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY, e.posZ, 50));
}
} }
if(state == 0) { if(state == 0) {
@ -109,7 +124,11 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN
Block b = worldObj.getBlock(pos.blockX, pos.blockY, pos.blockZ); Block b = worldObj.getBlock(pos.blockX, pos.blockY, pos.blockZ);
if(b.getMaterial() == Material.wood || b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) { if(b.getMaterial() == Material.wood || b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) {
state = 1;
int meta = worldObj.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ);
if(!shouldIgnore(b, meta)) {
state = 1;
}
} }
} }
} }
@ -184,9 +203,23 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN
} }
} }
/** Anything additionally that the detector nor the blades should pick up on, like non-mature willows */
public static boolean shouldIgnore(Block b, int meta) {
if(b == ModBlocks.plant_tall) {
return meta == EnumTallFlower.CD2.ordinal() + 8 || meta == EnumTallFlower.CD3.ordinal() + 8;
}
return false;
}
protected void tryInteract(int x, int y, int z) { protected void tryInteract(int x, int y, int z) {
Block b = worldObj.getBlock(x, y, z); Block b = worldObj.getBlock(x, y, z);
int meta = worldObj.getBlockMetadata(x, y, z);
if(shouldIgnore(b, meta)) {
return;
}
if(b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) { if(b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) {
worldObj.func_147480_a(x, y, z, true); worldObj.func_147480_a(x, y, z, true);

View File

@ -161,7 +161,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
float freeChance = this.getFreeChance(); float freeChance = this.getFreeChance();
if(freeChance == 0 || freeChance < worldObj.rand.nextFloat()) if(freeChance == 0 || freeChance < worldObj.rand.nextFloat())
this.decrStackSize(0, 1); this.decrStackSize(0, result.itemAmount);
} }
private boolean canProcess() { private boolean canProcess() {
@ -179,6 +179,10 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
if(result == null) if(result == null)
return false; return false;
//Not enough of the input item?
if(slots[0].stackSize < result.itemAmount)
return false;
if(tank.getFill() < result.acidAmount) return false; if(tank.getFill() < result.acidAmount) return false;
ItemStack stack = result.output.copy(); ItemStack stack = result.output.copy();

View File

@ -8,14 +8,18 @@ import com.hbm.entity.projectile.EntitySawblade;
import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource; import com.hbm.lib.ModDamageSource;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.INBTPacketReceiver;
import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.tileentity.machine.TileEntityMachineAutocrafter.InventoryCraftingAuto; import com.hbm.tileentity.machine.TileEntityMachineAutocrafter.InventoryCraftingAuto;
import com.hbm.util.ItemStackUtil; import com.hbm.util.ItemStackUtil;
import api.hbm.tile.IHeatSource; import api.hbm.tile.IHeatSource;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
@ -87,10 +91,20 @@ public class TileEntitySawmill extends TileEntityMachineBase {
} }
AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(-1D, 0.375D, -1D, -0.875, 2.375D, 1D); AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(-1D, 0.375D, -1D, -0.875, 2.375D, 1D);
aabb = BlockDummyable.getAABBRotationOffset(aabb, xCoord, yCoord, zCoord, ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getRotation(ForgeDirection.UP)); aabb = BlockDummyable.getAABBRotationOffset(aabb, xCoord + 0.5, yCoord, zCoord + 0.5, ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getRotation(ForgeDirection.UP));
for(Object o : worldObj.getEntitiesWithinAABB(EntityLivingBase.class, aabb)) { for(Object o : worldObj.getEntitiesWithinAABB(EntityLivingBase.class, aabb)) {
EntityLivingBase living = (EntityLivingBase) o; EntityLivingBase e = (EntityLivingBase) o;
living.attackEntityFrom(ModDamageSource.turbofan, 100); if(e.isEntityAlive() && e.attackEntityFrom(ModDamageSource.turbofan, 100)) {
worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F);
int count = Math.min((int)Math.ceil(e.getMaxHealth() / 4), 250);
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "vanillaburst");
data.setInteger("count", count * 4);
data.setDouble("motion", 0.1D);
data.setString("mode", "blockdust");
data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block));
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY, e.posZ, 50));
}
} }
} else { } else {

View File

@ -125,7 +125,7 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase imple
this.tanks[2].setFill(tanks[2].getFill() - solutionRequired); this.tanks[2].setFill(tanks[2].getFill() - solutionRequired);
OilSpot.generateOilSpot(worldObj, xCoord, zCoord, destructionRange, 10); OilSpot.generateOilSpot(worldObj, xCoord, zCoord, destructionRange, 10, false);
} }
@Override @Override

View File

@ -0,0 +1,150 @@
package com.hbm.wiaj.cannery;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
import com.hbm.blocks.generic.BlockTallPlant.EnumTallFlower;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumPlantType;
import com.hbm.util.I18nUtil;
import com.hbm.wiaj.JarScene;
import com.hbm.wiaj.JarScript;
import com.hbm.wiaj.WorldInAJar;
import com.hbm.wiaj.actions.ActionCreateActor;
import com.hbm.wiaj.actions.ActionRemoveActor;
import com.hbm.wiaj.actions.ActionSetBlock;
import com.hbm.wiaj.actions.ActionSetZoom;
import com.hbm.wiaj.actions.ActionWait;
import com.hbm.wiaj.actors.ActorFancyPanel;
import com.hbm.wiaj.actors.ActorFancyPanel.Orientation;
import net.minecraft.client.Minecraft;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
public class CanneryWillow extends CanneryBase {
@Override
public ItemStack getIcon() {
return DictFrame.fromOne(ModItems.plant_item, EnumPlantType.MUSTARDWILLOW);
}
@Override
public String getName() {
return "cannery.willow";
}
@Override
public JarScript createScript() {
WorldInAJar world = new WorldInAJar(5, 5, 5);
JarScript script = new JarScript(world);
JarScene scene0 = new JarScene(script);
scene0.add(new ActionSetZoom(3, 0));
for(int x = world.sizeX - 1; x >= 0 ; x--) {
for(int z = 0; z < world.sizeZ; z++) {
scene0.add(new ActionSetBlock(x, 1, z, Blocks.grass));
scene0.add(new ActionSetBlock(x, 0, z, Blocks.dirt));
}
scene0.add(new ActionWait(2));
}
scene0.add(new ActionWait(8));
scene0.add(new ActionSetBlock(2, 2, 2, ModBlocks.plant_flower, EnumFlowerType.CD0.ordinal()));
scene0.add(new ActionWait(10));
scene0.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -15, new Object[][] {{I18nUtil.resolveKey("cannery.willow.0")}}, 150)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(80));
scene0.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -15, new Object[][] {{I18nUtil.resolveKey("cannery.willow.1")}}, 150)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(80));
scene0.add(new ActionRemoveActor(0));
scene0.add(new ActionWait(10));
scene0.add(new ActionSetBlock(2, 1, 1, Blocks.air));
scene0.add(new ActionWait(10));
scene0.add(new ActionSetBlock(2, 1, 1, Blocks.water));
scene0.add(new ActionWait(20));
scene0.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -15, new Object[][] {{I18nUtil.resolveKey("cannery.willow.2")}}, 150)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(80));
scene0.add(new ActionRemoveActor(0));
scene0.add(new ActionWait(20));
scene0.add(new ActionSetBlock(2, 2, 2, ModBlocks.plant_flower, EnumFlowerType.CD1.ordinal()));
scene0.add(new ActionWait(20));
scene0.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -15, new Object[][] {{I18nUtil.resolveKey("cannery.willow.3")}}, 150)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(80));
scene0.add(new ActionRemoveActor(0));
scene0.add(new ActionWait(20));
scene0.add(new ActionSetBlock(2, 2, 2, ModBlocks.plant_tall, EnumTallFlower.CD2.ordinal()));
scene0.add(new ActionSetBlock(2, 3, 2, ModBlocks.plant_tall, EnumTallFlower.CD2.ordinal() + 8));
scene0.add(new ActionWait(20));
scene0.add(new ActionSetBlock(2, 2, 2, ModBlocks.plant_tall, EnumTallFlower.CD3.ordinal()));
scene0.add(new ActionSetBlock(2, 3, 2, ModBlocks.plant_tall, EnumTallFlower.CD3.ordinal() + 8));
scene0.add(new ActionWait(20));
scene0.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -35, new Object[][] {{I18nUtil.resolveKey("cannery.willow.4")}}, 150)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(80));
scene0.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -35, new Object[][] {{I18nUtil.resolveKey("cannery.willow.5")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(100));
scene0.add(new ActionRemoveActor(0));
scene0.add(new ActionWait(20));
scene0.add(new ActionSetBlock(2, 1, 2, ModBlocks.dirt_oily));
scene0.add(new ActionWait(20));
scene0.add(new ActionSetBlock(2, 2, 2, ModBlocks.plant_tall, EnumTallFlower.CD4.ordinal()));
scene0.add(new ActionSetBlock(2, 3, 2, ModBlocks.plant_tall, EnumTallFlower.CD4.ordinal() + 8));
scene0.add(new ActionSetBlock(2, 1, 2, Blocks.dirt));
scene0.add(new ActionWait(20));
scene0.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -35, new Object[][] {{I18nUtil.resolveKey("cannery.willow.6")}}, 150)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(100));
scene0.add(new ActionRemoveActor(0));
JarScene scene1 = new JarScene(script);
scene1.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -35, new Object[][] {{I18nUtil.resolveKey("cannery.willow.7")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(100));
scene1.add(new ActionRemoveActor(0));
scene1.add(new ActionWait(20));
scene1.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 10, -25, new Object[][] {{"=", DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.CD0), "x1 + ", DictFrame.fromOne(ModItems.plant_item, EnumPlantType.MUSTARDWILLOW), "x3-6"}}, 0)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene1.add(new ActionSetBlock(2, 3, 2, Blocks.air));
scene1.add(new ActionSetBlock(2, 2, 2, ModBlocks.plant_flower, EnumFlowerType.CD0.ordinal()));
scene1.add(new ActionWait(60));
scene1.add(new ActionRemoveActor(0));
scene1.add(new ActionWait(20));
scene1.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -15, new Object[][] {{I18nUtil.resolveKey("cannery.willow.8")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(100));
scene1.add(new ActionCreateActor(0, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -15, new Object[][] {{I18nUtil.resolveKey("cannery.willow.9")}}, 150)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(100));
scene1.add(new ActionRemoveActor(0));
script.addScene(scene0).addScene(scene1);
return script;
}
}

View File

@ -3,7 +3,11 @@ package com.hbm.wiaj.cannery;
import java.util.HashMap; import java.util.HashMap;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumPlantType;
public class Jars { public class Jars {
@ -19,5 +23,8 @@ public class Jars {
canneries.put(new ComparableStack(ModBlocks.machine_silex), new CannerySILEX()); canneries.put(new ComparableStack(ModBlocks.machine_silex), new CannerySILEX());
canneries.put(new ComparableStack(ModBlocks.foundry_channel), new CanneryFoundryChannel()); canneries.put(new ComparableStack(ModBlocks.foundry_channel), new CanneryFoundryChannel());
canneries.put(new ComparableStack(ModBlocks.machine_crucible), new CanneryCrucible()); canneries.put(new ComparableStack(ModBlocks.machine_crucible), new CanneryCrucible());
canneries.put(new ComparableStack(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.MUSTARDWILLOW)), new CanneryWillow());
canneries.put(new ComparableStack(DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.CD0)), new CanneryWillow());
} }
} }

View File

@ -2,6 +2,9 @@ package com.hbm.world.feature;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockDeadPlant.EnumDeadPlantType; import com.hbm.blocks.generic.BlockDeadPlant.EnumDeadPlantType;
import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
import com.hbm.blocks.generic.BlockTallPlant;
import com.hbm.blocks.generic.BlockTallPlant.EnumTallFlower;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockBush; import net.minecraft.block.BlockBush;
@ -15,7 +18,7 @@ import net.minecraftforge.common.IPlantable;
public class OilSpot { public class OilSpot {
public static void generateOilSpot(World world, int x, int z, int width, int count) { public static void generateOilSpot(World world, int x, int z, int width, int count, boolean addWillows) {
for(int i = 0; i < count; i++) { for(int i = 0; i < count; i++) {
int rX = x + (int)(world.rand.nextGaussian() * width); int rX = x + (int)(world.rand.nextGaussian() * width);
@ -26,6 +29,11 @@ public class OilSpot {
Block below = world.getBlock(rX, y - 1, rZ); Block below = world.getBlock(rX, y - 1, rZ);
Block ground = world.getBlock(rX, y, rZ); Block ground = world.getBlock(rX, y, rZ);
int meta = world.getBlockMetadata(rX, y, rZ);
/* don't affect mustard willows */
if(ground == ModBlocks.plant_flower && (meta == EnumFlowerType.CD0.ordinal() || meta == EnumFlowerType.CD1.ordinal())) continue;
if(ground == ModBlocks.plant_tall && (meta == EnumTallFlower.CD2.ordinal() || meta == EnumTallFlower.CD3.ordinal() || meta == EnumTallFlower.CD4.ordinal())) continue;
if(below.isNormalCube() && ground != ModBlocks.plant_dead) { if(below.isNormalCube() && ground != ModBlocks.plant_dead) {
if(ground instanceof BlockTallGrass) { if(ground instanceof BlockTallGrass) {
@ -40,7 +48,7 @@ public class OilSpot {
} }
} else if(ground instanceof BlockFlower) { } else if(ground instanceof BlockFlower) {
world.setBlock(rX, y, rZ, ModBlocks.plant_dead, EnumDeadPlantType.FLOWER.ordinal(), 3); world.setBlock(rX, y, rZ, ModBlocks.plant_dead, EnumDeadPlantType.FLOWER.ordinal(), 3);
} else if(ground instanceof BlockDoublePlant) { } else if(ground instanceof BlockDoublePlant || ground instanceof BlockTallPlant) {
world.setBlock(rX, y, rZ, ModBlocks.plant_dead, EnumDeadPlantType.BIGFLOWER.ordinal(), 3); world.setBlock(rX, y, rZ, ModBlocks.plant_dead, EnumDeadPlantType.BIGFLOWER.ordinal(), 3);
} else if(ground instanceof BlockBush) { } else if(ground instanceof BlockBush) {
world.setBlock(rX, y, rZ, ModBlocks.plant_dead, EnumDeadPlantType.GENERIC.ordinal(), 3); world.setBlock(rX, y, rZ, ModBlocks.plant_dead, EnumDeadPlantType.GENERIC.ordinal(), 3);
@ -51,6 +59,13 @@ public class OilSpot {
if(ground == Blocks.grass || ground == Blocks.dirt) { if(ground == Blocks.grass || ground == Blocks.dirt) {
world.setBlock(rX, y, rZ, world.rand.nextInt(10) == 0 ? ModBlocks.dirt_oily : ModBlocks.dirt_dead); world.setBlock(rX, y, rZ, world.rand.nextInt(10) == 0 ? ModBlocks.dirt_oily : ModBlocks.dirt_dead);
if(addWillows && world.rand.nextInt(50) == 0) {
if(ModBlocks.plant_flower.canPlaceBlockAt(world, rX, y + 1, rZ)) {
world.setBlock(rX, y + 1, rZ, ModBlocks.plant_flower, EnumFlowerType.CD0.ordinal(), 3);
}
}
break; break;
} else if(ground == Blocks.sand || ground == ModBlocks.ore_oil_sand) { } else if(ground == Blocks.sand || ground == ModBlocks.ore_oil_sand) {

View File

@ -412,6 +412,7 @@ container.watzPowerplant=Watzkraftwerk
container.zirnox=ZIRNOX Atomreaktor container.zirnox=ZIRNOX Atomreaktor
crucible.aa=Herstellung - Fortgeschrittene Legierung crucible.aa=Herstellung - Fortgeschrittene Legierung
crucible.cdalloy=Herstellung Cadmiumstahl
crucible.ferro=Herstellung - Ferrouran crucible.ferro=Herstellung - Ferrouran
crucible.hematite=Herstellung - Eisen aus Hämatit crucible.hematite=Herstellung - Eisen aus Hämatit
crucible.hss=Herstellung - Schnellarbeitsstahl crucible.hss=Herstellung - Schnellarbeitsstahl
@ -701,6 +702,7 @@ hbmmat.bismuth=Bismut
hbmmat.borax=Borax hbmmat.borax=Borax
hbmmat.boron=Bor hbmmat.boron=Bor
hbmmat.carbon=Kohlenstoff hbmmat.carbon=Kohlenstoff
hbmmat.cdalloy=Cadmiumstahl
hbmmat.cinnabar=Zinnober hbmmat.cinnabar=Zinnober
hbmmat.cmbsteel=Combinestahl hbmmat.cmbsteel=Combinestahl
hbmmat.coal=Kohle hbmmat.coal=Kohle
@ -1976,7 +1978,9 @@ item.ingot_beryllium.name=Berylliumbarren
item.ingot_bismuth.name=Bismutbarren item.ingot_bismuth.name=Bismutbarren
item.ingot_boron.name=Borbarren item.ingot_boron.name=Borbarren
item.ingot_c4.name=C4-Tafel item.ingot_c4.name=C4-Tafel
item.ingot_cadmium.name=Cadmiumbarren
item.ingot_calcium.name=Kalziumbarren item.ingot_calcium.name=Kalziumbarren
item.ingot_cdalloy.name=Cadmiumstahlbarren
item.ingot_chainsteel.name=Schwerer Kettenstahl item.ingot_chainsteel.name=Schwerer Kettenstahl
item.ingot_co60.name=Kobalt-60-Barren item.ingot_co60.name=Kobalt-60-Barren
item.ingot_cobalt.name=Kobaltbarren item.ingot_cobalt.name=Kobaltbarren
@ -2549,6 +2553,7 @@ item.piston_set_dura.name=Ottomotorenkolben (Schnellarbeitsstahl)
item.piston_set_starmetal.name=Ottomotorenkolben (Sternmetall) item.piston_set_starmetal.name=Ottomotorenkolben (Sternmetall)
item.piston_set_steel.name=Ottomotorenkolben (Stahl) item.piston_set_steel.name=Ottomotorenkolben (Stahl)
item.plan_c.name=Plan C item.plan_c.name=Plan C
item.plant_item.mustardwillow.name=Senf-Weidenblatt
item.plant_item.rope.name=Seil item.plant_item.rope.name=Seil
item.plant_item.tobacco.name=Tabak item.plant_item.tobacco.name=Tabak
item.plate_advanced_alloy.name=Fortgeschrittene Legierungsplatte item.plate_advanced_alloy.name=Fortgeschrittene Legierungsplatte
@ -2595,6 +2600,7 @@ item.powder_borax.name=Borax
item.powder_boron.name=Borstaub item.powder_boron.name=Borstaub
item.powder_boron_tiny.name=Kleiner Haufen Borstaub item.powder_boron_tiny.name=Kleiner Haufen Borstaub
item.powder_bromine.name=Bromstaub item.powder_bromine.name=Bromstaub
item.powder_cadmium.name=Cadmiumstaub
item.powder_caesium.name=Caesiumstaub item.powder_caesium.name=Caesiumstaub
item.powder_calcium.name=Kalziumstaub item.powder_calcium.name=Kalziumstaub
item.powder_cerium.name=Cerstaub item.powder_cerium.name=Cerstaub
@ -2621,6 +2627,7 @@ item.powder_dineutronium.name=Dineutroniumstaub
item.powder_dura_steel.name=Schnellarbeitsstahlstaub item.powder_dura_steel.name=Schnellarbeitsstahlstaub
item.powder_emerald.name=Smaragdstaub item.powder_emerald.name=Smaragdstaub
item.powder_euphemium.name=Euphemiumstaub item.powder_euphemium.name=Euphemiumstaub
item.powder_fertilizer.name=Industriedünger
item.powder_fire.name=Roter Phosphor item.powder_fire.name=Roter Phosphor
item.powder_flux.name=Flussmittel item.powder_flux.name=Flussmittel
item.powder_gold.name=Goldstaub item.powder_gold.name=Goldstaub
@ -3768,7 +3775,7 @@ tile.heater_firebox.desc=Erzeugt Wärme aus Festbrennstoff.
tile.heater_heatex.name=Wärmetauschender Heizer tile.heater_heatex.name=Wärmetauschender Heizer
tile.heater_heatex.desc=Erzeugt Wärme aus heißen Flüssigkeiten. tile.heater_heatex.desc=Erzeugt Wärme aus heißen Flüssigkeiten.
tile.heater_oilburner.name=Brenner tile.heater_oilburner.name=Brenner
tile.heater_oilburner.desc=Erzäuft Wärme aus fluiden Brennstoffen. tile.heater_oilburner.desc=Erzäuft Wärme aus fluiden Brennstoffen.$Kann mit einem Schraubenzeiher konfiguriert werden.
tile.heater_oven.name=Heizofen tile.heater_oven.name=Heizofen
tile.heater_oven.desc=Erzeugt Wärme aus Festbrennstoff.$Nimmt von unten Wärme mit 50%% Effizienz auf. tile.heater_oven.desc=Erzeugt Wärme aus Festbrennstoff.$Nimmt von unten Wärme mit 50%% Effizienz auf.
tile.hev_battery.name=Anzugs-Batterie tile.hev_battery.name=Anzugs-Batterie
@ -3889,6 +3896,7 @@ tile.machine_rtg_red.name=Fulminationsgenerator
tile.machine_rtg_yellow.name=Australium Supergenerator tile.machine_rtg_yellow.name=Australium Supergenerator
tile.machine_satlinker.name=Satelliten-ID-Manager tile.machine_satlinker.name=Satelliten-ID-Manager
tile.machine_sawmill.name=Stirling-Sägemühle tile.machine_sawmill.name=Stirling-Sägemühle
tile.machine_sawmill.desc=Benötigt externe Hitzequelle.$Wärmestransferrate: T*0.1 TU/t$Minimalaufnahme: 100 TU/t, Maximalaufnahme: 300 TU/t
tile.machine_schrabidium_battery.name=Schrabidium-Energiespeicherblock tile.machine_schrabidium_battery.name=Schrabidium-Energiespeicherblock
tile.machine_schrabidium_transmutator.name=Schrabidium-Transmutationsgerät tile.machine_schrabidium_transmutator.name=Schrabidium-Transmutationsgerät
tile.machine_selenium.name=Hochleistungs-Sternmotor tile.machine_selenium.name=Hochleistungs-Sternmotor
@ -4035,11 +4043,17 @@ tile.pink_planks.name=Pinke Holzbretter
tile.pink_slab.name=Pinke Holzstufe tile.pink_slab.name=Pinke Holzstufe
tile.pink_stairs.name=Pinke Holztreppen tile.pink_stairs.name=Pinke Holztreppen
tile.plant_dead.name=Tote Pflanze tile.plant_dead.name=Tote Pflanze
tile.plant_flower.cd0.name=Senf-Weide
tile.plant_flower.cd1.name=Senf-Weide
tile.plant_flower.foxglove.name=Roter Fingerhut tile.plant_flower.foxglove.name=Roter Fingerhut
tile.plant_flower.nightshade.name=Schwarze Tollkirsche tile.plant_flower.nightshade.name=Schwarze Tollkirsche
tile.plant_flower.tobacco.name=Tabakpflanze tile.plant_flower.tobacco.name=Tabakpflanze
tile.plant_flower.weed.name=Hanf tile.plant_flower.weed.name=Hanf
tile.plant_reeds.name=Schilf tile.plant_reeds.name=Schilf
tile.plant_tall.cd2.name=Senf-Weide
tile.plant_tall.cd3.name=Senf-Weide
tile.plant_tall.cd4.name=Senf-Weide (Reif)
tile.plant_tall.weed.name=Hanf
tile.plasma.name=Plasma tile.plasma.name=Plasma
tile.plasma_heater.name=Plasmaerhitzer tile.plasma_heater.name=Plasmaerhitzer
tile.pole_satellite_receiver.name=Satellitenschüssel tile.pole_satellite_receiver.name=Satellitenschüssel

View File

@ -442,6 +442,18 @@ cannery.stirling.1=It needs to be placed on top of a heat-producing machine, suc
cannery.stirling.2=The amount of heat it can utilize however is limited, overspinning can lead to catastrophic malfunction. cannery.stirling.2=The amount of heat it can utilize however is limited, overspinning can lead to catastrophic malfunction.
cannery.stirling.3=The upgraded version can take significantly more heat without breaking. cannery.stirling.3=The upgraded version can take significantly more heat without breaking.
cannery.willow=Mustard Willow
cannery.willow.0=The mustard willow is a plant that allows cadmium metal to be harvested.
cannery.willow.1=Willows can be placed on dirt, grass or even dead/oily dirt, but they require water to grow.
cannery.willow.2=Willows can be fertilized with bone meal or industrial fertilizer. They do not need light to grow.
cannery.willow.3=After the second stage of growth, they will need an extra block of space above them to grow further.
cannery.willow.4=After the fourth stage of growth, they require dead or oily dirt below them.
cannery.willow.5=This can be done either by manually planting willows on dead/oily dirt, or by having a hydraulic fracking tower nearby which continuously contaminates the ground.
cannery.willow.6=After reaching the final stage, the willow will remove contamination from the ground, reverting the dead/oily dirt back into regular dirt.
cannery.willow.7=Now the willow's leaves can be harvested. Breaking the top block will drop a small willow plant, 3-6 leaves and keep the bottom part of the plant intact.
cannery.willow.8=Soon the plant will start growing again, yielding more leaves if the dirt is replaced with oily dirt. The leaves can be processed into cadmium powder using an ore acidizer.
cannery.willow.9=Harvesting willow leaves can be automated using the automatic buzzsaw, it will only break plants that are ready for harvest.
chem.ARSENIC=Arsenic Extraction chem.ARSENIC=Arsenic Extraction
chem.ASPHALT=Asphalt Production chem.ASPHALT=Asphalt Production
chem.BAKELITE=Bakelite Production chem.BAKELITE=Bakelite Production
@ -693,6 +705,7 @@ container.watzPowerplant=Watz Power Plant
container.zirnox=ZIRNOX Nuclear Reactor container.zirnox=ZIRNOX Nuclear Reactor
crucible.aa=Advanced Alloy Production crucible.aa=Advanced Alloy Production
crucible.cdalloy=Cadmium Steel Production
crucible.ferro=Ferrouranium Production crucible.ferro=Ferrouranium Production
crucible.hematite=Iron Production from Hematite crucible.hematite=Iron Production from Hematite
crucible.hss=High-Speed Steel Production crucible.hss=High-Speed Steel Production
@ -1266,6 +1279,7 @@ hbmmat.bismuth=Bismuth
hbmmat.borax=Borax hbmmat.borax=Borax
hbmmat.boron=Boron hbmmat.boron=Boron
hbmmat.carbon=Carbon hbmmat.carbon=Carbon
hbmmat.cdalloy=Cadmium Steel
hbmmat.cinnabar=Cinnabar hbmmat.cinnabar=Cinnabar
hbmmat.cmbsteel=Combine Steel hbmmat.cmbsteel=Combine Steel
hbmmat.coal=Coal hbmmat.coal=Coal
@ -2608,7 +2622,9 @@ item.ingot_beryllium.name=Beryllium Ingot
item.ingot_bismuth.name=Bismuth Ingot item.ingot_bismuth.name=Bismuth Ingot
item.ingot_boron.name=Boron Ingot item.ingot_boron.name=Boron Ingot
item.ingot_c4.name=Bar of Composition C-4 item.ingot_c4.name=Bar of Composition C-4
item.ingot_cadmium.name=Cadmium Ingot
item.ingot_calcium.name=Calcium Ingot item.ingot_calcium.name=Calcium Ingot
item.ingot_cdalloy.name=Cadmium Steel Ingot
item.ingot_chainsteel.name=Heavy Chainsteel item.ingot_chainsteel.name=Heavy Chainsteel
item.ingot_co60.name=Cobalt-60 Ingot item.ingot_co60.name=Cobalt-60 Ingot
item.ingot_cobalt.name=Cobalt Ingot item.ingot_cobalt.name=Cobalt Ingot
@ -3249,6 +3265,7 @@ item.piston_set_starmetal.name=Starmetal Piston Set
item.piston_set_steel.name=Steel Piston Set item.piston_set_steel.name=Steel Piston Set
item.plan_c.name=Plan C item.plan_c.name=Plan C
item.plan_c.desc=Deadly item.plan_c.desc=Deadly
item.plant_item.mustardwillow.name=Mustard Willow Leaf
item.plant_item.rope.name=Rope item.plant_item.rope.name=Rope
item.plant_item.tobacco.name=Tobacco item.plant_item.tobacco.name=Tobacco
item.plate_advanced_alloy.name=Advanced Alloy Plate item.plate_advanced_alloy.name=Advanced Alloy Plate
@ -3305,6 +3322,7 @@ item.powder_borax.name=Borax
item.powder_boron.name=Boron Powder item.powder_boron.name=Boron Powder
item.powder_boron_tiny.name=Tiny Pile of Boron Powder item.powder_boron_tiny.name=Tiny Pile of Boron Powder
item.powder_bromine.name=Bromine Powder item.powder_bromine.name=Bromine Powder
item.powder_cadmium.name=Cadmium Powder
item.powder_caesium.name=Caesium Powder item.powder_caesium.name=Caesium Powder
item.powder_calcium.name=Calcium Powder item.powder_calcium.name=Calcium Powder
item.powder_cerium.name=Cerium Powder item.powder_cerium.name=Cerium Powder
@ -3332,6 +3350,7 @@ item.powder_dura_steel.name=High-Speed Steel Powder
item.powder_emerald.name=Emerald Powder item.powder_emerald.name=Emerald Powder
item.powder_euphemium.name=Euphemium Powder item.powder_euphemium.name=Euphemium Powder
item.powder_euphemium.desc=Pulverized pink.$Tastes like strawberries. item.powder_euphemium.desc=Pulverized pink.$Tastes like strawberries.
item.powder_fertilizer.name=Industrial Fertilizer
item.powder_fire.name=Red Phosphorus item.powder_fire.name=Red Phosphorus
item.powder_fire.desc=Used in multi purpose bombs:$Incendiary bombs are fun! item.powder_fire.desc=Used in multi purpose bombs:$Incendiary bombs are fun!
item.powder_flux.name=Flux item.powder_flux.name=Flux
@ -4568,7 +4587,7 @@ tile.heater_firebox.desc=Burns solid fuel to produce heat.
tile.heater_heatex.name=Heat Exchanging Heater tile.heater_heatex.name=Heat Exchanging Heater
tile.heater_heatex.desc=Produces heat from hot fluids. tile.heater_heatex.desc=Produces heat from hot fluids.
tile.heater_oilburner.name=Fluid Burner tile.heater_oilburner.name=Fluid Burner
tile.heater_oilburner.desc=Burns fluids to produce heat. tile.heater_oilburner.desc=Burns fluids to produce heat.$Can be configured with a screwdriver.
tile.heater_oven.name=Heating Oven tile.heater_oven.name=Heating Oven
tile.heater_oven.desc=Burns solid fuel to produce heat.$Accepts heat from the bottom with 50%% efficiency. tile.heater_oven.desc=Burns solid fuel to produce heat.$Accepts heat from the bottom with 50%% efficiency.
tile.hev_battery.name=Suit Battery tile.hev_battery.name=Suit Battery
@ -4691,6 +4710,7 @@ tile.machine_rtg_red.name=Fulmination Generator
tile.machine_rtg_yellow.name=Australium Superfuel Reactor tile.machine_rtg_yellow.name=Australium Superfuel Reactor
tile.machine_satlinker.name=Satellite ID Manager tile.machine_satlinker.name=Satellite ID Manager
tile.machine_sawmill.name=Stirling Sawmill tile.machine_sawmill.name=Stirling Sawmill
tile.machine_sawmill.desc=Requires external heat source.$Heat transfer rate: T*0.1 TU/t$Min intake: 100 TU/t, Max intake: 300 TU/t
tile.machine_schrabidium_battery.name=Schrabidium Energy Storage Block tile.machine_schrabidium_battery.name=Schrabidium Energy Storage Block
tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device
tile.machine_selenium.name=Radial Performance Engine tile.machine_selenium.name=Radial Performance Engine
@ -4838,11 +4858,17 @@ tile.pink_planks.name=Pink Wood Planks
tile.pink_slab.name=Pink Wood Slab tile.pink_slab.name=Pink Wood Slab
tile.pink_stairs.name=Pink Wood Stairs tile.pink_stairs.name=Pink Wood Stairs
tile.plant_dead.name=Dead Plant tile.plant_dead.name=Dead Plant
tile.plant_flower.cd0.name=Mustard Willow
tile.plant_flower.cd1.name=Mustard Willow
tile.plant_flower.foxglove.name=Foxglove tile.plant_flower.foxglove.name=Foxglove
tile.plant_flower.nightshade.name=Deadly Nightshade tile.plant_flower.nightshade.name=Deadly Nightshade
tile.plant_flower.tobacco.name=Tobacco Plant tile.plant_flower.tobacco.name=Tobacco Plant
tile.plant_flower.weed.name=Hemp tile.plant_flower.weed.name=Hemp
tile.plant_reeds.name=Reeds tile.plant_reeds.name=Reeds
tile.plant_tall.cd2.name=Mustard Willow
tile.plant_tall.cd3.name=Mustard Willow
tile.plant_tall.cd4.name=Mustard Willow (Mature)
tile.plant_tall.weed.name=Hemp
tile.plasma.name=Plasma tile.plasma.name=Plasma
tile.plasma_heater.name=Plasma Heater tile.plasma_heater.name=Plasma Heater
tile.pole_satellite_receiver.name=Satellite Dish tile.pole_satellite_receiver.name=Satellite Dish

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B