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 000000000..fd676a77d Binary files /dev/null and b/src/main/resources/assets/techreborn/textures/items/misc/UpgradeBackingTemplate.png differ 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 000000000..ee1cfd447 Binary files /dev/null and b/src/main/resources/assets/techreborn/textures/items/misc/upgradeOverclock.png differ