aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2018-09-16 22:44:58 +0200
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2018-09-16 22:44:58 +0200
commitc05995f211407bc8538b35695254e6934d90c054 (patch)
tree939a7b2ec72fad1772eb7f32b1638a2946c7453f /src
parentc9836c63aa11d409c2085a12701acf6aff20f642 (diff)
downloadGT5-Unofficial-c05995f211407bc8538b35695254e6934d90c054.tar.gz
GT5-Unofficial-c05995f211407bc8538b35695254e6934d90c054.tar.bz2
GT5-Unofficial-c05995f211407bc8538b35695254e6934d90c054.zip
Source Upload
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/GuiHandler.java26
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java66
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/client/creativetabs/GT2Tab.java17
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/client/gui/GT_GUIContainer_Destructopack.java31
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/client/gui/GT_GUIContainer_LESU.java60
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/ConfigHandler.java31
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java63
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_ItemBlocks.java60
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Destructopack_Item.java35
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Rockcutter_Item.java145
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Teslastaff_Item.java122
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/items/SimpleIconItem.java21
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java48
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/LoaderRegistry.java14
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java149
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_EnergyDistributor.java53
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_LESU.java403
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/server/container/GT_Container_Item_Destructopack.java58
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/server/container/GT_Container_LESU.java37
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/util/ChatColorHelper.java27
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/util/ConnectedBlocksChecker.java171
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/util/NEIbartworksConfig.java30
-rw-r--r--src/main/resources/assets/bartworks/lang/en_US.lang8
-rw-r--r--src/main/resources/assets/bartworks/textures/GT2/gui/Destructopack.pngbin0 -> 3569 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/GT2/gui/LESU.pngbin0 -> 2266 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/blocks/EtchedLapisCell.pngbin0 -> 471 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/blocks/LESU_CASING_0.pngbin0 -> 666 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/blocks/LESU_CASING_1.pngbin0 -> 680 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/blocks/LESU_CASING_2.pngbin0 -> 680 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/blocks/LESU_CASING_3.pngbin0 -> 682 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/blocks/LESU_CELL.pngbin0 -> 795 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/blocks/PlatedLapisCell.pngbin0 -> 623 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/items/GT2Coin.pngbin0 -> 259 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/items/GT_Rockcutter.pngbin0 -> 353 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/items/GT_Teslastaff.pngbin0 -> 362 bytes
-rw-r--r--src/main/resources/assets/bartworks/textures/items/gt.GT2Destructopack.pngbin0 -> 284 bytes
-rw-r--r--src/main/resources/mcmod.info16
37 files changed, 1691 insertions, 0 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/GuiHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/GuiHandler.java
new file mode 100644
index 0000000000..1a19fa32d6
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/GuiHandler.java
@@ -0,0 +1,26 @@
+package com.github.bartimaeusnek.bartworks;
+
+import com.github.bartimaeusnek.bartworks.client.gui.GT_GUIContainer_Destructopack;
+import com.github.bartimaeusnek.bartworks.server.container.GT_Container_Item_Destructopack;
+import cpw.mods.fml.common.network.IGuiHandler;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+
+public class GuiHandler implements IGuiHandler {
+
+ @Override
+ public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
+ switch (ID){
+ case 0: return new GT_Container_Item_Destructopack(player.inventory);
+ }
+ return null;
+ }
+
+ @Override
+ public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
+ switch (ID){
+ case 0: return new GT_GUIContainer_Destructopack(player.inventory);
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
new file mode 100644
index 0000000000..8e7bb21122
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
@@ -0,0 +1,66 @@
+package com.github.bartimaeusnek.bartworks;
+
+
+import codechicken.nei.NEIActions;
+import codechicken.nei.NEIClientUtils;
+import codechicken.nei.NEIServerUtils;
+import codechicken.nei.asm.NEICorePlugin;
+import com.github.bartimaeusnek.bartworks.client.creativetabs.GT2Tab;
+import com.github.bartimaeusnek.bartworks.common.ConfigHandler;
+import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry;
+import com.github.bartimaeusnek.bartworks.common.loaders.LoaderRegistry;
+import com.github.bartimaeusnek.bartworks.common.tileentities.GT_MetaTileEntity_EnergyDistributor;
+import com.github.bartimaeusnek.bartworks.common.tileentities.GT_TileEntity_LESU;
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.Mod;
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.network.IGuiHandler;
+import cpw.mods.fml.common.network.NetworkRegistry;
+import gregtech.api.enums.GT_Values;
+import gregtech.nei.NEI_GT_Config;
+import net.minecraft.creativetab.CreativeTabs;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+@Mod(
+ modid = MainMod.modID, name = MainMod.name, version = MainMod.version,
+ dependencies = "required-after:IC2; "
+ + "required-after:gregtech; "
+ )
+public final class MainMod {
+ public static final String name = "BartWorks";
+ public static final String version = "@version@";
+ public static final String modID = "bartworks";
+ public static final Logger logger = LogManager.getLogger(name);
+ public static boolean GTNH = false;
+ public static final CreativeTabs GT2 = new GT2Tab("GT2C");
+ public static final IGuiHandler GH = new GuiHandler();
+ @Mod.Instance(modID)
+ public static MainMod instance;
+ public static ConfigHandler CHandler;
+
+
+ @Mod.EventHandler
+ public void preInit(FMLPreInitializationEvent preinit) {
+ if(Loader.isModLoaded("dreamcraft")) {
+ GTNH = true;
+ }
+ CHandler= new ConfigHandler(preinit);
+ if (GTNH)
+ logger.info("GTNH-Detected . . . ACTIVATE HARDMODE.");
+ }
+ @Mod.EventHandler
+ public void init(FMLInitializationEvent init) {
+ new LoaderRegistry().run();
+ }
+
+ @Mod.EventHandler
+ public void postInit(FMLPostInitializationEvent postinit) {
+ NetworkRegistry.INSTANCE.registerGuiHandler(instance,GH);
+ }
+
+
+
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/client/creativetabs/GT2Tab.java b/src/main/java/com/github/bartimaeusnek/bartworks/client/creativetabs/GT2Tab.java
new file mode 100644
index 0000000000..82188db9c5
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/client/creativetabs/GT2Tab.java
@@ -0,0 +1,17 @@
+package com.github.bartimaeusnek.bartworks.client.creativetabs;
+
+import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+
+public class GT2Tab extends CreativeTabs {
+
+ public GT2Tab (String lable) {
+ super(lable);
+ }
+
+ @Override
+ public Item getTabIconItem() {
+ return ItemRegistry.tab;
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/client/gui/GT_GUIContainer_Destructopack.java b/src/main/java/com/github/bartimaeusnek/bartworks/client/gui/GT_GUIContainer_Destructopack.java
new file mode 100644
index 0000000000..4946bdb328
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/client/gui/GT_GUIContainer_Destructopack.java
@@ -0,0 +1,31 @@
+package com.github.bartimaeusnek.bartworks.client.gui;
+
+import com.github.bartimaeusnek.bartworks.MainMod;
+import com.github.bartimaeusnek.bartworks.server.container.GT_Container_Item_Destructopack;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
+
+public class GT_GUIContainer_Destructopack extends GuiContainer
+{
+ public GT_GUIContainer_Destructopack(InventoryPlayer inventory) {
+ super(new GT_Container_Item_Destructopack(inventory));
+ }
+ public static final ResourceLocation texture = new ResourceLocation(MainMod.modID, "textures/GT2/gui/Destructopack.png");
+
+ @Override
+ public void drawGuiContainerBackgroundLayer(float f, int j, int i) {
+ GL11.glColor4f(1F, 1F, 1F, 1F);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
+ drawTexturedModalRect(guiLeft, guiTop, 0, 0, 175, 165);
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int par1, int par2) {
+ }
+
+
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/client/gui/GT_GUIContainer_LESU.java b/src/main/java/com/github/bartimaeusnek/bartworks/client/gui/GT_GUIContainer_LESU.java
new file mode 100644
index 0000000000..574bc89536
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/client/gui/GT_GUIContainer_LESU.java
@@ -0,0 +1,60 @@
+package com.github.bartimaeusnek.bartworks.client.gui;
+
+import com.github.bartimaeusnek.bartworks.MainMod;
+import com.github.bartimaeusnek.bartworks.common.tileentities.GT_TileEntity_LESU;
+import com.github.bartimaeusnek.bartworks.server.container.GT_Container_LESU;
+import com.github.bartimaeusnek.bartworks.util.ChatColorHelper;
+import gregtech.api.gui.GT_GUIContainer;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import net.minecraft.client.Minecraft;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
+
+import java.awt.*;
+
+public class GT_GUIContainer_LESU extends GT_GUIContainer {
+
+ protected GT_Container_LESU mContainer;
+
+ public static final ResourceLocation texture = new ResourceLocation(MainMod.modID, "textures/GT2/gui/LESU.png");
+ private GT_TileEntity_LESU c;
+
+ public GT_GUIContainer_LESU(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
+ super(new GT_Container_LESU(aInventoryPlayer, aTileEntity), texture.getResourceDomain());
+ mContainer = ((GT_Container_LESU)this.inventorySlots);
+ c = ((GT_TileEntity_LESU)(this.mContainer.mTileEntity.getMetaTileEntity()));
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(final int par1, final int par2) {
+ this.drawString(this.fontRendererObj,"L.E.S.U.", 11, 8, 16448255);
+ if (this.mContainer != null) {
+ String percell = String.valueOf(c.energyPerCell).substring(1);
+ this.drawString(this.fontRendererObj,"EU: " + String.valueOf(this.mContainer.mEnergy), 11, 16, 16448255);
+ this.drawString(this.fontRendererObj,"MAX: " + (this.c.getBaseMetaTileEntity().isActive() ? String.valueOf(this.mContainer.mOutput)+ percell : Integer.toString(0)), 11, 24, 16448255);
+ this.drawString(this.fontRendererObj,"MAX EU/t IN: " + String.valueOf(this.mContainer.mInput), 11, 32, 16448255);
+ this.drawString(this.fontRendererObj,"EU/t OUT: " + String.valueOf(this.mContainer.mOutput), 11, 40, 16448255);
+ this.drawString(this.fontRendererObj,"AMP/t IN/OUT: " + String.valueOf(c.getBaseMetaTileEntity().getInputAmperage()), 11, 48, 16448255);
+ if (c.maxEUStore() >= Long.MAX_VALUE-1) {
+ this.drawString(this.fontRendererObj, "Maximum Capacity!", 11, 56, Color.YELLOW.getRGB());
+ }
+ if (!this.c.getBaseMetaTileEntity().isActive()) {
+ this.drawString(this.fontRendererObj,"Multiple Controllers!", 11, 56, Color.RED.getRGB());
+ }
+ }
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(final float par1, final int par2, final int par3) {
+ GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
+ final int x = (this.width - this.xSize) / 2;
+ final int y = (this.height - this.ySize) / 2;
+ this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
+ if (this.mContainer != null) {
+ final long tScale = this.mContainer.mEnergy / Math.max(1, c.maxEUStore() / 116);
+ this.drawTexturedModalRect(x + 8, y + 73, 0, 251, (int) tScale, 5);
+ }
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/ConfigHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/ConfigHandler.java
new file mode 100644
index 0000000000..e1dbebf049
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/ConfigHandler.java
@@ -0,0 +1,31 @@
+package com.github.bartimaeusnek.bartworks.common;
+
+
+import com.github.bartimaeusnek.bartworks.MainMod;
+import com.github.bartimaeusnek.bartworks.common.tileentities.GT_TileEntity_LESU;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import gregtech.api.enums.GT_Values;
+import net.minecraftforge.common.config.Configuration;
+
+import java.io.File;
+
+public class ConfigHandler {
+ public static int IDOffset = 12500;
+ public static final int IDU=1+ GT_Values.VN.length;
+ public static boolean ezmode = false;
+ public static boolean teslastaff = false;
+ public final Configuration c;
+ public ConfigHandler(FMLPreInitializationEvent e){
+ c = new Configuration(new File(e.getModConfigurationDirectory().toString()+"/"+MainMod.modID+".cfg"));
+
+ IDOffset=c.get("System","ID Offset",12500,"ID Offset for this mod. This Mod uses "+IDU+" IDs. DO NOT CHANGE IF YOU DONT KNOW WHAT THIS IS").getInt(12500);
+ GT_TileEntity_LESU.energyPerCell=c.get("Multiblocks","energyPerLESUCell",1000000,"This will set Up the Energy per LESU Cell",1000000,Integer.MAX_VALUE).getInt(1000000);
+ ezmode=c.get("System","Mode switch",false,"If GTNH is Loaded, this will enable easy recipes, if not, it will enable harder recipes.").getBoolean(false);
+ MainMod.GTNH = ezmode ? !MainMod.GTNH : MainMod.GTNH;
+ teslastaff=c.get("System","Enable Teslastaff",false,"Enables the Teslastaff, an Item used to destroy Electric Armors").getBoolean(false);
+
+ if (c.hasChanged())
+ c.save();
+ }
+
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java
new file mode 100644
index 0000000000..983ec42653
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java
@@ -0,0 +1,63 @@
+package com.github.bartimaeusnek.bartworks.common.blocks;
+
+import com.github.bartimaeusnek.bartworks.MainMod;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+import java.util.List;
+
+public class BW_Blocks extends Block {
+
+ public BW_Blocks(String name, String[] texture) {
+ super(Material.anvil);
+ this.setHardness(15.0F);
+ this.setResistance(30.0F);
+ this.name = name;
+ this.textureNames=texture;
+ this.setCreativeTab(MainMod.GT2);
+ }
+
+ @SideOnly(Side.CLIENT)
+ private IIcon[] texture;
+ private String[] textureNames;
+ private String name;
+
+ @Override
+ public int damageDropped(final int meta) {
+ return meta;
+ }
+
+ @Override
+ public void getSubBlocks(final Item item, final CreativeTabs tab, final List list) {
+ for (int i = 0; i < textureNames.length; i ++) {
+ list.add(new ItemStack(item, 1, i));
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(int side, int meta) {
+ return meta < texture.length ? texture[meta] : texture[0];
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister par1IconRegister){
+ texture = new IIcon[textureNames.length];
+ for (int i = 0; i < textureNames.length; i++) {
+ texture[i] = par1IconRegister.registerIcon(textureNames[i]);
+ }
+ }
+
+ @Override
+ public String getUnlocalizedName(){
+ return name;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_ItemBlocks.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_ItemBlocks.java
new file mode 100644
index 0000000000..959a67014e
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/BW_ItemBlocks.java
@@ -0,0 +1,60 @@
+package com.github.bartimaeusnek.bartworks.common.items;
+
+import com.github.bartimaeusnek.bartworks.MainMod;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.util.GT_LanguageManager;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+import java.util.List;
+
+public class BW_ItemBlocks extends ItemBlock {
+
+ public BW_ItemBlocks(final Block par1){
+ super(par1);
+ this.setMaxDamage(0);
+ this.setHasSubtypes(true);
+ this.setCreativeTab(MainMod.GT2);
+ }
+
+ protected final String mNoMobsToolTip = GT_LanguageManager.addStringLocalization("gt.nomobspawnsonthisblock", "Mobs cannot Spawn on this Block");
+ protected final String mNoTileEntityToolTip = GT_LanguageManager.addStringLocalization("gt.notileentityinthisblock", "This is NOT a TileEntity!");
+
+ @Override
+ public int getMetadata(final int aMeta) {
+ return aMeta;
+ }
+
+ @Override
+ public String getUnlocalizedName(final ItemStack aStack) {
+ return this.field_150939_a.getUnlocalizedName() + "." + this.getDamage(aStack);
+ }
+
+ @Override
+ public void addInformation(final ItemStack aStack, final EntityPlayer aPlayer, final List aList, final boolean aF3_H) {
+ aList.add(this.mNoMobsToolTip);
+ aList.add(this.mNoTileEntityToolTip);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int pass) {
+ return this.field_150939_a.getIcon(0,stack.getItemDamage());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
+ return getIcon(stack, renderPass);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamageForRenderPass(int p_77618_1_, int p_77618_2_) {
+ return this.field_150939_a.getIcon(0,p_77618_2_);
+ }
+} \ No newline at end of file
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Destructopack_Item.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Destructopack_Item.java
new file mode 100644
index 0000000000..3747bb2141
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Destructopack_Item.java
@@ -0,0 +1,35 @@
+package com.github.bartimaeusnek.bartworks.common.items;
+
+import com.github.bartimaeusnek.bartworks.MainMod;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.items.GT_Generic_Item;
+import gregtech.api.util.GT_Config;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import sun.applet.Main;
+
+public class GT_Destructopack_Item extends GT_Generic_Item
+{
+
+ public GT_Destructopack_Item() {
+ super("GT2Destructopack","Destructopack","Mobile Trash Bin");
+ this.setMaxStackSize(1);
+ this.setNoRepair();
+ this.setHasSubtypes(false);
+ this.setCreativeTab(MainMod.GT2);
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
+ aPlayer.openGui(MainMod.instance, 0, aWorld, 0, 0, 0);
+ return aStack;
+ }
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister aIconRegister) {
+ this.mIcon = aIconRegister.registerIcon("bartworks:gt.GT2Destructopack");
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Rockcutter_Item.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Rockcutter_Item.java
new file mode 100644
index 0000000000..7e4ef6c05c
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Rockcutter_Item.java
@@ -0,0 +1,145 @@
+package com.github.bartimaeusnek.bartworks.common.items;
+
+import com.github.bartimaeusnek.bartworks.MainMod;
+import com.google.common.collect.Sets;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import ic2.api.item.ElectricItem;
+import ic2.api.item.IElectricItem;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.enchantment.Enchantment;
+import net.minecraft.entity.Entity;
+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.item.ItemTool;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+public class GT_Rockcutter_Item extends ItemTool implements IElectricItem
+{
+ @SideOnly(Side.CLIENT)
+ private IIcon icon;
+
+ public int mCharge;
+ public int mTransfer;
+ public int mTier;
+ public static Set mineableBlocks = Sets.newHashSet(Blocks.stone, Blocks.cobblestone, Blocks.sand, Blocks.clay);
+ private int multi;
+ public GT_Rockcutter_Item(int aTier) {
+ super(2*aTier, ToolMaterial.EMERALD, mineableBlocks);
+ this.mTier = aTier;
+ multi = (int) Math.pow(10,(mTier-1));
+ this.mineableBlocks = new HashSet();
+ this.maxStackSize=1;
+ this.mCharge = 10000 * multi;
+ this.mTransfer = (int) GT_Values.V[mTier];
+ this.efficiencyOnProperMaterial = 2.0f*mTier;
+ this.setCreativeTab(MainMod.GT2);
+ this.setMaxDamage(27+ 10*multi);
+ this.setNoRepair();
+ this.setUnlocalizedName("GT_Rockcutter_Item_"+ GT_Values.VN[mTier]);
+ }
+
+ public void addInformation(final ItemStack aStack, final EntityPlayer aPlayer, final List aList, final boolean aF3_H) {
+ aList.add("Tier: " + GT_Values.VN[this.mTier]);
+ }
+
+ public void onUpdate(ItemStack aStack, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) {
+ if (!ElectricItem.manager.canUse(aStack, 500*multi)) {
+ if (aStack.isItemEnchanted()) {
+ aStack.getTagCompound().removeTag("ench");
+ }
+ }
+ else if (!aStack.isItemEnchanted()) {
+ aStack.addEnchantment(Enchantment.silkTouch,3);
+ }
+ }
+
+ public boolean onItemUse(ItemStack aStack, EntityPlayer aPlayer, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_)
+ {
+ ElectricItem.manager.use(aStack, 0, aPlayer);
+ return false;
+ }
+
+ public boolean onBlockDestroyed(final ItemStack var1, final World var2, final Block var3, final int var4, final int var5, final int var6, final EntityLivingBase var7) {
+ ElectricItem.manager.use(var1, 0, var7);
+ if (ElectricItem.manager.canUse(var1, 500*multi)) {
+ ElectricItem.manager.use(var1, 500*multi, var7);
+ }
+ else{
+ ElectricItem.manager.discharge(var1, Integer.MAX_VALUE, Integer.MAX_VALUE, true,true, false);
+ }
+ return true;
+ }
+
+ @Override
+ public boolean canHarvestBlock(Block par1Block, ItemStack itemStack) {
+ return par1Block.getMaterial().equals(Material.glass) || par1Block.getMaterial().equals(Material.clay) || par1Block.getMaterial().equals(Material.packedIce) || par1Block.getMaterial().equals(Material.ice) || par1Block.getMaterial().equals(Material.sand) || par1Block.getMaterial().equals(Material.ground) || par1Block.getMaterial().equals(Material.rock) || this.mineableBlocks.contains(par1Block);
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item p_150895_1_, CreativeTabs p_150895_2_, List itemList) {
+ ItemStack itemStack = new ItemStack(this, 1);
+ if (getChargedItem(itemStack) == this) {
+ ItemStack charged = new ItemStack(this, 1);
+ ElectricItem.manager.charge(charged, Integer.MAX_VALUE, Integer.MAX_VALUE, true, false);
+ itemList.add(charged);
+ }
+ if (getEmptyItem(itemStack) == this) {
+ itemList.add(new ItemStack(this, 1, getMaxDamage()));
+ }
+ }
+
+
+ @Override
+ public boolean canProvideEnergy(ItemStack itemStack) {
+ return false;
+ }
+
+ @Override
+ public Item getChargedItem(ItemStack itemStack) {
+ return this;
+ }
+
+ @Override
+ public Item getEmptyItem(ItemStack itemStack) {
+ return this;
+ }
+
+ @Override
+ public double getMaxCharge(ItemStack itemStack) {
+ return this.mCharge;
+ }
+
+ @Override
+ public int getTier(ItemStack itemStack) {
+ return this.mTier;
+ }
+
+ @Override
+ public double getTransferLimit(ItemStack itemStack) {
+ return this.mTransfer;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ this.icon = iconRegister.registerIcon("bartworks:GT_Rockcutter");
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamage(int par1) {
+ return this.icon;
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Teslastaff_Item.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Teslastaff_Item.java
new file mode 100644
index 0000000000..addc694783
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/items/GT_Teslastaff_Item.java
@@ -0,0 +1,122 @@
+package com.github.bartimaeusnek.bartworks.common.items;
+
+import com.github.bartimaeusnek.bartworks.MainMod;
+import com.google.common.collect.Sets;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.GregTech_API;
+import ic2.api.item.ElectricItem;
+import ic2.api.item.IElectricItem;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.EntityLiving;
+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.item.ItemTool;
+import net.minecraft.util.IIcon;
+
+import java.util.List;
+import java.util.Set;
+
+public class GT_Teslastaff_Item extends ItemTool implements ic2.api.item.IElectricItem
+{
+ public double mCharge;
+ public double mTransfer;
+ public int mTier;
+ private static Set effective = Sets.newHashSet(Blocks.web);
+
+ @SideOnly(Side.CLIENT)
+ private IIcon icon;
+
+ public GT_Teslastaff_Item() {
+ super(0, ToolMaterial.GOLD, effective);
+ this.setCreativeTab(MainMod.GT2);
+ this.setNoRepair();
+ this.mCharge = 10000000D;
+ this.mTransfer = 8192D;
+ this.mTier = 4;
+ this.setMaxStackSize(1);
+ this.setMaxDamage(27);
+ this.setUnlocalizedName("GT_Teslastaff_Item");
+ }
+
+ @Override
+ public void addInformation(final ItemStack aStack, final EntityPlayer aPlayer, final List aList, final boolean aF3_H) {
+ aList.add("No warranty!");
+ }
+
+ public boolean hitEntity(ItemStack aStack, EntityLivingBase aTarget, EntityLivingBase aPlayer) {