aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tectech/thing/item
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/tectech/thing/item')
-rw-r--r--src/main/java/tectech/thing/item/ItemAstralArrayFabricator.java53
-rw-r--r--src/main/java/tectech/thing/item/ItemEnderFluidLinkCover.java55
-rw-r--r--src/main/java/tectech/thing/item/ItemEuMeterGT.java167
-rw-r--r--src/main/java/tectech/thing/item/ItemParametrizerMemoryCard.java233
-rw-r--r--src/main/java/tectech/thing/item/ItemPowerPassUpgradeCover.java54
-rw-r--r--src/main/java/tectech/thing/item/ItemRenderForgeOfGods.java59
-rw-r--r--src/main/java/tectech/thing/item/ItemTeslaCoilCapacitor.java107
-rw-r--r--src/main/java/tectech/thing/item/ItemTeslaCoilComponent.java71
-rw-r--r--src/main/java/tectech/thing/item/ItemTeslaCoilCover.java86
-rw-r--r--src/main/java/tectech/thing/item/ItemTeslaStaff.java52
10 files changed, 937 insertions, 0 deletions
diff --git a/src/main/java/tectech/thing/item/ItemAstralArrayFabricator.java b/src/main/java/tectech/thing/item/ItemAstralArrayFabricator.java
new file mode 100644
index 0000000000..2d09a4b6bd
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemAstralArrayFabricator.java
@@ -0,0 +1,53 @@
+package tectech.thing.item;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import tectech.Reference;
+import tectech.TecTech;
+import tectech.thing.CustomItemList;
+
+public class ItemAstralArrayFabricator extends Item {
+
+ public static ItemAstralArrayFabricator INSTANCE;
+
+ private ItemAstralArrayFabricator() {
+ setHasSubtypes(false);
+ setUnlocalizedName("tm.itemAstralArrayFabricator");
+ setTextureName(Reference.MODID + ":itemAstralArray");
+ setCreativeTab(TecTech.creativeTabTecTech);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ aList.add(EnumChatFormatting.GRAY + translateToLocal("item.tm.itemAstralArrayFabricator.desc1"));
+ aList.add(EnumChatFormatting.GRAY + translateToLocal("item.tm.itemAstralArrayFabricator.desc2"));
+ aList.add(EnumChatFormatting.GRAY + translateToLocal("item.tm.itemAstralArrayFabricator.desc3"));
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("item.tm.itemAstralArrayFabricator.desc0"));
+ }
+
+ public static void run() {
+ INSTANCE = new ItemAstralArrayFabricator();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ CustomItemList.astralArrayFabricator.set(INSTANCE);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ itemIcon = iconRegister.registerIcon(getIconString());
+ }
+
+}
diff --git a/src/main/java/tectech/thing/item/ItemEnderFluidLinkCover.java b/src/main/java/tectech/thing/item/ItemEnderFluidLinkCover.java
new file mode 100644
index 0000000000..b1b5c32540
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemEnderFluidLinkCover.java
@@ -0,0 +1,55 @@
+package tectech.thing.item;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import tectech.Reference;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+public final class ItemEnderFluidLinkCover extends Item {
+
+ public static ItemEnderFluidLinkCover INSTANCE;
+
+ private ItemEnderFluidLinkCover() {
+ setHasSubtypes(true);
+ setUnlocalizedName("tm.enderfluidlinkcover");
+ setTextureName(Reference.MODID + ":itemEnderFluidLinkCover");
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ aList.add(CommonValues.THETA_MOVEMENT);
+ aList.add(translateToLocal("item.tm.enderfluidlinkcover.desc.0")); // Ender-Fluid-Enables Machines!
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.enderfluidlinkcover.desc.1")); // Use on any side
+ // of a fluid tank
+ // to link it to
+ // the Ender
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.enderfluidlinkcover.desc.2")); // Ender Tanks so
+ // are laggy -Bot
+ // from the Chads
+ // of NH
+ }
+
+ public static void run() {
+ INSTANCE = new ItemEnderFluidLinkCover();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ CustomItemList.enderLinkFluidCover.set(INSTANCE);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ itemIcon = iconRegister.registerIcon(getIconString());
+ }
+}
diff --git a/src/main/java/tectech/thing/item/ItemEuMeterGT.java b/src/main/java/tectech/thing/item/ItemEuMeterGT.java
new file mode 100644
index 0000000000..72928360f3
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemEuMeterGT.java
@@ -0,0 +1,167 @@
+package tectech.thing.item;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+import static net.minecraft.util.StatCollector.translateToLocalFormatted;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.FakePlayer;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import org.apache.commons.lang3.reflect.FieldUtils;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.BaseMetaPipeEntity;
+import gregtech.api.metatileentity.BaseMetaTileEntity;
+import gregtech.api.metatileentity.implementations.MTECable;
+import gregtech.api.util.GTUtility;
+import tectech.Reference;
+import tectech.TecTech;
+import tectech.util.CommonValues;
+
+public class ItemEuMeterGT extends Item {
+
+ public static ItemEuMeterGT INSTANCE;
+
+ private ItemEuMeterGT() {
+ setMaxStackSize(1);
+ setUnlocalizedName("em.EuMeterGT");
+ setTextureName(Reference.MODID + ":itemEuMeterGT");
+ setCreativeTab(TecTech.creativeTabTecTech);
+ }
+
+ @Override
+ public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ,
+ int ordinalSide, float hitX, float hitY, float hitZ) {
+ final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide);
+ TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ if (tTileEntity == null || aPlayer instanceof FakePlayer) {
+ return aPlayer instanceof EntityPlayerMP;
+ }
+ if (aPlayer instanceof EntityPlayerMP && !aPlayer.isSneaking() && tTileEntity instanceof IGregTechTileEntity) {
+ String clientLocale;
+ try {
+ EntityPlayerMP player = (EntityPlayerMP) aPlayer;
+ clientLocale = (String) FieldUtils.readField(player, "translator", true);
+ } catch (Exception e) {
+ clientLocale = "en_US";
+ }
+
+ if (tTileEntity instanceof BaseMetaTileEntity) {
+ GTUtility.sendChatToPlayer(
+ aPlayer,
+ EnumChatFormatting.AQUA + "----- X:"
+ + aX
+ + " Y:"
+ + aY
+ + " Z:"
+ + aZ
+ + " D:"
+ + aWorld.provider.dimensionId
+ + " S:"
+ + ordinalSide
+ + " -----");
+ GTUtility.sendChatToPlayer(
+ aPlayer,
+ translateToLocalFormatted("tt.keyphrase.Stored_energy", clientLocale) + ": "
+ + EnumChatFormatting.YELLOW
+ + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored())
+ + EnumChatFormatting.RESET
+ + '/'
+ + EnumChatFormatting.GREEN
+ + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity()));
+ GTUtility.sendChatToPlayer(
+ aPlayer,
+ translateToLocalFormatted("tt.keyphrase.Stored_EU", clientLocale) + ": "
+ + EnumChatFormatting.YELLOW
+ + (((BaseMetaTileEntity) tTileEntity).getStoredEU())
+ + EnumChatFormatting.RESET
+ + '/'
+ + EnumChatFormatting.GREEN
+ + (((BaseMetaTileEntity) tTileEntity).getEUCapacity()));
+ GTUtility.sendChatToPlayer(
+ aPlayer,
+ translateToLocalFormatted("tt.keyphrase.Average_IO", clientLocale) + ": "
+ + EnumChatFormatting.YELLOW
+ + (((BaseMetaTileEntity) tTileEntity).getAverageElectricInput())
+ + EnumChatFormatting.RESET
+ + '/'
+ + EnumChatFormatting.YELLOW
+ + (((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput()));
+ GTUtility.sendChatToPlayer(
+ aPlayer,
+ translateToLocalFormatted("tt.keyphrase.Average_IO_(max)", clientLocale) + ": "
+ + EnumChatFormatting.GOLD
+ + (((BaseMetaTileEntity) tTileEntity).getInputVoltage())
+ + EnumChatFormatting.RESET
+ + '/'
+ + EnumChatFormatting.GOLD
+ + (((BaseMetaTileEntity) tTileEntity).getOutputVoltage()));
+ GTUtility.sendChatToPlayer(
+ aPlayer,
+ translateToLocalFormatted("tt.keyphrase.Average_IO_max", clientLocale) + ": "
+ + EnumChatFormatting.RED
+ + (((BaseMetaTileEntity) tTileEntity).getMaxSafeInput())
+ + EnumChatFormatting.RESET
+ + '/'
+ + EnumChatFormatting.RED
+ + (((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput()));
+ GTUtility.sendChatToPlayer(
+ aPlayer,
+ translateToLocalFormatted("tt.keyphrase.Amperage_IO_(max)", clientLocale) + ": "
+ + EnumChatFormatting.GOLD
+ + (((BaseMetaTileEntity) tTileEntity).getInputAmperage())
+ + EnumChatFormatting.RESET
+ + '/'
+ + EnumChatFormatting.GOLD
+ + (((BaseMetaTileEntity) tTileEntity).getOutputAmperage()));
+ GTUtility.sendChatToPlayer(
+ aPlayer,
+ translateToLocalFormatted("tt.keyphrase.Side_capabilities", clientLocale) + ": "
+ + (((BaseMetaTileEntity) tTileEntity).inputEnergyFrom(side)
+ ? translateToLocalFormatted("tt.keyword.input", clientLocale) + " "
+ : "")
+ + (((BaseMetaTileEntity) tTileEntity).outputsEnergyTo(side)
+ ? translateToLocalFormatted("tt.keyword.output", clientLocale)
+ : ""));
+ return true;
+ } else if (tTileEntity instanceof BaseMetaPipeEntity) {
+ if (((BaseMetaPipeEntity) tTileEntity).getMetaTileEntity() instanceof MTECable) {
+ ArrayList<String> tList = new ArrayList<>();
+ GTUtility.getCoordinateScan(tList, aPlayer, aWorld, 1, aX, aY, aZ, side, hitX, hitY, hitZ);
+ for (String str : tList) {
+ GTUtility.sendChatToPlayer(aPlayer, str);
+ }
+ }
+ return true;
+ }
+ }
+ if (!(aPlayer instanceof EntityPlayerMP)) {
+ GTUtility.doSoundAtClient(new ResourceLocation(Reference.MODID, "fx_scan"), 1, 1.0F, aX, aY, aZ);
+ }
+ return false;
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ aList.add(CommonValues.TEC_MARK_GENERAL);
+ aList.add(translateToLocal("item.em.EuMeterGT.desc.0")); // Measures basic EU related stuff
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.EuMeterGT.desc.1")); // Just right click on
+ // blocks.
+ }
+
+ public static void run() {
+ INSTANCE = new ItemEuMeterGT();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ }
+}
diff --git a/src/main/java/tectech/thing/item/ItemParametrizerMemoryCard.java b/src/main/java/tectech/thing/item/ItemParametrizerMemoryCard.java
new file mode 100644
index 0000000000..5039871764
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemParametrizerMemoryCard.java
@@ -0,0 +1,233 @@
+package tectech.thing.item;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.Constants;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import tectech.Reference;
+import tectech.TecTech;
+import tectech.thing.CustomItemList;
+import tectech.thing.metaTileEntity.hatch.MTEHatchParam;
+import tectech.thing.metaTileEntity.hatch.MTEHatchParamText;
+import tectech.thing.metaTileEntity.multi.base.Parameters;
+import tectech.thing.metaTileEntity.multi.base.TTMultiblockBase;
+import tectech.util.CommonValues;
+import tectech.util.TTUtility;
+
+/**
+ * Created by Tec on 15.03.2017.
+ */
+public final class ItemParametrizerMemoryCard extends Item {
+
+ public static ItemParametrizerMemoryCard INSTANCE;
+ private static IIcon locked, unlocked;
+
+ private ItemParametrizerMemoryCard() {
+ setMaxStackSize(1);
+ setHasSubtypes(true);
+ setUnlocalizedName("em.parametrizerMemoryCard");
+ setTextureName(Reference.MODID + ":itemParametrizerMemoryCardUnlocked");
+ setCreativeTab(TecTech.creativeTabTecTech);
+ }
+
+ @Override
+ public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ,
+ int ordinalSide, float hitX, float hitY, float hitZ) {
+ TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ if (!(aPlayer instanceof EntityPlayerMP)) return false;
+ if (!(tTileEntity instanceof IGregTechTileEntity)) return false;
+ aStack.stackSize = 1;
+ IMetaTileEntity metaTE = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity();
+
+ if (metaTE instanceof MTEHatchParamText parametrizer) {
+ if (aStack.getTagCompound() == null) {
+ aStack.setTagCompound(new NBTTagCompound());
+ }
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ if (aStack.getItemDamage() == 1) {
+ // write to parametrizer
+ parametrizer.param = tNBT.getInteger("param");
+ parametrizer.value0D = tNBT.getDouble("value0D");
+ parametrizer.value1D = tNBT.getDouble("value1D");
+ parametrizer.value0s = tNBT.getString("value0s");
+ parametrizer.value1s = tNBT.getString("value1s");
+ } else {
+ // read from parametrizer
+ NBTTagCompound newTag = new NBTTagCompound();
+ newTag.setInteger("param", parametrizer.param);
+ newTag.setDouble("value0D", parametrizer.value0D);
+ newTag.setDouble("value1D", parametrizer.value1D);
+ newTag.setString("value0s", parametrizer.value0s);
+ newTag.setString("value1s", parametrizer.value1s);
+ aStack.setTagCompound(newTag);
+ }
+ return true;
+ } else if (metaTE instanceof MTEHatchParam parametrizer) {
+ if (aStack.getTagCompound() == null) {
+ aStack.setTagCompound(new NBTTagCompound());
+ }
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ if (aStack.getItemDamage() == 1) {
+ // write to parametrizer
+ parametrizer.param = tNBT.getInteger("param");
+ parametrizer.value0D = tNBT.getDouble("value0D");
+ parametrizer.value1D = tNBT.getDouble("value1D");
+ } else {
+ // read from parametrizer
+ NBTTagCompound newTag = new NBTTagCompound();
+ tNBT.setInteger("param", parametrizer.param);
+ tNBT.setDouble("value0D", parametrizer.value0D);
+ tNBT.setDouble("value1D", parametrizer.value1D);
+ aStack.setTagCompound(newTag);
+ }
+ return true;
+ } else if (metaTE instanceof TTMultiblockBase controller) {
+ if (aStack.getTagCompound() == null) {
+ aStack.setTagCompound(new NBTTagCompound());
+ }
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ if (aStack.getItemDamage() == 1) {
+ // write to controller
+ if (tNBT.hasKey("paramList", Constants.NBT.TAG_LIST)) {
+ // from controller
+ NBTTagList tagList = tNBT.getTagList("paramList", Constants.NBT.TAG_COMPOUND);
+ for (int hatch = 0; hatch < 10; hatch++) {
+ NBTTagCompound tag = tagList.getCompoundTagAt(hatch);
+ controller.parametrization
+ .trySetParameters(hatch, tag.getDouble("value0D"), tag.getDouble("value1D"));
+ }
+ } else {
+ // from parametrizer
+ controller.parametrization.trySetParameters(
+ tNBT.getInteger("param"),
+ tNBT.getDouble("value0D"),
+ tNBT.getDouble("value1D"));
+ }
+ } else {
+ // read from controller
+ NBTTagCompound newTag = new NBTTagCompound();
+ NBTTagList tagList = new NBTTagList();
+ for (int hatch = 0; hatch < 10; hatch++) {
+ NBTTagCompound tagChild = new NBTTagCompound();
+ Parameters.Group.ParameterIn[] parameters = controller.parametrization.getGroup(hatch).parameterIn;
+ if (parameters[0] != null) {
+ tagChild.setDouble("value0D", parameters[0].get());
+ }
+ if (parameters[1] != null) {
+ tagChild.setDouble("value1D", parameters[1].get());
+ }
+ tagList.appendTag(tagChild);
+ }
+ newTag.setTag("paramList", tagList);
+ aStack.setTagCompound(newTag);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
+ if (aPlayer instanceof EntityPlayerMP && aPlayer.isSneaking()) {
+ aStack.stackSize = 1;
+ if (aStack.getItemDamage() == 1) {
+ aStack.setItemDamage(0);
+ } else {
+ aStack.setItemDamage(1);
+ }
+ return aStack;
+ }
+ return aStack;
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack stack) {
+ if (stack.getItemDamage() == 1) {
+ return StatCollector.translateToLocal("item.em.parametrizerMemoryCard.name.paste");
+ } else {
+ return StatCollector.translateToLocal("item.em.parametrizerMemoryCard.name.copy");
+ }
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ aList.add(CommonValues.THETA_MOVEMENT);
+ aList.add(translateToLocal("item.em.parametrizerMemoryCard.desc.0")); // Stores Parameters
+
+ if (aStack.getItemDamage() == 1) {
+ // Use on Multiblock Controller to configure it
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.1"));
+ } else {
+ // Use on Multiblock Controller to store parameters
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.2"));
+ }
+ // Sneak right click to lock/unlock
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.em.parametrizerMemoryCard.desc.3"));
+
+ double temp;
+ if (tNBT != null && tNBT.hasKey("param")) {
+ aList.add("Hatch ID: " + EnumChatFormatting.AQUA + tNBT.getInteger("param"));
+ temp = tNBT.getInteger("value0D");
+ aList.add("Value 0D: " + EnumChatFormatting.AQUA + temp);
+ aList.add(
+ "Value 0B: " + EnumChatFormatting.AQUA
+ + TTUtility.longBitsToShortString(Double.doubleToLongBits(temp)));
+ aList.add("Value 0s: " + EnumChatFormatting.AQUA + tNBT.getString("value0s"));
+ temp = tNBT.getInteger("value1D");
+ aList.add("Value 1D: " + EnumChatFormatting.AQUA + temp);
+ aList.add(
+ "Value 1B: " + EnumChatFormatting.AQUA
+ + TTUtility.longBitsToShortString(Double.doubleToLongBits(temp)));
+ aList.add("Value 1s: " + EnumChatFormatting.AQUA + tNBT.getString("value1s"));
+ }
+ }
+
+ public static void run() {
+ INSTANCE = new ItemParametrizerMemoryCard();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ CustomItemList.parametrizerMemory.set(INSTANCE);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ locked = iconRegister.registerIcon(Reference.MODID + ":itemParametrizerMemoryCardLocked");
+ unlocked = itemIcon = iconRegister.registerIcon(getIconString());
+ }
+
+ @Override
+ public IIcon getIconFromDamage(int damage) {
+ if (damage == 1) {
+ return locked;
+ }
+ return unlocked;
+ }
+
+ @Override
+ public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
+ ItemStack that = new ItemStack(this, 1);
+ that.setTagCompound(new NBTTagCompound());
+ list.add(that);
+ }
+}
diff --git a/src/main/java/tectech/thing/item/ItemPowerPassUpgradeCover.java b/src/main/java/tectech/thing/item/ItemPowerPassUpgradeCover.java
new file mode 100644
index 0000000000..49b5eaf923
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemPowerPassUpgradeCover.java
@@ -0,0 +1,54 @@
+package tectech.thing.item;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import tectech.Reference;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+public final class ItemPowerPassUpgradeCover extends Item {
+
+ public static ItemPowerPassUpgradeCover INSTANCE;
+
+ private ItemPowerPassUpgradeCover() {
+ setHasSubtypes(true);
+ setUnlocalizedName("tm.powerpassupgradecover");
+ setTextureName(Reference.MODID + ":itemPowerPassUpgradeCover");
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ aList.add(CommonValues.THETA_MOVEMENT);
+ aList.add(translateToLocal("item.tm.powerpassupgradecover.desc.0")); // Add power pass functionality to TecTech
+ // Multiblocks
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.powerpassupgradecover.desc.1")); // Active
+ // transformer in
+ // a can??
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.powerpassupgradecover.desc.2")); // Chain them up
+ // like Christmas
+ // lights!
+ }
+
+ public static void run() {
+ INSTANCE = new ItemPowerPassUpgradeCover();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ CustomItemList.powerPassUpgradeCover.set(INSTANCE);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ itemIcon = iconRegister.registerIcon(getIconString());
+ }
+}
diff --git a/src/main/java/tectech/thing/item/ItemRenderForgeOfGods.java b/src/main/java/tectech/thing/item/ItemRenderForgeOfGods.java
new file mode 100644
index 0000000000..12248c4844
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemRenderForgeOfGods.java
@@ -0,0 +1,59 @@
+package tectech.thing.item;
+
+import static tectech.rendering.EOH.EOHRenderingUtils.renderStarLayer;
+import static tectech.rendering.EOH.EOHTileEntitySR.*;
+import static tectech.thing.block.RenderForgeOfGods.disableOpaqueColorInversion;
+import static tectech.thing.block.RenderForgeOfGods.enableOpaqueColorInversion;
+import static tectech.thing.block.RenderForgeOfGods.enablePseudoTransparentColorInversion;
+
+import java.awt.Color;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.client.IItemRenderer;
+
+import org.lwjgl.opengl.GL11;
+
+public class ItemRenderForgeOfGods implements IItemRenderer {
+
+ @Override
+ public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) {
+ return true;
+ }
+
+ @Override
+ public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item,
+ IItemRenderer.ItemRendererHelper helper) {
+ return true;
+ }
+
+ @Override
+ public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) {
+ GL11.glPushMatrix();
+ GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
+
+ if (type == IItemRenderer.ItemRenderType.INVENTORY) GL11.glRotated(180, 0, 1, 0);
+ else if (type == IItemRenderer.ItemRenderType.EQUIPPED
+ || type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) {
+ GL11.glTranslated(0.5, 0.5, 0.5);
+ if (type == IItemRenderer.ItemRenderType.EQUIPPED) GL11.glRotated(90, 0, 1, 0);
+ }
+
+ {
+
+ GL11.glDisable(GL11.GL_LIGHTING);
+ GL11.glDisable(GL11.GL_BLEND);
+
+ // Innermost layer should be opaque
+ enableOpaqueColorInversion();
+ renderStarLayer(0, STAR_LAYER_0, new Color(1.0f, 0.4f, 0.05f, 1.0f), 1.0f, 1);
+ disableOpaqueColorInversion();
+
+ enablePseudoTransparentColorInversion();
+ renderStarLayer(1, STAR_LAYER_1, new Color(1.0f, 0.4f, 0.05f, 1.0f), 0.4f, 1);
+ renderStarLayer(2, STAR_LAYER_2, new Color(1.0f, 0.4f, 0.05f, 1.0f), 0.2f, 1);
+
+ GL11.glPopAttrib();
+ GL11.glPopMatrix();
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/item/ItemTeslaCoilCapacitor.java b/src/main/java/tectech/thing/item/ItemTeslaCoilCapacitor.java
new file mode 100644
index 0000000000..99a2c8556a
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemTeslaCoilCapacitor.java
@@ -0,0 +1,107 @@
+package tectech.thing.item;
+
+import static gregtech.api.enums.GTValues.V;
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import tectech.Reference;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+public final class ItemTeslaCoilCapacitor extends Item {
+
+ public static ItemTeslaCoilCapacitor INSTANCE;
+ private static IIcon LVicon, MVicon, HVicon, EVicon, IVicon, LuVicon, ZPMicon;
+
+ private ItemTeslaCoilCapacitor() {
+ setHasSubtypes(true);
+ setUnlocalizedName("tm.teslaCoilCapacitor");
+ setTextureName(Reference.MODID + ":itemCapacitorLV");
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ aList.add(CommonValues.THETA_MOVEMENT);
+ if (aStack.getItemDamage() >= 0 && aStack.getItemDamage() <= 6) {
+ aList.add(
+ translateToLocal("item.tm.teslaCoilCapacitor.desc.0") + " "
+ + V[aStack.getItemDamage() + 1] * 512
+ + " "
+ + translateToLocal("item.tm.teslaCoilCapacitor.desc.1")
+ + " "
+ + V[aStack.getItemDamage() + 1]
+ + " EU/t"); // Stores 16384 EU in a tesla tower at 32 EU/t
+ } else {
+ aList.add(translateToLocal("item.tm.teslaCoilCapacitor.desc.2")); // Yeet this broken item into some spicy
+ // water!
+ }
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCoilCapacitor.desc.3")); // Insert into a
+ // Capacitor hatch
+ // of a Tesla Tower
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCoilCapacitor.desc.4")); // Capacitors are
+ // the same thing as
+ // batteries, right?
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack aStack) {
+ return getUnlocalizedName() + "." + getDamage(aStack);
+ }
+
+ public static void run() {
+ INSTANCE = new ItemTeslaCoilCapacitor();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ CustomItemList.teslaCapacitor.set(INSTANCE);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ LVicon = itemIcon = iconRegister.registerIcon(getIconString());
+ MVicon = iconRegister.registerIcon(Reference.MODID + ":itemCapacitorMV");
+ HVicon = iconRegister.registerIcon(Reference.MODID + ":itemCapacitorHV");
+ EVicon = iconRegister.registerIcon(Reference.MODID + ":itemCapacitorEV");
+ IVicon = iconRegister.registerIcon(Reference.MODID + ":itemCapacitorIV");
+ LuVicon = iconRegister.registerIcon(Reference.MODID + ":itemCapacitorLuV");
+ ZPMicon = iconRegister.registerIcon(Reference.MODID + ":itemCapacitorZPM");
+ }
+
+ @Override
+ public IIcon getIconFromDamage(int damage) {
+ switch (damage) {
+ case 1:
+ return MVicon;
+ case 2:
+ return HVicon;
+ case 3:
+ return EVicon;
+ case 4:
+ return IVicon;
+ case 5:
+ return LuVicon;
+ case 6:
+ return ZPMicon;
+ default:
+ return LVicon;
+ }
+ }
+
+ @Override
+ public void getSubItems(Item aItem, CreativeTabs par2CreativeTabs, List<ItemStack> aList) {
+ for (int i = 0; i <= 6; i++) {
+ aList.add(new ItemStack(aItem, 1, i));
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/item/ItemTeslaCoilComponent.java b/src/main/java/tectech/thing/item/ItemTeslaCoilComponent.java
new file mode 100644
index 0000000000..d18acb9d86
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemTeslaCoilComponent.java
@@ -0,0 +1,71 @@
+package tectech.thing.item;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import tectech.Reference;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+public final class ItemTeslaCoilComponent extends Item {
+
+ public static ItemTeslaCoilComponent INSTANCE;
+ private static IIcon ultItemIcon;
+
+ private ItemTeslaCoilComponent() {
+ setHasSubtypes(true);
+ setUnlocalizedName("tm.itemTeslaComponent");
+ setTextureName(Reference.MODID + ":itemTeslaComponent");
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ aList.add(CommonValues.THETA_MOVEMENT);
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.itemTeslaComponent.desc")); // Tesla bois need
+ // these!
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack aStack) {
+ return getUnlocalizedName() + "." + getDamage(aStack);
+ }
+
+ public static void run() {
+ INSTANCE = new ItemTeslaCoilComponent();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ CustomItemList.teslaComponent.set(INSTANCE);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ itemIcon = iconRegister.registerIcon(getIconString());
+ ultItemIcon = iconRegister.registerIcon(Reference.MODID + ":itemTeslaComponentUltimate");
+ }
+
+ @Override
+ public IIcon getIconFromDamage(int damage) {
+ if (damage == 1) {
+ return ultItemIcon;
+ }
+ return itemIcon;
+ }
+
+ @Override
+ public void getSubItems(Item aItem, CreativeTabs par2CreativeTabs, List<ItemStack> aList) {
+ aList.add(new ItemStack(aItem, 1, 0));
+ aList.add(new ItemStack(aItem, 1, 1));
+ }
+}
diff --git a/src/main/java/tectech/thing/item/ItemTeslaCoilCover.java b/src/main/java/tectech/thing/item/ItemTeslaCoilCover.java
new file mode 100644
index 0000000000..2cb4390522
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemTeslaCoilCover.java
@@ -0,0 +1,86 @@
+package tectech.thing.item;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import tectech.Reference;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+public final class ItemTeslaCoilCover extends Item {
+
+ public static ItemTeslaCoilCover INSTANCE;
+ private static IIcon ultItemIcon;
+
+ private ItemTeslaCoilCover() {
+ setHasSubtypes(true);
+ setUnlocalizedName("tm.teslaCover");
+ setTextureName(Reference.MODID + ":itemTeslaCover");
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ aList.add(CommonValues.THETA_MOVEMENT);
+ switch (aStack.getItemDamage()) {
+ case 0:
+ aList.add(translateToLocal("item.tm.teslaCover.desc.0")); // Tesla-Enables Machines!
+ break;
+ case 1:
+ aList.add(translateToLocal("item.tm.teslaCover.desc.1")); // Tesla-Enables Machines! (BUT LOUDER!!)
+ break;
+ default:
+ aList.add(translateToLocal("item.tm.teslaCover.desc.2")); // Yeet this broken item into some spicy
+ // water!
+ break;
+ }
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCover.desc.3")); // Use on top of a machine
+ // to enable Tesla
+ // capabilities
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("item.tm.teslaCover.desc.4")); // Who the hell uses cables
+ // anyway?
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack aStack) {
+ return getUnlocalizedName() + "." + getDamage(aStack);
+ }
+
+ public static void run() {
+ INSTANCE = new ItemTeslaCoilCover();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ CustomItemList.teslaCover.set(INSTANCE);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ itemIcon = iconRegister.registerIcon(getIconString());
+ ultItemIcon = iconRegister.registerIcon(Reference.MODID + ":itemTeslaCoverUltimate");
+ }
+
+ @Override
+ public IIcon getIconFromDamage(int damage) {
+ if (damage == 1) {
+ return ultItemIcon;
+ }
+ return itemIcon;
+ }
+
+ @Override
+ public void getSubItems(Item aItem, CreativeTabs par2CreativeTabs, List<ItemStack> aList) {
+ aList.add(new ItemStack(aItem, 1, 0));
+ aList.add(new ItemStack(aItem, 1, 1));
+ }
+}
diff --git a/src/main/java/tectech/thing/item/ItemTeslaStaff.java b/src/main/java/tectech/thing/item/ItemTeslaStaff.java
new file mode 100644
index 0000000000..f1c7045b0a
--- /dev/null
+++ b/src/main/java/tectech/thing/item/ItemTeslaStaff.java
@@ -0,0 +1,52 @@
+package tectech.thing.item;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.util.GTUtility;
+import tectech.Reference;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+public final class ItemTeslaStaff extends Item {
+
+ public static ItemTeslaStaff INSTANCE;
+
+ private ItemTeslaStaff() {
+ setUnlocalizedName("tm.teslaStaff");
+ setTextureName(Reference.MODID + ":itemTeslaStaff");
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List<String> aList, boolean boo) {
+ aList.add(CommonValues.THETA_MOVEMENT);
+ aList.add(translateToLocal("item.tm.teslaStaff.desc"));
+ }
+
+ @Override
+ public boolean onLeftClickEntity(ItemStack stack, EntityPlayer aPlayer, Entity entity) {
+ GTUtility.sendChatToPlayer(aPlayer, "Zapperoni!");
+ if (!(aPlayer instanceof EntityPlayerMP)) {
+ double aX = aPlayer.posX;
+ double aY = aPlayer.posY;
+ double aZ = aPlayer.posZ;
+ GTUtility.doSoundAtClient(new ResourceLocation(Reference.MODID, "fx_scan"), 1, 1.0F, aX, aY, aZ);
+ }
+ return false;
+ }
+
+ public static void run() {
+ INSTANCE = new ItemTeslaStaff();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ CustomItemList.teslaStaff.set(INSTANCE);
+ }
+}