From 38af4881b43696233e1ad770dbddb7b7af9c4918 Mon Sep 17 00:00:00 2001 From: TheDoctorSoda Date: Sun, 6 Mar 2016 23:01:02 -0800 Subject: [PATCH] Started nanosaber, needs work but wanted to get the item in. --- src/main/java/techreborn/init/ModItems.java | 10 +- src/main/java/techreborn/init/ModRecipes.java | 2 +- .../java/techreborn/init/RecipeCompact.java | 2 +- .../techreborn/items/tools/ItemNanosaber.java | 131 ++++++++++++++++++ .../items/misc/UpgradeBackingTemplate.png | Bin 0 -> 433 bytes .../textures/items/misc/upgradeOverclock.png | Bin 0 -> 570 bytes 6 files changed, 140 insertions(+), 5 deletions(-) create mode 100644 src/main/java/techreborn/items/tools/ItemNanosaber.java create mode 100644 src/main/resources/assets/techreborn/textures/items/misc/UpgradeBackingTemplate.png create mode 100644 src/main/resources/assets/techreborn/textures/items/misc/upgradeOverclock.png diff --git a/src/main/java/techreborn/init/ModItems.java b/src/main/java/techreborn/init/ModItems.java index 0678023a4..47e9e411b 100644 --- a/src/main/java/techreborn/init/ModItems.java +++ b/src/main/java/techreborn/init/ModItems.java @@ -83,9 +83,10 @@ public class ModItems { public static Item ironJackhammer; public static Item steelJackhammer; public static Item diamondJackhammer; + public static Item nanosaber; public static Item hammer; public static Item wrench; - public static Item lapatronCrystal; + public static Item lapotronCrystal; public static Item energyCrystal; public static Item scrapBox; @@ -134,8 +135,8 @@ public class ModItems { GameRegistry.registerItem(omniTool, "omniTool"); energyCrystal = PoweredItem.createItem(ItemEnergyCrystal.class); GameRegistry.registerItem(energyCrystal, "energycrystal"); - lapatronCrystal = PoweredItem.createItem(ItemLapotronCrystal.class); - GameRegistry.registerItem(lapatronCrystal, "lapatroncrystal"); + lapotronCrystal = PoweredItem.createItem(ItemLapotronCrystal.class); + GameRegistry.registerItem(lapotronCrystal, "lapotroncrystal"); manual = new ItemTechManual(); @@ -173,6 +174,9 @@ public class ModItems { wrench = new ItemWrench(); GameRegistry.registerItem(wrench, "wrench"); + + nanosaber = new ItemNanosaber(); + GameRegistry.registerItem(nanosaber, "nanosaber"); scrapBox = new ItemScrapBox(); GameRegistry.registerItem(scrapBox, "scrapbox"); diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index f7a00118e..7b366f6ba 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -361,7 +361,7 @@ public class ModRecipes { 'R', Items.redstone, 'D', Items.diamond); - CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.lapatronCrystal), + CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.lapotronCrystal), "LCL", "LEL", "LCL", 'L', "dyeBlue", 'E', new ItemStack(ModItems.energyCrystal), diff --git a/src/main/java/techreborn/init/RecipeCompact.java b/src/main/java/techreborn/init/RecipeCompact.java index 412f90df0..b26b7d5cb 100644 --- a/src/main/java/techreborn/init/RecipeCompact.java +++ b/src/main/java/techreborn/init/RecipeCompact.java @@ -62,7 +62,7 @@ public class RecipeCompact implements IRecipeCompact { recipes.put("hvTransformer", ItemParts.getPartByName("hvTransformer")); recipes.put("windMill", new ItemStack(ModBlocks.windMill)); recipes.put("energyCrystal", new ItemStack(ModItems.energyCrystal)); - recipes.put("lapotronCrystal", new ItemStack(ModItems.lapatronCrystal)); + recipes.put("lapotronCrystal", new ItemStack(ModItems.lapotronCrystal)); inited = false; } diff --git a/src/main/java/techreborn/items/tools/ItemNanosaber.java b/src/main/java/techreborn/items/tools/ItemNanosaber.java new file mode 100644 index 000000000..4af3e91e8 --- /dev/null +++ b/src/main/java/techreborn/items/tools/ItemNanosaber.java @@ -0,0 +1,131 @@ +package techreborn.items.tools; + +import java.util.List; +import java.util.Random; + +import me.modmuss50.jsonDestroyer.api.ITexturedItem; +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +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.Item.ToolMaterial; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import reborncore.RebornCore; +import reborncore.api.power.IEnergyItemInfo; +import reborncore.common.powerSystem.PoweredItem; +import reborncore.common.util.TorchHelper; +import techreborn.client.TechRebornCreativeTab; + +public class ItemNanosaber extends ItemSword implements IEnergyItemInfo, ITexturedItem { + + public int maxCharge = 1; + public int cost = 250; + public float unpoweredSpeed = 2.0F; + public static int tier = 1; + public double transferLimit = 100; + + public ItemNanosaber() { + super(ToolMaterial.EMERALD); + setCreativeTab(TechRebornCreativeTab.instance); + setMaxStackSize(1); + setMaxDamage(240); + setUnlocalizedName("techreborn.nanosaber"); + RebornCore.jsonDestroyer.registerObject(this); + this.maxCharge = 1000; + this.tier = 2; + } + + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) { + PoweredItem.useEnergy(cost, itemstack); + return true; + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(stack.getItemDamage()==0){ + stack.setItemDamage(1); + } + if(stack.getItemDamage()==1){ + stack.setItemDamage(0); + } + return stack; + } + + @Override + public boolean isRepairable() { + return false; + } + + @Override + public double getMaxPower(ItemStack stack) { + return maxCharge; + } + + @Override + public boolean canAcceptEnergy(ItemStack stack) { + return true; + } + + @Override + public boolean canProvideEnergy(ItemStack stack) { + return false; + } + + @Override + public double getMaxTransfer(ItemStack stack) { + return transferLimit; + } + + @Override + public int getStackTeir(ItemStack stack) { + return tier; + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { + ItemStack itemStack = new ItemStack(this, 1); + itemList.add(itemStack); + + ItemStack charged = new ItemStack(this, 1); + PoweredItem.setEnergy(getMaxPower(charged), charged); + itemList.add(charged); + } + + @Override + public double getDurabilityForDisplay(ItemStack stack) { + double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack)); + return 1 - charge; + + } + + @Override + public boolean showDurabilityBar(ItemStack stack) { + return true; + } + + @Override + public String getTextureName(int damage) { + if(damage==1){ + return "techreborn:items/tool/nanosaber_on"; + } + return "techreborn:items/tool/nanosaber_off"; + } + + @Override + public int getMaxMeta() { + return 2; + } +} diff --git a/src/main/resources/assets/techreborn/textures/items/misc/UpgradeBackingTemplate.png b/src/main/resources/assets/techreborn/textures/items/misc/UpgradeBackingTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..fd676a77d79076878513f80ac1094562a38475f7 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ!JrQP0krc5b;NqA%Byt9`zQjIzc4a(SG@A}2%v(Qucsi~;H z4$~F&@&zY1K3SwuW3`bZwvmG&xFNP$INS75<}4xBHSbww9dem9J=O3g1H&t(&Xv2F zVi$3!2paSnC0%jw=@<536rLdxzpUr0LSuuJZ9U5ySI6yZXBazpFckZR2{^{M@Fwsm z2|D$8oj7pA`-!O_hlla=O*+CSpIm8XPkzrJ)};ST`_1opHRt{qzdt{F&bd{x$0z<} Z;9561V{P!GHeiS{c)I$ztaD0e0sx5HrRM+u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/techreborn/textures/items/misc/upgradeOverclock.png b/src/main/resources/assets/techreborn/textures/items/misc/upgradeOverclock.png new file mode 100644 index 0000000000000000000000000000000000000000..ee1cfd447735fc4dd6a0f2f7c0aee8c52f872ff7 GIT binary patch literal 570 zcmV-A0>%A_P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0jo(wK~y+Tol`kW15pruU||p|K@_|Y@yG@g zG(l{PB!b$gBtf*y|F9NCliDaYW;e&4AgF~H$o;cMzkzvVlP<;Vdvko>96L{SyIs}m z^;r7-z82U!oerOa_F)@;QmGV;BOuZQ^?IFZwHn#B%~GjU*ycD6+i_N_RleiY1SlPf z>$+rF76;&j9=-Y^n$4!-o}eHDGD3Xcr>)#4CGtPCpa11MfDjNvfZ-W5 z8V%h7vLI;f!l(Gn2d$?~T27ZKk#Wd4ciD#+Awcz^86flYL5UWQUnqL{PjvcDv&mO7 zvMz0BY?_Ka=_I-WApjT-W!#fmyyd=QIgjR!N=!bVe4~lzU8n-IuL%HVg4G8G2SGra z*?=NDkK}nC4^V9snLz#mS0FJaF|OcWs2+; zxjm4806xTw5TGwOWEY^%96r