This commit is contained in:
Modmuss50 2015-04-13 20:00:29 +01:00
commit d45bd4e85c
10 changed files with 373 additions and 5 deletions

View file

@ -26,6 +26,11 @@ public class ConfigTechReborn {
//Power //Power
public static int ThermalGenertaorOutput; public static int ThermalGenertaorOutput;
public static int AdvancedDrillCharge;
public static int LapotronPackCharge;
public static int LithiumBatpackCharge;
public static int OmniToolCharge;
public static int RockCutterCharge;
//Crafting //Crafting
public static boolean ExpensiveMacerator; public static boolean ExpensiveMacerator;
@ -128,6 +133,26 @@ public class ConfigTechReborn {
"Thermal Generator Power", 30, "Thermal Generator Power", 30,
"The amount of power that the thermal generator makes for 1mb of lava") "The amount of power that the thermal generator makes for 1mb of lava")
.getInt(); .getInt();
AdvancedDrillCharge = config.get(CATEGORY_POWER,
"Advanced drill max charge", 60000,
"The amount of power that the anvanced drill can hold")
.getInt();
LapotronPackCharge = config.get(CATEGORY_POWER,
"Lapotron Pack max charge", 100000000,
"The amount of power that the Lapotron Pack can hold")
.getInt();
LithiumBatpackCharge = config.get(CATEGORY_POWER,
"Lithium Batpack max charge", 4000000,
"The amount of power that the Lithium Batpack can hold")
.getInt();
OmniToolCharge = config.get(CATEGORY_POWER,
"OmniTool max charge", 20000,
"The amount of power that the OmniTool can hold")
.getInt();
RockCutterCharge = config.get(CATEGORY_POWER,
"RockCutter max charge", 10000,
"The amount of power that the RockCutter can hold")
.getInt();
//Crafting //Crafting

View file

@ -11,8 +11,10 @@ import techreborn.items.ItemDusts;
import techreborn.items.ItemGems; import techreborn.items.ItemGems;
import techreborn.items.ItemIngots; import techreborn.items.ItemIngots;
import techreborn.items.ItemParts; import techreborn.items.ItemParts;
import techreborn.items.tools.ItemAdvancedDrill;
import techreborn.items.tools.ItemLapotronPack; import techreborn.items.tools.ItemLapotronPack;
import techreborn.items.tools.ItemLithiumBatpack; import techreborn.items.tools.ItemLithiumBatpack;
import techreborn.items.tools.ItemOmniTool;
import techreborn.items.tools.ItemRockCutter; import techreborn.items.tools.ItemRockCutter;
import techreborn.util.LogHelper; import techreborn.util.LogHelper;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
@ -26,6 +28,8 @@ public class ModItems {
public static Item rockCutter; public static Item rockCutter;
public static Item lithiumBatpack; public static Item lithiumBatpack;
public static Item lapotronpack; public static Item lapotronpack;
public static Item omniTool;
public static Item advancedDrill;
public static void init() public static void init()
{ {
@ -43,6 +47,10 @@ public class ModItems {
GameRegistry.registerItem(lithiumBatpack, "lithiumBatpack"); GameRegistry.registerItem(lithiumBatpack, "lithiumBatpack");
lapotronpack = new ItemLapotronPack(ArmorMaterial.DIAMOND, 7, 1); lapotronpack = new ItemLapotronPack(ArmorMaterial.DIAMOND, 7, 1);
GameRegistry.registerItem(lapotronpack, "lapotronPack"); GameRegistry.registerItem(lapotronpack, "lapotronPack");
omniTool = new ItemOmniTool(ToolMaterial.EMERALD);
GameRegistry.registerItem(omniTool, "omniTool");
advancedDrill = new ItemAdvancedDrill();
GameRegistry.registerItem(advancedDrill, "advancedDrill");
LogHelper.info("TechReborns Items Loaded"); LogHelper.info("TechReborns Items Loaded");

View file

@ -218,7 +218,7 @@ public class ModRecipes {
CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.ingots,9,14), "blockPlatinum"); CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.ingots,9,14), "blockPlatinum");
CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.ingots,9,15), "blockNickel"); CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.ingots,9,15), "blockNickel");
CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.ingots,9,16), "blockInvar"); CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.ingots,9,16), "blockInvar");
CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.rockCutter), Items.apple); CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.rockCutter,1,27), Items.apple);
LogHelper.info("Shapless Recipes Added"); LogHelper.info("Shapless Recipes Added");

View file

@ -0,0 +1,141 @@
package techreborn.items.tools;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
import java.util.List;
import mcp.mobius.waila.api.impl.ConfigHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.event.ForgeEventFactory;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.util.TorchHelper;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemAdvancedDrill extends ItemPickaxe implements IElectricItem{
public static final int maxCharge = ConfigTechReborn.AdvancedDrillCharge;
public int cost = 250;;
public int tier = 2;
public double transferLimit = 100;
public ItemAdvancedDrill()
{
super(ToolMaterial.EMERALD);
efficiencyOnProperMaterial = 20F;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(240);
setUnlocalizedName("techreborn.advancedDrill");
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister iconRegister)
{
this.itemIcon = iconRegister.registerIcon("techreborn:" + "advancedDrill");
}
@SuppressWarnings({"rawtypes", "unchecked"})
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
if (getChargedItem(itemStack) == this)
{
ItemStack charged = new ItemStack(this, 1);
ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false);
itemList.add(charged);
}
if (getEmptyItem(itemStack) == this)
{
itemList.add(new ItemStack(this, 1, getMaxDamage()));
}
}
@Override
public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving)
{
ElectricItem.manager.use(stack, cost, entityLiving);
return true;
}
@Override
public boolean canHarvestBlock(Block block, ItemStack stack) {
return Items.diamond_pickaxe.canHarvestBlock(block, stack) || Items.diamond_shovel.canHarvestBlock(block, stack);
}
@Override
public float getDigSpeed(ItemStack stack, Block block, int meta) {
if (!ElectricItem.manager.canUse(stack, cost))
{
return 4.0F;
}
if (Items.wooden_pickaxe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_shovel.getDigSpeed(stack, block, meta) > 1.0F)
{
return efficiencyOnProperMaterial;
} else {
return super.getDigSpeed(stack, block, meta);
}
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1)
{
return true;
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float xOffset, float yOffset, float zOffset)
{
return TorchHelper.placeTorch(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset);
}
@Override
public boolean isRepairable() {
return false;
}
@Override
public boolean canProvideEnergy(ItemStack itemStack) {
return false;
}
@Override
public double getMaxCharge(ItemStack itemStack) {
return maxCharge;
}
@Override
public int getTier(ItemStack itemStack) {
return tier;
}
@Override
public double getTransferLimit(ItemStack itemStack) {
return transferLimit;
}
@Override
public Item getChargedItem(ItemStack itemStack) {
return this;
}
@Override
public Item getEmptyItem(ItemStack itemStack) {
return this;
}
}

View file

@ -7,6 +7,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ic2.api.item.ElectricItem; import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem; import ic2.api.item.IElectricItem;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
@ -16,7 +17,7 @@ import net.minecraft.item.ItemStack;
public class ItemLapotronPack extends ItemArmor implements IElectricItem{ public class ItemLapotronPack extends ItemArmor implements IElectricItem{
public int maxCharge = 100000000; public static final int maxCharge = ConfigTechReborn.LapotronPackCharge;
public int tier = 3; public int tier = 3;
public double transferLimit = 100000; public double transferLimit = 100000;

View file

@ -11,14 +11,15 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class ItemLithiumBatpack extends ItemArmor implements IElectricItem{ public class ItemLithiumBatpack extends ItemArmor implements IElectricItem{
public int maxCharge = 40000000; public static final int maxCharge = ConfigTechReborn.LithiumBatpackCharge;
public int tier = 3; public int tier = 3;
public double transferLimit = 100000; public double transferLimit = 10000;
public ItemLithiumBatpack(ArmorMaterial armorMaterial, int par3, int par4) public ItemLithiumBatpack(ArmorMaterial armorMaterial, int par3, int par4)
{ {

View file

@ -0,0 +1,153 @@
package techreborn.items.tools;
import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.util.TorchHelper;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
import net.minecraftforge.event.ForgeEventFactory;
public class ItemOmniTool extends ItemPickaxe implements IElectricItem{
public static final int maxCharge = ConfigTechReborn.OmniToolCharge;
public int cost = 100;
public int hitCost = 125;
public ItemOmniTool(ToolMaterial toolMaterial)
{
super(toolMaterial);
efficiencyOnProperMaterial = 13F;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(200);
setUnlocalizedName("techreborn.omniTool");
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister iconRegister)
{
this.itemIcon = iconRegister.registerIcon("techreborn:" + "omnitool");
}
@SuppressWarnings({"rawtypes", "unchecked"})
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
if (getChargedItem(itemStack) == this)
{
ItemStack charged = new ItemStack(this, 1);
ElectricItem.manager.charge(charged, 2147483647, 2147483647, true,false);
itemList.add(charged);
}
if (getEmptyItem(itemStack) == this)
{
itemList.add(new ItemStack(this, 1, getMaxDamage()));
}
}
@Override
public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving)
{
ElectricItem.manager.use(stack, cost, entityLiving);
return true;
}
@Override
public boolean canHarvestBlock(Block block, ItemStack stack)
{
return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack) || Items.diamond_pickaxe.canHarvestBlock(block, stack) || Items.diamond_shovel.canHarvestBlock(block, stack) || Items.shears.canHarvestBlock(block, stack);
}
@Override
public float getDigSpeed(ItemStack stack, Block block, int meta)
{
if (!ElectricItem.manager.canUse(stack, cost))
{
return 5.0F;
}
if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_pickaxe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_shovel.getDigSpeed(stack, block, meta) > 1.0F || Items.shears.getDigSpeed(stack, block, meta) > 1.0F)
{
return efficiencyOnProperMaterial;
} else {
return super.getDigSpeed(stack, block, meta);
}
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker)
{
if (ElectricItem.manager.use(itemstack, hitCost, attacker))
{
entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 8F);
}
return false;
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float xOffset, float yOffset, float zOffset)
{
return TorchHelper.placeTorch(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset);
}
@Override
public boolean isRepairable()
{
return false;
}
@Override
public Item getChargedItem(ItemStack itemStack)
{
return this;
}
@Override
public Item getEmptyItem(ItemStack itemStack)
{
return this;
}
@Override
public boolean canProvideEnergy(ItemStack itemStack)
{
return false;
}
@Override
public double getMaxCharge(ItemStack itemStack)
{
return maxCharge;
}
@Override
public int getTier(ItemStack itemStack)
{
return 2;
}
@Override
public double getTransferLimit(ItemStack itemStack)
{
return 200;
}
}

View file

@ -15,12 +15,13 @@ import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class ItemRockCutter extends ItemPickaxe implements IElectricItem{ public class ItemRockCutter extends ItemPickaxe implements IElectricItem{
public int maxCharge = 10000; public static final int maxCharge = ConfigTechReborn.RockCutterCharge;
public int cost = 500; public int cost = 500;
public int tier = 2; public int tier = 2;

View file

@ -0,0 +1,36 @@
package techreborn.util;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.event.ForgeEventFactory;
public class TorchHelper {
public static boolean placeTorch(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float xOffset, float yOffset, float zOffset)
{
for (int i = 0; i < player.inventory.mainInventory.length; i++)
{
ItemStack torchStack = player.inventory.mainInventory[i];
if (torchStack == null || !torchStack.getUnlocalizedName().toLowerCase().contains("torch")) continue;
Item item = torchStack.getItem();
if (!(item instanceof ItemBlock)) continue;
int oldMeta = torchStack.getItemDamage();
int oldSize = torchStack.stackSize;
boolean result = torchStack.tryPlaceItemIntoWorld(player, world, x, y, z, side, xOffset, yOffset, zOffset);
if (player.capabilities.isCreativeMode)
{
torchStack.setItemDamage(oldMeta);
torchStack.stackSize = oldSize;
} else if (torchStack.stackSize <= 0)
{
ForgeEventFactory.onPlayerDestroyItem(player, torchStack);
player.inventory.mainInventory[i] = null;
}
if (result) return true;
}
return false;
}
}

View file

@ -150,6 +150,8 @@ item.techreborn.part.BrassMachineHull.name=Brass Machine Hull
item.techreborn.rockcutter.name=Rockcutter item.techreborn.rockcutter.name=Rockcutter
item.techreborn.lithiumbatpack.name=lithium Batpack item.techreborn.lithiumbatpack.name=lithium Batpack
item.techreborn.lapotronpack.name=Lapotron Pack item.techreborn.lapotronpack.name=Lapotron Pack
item.techreborn.omniTool.name=Omni tool
item.techreborn.advancedDrill.name=Advanced Drill