aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java20
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Electric_Lighter.java143
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngelGrinder.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricButcherKnife.java197
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricLighter.java198
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricButcherKnife.java143
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricLighter.java143
-rw-r--r--src/resources/assets/miscutils/textures/items/iconsets/ANGEL_GRINDER.pngbin410 -> 0 bytes
-rw-r--r--src/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER.pngbin0 -> 387 bytes
-rw-r--r--src/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER_OVERLAY.png (renamed from src/resources/assets/miscutils/textures/items/iconsets/ANGEL_GRINDER_OVERLAY.png)bin143 -> 143 bytes
-rw-r--r--src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE.pngbin0 -> 336 bytes
-rw-r--r--src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER.pngbin0 -> 313 bytes
-rw-r--r--src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER_OVERLAY.pngbin0 -> 257 bytes
20 files changed, 859 insertions, 7 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index 9de0af65f6..424a63e9bf 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -125,8 +125,10 @@ public class GTplusplus implements ActionListener {
Logger.INFO("Loading some textures on the client.");
// Tools
Logger.WARNING("Processing texture: " + TexturesGtTools.SKOOKUM_CHOOCHER.getTextureFile().getResourcePath());
- Logger.WARNING("Processing texture: " + TexturesGtTools.ANGEL_GRINDER.getTextureFile().getResourcePath());
+ Logger.WARNING("Processing texture: " + TexturesGtTools.ANGLE_GRINDER.getTextureFile().getResourcePath());
Logger.WARNING("Processing texture: " + TexturesGtTools.ELECTRIC_SNIPS.getTextureFile().getResourcePath());
+ Logger.WARNING("Processing texture: " + TexturesGtTools.ELECTRIC_LIGHTER.getTextureFile().getResourcePath());
+ Logger.WARNING("Processing texture: " + TexturesGtTools.ELECTRIC_BUTCHER_KNIFE.getTextureFile().getResourcePath());
// Blocks
Logger.WARNING("Processing texture: " + TexturesGtBlock.Casing_Machine_Dimensional.getTextureFile().getResourcePath());
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
index f4960a3014..169683d251 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
@@ -96,6 +96,8 @@ public class HANDLER_GT {
}
new ProcessingAngelGrinder().run();
new ProcessingElectricSnips().run();
+ new ProcessingElectricButcherKnife().run();
+ new ProcessingElectricLighter().run();
if (CORE.ConfigSwitches.enableNitroFix){
GregtechNitroDieselFix.run();
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
index 104fe1ba2e..b17b4a26ff 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
@@ -56,6 +56,8 @@ public enum GregtechOrePrefixes {
toolSkookumChoocher("Skookum Choocher", "", " Skookum Choocher", true, true, false, false, false, false, true, true, false, false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots.
toolAngleGrinder("Angle Grinder", "", "Angle Grinder", true, true, false, false, false, false, true, true, false, false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots.
toolElectricSnips("Electric Snips", "", "Electric Snips", true, true, false, false, false, false, true, true, false, false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots.
+ toolElectricLighter("Electric Lighter", "", "Electric Lighter", true, true, false, false, false, false, true, true, false, false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots.
+ toolElectricButcherKnife("Electric Butcher Knife", "", "Electric Butcher Knife", true, true, false, false, false, false, true, true, false, false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots.
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java
index 5be95e6f53..105023065c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java
@@ -2,6 +2,6 @@ package gtPlusPlus.xmod.gregtech.api.enums;
public enum GregtechToolDictNames {
- craftingToolSkookumChoocher, craftingToolHandPump, craftingToolAngleGrinder, craftingToolElectricSnips;
+ craftingToolSkookumChoocher, craftingToolHandPump, craftingToolAngleGrinder, craftingToolElectricSnips, craftingToolElectricLighter, craftingToolElectricButcherKnife;
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java
index 944a345b7e..ee104eaca3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java
@@ -13,8 +13,10 @@ import gtPlusPlus.core.lib.CORE;
public final class TexturesGtTools {
public final static CustomIcon SKOOKUM_CHOOCHER = new CustomIcon("iconsets/SKOOKUMCHOOCHER");
- public final static CustomIcon ANGEL_GRINDER = new CustomIcon("iconsets/ANGEL_GRINDER");
+ public final static CustomIcon ANGLE_GRINDER = new CustomIcon("iconsets/ANGLE_GRINDER");
public final static CustomIcon ELECTRIC_SNIPS = new CustomIcon("iconsets/ELECTRIC_SNIPS");
+ public final static CustomIcon ELECTRIC_LIGHTER = new CustomIcon("iconsets/ELECTRIC_LIGHTER");
+ public final static CustomIcon ELECTRIC_BUTCHER_KNIFE = new CustomIcon("iconsets/ELECTRIC_BUTCHER_KNIFE");
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java
index 4a3430502c..dbae4fe194 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java
@@ -7,10 +7,14 @@ import gregtech.api.items.GT_MetaGenerated_Tool;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechToolDictNames;
import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_AngelGrinder;
import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_Choocher;
+import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_ElectricButcherKnife;
+import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_ElectricLighter;
import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_ElectricSnips;
public class MetaGeneratedGregtechTools extends GT_MetaGenerated_Tool {
+ public static final short ELECTRIC_LIGHTER = 7534;
+ public static final short ELECTRIC_BUTCHER_KNIFE = 7634;
public static final short SKOOKUM_CHOOCHER = 7734;
public static final short ANGLE_GRINDER = 7834;
public static final short ELECTRIC_SNIPS = 7934;
@@ -43,6 +47,22 @@ public class MetaGeneratedGregtechTools extends GT_MetaGenerated_Tool {
new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L),
new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L),
new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L) });
+
+ // Electric Lighter
+ this.addTool(ELECTRIC_LIGHTER, "Pyromatic 9k", "Electric Fire!",
+ new TOOL_Gregtech_ElectricLighter(),
+ new Object[] { GregtechToolDictNames.craftingToolElectricLighter,
+ new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L) });
+
+ // Electric Butcher Knife
+ this.addTool(ELECTRIC_BUTCHER_KNIFE, "Meat-o-matic", "Electric butcher knife",
+ new TOOL_Gregtech_ElectricButcherKnife(),
+ new Object[] { GregtechToolDictNames.craftingToolElectricButcherKnife, ToolDictNames.craftingToolKnife,
+ new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 1L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L) });
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Electric_Lighter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Electric_Lighter.java
new file mode 100644
index 0000000000..278b556733
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Electric_Lighter.java
@@ -0,0 +1,143 @@
+package gtPlusPlus.xmod.gregtech.common.items.behaviours;
+
+import java.util.List;
+
+import codechicken.lib.math.MathHelper;
+import gregtech.api.GregTech_API;
+import gregtech.api.items.GT_MetaBase_Item;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.GT_Utility.ItemNBT;
+import gregtech.common.items.behaviors.Behaviour_None;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper;
+import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
+import ic2.api.item.IElectricItemManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.monster.EntityCreeper;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+
+public class Behaviour_Electric_Lighter extends Behaviour_None {
+
+ private final ItemStack mLighter;
+
+ private final long mFuelAmount;
+
+ private final String mTooltip = GT_LanguageManager.addStringLocalization("gt.behaviour.lighter.tooltip",
+ "Can light things on Fire");
+ private final String mTooltipUses = GT_LanguageManager.addStringLocalization("gt.behaviour.lighter.uses",
+ "Remaining Uses:");
+ private final String mTooltipUnstackable = GT_LanguageManager.addStringLocalization("gt.behaviour.unstackable",
+ "Not usable when stacked!");
+
+ public Behaviour_Electric_Lighter(ItemStack aFullLighter, long aFuelAmount) {
+ this.mLighter = aFullLighter;
+ this.mFuelAmount = aFuelAmount;
+ }
+
+ public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) {
+ if (!aPlayer.worldObj.isRemote && aStack.stackSize == 1) {
+ boolean rOutput = false;
+ if (aEntity instanceof EntityCreeper) {
+ if (this.prepare(aStack) || aPlayer.capabilities.isCreativeMode) {
+ GT_Utility.sendSoundToPlayers(aPlayer.worldObj, (String) GregTech_API.sSoundList.get(6), 1.0F, 1.0F,
+ MathHelper.floor_double(aEntity.posX), MathHelper.floor_double(aEntity.posY),
+ MathHelper.floor_double(aEntity.posZ));
+ ((EntityCreeper) aEntity).func_146079_cb();
+ rOutput = true;
+ }
+ }
+ return rOutput;
+ } else {
+ return false;
+ }
+ }
+
+ public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX,
+ int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) {
+ return false;
+ }
+
+ public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX,
+ int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) {
+ if (!aWorld.isRemote && aStack.stackSize == 1) {
+ Logger.WARNING("Preparing Lighter a");
+ boolean rOutput = false;
+ ForgeDirection tDirection = ForgeDirection.getOrientation(aSide);
+ aX += tDirection.offsetX;
+ aY += tDirection.offsetY;
+ aZ += tDirection.offsetZ;
+ if (GT_Utility.isBlockAir(aWorld, aX, aY, aZ) && aPlayer.canPlayerEdit(aX, aY, aZ, aSide, aStack)) {
+ Logger.WARNING("Preparing Lighter b");
+ if (this.prepare(aStack) || aPlayer.capabilities.isCreativeMode) {
+ Logger.WARNING("Preparing Lighter c");
+ GT_Utility.sendSoundToPlayers(aWorld, (String) GregTech_API.sSoundList.get(6), 1.0F, 1.0F, aX, aY,
+ aZ);
+ aWorld.setBlock(aX, aY, aZ, Blocks.fire);
+ rOutput = true;
+ // ItemNBT.setLighterFuel(aStack, tFuelAmount);
+ return rOutput;
+ }
+ }
+ }
+ Logger.WARNING("Preparing Lighter z");
+ return false;
+ }
+
+ private boolean prepare(ItemStack aStack) {
+ if (aStack != null) {
+ Logger.WARNING("Preparing Lighter 1");
+ if (aStack.getItem() instanceof MetaGeneratedGregtechTools) {
+ Logger.WARNING("Preparing Lighter 2");
+ if (ChargingHelper.isItemValid(aStack)) {
+ Logger.WARNING("Preparing Lighter 3");
+ if (aStack.getItem() instanceof IElectricItemManager) {
+ Logger.WARNING("Preparing Lighter 4");
+ IElectricItemManager aItemElec = (IElectricItemManager) aStack.getItem();
+ double aCharge = aItemElec.getCharge(aStack);
+ long aEuCost = 4096 * 2;
+ if (aCharge >= aEuCost) {
+ Logger.WARNING("Preparing Lighter 5");
+ aItemElec.discharge(aStack, aEuCost, 3, true, true, false);
+ return true;
+ }
+ }
+ }
+ }
+ }
+ Logger.WARNING("Preparing Lighter 0");
+ return false;
+ }
+
+ private void useUp(ItemStack aStack) {
+
+ }
+
+ public List<String> getAdditionalToolTips(GT_MetaBase_Item aItem, List<String> aList, ItemStack aStack) {
+ aList.add(this.mTooltip);
+ int aUses = 0;
+
+ if (aStack != null) {
+ if (aStack.getItem() instanceof MetaGeneratedGregtechTools) {
+ if (ChargingHelper.isItemValid(aStack)) {
+ if (aStack.getItem() instanceof IElectricItemManager) {
+ IElectricItemManager aItemElec = (IElectricItemManager) aStack.getItem();
+ double aCharge = aItemElec.getCharge(aStack);
+ long aEuCost = 4096 * 2;
+ aUses = (int) (aCharge / aEuCost);
+ }
+ }
+ }
+ }
+
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ aList.add(this.mTooltipUses + " " + aUses);
+ aList.add(this.mTooltipUnstackable);
+ return aList;
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngelGrinder.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngelGrinder.java
index 53dbf58cf2..905164802c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngelGrinder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngelGrinder.java
@@ -157,14 +157,14 @@ extends GT_Tool {
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return (IIconContainer) (aIsToolHead
- ? TexturesGtTools.ANGEL_GRINDER
+ ? TexturesGtTools.ANGLE_GRINDER
: ItemIcons.POWER_UNIT_HV);
}
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead
? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa
- : Materials.Diamond.mRGBa;
+ : Materials.TungstenSteel.mRGBa;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricButcherKnife.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricButcherKnife.java
new file mode 100644
index 0000000000..ff4be9dd93
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricButcherKnife.java
@@ -0,0 +1,197 @@
+package gtPlusPlus.xmod.gregtech.common.tools;
+
+import java.util.Arrays;
+import java.util.List;
+
+import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures.ItemIcons;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.common.items.behaviors.Behaviour_None;
+import gregtech.common.tools.GT_Tool;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools;
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.monster.EntityIronGolem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.stats.AchievementList;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IChatComponent;
+import net.minecraftforge.event.world.BlockEvent;
+
+public class TOOL_Gregtech_ElectricButcherKnife
+extends GT_Tool {
+
+ public static final List<String> mEffectiveList = Arrays.asList(new String[]{EntityIronGolem.class.getName(), "EntityTowerGuardian"});
+
+
+ @Override
+ public float getNormalDamageAgainstEntity(final float aOriginalDamage, final Entity aEntity, final ItemStack aStack, final EntityPlayer aPlayer) {
+ String tName = aEntity.getClass().getName();
+ tName = tName.substring(tName.lastIndexOf(".") + 1);
+ return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage;
+ }
+
+ @Override
+ public int getToolDamagePerBlockBreak() {
+ return 50;
+ }
+
+ @Override
+ public int getToolDamagePerDropConversion() {
+ return 100;
+ }
+
+ @Override
+ public int getToolDamagePerContainerCraft() {
+ return 400;
+ }
+
+ @Override
+ public int getToolDamagePerEntityAttack() {
+ return 100;
+ }
+
+ @Override
+ public int getBaseQuality() {
+ return 0;
+ }
+
+ @Override
+ public float getBaseDamage() {
+ return 8.0F;
+ }
+
+ @Override
+ public float getSpeedMultiplier() {
+ return 2F;
+ }
+
+ @Override
+ public float getMaxDurabilityMultiplier() {
+ return 1.8F;
+ }
+
+ @Override
+ public String getCraftingSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(1));
+ }
+
+ @Override
+ public String getEntityHitSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(2));
+ }
+
+ @Override
+ public String getBreakingSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(0));
+ }
+
+ @Override
+ public String getMiningSound() {
+ return null;
+ }
+
+ @Override
+ public boolean canBlock() {
+ return false;
+ }
+
+ public boolean isWrench(){
+ return false;
+ }
+
+ @Override
+ public boolean isCrowbar() {
+ return false;
+ }
+
+ @Override
+ public boolean isWeapon() {
+ return true;
+ }
+
+ @Override
+ public boolean isMinableBlock(final Block aBlock, final byte aMetaData) {
+ final String tTool = aBlock.getHarvestTool(aMetaData);
+ return (tTool != null) && (tTool.equals("sword") || tTool.equals("file"));
+ }
+
+
+ @Override
+ public int convertBlockDrops(final List<ItemStack> aDrops, final ItemStack aStack, final EntityPlayer aPlayer, final Block aBlock, final int aX, final int aY, final int aZ, final byte aMetaData, final int aFortune, final boolean aSilkTouch, final BlockEvent.HarvestDropsEvent aEvent) {
+ int rConversions = 0;
+ /*GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{new ItemStack(aBlock, 1, aMetaData)});
+ if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData))) {
+ for (final ItemStack tDrop : aDrops) {
+ tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{GT_Utility.copyAmount(1L, new Object[]{tDrop})});
+ if (tRecipe != null) {
+ final ItemStack tHammeringOutput = tRecipe.getOutput(0);
+ if (tHammeringOutput != null) {
+ rConversions += tDrop.stackSize;
+ tDrop.stackSize *= tHammeringOutput.stackSize;
+ tHammeringOutput.stackSize = tDrop.stackSize;
+ GT_Utility.setStack(tDrop, tHammeringOutput);
+ }
+ }
+ }
+ } else {
+ aDrops.clear();
+ aDrops.add(tRecipe.getOutput(0));
+ rConversions++;
+ }*/
+ return rConversions;
+ }
+
+ @Override
+ public ItemStack getBrokenItem(final ItemStack aStack) {
+ return null;
+ }
+
+ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
+ return (IIconContainer) (aIsToolHead
+ ? TexturesGtTools.ELECTRIC_BUTCHER_KNIFE
+ : ItemIcons.POWER_UNIT_HV);
+ }
+
+ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
+ return aIsToolHead
+ ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa
+ : Materials.RedSteel.mRGBa;
+ }
+
+
+
+
+ @Override
+ public void onToolCrafted(final ItemStack aStack, final EntityPlayer aPlayer) {
+ super.onToolCrafted(aStack, aPlayer);
+ aPlayer.triggerAchievement(AchievementList.buildSword);
+ try {
+ GT_Mod.achievements.issueAchievement(aPlayer, "tools");
+ GT_Mod.achievements.issueAchievement(aPlayer, "unitool");
+ } catch (final Exception e) {
+ }
+ }
+
+ @Override
+ public IChatComponent getDeathMessage(final EntityLivingBase aPlayer, final EntityLivingBase aEntity) {
+ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been Sliced out of existence by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+ }
+
+ @Override
+ public void onStatsAddedToTool(final GT_MetaGenerated_Tool aItem, final int aID) {
+ aItem.addItemBehavior(aID, new Behaviour_None());
+ }
+
+ @Override
+ public boolean isGrafter() {
+ return false;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricLighter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricLighter.java
new file mode 100644
index 0000000000..cf6f33cc36
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricLighter.java
@@ -0,0 +1,198 @@
+package gtPlusPlus.xmod.gregtech.common.tools;
+
+import java.util.Arrays;
+import java.util.List;
+
+import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures.ItemIcons;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.common.items.behaviors.Behaviour_None;
+import gregtech.common.tools.GT_Tool;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools;
+import gtPlusPlus.xmod.gregtech.common.items.behaviours.Behaviour_Electric_Lighter;
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.monster.EntityIronGolem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.stats.AchievementList;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IChatComponent;
+import net.minecraftforge.event.world.BlockEvent;
+
+public class TOOL_Gregtech_ElectricLighter
+extends GT_Tool {
+
+ public static final List<String> mEffectiveList = Arrays.asList(new String[]{EntityIronGolem.class.getName(), "EntityTowerGuardian"});
+
+
+ @Override
+ public float getNormalDamageAgainstEntity(final float aOriginalDamage, final Entity aEntity, final ItemStack aStack, final EntityPlayer aPlayer) {
+ String tName = aEntity.getClass().getName();
+ tName = tName.substring(tName.lastIndexOf(".") + 1);
+ return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage;
+ }
+
+ @Override
+ public int getToolDamagePerBlockBreak() {
+ return 50;
+ }
+
+ @Override
+ public int getToolDamagePerDropConversion() {
+ return 100;
+ }
+
+ @Override
+ public int getToolDamagePerContainerCraft() {
+ return 400;
+ }
+
+ @Override
+ public int getToolDamagePerEntityAttack() {
+ return 100;
+ }
+
+ @Override
+ public int getBaseQuality() {
+ return 0;
+ }
+
+ @Override
+ public float getBaseDamage() {
+ return 8.0F;
+ }
+
+ @Override
+ public float getSpeedMultiplier() {
+ return 2F;
+ }
+
+ @Override
+ public float getMaxDurabilityMultiplier() {
+ return 1.8F;
+ }
+
+ @Override
+ public String getCraftingSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(1));
+ }
+
+ @Override
+ public String getEntityHitSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(2));
+ }
+
+ @Override
+ public String getBreakingSound() {
+ return GregTech_API.sSoundList.get(Integer.valueOf(0));
+ }
+
+ @Override
+ public String getMiningSound() {
+ return null;
+ }
+
+ @Override
+ public boolean canBlock() {
+ return false;
+ }
+
+ public boolean isWrench(){
+ return false;
+ }
+
+ @Override
+ public boolean isCrowbar() {
+ return false;
+ }
+
+ @Override
+ public boolean isWeapon() {
+ return true;
+ }
+
+ @Override
+ public boolean isMinableBlock(final Block aBlock, final byte aMetaData) {
+ final String tTool = aBlock.getHarvestTool(aMetaData);
+ return (tTool != null) && (tTool.equals("sword") || tTool.equals("file"));
+ }
+
+
+ @Override
+ public int convertBlockDrops(final List<ItemStack> aDrops, final ItemStack aStack, final EntityPlayer aPlayer, final Block aBlock, final int aX, final int aY, final int aZ, final byte aMetaData, final int aFortune, final boolean aSilkTouch, final BlockEvent.HarvestDropsEvent aEvent) {
+ int rConversions = 0;
+ /*GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{new ItemStack(aBlock, 1, aMetaData)});
+ if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData))) {
+ for (final ItemStack tDrop : aDrops) {
+ tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{GT_Utility.copyAmount(1L, new Object[]{tDrop})});
+ if (tRecipe != null) {
+ final ItemStack tHammeringOutput = tRecipe.getOutput(0);
+ if (tHammeringOutput != null) {
+ rConversions += tDrop.stackSize;
+ tDrop.stackSize *= tHammeringOutput.stackSize;
+ tHammeringOutput.stackSize = tDrop.stackSize;
+ GT_Utility.setStack(tDrop, tHammeringOutput);
+ }
+ }
+ }
+ } else {
+ aDrops.clear();
+ aDrops.add(tRecipe.getOutput(0));
+ rConversions++;
+ }*/
+ return rConversions;
+ }
+
+ @Override
+ public ItemStack getBrokenItem(final ItemStack aStack) {
+ return null;
+ }
+
+ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
+ return (IIconContainer) (aIsToolHead
+ ? TexturesGtTools.ELECTRIC_LIGHTER
+ : ItemIcons.POWER_UNIT_HV);
+ }
+
+ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
+ return !aIsToolHead
+ ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa
+ : Materials.Silver.mRGBa;
+ }
+
+
+
+
+ @Override
+ public void onToolCrafted(final ItemStack aStack, final EntityPlayer aPlayer) {
+ super.onToolCrafted(aStack, aPlayer);
+ aPlayer.triggerAchievement(AchievementList.buildSword);
+ try {
+ GT_Mod.achievements.issueAchievement(aPlayer, "tools");
+ GT_Mod.achievements.issueAchievement(aPlayer, "unitool");
+ } catch (final Exception e) {
+ }
+ }
+
+ @Override
+ public IChatComponent getDeathMessage(final EntityLivingBase aPlayer, final EntityLivingBase aEntity) {
+ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been Ground out of existence by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+ }
+
+ @Override
+ public void onStatsAddedToTool(final GT_MetaGenerated_Tool aItem, final int aID) {
+ aItem.addItemBehavior(aID, new Behaviour_Electric_Lighter(null, 32000));
+ }
+
+ @Override
+ public boolean isGrafter() {
+ return false;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java
index 9974519c71..bc0c821478 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_ElectricSnips.java
@@ -156,13 +156,13 @@ extends GT_Tool {
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return (IIconContainer) (aIsToolHead
? TexturesGtTools.ELECTRIC_SNIPS
- : ItemIcons.POWER_UNIT_HV);
+ : ItemIcons.POWER_UNIT_MV);
}
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead
? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa
- : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+ : GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricButcherKnife.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricButcherKnife.java
new file mode 100644
index 0000000000..e8f9f5129c
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricButcherKnife.java
@@ -0,0 +1,143 @@
+
+package gtPlusPlus.xmod.gregtech.loaders;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_ModHandler.RecipeBits;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
+import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_OreRecipeRegistrator;
+import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
+import net.minecraft.item.ItemStack;
+
+public class ProcessingElectricButcherKnife implements Interface_OreRecipeRegistrator, Runnable {
+ public ProcessingElectricButcherKnife() {
+ GregtechOrePrefixes.toolElectricButcherKnife.add(this);
+ }
+
+ @Override
+ public void registerOre(final GregtechOrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName,
+ final String aModName, final ItemStack aStack) {
+ if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) {
+ if (aMaterial != Materials.Rubber) {
+ if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY))
+ && (!aMaterial.contains(SubTag.NO_SMASHING))) {
+ GT_ModHandler.addCraftingRecipe(
+ MetaGeneratedGregtechTools.INSTANCE.getToolWithStats(16, 1, aMaterial, aMaterial, null),
+ GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "IhI", "III", " I ", Character.valueOf('I'),
+ OrePrefixes.ingot.get(aMaterial) });
+ }
+ }
+ }
+ }
+
+ @Override
+ public void registerOre(final GregtechOrePrefixes aPrefix, final GT_Materials aMaterial, final String aOreDictName,
+ final String aModName, final ItemStack aStack) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void materialsLoops() {
+ final Materials[] i = Materials.values();
+ final int size = i.length;
+ Logger.MATERIALS("Materials to attempt tool gen. with: " + size);
+ int used = 0;
+ Materials aMaterial = null;
+ for (int r = 0; r < size; r++) {
+ aMaterial = i[r];
+ if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint) && (aMaterial != Materials.Rubber)
+ && (aMaterial != Materials._NULL)) {
+ if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY))
+ && (!aMaterial.contains(SubTag.NO_SMASHING)) && (!aMaterial.contains(SubTag.TRANSPARENT))
+ && (!aMaterial.contains(SubTag.FLAMMABLE)) && (!aMaterial.contains(SubTag.MAGICAL))
+ && (!aMaterial.contains(SubTag.NO_SMELTING))) {
+ Logger.MATERIALS("Generating Electric Butcher Knife from "+MaterialUtils.getMaterialName(aMaterial));
+ // Input 1
+
+
+ final ItemStack plate = GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L);
+
+ if ((null != plate)) {
+ addRecipe(aMaterial, 1600000L, 3, ItemList.Battery_RE_HV_Lithium.get(1));
+ addRecipe(aMaterial, 1200000L, 3, ItemList.Battery_RE_HV_Cadmium.get(1));
+ addRecipe(aMaterial, 800000L, 3, ItemList.Battery_RE_HV_Sodium.get(1));
+ used++;
+ } else {
+ Logger.MATERIALS("Unable to generate Electric Butcher Knife from "+MaterialUtils.getMaterialName(aMaterial)+", Plate or Long Rod may be invalid. Invalid | Plate? "+(plate == null) +" | Rod? "+" |");
+ }
+ // GT_ModHandler.addCraftingRecipe(,
+ // GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS |
+ // GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"P H", "PIP", " I ",
+ // Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial),
+ // Character.valueOf('P'), OrePrefixes.plate.get(aMaterial),
+ // Character.valueOf('H'), OrePrefixes.toolHeadHammer.get(aMaterial)});
+ } else {
+ Logger.MATERIALS("Unable to generate Electric Butcher Knife from "+MaterialUtils.getMaterialName(aMaterial));
+ }
+ } else {
+ Logger.MATERIALS("Unable to generate Electric Butcher Knife from "+MaterialUtils.getMaterialName(aMaterial));
+ }
+
+ }
+
+ Logger.INFO("Materials used for tool gen: " + used);
+ }
+
+ @Override
+ public void run() {
+ Logger.INFO("Generating Electric Butcher Knifes for all valid GT Materials.");
+ this.materialsLoops();
+ }
+
+ public boolean addRecipe(Materials aMaterial, long aBatteryStorage, int aVoltageTier, ItemStack aBattery) {
+
+ ItemStack aOutputStack = MetaGeneratedGregtechTools.INSTANCE.getToolWithStats(
+ MetaGeneratedGregtechTools.ELECTRIC_BUTCHER_KNIFE,
+ 1,
+ aMaterial,
+ Materials.Titanium,
+ new long[]{aBatteryStorage, GT_Values.V[aVoltageTier], 3L, -1L});
+
+ ItemStack aInputCutter = GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.BUTCHERYKNIFE,
+ 1,
+ aMaterial,
+ aMaterial,
+ null);
+
+ long aDura = MetaGeneratedGregtechTools.getToolMaxDamage(aOutputStack);
+ if (aDura <= 32000) {
+ Logger.MATERIALS("Unable to generate Electric Butcher Knife from "+MaterialUtils.getMaterialName(aMaterial)+", Durability: "+aDura);
+ return false;
+ }
+
+ return GT_ModHandler.addCraftingRecipe(
+ aOutputStack,
+ RecipeBits.DISMANTLEABLE | RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | RecipeBits.BUFFERED,
+ new Object[]{
+ "SXS",
+ "GMG",
+ "PBP",
+ 'X', aInputCutter,
+ 'M', CI.getElectricMotor(aVoltageTier, 1),
+ 'S', OrePrefixes.wireFine.get(Materials.Electrum),
+ 'P', OrePrefixes.plate.get(aMaterial),
+ 'G', ELEMENT.STANDALONE.WHITE_METAL.getGear(1),
+ 'B', aBattery
+ });
+
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricLighter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricLighter.java
new file mode 100644
index 0000000000..f3dc546191
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingElectricLighter.java
@@ -0,0 +1,143 @@
+
+package gtPlusPlus.xmod.gregtech.loaders;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_ModHandler.RecipeBits;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
+import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_OreRecipeRegistrator;
+import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
+import net.minecraft.item.ItemStack;
+
+public class ProcessingElectricLighter implements Interface_OreRecipeRegistrator, Runnable {
+ public ProcessingElectricLighter() {
+ GregtechOrePrefixes.toolElectricLighter.add(this);
+ }
+
+ @Override
+ public void registerOre(final GregtechOrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName,
+ final String aModName, final ItemStack aStack) {
+ if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) {
+ if (aMaterial != Materials.Rubber) {
+ if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY))
+ && (!aMaterial.contains(SubTag.NO_SMASHING))) {
+ GT_ModHandler.addCraftingRecipe(
+ MetaGeneratedGregtechTools.INSTANCE.getToolWithStats(16, 1, aMaterial, aMaterial, null),
+ GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "IhI", "III", " I ", Character.valueOf('I'),
+ OrePrefixes.ingot.get(aMaterial) });
+ }
+ }
+ }
+ }
+
+ @Override
+ public void registerOre(final GregtechOrePrefixes aPrefix, final GT_Materials aMaterial, final String aOreDictName,
+ final String aModName, final ItemStack aStack) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void materialsLoops() {
+ final Materials[] i = Materials.values();
+ final int size = i.length;
+ Logger.MATERIALS("Materials to attempt tool gen. with: " + size);
+ int used = 0;
+ Materials aMaterial = null;
+ for (int r = 0; r < size; r++) {
+ aMaterial = i[r];
+ if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint) && (aMaterial != Materials.Rubber)
+ && (aMaterial != Materials._NULL)) {
+ if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY))
+ && (!aMaterial.contains(SubTag.NO_SMASHING)) && (!aMaterial.contains(SubTag.TRANSPARENT))
+ && (!aMaterial.contains(SubTag.FLAMMABLE)) && (!aMaterial.contains(SubTag.MAGICAL))
+ && (!aMaterial.contains(SubTag.NO_SMELTING))) {
+ Logger.MATERIALS("Generating Electric Lighter from "+MaterialUtils.getMaterialName(aMaterial));
+ // Input 1
+
+
+ final ItemStack plate = GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L);
+
+ if ((null != plate)) {
+ addRecipe(aMaterial, 1600000L, 3, ItemList.Battery_RE_HV_Lithium.get(1));
+ addRecipe(aMaterial, 1200000L, 3, ItemList.Battery_RE_HV_Cadmium.get(1));
+ addRecipe(aMaterial, 800000L, 3, ItemList.Battery_RE_HV_Sodium.get(1));
+ used++;
+ } else {
+ Logger.MATERIALS("Unable to generate Electric Lighter from "+MaterialUtils.getMaterialName(aMaterial)+", Plate or Long Rod may be invalid. Invalid | Plate? "+(plate == null) +" | Rod? "+" |");
+ }
+ // GT_ModHandler.addCraftingRecipe(,
+ // GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS |
+ // GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"P H", "PIP", " I ",
+ // Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial),
+ // Character.valueOf('P'), OrePrefixes.plate.get(aMaterial),
+ // Character.valueOf('H'), OrePrefixes.toolHeadHammer.get(aMaterial)});
+ } else {
+ Logger.MATERIALS("Unable to generate Electric Lighter from "+MaterialUtils.getMaterialName(aMaterial));
+ }
+ } else {
+ Logger.MATERIALS("Unable to generate Electric Lighter from "+MaterialUtils.getMaterialName(aMaterial));
+ }
+
+ }
+
+ Logger.INFO("Materials used for tool gen: " + used);
+ }
+
+ @Override
+ public void run() {
+ Logger.INFO("Generating Electric Lighters for all valid GT Materials.");
+ this.materialsLoops();
+ }
+
+ public boolean addRecipe(Materials aMaterial, long aBatteryStorage, int aVoltageTier, ItemStack aBattery) {
+
+ ItemStack aOutputStack = MetaGeneratedGregtechTools.INSTANCE.getToolWithStats(
+ MetaGeneratedGregtechTools.ELECTRIC_LIGHTER,
+ 1,
+ aMaterial,
+ Materials.Titanium,
+ new long[]{aBatteryStorage, GT_Values.V[aVoltageTier], 3L, -1L});
+
+ ItemStack aInputCutter = GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.SOLDERING_IRON_LV,
+ 1,
+ aMaterial,
+ aMaterial,
+ null);
+
+ long aDura = MetaGeneratedGregtechTools.getToolMaxDamage(aOutputStack);
+ if (aDura <= 32000) {
+ Logger.MATERIALS("Unable to generate Electric Lighter from "+MaterialUtils.getMaterialName(aMaterial)+", Durability: "+aDura);
+ return false;
+ }
+
+ return GT_ModHandler.addCraftingRecipe(
+ aOutputStack,
+ RecipeBits.DISMANTLEABLE | RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | RecipeBits.BUFFERED,
+ new Object[]{
+ "SXS",
+ "GMG",
+ "PBP",
+ 'X', aInputCutter,
+ 'M', CI.getSensor(aVoltageTier, 1),
+ 'S', OrePrefixes.wireGt04.get(Materials.Gold),
+ 'P', OrePrefixes.plate.get(aMaterial),
+ 'G', ELEMENT.STANDALONE.RUNITE.getPlate(1),
+ 'B', aBattery
+ });
+
+ }
+
+} \ No newline at end of file
diff --git a/src/resources/assets/miscutils/textures/items/iconsets/ANGEL_GRINDER.png b/src/resources/assets/miscutils/textures/items/iconsets/ANGEL_GRINDER.png
deleted file mode 100644
index 154c0a0b44..0000000000
--- a/src/resources/assets/miscutils/textures/items/iconsets/ANGEL_GRINDER.png
+++ /dev/null
Binary files differ
diff --git a/src/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER.png b/src/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER.png
new file mode 100644
index 0000000000..3030cbe6aa
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER.png
Binary files differ
diff --git a/src/resources/assets/miscutils/textures/items/iconsets/ANGEL_GRINDER_OVERLAY.png b/src/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER_OVERLAY.png
index d83a131004..d83a131004 100644
--- a/src/resources/assets/miscutils/textures/items/iconsets/ANGEL_GRINDER_OVERLAY.png
+++ b/src/resources/assets/miscutils/textures/items/iconsets/ANGLE_GRINDER_OVERLAY.png
Binary files differ
diff --git a/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE.png b/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE.png
new file mode 100644
index 0000000000..5114f2c9a8
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE.png
Binary files differ
diff --git a/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE_OVERLAY.png b/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_BUTCHER_KNIFE_OVERLAY.png
Binary files differ
diff --git a/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER.png b/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER.png
new file mode 100644
index 0000000000..1c6257f336
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER.png
Binary files differ
diff --git a/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER_OVERLAY.png b/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER_OVERLAY.png
new file mode 100644
index 0000000000..1c91860461
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/items/iconsets/ELECTRIC_LIGHTER_OVERLAY.png
Binary files differ